/* JI Media Group — preview build */
:root{
  --gold:#D4AF37; --gold-2:#E8CB6A; --gold-dim:#a8892a;
  --black:#000; --ink:#0a0a0a; --panel:#111; --panel-2:#171717; --line:rgba(212,175,55,.22);
  --text:#f2efe6; --muted:#b9b3a3;
  --head:'Oswald',Impact,'Arial Narrow',sans-serif; --serif:'Cormorant Garamond',Georgia,serif;
  --r:14px; --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--text);font-family:var(--serif);font-size:20px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-2)}
h1,h2,h3,h4{font-family:var(--head);font-weight:500;text-transform:uppercase;letter-spacing:.04em;line-height:1.08;margin:0 0 .5em;color:#fff}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--head);color:var(--gold);letter-spacing:.32em;text-transform:uppercase;font-size:.72rem;display:inline-flex;align-items:center;gap:.8em}
.eyebrow:before{content:"";width:34px;height:1px;background:var(--gold)}
.lead{font-size:1.25rem;color:var(--muted);max-width:720px}
.gold{color:var(--gold)}
section{padding:110px 0;position:relative}
.sec-head{margin-bottom:54px}
.sec-head h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}.center .eyebrow:after{content:"";width:34px;height:1px;background:var(--gold)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:999;background:var(--gold);color:#000;padding:8px 14px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-size:.86rem;padding:15px 30px;border-radius:999px;border:1px solid var(--gold);transition:all .25s ease;cursor:pointer;white-space:nowrap}
.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold) 45%,var(--gold-dim));color:#000;border-color:transparent;box-shadow:0 10px 30px -10px rgba(212,175,55,.55)}
.btn-gold:hover{color:#000;transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(212,175,55,.75)}
.btn-ghost{color:#fff;background:rgba(0,0,0,.25);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:var(--gold);color:#000}
.btn svg{width:16px;height:16px}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,border-color .3s,padding .3s;border-bottom:1px solid transparent;padding:18px 0}
.site-header.scrolled{background:rgba(0,0,0,.86);backdrop-filter:blur(10px);border-color:var(--line);padding:10px 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{height:46px;width:auto}
.nav-links{display:flex;gap:28px;align-items:center;list-style:none;margin:0;padding:0}
.nav-links a{font-family:var(--head);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:#e9e4d6}
.nav-links a:hover{color:var(--gold)}
.nav-cta{display:flex;gap:12px;align-items:center}
.nav-cta .btn{padding:11px 22px;font-size:.76rem}
.phone-link{font-family:var(--head);letter-spacing:.1em;font-size:.86rem;color:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;color:var(--gold);cursor:pointer}
.menu-btn span{display:block;width:20px;height:2px;background:var(--gold);margin:4px auto;transition:.3s}

/* hero */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding:0 0 12vh;overflow:hidden;background:#000}
.hero video,.hero .hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 35%,rgba(0,0,0,.35) 62%,rgba(0,0,0,.92) 100%),radial-gradient(ellipse at 20% 80%,rgba(0,0,0,.55),transparent 60%)}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero h1{font-size:clamp(2.6rem,7.4vw,6.4rem);font-weight:500;letter-spacing:.02em;margin:.25em 0 .2em;max-width:13ch}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p.sub{font-size:clamp(1.15rem,2vw,1.55rem);color:#eee;max-width:620px;margin:0 0 34px;font-style:italic}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.scroll-cue{position:absolute;left:50%;bottom:26px;z-index:2;transform:translateX(-50%);width:24px;height:40px;border:1px solid rgba(255,255,255,.5);border-radius:14px}
.scroll-cue:after{content:"";position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;background:var(--gold);border-radius:2px;animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* trust strip */
.strip{padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#050505}
.strip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.strip li{padding:26px 18px;text-align:center;border-right:1px solid var(--line)}
.strip li:last-child{border-right:0}
.strip strong{display:block;font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-weight:500;color:var(--gold);font-size:.95rem}
.strip span{color:var(--muted);font-size:1rem}

/* services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{position:relative;border-radius:var(--r);overflow:hidden;min-height:360px;display:flex;align-items:flex-end;background:#111;isolation:isolate;border:1px solid rgba(255,255,255,.06)}
.svc picture,.svc img,.svc video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s ease}
.svc:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 25%,rgba(0,0,0,.88) 100%)}
.svc:hover img,.svc:hover video{transform:scale(1.06)}
.svc .body{padding:26px}
.svc h3{font-size:1.45rem;margin-bottom:.3em}
.svc p{margin:0;color:#ddd6c4;font-size:1.05rem;line-height:1.4}
.svc .num{position:absolute;top:18px;left:22px;font-family:var(--head);color:var(--gold);letter-spacing:.2em;font-size:.75rem}
.svc-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:22px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svc-list div{background:#070707;padding:24px 22px}
.svc-list h4{font-size:1rem;color:var(--gold);margin-bottom:.35em;letter-spacing:.1em}
.svc-list p{margin:0;color:var(--muted);font-size:1rem;line-height:1.4}

/* portfolio */
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:-20px 0 36px}
.filters button{font-family:var(--head);text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;padding:10px 20px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#ddd;cursor:pointer;transition:.2s}
.filters button[aria-pressed=true],.filters button:hover{background:var(--gold);color:#000;border-color:var(--gold)}
.gallery{columns:3 340px;column-gap:14px}
.gallery figure{margin:0 0 14px;break-inside:avoid;position:relative;border-radius:10px;overflow:hidden;cursor:zoom-in;background:#111}
.gallery figure img{width:100%;height:auto;transition:transform .8s ease,filter .4s}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 12px;background:linear-gradient(transparent,rgba(0,0,0,.8));font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:#fff;opacity:0;transform:translateY(8px);transition:.3s}
.gallery figcaption span{color:var(--gold)}
.gallery figure:hover figcaption,.gallery figure:focus-visible figcaption{opacity:1;transform:none}
.gallery figure.hide{display:none}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;padding:60px 70px}
.lightbox.open{display:flex}
.lightbox img{max-height:86vh;max-width:100%;width:auto;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lightbox .cap{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-family:var(--head);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:#ccc}
.lb-btn{position:absolute;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--gold);width:52px;height:52px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-btn:hover{background:var(--gold);color:#000}
.lb-close{top:18px;right:18px}.lb-prev{left:14px;top:50%;margin-top:-26px}.lb-next{right:14px;top:50%;margin-top:-26px}

/* reels */
.reels{background:#050505;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reel-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.reel{position:relative;aspect-ratio:9/16;border-radius:var(--r);overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.06)}
.reel video{width:100%;height:100%;object-fit:cover}
.reel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.85));pointer-events:none}
.reel span{position:absolute;left:16px;bottom:14px;z-index:1;font-family:var(--head);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem}
.reel span small{display:block;font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--muted);font-style:italic}
.reel-note{margin-top:28px;color:var(--muted);text-align:center;font-style:italic}

/* pricing */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.pkg{position:relative;background:linear-gradient(180deg,#121212,#0a0a0a);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:38px 32px 32px;display:flex;flex-direction:column}
.pkg h3{font-size:1.5rem;letter-spacing:.2em;margin:0}
.pkg .tag{color:var(--muted);font-style:italic;margin:.2em 0 1em;min-height:2.6em;line-height:1.3}
.pkg .price{font-family:var(--head);font-size:3.4rem;color:#fff;line-height:1;margin-bottom:22px}
.pkg .price sup{font-size:1.3rem;vertical-align:top;margin-right:3px;color:var(--gold);position:relative;top:.5em}
.pkg ul{list-style:none;margin:0 0 28px;padding:0;flex:1}
.pkg li{padding:9px 0 9px 30px;border-bottom:1px solid rgba(255,255,255,.06);position:relative;font-size:1.06rem;line-height:1.35}
.pkg li:before{content:"";position:absolute;left:4px;top:15px;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.pkg .btn{width:100%}
.pkg.featured{border:1px solid var(--gold);background:radial-gradient(ellipse at top,rgba(212,175,55,.16),transparent 60%),linear-gradient(180deg,#151309,#0a0a0a);transform:translateY(-14px);box-shadow:0 30px 70px -30px rgba(212,175,55,.45)}
.pkg .badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--gold);color:#000;font-family:var(--head);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;padding:7px 16px;border-radius:999px;white-space:nowrap}
.pkg:not(.featured) .btn{background:transparent;color:#fff;border:1px solid var(--gold);box-shadow:none}
.pkg:not(.featured) .btn:hover{background:var(--gold);color:#000}
.pay-close{margin:46px auto 0;max-width:760px;text-align:center;border:1px dashed var(--line);border-radius:14px;padding:18px 24px;color:#e9e1c8}
.pay-close strong{font-family:var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500}
.alc{margin-top:80px}
.alc-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:28px}
.alc-tabs button{font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;padding:11px 20px;border-radius:999px;border:1px solid var(--line);background:transparent;color:#ddd;cursor:pointer}
.alc-tabs button[aria-selected=true]{background:var(--gold);color:#000;border-color:var(--gold)}
.alc-panel{display:none;max-width:900px;margin:0 auto}
.alc-panel.active{display:block}
.alc-row{display:flex;align-items:baseline;gap:14px;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
.alc-row .n{font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;font-size:1.02rem;color:#fff;white-space:nowrap}
.alc-row .d{flex:1;color:var(--muted);font-size:1rem;font-style:italic;border-bottom:1px dotted rgba(212,175,55,.3);min-width:20px;padding-bottom:2px;line-height:1.3}
.alc-row .p{font-family:var(--head);color:var(--gold);font-size:1.2rem;white-space:nowrap}
.land{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px;margin:0 auto}
.land .pkg{padding:28px}
.land .pkg .price{font-size:2.4rem;margin-bottom:14px}
.land .pkg .tag{min-height:0}
.pricing-foot{text-align:center;margin-top:40px}

/* monthly plans */
.plans{margin-top:90px;padding-top:70px;border-top:1px solid var(--line)}
.plan .price small{font-size:1rem;color:var(--muted);margin-left:6px;font-family:var(--serif);font-style:italic}
.plan .tag{min-height:2.6em}
.why{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:34px 0 0;padding:0}
.why li{border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:#e7e1cf}
.why li:before{content:"✓ ";color:var(--gold)}
.plans .pay-close{margin-top:30px}
.plans .pay-close a{white-space:nowrap}

/* process */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.step{border-top:1px solid var(--gold);padding-top:22px}
.step:before{counter-increment:s;content:"0" counter(s);font-family:var(--head);color:var(--gold);font-size:2.6rem;display:block;margin-bottom:8px}
.step h3{font-size:1.3rem}
.step p{color:var(--muted);margin:0}

/* about */
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.about-media{position:relative}
.about-media img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}
.about-media img.portrait{border:2px solid var(--gold);box-shadow:0 30px 70px -30px rgba(212,175,55,.35)}
.about-media .frame{position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--gold);border-radius:var(--r);z-index:-1}
.about p{color:#ddd6c4}
.about h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.sig{font-family:var(--serif);font-style:italic;font-size:2rem;color:var(--gold);margin-top:10px}

/* area */
.area{background:#050505;border-top:1px solid var(--line)}
.cities{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:980px;margin:0 auto}
.cities li{list-style:none;border:1px solid var(--line);border-radius:999px;padding:9px 20px;font-family:var(--head);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:#e7e1cf}

/* contact */
.contact{background:radial-gradient(ellipse at 50% 0%,rgba(212,175,55,.14),transparent 55%),#000;text-align:center}
.contact h2{font-size:clamp(2.2rem,5vw,4rem)}
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:46px 0 40px}
.cc{border:1px solid var(--line);border-radius:var(--r);padding:28px 18px;background:rgba(255,255,255,.02);transition:.25s;color:#fff;display:block}
.cc:hover{border-color:var(--gold);background:rgba(212,175,55,.06);color:#fff;transform:translateY(-3px)}
.cc svg{width:26px;height:26px;color:var(--gold);margin:0 auto 12px}
.cc b{display:block;font-family:var(--head);font-weight:500;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:var(--gold);margin-bottom:6px}
.cc span{font-size:1.1rem;word-break:break-word}

/* footer */
footer{border-top:1px solid var(--line);padding:46px 0;color:var(--muted);font-size:1rem}
.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.foot img{height:30px;width:auto}
.socials{display:flex;gap:12px}
.socials a{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold)}
.socials a:hover{background:var(--gold);color:#000}
.socials svg{width:18px;height:18px}

/* mobile sticky book bar */
.mbar{display:none}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

@media (max-width:1100px){
  .reel-grid{grid-template-columns:repeat(3,1fr)}
  .reel:nth-child(n+4){display:none}
  .svc-list{grid-template-columns:repeat(2,1fr)}
  .nav-links{gap:18px}
}
@media (max-width:960px){
  body{font-size:19px}
  section{padding:84px 0}
  .menu-btn{display:block}
  .nav-links{position:fixed;inset:0;top:0;background:rgba(0,0,0,.97);flex-direction:column;justify-content:center;gap:30px;transform:translateY(-100%);transition:transform .4s ease;z-index:-1}
  .nav-links a{font-size:1.1rem}
  body.menu-open .nav-links{transform:none}
  .nav-cta .phone-link{display:none}
  .services-grid,.pkg-grid,.steps{grid-template-columns:1fr}
  .pkg.featured{transform:none;order:-1}
  .about-grid{grid-template-columns:1fr;gap:50px}
  .strip ul{grid-template-columns:repeat(2,1fr)}
  .strip li:nth-child(2){border-right:0}.strip li:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .contact-cards{grid-template-columns:repeat(2,1fr)}
  .land{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding:0 18px}
  .logo img{height:30px}
  .nav-cta .btn{display:none}
  .hero{padding:0;align-items:stretch}
  .hero .wrap{display:flex;flex-direction:column;min-height:100svh;padding-top:92px;padding-bottom:100px}
  .hero h1{font-size:2.6rem;margin:.2em 0 .15em}
  .hero p.sub{display:none}
  .hero .hero-actions{margin-top:auto}
  .hero:after{background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.5) 26%,rgba(0,0,0,0) 38%,rgba(0,0,0,0) 64%,rgba(0,0,0,.75) 82%,rgba(0,0,0,.9) 100%)}
  .hero-actions .btn{flex:1 1 100%}
  .svc{min-height:300px}
  .svc-list{grid-template-columns:1fr}
  .reel-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .reel:nth-child(n+4){display:block}
  .reel:nth-child(5){display:none}
  .gallery{columns:2 150px;column-gap:8px}.gallery figure{margin-bottom:8px;border-radius:6px}
  .alc-row{flex-wrap:wrap}.alc-row .n{white-space:normal;flex:1 1 60%}.alc-row .d{order:3;flex:1 1 100%;border:0}
  .contact-cards{grid-template-columns:1fr}
  .about-media .frame{inset:12px -8px -12px 8px}
  .lightbox{padding:60px 8px}.lb-prev,.lb-next{top:auto;bottom:16px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(0,0,0,.92);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
  .mbar .btn{flex:1;padding:13px 10px}
  footer{padding-bottom:110px}
  .scroll-cue{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* Nav dropdown: "Content Plans" -> Subscription Content Package */
.has-dd{position:relative}
.dd-toggle{display:inline-flex;align-items:center;gap:.45em;background:none;border:0;padding:0;margin:0;cursor:pointer;font-family:var(--head);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:#e9e4d6;line-height:inherit}
.dd-toggle:hover,.has-dd.open .dd-toggle{color:var(--gold)}
.dd-toggle:focus-visible{outline:1px solid var(--gold);outline-offset:4px;border-radius:4px}
.dd-caret{width:9px;height:9px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:translateY(-2px) rotate(45deg);transition:transform .25s}
.has-dd.open .dd-caret{transform:translateY(2px) rotate(-135deg)}
.dd-menu{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:50%;min-width:270px;background:rgba(0,0,0,.96);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:12px;box-shadow:0 24px 60px -20px rgba(0,0,0,.9),0 10px 30px -18px rgba(212,175,55,.45);opacity:0;visibility:hidden;transform:translate(-50%,14px);transition:opacity .2s,transform .2s,visibility 0s linear .2s;z-index:60}
.dd-menu:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.dd-menu li{margin:0}
.dd-menu a{display:block;padding:12px 16px;border-radius:8px;white-space:nowrap;font-size:.76rem}
.dd-menu a:hover,.dd-menu a:focus-visible{background:rgba(212,175,55,.12);color:var(--gold)}
.dd-menu li:first-child a{color:var(--gold)}
.has-dd.open .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,10px);transition:opacity .2s,transform .2s}
@media (hover:hover) and (min-width:961px){
  .has-dd:hover .dd-menu{opacity:1;visibility:visible;transform:translate(-50%,10px);transition:opacity .2s,transform .2s}
  .has-dd:hover .dd-toggle{color:var(--gold)}
}
@media (max-width:960px){
  .has-dd{display:flex;flex-direction:column;align-items:center}
  .dd-toggle{font-size:1.1rem;padding:6px 10px}
  .dd-menu{position:static;transform:none;min-width:0;width:min(86vw,340px);margin-top:0;padding:0 8px;max-height:0;overflow:hidden;opacity:0;visibility:hidden;text-align:center;border-radius:12px;transition:max-height .3s ease,opacity .2s,visibility 0s linear .3s,margin .3s}
  .dd-menu:before{display:none}
  .has-dd.open .dd-menu{transform:none;max-height:320px;opacity:1;visibility:visible;margin-top:14px;padding:8px;transition:max-height .3s ease,opacity .2s,margin .3s}
  .dd-menu a{font-size:.95rem;white-space:normal;padding:14px 12px}
}
@media (min-width:961px){
  .nav-links a,.dd-toggle,.phone-link{white-space:nowrap}
}
@media (min-width:961px) and (max-width:1180px){
  .nav{gap:16px}
  .nav-links{gap:14px}
  .nav-links a,.dd-toggle{letter-spacing:.1em;font-size:.74rem}
  .nav-cta{gap:10px}
  .nav-cta .btn{padding:10px 16px}
}
@media (min-width:961px) and (max-width:1060px){
  .nav-cta .phone-link{display:none}
}

/* Mobile menu fix (2026-10-28): .site-header.scrolled uses backdrop-filter, which makes the header the
   containing block for the position:fixed .nav-links. inset:0 + translateY(-100%) then only moved the
   menu up by the header's height, and the centered link list overflowed onto the page while "closed".
   Size the menu to the viewport explicitly, hide it completely when closed, and drop the header's
   backdrop-filter while open so the menu covers the screen. */
@media (max-width:960px){
  .nav-links{bottom:auto;height:100vh;height:100dvh;overflow-y:auto;justify-content:safe center;padding:90px 0 40px;visibility:hidden;transition:transform .4s ease,visibility 0s linear .4s}
  body.menu-open .nav-links{visibility:visible;transition:transform .4s ease}
  body.menu-open .site-header{-webkit-backdrop-filter:none;backdrop-filter:none}
}
