:root{--carolina:#58a8dc;--carolina-light:#dff3ff;--sky:#86c9ef;--navy:#092846;--navy-2:#113e63;--white:#fff;--ink:#15324a;--muted:#526b80;--line:#c7e3f4;--green:#2b8a62;--shadow:0 22px 55px rgba(9,40,70,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:18px;line-height:1.65;background:var(--white)}a{color:inherit}svg{display:block}.skip-link{position:absolute;left:1rem;top:-5rem;padding:.7rem 1rem;background:var(--navy);color:#fff;z-index:10}.skip-link:focus{top:1rem}.site-header{height:84px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid rgba(9,40,70,.08);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;font-weight:800;color:var(--navy);letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--carolina);color:#fff}.brand-mark svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.brand-mark.small{font-size:.8rem;width:38px;height:38px}.header-link,.primary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.65rem 1.25rem;border-radius:999px;font-weight:800;text-decoration:none}.header-link,.primary-button{background:var(--navy);color:#fff}.hero{min-height:700px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);gap:clamp(2rem,7vw,7rem);align-items:center;padding:clamp(4rem,8vw,8rem) clamp(1.2rem,8vw,9rem);overflow:hidden;background:linear-gradient(135deg,#f8fdff 0%,var(--carolina-light) 52%,#b8e2f8 100%);position:relative}.hero:before{content:"";position:absolute;width:450px;height:450px;border:100px solid rgba(255,255,255,.33);border-radius:50%;right:-180px;top:-190px}.hero-copy,.app-card{position:relative;z-index:1}.eyebrow{margin:0 0 .75rem;color:#2874a5;text-transform:uppercase;letter-spacing:.13em;font-size:.82rem;font-weight:900}.eyebrow.light{color:#a9dcf8}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.4rem,7vw,6.6rem);line-height:.92;letter-spacing:-.065em;color:var(--navy);margin-bottom:1.75rem}h1 span{color:#287eb6}h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;letter-spacing:-.045em;color:var(--navy)}h3{font-size:1.2rem;line-height:1.25;color:var(--navy)}.lead{font-size:clamp(1.15rem,2vw,1.4rem);max-width:670px;line-height:1.55;color:#34546b}.hero-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:2rem}.play-button{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.2rem;border-radius:14px;background:var(--navy);color:#fff;text-decoration:none;box-shadow:0 10px 25px rgba(9,40,70,.18);line-height:1.05;font-size:1.25rem;font-weight:700;min-height:68px}.play-button svg{width:30px;height:34px}.play-button small{display:block;font-size:.66rem;letter-spacing:.08em;margin-bottom:.22rem}.play-button.dark{background:#061b2f}.text-link{font-weight:800;color:var(--navy);text-underline-offset:5px}.compatibility{font-size:.9rem;font-weight:700;color:#4f7088;margin-top:1.4rem}.app-card{max-width:440px;width:100%;justify-self:center;background:#fff;border-radius:34px;padding:1.3rem 1.5rem 1.6rem;box-shadow:var(--shadow);border:7px solid rgba(255,255,255,.5)}.phone-top{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:800;color:var(--navy);padding-bottom:1.2rem;border-bottom:1px solid #e7f0f6}.status-dot{color:var(--green);font-size:.76rem;background:#e9f8f1;padding:.24rem .55rem;border-radius:999px}.listening-orb{display:grid;place-items:center;width:126px;height:126px;margin:2rem auto 1rem;border-radius:50%;background:var(--carolina-light);box-shadow:0 0 0 14px #eef9ff,0 0 0 26px #f7fcff;color:#2676aa}.listening-orb svg{width:68px;height:68px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}.hearing-on{display:block;text-align:center;color:var(--navy);font-size:1.5rem}.app-card>p{text-align:center;color:var(--muted);font-size:.9rem}.amplify-row{display:flex;justify-content:space-between;font-size:.9rem;font-weight:700;margin-top:1.8rem}.amplify-row strong{color:#2676aa;font-size:1.15rem}.slider{height:12px;background:#d9e8f1;border-radius:999px;margin:.7rem 0 1.5rem}.slider span{display:block;width:88%;height:100%;background:var(--carolina);border-radius:999px;position:relative}.slider span:after{content:"";position:absolute;right:-7px;top:-5px;width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid #287eb6}.mic-choice{display:grid;grid-template-columns:1fr 1fr;background:#eef6fa;border-radius:12px;padding:4px;font-size:.82rem;text-align:center;font-weight:800}.mic-choice span{padding:.65rem}.mic-choice .selected{background:#fff;border-radius:9px;color:#2676aa;box-shadow:0 2px 7px rgba(9,40,70,.1)}.feature-section,.help-section,.contact-section{padding:clamp(4.5rem,9vw,8rem) clamp(1.2rem,8vw,9rem)}.section-heading{max-width:760px;margin-bottom:3.5rem}.section-heading.compact{margin-bottom:2rem}.section-heading>p:last-child{color:var(--muted)}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}.features article{background:#fff;padding:2rem;min-height:260px}.features p,.help-cards p{color:var(--muted);font-size:1rem}.number{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--carolina-light);color:#2874a5;font-size:.8rem;font-weight:900;margin-bottom:2.8rem}.purpose-section{margin:0 clamp(1.2rem,4vw,4rem);padding:clamp(4rem,7vw,7rem);border-radius:32px;display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:center;background:#edf8fe}.purpose-copy{max-width:780px}.purpose-copy>p:not(.eyebrow){font-size:1.15rem}.note{margin:2rem 0 0;padding:1.2rem 1.4rem;border-left:5px solid var(--carolina);background:#fff;border-radius:0 12px 12px 0;color:#3c596e}.sound-lines{height:320px;display:flex;align-items:center;justify-content:center;gap:15px}.sound-lines span{width:20px;border-radius:999px;background:linear-gradient(var(--sky),#2676aa)}.sound-lines span:nth-child(1),.sound-lines span:nth-child(5){height:75px}.sound-lines span:nth-child(2),.sound-lines span:nth-child(4){height:170px}.sound-lines span:nth-child(3){height:280px}.homes-section{margin-top:5rem;padding:clamp(4rem,8vw,7rem) clamp(1.2rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);background:var(--navy);color:#dcecf7}.homes-section h2{color:#fff}.homes-section p{font-size:1.1rem}.outline-button{margin-top:1.2rem;color:#fff;border:2px solid var(--sky)}.help-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,7vw,7rem);align-items:start}.help-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.help-cards article{padding:1.7rem;background:#f3faff;border-radius:18px}.get-section{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3rem;padding:clamp(4rem,8vw,7rem) clamp(1.2rem,8vw,9rem);background:var(--carolina);color:var(--navy)}.get-section h2{font-size:clamp(2.6rem,5vw,5rem);margin-bottom:1rem}.get-section>div>p:not(.eyebrow){max-width:620px;font-size:1.15rem}.get-section .eyebrow{color:var(--navy-2)}.qr-card{display:flex;flex-direction:column;align-items:center;background:#fff;padding:1.1rem;border-radius:20px;color:var(--navy);text-decoration:none;box-shadow:var(--shadow);font-size:.88rem}.qr-card img{display:block;margin-bottom:.7rem}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);align-items:start}.contact-section p{color:var(--muted)}footer{padding:2.5rem clamp(1.2rem,8vw,9rem);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:2rem;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}footer p{margin:0}.footer-brand{font-size:1rem}.fine-print{text-align:right}@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:4.5rem}.hero-copy{text-align:center}.lead{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.compatibility{text-align:center}.features{grid-template-columns:1fr 1fr}.purpose-section,.homes-section,.help-section,.contact-section{grid-template-columns:1fr}.purpose-section{padding:3rem 1.5rem}.sound-lines{height:160px}.sound-lines span:nth-child(2),.sound-lines span:nth-child(4){height:100px}.sound-lines span:nth-child(3){height:150px}.get-section{grid-template-columns:1fr;text-align:center}.get-section>div>p{margin-left:auto;margin-right:auto}.get-section .play-button{margin:0 auto}.qr-card{justify-self:center}footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.fine-print{text-align:center}}@media(max-width:560px){body{font-size:17px}.site-header{height:72px;padding:0 1rem}.brand{font-size:.95rem}.brand-mark{width:42px;height:42px}.header-link{font-size:.82rem;padding:.5rem .8rem}.hero{padding:3.5rem 1rem 4rem}.hero h1{font-size:3.5rem}.hero-actions{flex-direction:column}.app-card{border-width:4px;border-radius:26px;padding:1rem}.feature-section,.help-section,.contact-section{padding:4rem 1rem}.features,.help-cards{grid-template-columns:1fr}.features article{min-height:0}.number{margin-bottom:1.3rem}.purpose-section{margin:0 1rem}.homes-section,.get-section{padding:4rem 1rem}.qr-card img{width:160px;height:160px}.contact-section .primary-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Facility waitlist form */
.waitlist-card{background:rgba(255,255,255,.08);border:1px solid rgba(169,220,248,.35);border-radius:22px;padding:clamp(1.4rem,3vw,2rem)}
.waitlist-card label{display:block;font-weight:800;color:#fff;margin:1rem 0 .55rem;font-size:.95rem}
.waitlist-card label:first-of-type{margin-top:0}
.waitlist-card input[type="text"],.waitlist-card input[type="email"],.admin-key-row input{width:100%;min-height:56px;padding:.85rem 1.1rem;border-radius:14px;border:2px solid rgba(169,220,248,.45);background:#fff;color:var(--navy);font:inherit;font-size:1.05rem;font-weight:600}
.waitlist-card input[type="text"]:focus,.waitlist-card input[type="email"]:focus,.admin-key-row input:focus{outline:3px solid rgba(88,168,220,.55);outline-offset:2px;border-color:var(--carolina)}
.waitlist-submit{width:100%;margin-top:1rem;min-height:56px;border:0;cursor:pointer;font:inherit;font-size:1.05rem}
.waitlist-submit:disabled{opacity:.7;cursor:wait}
.waitlist-message{margin:1rem 0 0;padding:.9rem 1rem;border-radius:12px;font-size:.95rem;font-weight:700}
.waitlist-message[hidden]{display:none!important}
.waitlist-message.success{background:#e9f8f1;color:var(--green)}
.waitlist-message.error{background:#fdeceb;color:#a33b32}
.waitlist-message.pending{background:#eef6fa;color:#2874a5}
.contact-outline{margin-top:1rem;margin-left:.75rem;border-color:var(--carolina);color:var(--navy)}
.contact-section .primary-button{margin-top:.2rem}

/* Admin page */
.admin-page{background:#f7fbfe;min-height:100vh}
.admin-main{padding:clamp(2.5rem,6vw,5rem) clamp(1.2rem,8vw,9rem);max-width:980px;margin:0 auto}
.admin-title{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:.75rem;color:var(--navy)}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.6rem 1.8rem;box-shadow:0 10px 30px rgba(9,40,70,.06)}
.admin-panel h2{font-size:1.35rem;margin-bottom:.8rem}
.admin-steps{margin:0 0 1rem;padding-left:1.25rem;color:var(--muted)}
.admin-steps li{margin:.45rem 0}
.admin-panel code,.admin-steps code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--carolina-light);padding:.1rem .35rem;border-radius:6px;color:var(--navy)}
.admin-controls{margin:1.5rem 0 1rem}
.admin-controls label{display:block;font-weight:800;color:var(--navy);margin-bottom:.45rem}
.admin-key-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:stretch}
.admin-key-row input{flex:1;min-width:200px}
.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}
.admin-table{width:100%;border-collapse:collapse;font-size:.98rem}
.admin-table th,.admin-table td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
.admin-table th{background:var(--carolina-light);color:var(--navy);font-weight:800}
.admin-table tbody tr:last-child td{border-bottom:0}
.admin-table td:first-child{width:3rem;color:var(--muted);font-weight:700}
@media(max-width:560px){.contact-outline{margin-left:0;display:flex;width:100%}.admin-key-row .primary-button{width:100%}}
