:root{
    --orange:#F86808; --orange-600:#DC5A06; --orange-700:#B5490A; --orange-50:#FEF3E9; --orange-100:#FDE2C8;
    --ink:#181818; --ink-900:#141414; --charcoal:#3E434B; --slate:#334155; --gray:#606060; --muted:#71757C;
    --line:#EAE6DF; --line-2:#EDE8DF; --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:14px; --r-xl:20px; --r-pill:999px;
    --e1:0 1px 2px rgba(20,20,20,.05), 0 1px 3px rgba(20,20,20,.05);
    --e2:0 12px 34px rgba(20,20,20,.10);
    --e3:0 24px 60px rgba(20,20,20,.14);
    --maxw:1180px;
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:var(--sans);color:var(--slate);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.14;letter-spacing:-.015em;}
  h1{font-size:clamp(31px,5.2vw,58px);font-weight:800;letter-spacing:-.028em;}
  h2{font-size:clamp(27px,3.7vw,40px);font-weight:700;}
  h3{font-size:clamp(19px,2.2vw,23px);font-weight:700;}
  p{margin:0 0 1em;}
  a{color:var(--orange-700);text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}
  .eyebrow{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.17em;text-transform:uppercase;color:var(--orange-700);margin:0 0 14px;display:block;}
  .lead{font-size:clamp(17px,2vw,20px);color:var(--charcoal);line-height:1.6;}
  .muted{color:var(--muted);}
  section{padding:clamp(46px,6vw,70px) 0;}
  .center{text-align:center;} .center .eyebrow{margin-left:auto;margin-right:auto;}
  .sec-head{max-width:640px;margin:0 auto 44px;}
  .uline{border-bottom:4px solid var(--orange);padding-bottom:2px;}

  /* icons via mask (SVGrepo Solar Linear) */
  .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-window{--m:url(../icons/window.svg)} .ic-home{--m:url(../icons/home.svg)} .ic-ruler{--m:url(../icons/ruler.svg)}
  .ic-phone{--m:url(../icons/phone.svg)} .ic-search{--m:url(../icons/search.svg)} .ic-calendar{--m:url(../icons/calendar.svg)}
  .ic-document{--m:url(../icons/document.svg)} .ic-user{--m:url(../icons/user.svg)} .ic-star{--m:url(../icons/star.svg)}
  .ic-shield{--m:url(../icons/shield.svg)} .ic-check{--m:url(../icons/check.svg)} .ic-sun{--m:url(../icons/sun.svg)}
  .ic-palette{--m:url(../icons/palette.svg)} .ic-chat{--m:url(../icons/chat.svg)} .ic-truck{--m:url(../icons/truck.svg)} .ic-settings{--m:url(../icons/settings.svg)}

  /* buttons — FLAT, no glow */
  .btn{font-family:var(--sans);font-weight:700;font-size:15px;border-radius:var(--r-pill);padding:14px 28px;cursor:pointer;
    border:1.6px solid transparent;transition:background .18s,transform .18s,border-color .18s,color .18s;display:inline-flex;align-items:center;gap:9px;letter-spacing:.01em;text-decoration:none;}
  .btn-primary{background:var(--orange);color:#fff;}
  .btn-primary:hover{background:var(--orange-600);transform:translateY(-2px);}
  .btn-secondary{background:transparent;color:var(--ink);border-color:var(--line);}
  .btn-dark{background:var(--ink);color:#fff;border-color:var(--ink);} .btn-dark:hover{background:#000;transform:translateY(-2px);}
  .btn-secondary:hover{border-color:var(--ink);}
  .btn-ghost{background:transparent;color:var(--ink);padding-left:6px;padding-right:6px;}
  .btn-ghost:hover{color:var(--orange-700);}
  .btn-light{background:#fff;color:var(--ink);} .btn-light:hover{background:var(--cream);transform:translateY(-2px);}
  .btn-lg{padding:16px 34px;font-size:16px;}
  .btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
  .btn-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08);}

  /* promo bar */
  .promo{background:var(--ink);color:#f3ede4;font-size:13.5px;text-align:center;padding:9px 40px;position:relative;}
  .promo b{color:var(--orange);} .promo a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
  .promo .x{position:absolute;right:14px;top:50%;transform:translateY(-50%);cursor:pointer;opacity:.6;background:none;border:none;color:#fff;font-size:18px;line-height:1;}
  .promo .x:hover{opacity:1;}

  /* header */
  header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .2s;}
  header.nav.scrolled{box-shadow:0 6px 24px rgba(20,20,20,.07);}
  .nav .row{display:flex;align-items:center;gap:22px;height:74px;transition:height .2s;}
  header.nav.scrolled .row{height:62px;}
  .nav .logo img{height:38px;width:auto;}
  .nav .menu{display:flex;gap:24px;margin-left:14px;}
  .nav .menu a{color:var(--charcoal);font-size:15px;font-weight:500;padding:6px 0;position:relative;}
  .nav .menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--orange);transition:right .22s;}
  .nav .menu a:hover{color:var(--ink);} .nav .menu a:hover::after{right:0;}
  .nav .cta{margin-left:auto;display:flex;align-items:center;gap:14px;}
  .nav .tel{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--ink);font-size:15px;white-space:nowrap;}
  .nav .tel .ic{color:var(--orange-700);}
  .burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;margin-left:auto;}
  .burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.2s;}
  .mobile-menu{display:none;flex-direction:column;padding:10px 26px 22px;border-bottom:1px solid var(--line);background:#fff;}
  .mobile-menu a{padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:500;}
  .mobile-menu .btn{margin-top:14px;justify-content:center;}
  @media(max-width:1120px){
    .nav .menu,.nav .tel{display:none;}
    .burger{display:flex;}
    .nav .cta{margin-left:0;}
    .nav .cta .btn{display:none;}
    .mobile-menu.open{display:flex;}
  }

  /* hero */
  .hero{position:relative;color:#fff;overflow:hidden;background:var(--ink);}
  .hero::before{content:"";position:absolute;inset:0;background:url(https://thecurtainusa.com/wp-content/uploads/2024/10/KakaoTalk_20240801_151248363-1.jpg) center/cover;z-index:0;}
  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;border:0;pointer-events:none;}
  .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(18,18,18,.9) 22%,rgba(18,18,18,.5) 70%,rgba(18,18,18,.25));z-index:2;}
  @keyframes kb{from{transform:scale(1.05)}to{transform:scale(1.16)}}
  .hero .wrap{position:relative;z-index:3;padding-top:96px;padding-bottom:104px;max-width:1180px;}
  .hero .inner{max-width:660px;}
  .hero .eyebrow{color:var(--orange);}
  .hero h1{color:#fff;margin-bottom:18px;}
  .hero p.sub{font-size:clamp(17px,2vw,20px);color:#ece7df;max-width:52ch;margin-bottom:28px;}
  .hero .actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
  .hero .trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.16);color:#e6e1d9;font-size:14px;font-weight:600;}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
  .hero-call{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:#fff;font-weight:600;font-size:14.5px;opacity:.92;}
  .hero-call:hover{opacity:1;} .hero-call .ic{color:var(--orange);width:18px;height:18px;}
  .hero-form{background:#fff;border-radius:var(--r-lg);padding:26px 24px;box-shadow:0 26px 60px rgba(8,8,8,.4);width:100%;max-width:400px;justify-self:end;animation:fu .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:.35s;}
  .hero-form h3{font-family:var(--slab);font-size:21px;color:var(--ink);margin:0 0 3px;line-height:1.2;}
  .hero-form .hf-sub{font-size:13.5px;color:var(--muted);margin:0 0 16px;}
  .hero-form form{display:flex;flex-direction:column;gap:10px;}
  .hero-form input{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;}
  .hero-form input::placeholder{color:#9aa0a6;}
  .hero-form input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(248,104,8,.15);}
  .hero-form .btn{margin-top:4px;}
  .hero-form .hf-fine{text-align:center;font-size:12.5px;color:var(--muted);margin:12px 0 0;}
  .hero-form .hf-fine .g{color:#FBBC04;}
  .hf-success{text-align:center;padding:14px 4px;}
  .hf-success .hf-ic{width:52px;height:52px;border-radius:50%;background:#EAF6EE;color:var(--success);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
  .hf-success h3{font-family:var(--slab);font-size:20px;color:var(--ink);margin:0 0 6px;}
  .hf-success p{font-size:14px;color:var(--charcoal);margin:0;line-height:1.5;}
  @media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:24px;} .hero-form{justify-self:stretch;max-width:none;} .hero .inner{max-width:none;} .hero p.sub{max-width:none;}}
  .hero .trust .t{display:inline-flex;align-items:center;gap:9px;} .hero .trust .ic{color:var(--orange);}
  .hero .stars{color:var(--orange);letter-spacing:1px;}

  /* trust strip */
  .strip{background:var(--cream);border-bottom:1px solid var(--line);}
  .strip .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;padding-top:26px;padding-bottom:26px;}
  .strip .item{display:flex;align-items:center;gap:12px;flex:1;min-width:210px;}
  .strip .ic{width:30px;height:30px;color:var(--orange-600);}
  .strip .item b{display:block;font-family:var(--slab);color:var(--ink);font-size:16px;font-weight:700;line-height:1.2;}
  .strip .item span{font-size:13px;color:var(--muted);}

  /* category grid */
  .cats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  @media(max-width:900px){.cats{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.cats{grid-template-columns:1fr;}}
  .cat{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/3.5;box-shadow:var(--e1);display:block;color:#fff;}
  .cat img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
  .cat:hover img{transform:scale(1.06);}
  .cat .ov{position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(20,20,20,.82));display:flex;flex-direction:column;justify-content:flex-end;padding:18px;}
  .cat .ov h3{color:#fff;margin:0;font-size:19px;}
  .cat .ov .go{font-size:13px;font-weight:600;color:#fbd9bd;display:inline-flex;align-items:center;gap:6px;margin-top:3px;opacity:0;transform:translateY(6px);transition:.25s;}
  .cat:hover .ov .go{opacity:1;transform:none;}
  .cat .tag{position:absolute;top:12px;left:12px;background:var(--orange);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:var(--r-pill);letter-spacing:.03em;z-index:2;}

  /* feature cards */
  .feats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media(max-width:900px){.feats{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.feats{grid-template-columns:1fr;}}
  .feat{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;box-shadow:var(--e1);transition:transform .2s,box-shadow .2s;}
  .feat:hover{transform:translateY(-4px);box-shadow:var(--e2);}
  .feat .fi{width:50px;height:50px;border-radius:13px;background:var(--orange-50);color:var(--orange-600);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
  .feat .fi .ic{width:26px;height:26px;}
  .feat h3{font-size:19px;margin-bottom:8px;}
  .feat p{font-size:14.5px;color:var(--charcoal);margin:0;}

  /* process */
  .process{background:var(--white);}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step;}
  @media(max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.steps{grid-template-columns:1fr;}}
  .step{position:relative;padding-top:8px;}
  .step .num{font-family:var(--slab);font-weight:800;font-size:15px;color:#fff;background:var(--ink);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
  .step h3{font-size:18px;margin-bottom:6px;}
  .step p{font-size:14px;color:var(--charcoal);margin:0;}
  .step .fi{width:64px;height:64px;border-radius:16px;background:var(--orange-50);color:var(--orange-600);display:flex;align-items:center;justify-content:center;margin-bottom:16px;} .step .fi .ic{width:34px;height:34px;}

  /* hunter douglas band */
  .hd{position:relative;color:#fff;overflow:hidden;background-color:var(--ink);}
  .hd::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(18,18,18,.86),rgba(18,18,18,.9)),url(../texture-dark.jpg) center/cover;z-index:0;}
  .hd .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
  @media(max-width:860px){.hd .wrap{grid-template-columns:1fr;gap:28px;}}
  .hd h2{color:#fff;} .hd .eyebrow{color:var(--orange);} .hd p{color:#ded8cf;}
  .hd .hd-img{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e3);aspect-ratio:4/3;}
  .hd .hd-img img{width:100%;height:100%;object-fit:cover;}
  .hd ul{list-style:none;padding:0;margin:16px 0 26px;}
  .hd ul li{display:flex;gap:11px;align-items:flex-start;padding:6px 0;color:#ece7df;font-size:15px;}
  .hd ul li .ic{color:var(--orange);width:20px;height:20px;margin-top:2px;flex:none;}

  /* gallery */
  .gtabs{display:flex;justify-content:center;gap:8px;margin-bottom:26px;flex-wrap:wrap;}
  .gtabs button{background:#fff;border:1.5px solid var(--line);color:var(--charcoal);font-family:var(--sans);font-weight:600;font-size:14px;padding:9px 20px;border-radius:var(--r-pill);cursor:pointer;transition:.18s;}
  .gtabs button.active{background:var(--ink);color:#fff;border-color:var(--ink);}
  .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  @media(max-width:820px){.gallery{grid-template-columns:repeat(2,1fr);}}
  .gitem{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--e1);position:relative;}
  .gitem img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
  .gitem:hover img{transform:scale(1.06);}
  .gitem .cap{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 12px;background:linear-gradient(transparent,rgba(20,20,20,.75));color:#fff;font-size:13px;font-weight:600;opacity:0;transition:.25s;}
  .gitem:hover .cap{opacity:1;}
  .gitem.hide{display:none;}

  /* reviews */
  .reviews{background:var(--cream);}
  .rev-top{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:38px;flex-wrap:wrap;}
  .rev-top .big{font-family:var(--slab);font-size:44px;font-weight:800;color:var(--ink);line-height:1;}
  .rev-top .stars{color:#FBBC04;font-size:20px;letter-spacing:2px;}
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media(max-width:900px){.rev-grid{grid-template-columns:1fr;}}
  .rev{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--e1);display:flex;flex-direction:column;}
  .rev .stars{color:#FBBC04;font-size:16px;letter-spacing:2px;margin-bottom:12px;}
  .rev .q{color:var(--charcoal);font-size:14.5px;line-height:1.6;margin:0;}
  .rev-head{display:flex;align-items:center;gap:11px;margin-bottom:14px;}
  .rev-head .av{width:40px;height:40px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:17px;flex:none;}
  .rev-head .rev-id{flex:1;min-width:0;} .rev-head .rev-id b{display:block;color:var(--ink);font-size:15px;line-height:1.2;} .rev-head .rev-id span{font-size:12.5px;color:var(--muted);}
  .rev-head .g-badge{width:20px;height:20px;flex:none;align-self:flex-start;}
  .hero .trust .stars{color:#FBBC04;}
  .hero .trust .g-mark{width:18px;height:18px;vertical-align:middle;} .hero .trust .hd-mark{height:16px;width:auto;vertical-align:middle;}

  /* areas */
  .areas{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin:0;}
  .areas-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;}
  .nj-map{display:flex;justify-content:center;}
  .nj-map img{max-height:390px;width:auto;filter:drop-shadow(0 14px 32px rgba(20,20,20,.13));}
  .proc-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;}
  .proc-grid .steps{grid-template-columns:repeat(2,1fr);gap:28px 24px;}
  .proc-img{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e2);aspect-ratio:4/3;}
  .proc-img img{width:100%;height:100%;object-fit:cover;display:block;}
  @media(max-width:860px){.areas-grid,.proc-grid{grid-template-columns:1fr;gap:26px;} .nj-map img{max-height:300px;} .proc-img{order:-1;} .areas{justify-content:center;}}
  .area{background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:10px 20px;font-size:14.5px;font-weight:600;color:var(--charcoal);transition:.18s;display:inline-flex;align-items:center;gap:8px;}
  .area:hover{border-color:var(--orange);color:var(--orange-700);}
  .area .ic{width:15px;height:15px;color:var(--orange-600);}

  /* final CTA */
  .final{position:relative;color:#fff;overflow:hidden;background:var(--ink);text-align:center;}
  .final::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(18,18,18,.5),rgba(18,18,18,.72)),url(../hero.jpg) center/cover;z-index:0;}
  .final .wrap{position:relative;z-index:1;}
  .final h2{color:#fff;} .final .eyebrow{color:var(--orange);}
  .final p{color:#ece7df;max-width:52ch;margin:0 auto 26px;}
  .final .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .final .hours{margin-top:24px;font-size:14px;color:#cfc9bf;}

  /* footer */
  footer{background-color:var(--ink);background-image:linear-gradient(rgba(18,18,18,.92),rgba(18,18,18,.95)),url(../texture-dark.jpg);background-size:cover;color:#cfc9bf;padding:60px 0 30px;}
  footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:36px;}
  @media(max-width:820px){footer .cols{grid-template-columns:1fr 1fr;gap:28px;}}
  @media(max-width:520px){footer .cols{grid-template-columns:1fr;}}
  footer .logo img{height:34px;margin-bottom:14px;}
  .foot-wm{font-family:var(--sans);font-weight:900;letter-spacing:-.02em;font-size:26px;color:#fff;margin-bottom:10px;line-height:1;}
  .foot-wm .o{color:var(--orange);}
  footer h4{color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
  footer a{color:#cfc9bf;font-size:14.5px;}
  footer a:hover{color:var(--orange);}
  footer ul{list-style:none;padding:0;margin:0;} footer li{padding:5px 0;}
  footer .np{font-size:14.5px;line-height:1.8;}
  footer .np b{color:#fff;}
  .soc{display:flex;gap:10px;margin-top:14px;}
  .soc a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:.2s;}
  .soc a:hover{background:var(--orange);transform:translateY(-2px);}
  .soc img{width:17px;height:17px;filter:brightness(0) invert(1);}
  footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;font-size:12.5px;color:#9b958c;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

  /* animation */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,.7,.2,1),transform .7s cubic-bezier(.22,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
  .hero .inner>*{animation:fu .8s cubic-bezier(.2,.7,.2,1) both;}
  .hero .eyebrow{animation-delay:.05s}.hero h1{animation-delay:.16s}.hero .sub{animation-delay:.28s}.hero .actions{animation-delay:.4s}.hero .trust{animation-delay:.52s}
  @keyframes fu{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
  /* carousels — turn tall stacked grids into single-row slideshows */
  .carousel-wrap{position:relative;}
  .carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .carousel::-webkit-scrollbar{display:none;}
  .carousel>*{scroll-snap-align:start;flex:0 0 auto;}
  .carousel.c4>*{width:calc((100% - 48px)/4);}
  .carousel.c3>*{width:calc((100% - 32px)/3);}
  @media(max-width:900px){.carousel.c4>*,.carousel.c3>*{width:calc((100% - 16px)/2);}}
  @media(max-width:560px){.carousel.c4>*,.carousel.c3>*{width:84%;}}
  .car-btn{position:absolute;top:calc(50% - 12px);transform:translateY(-50%);width:46px;height:46px;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:22px;line-height:1;transition:background .18s,opacity .2s;}
  .car-btn:hover{background:var(--cream);}
  .car-btn.prev{left:-16px} .car-btn.next{right:-16px}
  .car-btn[disabled]{opacity:0!important;pointer-events:none;}
  @media(max-width:760px){.car-btn{display:none;}}
  /* keep the two CTAs side-by-side (not stacked) on small screens */
  .lg-txt{display:inline}.sm-txt{display:none}
  @media(max-width:600px){
    .hero .actions,.final .actions{flex-wrap:nowrap;gap:10px;}
    .hero .actions .btn,.final .actions .btn{flex:1 1 0;justify-content:center;padding:13px 12px;font-size:14px;white-space:nowrap;}
    .lg-txt{display:none}.sm-txt{display:inline}
    .hero .wrap{padding-top:66px;padding-bottom:72px;}
    section{padding:44px 0;}
    .sec-head{margin-bottom:30px;}
  }
  @media(prefers-reduced-motion:reduce){*{animation:none!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}.hero::before{animation:none}.carousel{scroll-behavior:auto;}}


/* --- 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;}
}

/* Hero button row — replaced the small "Prefer to talk?" text link. */
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.hero-cta .btn{display:inline-flex;align-items:center;gap:9px;}
.hero-cta .btn .ic{width:18px;height:18px;}
@media(max-width:560px){
  .hero-cta{gap:10px;}
  .hero-cta .btn{flex:1 1 100%;justify-content:center;padding:13px 20px;font-size:14.5px;}
}

/* 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;
  }
}
