:root{
    --orange:#F86808; --orange-600:#DC5A06; --orange-700:#B5490A; --orange-50:#FEF3E9; --orange-100:#FDE2C8;
    --ink:#181818; --ink-800:#20211F; --ink-700:#2A2B29; --charcoal:#3E434B; --slate:#334155;
    --muted:#71757C; --line:#EAE6DF; --line-d:rgba(255,255,255,.14);
    --cream:#FAF6F0; --cream-2:#F4EDE2; --white:#FFFFFF;
    --sans:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
    --slab:'Roboto Slab','Roboto',Georgia,serif;
    --r-sm:6px; --r-md:10px; --r-lg:16px; --r-pill:999px;
    --e1:0 1px 2px rgba(20,20,20,.05), 0 1px 3px rgba(20,20,20,.05);
    --e2:0 14px 40px rgba(20,20,20,.10);
    --maxw:1200px; --nav-h:64px;
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;scroll-padding-top:118px;}
  body{margin:0;font-family:var(--sans);color:var(--charcoal);background:var(--white);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4{font-family:var(--slab);color:var(--ink);margin:0 0 .4em;line-height:1.08;letter-spacing:-.03em;text-wrap:balance;}
  h1{font-size:clamp(32px,4.3vw,52px);font-weight:800;}
  h2{font-size:clamp(26px,3.3vw,40px);font-weight:700;}
  h3{font-size:clamp(19px,2.1vw,23px);font-weight:700;letter-spacing:-.02em;}
  p{margin:0 0 1em;}
  a{color:var(--orange-700);text-decoration:none;}
  img{max-width:100%;display:block;}
  figure{margin:0;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  @media(max-width:600px){.wrap{padding:0 20px;}}
  .eyebrow{font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-700);margin:0 0 18px;display:block;}
  .lead{font-size:clamp(16.5px,1.8vw,19px);color:var(--charcoal);line-height:1.6;max-width:62ch;}
  .muted{color:var(--muted);}
  section{padding:clamp(56px,7vw,104px) 0;}
  .sec-head{max-width:880px;margin:0 0 clamp(32px,4vw,52px);}
  .uline{box-shadow:inset 0 -.14em 0 var(--orange);}

  .ic{display:inline-block;width:24px;height:24px;background:currentColor;flex:none;vertical-align:middle;
    -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;}
  .ic-phone{--m:url(../icons/phone.svg)} .ic-check{--m:url(../icons/check.svg)}
  .ic-calendar{--m:url(../icons/calendar.svg)} .ic-ruler{--m:url(../icons/ruler.svg)}
  .ic-sun{--m:url(../icons/sun.svg)} .ic-shield{--m:url(../icons/shield.svg)}
  .ic-home{--m:url(../icons/home.svg)} .ic-window{--m:url(../icons/window.svg)}
  .ic-settings{--m:url(../icons/settings.svg)} .ic-palette{--m:url(../icons/palette.svg)}

  .btn{font-weight:700;font-size:15px;border-radius:var(--r-pill);padding:15px 30px;cursor:pointer;
    border:1.6px solid transparent;transition:background .18s,transform .18s,border-color .18s,color .18s;
    display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);text-decoration:none;white-space:nowrap;}
  .btn-primary{background:var(--orange);color:#fff;} .btn-primary:hover{background:var(--orange-600);transform:translateY(-2px);}
  .btn-outline{background:transparent;color:var(--ink);border-color:var(--line);} .btn-outline:hover{border-color:var(--ink);}
  .btn-dark{background:var(--ink);color:#fff;border-color:var(--ink);} .btn-dark:hover{background:#000;transform:translateY(-2px);}
  .btn-onink{background:transparent;color:#fff;border-color:rgba(255,255,255,.38);}
  .btn-onink:hover{border-color:#fff;background:rgba(255,255,255,.09);}
  .btn-lg{padding:17px 36px;font-size:16px;}

  /* header (shared chrome) */
  .topbar{background:#101010;color:#d9d3c9;font-size:13px;text-align:center;padding:10px 44px;position:relative;}
  .topbar b{color:var(--orange);} .topbar a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
  .topbar .x{position:absolute;right:14px;top:50%;transform:translateY(-50%);cursor:pointer;opacity:.55;background:none;border:none;color:#fff;font-size:17px;}
  header.nav{position:sticky;top:0;z-index:70;background:var(--ink);border-bottom:1px solid var(--line-d);}
  .nav .row{display:flex;align-items:center;gap:26px;height:var(--nav-h);}
  .wm{font-family:var(--slab);font-weight:800;font-size:21px;letter-spacing:-.02em;color:#fff;line-height:1;}
  .wm .o{color:var(--orange);}
  .wm small{display:block;font-family:var(--sans);font-weight:400;font-size:9.5px;letter-spacing:.19em;
    text-transform:uppercase;color:#8d867c;margin-top:5px;}
  .nav .menu{display:flex;gap:26px;margin-left:18px;}
  .nav .menu a{color:#cdc7bd;font-size:14.5px;font-weight:500;position:relative;padding:4px 0;}
  .nav .menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:1.5px;background:var(--orange);transition:right .22s;}
  .nav .menu a:hover{color:#fff;} .nav .menu a:hover::after{right:0;}
  .nav .menu a.active{color:#fff;} .nav .menu a.active::after{right:0;}
  .nav .right{margin-left:auto;display:flex;align-items:center;gap:16px;}
  .nav .tel{color:#fff;font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
  .nav .tel .ic{color:var(--orange);width:17px;height:17px;}
  .nav .btn{padding:11px 22px;font-size:14px;}
  .burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;margin-left:auto;}
  .burger span{width:23px;height:2px;background:#fff;border-radius:2px;transition:.22s;}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mnav{display:none;flex-direction:column;background:var(--ink);padding:8px 20px 22px;border-bottom:1px solid var(--line-d);}
  .mnav a{padding:14px 0;border-bottom:1px solid var(--line-d);color:#e6e1d9;font-weight:500;}
  .mnav .btn{margin-top:16px;justify-content:center;}
  .mnav .btn-primary{color:#fff;}
  @media(max-width:1120px){
    .nav .menu,.nav .tel{display:none;} .burger{display:flex;}
    .nav .right .btn{display:none;} .mnav.open{display:flex;}
  }

  .crumb{color:#8d867c;font-size:13px;padding:0 0 14px;}
  .crumb a{color:#8d867c;} .crumb a:hover{color:var(--orange);}
  .crumb .sep{margin:0 9px;opacity:.45;}

  /* hero */
  .hero{background:var(--ink);color:#e9e4dc;padding:clamp(22px,2.6vw,38px) 0 clamp(34px,4.4vw,58px);}
  .hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,4.4vw,64px);align-items:center;}
  @media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px;}}
  .hero h1{color:#fff;margin-bottom:.26em;} .hero .lead{color:#c8c2b8;margin-bottom:28px;}
  .hero .eyebrow{color:var(--orange);}
  .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px;}
  @media(max-width:520px){
    .hero-actions{flex-wrap:nowrap;gap:9px;}
    .hero-actions .btn{flex:1 1 0;justify-content:center;padding:14px 10px;font-size:14px;}
  }
  .chips{display:flex;flex-wrap:nowrap;gap:8px;}
  .chip{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.07);
    border:1px solid var(--line-d);border-radius:var(--r-pill);padding:7px 13px;font-size:12.5px;color:#ddd7cd;white-space:nowrap;}
  .chip b{color:#fff;font-weight:700;} .chip .ic{width:14px;height:14px;color:var(--orange);}
  .chip .stars{color:#FBBC04;letter-spacing:.5px;font-size:11.5px;} .chip img{height:13px;width:auto;}
  .chip .sm{display:none;}
  @media(max-width:620px){
    .chip{font-size:11px;padding:6px 9px;gap:5px;}
    .chip .lg{display:none;} .chip .sm{display:inline;}
    .chip .stars{font-size:10px;letter-spacing:0;} .chip img{height:11px;} .chip .ic{width:12px;height:12px;}
  }
  .hero-fig{position:relative;}
  .hero-fig img{width:100%;height:clamp(300px,40vw,506px);object-fit:cover;border-radius:var(--r-lg);}
  .hero-fig figcaption{position:absolute;left:16px;bottom:16px;background:rgba(12,12,12,.72);color:#fff;
    font-size:12.5px;padding:8px 15px;border-radius:var(--r-pill);backdrop-filter:blur(8px);}

  /* ── the eight styles: editorial index ── */
  .styles-list{border-top:1px solid var(--line);}
  .srow{display:grid;grid-template-columns:52px 1.25fr 1fr;gap:clamp(18px,2.6vw,40px);align-items:center;
    padding:clamp(20px,2.4vw,30px) 0;border-bottom:1px solid var(--line);position:relative;
    transition:background .28s;}
  .srow:hover{background:var(--cream);}
  /* SHADEROW_MOBILE: the index number used to hold its own 40px column, which
     narrowed the text beside it enough to break three tag pills onto three
     stacked lines and stretch every row. On a phone it reads as a small label
     above the title instead, which hands the copy the full width — that width
     is what lets the pills sit two-up, and the row loses the height it was
     wasting. */
  @media(max-width:820px){
    .srow{grid-template-columns:1fr;gap:0;padding:16px 0;}
    .srow .num{align-self:auto;padding-top:0;margin-bottom:4px;}
    .srow h3{margin-bottom:5px;}
    .srow p{margin-bottom:9px;}
    .srow .tg{font-size:11px;letter-spacing:.04em;padding:4px 9px;}
    .srow .sfig{grid-column:1 / -1;order:3;margin-top:13px;}
  }
  .srow .num{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--muted);
    align-self:start;padding-top:6px;}
  .srow h3{margin-bottom:7px;display:flex;align-items:center;gap:11px;flex-wrap:wrap;}
  .srow h3 a{color:var(--ink);}
  .srow:hover h3 a{color:var(--orange-700);}
  .srow h3 .arrow{display:inline-block;color:var(--orange);transition:transform .28s;font-weight:400;}
  .srow:hover h3 .arrow{transform:translateX(6px);}
  .srow p{margin:0 0 10px;font-size:15.5px;}
  .tagrow{display:flex;gap:7px;flex-wrap:wrap;}
  .tg{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--muted);
    border:1px solid var(--line);border-radius:var(--r-pill);padding:4px 11px;background:#fff;}
  .tg.hi{color:var(--orange-700);border-color:var(--orange-100);background:var(--orange-50);}
  .sfig{overflow:hidden;border-radius:var(--r-md);background:var(--cream-2);}
  .sfig img{width:100%;height:clamp(150px,15vw,186px);object-fit:cover;
    transition:transform .55s cubic-bezier(.22,.7,.2,1);}
  .srow:hover .sfig img{transform:scale(1.06);}
  .srow a.stretch{position:absolute;inset:0;z-index:1;}
  .srow h3 a{position:relative;z-index:2;}

  /* ── how to choose: priority switcher ── */
  .choose{background:var(--ink);color:#e9e4dc;}
  .choose h2{color:#fff;} .choose .lead{color:#bdb7ad;} .choose .eyebrow{color:var(--orange);}
  .swrow{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:30px;scrollbar-width:none;}
  .swrow::-webkit-scrollbar{display:none;}
  .swbtn{background:rgba(255,255,255,.06);border:1.5px solid var(--line-d);border-radius:var(--r-pill);
    padding:11px 20px;font-family:var(--sans);font-size:14.5px;font-weight:600;color:#ddd7cd;cursor:pointer;
    white-space:nowrap;transition:.2s;}
  .swbtn:hover{border-color:#fff;color:#fff;}
  .swbtn[aria-selected="true"]{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700;}
  .cpane{display:none;}
  .cpane.on{display:grid;grid-template-columns:1fr 1fr;gap:16px;
    animation:fade .4s cubic-bezier(.22,.7,.2,1) both;}
  @media(max-width:760px){.cpane.on{grid-template-columns:1fr;}}
  @keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .pickcard{background:rgba(255,255,255,.05);border:1px solid var(--line-d);border-radius:var(--r-lg);
    padding:24px;display:flex;flex-direction:column;transition:background .22s,transform .22s;}
  .pickcard:hover{background:rgba(255,255,255,.09);transform:translateY(-3px);}
  .pickcard .rank{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);
    font-weight:700;margin-bottom:10px;}
  .pickcard .rank.alt{color:#8d867c;}
  .pickcard h3{color:#fff;margin-bottom:8px;}
  .pickcard p{color:#a9a29a;font-size:15px;margin-bottom:16px;}
  .pickcard a{margin-top:auto;color:#fff;font-weight:700;font-size:14.5px;
    border-bottom:1px solid var(--line-d);padding-bottom:3px;align-self:flex-start;}
  .pickcard a:hover{color:var(--orange);border-color:var(--orange);}

  /* ── shade vs blind ── */
  .vs{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media(max-width:760px){.vs{grid-template-columns:1fr;}}
  .vscard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;
    box-shadow:0 1px 2px rgba(20,20,20,.04),0 10px 30px rgba(20,20,20,.06);}
  .vscard .ic{color:var(--orange-700);width:28px;height:28px;margin-bottom:14px;}
  .vscard h3{margin-bottom:9px;}
  .vscard p{font-size:15.5px;margin-bottom:14px;}
  .vscard .fine{font-size:14px;color:var(--muted);margin:0;padding-top:14px;border-top:1px solid var(--line);}

  /* ── carousel ── */
  .car-wrap{position:relative;}
  .car{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    padding:4px 2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .car::-webkit-scrollbar{display:none;}
  .car>*{scroll-snap-align:start;flex:0 0 auto;width:calc((100% - 48px)/4);}
  @media(max-width:1000px){.car>*{width:calc((100% - 32px)/3);}}
  @media(max-width:760px){.car>*{width:calc((100% - 16px)/2);}}
  @media(max-width:520px){.car>*{width:82%;}}
  .cbtn{position:absolute;top:calc(50% - 10px);transform:translateY(-50%);width:44px;height:44px;border-radius:50%;
    background:#fff;border:1px solid var(--line);box-shadow:var(--e2);color:var(--ink);cursor:pointer;z-index:6;
    display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .18s,opacity .2s;}
  .cbtn:hover{background:var(--cream);} .cbtn.prev{left:-18px} .cbtn.next{right:-18px}
  .cbtn[disabled]{opacity:0;pointer-events:none;}
  @media(max-width:1260px){.cbtn.prev{left:2px}.cbtn.next{right:2px}}
  @media(max-width:760px){.cbtn{display:none;}}
  .rm{position:relative;border-radius:var(--r-lg);overflow:hidden;display:block;background:var(--cream-2);}
  .rm img{width:100%;height:clamp(230px,26vw,290px);object-fit:cover;transition:transform .55s cubic-bezier(.22,.7,.2,1);}
  .rm:hover img{transform:scale(1.05);}
  .rm span{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 15px;color:#fff;font-weight:700;
    font-family:var(--slab);font-size:16px;background:linear-gradient(to top,rgba(14,14,14,.86),transparent);}

  /* ── faq: two column, sticky aside ── */
  .faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(28px,4vw,64px);align-items:start;}
  @media(max-width:900px){.faq-grid{grid-template-columns:1fr;gap:28px;}}
  .faq-aside{position:sticky;top:110px;}
  @media(max-width:900px){.faq-aside{position:relative;top:0;}}
  .faq-aside h2{margin-bottom:.35em;font-size:clamp(24px,2.6vw,32px);}
  .faq-aside .lead{font-size:16.5px;margin-bottom:24px;}
  .askcard{background:var(--ink);color:#ddd7cd;border-radius:var(--r-lg);padding:24px;}
  .askcard b{display:block;color:#fff;font-family:var(--slab);font-size:18px;margin-bottom:6px;letter-spacing:-.02em;}
  .askcard p{font-size:14.5px;color:#a9a29a;margin:0 0 18px;}
  .askcard .row{display:flex;gap:10px;flex-wrap:wrap;}
  .askcard a{font-size:14px;font-weight:700;padding:11px 18px;border-radius:var(--r-pill);
    display:inline-flex;align-items:center;gap:8px;transition:.2s;}
  .askcard .a1{background:var(--orange);color:#fff;} .askcard .a1:hover{background:var(--orange-600);}
  .askcard .a2{border:1.4px solid rgba(255,255,255,.32);color:#fff;} .askcard .a2:hover{border-color:#fff;background:rgba(255,255,255,.08);}
  .askcard .ic{width:15px;height:15px;}

  .acc{border-top:1px solid var(--line);}
  .acc details{border-bottom:1px solid var(--line);transition:background .25s;}
  .acc details[open]{background:#fff;}
  .acc summary{cursor:pointer;padding:22px 52px 22px 20px;font-family:var(--slab);font-weight:700;
    font-size:clamp(16.5px,1.8vw,19px);color:var(--ink);list-style:none;position:relative;
    letter-spacing:-.02em;transition:color .18s;}
  .acc summary::-webkit-details-marker{display:none;}
  .acc summary:hover{color:var(--orange-700);}
  .acc summary::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:3px;height:0;background:var(--orange);transition:height .3s cubic-bezier(.22,.7,.2,1);}
  .acc details[open] summary::before{height:calc(100% - 30px);}
  .acc summary::after{content:"";position:absolute;right:20px;top:50%;width:26px;height:26px;
    transform:translateY(-50%);border:1.4px solid var(--line);border-radius:50%;transition:.26s;z-index:1;}
  .acc summary .chev{position:absolute;right:29px;top:50%;width:8px;height:8px;
    border-right:2px solid var(--orange-700);border-bottom:2px solid var(--orange-700);
    transform:translateY(-70%) rotate(45deg);transition:transform .26s;pointer-events:none;z-index:2;}
  .acc details[open] summary::after{border-color:var(--orange);background:var(--orange-50);}
  .acc details[open] summary .chev{transform:translateY(-30%) rotate(-135deg);}
  .acc .body{padding:0 52px 24px 20px;font-size:15.5px;}
  .acc .body p:last-child{margin-bottom:0;}

  /* ── visit + map (shared partial) ── */
  .visit{background:var(--white);border-top:1px solid var(--line);}
  .visit-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(26px,3.4vw,52px);align-items:center;}
  @media(max-width:880px){.visit-grid{grid-template-columns:1fr;}}
  .visit h2{margin-bottom:.3em;}
  .nap{list-style:none;padding:0;margin:22px 0 26px;}
  .nap li{display:flex;gap:13px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);font-size:15.5px;}
  .nap li:last-child{border-bottom:none;}
  .nap .ic{color:var(--orange-700);width:19px;height:19px;margin-top:3px;flex:none;}
  .nap b{display:block;color:var(--ink);font-weight:700;margin-bottom:1px;}
  .nap span{color:var(--muted);font-size:14.5px;}
  .nap a{color:var(--ink);font-weight:700;display:block;margin-bottom:1px;}
  .nap a:hover{color:var(--orange-700);}
  .visit-actions{display:flex;gap:12px;flex-wrap:wrap;}
  @media(max-width:420px){.visit-actions .btn{flex:1 1 100%;justify-content:center;}}
  .mapcard{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
    background:#fff;box-shadow:0 1px 2px rgba(20,20,20,.04),0 10px 30px rgba(20,20,20,.06);}
  .mapcard iframe{display:block;width:100%;height:clamp(300px,34vw,430px);border:0;filter:grayscale(.28) contrast(1.03);}

  footer{background:#101010;color:#a29b91;padding:70px 0 34px;}
  footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;}
  @media(max-width:820px){footer .cols{grid-template-columns:1fr 1fr;gap:32px;}}
  @media(max-width:520px){footer .cols{grid-template-columns:1fr;}}
  footer h4{color:#fff;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;font-family:var(--sans);}
  footer a{color:#a29b91;font-size:14.5px;} footer a:hover{color:var(--orange);}
  footer ul{list-style:none;padding:0;margin:0;} footer li{padding:6px 0;}
  footer .np{font-size:14.5px;line-height:1.85;} footer .np b{color:#fff;}
  .soc{display:flex;gap:10px;margin-top:18px;}
  .soc a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;transition:.2s;}
  .soc a:hover{background:var(--orange);transform:translateY(-2px);}
  .soc img{width:16px;height:16px;filter:brightness(0) invert(1);}
  footer .bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:46px;padding-top:22px;font-size:12.5px;
    color:#75706a;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.22,.7,.2,1),transform .75s cubic-bezier(.22,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  .hero-grid>*{animation:fu .9s cubic-bezier(.2,.7,.2,1) both;}
  .hero-grid>*:nth-child(2){animation-delay:.15s;}
  @keyframes fu{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
    .reveal{opacity:1!important;transform:none!important}
    .car,html{scroll-behavior:auto!important}
  }


/* --- theme chrome addon: Products dropdown --- */
.nav .menu .has-sub{position:relative;align-self:stretch;display:flex;align-items:center;}
.nav .menu .has-sub>a .car{display:inline-block;width:7px;height:7px;border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:7px;}
.nav .menu .sub{position:absolute;top:100%;left:-18px;background:#141414;
  border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:90;
  box-shadow:0 18px 40px rgba(0,0,0,.35);display:flex;gap:8px;}
.nav .menu .sub .subcol{min-width:196px;}
.nav .menu .sub::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
.nav .menu .has-sub:hover .sub,.nav .menu .has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none;}
.nav .menu .sub a{display:block;padding:9px 12px;border-radius:8px;color:#cdc7bd;font-size:14px;font-weight:500;}
.nav .menu .sub a:hover{background:rgba(255,255,255,.07);color:#fff;}
.nav .menu .sub a::after{display:none;}
.nav .menu .sub .grp{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:#8d867c;padding:10px 12px 4px;}
.mnav .msub,.mobile-menu .msub{padding-left:24px;font-size:14px;opacity:.92;}

/* NAVCALL_ADDON */
/* Mobile click-to-call, sitting to the right of the hamburger. Deliberately a
   different colour from the bar itself so it reads as an action, not chrome.
   The header's phone number is display:none on mobile, so without this there is
   no one-tap call anywhere in the sticky header. */
.navcall{display:none;}
@media(max-width:860px){
  .navcall{display:inline-flex;align-items:center;justify-content:center;
    width:42px;height:42px;min-width:42px;margin-left:10px;border-radius:12px;
    background:var(--orange);color:#fff;text-decoration:none;
    box-shadow:0 2px 10px rgba(248,104,8,.30);transition:background .18s,transform .18s;}
  .navcall:hover,.navcall:focus-visible{background:var(--orange-700,#d95a06);transform:translateY(-1px);}
  .navcall .ic{width:20px;height:20px;color:#fff;background-color:#fff;}
  .burger{margin-left:auto;}
}

/* NAVCALL_TIGHTEN */
@media(max-width:860px){
  /* header only — .wrap is the site-wide container, so this must stay scoped */
  .nav .wrap{padding-left:14px;padding-right:14px;}
  /* the row gap is what was really separating the burger from the call button */
  .nav .row{gap:8px;}
  .burger{padding:8px 2px;margin-left:auto;}
  .navcall{margin-left:2px;}
}
@media(max-width:420px){
  .nav .wrap{padding-left:11px;padding-right:11px;}
  .navcall{width:40px;height:40px;min-width:40px;}
}

/* PROMO_MOBILE_HIDE */
/* Promo bar wraps to three lines on a phone and buries the header, so it is
   desktop-only for now. Delete this block to bring it back everywhere; move the
   selectors out of the media query to hide it on desktop too. */
@media(max-width:860px){
  .promo,.topbar{display:none;}
}

/* MOBILE_OVERFLOW_GUARD */
/* Grid and flex items default to min-width:auto and will not shrink below their
   content, which is what pushed four pages sideways on a phone. Harmless on
   ordinary blocks, where min-width:auto already computes to 0. */
.wrap > *,
.hero-grid > *, .visit-grid > *, .faq-grid > *, .split > *, .pgrid > *,
.proc-grid > *, .beyond-row > *, .hero-grid, .visit-grid, .faq-grid {
  min-width: 0;
}
/* An image must never be the thing that sets a track's minimum width. */
.hero-fig, .hero-fig img, .sfig, .sfig img, .beyond-fig, .beyond-fig img {
  max-width: 100%;
}

/* MOBILE_ACCORDION */
.mnav, .mobile-menu{
  max-height: calc(100vh - 62px);
  max-height: calc(100dvh - 62px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.mtog{
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 14px 0;
  background: none; border: 0; border-bottom: 1px solid var(--line);
  font: inherit; font-weight: 500; color: inherit;
  text-align: left; cursor: pointer;
}
.mnav .mtog{ color: #e6e1d9; border-bottom-color: var(--line-d); }
.mobile-menu .mtog{ color: var(--ink); border-bottom-color: var(--line); }
/* Chevron drawn from two borders so it inherits the link colour and needs no asset. */
.mcar{
  flex: none; width: 8px; height: 8px; margin-right: 3px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .18s ease;
  opacity: .65;
}
.mtog[aria-expanded="true"] .mcar{ transform: translateY(2px) rotate(-135deg); }
.msubs{ display: none; }
.macc.open > .msubs{ display: flex; flex-direction: column; }
.msubs a{ display: block; }
.msubs a{ padding-left: 22px; font-size: 14px; opacity: .92; }

/* HERO_ACTIONS_WRAP */
@media(max-width:520px){
  .hero-actions{ flex-wrap: wrap; }
  .hero-actions .btn{
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
    justify-content: center;
  }
}
