/*
Theme Name: Agape Cinematic v41
Theme URI: https://agapeaudiology.com.au
Author: Agape Audiology project
Description: World-class cinematic WordPress theme for Agape Audiology. Half-screen cinematic video band, cycling lifestyle hero, interactive "Your hearing explained" audiogram with a "How hearing works" anatomy summary, refreshed June 2026 product range (Oticon, Phonak, ReSound, Beltone, Signia, Unitron), premium supplier imagery, and a full SEO / AI-visibility layer (LocalBusiness/MedicalBusiness, FAQ, breadcrumb schema, meta and Open Graph). v21 adds a built-in Google review button, opt-in Google Analytics + Search Console / Bing verification hooks, and a consent-gated cookie banner. Client-safe HSP / DVA / NDIS / private wording, tinnitus pathway and secure appointment form retained.
Version: 34.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: agape-cinematic-v41
*/

:root{
  --gold:#B8955F;
  --gold-2:#D8BE87;
  --gold-soft:#F7EAD0;
  --wine:#49111C;
  --wine-2:#6A1728;
  --navy:#07182E;
  --navy-2:#0A1A2F;
  --blue:#123B63;
  --ink:#0A0908;
  --mist:#F2F4F3;
  --paper:#FFFDF8;
  --white:#FFFFFF;
  --muted:#667085;
  --line:rgba(10,26,47,.13);
  --shadow:0 24px 80px rgba(10,26,47,.14);
  --deep-shadow:0 45px 140px rgba(0,0,0,.36);
  --radius:28px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.58}
