:root{font-family:system-ui,sans-serif;color:#18352f;background:#f7f8f4}*{box-sizing:border-box}body{margin:0}nav{display:flex;gap:22px;padding:22px;flex-wrap:wrap}a{color:#145b4a}.oh-shell{width:min(100% - 32px,660px);margin:40px auto;padding:30px;background:white;border:1px solid #dce4dc;border-radius:18px}h1{font-size:32px;line-height:1.15}.label{color:#526f62;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.property{font-weight:600;overflow-wrap:anywhere}label{display:block;font-weight:600;margin:20px 0 6px}input,select{width:100%;font:inherit;padding:13px;border:1px solid #81968b;border-radius:8px;min-height:48px;background:white}button{font:inherit;padding:14px 20px;border:0;border-radius:8px;background:#19553f;color:white;min-height:48px;margin-top:20px;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.muted{color:#566b60}p{line-height:1.5}input:focus,select:focus,button:focus,a:focus{outline:3px solid #d6a631;outline-offset:3px}[role=status]{overflow-wrap:anywhere}@media(max-width:480px){.oh-shell{margin:18px auto;padding:22px}h1{font-size:28px}button{width:100%}}

/* Visitor welcome: existing brand, quiet coastal backdrop, readable form. */
.oh-visitor-page{min-height:100vh;min-height:100svh;padding:28px 20px;display:flex;justify-content:center;align-items:center;isolation:isolate;background:#e8f1f6;color:#17283c}
.oh-backdrop{position:fixed;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(17,43,65,.18),rgba(239,247,251,.14)),url('/assets/miami-coastal-background.png') center center/cover no-repeat}
.oh-card{width:min(100%,570px);background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:24px;box-shadow:0 20px 70px rgba(15,40,60,.18);overflow:hidden}
.oh-brand{display:flex;justify-content:center;padding:12px 32px 0}
.oh-brand img{display:block;width:260px;max-width:80%;height:auto}
.oh-visitor-page .oh-shell{width:100%;margin:0;padding:0 38px 26px;background:transparent;border:0;border-radius:0}
.oh-visitor-page .label{color:#4784a5;font-size:11px;letter-spacing:.18em;margin:0 0 8px}
.oh-visitor-page h1{font-size:36px;letter-spacing:-.035em;font-weight:650;margin:0 0 18px;line-height:1.12;color:#14243a}
.oh-visitor-page .property{padding:13px 15px;margin:0 0 22px;border:1px solid #dceaf3;border-left:3px solid #49b7e9;border-radius:9px;background:#f3f8fb;color:#334e63;font-size:14px;font-weight:550;line-height:1.5}
.oh-visitor-page label{font-size:14px;font-weight:600;margin:16px 0 7px;color:#273c51}
.oh-visitor-page input{border:1px solid #c6d4df;border-radius:10px;background:#fff;min-height:49px;color:#17283c;transition:border-color .15s,box-shadow .15s}
.oh-visitor-page input:focus{border-color:#1989ba;outline:2px solid #9bdaef;outline-offset:2px}
.oh-visitor-page button{width:100%;background:#162e48;color:#fff;border-radius:10px;min-height:50px;font-weight:600;margin-top:16px;transition:background .15s}
.oh-visitor-page button:hover:not(:disabled){background:#0d5277}
.oh-visitor-page button:focus-visible,.oh-visitor-page a:focus-visible{outline:3px solid #48b5e7;outline-offset:3px}
.oh-visitor-page .muted,.oh-visitor-page #oh-status{color:#627487;font-size:12px;line-height:1.55}
.oh-visitor-page .muted{margin:12px 0 0}
.oh-visitor-page #oh-status{margin:12px 0 0}
.oh-visitor-page button.oh-host{width:auto;display:block;margin:10px auto 0;padding:8px 14px;min-height:36px;font-size:12px;font-weight:500;color:#4d657a;background:transparent}
.oh-visitor-page button.oh-host:hover{background:#edf4f8;color:#172e48}
@media(max-width:600px){.oh-visitor-page{padding:16px 12px;align-items:flex-start}.oh-card{border-radius:20px}.oh-brand{padding:8px 24px 0}.oh-brand img{width:228px}.oh-visitor-page .oh-shell{padding:0 24px 20px}.oh-visitor-page h1{font-size:32px}.oh-visitor-page .property{font-size:13px;margin-bottom:18px}.oh-backdrop{background-position:38% center}}
@media(prefers-reduced-motion:reduce){.oh-visitor-page input,.oh-visitor-page button{transition:none}}