img{max-width:100%;display:block}
a{color:inherit}
p{color:#4b5565}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.04;letter-spacing:-.028em}
h1{font-size:clamp(3.05rem,7.1vw,7.8rem);margin:.35rem 0 1rem}
h2{font-size:clamp(2.15rem,4.4vw,4.55rem);margin:.25rem 0 1rem}
h3{font-size:1.55rem}
h4{font-size:1.12rem;letter-spacing:-.01em}.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.8rem;z-index:999}.skip-link:focus{left:1rem;top:1rem}.container{max-width:var(--max);margin:0 auto}.narrow{max-width:860px}.lead,.hero-lead{font-size:clamp(1.06rem,1.5vw,1.24rem);max-width:850px}.hero-lead{color:rgba(255,255,255,.86)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gold)!important;font-weight:850;font-size:.78rem}.pill{display:inline-flex;padding:.35rem .72rem;border-radius:999px;background:#f7eddc;color:var(--wine);font-weight:850;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.fineprint,.tiny,.footer-small{font-size:.88rem;color:#687386}.kicker{font-weight:850;color:var(--gold)}

.site-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem clamp(1rem,4vw,3rem);background:rgba(255,255,255,.91);backdrop-filter:blur(20px);border-bottom:1px solid rgba(10,26,47,.08)}
.brand-lockup{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand-lockup img,.site-header .custom-logo{width:58px;height:58px;object-fit:contain}.brand-lockup strong{display:block;color:var(--navy);font-weight:850}.brand-lockup small{display:block;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;line-height:1.25;max-width:360px}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.main-nav a{padding:.7rem .82rem;text-decoration:none;border-radius:999px;font-size:.92rem;color:#273245;display:block}.main-nav a:hover,.main-nav a[aria-current="page"]{background:#f6efe3;color:var(--wine)}.main-nav .nav-cta,.main-nav .nav-cta:hover{background:var(--gold);color:#111827;font-weight:800}.nav-toggle{display:none;border:0;background:var(--navy);color:#fff;border-radius:999px;padding:.6rem .8rem;font-size:1rem}

.section{padding:5rem 6vw}.soft{background:var(--mist)}.paper{background:var(--paper)}.dark{background:var(--navy);color:#fff}.dark h2,.dark h3,.dark h4{color:#fff}.dark p,.dark li,.dark a{color:rgba(255,255,255,.78)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:1rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);gap:2.2rem;align-items:center}.split.reverse{grid-template-columns:minmax(280px,.82fr) minmax(0,1fr)}.card{border:1px solid var(--line);border-radius:var(--radius);padding:1.45rem;background:#fff;box-shadow:0 16px 52px rgba(10,26,47,.07)}.card.feature{background:linear-gradient(180deg,#fff,#fbf7ef)}.card.glass{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);box-shadow:none}.card h3{margin-top:.2rem}.actions,.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.9rem 1.15rem;border-radius:999px;border:1px solid rgba(10,26,47,.13);text-decoration:none;font-weight:850;cursor:pointer}.btn.gold{background:var(--gold);color:#111827;border-color:var(--gold)}.btn.navy{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.wine{background:var(--wine);color:#fff;border-color:var(--wine)}.btn.light{background:#fff;color:var(--navy);border-color:var(--line)}.btn.ghost{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28)}.btn.outline{background:transparent;color:var(--navy);border-color:var(--line)}

.cinema-hero{position:relative;min-height:calc(100vh - 80px);padding:7.2rem 6vw 4rem;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(184,149,95,.44),transparent 28%),linear-gradient(135deg,#061226 0%,#0A1A2F 54%,#49111C 100%);color:#fff}.cinema-hero:after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(0deg,rgba(0,0,0,.34),transparent);pointer-events:none}.cinema-glow{position:absolute;width:36rem;height:36rem;border-radius:50%;filter:blur(44px);opacity:.55}.cinema-glow.one{left:-12rem;top:10%;background:rgba(184,149,95,.28)}.cinema-glow.two{right:-16rem;bottom:-12rem;background:rgba(255,255,255,.12)}.cinema-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:3rem;align-items:center}.cinema-copy h1{color:#fff}.cinema-copy p{color:rgba(255,255,255,.82)}.contact-ribbon{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1.25rem;padding:.75rem;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:999px;backdrop-filter:blur(14px)}.contact-ribbon strong{color:#fff}.contact-ribbon a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28)}.hero-stats{margin-top:1.35rem}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:1rem}.stat{border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:1rem;background:rgba(255,255,255,.08)}.stat b{font-size:2rem;color:var(--gold);display:block}.stat span{color:#fff;font-weight:650}
.movie-frame{position:relative;border:1px solid rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.07));border-radius:36px;padding:1rem;box-shadow:var(--deep-shadow);backdrop-filter:blur(18px)}.movie-frame:before{content:"";position:absolute;inset:-1px;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.55),transparent 36%,rgba(184,149,95,.5));z-index:-1;opacity:.36}.screen-top{display:flex;align-items:center;gap:.4rem;padding:.2rem .3rem .85rem;color:rgba(255,255,255,.76)}.screen-top span{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.42)}.screen-top em{margin-left:auto;font-style:normal;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.screen-stage{position:relative;overflow:hidden;border-radius:28px;background:#000}.screen-stage img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(1.08) contrast(1.04)}.play-orb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:999px;background:rgba(255,255,255,.84);color:var(--wine);display:grid;place-items:center;font-size:1.8rem;box-shadow:0 20px 70px rgba(0,0,0,.28)}.screen-caption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:1rem;border:1px solid rgba(255,255,255,.2);background:linear-gradient(90deg,rgba(7,24,46,.9),rgba(73,17,28,.72));border-radius:20px}.screen-caption strong{display:block;color:#fff}.screen-caption small{display:block;color:rgba(255,255,255,.74)}.filmstrip{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin-top:.8rem}.filmstrip img{height:84px;width:100%;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,.2)}

.start-section{padding-top:4.5rem}.poster-panel{background:#fff}.poster-panel img{object-fit:contain;padding:1.5rem;background:#fff;min-height:220px}.image-panel{border-radius:32px;overflow:hidden;box-shadow:var(--shadow);position:relative;background:#fff}.image-panel img{width:100%;height:100%;min-height:390px;object-fit:cover}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:235px;gap:1rem;margin-top:2rem}.gallery-card{position:relative;overflow:hidden;border-radius:30px;margin:0;box-shadow:var(--shadow);background:#111}.gallery-card.wide{grid-column:span 2}.gallery-card.tall{grid-row:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;filter:saturate(1.03)}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,24,46,.8),transparent 55%)}.gallery-card figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:2;color:#fff}.gallery-card strong{display:block;font-size:1.1rem}.gallery-card span{display:block;color:rgba(255,255,255,.76);font-size:.9rem}.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.mini-gallery img{height:120px;width:100%;object-fit:cover;border-radius:20px;box-shadow:0 14px 36px rgba(10,26,47,.12)}
.tech-ladder{display:grid;gap:.75rem}.tech-ladder div{padding:1rem 1.1rem;border-radius:22px;background:linear-gradient(90deg,var(--navy),var(--wine));color:#fff;box-shadow:0 16px 40px rgba(10,26,47,.13)}.tech-ladder div:nth-child(2){margin-left:1.2rem}.tech-ladder div:nth-child(3){margin-left:2.4rem}.tech-ladder div:nth-child(4){margin-left:3.6rem}.tech-ladder div:nth-child(5){margin-left:4.8rem}.tech-ladder strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.4rem}.tech-ladder span{display:block;color:rgba(255,255,255,.76)}.notice{border-left:5px solid var(--gold);background:#fff8ec;border-radius:18px;padding:1.1rem 1.25rem;margin:1rem 0}.notice p{margin:.2rem 0}.final-cta{background:linear-gradient(135deg,var(--navy),var(--wine));color:#fff}.cta-card{border:1px solid rgba(255,255,255,.18);border-radius:36px;padding:2rem;background:rgba(255,255,255,.08);box-shadow:var(--deep-shadow)}.cta-card h2{color:#fff}.cta-card p{color:rgba(255,255,255,.78)}

.page-hero{background:radial-gradient(circle at 82% 10%,rgba(184,149,95,.32),transparent 28%),linear-gradient(135deg,var(--navy),var(--wine));color:#fff;padding:5.3rem 6vw}.page-hero.compact{padding:4.2rem 6vw}.page-hero h1{color:#fff}.page-hero p{color:rgba(255,255,255,.82)}.page-hero .split{align-items:center}.page-hero .hero-image{border-radius:34px;overflow:hidden;box-shadow:var(--deep-shadow);border:1px solid rgba(255,255,255,.2)}.page-hero .hero-image img{aspect-ratio:16/10;object-fit:cover}.page-body{max-width:980px}.entry-content p{font-size:1.03rem}.entry-content h2{margin-top:1.7rem}.entry-content ul{padding-left:1.2rem}.entry-content img{border-radius:24px}.service-icon{width:48px;height:48px;border-radius:16px;background:var(--gold-soft);display:grid;place-items:center;color:var(--wine);font-weight:900}.brand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem}.brand-grid span{display:block;padding:1rem;border:1px solid var(--line);border-radius:18px;background:#fff;font-weight:850;color:var(--navy);text-align:center}.device-style{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.style-card img{height:180px;width:100%;object-fit:cover;border-radius:22px;margin-bottom:.8rem}.price-card .price{font-size:2.35rem;font-weight:900;color:var(--wine);font-family:Georgia,"Times New Roman",serif}.price-card .price small{font-size:1rem;color:var(--muted);font-family:inherit;font-weight:600}.timeline{display:grid;gap:1rem;counter-reset:step}.timeline .step{position:relative;padding-left:4rem}.timeline .step:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:.1rem;width:2.6rem;height:2.6rem;border-radius:999px;background:var(--gold);display:grid;place-items:center;font-weight:900;color:#101828}.rights-grid .card{background:linear-gradient(180deg,#fff,#fbf7ef)}.review-placeholder{border:2px dashed rgba(10,26,47,.18);border-radius:30px;padding:2rem;text-align:center;background:#fff}.survey-box{border-radius:34px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);padding:2rem}.survey-box .field{display:grid;gap:.4rem;margin-bottom:1rem}.survey-box input,.survey-box select,.survey-box textarea,.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:.9rem 1rem;font:inherit;background:#fff}.survey-box textarea,.form textarea{min-height:130px}.form{display:grid;gap:.85rem}.form label{font-weight:800;color:var(--navy)}

.contact-hero{position:relative;padding:6.4rem 6vw;background:radial-gradient(circle at 82% 20%,rgba(184,149,95,.34),transparent 28%),linear-gradient(135deg,var(--navy),var(--wine));color:#fff;overflow:hidden}.contact-hero h1,.contact-hero h2{color:#fff}.contact-hero p{color:rgba(255,255,255,.84)}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);gap:2rem;align-items:center}.contact-card{border:1px solid rgba(255,255,255,.2);border-radius:32px;padding:1.5rem;background:rgba(255,255,255,.1);box-shadow:var(--deep-shadow);backdrop-filter:blur(16px)}.premium-contact a{color:#fff}.premium-contact .fineprint{color:rgba(255,255,255,.72)}.clinic-card{display:grid;gap:.5rem}.clinic-card strong{color:var(--navy)}

.table-wrap{overflow:auto;border-radius:24px;box-shadow:0 18px 60px rgba(10,26,47,.08);border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:1rem;text-align:left;border-bottom:1px solid #edf0f2;vertical-align:top}th{background:var(--navy);color:#fff;font-size:.9rem}td small{color:var(--muted)}

.site-footer{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:2rem;padding:3rem 6vw;background:#07182e;color:#fff}.site-footer h3,.site-footer h4{color:#fff}.site-footer p,.site-footer a{color:rgba(255,255,255,.74)}.site-footer a:hover{color:#fff}.footer-logo{max-width:180px;margin-bottom:.8rem}

@media(max-width:980px){.cinema-layout,.split,.split.reverse,.contact-layout{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card.wide{grid-column:span 2}.site-footer{grid-template-columns:1fr 1fr}.image-panel img{min-height:280px}.tech-ladder div,.tech-ladder div:nth-child(n){margin-left:0}}
@media(max-width:760px){h1{font-size:clamp(2.7rem,13vw,4.3rem)}.main-nav{display:none;position:absolute;left:1rem;right:1rem;top:76px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:1rem}.main-nav.open{display:grid}.main-nav ul{display:grid}.nav-toggle{display:inline-block}.cinema-hero{padding-top:5.4rem}.contact-ribbon{border-radius:22px;align-items:flex-start;flex-direction:column}.filmstrip{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:245px}.gallery-card.wide,.gallery-card.tall{grid-column:auto;grid-row:auto}.site-footer{grid-template-columns:1fr}.section{padding:4rem 5vw}.mini-gallery{grid-template-columns:1fr}.screen-caption{position:relative;left:auto;right:auto;bottom:auto;border-radius:0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Regulatory / HSP / ACCC panels - v3 */
.regulatory-band{position:relative;padding:1.2rem 6vw;background:linear-gradient(90deg,var(--navy),var(--blue));color:#fff}.regulatory-band .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.regulatory-band p{margin:0;color:rgba(255,255,255,.84)}.regulatory-band strong{color:#fff}.regulatory-band .btn{padding:.65rem .95rem}
.rights-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.25rem}.rights-section-title{max-width:900px}.rights-section-title .lead{max-width:850px}.rights-panel{border-radius:34px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);padding:2rem}.rights-panel.gold-panel{background:linear-gradient(180deg,#fffdf8,#fbf0d9)}.rights-panel.blue-panel{background:linear-gradient(180deg,#fff,#f2f7fb)}.rights-panel h2{font-size:clamp(1.95rem,3vw,3.2rem)}.rights-list{display:grid;gap:.8rem;margin:1.15rem 0 0;padding:0;list-style:none}.rights-list li{padding:1rem 1rem 1rem 3rem;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.72);position:relative}.rights-list li:before{content:"✓";position:absolute;left:1rem;top:1rem;width:1.35rem;height:1.35rem;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#111827;font-weight:900}.rights-list strong{display:block;color:var(--navy)}.compliance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.compliance-pill{border:1px solid rgba(10,26,47,.1);background:#fff;border-radius:999px;padding:.8rem 1rem;display:flex;gap:.6rem;align-items:center;font-weight:850;color:var(--navy)}.compliance-pill span{display:grid;place-items:center;min-width:1.7rem;height:1.7rem;border-radius:999px;background:var(--gold-soft);color:var(--wine)}.pdf-card{display:grid;grid-template-columns:90px 1fr;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 20px 60px rgba(10,26,47,.1);padding:1rem}.pdf-thumb{height:110px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:grid;place-items:center;text-align:center;font-weight:900;font-size:.85rem;line-height:1.1;padding:.6rem}.consumer-law-note{border:1px dashed rgba(73,17,28,.25);border-radius:24px;padding:1.2rem;background:#fffaf4}.resource-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.agape-modal{display:none;position:fixed;inset:0;background:rgba(5,10,20,.72);z-index:99999;padding:4vh 3vw}.agape-modal.is-open{display:grid;place-items:center}.agape-modal-panel{width:min(1040px,96vw);height:min(88vh,900px);background:#fff;border-radius:26px;box-shadow:0 45px 140px rgba(0,0,0,.45);display:grid;grid-template-rows:auto 1fr;overflow:hidden}.agape-modal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(90deg,var(--navy),var(--wine));color:#fff}.agape-modal-head h2{color:#fff;font-size:1.25rem;margin:0}.agape-modal-close{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:.55rem .85rem;font-weight:900;cursor:pointer}.agape-modal iframe{width:100%;height:100%;border:0;background:#f8fafc}.agape-modal-fallback{padding:1rem;display:none}.agape-modal[aria-busy="true"] .agape-modal-fallback{display:block}.legal-disclaimer{font-size:.9rem;color:#687386}.hsp-download-strip{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.1rem}
@media(max-width:760px){.pdf-card{grid-template-columns:1fr}.pdf-thumb{height:auto;min-height:80px}.agape-modal{padding:0}.agape-modal-panel{border-radius:0;width:100vw;height:100vh}.regulatory-band .container{align-items:flex-start}}


/* v6 appointment form, eligibility checkboxes, anti-bot and email routing updates */
.source-date{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;background:#eef5ff;color:var(--blue);font-weight:850;padding:.35rem .72rem;font-size:.8rem}
.scheme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1rem;margin-top:1.6rem}
.scheme-card{position:relative;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:0 20px 70px rgba(10,26,47,.08);padding:1.45rem;overflow:hidden}
.scheme-card:before{content:"";position:absolute;right:-50px;top:-50px;width:140px;height:140px;border-radius:999px;background:rgba(184,149,95,.12)}
.scheme-card h3{margin-top:.4rem}.scheme-card .tag{display:inline-flex;align-items:center;border-radius:999px;padding:.32rem .65rem;background:var(--gold-soft);color:var(--wine);font-weight:900;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.scheme-card ul{padding-left:1.1rem;margin:.9rem 0}.scheme-card li{margin:.35rem 0;color:#4b5565}.scheme-card.important{background:linear-gradient(180deg,#fffaf2,#ffffff)}.scheme-card.navy-card{background:linear-gradient(135deg,var(--navy),var(--wine));color:#fff}.scheme-card.navy-card h3,.scheme-card.navy-card p,.scheme-card.navy-card li,.scheme-card.navy-card a{color:#fff}.scheme-card.navy-card p,.scheme-card.navy-card li{color:rgba(255,255,255,.82)}
.source-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1.5rem}.source-item{border:1px solid var(--line);border-radius:24px;background:#fff;padding:1rem;display:grid;gap:.5rem}.source-item strong{color:var(--navy)}.source-item small{color:var(--muted)}
.referral-flow{counter-reset:flow;display:grid;gap:.9rem;margin-top:1.2rem}.referral-step{position:relative;border:1px solid var(--line);background:#fff;border-radius:24px;padding:1rem 1rem 1rem 4rem}.referral-step:before{counter-increment:flow;content:counter(flow);position:absolute;left:1rem;top:1rem;width:2rem;height:2rem;border-radius:999px;background:var(--gold);color:#101828;display:grid;place-items:center;font-weight:950}.referral-step h3{margin:.05rem 0 .35rem;font-size:1.25rem}.referral-step p{margin:.1rem 0}
.source-note,.public-obligation-note{border-left:4px solid var(--gold);background:#fffdf5;padding:1rem 1.2rem;border-radius:0 18px 18px 0;margin-top:1.2rem}.care-warning{border-left:4px solid var(--wine);background:#fff5f6;border-radius:0 18px 18px 0;padding:1rem 1.1rem;margin-top:1rem}.care-warning p{margin:.2rem 0}.subtle-warning{font-size:.9rem;color:#667085;border-top:1px solid var(--line);padding-top:.75rem;margin-top:.85rem}
.gov-source-badge{display:inline-block;border-radius:999px;background:#f0f4f8;color:#344054;padding:.25rem .55rem;font-weight:850;font-size:.75rem;margin-right:.35rem;margin-bottom:.35rem}.private-only-badge{display:inline-flex;align-items:center;border-radius:999px;background:#fff5f6;color:var(--wine);padding:.35rem .72rem;font-weight:900;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.clinic-note-card{border:1px solid var(--line);border-radius:24px;background:#fff;padding:1rem;box-shadow:0 14px 45px rgba(10,26,47,.07)}
@media(max-width:760px){.scheme-grid,.source-library{grid-template-columns:1fr}.referral-step{padding-left:3.4rem}}

/* v6 appointment form, eligibility checkboxes and anti-bot provisions */
.appointment-grid{align-items:start}.appointment-form-card{border:1px solid var(--line);border-radius:32px;background:#fff;box-shadow:var(--shadow);padding:1.35rem}.appointment-form{display:grid;gap:1rem}.appointment-form label{font-weight:850;color:var(--navy)}.appointment-form input,.appointment-form select,.appointment-form textarea{margin-top:.35rem}.appointment-form textarea{min-height:120px}.checkbox-group{border:1px solid rgba(10,26,47,.12);border-radius:22px;padding:1rem;background:#fffdf8}.checkbox-group legend{font-weight:950;color:var(--navy);padding:0 .35rem}.checkbox-group label{display:flex;align-items:flex-start;gap:.6rem;font-weight:700;color:#334155;margin:.65rem 0}.checkbox-group input[type="checkbox"]{width:1.05rem;height:1.05rem;margin:.22rem 0 0;accent-color:var(--gold)}.consent-group{background:#f8fafc}.required{color:var(--wine);font-weight:950}.honeypot-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-notice{border-radius:18px;padding:1rem 1.1rem;margin-bottom:1rem;border:1px solid var(--line)}.form-notice.success{background:#ecfdf3;border-color:#abefc6;color:#065f46}.form-notice.error{background:#fff1f3;border-color:#fecdd3;color:#9f1239}.form-notice a{font-weight:900}.form-small{font-size:.88rem;color:#667085;margin:.25rem 0 0}.appointment-form .btn{width:max-content}.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{outline:3px solid rgba(184,149,95,.25);border-color:var(--gold)}
@media(max-width:760px){.appointment-form .btn{width:100%}.appointment-form-card{padding:1rem}.checkbox-group{padding:.85rem}}

/* v6 appointment enquiry form */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.appointment-form label,.appointment-form legend{font-weight:850;color:var(--navy)}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;border:1px solid rgba(10,26,47,.15);border-radius:16px;padding:.84rem .95rem;background:#fff;color:var(--ink);font:inherit}.appointment-form textarea{min-height:130px;resize:vertical}.eligibility-checks{border:1px solid rgba(10,26,47,.12);border-radius:22px;padding:1rem;background:#fffdf8;margin:0}.eligibility-checks legend{padding:0 .35rem}.eligibility-checks label,.privacy-check{display:flex;align-items:flex-start;gap:.62rem;font-weight:760;color:#344054;margin:.65rem 0}.eligibility-checks input[type="checkbox"],.privacy-check input[type="checkbox"]{width:1.12rem;height:1.12rem;margin:.18rem 0 0;accent-color:var(--gold);flex:0 0 auto}.agape-hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{border-radius:18px;padding:1rem 1.1rem;margin-bottom:1rem;border:1px solid var(--line);background:#fff}.form-status.success{background:#ecfdf3;border-color:#abefc6;color:#065f46}.form-status.warning{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}.form-status a{font-weight:900}.appointment-form .btn{margin-top:.25rem}.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{outline:3px solid rgba(184,149,95,.25);border-color:var(--gold)}

.footer-legal{border-top:1px solid rgba(255,255,255,.14);margin-top:1.5rem;padding-top:1rem;grid-column:1/-1;color:rgba(255,255,255,.72);font-size:.88rem}.footer-legal p{margin:.3rem 0;color:rgba(255,255,255,.72)}.privacy-statement-list{padding-left:1.15rem}.privacy-statement-list li{margin:.55rem 0}.urgent-note{border-left:4px solid #b42318;background:#fff1f3;color:#7a271a;border-radius:18px;padding:1rem 1.1rem;margin-top:1rem}.urgent-note p{color:#7a271a;margin:.3rem 0}.privacy-callout{border:1px solid rgba(10,26,47,.13);background:linear-gradient(180deg,#fff,#fff8eb);border-radius:28px;padding:1.4rem}.privacy-callout strong{color:var(--navy)}


/* v8 official reference + comparative copy additions */
.reference-disclaimer{background:linear-gradient(135deg,rgba(7,24,46,.95),rgba(73,17,28,.92));color:#fff;border-radius:var(--radius);padding:1.35rem 1.5rem;box-shadow:var(--shadow);margin-top:1.25rem}
.reference-disclaimer h3,.reference-disclaimer strong{color:#fff}.reference-disclaimer p{color:rgba(255,255,255,.86);margin:.35rem 0}.reference-disclaimer a{color:#F7EAD0;text-decoration:underline;text-underline-offset:3px}
.safe-comparison{background:radial-gradient(circle at 15% 0%,rgba(216,190,135,.28),transparent 35%),linear-gradient(135deg,#07182E,#49111C);color:#fff;border-radius:calc(var(--radius) + 8px);padding:clamp(1.6rem,4vw,3rem);box-shadow:var(--deep-shadow);position:relative;overflow:hidden}
.safe-comparison:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:999px;background:rgba(184,149,95,.22);filter:blur(8px)}
.safe-comparison h2,.safe-comparison h3{color:#fff}.safe-comparison p{color:rgba(255,255,255,.86)}.safe-comparison .caption-line{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,3.5vw,3.4rem);line-height:1.05;letter-spacing:-.04em;color:#fff;margin:0 0 1rem;max-width:900px}.safe-comparison .caption-line em{color:var(--gold-2);font-style:normal}
.do-dont-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.do-dont-grid article{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);border-radius:22px;padding:1rem}.do-dont-grid ul{margin:.5rem 0 0;padding-left:1.15rem;color:rgba(255,255,255,.88)}
@media(max-width:760px){.do-dont-grid{grid-template-columns:1fr}}



/* v8.1 compliance and technology-value panels */
.reference-disclaimer{border:1px solid rgba(184,149,95,.28);background:linear-gradient(135deg,#fff8e8,#f8fbff);border-radius:24px;padding:1.3rem 1.4rem;box-shadow:0 18px 50px rgba(10,26,47,.08)}
.reference-disclaimer h3{margin:.1rem 0 .55rem;font-size:1.25rem}.reference-disclaimer p{margin:.45rem 0}.reference-disclaimer a{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.technology-value-panel{background:radial-gradient(circle at 20% 0%,rgba(216,190,135,.28),transparent 34%),linear-gradient(135deg,#07182e,#49111c);border-radius:34px;padding:2rem;color:#fff;box-shadow:var(--deep-shadow);overflow:hidden;position:relative}.technology-value-panel h2,.technology-value-panel h3{color:#fff}.technology-value-panel p,.technology-value-panel li{color:rgba(255,255,255,.83)}.technology-value-panel .fineprint{color:rgba(255,255,255,.66)}
.value-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.2rem 0 0;padding:0;list-style:none}.value-check-list li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:.85rem;border-radius:16px}
@media(max-width:820px){.value-check-list{grid-template-columns:1fr}}

/* v9 device model matrix and fitting-style education */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 60px rgba(10,26,47,.08);margin:1.4rem 0}
.comparison-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1040px;background:#fff}
.comparison-table th,.comparison-table td{padding:1rem .95rem;border-bottom:1px solid rgba(10,26,47,.1);vertical-align:top;text-align:left;color:#344054}
.comparison-table th{position:sticky;top:0;background:#07182E;color:#fff;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;z-index:1}
.comparison-table td:first-child{color:var(--navy);font-weight:900;background:#fffdf8}
.comparison-table tr:last-child td{border-bottom:0}.comparison-table tbody tr:nth-child(even) td{background:#fbfcff}.comparison-table tbody tr:hover td{background:#fff8ea}
.device-matrix td:nth-child(3),.device-matrix td:nth-child(4),.device-matrix td:nth-child(5),.device-matrix td:nth-child(6),.device-matrix td:nth-child(7){font-weight:780;color:#172033}
.style-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0}
.style-explainer{background:#fff;border:1px solid var(--line);border-radius:30px;padding:1.25rem;box-shadow:0 16px 52px rgba(10,26,47,.07)}
.style-explainer h3{margin:.55rem 0 .4rem}.style-explainer h4{font-family:Inter,ui-sans-serif,system-ui,sans-serif;margin:1rem 0 .2rem;color:var(--wine);font-size:.92rem;text-transform:uppercase;letter-spacing:.08em}.style-explainer ul{margin:.4rem 0 0;padding-left:1.15rem}.style-explainer li{margin:.28rem 0;color:#4b5565}.style-badge{display:inline-flex;border-radius:999px;background:var(--gold-soft);color:var(--wine);font-weight:950;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;padding:.35rem .7rem}.manufacturer-sources .source-item{text-decoration:none}.manufacturer-sources .source-item:hover{border-color:rgba(184,149,95,.55);transform:translateY(-2px)}
@media(max-width:820px){.style-compare-grid{grid-template-columns:1fr}.comparison-table{min-width:920px}}


/* v10 device selection guide, brand source popups and client pictorial guide */
.device-update-banner{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;background:#fff8ea;border:1px solid rgba(184,149,95,.42);border-radius:20px;padding:1rem 1.15rem;margin:1rem 0;color:#3a2a12}.device-update-banner strong{color:var(--wine)}
.selection-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}.selection-card{border:1px solid var(--line);border-radius:30px;background:#fff;padding:1.2rem;box-shadow:0 18px 55px rgba(10,26,47,.07);position:relative;overflow:hidden}.selection-card:before{content:attr(data-step);position:absolute;right:1rem;top:.8rem;font:900 2.8rem/1 Inter,Arial,sans-serif;color:rgba(184,149,95,.18)}.selection-card h3{margin:.25rem 0 .5rem}.selection-card ul{padding-left:1.1rem;margin:.6rem 0 0}.selection-card li{margin:.35rem 0;color:#4b5565}.audiogram-mini{height:170px;border-radius:22px;background:linear-gradient(#eefbff 0 20%,#d8f5ff 20% 42%,#9ee7ff 42% 64%,#35c4f1 64% 100%);position:relative;border:1px solid rgba(10,26,47,.12);margin:.8rem 0}.audiogram-mini:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(10,26,47,.2) 1px,transparent 1px),linear-gradient(to bottom,rgba(10,26,47,.2) 1px,transparent 1px);background-size:20% 25%;opacity:.55}.audiogram-mini span{position:absolute;font-weight:900;color:#07182E}.audiogram-mini .s1{left:14%;top:23%}.audiogram-mini .s2{left:41%;top:44%}.audiogram-mini .s3{right:12%;top:18%}.audiogram-mini .s4{left:22%;bottom:22%}.audiogram-mini .s5{right:18%;bottom:14%}
.device-style-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.9rem 0}.style-icon-card{border:1px solid rgba(10,26,47,.1);border-radius:18px;padding:.75rem;background:#fbfcff;text-align:center;font-weight:900;color:var(--navy)}.style-shape{height:64px;margin:0 auto .45rem;position:relative}.shape-bte:before{content:"";position:absolute;left:42%;top:3px;width:22px;height:46px;background:linear-gradient(180deg,#c9d0d8,#8693a4);border-radius:18px 18px 10px 10px;transform:rotate(8deg)}.shape-bte:after{content:"";position:absolute;left:51%;top:40px;width:32px;height:18px;border:4px solid #9aa7b6;border-left:0;border-top:0;border-radius:0 0 24px 0}.shape-rite:before{content:"";position:absolute;left:28%;top:4px;width:18px;height:42px;background:linear-gradient(180deg,#d3d8df,#8f9cac);border-radius:18px;transform:rotate(-12deg)}.shape-rite:after{content:"";position:absolute;left:47%;top:30px;width:34px;height:20px;border-bottom:3px solid #8f9cac;border-radius:50%}.shape-cic:before{content:"";position:absolute;left:35%;top:18px;width:34px;height:28px;background:linear-gradient(135deg,#c3906d,#74442b);border-radius:45% 55% 48% 52%}.shape-iic:before{content:"";position:absolute;left:43%;top:24px;width:22px;height:20px;background:linear-gradient(135deg,#bb8060,#5d3427);border-radius:50%}.tech-stars{display:grid;gap:.5rem;margin-top:.8rem}.tech-stars div{display:grid;grid-template-columns:130px 1fr;gap:.6rem;align-items:center}.stars{letter-spacing:.08em;color:var(--gold);font-size:1rem}.stars.low{color:#9aa7b6}.brand-source-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1.3rem 0}.brand-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:1rem;box-shadow:0 16px 48px rgba(10,26,47,.06);display:flex;flex-direction:column;gap:.75rem;min-height:180px}.brand-wordmark{font:950 1.05rem/1 Inter,Arial,sans-serif;color:var(--navy);letter-spacing:.02em;border:1px solid rgba(184,149,95,.28);border-radius:16px;padding:.65rem;background:linear-gradient(135deg,#fff,#fff8ea);text-align:center}.brand-card small{color:#667085}.brand-card button,.brand-card a{margin-top:auto}.brand-modal{position:fixed;inset:0;background:rgba(7,24,46,.68);display:none;align-items:center;justify-content:center;padding:1rem;z-index:9999}.brand-modal[aria-hidden="false"]{display:flex}.brand-modal-panel{background:#fff;border-radius:28px;max-width:720px;width:100%;box-shadow:var(--deep-shadow);overflow:hidden}.brand-modal-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#07182E;color:#fff;padding:1rem 1.2rem}.brand-modal-head h2{color:#fff;margin:0;font-size:1.2rem}.brand-modal-close{border:0;border-radius:999px;padding:.6rem .9rem;font-weight:900;cursor:pointer}.brand-modal-body{padding:1.25rem}.brand-modal-body p{margin:.45rem 0}.official-link-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.colour-swatch-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}.colour-swatch{width:24px;height:24px;border-radius:999px;border:1px solid rgba(10,26,47,.2);box-shadow:inset 0 1px 2px rgba(255,255,255,.4)}.accessory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.accessory-card{border:1px solid var(--line);border-radius:26px;background:#fff;padding:1.15rem;box-shadow:0 16px 52px rgba(10,26,47,.06)}.accessory-card h3{margin:.1rem 0 .5rem}.accessory-card ul{margin:.5rem 0 0;padding-left:1.1rem}.accessory-card li{margin:.35rem 0;color:#4b5565}.client-price-note{background:#fff1f3;border-left:4px solid var(--wine);border-radius:0 18px 18px 0;padding:1rem 1.1rem;margin:1rem 0}.matrix-note{font-size:.86rem;color:#667085}.price-badge{display:inline-flex;border-radius:999px;background:#eef4ff;color:#1849a9;font-weight:850;padding:.25rem .55rem;font-size:.78rem;margin:.15rem .2rem .15rem 0}.no-logo-note{border:1px dashed rgba(184,149,95,.6);border-radius:20px;padding:1rem;background:#fffdf8;margin-top:1rem}.quote-level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0}.quote-level{border:1px solid rgba(10,26,47,.12);border-radius:20px;background:#fff;padding:.95rem}.quote-level strong{display:block;color:var(--navy);font-size:1.05rem}.quote-level span{display:block;color:#667085;font-size:.88rem;margin-top:.3rem}.client-safe-alert{border:1px solid rgba(180,35,24,.22);background:#fff7ed;border-radius:22px;padding:1rem;margin:1rem 0}.client-safe-alert strong{color:#9a3412}
@media(max-width:1100px){.brand-source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.selection-steps,.quote-level-grid{grid-template-columns:1fr 1fr}.accessory-grid{grid-template-columns:1fr}}
@media(max-width:720px){.brand-source-grid,.selection-steps,.quote-level-grid,.device-style-strip{grid-template-columns:1fr}.tech-stars div{grid-template-columns:1fr}.brand-modal-panel{max-height:88vh;overflow:auto}}


/* v11 device guide, manufacturer popups and tinnitus management */
.brand-badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin:1.5rem 0}.brand-badge{border:1px solid rgba(10,26,47,.14);border-radius:22px;padding:1rem;background:#fff;box-shadow:0 20px 50px rgba(10,26,47,.07)}.brand-badge strong{display:block;font-family:var(--font-display);font-size:1.15rem}.brand-badge span{display:block;color:var(--muted);font-size:.9rem;margin-top:.35rem}.device-taxonomy{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.device-taxonomy article{background:#fff;border:1px solid rgba(10,26,47,.12);border-radius:20px;padding:1.25rem}.device-taxonomy .style-badge{display:inline-flex;margin-bottom:.5rem}.implant-pathway{background:linear-gradient(135deg,#0A1A2F,#49111C);color:#fff;border-radius:28px;padding:2rem;margin-top:1.5rem}.implant-pathway a{color:#fff}.implant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}.implant-grid article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:1rem}.tinnitus-hero{background:radial-gradient(circle at 80% 10%,rgba(184,149,95,.45),transparent 34%),linear-gradient(135deg,#0A1A2F,#49111C);color:#fff;padding:6rem 0 4rem}.tinnitus-hero h1{color:#fff;max-width:900px}.tinnitus-hero .hero-lead{color:rgba(255,255,255,.86)}.tinnitus-wave{height:170px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.16)}.tinnitus-wave:before{content:"";position:absolute;inset:30px 20px;background:repeating-radial-gradient(ellipse at center,rgba(184,149,95,.78) 0 2px,transparent 2px 19px);opacity:.8;filter:blur(.2px)}.therapy-ladder{counter-reset:therapy;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.5rem}.therapy-card{counter-increment:therapy;background:#fff;border-radius:24px;border:1px solid rgba(10,26,47,.12);padding:1.25rem;box-shadow:0 20px 50px rgba(10,26,47,.07)}.therapy-card:before{content:counter(therapy);display:inline-flex;width:36px;height:36px;border-radius:50%;background:var(--gold);align-items:center;justify-content:center;color:#0A1A2F;font-weight:800;margin-bottom:.75rem}.red-flag-panel{border-left:6px solid #b42318;background:#fff1f0;border-radius:18px;padding:1.2rem;margin:1rem 0}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.evidence-card{background:#fff;border:1px solid rgba(10,26,47,.12);border-radius:22px;padding:1.2rem}.small-source{font-size:.82rem;color:var(--muted)}.logo-caution{background:#fff8e8;border:1px solid rgba(184,149,95,.4);border-radius:20px;padding:1rem;margin-top:1rem}.tech-pyramid{display:grid;grid-template-columns:1fr;gap:.45rem;max-width:680px;margin:1.5rem auto}.tech-pyramid div{border-radius:14px;padding:.8rem 1rem;text-align:center;font-weight:800;color:#fff}.tech-pyramid div:nth-child(1){background:#49111C}.tech-pyramid div:nth-child(2){background:#7c2740}.tech-pyramid div:nth-child(3){background:#B8955F;color:#0A1A2F}.tech-pyramid div:nth-child(4){background:#566273}.tech-pyramid div:nth-child(5){background:#8291a4}.model-table-wrap{overflow:auto}.model-table td,.model-table th{vertical-align:top}.source-link-note{font-size:.9rem;color:var(--muted);margin-top:.5rem}


/* v12 public-page cleanup and readability fixes */
.implant-pathway,
.implant-pathway p,
.implant-pathway li { color: rgba(255,255,255,.88); }
.implant-pathway h2,
.implant-pathway h3,
.implant-pathway .eyebrow { color: #fff; }
.implant-pathway .eyebrow { color: var(--gold-2); }
.implant-pathway .btn.ghost { border-color: rgba(255,255,255,.45); color: #fff; }
.reference-disclaimer { background:#fff; color:var(--ink); }
.reference-disclaimer h3,
.reference-disclaimer p { color:var(--navy); }
.pensioner-discount-note { border:1px solid rgba(184,149,95,.38); background:#fff8e8; border-radius:18px; padding:1rem 1.1rem; margin:1rem 0; color:#243042; }
.pensioner-discount-note strong { color:var(--wine); }
.references-list { margin-top:1rem; padding-left:1.1rem; }
.references-list li { margin:.45rem 0; color:#4b5565; }
.references-list a { color:var(--blue); font-weight:800; }


/* v14 public cleanup and footer visibility fixes */
.site-footer{grid-template-columns:1.05fr 1fr 1.05fr 1fr;align-items:start;overflow:visible;padding:2.2rem 6vw 1.8rem;}
.site-footer > div{min-width:0;}
.footer-logo{width:120px;max-width:120px;height:auto;object-fit:contain;margin:0 0 .85rem 0;display:block;}
.footer-legal{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.18);padding-top:1rem;margin-top:.5rem;}
.footer-legal p{margin:.25rem 0;color:rgba(255,255,255,.72);font-size:.88rem;}
.implant-pathway, .implant-pathway p, .implant-pathway li, .implant-pathway a{color:rgba(255,255,255,.9)!important;}
.implant-pathway h2, .implant-pathway h3, .implant-pathway h4{color:#fff!important;}
.implant-pathway .eyebrow{color:#D8BE87!important;}
.implant-grid article{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.26)!important;}
.client-price-note,.pensioner-discount-note{border-left:5px solid var(--gold);background:#fff8ec;border-radius:18px;padding:1rem 1.1rem;margin:1rem 0;color:#172033;}
.client-price-note p,.pensioner-discount-note p{color:#172033;}
.references-list{margin-top:1rem;}
.references-list li{margin:.45rem 0;color:#4b5565;}
@media(max-width:980px){.site-footer{grid-template-columns:1fr 1fr}.footer-legal{grid-column:1 / -1}.footer-logo{width:105px;max-width:105px}}
@media(max-width:760px){.site-footer{grid-template-columns:1fr;padding:2rem 5vw 1.5rem}.footer-logo{width:95px;max-width:95px}}


/* v14 footer visibility + public copy cleanup */
.site-footer{
  grid-template-columns:minmax(250px,1.2fr) repeat(3,minmax(180px,1fr));
  align-items:start;
  padding:2.3rem 6vw 1.65rem;
  gap:1.6rem;
  overflow:visible;
}
.footer-brand{display:flex;align-items:flex-start;gap:1rem;min-width:0;}
.footer-brand .footer-logo{width:92px;max-width:92px;height:auto;object-fit:contain;display:block;flex:0 0 auto;margin:0;border-radius:0;background:transparent;}
.footer-brand h3{margin:.1rem 0 .35rem;line-height:1.05;}
.footer-brand p{margin:.35rem 0;}
.site-footer h4{margin:.2rem 0 .85rem;}
.site-footer p{margin:.45rem 0;}
.site-footer .footer-small{color:rgba(255,255,255,.72);}
.footer-legal{margin-top:.75rem;padding-top:.9rem;}
.footer-legal p{max-width:1120px;}
.implant-pathway,
.implant-pathway p,
.implant-pathway li,
.implant-pathway h2,
.implant-pathway h3{color:#fff!important;}
.implant-pathway .eyebrow{color:var(--gold-2)!important;}
.card.glass h3,.card.glass p,.card.glass a{color:#fff!important;}
.notice.clean-public-note{background:#fffdf7;border-color:rgba(184,149,95,.35);}
@media(max-width:980px){.site-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand .footer-logo{width:84px;max-width:84px}}
@media(max-width:760px){.site-footer{grid-template-columns:1fr;padding:2rem 6vw}.footer-brand{display:grid;grid-template-columns:74px 1fr}.footer-brand .footer-logo{width:74px;max-width:74px}}


/* v15 public visibility and footer fixes */
.agape-hp-field{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.site-footer{grid-template-columns:minmax(280px,1.25fr) minmax(180px,.85fr) minmax(210px,1fr) minmax(220px,1fr)!important;align-items:start!important;padding:2rem 6vw 1.75rem!important;gap:1.45rem!important;overflow:visible!important;}
.footer-brand{display:flex!important;align-items:flex-start!important;gap:.9rem!important;min-width:0!important;}
.footer-brand .footer-logo{width:76px!important;max-width:76px!important;max-height:82px!important;height:auto!important;object-fit:contain!important;display:block!important;flex:0 0 76px!important;margin:0!important;border-radius:0!important;background:transparent!important;}
.footer-brand h3{font-size:1.08rem!important;margin:0 0 .25rem!important;line-height:1.08!important;}
.footer-brand p,.site-footer p{font-size:.92rem!important;line-height:1.45!important;margin:.32rem 0!important;}
.footer-legal{grid-column:1/-1!important;margin-top:.55rem!important;padding-top:.85rem!important;}
.footer-legal p{font-size:.84rem!important;max-width:1180px!important;}
@media(max-width:980px){.site-footer{grid-template-columns:1fr 1fr!important}.footer-brand{grid-column:1/-1!important}.footer-brand .footer-logo{width:72px!important;max-width:72px!important;flex-basis:72px!important}}
@media(max-width:760px){.site-footer{grid-template-columns:1fr!important;padding:1.7rem 6vw 1.5rem!important}.footer-brand{display:grid!important;grid-template-columns:66px 1fr!important}.footer-brand .footer-logo{width:66px!important;max-width:66px!important;flex-basis:66px!important}}


/* v17 public cleanup, visibility and footer final pass */
body{overflow-x:hidden;}
.brand-lockup small{content:"";font-weight:700;color:var(--gold);font-size:.68rem;letter-spacing:.08em;line-height:1.25;max-width:430px;}
.site-header{overflow:visible;}
.site-footer{
  display:grid!important;
  grid-template-columns:minmax(260px,1.1fr) minmax(185px,.9fr) minmax(230px,1fr) minmax(230px,1fr)!important;
  gap:1.6rem!important;
  align-items:start!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:2.2rem 6vw 1.7rem!important;
  background:#07182e!important;
  overflow:visible!important;
}
.site-footer *{box-sizing:border-box;}
.footer-brand{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:.95rem!important;align-items:start!important;min-width:0!important;}
.footer-brand .footer-logo{width:82px!important;max-width:82px!important;max-height:88px!important;height:auto!important;object-fit:contain!important;display:block!important;flex:0 0 82px!important;margin:0!important;background:transparent!important;border-radius:0!important;}
.footer-brand h3{font-size:1.2rem!important;line-height:1.1!important;margin:.1rem 0 .35rem!important;color:#fff!important;}
.footer-brand p,.site-footer p,.site-footer a{font-size:.94rem!important;line-height:1.5!important;overflow-wrap:anywhere;}
.footer-legal{grid-column:1/-1!important;width:100%!important;border-top:1px solid rgba(255,255,255,.18)!important;margin-top:.7rem!important;padding-top:.95rem!important;}
.footer-legal p{max-width:1180px!important;font-size:.84rem!important;color:rgba(255,255,255,.72)!important;}
#implant-referral .implant-pathway{background:linear-gradient(135deg,#07182e 0%,#49111C 100%)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;}
#implant-referral .implant-pathway h2,
#implant-referral .implant-pathway h3,
#implant-referral .implant-pathway p,
#implant-referral .implant-pathway li,
#implant-referral .implant-pathway a{color:#fff!important;opacity:1!important;text-shadow:none!important;}
#implant-referral .implant-pathway .eyebrow{color:#D8BE87!important;}
#implant-referral .implant-grid article{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.28)!important;}
.reference-disclaimer,.government-reference-panel{display:none!important;}
.client-price-note,.pensioner-discount-note{background:#fff8ec!important;border-left:5px solid var(--gold)!important;border-radius:18px!important;color:#172033!important;}
.client-price-note *, .pensioner-discount-note *{color:#172033!important;}
.price-card .matrix-note{margin-top:1rem;background:#fff8ec;border-left:4px solid var(--gold);padding:.8rem .9rem;border-radius:14px;color:#172033;}
.price-card .matrix-note strong{color:var(--wine);}
.public-only-note{background:#fffdf7;border:1px solid rgba(184,149,95,.35);border-radius:20px;padding:1rem 1.1rem;margin:1rem 0;color:#172033;}
.public-only-note *{color:#172033!important;}
.manufacturer-sources .brand-card small{color:#4b5565!important;}
.brand-source-grid .brand-card small{color:#4b5565!important;}
@media(max-width:980px){.site-footer{grid-template-columns:1fr 1fr!important}.footer-brand{grid-column:1/-1!important}}
@media(max-width:760px){.site-footer{grid-template-columns:1fr!important;padding:1.7rem 6vw 1.5rem!important}.footer-brand{grid-template-columns:68px minmax(0,1fr)!important}.footer-brand .footer-logo{width:68px!important;max-width:68px!important}}

/* v18 price wording and visual device/accessory references */
.price-prefix{display:block;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.92rem;letter-spacing:.09em;text-transform:uppercase;color:#667085;margin-bottom:.2rem;font-weight:850;}
.style-image-grid,.accessory-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1.5rem 0;}
.style-image-card,.accessory-image-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:1rem;box-shadow:0 16px 52px rgba(10,26,47,.07);}
.style-image-card img,.accessory-image-card img,.taxonomy-thumb,.style-explainer-img{width:100%;height:170px;object-fit:contain;border-radius:20px;background:#0a0a0a;margin-bottom:.9rem;padding:.35rem;}
.style-image-card:nth-child(6) img,.taxonomy-thumb[src$="generic-cochlear-implant-reference.svg"],.implant-visual img{background:#fffdf8;}
.style-image-card h3,.accessory-image-card h3{margin:.45rem 0 .35rem;}
.style-image-card p,.accessory-image-card p{margin:.25rem 0;}
.colour-reference-card{margin-top:1rem;border:1px solid var(--line);border-radius:28px;background:#fff;padding:1rem;box-shadow:0 16px 52px rgba(10,26,47,.07);}
.colour-reference-card img{width:100%;height:auto;object-fit:contain;border-radius:18px;background:#fffdf8;}
.colour-reference-card p{margin:.75rem .2rem .2rem;}
.taxonomy-thumb{height:130px;background:#fffdf8;border:1px solid rgba(10,26,47,.08);}
.style-explainer-img{height:150px;background:#fffdf8;border:1px solid rgba(10,26,47,.08);}
.implant-pathway{position:relative;overflow:hidden;}
.implant-visual{float:right;max-width:280px;margin:0 0 1rem 1.2rem;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:#fff;}
.implant-visual img{display:block;width:100%;height:auto;}
.image-permission-note{border-left:4px solid var(--gold);background:#fff8ec;border-radius:18px;padding:1rem 1.1rem;color:#4b5565;}
@media(max-width:760px){.style-image-card img,.accessory-image-card img{height:150px}.implant-visual{float:none;max-width:100%;margin:0 0 1rem}}


/* v20 cinematic HOME video banner */
.cinema-hero{isolation:isolate;}
.cinema-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(1.08) contrast(1.08);z-index:0;}
.cinema-video-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,24,46,.88) 0%,rgba(7,24,46,.70) 42%,rgba(73,17,28,.58) 100%),radial-gradient(circle at 72% 20%,rgba(184,149,95,.25),transparent 36%);pointer-events:none;}
.cinema-hero .cinema-glow{z-index:1;}
.cinema-hero .cinema-layout{z-index:3;}
.cinema-hero:after{z-index:2;}
.movie-frame.video-frame .screen-stage video{width:100%;aspect-ratio:16/10;display:block;object-fit:cover;filter:saturate(1.08) contrast(1.04);}
.movie-frame.video-frame .play-orb{display:none;}
.movie-frame.video-frame .screen-caption{background:linear-gradient(90deg,rgba(7,24,46,.92),rgba(73,17,28,.78));}
@media (prefers-reduced-motion: reduce){.cinema-bg-video,.movie-frame.video-frame .screen-stage video{display:none;}.cinema-hero{background-image:linear-gradient(135deg,#061226 0%,#0A1A2F 54%,#49111C 100%),url('assets/images/agape-home-cinematic-poster.jpg');background-size:cover;background-position:center;}.movie-frame.video-frame .screen-stage{background:url('assets/images/agape-home-cinematic-poster.jpg') center/cover no-repeat;aspect-ratio:16/10;}}
@media(max-width:760px){.cinema-bg-video{opacity:.28}.movie-frame.video-frame .screen-caption{font-size:.9rem}}

/* ============================================================
   v20 ADDITIONS — cinematic video band, hearing-explained
   audiogram, June 2026 product range, premium imagery
   ============================================================ */

/* --- Half-screen cinematic video band --- */
.video-band{position:relative;height:58vh;min-height:420px;max-height:680px;overflow:hidden;background:#07182E;display:flex;align-items:center}
.video-band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.video-band .video-band-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,24,46,.86) 0%,rgba(7,24,46,.55) 45%,rgba(73,17,28,.42) 100%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%);pointer-events:none}
.video-band .container{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:0 6vw;width:100%}
.video-band .band-copy{max-width:620px;color:#fff}
.video-band .band-copy .eyebrow{color:var(--gold-2)!important}
.video-band .band-copy h2{color:#fff;font-size:clamp(2rem,4.4vw,3.6rem);margin:.35rem 0 .8rem}
.video-band .band-copy p{color:rgba(255,255,255,.88);font-size:clamp(1.02rem,1.5vw,1.2rem);max-width:560px}
.video-band .band-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.3rem}
.video-band .band-sound{position:absolute;right:6vw;bottom:1.3rem;z-index:3;display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.28);background:rgba(7,24,46,.45);color:#fff;border-radius:999px;padding:.5rem .9rem;font-weight:800;font-size:.85rem;cursor:pointer;backdrop-filter:blur(8px)}
.video-band .band-sound:hover{background:rgba(7,24,46,.7)}
@media(max-width:760px){.video-band{height:auto;min-height:0;max-height:none;padding:3.2rem 0}.video-band .band-sound{position:static;margin-top:1rem;display:inline-flex}}
@media(prefers-reduced-motion:reduce){.video-band video{display:none}.video-band{background:linear-gradient(135deg,#07182E,#49111C)}}

/* --- "Your hearing explained" audiogram section --- */
.hearing-explained{background:var(--paper)}
.he-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:2.4rem;align-items:center;margin-top:2rem}
.audiogram-pro{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:1.2rem}
.audiogram-pro svg{width:100%;height:auto;display:block;border-radius:18px}
.audiogram-caption{font-size:.86rem;color:var(--muted);margin:.7rem .2rem 0}
.he-points{display:grid;gap:.7rem;margin:1.1rem 0 0;padding:0;list-style:none}
.he-points li{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid var(--line);border-radius:18px;background:#fff}
.he-points li b{display:block;color:var(--navy)}
.he-points li span{color:#4b5565;font-size:.95rem}
.he-dot{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:.8rem;margin-top:.1rem}
.he-importance{margin-top:2rem;background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.3rem 1.4rem;box-shadow:0 16px 52px rgba(10,26,47,.07)}
.he-importance h3{margin:0 0 .2rem}
.he-scale{display:flex;gap:4px;margin:1rem 0 .4rem}
.he-scale a{flex:1;text-align:center;padding:.6rem 0;border-radius:8px;font-weight:900;color:#fff;font-size:.9rem;text-decoration:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.he-scale a:nth-child(1),.he-scale a:nth-child(2),.he-scale a:nth-child(3){color:#475467}
.he-scale a:hover,.he-scale a:focus-visible{transform:translateY(-3px);box-shadow:0 8px 18px rgba(10,26,47,.28);outline:2px solid var(--gold);outline-offset:2px}
.he-scale-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;font-weight:700}
.degrees-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin-top:1.4rem}
.degree-card{border:1px solid var(--line);border-radius:18px;padding:.9rem 1rem;background:#fff}
.degree-card .swatch{width:100%;height:8px;border-radius:999px;margin-bottom:.6rem}
.degree-card b{display:block;color:var(--navy)}
.degree-card small{color:var(--muted)}
@media(max-width:980px){.he-layout{grid-template-columns:1fr}}

/* --- June 2026 product range --- */
.range-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.1rem;margin-top:1.6rem}
.range-card{border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 16px 52px rgba(10,26,47,.07);padding:1.3rem;display:flex;flex-direction:column}
.range-card .brand-wordmark{font:950 1.1rem/1 Inter,Arial,sans-serif;color:var(--navy);letter-spacing:.02em;border:1px solid rgba(184,149,95,.3);border-radius:14px;padding:.6rem;background:linear-gradient(135deg,#fff,#fff8ea);text-align:center;margin-bottom:.9rem}
.range-card ul{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.5rem}
.range-card li{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:baseline;color:#4b5565;font-size:.95rem}
.range-card li em{font-style:normal;font-weight:900;color:var(--wine);min-width:78px;display:inline-block}
.range-card .range-note{margin-top:auto;padding-top:.9rem;font-size:.84rem;color:var(--muted)}
.tier-legend{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.tier-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:999px;padding:.35rem .8rem;font-weight:850;font-size:.82rem;color:var(--navy);background:#fff}
.tier-chip i{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}

/* --- premium image treatments --- */
.img-feature{border-radius:30px;overflow:hidden;box-shadow:var(--deep-shadow);border:1px solid rgba(255,255,255,.14);position:relative}
.img-feature img{width:100%;height:100%;object-fit:cover;display:block}
.product-shot{background:#fff;border:1px solid var(--line);border-radius:24px;padding:1rem;box-shadow:0 16px 52px rgba(10,26,47,.07)}
.product-shot img{width:100%;object-fit:contain;border-radius:14px}
.product-shot figcaption{margin-top:.7rem;color:#4b5565;font-size:.92rem}
.lifestyle-band{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem}
.lifestyle-band figure{position:relative;margin:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-height:240px}
.lifestyle-band img{width:100%;height:100%;object-fit:cover;min-height:240px}
.lifestyle-band figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;color:#fff;font-weight:800;z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.lifestyle-band figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,24,46,.72),transparent 58%)}
@media(max-width:760px){.lifestyle-band{grid-template-columns:1fr}}

/* --- FAQ accordion (home) --- */
.faq-list{display:grid;gap:.7rem;margin-top:1.6rem;max-width:920px}
.faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;padding:.2rem .4rem;box-shadow:0 10px 30px rgba(10,26,47,.05)}
.faq-item summary{cursor:pointer;list-style:none;padding:1rem 1.1rem;font-weight:850;color:var(--navy);font-size:1.04rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";color:var(--gold);font-weight:900;font-size:1.4rem;line-height:1}
.faq-item[open] summary:after{content:"–"}
.faq-item p{margin:0 1.1rem 1rem;color:#4b5565}
.faq-item a{color:var(--blue);font-weight:800}

/* --- devices product showcase grid --- */
.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.6rem}
.showcase-grid .product-shot{display:flex;flex-direction:column;margin:0}
.showcase-grid .product-shot img{aspect-ratio:3/2;background:#fff}
@media(max-width:760px){.showcase-grid{grid-template-columns:1fr}}

/* --- v20 footer logo: light-blue frosted glass tile (Apple app-icon style) --- */
.site-footer .footer-brand{display:flex!important;align-items:center!important;gap:1.15rem!important;grid-template-columns:none!important;min-width:0;}
.site-footer .footer-brand > div{min-width:0;}
.footer-logo-disc{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  width:108px;height:108px;padding:14px;margin:0;
  border-radius:26px;position:relative;overflow:hidden;
  background:linear-gradient(160deg,rgba(228,241,251,.92),rgba(193,222,244,.72));
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 16px 36px rgba(0,0,0,.34),inset 0 2px 6px rgba(255,255,255,.85),inset 0 -12px 22px rgba(7,24,46,.08);
  -webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);
}
.footer-logo-disc:before{
  content:"";position:absolute;left:8%;top:5%;width:84%;height:44%;
  border-radius:50%;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));
}
.site-footer .footer-brand .footer-logo-disc .footer-logo{
  width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  margin:0!important;padding:0!important;object-fit:contain!important;display:block!important;
  position:relative;z-index:1;background:transparent!important;box-shadow:none!important;border-radius:0!important;flex:none!important;
}

/* --- v20 device matrix: whole-word wrapping; brand + headers on one line; scroll on small screens --- */
.table-scroll{max-width:100%;-webkit-overflow-scrolling:touch}
.device-matrix{min-width:1040px}
.device-matrix th,.device-matrix td{padding:.66rem .6rem;font-size:.82rem;overflow-wrap:normal;word-break:normal;hyphens:none}
.device-matrix th{white-space:nowrap}                 /* column headers stay on one line */
.device-matrix th:nth-child(2){white-space:normal}    /* except the long "families" header */
.device-matrix td:first-child{font-size:.86rem;white-space:nowrap}  /* brand names on one line */
@media(max-width:760px){.device-matrix{min-width:960px}}

/* --- v20 hero cycling slideshow (in the movie frame) --- */
.hero-slideshow{position:relative;width:100%;aspect-ratio:16/10;border-radius:28px;overflow:hidden;background:#000}
.hero-slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease;filter:saturate(1.08) contrast(1.04)}
.hero-slideshow img.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-slideshow img{transition:none}.hero-slideshow img:not(.is-active){opacity:0}}

/* --- v21 cookie consent banner --- */
.agape-cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:99998;max-width:780px;margin:0 auto;background:linear-gradient(160deg,rgba(7,24,46,.97),rgba(10,26,47,.97));color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.5);padding:1rem 1.15rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.agape-cookie-banner[hidden]{display:none}
.agape-cookie-banner p{margin:0;color:rgba(255,255,255,.9);font-size:.92rem;flex:1 1 320px}
.agape-cookie-banner a{color:var(--gold-2);font-weight:800}
.agape-cookie-banner .cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.agape-cookie-banner .btn{padding:.6rem 1.05rem}
@media(max-width:520px){.agape-cookie-banner{left:.6rem;right:.6rem;bottom:.6rem}.agape-cookie-banner .cookie-actions{width:100%}.agape-cookie-banner .cookie-actions .btn{flex:1}}

/* --- v22 home reviews slider (auto-moving marquee) --- */
.reviews-marquee{overflow:hidden;margin-top:1.8rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.reviews-track{display:flex;gap:1.1rem;width:max-content;animation:agape-reviews 48s linear infinite}
.reviews-marquee:hover .reviews-track,.reviews-marquee:focus-within .reviews-track{animation-play-state:paused}
.review-card{flex:0 0 340px;max-width:340px;margin:0;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 52px rgba(10,26,47,.07);padding:1.3rem;display:flex;flex-direction:column}
.review-card blockquote{margin:.55rem 0 1rem;color:#374151;font-size:1rem;line-height:1.55;quotes:none}
.review-card figcaption{margin-top:auto}
.review-card figcaption strong{display:block;color:var(--navy)}
.review-card figcaption span{display:block;color:var(--muted);font-size:.85rem}
.rev-stars{color:var(--gold);font-size:1.05rem;letter-spacing:.08em}
@keyframes agape-reviews{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.reviews-track{animation:none}.reviews-marquee{overflow-x:auto}}
@media(max-width:520px){.review-card{flex-basis:280px;max-width:280px}}

/* ============================================================
   v34 LUXURY-LIGHT REFRESH
   Brighter white backgrounds + frosted-glass info panels.
   Dark cinematic bands (hero, video band, CTA) are kept for contrast.
   Warning/urgent panels keep their colour for clarity.
   ============================================================ */
:root{ --paper:#ffffff; --mist:#f6f7fb; }
.paper{background:#ffffff}
.soft{background:#f6f7fb}
.hearing-explained{background:#ffffff}

/* Neutral "info" highlight panels -> clean frosted-glass cards (was cream) */
.notice,
.client-price-note,
.pensioner-discount-note,
.public-obligation-note,
.source-note,
.consumer-law-note,
.image-permission-note,
.device-update-banner,
.clinic-note-card,
.no-logo-note,
.logo-caution{
  background:linear-gradient(160deg, rgba(255,255,255,.92), rgba(246,248,252,.7))!important;
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgba(10,26,47,.08);
  box-shadow:0 12px 34px rgba(10,26,47,.06), inset 0 1px 0 rgba(255,255,255,.85);
  color:#1f2a3a;
}
/* keep the gold accent line where the design used a left border */
.notice,.client-price-note,.pensioner-discount-note,.source-note,.public-obligation-note{
  border-left:4px solid var(--gold)!important;
}

/* Rights cards: cream gold-panel -> frosted white with a whisper of warmth */
.rights-panel.gold-panel{
  background:linear-gradient(160deg, rgba(255,255,255,.94), rgba(255,251,243,.78))!important;
  border:1px solid rgba(184,149,95,.28);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.rights-panel.blue-panel{
  background:linear-gradient(160deg, rgba(255,255,255,.94), rgba(241,247,251,.8))!important;
  border:1px solid rgba(18,59,99,.12);
}

/* Soften other cream micro-tints to clean white */
.scheme-card.important{background:#ffffff!important}
.price-card .matrix-note{background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(246,248,252,.7))!important;border-left:4px solid var(--gold)!important;color:#1f2a3a!important}
.style-explainer h4{color:var(--wine)}
.he-importance,.faq-item{background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(248,250,253,.82))}

/* Client-rights poster thumbnail */
.poster-thumb{display:block;margin-top:1.1rem;max-width:340px;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 44px rgba(10,26,47,.12);transition:transform .15s ease,box-shadow .15s ease}
.poster-thumb:hover{transform:translateY(-3px);box-shadow:0 22px 60px rgba(10,26,47,.18)}
.poster-thumb img{width:100%;display:block}

/* ============================================================
   v35 — bright-white refinement, balanced warm/cool, menu polish
   ============================================================ */
/* Pills: cleaner, cooler neutral (warmth now comes from gold accents) */
.pill{background:#eef1f5;color:var(--wine)}

/* Highlight rights cards: bright white with a subtle warm->cool blend + a slim accent line */
.rights-panel.gold-panel{
  background:linear-gradient(135deg,#ffffff 0%, #fbfbfa 55%, #f6f8fb 100%)!important;
  border:1px solid rgba(10,26,47,.08);
  border-top:3px solid var(--gold);
}
.rights-panel.blue-panel{
  background:linear-gradient(135deg,#ffffff 0%, #f7f9fc 100%)!important;
  border:1px solid rgba(18,59,99,.10);
  border-top:3px solid var(--blue);
}
/* Info panels: balance the warm/cool tone on white */
.notice,.client-price-note,.pensioner-discount-note,.source-note,.public-obligation-note{
  background:linear-gradient(135deg, rgba(255,253,250,.92), rgba(246,248,252,.8))!important;
}
.compliance-pill{background:#ffffff;border:1px solid rgba(10,26,47,.08)}
.compliance-pill span{background:#f1efe6;color:var(--wine)}
.source-item{background:#ffffff}

/* Desktop nav: tighten spacing so all items fit comfortably */
.main-nav a{padding:.6rem .64rem;font-size:.88rem}

/* Hidden (mobile) menu: refined frosted panel, clear tap targets */
@media(max-width:760px){
  .main-nav{
    background:rgba(255,255,255,.97);
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
    border:1px solid var(--line);border-radius:20px;
    box-shadow:0 28px 70px rgba(10,26,47,.22);
    padding:.55rem;z-index:1000;
  }
  .main-nav ul{gap:.15rem}
  .main-nav a{padding:.9rem 1rem;border-radius:14px;font-size:1rem}
  .main-nav a:hover,.main-nav a[aria-current="page"]{background:#f4f6fa}
  .main-nav .nav-cta{margin-top:.35rem;text-align:center}
  .nav-toggle{background:var(--navy);color:#fff}
}

/* ============================================================
   v36 — Omega-style centred header + cleaner hero alignment
   ============================================================ */
/* Centred header: logo on top, menu centred beneath */
.site-header{
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:.55rem;
  padding:.85rem clamp(1rem,4vw,3rem);
}
.brand-lockup{flex-direction:column;justify-content:center;align-items:center;gap:.45rem}
.brand-lockup span{align-items:center}
.brand-lockup small{max-width:none}
.main-nav{width:100%}
.main-nav ul{justify-content:center}

/* Quiet secondary hero links (replaces the extra heavy pills) */
.hero-links{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:1rem 0 0;font-size:.93rem}
.hero-links a{color:rgba(255,255,255,.82);text-decoration:none;letter-spacing:.01em;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1px}
.hero-links a:hover{color:#fff;border-color:var(--gold)}
.hero-links .sep{color:rgba(255,255,255,.4)}

/* Calmer, cleaner hero wash */
.cinema-hero{
  background:radial-gradient(circle at 16% 16%,rgba(184,149,95,.30),transparent 30%),
             linear-gradient(135deg,#061226 0%,#0A1A2F 54%,#49111C 100%)!important;
}
.cinema-glow.one{opacity:.42}
.cinema-glow.two{opacity:.5}

/* Mobile: keep brand centred, toggle pinned top-right */
@media(max-width:760px){
  .site-header{position:sticky;flex-direction:column}
  .nav-toggle{position:absolute;right:1rem;top:1.1rem}
  .main-nav{top:96px}
}

/* ============================================================
   v37 — Rolex-style cinematic scroll-reveal & smooth flow
   Hidden-state rules are gated behind .reveal-ready (added by JS),
   so no-JS visitors and crawlers always see full content.
   ============================================================ */
html{scroll-behavior:smooth}

/* Section block: glide up + fade as it enters the viewport */
.reveal-ready .reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity 1.05s cubic-bezier(.22,.61,.36,1),
             transform 1.05s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.reveal-ready .reveal.in-view{opacity:1;transform:none}

/* Refined cascade: children of a revealed .section stagger in */
.reveal-ready .section.reveal > .container > *{
  opacity:0;transform:translateY(20px);
  transition:opacity .85s cubic-bezier(.22,.61,.36,1),
             transform .85s cubic-bezier(.22,.61,.36,1);
}
.reveal-ready .section.in-view > .container > *{opacity:1;transform:none}
.reveal-ready .section.in-view > .container > *:nth-child(1){transition-delay:.05s}
.reveal-ready .section.in-view > .container > *:nth-child(2){transition-delay:.13s}
.reveal-ready .section.in-view > .container > *:nth-child(3){transition-delay:.21s}
.reveal-ready .section.in-view > .container > *:nth-child(4){transition-delay:.29s}
.reveal-ready .section.in-view > .container > *:nth-child(n+5){transition-delay:.36s}

/* Hero copy & visual ease in on load for a cinematic open */
.reveal-ready .cinema-hero .movie-frame{transform:translateY(40px) scale(.985)}
.reveal-ready .cinema-hero .movie-frame.in-view{transform:none}

/* Never let motion hide content for reduced-motion users */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal-ready .reveal,
  .reveal-ready .reveal *,
  .reveal-ready .section.reveal > .container > *{
    opacity:1!important;transform:none!important;transition:none!important;
  }
}

/* ============================================================
   v38 — Cinematic home: full-screen video hero, transparent
   header over hero, journey + lifestyle tall cards
   ============================================================ */
/* Full-screen video hero (Omega Seamaster style) */
.home-hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,#07182E 0%,#0A1A2F 55%,#49111C 100%)}
.home-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.home-hero-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(4,9,18,.55) 0%,rgba(4,9,18,.12) 32%,rgba(4,9,18,.20) 60%,rgba(4,9,18,.8) 100%)}
.home-hero-vignette{position:absolute;inset:0;z-index:1;
  background:radial-gradient(circle at 50% 38%,transparent 46%,rgba(4,9,18,.5) 100%)}
.home-hero-inner{position:absolute;left:0;right:0;bottom:0;z-index:3;text-align:left;
  padding:0 clamp(1.4rem,6vw,5rem) clamp(2.4rem,7vh,5rem);max-width:1040px;
  animation:heroRise 1.1s cubic-bezier(.22,.61,.36,1) both}
@keyframes heroRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.home-hero-inner .eyebrow{letter-spacing:.18em;color:var(--gold-2)!important;margin:0 0 1rem}
.home-hero-inner h1{color:#fff;font-size:clamp(2.6rem,7vw,5.8rem);line-height:1.0;margin:0;
  text-shadow:0 2px 26px rgba(0,0,0,.45)}
.home-hero-inner .hero-lead{max-width:640px;margin:1.4rem 0 0;color:rgba(255,255,255,.92);
  text-shadow:0 1px 14px rgba(0,0,0,.5)}
.home-hero-inner .hero-actions{justify-content:flex-start;margin-top:1.9rem}
.home-hero-inner .hero-links{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:1.1rem 0 0;font-size:.95rem}
.home-hero-inner .hero-links a{color:rgba(255,255,255,.85);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:1px}
.home-hero-inner .hero-links a:hover{color:#fff;border-color:var(--gold)}
.home-hero-inner .hero-links .sep{color:rgba(255,255,255,.45)}
.home-hero-scrollcue{position:absolute;z-index:3;left:50%;transform:translateX(-50%);bottom:1.3rem;
  color:rgba(255,255,255,.8);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;text-align:center}
.home-hero-scrollcue .chev{display:block;margin:.4rem auto 0;width:12px;height:12px;
  border-right:2px solid rgba(255,255,255,.8);border-bottom:2px solid rgba(255,255,255,.8);
  transform:rotate(45deg);animation:cueBob 1.8s ease-in-out infinite}
@keyframes cueBob{0%,100%{transform:rotate(45deg) translate(0,0);opacity:.5}50%{transform:rotate(45deg) translate(3px,3px);opacity:1}}

/* Transparent header over any dark hero (home + inner pages); solid on scroll.
   :has() means it only triggers when a dark hero is actually present, so pages
   without one keep the normal solid header. */
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header{
  position:fixed;left:0;right:0;top:0;background:transparent;backdrop-filter:none;
  border-bottom:1px solid rgba(255,255,255,.12);transition:background .4s ease,border-color .4s ease}
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header .brand-lockup strong{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header .brand-lockup small{color:var(--gold-2)}
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header .main-nav a{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header .main-nav a:hover,
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header .main-nav a[aria-current="page"]{background:rgba(255,255,255,.14);color:#fff}
.site-header.is-solid{position:fixed;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(10,26,47,.08)}
.site-header.is-solid .brand-lockup strong{color:var(--navy);text-shadow:none}
.site-header.is-solid .brand-lockup small{color:var(--gold)}
.site-header.is-solid .main-nav a{color:#273245;text-shadow:none}
.site-header.is-solid .main-nav a:hover,.site-header.is-solid .main-nav a[aria-current="page"]{background:#f6efe3;color:var(--wine)}

/* Inner-page hero clears the now-fixed header, and becomes a half-height media band */
.page-hero,.tinnitus-hero,.contact-hero{padding-top:8.5rem!important}
.page-hero.compact{padding-top:7.5rem!important}
.media-hero{position:relative;min-height:56vh;display:flex;align-items:flex-end;overflow:hidden;
  color:#fff;padding:8.5rem clamp(1.4rem,6vw,5rem) clamp(2.2rem,5vh,3.4rem)}
.media-hero .media-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.media-hero .media-hero-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(4,9,18,.55) 0%,rgba(4,9,18,.28) 45%,rgba(4,9,18,.78) 100%)}
.media-hero .container{position:relative;z-index:2;max-width:1040px;margin:0;width:100%}
.media-hero .eyebrow{color:var(--gold-2)!important}
.media-hero h1{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.media-hero .hero-lead{color:rgba(255,255,255,.92);max-width:680px;text-shadow:0 1px 14px rgba(0,0,0,.5)}
.media-hero .hero-actions{margin-top:1.5rem}
.media-hero .device-update-banner{margin-top:1.1rem}
@media(max-width:760px){.media-hero{min-height:48vh;padding-top:7rem}}

/* Journey + lifestyle tall cards */
.journey-section{background:linear-gradient(180deg,#ffffff,#f4f6f9)}
.journey-head{text-align:center;max-width:760px;margin:0 auto 2.4rem}
.stage-cards{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.stage-cards.three{grid-template-columns:repeat(3,1fr);max-width:1180px}
.stage-card-fig{position:relative;margin:0;border-radius:18px;overflow:hidden;aspect-ratio:3/4;
  box-shadow:0 24px 55px rgba(10,26,47,.18);transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.stage-card-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.22,.61,.36,1)}
.stage-card-fig figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;
  padding:2.6rem 1rem 1.4rem;
  background:linear-gradient(0deg,rgba(4,9,18,.9) 0%,rgba(4,9,18,.5) 55%,transparent 100%)}
.stage-card-fig figcaption span{display:block;color:var(--gold-2);font-size:.72rem;font-weight:800;
  letter-spacing:.18em;text-transform:uppercase;margin-bottom:.3rem}
.stage-card-fig figcaption strong{display:block;color:#fff;font-size:1.4rem;font-weight:800;letter-spacing:.01em}
.stage-card-fig:hover{transform:translateY(-8px)}
.stage-card-fig:hover img{transform:scale(1.06)}
@media(max-width:900px){.stage-cards{grid-template-columns:repeat(2,1fr)}.stage-cards.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.stage-cards.three{grid-template-columns:1fr}.stage-card-fig figcaption strong{font-size:1.2rem}}

/* ============================================================
   v40 — mobile menu legibility + header solidity fixes
   ============================================================ */
@media(max-width:760px){
  /* Solid dark menu panel so links are always readable (was translucent white) */
  .main-nav{
    background:var(--navy)!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 28px 70px rgba(4,9,18,.5)!important;
  }
  .main-nav a{color:#fff!important;text-shadow:none!important}
  .main-nav a:hover,.main-nav a[aria-current="page"]{background:rgba(255,255,255,.12)!important;color:#fff!important}
  .main-nav .nav-cta,.main-nav .nav-cta:hover{background:var(--gold)!important;color:#111827!important}
}

/* ============================================================
   v41 — living imagery: scroll-reveal zoom, Ken Burns, hover zoom
   ============================================================ */
/* Slow cinematic drift on large page-hero background images */
@keyframes agapeKenBurns{0%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.14) translate3d(0,-1.5%,0)}}
.media-hero-bg{animation:agapeKenBurns 22s ease-in-out infinite alternate;will-change:transform}

/* Content photos scale + fade in as their section reveals */
.reveal-ready .reveal .image-panel img,
.reveal-ready .reveal .mini-gallery img,
.reveal-ready .reveal .lifestyle-band figure img,
.reveal-ready .reveal .hero-image img,
.reveal-ready .reveal .gallery-card img,
.reveal-ready .reveal .gallery-grid img,
.reveal-ready .reveal .range-card img,
.reveal-ready .reveal .style-card img{
  opacity:0;transform:scale(1.07);
  transition:opacity 1s ease,transform 1.45s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.reveal-ready .reveal.in-view .image-panel img,
.reveal-ready .reveal.in-view .mini-gallery img,
.reveal-ready .reveal.in-view .lifestyle-band figure img,
.reveal-ready .reveal.in-view .hero-image img,
.reveal-ready .reveal.in-view .gallery-card img,
.reveal-ready .reveal.in-view .gallery-grid img,
.reveal-ready .reveal.in-view .range-card img,
.reveal-ready .reveal.in-view .style-card img{opacity:1;transform:none}

/* Gentle hover zoom for interactivity (pointer devices only) */
@media(hover:hover){
  .image-panel,.mini-gallery img,.lifestyle-band figure,.hero-image,.gallery-card,.style-card{overflow:hidden}
  .image-panel img,.lifestyle-band figure img,.hero-image img,.gallery-card img,.style-card img,.mini-gallery img{
    transition:transform .9s cubic-bezier(.22,.61,.36,1)}
  .image-panel:hover img,.lifestyle-band figure:hover img,.hero-image:hover img,
  .gallery-card:hover img,.style-card:hover img,.mini-gallery img:hover{transform:scale(1.05)}
}

/* Respect reduced-motion: hold everything still */
@media(prefers-reduced-motion:reduce){
  .media-hero-bg{animation:none!important}
  .reveal-ready .reveal img{opacity:1!important;transform:none!important;transition:none!important}
}

/* ===========================================================================
   v42 — Auto-hide ("Omega-style") header, applied site-wide
   ---------------------------------------------------------------------------
   The header docks at the top and turns solid on scroll-UP, and slides up out
   of view on scroll-DOWN (more room for content/video). Direction is toggled
   by assets/js/reveal.js via the .is-hidden class. Works for BOTH the sticky
   header (inner pages) and the fixed header (hero pages). For visitors who
   prefer reduced motion the header simply stays put — it never hides.
   =========================================================================== */
.site-header{
  transition:transform .38s cubic-bezier(.4,0,.2,1),
             background-color .3s ease,
             backdrop-filter .3s ease,
             box-shadow .3s ease;
  will-change:transform;
}
.site-header.is-hidden{
  transform:translateY(-100%);
  box-shadow:none;
  pointer-events:none;            /* nothing clickable while off-screen */
}
/* Subtle lift so the docked bar reads as a floating top bar (Omega feel). */
.site-header.is-solid:not(.is-hidden){
  box-shadow:0 6px 24px rgba(10,26,47,.10);
}
@media(prefers-reduced-motion:reduce){
  .site-header{transition:none}
  .site-header.is-hidden{transform:none;pointer-events:auto}
}

/* ===========================================================================
   v43 — Docked-header legibility fix on hero pages (home, services, etc.)
   ---------------------------------------------------------------------------
   The transparent-over-hero rules use body:has(...) selectors, which carry
   higher specificity than the plain .is-solid rules. That meant when the
   header docked solid-white on scroll-up, the brand + nav text stayed WHITE
   (white-on-white = invisible). These overrides re-assert the solid-state
   colours at matching specificity, so the docked bar is ALWAYS a white
   background with dark, readable text — until you return to the very top of
   the page, where the transparent cinematic header is restored (Omega-style).
   =========================================================================== */
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header.is-solid .brand-lockup strong{color:var(--navy);text-shadow:none}
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header.is-solid .brand-lockup small{color:var(--gold)}
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header.is-solid .main-nav a{color:#273245;text-shadow:none}
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header.is-solid .main-nav a:hover,
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header.is-solid .main-nav a[aria-current="page"]{background:#f6efe3;color:var(--wine)}
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero) .site-header.is-solid .main-nav .nav-cta{color:#111827;background:var(--gold)}

/* ===========================================================================
   v43 — Larger, higher-contrast menu text (audience: older clients, ~16px)
   ---------------------------------------------------------------------------
   Bumps the main navigation links from ~14px to 16px and lifts the tiny
   "Hocking & Perth City…" tagline a touch. On desktop the horizontal padding
   is tightened slightly so all ten menu items still sit on a single row; the
   mobile dropdown keeps its generous tap spacing untouched.
   =========================================================================== */
.site-header .main-nav a{font-size:1rem}
.site-header .brand-lockup small{font-size:.72rem}
@media(min-width:761px){
  .site-header .main-nav a{padding:.6rem .6rem}
}
@media(max-width:760px){
  .site-header .main-nav a{font-size:1.05rem}
}

/* ===========================================================================
   v44 — No header/hero overlap + clearer (less transparent) docked menu
   ---------------------------------------------------------------------------
   1) The centred header is fixed over the hero. Its real height is measured in
      assets/js/reveal.js and published as --agape-header-h, so every top-aligned
      hero is padded to start BELOW the menu — the gold eyebrow line no longer
      collides with the navigation. (--agape-header-h has a safe fallback for
      no-JS/crawlers.) The full-height home hero is bottom-aligned, so it is left
      untouched.
   2) On scroll-up the docked bar is now near-solid white (was 92% — could look
      see-through over busy photos), so older clients can read the menu clearly.
   =========================================================================== */
:root{--agape-header-h:210px}
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero,.cinema-hero) .page-hero,
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero,.cinema-hero) .page-hero.compact,
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero,.cinema-hero) .tinnitus-hero,
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero,.cinema-hero) .contact-hero,
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero,.cinema-hero) .media-hero,
body:has(.home-hero,.page-hero,.tinnitus-hero,.contact-hero,.cinema-hero) .cinema-hero{
  padding-top:calc(var(--agape-header-h) + 1.6rem)!important;
}
.site-header.is-solid{background:rgba(255,255,255,.98)!important;backdrop-filter:blur(22px)}

/* ===========================================================================
   v45 — Home hero tidy-up
   ---------------------------------------------------------------------------
   The full-screen Home hero is bottom-anchored, so on tall screens its eyebrow
   rose up under the centred menu. Confine the hero content to the area BELOW
   the measured header and keep it bottom-aligned, so the eyebrow + headline
   always sit clear of the navigation. (Transparent-while-hero-visible is handled
   in reveal.js so the cinematic header only turns solid once the hero scrolls
   away.)
   =========================================================================== */
.home-hero-inner{
  top:calc(var(--agape-header-h) + .75rem);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

/* ===========================================================================
   v46 — Home hero overlap: definitive fix
   ---------------------------------------------------------------------------
   v45 kept the hero text bottom-anchored, so the very large Home headline still
   overflowed UPWARD into the menu on normal-height windows. Here the hero
   content is anchored to START just below the measured header and flow
   downward, so its top (the eyebrow) can never reach the navigation — at any
   screen height, and even with no JavaScript (safe --agape-header-h fallback).
   =========================================================================== */
.home-hero-inner{
  top:calc(var(--agape-header-h) + 1.25rem)!important;
  bottom:auto!important;
  display:block!important;
}
