/* CleanPro 360 — design concept. Fluid from 320px up; sizes scale with viewport/containers, columns reflow only at minimum sizes. */
@font-face{font-family:"Barlow Condensed";src:url(/fonts/barlow-condensed-semibold.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/barlow-condensed-bold.woff) format("woff");font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-400.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-600.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-700.woff) format("woff");font-weight:700;font-display:swap}
:root{
 --navy:#0B1F3F;--navy2:#12305E;--blue:#0B4EA2;--blue2:#1663C7;--sky:#EAF2FC;--sky2:#D7E6F8;
 --green:#1D7A3B;--green2:#166331;--greenl:#E6F3EA;--red:#B3262D;
 --ink:#0E1A2C;--body:#3A4759;--muted:#5A687D;--line:#E2E8F0;--soft:#F4F7FB;--white:#fff;
 --gut:clamp(16px,4.2vw,48px);--max:1280px;--r:16px;--r2:24px;
 --sh1:0 1px 2px rgba(11,31,63,.06),0 4px 14px rgba(11,31,63,.06);
 --sh2:0 2px 4px rgba(11,31,63,.05),0 18px 40px -12px rgba(11,31,63,.22);
 --sec:clamp(44px,1.75rem + 3vw,64px);
 --fs-h1:clamp(2.6rem,1.6rem + 4.2vw,5.1rem);
 --fs-h2:clamp(2.1rem,1.5rem + 2.4vw,3.6rem);
 --fs-body:clamp(1rem,.97rem + .15vw,1.075rem);
 --fs-lead:clamp(1.0625rem,1rem + .35vw,1.25rem);
 --head:"Barlow Condensed","Arial Narrow",sans-serif;
 --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:var(--sans);font-size:var(--fs-body);line-height:1.65;color:var(--body);background:#fff;overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;color:var(--ink);line-height:1.02;letter-spacing:.01em;margin:0;text-wrap:balance}
p,li,blockquote,figcaption,dd,summary{text-wrap:pretty;hyphens:manual;overflow-wrap:normal}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
.nw{white-space:nowrap}
.wrap{width:100%;max-width:calc(var(--max) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:#fff;padding:12px 16px;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--blue2);outline-offset:3px;border-radius:6px}
.ic{width:1.25em;height:1.25em;flex:none}
.cq{container-type:inline-size}

/* fitted headings: each line stays on one line and shrinks with its container */
.fit{container-type:inline-size;width:100%}
.fl{display:block;white-space:nowrap;font-size:min(1em,calc(100cqi / var(--w)))}
h1.fit,.h1{font-size:var(--fs-h1);line-height:.98}
h2.fit{font-size:var(--fs-h2);line-height:1}
.fl-blue{color:var(--blue)}
.fl-360{color:var(--red)}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 .8125rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 16px}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
.eb-light{color:#8FD6A5}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--body);max-width:40em;margin:22px 0 0}
.sec{padding-block:var(--sec)}
.soft{background:var(--soft)}
.sec-head{margin-bottom:clamp(32px,2rem + 2vw,64px)}
.sec-head.center{text-align:center;max-width:860px;margin-inline:auto}
.sec-head.center .eyebrow{justify-content:center}
.sec-head.split{display:grid;gap:20px 64px;align-items:start;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}
.sec-head.split .sec-p{margin:0}
.sec-p{font-size:var(--fs-lead);color:var(--muted);margin:20px 0 0;max-width:46em}
.center .sec-p{margin-inline:auto}

/* buttons: label always one line; shrinks fluidly on the narrowest screens */
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn-row.center{justify-content:center}
.btn{--fs:clamp(1.0625rem,1rem + .2vw,1.1875rem);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;
 font:600 min(var(--fs),calc((100vw - var(--gut)*2 - 56px) / var(--bw)))/1 var(--head);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;text-decoration:none;
 border:2px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease),box-shadow .2s;max-width:100%}
.btn .bi{width:1.15em;height:1.15em}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 8px 20px -8px rgba(29,122,59,.6)}
.btn-primary:hover{background:var(--green2)}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--sky2)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn-outline{background:transparent;color:var(--blue);border-color:currentColor}
.btn-outline:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-light{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.45)}
.btn-light:hover{background:#fff;color:var(--navy)}
.btn-sm{min-height:44px;padding:0 18px;--fs:1rem}
.btn-block{width:100%}

/* top bar + header */
.topbar{background:var(--navy);color:#C9D6EA;font-size:.875rem}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:40px}
.topbar p{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
.topbar .ic{width:16px;height:16px;color:#8FD6A5}
.tb-dot{width:4px;height:4px;border-radius:50%;background:#4D6591;margin:0 6px}
.tb-contact{gap:24px!important}
.tb-contact a{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none}
.tb-contact a:hover{color:#8FD6A5}
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:box-shadow .25s,border-color .25s}
.hdr.scrolled{box-shadow:0 6px 24px -12px rgba(11,31,63,.25);border-color:var(--line)}
.hdr-in{display:flex;align-items:center;gap:clamp(12px,2vw,32px);min-height:clamp(68px,5.6vw,84px)}
.logo{flex:none;display:block}
.logo img{width:clamp(124px,10vw + 40px,168px);height:auto}
.nav{flex:1;display:flex;justify-content:center}
.nav-list{display:flex;gap:clamp(4px,.6vw,12px)}
.nav-btn,.nav-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:0;background:none;border-radius:10px;font:600 .975rem/1 var(--sans);color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap}
.nav-btn .cv{width:16px;height:16px;transition:transform .2s}
.nav-btn:hover,.nav-link:hover,.has-mm.open>.nav-btn{background:var(--soft);color:var(--blue)}
.is-current>.nav-btn,.nav-link[aria-current]{color:var(--blue)}
.hdr-in{position:relative}
.has-mm{position:static}
.has-mm.open>.nav-btn .cv{transform:rotate(180deg)}
.mm{position:absolute;left:50%;top:calc(100% + 6px);transform:translate(var(--mm-tx,-50%),6px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s var(--ease),visibility .2s;z-index:60}
.has-mm.open>.mm{opacity:1;visibility:visible;transform:translate(var(--mm-tx,-50%),0)}
.mm::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:calc((clamp(68px,5.6vw,84px) - 44px)/2 + 7px)}
.mm-in{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh2);padding:20px;display:flex;gap:12px}
.mm-svc .mm-in{width:min(880px,calc(100vw - var(--gut)*2 - 16px))}
.mm-ind .mm-in{width:min(620px,calc(100vw - var(--gut)*2 - 16px))}
.mm-ab .mm-in{width:260px;padding:10px}
.mm-col{flex:1;min-width:0}
.mm-head{display:block;padding:10px 12px;border-radius:12px;text-decoration:none;font:700 1.25rem/1.1 var(--head);text-transform:uppercase;color:var(--ink);margin:0 0 6px}
.mm-head small{display:block;font:400 .85rem/1.4 var(--sans);text-transform:none;color:var(--muted);margin-top:4px}
a.mm-head:hover{background:var(--soft)}
.mm-col li a{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;text-decoration:none;color:var(--ink)}
.mm-col li a:hover,.mm-col li a[aria-current]{background:var(--soft)}
.mm-col li b{display:block;font:600 .95rem/1.3 var(--sans)}
.mm-col li small{display:block;color:var(--muted);font-size:.84rem;line-height:1.4;margin-top:2px}
.mm-ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--sky);color:var(--blue)}
.mm-ic .ic{width:20px;height:20px}
.mm-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.mm-grid a{align-items:center!important}
.mm-promo{flex:0 0 clamp(190px,18vw,230px);background:linear-gradient(160deg,var(--navy),var(--navy2));color:#C9D6EA;border-radius:14px;padding:22px;font-size:.9rem;line-height:1.5}
.mm-promo-t{font:700 clamp(1.05rem,1.5vw,1.4rem)/1.05 var(--head);white-space:nowrap;color:#fff;text-transform:uppercase;margin:0 0 8px}
.mm-simple a{display:block;padding:11px 14px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.mm-simple a:hover,.mm-simple a[aria-current]{background:var(--soft);color:var(--blue)}
.hdr-cta{display:flex;align-items:center;gap:14px;margin-left:auto}
.hdr-phone{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);text-decoration:none;white-space:nowrap;min-height:44px}
.hdr-phone .ic{color:var(--green)}
.btn-hdr{min-height:46px;padding:0 20px;--fs:1.0625rem}
.burger{display:none;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);cursor:pointer}
.burger .ic{width:24px;height:24px}
@media (max-width:1180px){.hdr-phone span{display:none}.hdr-phone{width:44px;justify-content:center;border:1px solid var(--line);border-radius:12px}}
@media (max-width:1023px){.nav{display:none}.burger{display:grid}.hdr-cta .btn-hdr{display:none}.hdr-phone{display:none}}
@media (max-width:767px){.tb-trust{display:none!important}.topbar-in{justify-content:center;min-height:34px}}
@media (min-width:600px) and (max-width:1023px){.hdr-cta .btn-hdr{display:inline-flex}}

/* drawer */
.drawer{position:fixed;inset:0;z-index:100;background:#fff;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;animation:drIn .28s var(--ease)}
@keyframes drIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.drawer[hidden]{display:none}
.dr-top{display:flex;justify-content:space-between;align-items:center;padding:12px var(--gut);border-bottom:1px solid var(--line);min-height:68px}
.dr-close{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy)}
.dr-nav{padding:8px var(--gut);flex:1}
.dr-grp{border-bottom:1px solid var(--line)}
.dr-grp summary,.dr-link{display:flex;justify-content:space-between;align-items:center;min-height:60px;font:700 1.5rem/1 var(--head);text-transform:uppercase;color:var(--ink);cursor:pointer;list-style:none;text-decoration:none}
.dr-grp summary::-webkit-details-marker{display:none}
.dr-grp[open] summary .cv{transform:rotate(180deg)}
.dr-grp .cv{transition:transform .2s;color:var(--blue)}
.dr-grp ul{padding:0 0 14px}
.dr-grp a{display:flex;align-items:center;min-height:48px;padding:0 14px;border-radius:10px;color:var(--body);text-decoration:none;font-size:1.0625rem}
.dr-svcs{padding:0 0 14px}
.dr-svcs .dr-svc{padding:0}
.dr-svc+.dr-svc{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.dr-svc-h a{font-weight:700;color:var(--ink)}
.dr-svc li:not(.dr-svc-h) a{padding-left:28px}
.dr-grp a[aria-current]{background:var(--sky);color:var(--blue);font-weight:600}
.dr-foot{padding:20px var(--gut) 28px;display:grid;gap:12px;background:var(--soft)}
.dr-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 0;color:var(--muted);font-size:.95rem}
.dr-note .ic{color:var(--green)}
body.dr-open{overflow:hidden}

/* home hero */
.hhero,.phero{position:relative;background:radial-gradient(1200px 600px at 85% -10%,var(--sky) 0,rgba(234,242,252,0) 60%),linear-gradient(180deg,#fff 0,var(--soft) 100%);overflow:hidden}
.hhero::before,.phero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(11,78,162,.09) 1px,transparent 1.2px);background-size:22px 22px;mask-image:linear-gradient(90deg,#000,transparent 55%);pointer-events:none}
.hhero-in,.phero-in{position:relative;display:grid;gap:clamp(32px,4vw,72px);align-items:center;padding-block:clamp(40px,3rem + 3vw,112px) clamp(44px,2rem + 2.4vw,80px)}
@media (min-width:960px){.hhero-in{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.phero-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.hh1 .fl-360{font-size:.62em;margin-top:.12em;letter-spacing:.02em}
.hhero-media,.phero-media{position:relative}
.hhero-media img,.phero-media img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:var(--pos,50% 40%);border-radius:var(--r2);box-shadow:var(--sh2)}
@media (max-width:959px){.hhero-media img,.phero-media img{aspect-ratio:16/11}}
.hhero-media::after,.phero-media::after{content:"";position:absolute;z-index:-1;inset:auto -18px -18px auto;width:55%;height:60%;border-radius:var(--r2);background:linear-gradient(135deg,var(--green),#3BA55C);opacity:.14}
.float-quote{position:absolute;left:clamp(-28px,-2vw,0px);bottom:clamp(-28px,-1.5vw,-12px);margin:0;max-width:min(330px,82%);background:#fff;border-radius:18px;padding:18px 20px;box-shadow:var(--sh2);font-size:.95rem;line-height:1.5}
@media (max-width:959px){.float-quote{position:relative;left:auto;bottom:auto;max-width:none;margin-top:16px}.hhero-media::after{inset:auto -10px -10px auto}}
.float-quote blockquote{margin:8px 0 6px;color:var(--ink);font-weight:600}
.float-quote blockquote p{margin:0}
.float-quote figcaption{color:var(--muted);font-size:.85rem}
.stars{display:inline-flex;gap:2px;color:#F2A900}
.stars .st{width:18px;height:18px;fill:currentColor;stroke:none}
.mini-trust{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px;color:var(--ink);font-weight:600;font-size:.95rem}
.mini-trust li{display:flex;align-items:center;gap:8px}
.mini-trust .ic{color:var(--green);width:20px;height:20px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;font-size:.875rem;margin:0 0 18px;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:#A9B4C4}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--blue);text-decoration:underline}

/* press */
.press{background:#fff}
.press-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px;padding-block:22px}
.press-t{display:flex;align-items:center;gap:10px;margin:0;font:600 .8125rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.press-t .ic{color:var(--blue)}
.press-list{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(14px,4vw,64px);min-width:0;max-width:100%}
.press-list li{flex:0 1 auto;min-width:0}
.press-list a{display:flex;align-items:center;padding:6px 0;min-height:44px}
.press-list img{height:auto;width:auto;max-width:100%;max-height:clamp(26px,2vw + 12px,38px);filter:grayscale(1);opacity:.75;transition:filter .25s,opacity .25s}
.press-list a:hover img{filter:none;opacity:1}

/* benefits (home) */
.ben-in{display:grid;gap:clamp(32px,4vw,80px)}
@media (min-width:1080px){.ben-in{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}.ben-head{position:sticky;top:120px}}
.ben-head .btn{margin-top:28px}
.ben-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:16px}
.ben{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0;padding:clamp(20px,9cqi,30px);border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:box-shadow .25s,transform .25s var(--ease),border-color .25s}
.ben:hover{box-shadow:var(--sh2);transform:translateY(-3px);border-color:transparent}
.ben-ic,.why-ic,.step-ic,.ts-ic,.card-ic,.feat-ic{display:grid;place-items:center;border-radius:14px;background:var(--sky);color:var(--blue)}
.ben-ic{width:clamp(44px,19cqi,56px);height:clamp(44px,19cqi,56px);margin-bottom:18px}
.ben-ic .ic{width:50%;height:50%}
.ben h3{font-size:clamp(1.15rem,10cqi,1.5rem);margin-bottom:8px}
.ben p{margin:0;font-size:clamp(.875rem,6.6cqi,1rem);line-height:1.55;color:var(--muted)}

/* service cards with subgrid alignment */
.services .checks-row{display:flex;flex-wrap:wrap;gap:10px 12px;margin:-16px 0 clamp(36px,4vw,56px)}
.checks-row li{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--greenl);color:#14532A;border-radius:999px;font-weight:600;font-size:.95rem}
.ck{color:var(--green);width:18px;height:18px;stroke-width:2.4}
.svc-group{display:grid;gap:20px 40px;margin-top:clamp(28px,3vw,48px)}
@media (min-width:1100px){.svc-group{grid-template-columns:240px minmax(0,1fr)}}
.sg-t{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);text-transform:uppercase}
.sg-t a{color:inherit;text-decoration:none}
.sg-head p{color:var(--muted);margin:10px 0 12px;font-size:.98rem}
.sg-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;min-height:44px}
.sg-link .ic,.more .ic{transition:transform .2s}
.sg-link:hover .ic{transform:translateX(4px)}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:20px}
.svc-grid.svc-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.card,.ind-card{display:grid;grid-row:span 4;grid-template-rows:subgrid;gap:0}
.card>a,.ind-card>a{display:grid;grid-row:span 4;grid-template-rows:subgrid;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .3s,transform .3s var(--ease),border-color .3s}
.card>a:hover,.ind-card>a:hover{box-shadow:var(--sh2);transform:translateY(-4px);border-color:transparent}
.card-body,.ind-body{display:contents}
.card-ph,.ind-ph{position:relative;overflow:hidden;background:var(--soft)}
.card-ph img,.ind-ph img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card>a:hover img,.ind-card>a:hover img{filter:none}
.card-ic{position:absolute;left:clamp(14px,7cqi,22px);bottom:-1px;transform:translateY(50%);width:clamp(44px,17cqi,56px);height:clamp(44px,17cqi,56px);background:#fff;box-shadow:var(--sh1)}
.card-ph{overflow:visible}
.card-ph img{border-radius:var(--r) var(--r) 0 0}
.card-ic .ic{width:50%;height:50%}
.ct{font-size:clamp(1.2rem,9.5cqi,1.6rem);padding:clamp(34px,13cqi,44px) clamp(18px,8cqi,26px) 8px}
.ind-body .ct{padding-top:clamp(16px,7cqi,22px)}
.card-body p,.ind-body p{margin:0;padding:0 clamp(18px,8cqi,26px);font-size:clamp(.875rem,6.4cqi,1rem);line-height:1.55;color:var(--muted)}
.more{display:inline-flex;align-items:center;gap:8px;padding:16px clamp(18px,8cqi,26px) clamp(18px,8cqi,24px);font:600 .9375rem/1 var(--sans);color:var(--blue);align-self:end;min-height:44px}
a:hover .more .ic{transform:translateX(4px)}
.ind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,224px),1fr));gap:18px}
.ind-ph img{aspect-ratio:3/2}

/* steps */
.path.dark{background:radial-gradient(900px 500px at 10% 0,rgba(22,99,199,.35),transparent 60%),var(--navy);color:#C9D6EA}
.path.dark h2,.path.dark h3{color:#fff}
.path.dark .sec-p{color:#B7C6DE}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:16px;counter-reset:s}
.step{position:relative;display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0;padding:clamp(20px,10cqi,28px);border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.dark .step{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.step-n{position:absolute;right:clamp(14px,8cqi,22px);top:clamp(12px,7cqi,20px);font:700 clamp(1.8rem,18cqi,2.6rem)/1 var(--head);color:var(--sky2)}
.dark .step-n{color:rgba(255,255,255,.14)}
.step-ic{width:clamp(44px,22cqi,54px);height:clamp(44px,22cqi,54px);margin-bottom:18px}
.dark .step-ic{background:rgba(143,214,165,.14);color:#8FD6A5}
.step-ic .ic{width:50%;height:50%}
.step h3{font-size:clamp(1.15rem,11cqi,1.45rem);text-transform:uppercase;margin-bottom:8px}
.step p{margin:0;font-size:clamp(.875rem,7.4cqi,1rem);line-height:1.55}
.path .btn-row{margin-top:clamp(32px,3vw,48px)}
.path-below{max-width:62ch;margin:clamp(28px,3vw,40px) auto 0;text-align:center;text-wrap:pretty}
.path-below+.btn-row{margin-top:clamp(20px,2vw,28px)}

/* testimonials */
.t-ctl{display:flex;gap:10px;justify-self:end}
.t-ctl button{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;transition:background .2s,color .2s}
.t-ctl button:hover{background:var(--navy);color:#fff}
.t-prev .ic{transform:rotate(180deg)}
.t-track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gut)*-1);padding:8px var(--gut) 28px;scroll-padding-inline:var(--gut)}
.t-track::-webkit-scrollbar{display:none}
.t-list{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(272px,28vw + 60px,400px);gap:18px}
.tcard{scroll-snap-align:start}
.tcard figure{height:100%;margin:0;display:flex;flex-direction:column;gap:12px;padding:clamp(22px,8cqi,32px);background:#fff;border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh1)}
.t-svc{margin:0;font:600 .8rem/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.tcard blockquote{margin:0;color:var(--ink);font-size:clamp(1rem,4.6cqi,1.075rem);line-height:1.6;flex:1}
.tcard blockquote p{margin:0}
.tcard figcaption{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line);font-size:.95rem}
.tcard figcaption b{display:block;color:var(--ink)}
.tcard figcaption span span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:.9rem}
.tcard figcaption .ic{width:15px;height:15px;color:var(--green)}
.t-av{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sky);color:var(--blue);font:700 1rem/1 var(--head);flex:none}
.share-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px 24px;align-items:center;margin-top:16px;padding:clamp(20px,3vw,28px) clamp(20px,3vw,32px);border-radius:var(--r2);background:var(--soft);border:1px solid var(--line)}
.share-strip p{margin:0;color:var(--muted)}
.ss-t{font:700 1.35rem/1.1 var(--head)!important;color:var(--ink)!important;text-transform:uppercase;margin-bottom:4px!important}
.ss-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;color:var(--green)}
@media (max-width:767px){.share-strip{grid-template-columns:1fr}.share-strip .btn{width:100%}}

/* area */
.area{}
.area-in{display:grid;gap:40px;align-items:center}
@media (min-width:900px){.area-in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.chips li{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;color:var(--ink);font-size:.95rem}
.chips .ic{width:16px;height:16px;color:var(--green)}
.area-note{margin-top:22px;color:var(--muted);font-size:.95rem}
.area-art{position:relative;max-width:440px;justify-self:center;width:100%}
.area-art img{width:100%}
.area-badge{position:absolute;right:0;bottom:6%;background:var(--navy);color:#fff;border-radius:18px;padding:16px 20px;text-align:center;box-shadow:var(--sh2);line-height:1.1}
.area-badge b{display:block;font:700 1.5rem/1 var(--head);text-transform:uppercase}
.area-badge span{color:#8FD6A5}
.area-badge small{display:block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#B7C6DE;margin-top:4px}

/* CTA band */
.cta-band{padding-block:clamp(24px,3vw,48px) clamp(48px,4vw,80px)}
.cta-in{--royal:#1559C4;--royal2:#0E4AAE;position:relative;display:grid;gap:28px;align-items:center;background:var(--royal);border-radius:clamp(20px,2vw,32px);padding:clamp(24px,5vw,72px);overflow:hidden;color:#fff;isolation:isolate}
.cta-in::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.3px) 0 0/22px 22px,linear-gradient(90deg,var(--royal2) 0,var(--royal) 34%,rgba(21,89,196,.92) 44%,rgba(21,89,196,0) 60%);-webkit-mask-image:linear-gradient(90deg,#000 42%,transparent 62%);mask-image:linear-gradient(90deg,#000 42%,transparent 62%)}
.cta-copy .eb-light{color:#fff}
.cta-band .wrap.cta-in{max-width:calc(var(--max));width:calc(100% - var(--gut)*2)}
.cta-copy{max-width:640px;position:relative;z-index:1}
.cta-copy h2{color:#fff;font-size:clamp(2rem,1.4rem + 2.4vw,3.4rem)}
.cta-copy p{font-size:var(--fs-lead);margin:14px 0 0;color:#fff}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1}
.cta-ph{position:absolute;inset:0 0 0 auto;width:62%;z-index:-2}
.cta-ph img{width:100%;height:100%;object-fit:cover;object-position:70% 72%}
@media (max-width:899px){.cta-in::before{background:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.3px) 0 0/22px 22px,linear-gradient(180deg,var(--royal2),var(--royal));-webkit-mask-image:none;mask-image:none}
 .cta-ph{position:relative;inset:auto;width:auto;z-index:0;margin:4px calc(clamp(24px,5vw,72px)*-1) calc(clamp(24px,5vw,72px)*-1);aspect-ratio:16/10;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 28%);mask-image:linear-gradient(180deg,transparent 0,#000 28%)}}

/* footer: white brand column (logo, phone, Instagram) + navy link area */
.ftr{--fb:clamp(250px,22vw,330px);--fpad:clamp(28px,3vw,48px);background:#081830;color:#AFBED6;font-size:.96rem;overflow:hidden}
.ftr-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.ftr-brand{background:#fff;color:var(--muted);padding:clamp(40px,6vw,56px) var(--gut)}
.ftr-brand-in{max-width:calc(var(--max));margin-inline:auto}
.ftr-main{min-width:0;padding:clamp(44px,6vw,72px) var(--gut) 0}
.ftr-main-in{max-width:calc(var(--max));margin-inline:auto}
@media (min-width:1024px){
 .ftr-grid{grid-template-columns:calc(max(0px,(100% - var(--max) - var(--gut)*2)/2) + var(--gut) + var(--fb)) minmax(0,1fr)}
 .ftr-brand{display:flex;justify-content:flex-end;padding:clamp(56px,6vw,88px) var(--fpad) clamp(40px,5vw,64px) var(--gut)}
 .ftr-brand-in{width:calc(var(--fb) - var(--fpad));max-width:none;margin:0}
 .ftr-main{padding:clamp(56px,6vw,88px) var(--gut) 0 var(--fpad)}
 .ftr-main-in{max-width:calc(var(--max) - var(--fb));margin:0}
}
.ftr-top{display:grid;gap:36px 28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
@media (min-width:1024px){.ftr-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(20px,2.4vw,32px)}}
.ftr-logo{display:inline-block;line-height:0}
.ftr-logo img{width:clamp(150px,12vw,176px);height:auto}
.ftr-tag{font:700 1.3rem/1.15 var(--head);text-transform:uppercase;color:var(--ink);margin:20px 0 16px}
.ftr-tag span{display:inline-block}
.ftr-tag li:nth-child(2){color:var(--blue)}
.ftr-tag .r360{color:var(--red)}
.ftr-contact li{display:flex;align-items:center;gap:10px;margin:10px 0}
.ftr-contact a{display:inline-flex;align-items:center;gap:10px;color:var(--navy);font-weight:600;text-decoration:none;min-height:32px}
.ftr-contact a:hover{color:var(--blue)}
.ftr-contact li>span{color:var(--navy);font-weight:600}
.ftr .ic{width:18px;height:18px;color:#8FD6A5}
.ftr-brand .ic{color:var(--green);flex:none}
.ftr-ig{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:10px 18px;border:1px solid var(--line);border-radius:999px;color:var(--navy);font-weight:600;text-decoration:none;min-height:44px;white-space:nowrap}
.ftr-ig:hover{background:var(--soft);color:var(--blue)}
.ftr-col h2{font:700 1.15rem/1 var(--head);letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:6px 0 16px}
.ftr-col a{display:inline-flex;align-items:center;min-height:36px;color:#AFBED6;text-decoration:none}
.ftr-col a:hover{color:#fff}
.ftr-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:clamp(40px,5vw,64px);padding:22px 0 28px;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem}
.ftr-bar p{margin:0}
.ftr-legal{display:flex;flex-wrap:wrap;gap:0 24px}
.ftr-legal a{white-space:nowrap}
.ftr-staff{margin:-16px 0 0;padding:0 0 20px;font-size:.82rem;display:flex;flex-wrap:wrap;gap:0 24px}
.ftr-staff a{color:#7F91AE;display:inline-flex;align-items:center;min-height:44px}
@media (max-width:767px){.ftr-staff{margin-top:0}.ftr-bar{padding-bottom:6px}.ftr-legal{gap:0 20px;font-size:.85rem}.ftr-staff{padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}}
.ftr-legal a{color:#AFBED6;display:inline-flex;align-items:center;min-height:44px}
.mbar{display:none}
@media (max-width:767px){
 body{padding-bottom:76px}
 .mbar{display:grid;grid-template-columns:1fr 2fr;gap:10px;position:fixed;inset:auto 0 0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 24px -12px rgba(11,31,63,.25)}
 .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:999px;font:600 1.0625rem/1 var(--head);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
 .mbar-call{border:2px solid var(--sky2);color:var(--navy)}
 .mbar-call .ic{color:var(--green)}
 .mbar-quote{background:var(--green);color:#fff}
 .ben p,.card-body p,.ind-body p,.step p,.why-card li,.feat p,.prc p,.ts-list p{font-size:1rem!important}
}

/* page hero (inner) */
.phero .lead{max-width:36em}
.phero h1.fit{font-size:clamp(2.4rem,1.5rem + 3.6vw,4.6rem)}

/* trust strip under inner heroes */
.tstrip{position:relative;margin-top:calc(clamp(24px,3vw,48px)*-1);z-index:2}
.tstrip.ts-below{margin-top:0;padding-block:clamp(28px,3vw,44px)}
.ts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));background:#fff;border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh1);overflow:hidden}
.ts-list li{display:flex;gap:12px;align-items:flex-start;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);container-type:inline-size;margin:0 -1px -1px 0}
.ts-ic{flex:none;width:40px;height:40px;border-radius:12px}
.ts-ic .ic{width:22px;height:22px}
.ts-list h3{font-size:clamp(1rem,8.4cqi,1.15rem);text-transform:uppercase;line-height:1.05}
.ts-list h3 .ln{display:block;white-space:nowrap}
.ts-list p{margin:6px 0 0;font-size:clamp(.875rem,6.8cqi,.9375rem);line-height:1.5;color:var(--muted)}

/* generic two-column copy blocks */
.split2{display:grid;gap:clamp(32px,4vw,80px);align-items:start}
@media (min-width:960px){.split2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split2.wide-l{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.prose{font-size:var(--fs-body)}
.prose p{margin:0 0 1.1em}
.prose h2{font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem);margin:1.6em 0 .6em;text-transform:uppercase}
.prose ul{margin:0 0 1.2em;padding-left:0}
.prose ul li{position:relative;padding-left:26px;margin:.4em 0}
.prose ul li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--green)}
.rounded-ph img{width:100%;border-radius:var(--r2);box-shadow:var(--sh2);object-fit:cover}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:clamp(24px,3vw,40px);box-shadow:var(--sh1)}
.panel-navy{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#C9D6EA;border:0}
.panel-navy h3,.panel-navy h2{color:#fff}

/* feature list (icon + title + text) */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px}
.feat{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0;padding:clamp(20px,9cqi,28px);border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.soft .feat{border-color:transparent;box-shadow:var(--sh1)}
.feat-ic{width:clamp(42px,18cqi,52px);height:clamp(42px,18cqi,52px);margin-bottom:16px}
.feat-ic .ic{width:50%;height:50%}
.feat h3{font-size:clamp(1.1rem,9.4cqi,1.4rem);text-transform:uppercase;margin-bottom:8px}
.feat h3.fit .fl{font-size:min(1em,calc(100cqi / var(--w)))}
.feat p{margin:0;font-size:clamp(.875rem,6.6cqi,1rem);line-height:1.55;color:var(--muted)}
.feat .sub{font-weight:600;color:var(--ink);margin-bottom:6px}
.feat-grid.dark-feat .feat{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.dark-feat .feat h3{color:#fff}.dark-feat .feat p{color:#B7C6DE}.dark-feat .feat-ic{background:rgba(143,214,165,.14);color:#8FD6A5}
.feat.span4{grid-row:span 4}

/* why choose */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.why-card{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0;padding:clamp(22px,10cqi,32px);border-radius:var(--r);background:var(--soft)}
.why-ic{width:clamp(44px,19cqi,56px);height:clamp(44px,19cqi,56px);background:#fff;margin-bottom:18px}
.why-ic .ic{width:50%;height:50%}
.why-card h3{font-size:clamp(1.15rem,10cqi,1.5rem);text-transform:uppercase;margin-bottom:14px}
.why-card h3 .ln{display:block;white-space:nowrap}
.why-card h3 .ln+.ln{color:var(--blue)}
.why-card li{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:clamp(.875rem,6.6cqi,1rem);line-height:1.45}
.why-card li .ck{margin-top:.15em}

/* process with photos (service pages) */
.proc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:16px;counter-reset:p}
.prc{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0;align-content:start;background:#fff;border:1px solid var(--line);border-radius:var(--r);min-width:0}
.prc-ph{position:relative;align-self:start;background:linear-gradient(180deg,var(--soft),#fff);display:block;padding:14px 14px 0;border-radius:calc(var(--r) - 1px) calc(var(--r) - 1px) 0 0;overflow:hidden}
.prc-ph img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.prc-ph.photo{padding:0}.prc-ph.photo img{object-fit:cover}
.prc-n{position:absolute;left:12px;top:12px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;font:700 1.15rem/1 var(--head);box-shadow:var(--sh1)}
.prc h3{font-size:clamp(1.05rem,9.6cqi,1.3rem);text-transform:uppercase;padding:18px clamp(16px,9cqi,22px) 6px}
.prc p{margin:0;padding:0 clamp(16px,9cqi,22px) clamp(18px,9cqi,22px);font-size:clamp(.875rem,6.8cqi,.975rem);line-height:1.55;color:var(--muted)}

/* routine grid, after-hours etc */
.inc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px}
.inc-grid li{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;font-weight:600;color:var(--ink)}
.inc-grid .mm-ic{width:44px;height:44px}
.note-card{display:flex;gap:18px;align-items:flex-start;margin-top:16px;padding:22px 24px;border-radius:var(--r);background:var(--greenl);color:#1F4D2E}
.note-card h3{font-size:1.35rem;text-transform:uppercase;color:#14532A;margin-bottom:6px}
.note-card p{margin:0}
.note-card .ic{width:32px;height:32px;color:var(--green);flex:none}
.ah-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ah-tags span{padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;font-weight:600;font-size:.9rem;white-space:nowrap}
.collage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px}
.collage img{width:100%;height:100%;aspect-ratio:3/5;object-fit:cover;border-radius:14px}
.tagline{font:700 clamp(1.3rem,1rem + 1.4vw,2rem)/1.1 var(--head);text-transform:uppercase;text-align:center;margin:0 0 24px;color:var(--ink)}
.tagline span{display:inline-block;white-space:nowrap;margin:0}
.tagline .g{color:var(--green)}.tagline .r{color:var(--red)}.tagline .b{color:var(--blue)}
.ba{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}
.ba figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden}
.ba img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ba figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:999px;background:rgba(11,31,63,.82);color:#fff;font:700 1rem/1 var(--head);letter-spacing:.08em}

/* FAQ */
.faq-in{display:grid;gap:40px}
@media (min-width:960px){.faq-in{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start}.faq-head{position:sticky;top:120px}}
.faq-head .btn{margin-top:24px}
.qa{border-bottom:1px solid var(--line)}
.qa:first-child{border-top:1px solid var(--line)}
.qa summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 4px;min-height:64px;cursor:pointer;list-style:none;font-weight:600;color:var(--ink);font-size:clamp(1rem,.97rem + .2vw,1.1rem);line-height:1.45}
.qa summary::-webkit-details-marker{display:none}
.qa-ic{position:relative;flex:none;width:32px;height:32px;border-radius:50%;background:var(--sky);transition:background .2s,transform .3s var(--ease)}
.qa-ic::before,.qa-ic::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--blue);border-radius:2px}
.qa-ic::after{transform:rotate(90deg);transition:transform .3s var(--ease)}
.qa[open] .qa-ic{background:var(--blue);transform:rotate(180deg)}
.qa[open] .qa-ic::before{background:#fff}.qa[open] .qa-ic::after{transform:rotate(0);background:#fff}
.qa-a{padding:0 4px 22px;color:var(--body);max-width:48em}
.qa-a p:last-child{margin:0}
.faq-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.faq-tabs button{min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:#fff;font:600 .95rem/1 var(--sans);color:var(--ink);cursor:pointer;white-space:nowrap}
.faq-tabs button[aria-selected=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.faq-group h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);text-transform:uppercase;margin:0 0 12px}
.faq-group+.faq-group{margin-top:48px}

/* forms */
.form{display:grid;gap:18px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
.fld{display:grid;gap:8px;border:0;padding:0;margin:0;min-width:0}
.fld label,.fld legend{font-weight:600;color:var(--ink);font-size:.95rem;padding:0}
.req{color:var(--red);margin-left:2px}
.fld input,.fld select,.fld textarea{width:100%;min-height:52px;padding:12px 16px;border:1.5px solid #CBD5E1;border-radius:12px;font:400 1rem/1.4 var(--sans);color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:140px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(22,99,199,.15)}
.fld .err{color:var(--red);font-size:.875rem;margin:0}
.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:var(--red)}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px}
.checks label,.radios label{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1.5px solid #CBD5E1;border-radius:12px;font-weight:500;cursor:pointer;font-size:.975rem}
.checks input,.radios input{width:20px;height:20px;accent-color:var(--green);min-height:0}
.radios{display:flex;flex-wrap:wrap;gap:10px}
.rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.rating input{position:absolute;opacity:0;width:1px;height:1px}
.rating label{cursor:pointer;color:#CBD5E1;padding:4px;min-width:44px;min-height:44px;display:grid;place-items:center}
.rating label .ic{width:32px;height:32px;fill:currentColor;stroke:none}
.rating input:checked~label,.rating label:hover,.rating label:hover~label{color:#F2A900}
.rating input:focus-visible+label{outline:3px solid var(--blue2);border-radius:8px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none;-webkit-user-select:none;pointer-events:none}
.hint{color:var(--muted);font-size:.9rem;margin:0}
.form-msg{margin:0;font-weight:600}
.form-msg.ok{color:var(--green)}.form-msg.bad{color:var(--red)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* contact */
.contact-card li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.contact-card li:last-child{border:0}
.contact-card .mm-ic{background:rgba(143,214,165,.14);color:#8FD6A5}
.contact-card b{display:block;color:#fff}
.contact-card a{color:#fff}
.contact-card small{display:block;color:#B7C6DE;font-size:.9rem}

/* careers / jobs */
.jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.job{display:grid;grid-row:span 4;grid-template-rows:subgrid;gap:0;padding:clamp(22px,9cqi,32px);border-radius:var(--r2);background:#fff;border:1px solid var(--line);box-shadow:var(--sh1)}
.job h3{font-size:clamp(1.25rem,9cqi,1.6rem);text-transform:uppercase;margin:16px 0 10px}
.job p{margin:0 0 20px;color:var(--muted);font-size:clamp(.875rem,6cqi,1rem)}
.job .btn{justify-self:start;align-self:end}

/* news */
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}
.news-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh1)}
.news-card .nlogo{display:flex;align-items:center;padding:20px 24px;min-height:84px;border-bottom:1px solid var(--line)}
.news-card .nlogo img{max-height:40px;width:auto}
.news-card .nph img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.news-card time{display:block;padding:20px 24px 0;font:600 .8rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.news-card h3{padding:10px 24px 0;font-size:clamp(1.2rem,7.4cqi,1.5rem);text-transform:none;line-height:1.15}
.news-card p{margin:0;padding:10px 24px 0;color:var(--muted);font-size:clamp(.875rem,5.6cqi,.975rem)}
.news-card .more{padding:18px 24px 24px}

/* values band */
.values{position:relative;color:#DCE6F5;overflow:hidden;isolation:isolate;background:var(--navy)}
.values .bgimg{position:absolute;inset:0;z-index:-1}
.values .bgimg img{width:100%;height:100%;object-fit:cover}
.values::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,31,63,.9) 0,rgba(11,31,63,.84) 38%,rgba(11,31,63,.45) 58%,rgba(11,31,63,.12) 78%,rgba(11,31,63,.05) 100%)}
@media (max-width:899px){.values::after{background:linear-gradient(180deg,rgba(11,31,63,.82),rgba(11,31,63,.86))}}
.values h2{color:#fff}
.values .lead{color:#DCE6F5}
.vals{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.vals li{padding:10px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font:700 1.15rem/1 var(--head);letter-spacing:.12em;color:#fff}

/* legal */
.legal{max-width:820px}
.legal .updated{color:var(--muted);font-weight:600}

/* unit tiers (apartment) */
.tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:12px}
.tiers li{display:grid;gap:6px;padding:20px;border-radius:var(--r);background:#fff;border:1px solid var(--line);text-align:center}
.tiers b{font:700 clamp(1.25rem,1.1rem + .5vw,1.5rem)/1 var(--head);color:var(--ink);text-transform:uppercase;white-space:nowrap}
.tiers small{color:var(--muted);font-size:.9rem}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
.opt{display:grid;grid-row:span 4;grid-template-rows:subgrid;gap:0;padding:clamp(24px,8cqi,36px);border-radius:var(--r2);background:#fff;border:2px solid var(--line)}
.opt.featured{border-color:var(--green);box-shadow:var(--sh2)}
.opt .tag{justify-self:start;padding:6px 12px;border-radius:999px;background:var(--sky);color:var(--blue);font:600 .8rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.opt.featured .tag{background:var(--greenl);color:var(--green)}
.opt h3{font-size:clamp(1.4rem,9cqi,1.9rem);text-transform:uppercase;margin-bottom:10px}
.opt p{color:var(--muted);margin:0 0 16px}
.opt ul li{display:flex;gap:10px;margin:8px 0;align-items:flex-start}
.slot-note{font-size:.85rem;color:var(--muted)}

/* motion */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
@media print{.hdr,.topbar,.mbar,.cta-band,.ftr{display:none}}
.dark .fl-blue,.cta-copy .fl-blue,.values .fl-blue,.panel-navy .fl-blue{color:#86B8F7}
/* fixes r1 */
.ind-ph,.card-ph{aspect-ratio:3/2;min-height:0}
.card-ph{aspect-ratio:16/10}
.ind-ph img,.card-ph img{height:100%}
.svc-2 .card-ph{aspect-ratio:2/1}
.ben-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.svc-group{grid-template-columns:1fr!important;gap:20px}
.sg-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.sg-head p{margin:0;flex:1 1 280px}
.sg-t{white-space:nowrap;font-size:clamp(1.5rem,1.3rem + .8vw,2rem)}
.svc-grid.svc-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.svc-grid:not(.svc-2){grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
@media (min-width:768px) and (max-width:1099px){.tb-serve{display:none!important}}
.ftr-tag li{display:block}
/* subgrid cards: no containment on subgrid items (it would cancel subgrid); leaf rows are the containers */
.card,.ind-card,.ben,.step,.why-card,.feat,.prc,.job,.news-card,.opt{container-type:normal}
.cp,.cpl{container-type:inline-size}
.cp>span{display:block;font-size:clamp(.875rem,7.2cqi,1rem);line-height:1.55}
.cpl li{font-size:clamp(.875rem,6.4cqi,1rem)!important}
@media (max-width:767px){.cp>span,.cpl li{font-size:1rem!important}}
.ben{padding:clamp(20px,9%,30px)}
.ben-ic,.why-ic,.step-ic,.feat-ic{width:clamp(44px,20%,56px);height:auto;aspect-ratio:1}
.ben h3,.why-card h3,.feat h3{font-size:1.5rem}
.step h3{font-size:1.45rem}
.ct{font-size:1.6rem;padding:clamp(34px,13%,44px) clamp(18px,8%,26px) 8px}
.ind-body .ct{padding-top:clamp(16px,7%,22px);font-size:1.5rem}
.card-body p,.ind-body p{padding:0 clamp(18px,8%,26px)}
.more{padding:16px clamp(18px,8%,26px) clamp(18px,8%,24px)}
.card-ic{left:7%;width:clamp(44px,17%,56px);height:auto;aspect-ratio:1}
.step{padding:clamp(20px,10%,28px)}
.step-n{right:clamp(14px,8%,22px);top:clamp(12px,7%,20px);font-size:clamp(1.8rem,1.4rem + 1vw,2.6rem)}
.why-card{padding:clamp(22px,10%,32px)}
.feat{padding:clamp(20px,9%,28px)}
.prc h3{font-size:1.3rem;padding:18px clamp(16px,9%,22px) 6px}
.prc p{padding:0 clamp(16px,9%,22px) clamp(18px,9%,22px)}
.job{padding:clamp(22px,9%,32px)}
.job h3{font-size:1.6rem}
.news-card h3{font-size:1.45rem}
.opt{padding:clamp(24px,8%,36px)}
.opt h3{font-size:1.9rem}
.ben p,.step p,.feat p,.why-card li,.prc p,.job p,.news-card p,.opt p{font-size:inherit}
/* service pages */
.ov-prose{margin-top:24px;color:var(--body)}
.ov-side{display:grid;gap:16px}
.ov-side .rounded-ph img{aspect-ratio:4/3}
.ov-panel{padding:clamp(20px,2.4vw,28px)}
.ov-t{font:700 1.3rem/1 var(--head);text-transform:uppercase;color:var(--ink);margin:0 0 12px}
.ov-checks li,.z-checks li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-weight:600;color:var(--ink);font-size:.975rem}
.ov-checks li:last-child,.z-checks li:last-child{border:0}
@media (min-width:960px){.ov-side{position:sticky;top:110px}}
.proc{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.feat-grid.f4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.feat-grid.f3{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}
.feat-grid.dark-feat{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.ah .sec-head.split{align-items:start}
.ah .sec-p{margin-top:0}
.incl .inc-grid li span:last-child{font-size:clamp(.95rem,.9rem + .2vw,1.05rem)}
.collage-sec{padding-top:0}
.collage{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
.collage img{aspect-ratio:4/5}
.gc .split2{align-items:center}
.gc-bens{margin-top:clamp(24px,3vw,36px);gap:14px}
.feat-grid.f3.gc-bens{grid-template-columns:1fr}
@media (min-width:700px){.feat-grid.f3.gc-bens{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gc-bens .feat{grid-row:auto;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-content:center;padding:16px 18px}
.gc-bens .feat-ic{grid-row:1 / span 2;width:44px;height:44px;margin:0;align-self:center}
.gc-bens .feat h3{font-size:1.15rem;margin-bottom:2px;align-self:end}
.gc-bens .feat p{font-size:.95rem!important;line-height:1.45}
.gc-media{display:block}
.gc-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);box-shadow:var(--sh1)}
.ba2{margin-top:clamp(32px,4vw,56px);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),320px));justify-content:center}
.ba2 figure{display:grid;gap:10px;overflow:visible}
.ba2 img{aspect-ratio:auto;width:auto;max-width:100%;height:auto;border-radius:var(--r)}
.ba2 figcaption{position:static;justify-self:start}
.gc-tag{margin-top:32px}
.zz{display:grid;gap:clamp(40px,5vw,80px)}
.z{display:grid;gap:clamp(24px,4vw,64px);align-items:center}
@media (min-width:900px){.z{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.z-rev .z-ph{order:2}}
.z-ph img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:var(--r2);box-shadow:var(--sh2)}
.z-n{font:700 1rem/1 var(--head);letter-spacing:.14em;color:var(--green);margin:0 0 10px}
.zt{font-size:clamp(1.9rem,1.4rem + 1.6vw,2.9rem);margin-bottom:16px}
.z-copy>p{color:var(--body);font-size:var(--fs-lead);max-width:34em}
.z-checks{margin-top:8px;max-width:420px}
.z .btn-row{margin-top:24px}
.hub-intro .prose p:last-child{margin-bottom:0}
.ts-list h3 .fit{display:block;font-size:inherit}
.ts-list li>div{flex:1;min-width:0}
/* fixes r2 */
.eyebrow{display:block}
.eyebrow::before{display:inline-block;vertical-align:middle;margin:-3px 10px 0 0}
.sec-head.center .eyebrow{text-align:center}
.cta-copy .eyebrow{font-size:.8125rem;margin:0 0 14px}
.sec-head.split>.btn,.sec-head.split>.t-ctl{align-self:end}.sec-head.split>.btn{justify-self:end}
@media (max-width:820px){.sec-head.split>.btn{justify-self:start}}
.ts-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.ts-list li{padding:20px 22px}
.ts-list h3{font-size:1.15rem}
.ts-list p{font-size:clamp(.875rem,4.4cqi,.975rem)}
.inc-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.feat-grid.dark-feat{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.collage-sec{padding-top:clamp(48px,5vw,80px)}
/* ===== r3: industry / apartment / about family ===== */
.feat-grid.f5{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.feat-grid.f3.hf{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin-top:clamp(36px,4vw,56px)}
.ind-ben{padding-block:clamp(28px,3vw,44px)}
.ind-ben .feat{background:#fff}
.isvc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px}
.isvc{display:grid;grid-row:span 2;grid-template-rows:subgrid;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh1)}
.isvc .card-ph{aspect-ratio:16/10;min-height:0;overflow:hidden}
.isvc .card-ph img{width:100%;height:100%;object-fit:cover}
.isvc-b{display:grid;grid-template-rows:auto 1fr;align-content:start;padding:clamp(20px,7%,28px)}
.isvc-b h3{font-size:1.5rem;margin:0 0 12px;color:var(--ink)}

.opt-n{margin:0 0 6px;font:600 .8rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.ilist{display:grid;gap:8px}
.ilist li{display:flex;gap:10px;align-items:flex-start;color:var(--ink2,#334155)}
.ilist .ck{flex:none;width:20px;height:20px;margin-top:2px;color:var(--green)}
.cpl.ilist span{font-size:clamp(.9rem,5.6cqi,1rem)}
.isvc .cp{margin:0;color:var(--muted)}
.isvc-grid+.note-card{margin-top:24px;align-items:center;flex-wrap:wrap}
.isvc-grid+.note-card>div{flex:1 1 320px}
.sec.dark{background:radial-gradient(900px 500px at 90% 0,rgba(22,99,199,.35),transparent 60%),var(--navy);color:#C9D6EA}
.sec.dark h2,.sec.dark h3{color:#fff}.sec.dark .sec-p{color:#B7C6DE}
.prog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;counter-reset:none}
.prog{display:grid;grid-row:span 4;grid-template-rows:subgrid;gap:0;padding:clamp(22px,8%,34px);border-radius:var(--r2);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.prog-n{font:700 2.5rem/1 var(--head);color:#8FD6A5;margin-bottom:14px}
.prog h3{font-size:1.6rem;margin:0 0 6px}
.prog .sub{margin:0 0 8px;font-weight:600;color:#fff}
.prog .cp{margin:0;color:#B7C6DE}
.health-top{align-items:center}
.health-top .rounded-ph img{aspect-ratio:4/3}
.std .card-ph{aspect-ratio:3/2}
/* timeline */
.timeline{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0;position:relative}
.tl-i{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;padding-bottom:28px;position:relative}
.tl-i:not(:last-child)::before{content:"";position:absolute;left:25px;top:52px;bottom:0;width:2px;background:var(--line)}
.tl-dot{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--blue)}
.tl-dot .ic{width:24px;height:24px}
.tl-i h3{font-size:1.4rem;margin:12px 0 6px}
.tl-i p{margin:0;color:var(--muted)}
.rooted{position:sticky;top:110px}
.rooted-art{margin:20px 0;display:grid;place-items:center}
.rooted-art img{max-width:260px;width:70%;height:auto}
.vb-copy{max-width:680px}
.values{padding-block:clamp(72px,8vw,128px)}
/* careers / about */
.car-intro{margin-bottom:clamp(36px,4vw,56px);align-items:end}
.join{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;justify-content:space-between}
.join>div:first-child{flex:1 1 420px}
.join .sec-p{margin-top:12px}
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.news-card{grid-row:span 6}
.news-card .more .ic{width:16px;height:16px}
.flag img{aspect-ratio:3/2}
/* contact & forms */
.contact-grid{display:grid;gap:24px;align-items:start}
@media (min-width:1000px){.contact-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr)}.contact-card{position:sticky;top:110px}}
.form-panel .sec-p{margin:12px 0 24px}
.form{display:grid;gap:20px}
.fld .hint,.form>.hint{margin:0;font-size:.875rem;color:var(--muted);font-weight:400}
.fld label .hint{font-size:.85rem}
.req{color:var(--red);margin-left:2px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;cursor:pointer}
.consent input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--green)}
button.btn{cursor:pointer;font-family:var(--sans)}
.form-foot .btn{min-width:min(100%,280px)}
.cc-t{font-size:1.6rem;text-transform:uppercase;margin:0 0 8px}
.contact-card ul{margin:0 0 20px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* legal / 404 */
.lhero{padding:clamp(40px,5vw,72px) 0 clamp(24px,3vw,40px);background:linear-gradient(180deg,var(--soft) 0,var(--soft) 55%,#fff 100%)}
.lhero h1{font-size:clamp(2.4rem,1.6rem + 3vw,4.2rem);margin:6px 0 0;max-width:900px}
.lhero.nf{padding-block:clamp(56px,6vw,88px);text-align:left}
.lhero.nf .lead{max-width:36em;margin:16px 0 0}
.legal h2{font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);text-transform:uppercase;margin:36px 0 10px}
.legal ul{padding-left:1.2em;list-style:disc}
.legal li{margin:4px 0}
.faq-page{max-width:980px}
.faq-page .note-card{margin-top:48px}
/* apartment */
.tiers-box{margin-top:24px;display:grid;gap:24px}
@media (min-width:1000px){.tiers-box{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center}}
.tiers-head h3{font-size:1.75rem;margin:0 0 10px;color:var(--ink)}
.tiers-head h3 .fit{display:block}
.tiers-head p{margin:0;color:var(--muted)}
.tiers{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr))}
.tiers li{grid-template-columns:auto minmax(0,1fr);align-items:center;text-align:left;gap:12px;padding:14px 16px;background:var(--soft);border-color:transparent}
.tier-ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#fff;color:var(--blue)}
.tier-ic .ic{width:22px;height:22px}
.tier-t{font-weight:600;color:var(--ink);line-height:1.3}
.z-copy .hint{font-size:.9rem;color:var(--muted);margin-top:14px}
.z-copy .ilist{margin-top:18px}
.z-copy .ilist span{font-size:1rem}
@media (min-width:700px){.z-copy .ilist{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px 20px}}
.contact-grid>*{min-width:0}
.panel .btn{font-size:min(var(--fs),calc((100vw - var(--gut)*2 - 56px - 2*clamp(24px,3vw,40px))/var(--bw)))}
.form{grid-template-columns:minmax(0,1fr)}
.nwl{white-space:nowrap}
.tagline>span{white-space:nowrap}
.cta-in>*{min-width:0}
.cta-actions .btn{font-size:min(var(--fs),calc((100vw - var(--gut)*2 - 56px - 2*clamp(24px,5vw,72px))/var(--bw)))}
.isvc-grid.opts{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.aopt .isvc-b{grid-template-rows:auto auto 1fr}
.isvc .ct{padding:0;font-size:1.5rem}
.aopt .ct{font-size:1.9rem}
.feat-grid.f3.hf{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.z-copy h3.zt{margin-bottom:14px}
.car-intro{align-items:start}

/* two-tone detailed icons (main-site style) */
.ic.rich{--ic2:var(--green);overflow:visible}
.mm-ic,.tier-ic,.ts-ic{width:44px;height:44px}
.mm-ic .ic.rich,.tier-ic .ic.rich,.ts-ic .ic.rich{width:32px;height:32px}
.inc-grid .mm-ic{width:48px;height:48px}.inc-grid .mm-ic .ic.rich{width:34px;height:34px}
.ben-ic .ic.rich,.why-ic .ic.rich,.step-ic .ic.rich,.feat-ic .ic.rich,.card-ic .ic.rich{width:72%;height:72%}
.ss-ic{color:var(--blue)}.ss-ic .ic.rich{width:36px;height:36px}
.dark .step-ic .ic.rich,.dark-feat .feat-ic .ic.rich,.contact-card .mm-ic .ic.rich{--ic2:#fff;--icfill:transparent}
.wrap>:last-child,.sec>:last-child{margin-bottom:0}
.tagline:last-child{margin-bottom:0}

/* ===== section rhythm + seams (build/rhythm.py) ===== */
.hhero,.phero{background:radial-gradient(1200px 600px at 85% -10%,var(--sky) 0,rgba(234,242,252,0) 60%),linear-gradient(180deg,#fff 0,var(--soft) 62%,#fff 100%)}
main>section{position:relative}
main>section>.wrap{position:relative;z-index:1}
.tone-white{background:#fff}
.tone-soft{background:var(--soft)}
.tone-soft::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(11,78,162,.07) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask:linear-gradient(115deg,#000 0,transparent 45%);mask:linear-gradient(115deg,#000 0,transparent 45%)}
.tone-grad{background:linear-gradient(180deg,var(--pc,#fff) 0,#E7F0FB clamp(70px,9vw,140px),#F3F7FD 60%,#fff 100%);overflow:clip}
.tone-grad::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(135deg,rgba(11,78,162,.035) 0 1px,transparent 1px 14px);-webkit-mask:linear-gradient(200deg,#000 0,transparent 55%);mask:linear-gradient(200deg,#000 0,transparent 55%)}
.blob{position:absolute;z-index:0;pointer-events:none;top:calc(clamp(24px,4vw,64px)*-1);right:6%;width:min(560px,55%);aspect-ratio:2/1;border-radius:50%;background:radial-gradient(closest-side,rgba(46,139,60,.10),rgba(22,99,199,.08) 55%,transparent);filter:blur(28px)}
.tone-grad>.blob{top:calc(clamp(10px,2vw,28px)*-1)}
.dv{--dvh:clamp(14px,2.6vw,40px);position:absolute;left:0;right:0;bottom:-1px;height:calc(var(--dvh) + 1px);background:var(--nc);pointer-events:none;z-index:0}
.dv-wave{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 62C240 104 480 104 720 62S1200 18 1440 58V100H0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 62C240 104 480 104 720 62S1200 18 1440 58V100H0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.dv-wave.dv-r{transform:scaleX(-1)}
.dv-angle{clip-path:polygon(0 100%,100% 0,100% 100%)}
.dv-angle.dv-r{clip-path:polygon(0 0,100% 100%,0 100%)}
.dv-curve{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100Q720 -30 1440 100Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100Q720 -30 1440 100Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
@media (max-width:599px){.dv{--dvh:clamp(10px,3.4vw,18px)}.blob{filter:blur(20px);opacity:.7}}
.values>.dv{z-index:2}
.cp,.cp>span{text-wrap:wrap}
/* labels sit under the photos instead of on them */
.ba figure{display:grid;gap:8px;overflow:visible}
.ba img{border-radius:var(--r)}
.ba figcaption{position:static;justify-self:start}
.inc-grid .nw{white-space:normal}
@media (max-width:399px){.area-badge{position:static;margin:14px auto 0;width:max-content;max-width:100%}}
.job,.opts>*,.news-grid>*{min-width:0}
.isvc{min-width:0}
.hh1 .r360i{color:var(--red);font-size:.62em;letter-spacing:.02em;vertical-align:.42em}
.prc-oval{display:grid;place-items:center;width:74%;margin:0 auto;aspect-ratio:3/4;border:1.5px solid #1b2fa0;border-radius:50%;background:radial-gradient(circle at 50% 45%,#fff 0 55%,#eef4fd)}
.prc-ph:has(.prc-oval){display:grid;place-items:center;aspect-ratio:1/1;padding-bottom:0}
.prc-oval svg{width:46%;height:auto;color:var(--blue)}
/* area pages */
.atile .card-body{padding-top:clamp(20px,8cqi,28px)}
.atile .card-ic{position:static;transform:none;margin-bottom:14px;box-shadow:none;background:var(--sky)}
.photo-credit{margin:10px 2px 0;font-size:.78rem;line-height:1.4;color:var(--muted,#5b6b82)}
.photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.area-local .prose p{max-width:62ch}
.near-chips{justify-content:center}
.near-chips a,.chips a{color:inherit;text-decoration:none}
.near-chips a:hover,.chips a:hover{color:var(--blue);text-decoration:underline}
.ftr-areas{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-top:clamp(28px,3.5vw,44px);padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}
.ftr-areas h2{margin:0;font:700 1rem/1 var(--head);color:#fff;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.ftr-areas ul{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:.9rem}
.ftr-areas a{color:inherit;opacity:.85}.ftr-areas a:hover{opacity:1;text-decoration:underline}
.ftr-areas+.ftr-bar{margin-top:20px}
.area-local .sec-head.split{align-items:start}
.near-chips li{white-space:nowrap;font-size:min(.95rem,3.9vw);max-width:100%}
.phase-grid .cpl{margin-top:10px}
.note-card .not-inc{margin-top:8px;font-weight:600;color:var(--ink)}
.h1-sub{margin:.35em 0 0;font:700 clamp(.85rem,.8rem + .3vw,1rem)/1.3 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.callout-sec{padding-block:clamp(28px,4vw,48px)}
.callout-sec .note-card{margin:0}
.callout-h{font:700 clamp(1.15rem,1rem + .8vw,1.5rem)/1.2 var(--head);margin:0 0 6px;text-transform:none}
.office-sec .prose a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.res-grid{display:grid;gap:clamp(20px,2.4vw,32px);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
@media(min-width:1000px){.res-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:640px) and (max-width:999.98px){.res-grid{grid-template-columns:repeat(2,1fr)}}
.res-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(10,20,60,.05)}
.res-ph img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.res-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.res-meta,.art-meta{display:flex;flex-wrap:wrap;gap:6px 8px;font-size:.88rem;color:var(--muted);margin:0 0 8px}
.res-h{font:700 1.2rem/1.25 var(--head);margin:0 0 8px;text-transform:none;letter-spacing:0}
.res-h a{color:var(--ink);text-decoration:none}.res-h a:hover{color:var(--blue)}
.res-body>p:not(.res-meta){flex:1;margin:0 0 14px}
.art-w{max-width:calc(72ch + 2*var(--gut,20px))}
.art-head{padding-block:clamp(28px,4vw,56px) 20px}
.art-h1{font:800 clamp(1.9rem,1.3rem + 2.4vw,3rem)/1.1 var(--head);margin:.2em 0 .4em;text-wrap:balance}
.art-fig img{display:block;width:100%;max-width:1000px;margin:0 auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px}
.art-body{padding-block:clamp(28px,4vw,48px)}
.art-body h2{font:800 clamp(1.4rem,1.2rem + .8vw,1.8rem)/1.2 var(--head);margin:1.8em 0 .5em;text-transform:none}
.art-body h3{font:700 1.2rem/1.3 var(--head);margin:1.4em 0 .4em;text-transform:none}
.art-body ul{padding-left:1.2em;margin:0 0 1em}.art-body li{margin:.35em 0}
.art-body a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.art-faq{padding-bottom:clamp(28px,4vw,48px)}.art-faq h2,.art-rel h2{font:800 1.4rem/1.2 var(--head);margin:0 0 14px;text-transform:none}
.art-rel{display:grid;gap:28px;padding-bottom:clamp(40px,5vw,64px)}
@media(min-width:700px){.art-rel{grid-template-columns:1fr 1fr}}
.rel-links{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.rel-links a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:600;text-decoration:none}
.rel-links a:hover{border-color:var(--blue);color:var(--blue)}.rel-links svg{width:18px;height:18px;flex:none}
.mm-promo p:not(.mm-promo-t),.mm small,.mm-desc,.drawer small{text-wrap:pretty}
.mm-promo{display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;overflow:hidden}
.mm-promo::after{content:"";position:absolute;right:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;border:28px solid rgba(255,255,255,.04);pointer-events:none}
.mm-promo>div>p:last-child{margin:0}
.mm-promo-trust{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:8px;font-size:.84rem;color:#DCE5F3}
.mm-promo-trust li{display:flex;gap:8px;align-items:flex-start;text-wrap:pretty}
.mm-promo-trust .ic{width:15px;height:15px;flex:none;margin-top:3px;color:#4CC27A}
.mm-promo-btns{display:grid;gap:10px;position:relative;z-index:1}
.mm-promo-btns .btn{width:100%;justify-content:center;white-space:nowrap}
.btn-ghost-light{display:inline-flex;align-items:center;gap:8px;border:1.5px solid rgba(255,255,255,.75);color:#fff;background:transparent}
.btn-ghost-light:hover{background:#fff;color:var(--navy)}
.btn-ghost-light svg{width:16px;height:16px}
.mm-promo-btns .btn{box-sizing:border-box;min-width:0;max-width:100%;padding:0 12px;gap:8px}
.mm-slogan{margin:0;display:flex;flex-direction:column;font:800 clamp(1.05rem,1.35vw,1.3rem)/1.08 var(--head);text-transform:uppercase;color:#fff;letter-spacing:.01em}
.mm-slogan span{white-space:nowrap}.mm-slogan .lb{color:#8FB6FF}.mm-slogan .r360{color:#FF6B6B;font-size:.8em;margin-top:2px}
.mm-serve{display:flex;gap:7px;align-items:flex-start;margin:10px 0 0;font-size:.82rem;color:#C9D6EA;text-wrap:pretty}
.mm-serve svg{width:15px;height:15px;flex:none;margin-top:2px;color:#4CC27A}
.mm-promo-mid{padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.mm-slogan{font-size:clamp(.92rem,1.2vw,1.2rem)}
.mm-slogan .m360{color:#FF6B6B;font-size:1.25em;line-height:1;margin-top:4px}
.area-chips{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));gap:10px}
.area-chips li{padding:0;border:0;background:none}
.area-chips a,.area-chips .chip-x{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;background:#fff;border:1.5px solid var(--line);font-weight:600;color:var(--ink);white-space:nowrap;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.area-chips a:hover,.area-chips a:focus-visible{transform:translateY(-2px);border-color:var(--green);box-shadow:0 6px 14px rgba(20,60,40,.12);color:var(--ink);text-decoration:none;outline:none}
.area-chips a:focus-visible{box-shadow:0 0 0 3px rgba(46,160,90,.35)}
@media(max-width:520px){.area-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.area-chips a,.area-chips .chip-x{padding:8px 6px;justify-content:center;font-size:min(.95rem,3.5vw)}.area-chips .ic{display:none}}
.area-chips li{display:block}
.btn svg,.btn .ic,.btn:hover svg,.btn:focus-visible svg,.btn:hover .ic,.btn:focus-visible .ic{color:currentColor!important}
.mm-promo>div>p:not(.mm-promo-t){text-wrap:balance}
.ftr-logo{background:#fff;border-radius:12px;padding:10px 14px}
/* crop pass: portrait sources are never forced into wide boxes (keeps faces, hands and work surfaces in frame) */
img.ph-tall{object-position:50% 52%!important}
.rounded-ph img.ph-tall,.health-top .rounded-ph img.ph-tall,.ov-side .rounded-ph img.ph-tall{aspect-ratio:4/5;max-height:min(680px,120vw)}
.prc-ph.photo img{aspect-ratio:245/285;object-fit:cover;object-position:50% 100%}
.credit-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:22px}
.credit-list li{padding:0 0 18px;border-bottom:1px solid var(--line)}
.credit-list h2{font:800 1.2rem/1.2 var(--head);margin:0 0 6px;text-transform:uppercase}
.credit-list p{margin:0 0 4px}
/* card titles: one fluid size per grid, <=2 balanced lines, slot reserves 2 lines so copy + links align */
.ct.ctw{font:800 clamp(1.08rem,.95rem + .45vw,1.38rem)/1.12 var(--head);letter-spacing:.01em;text-wrap:balance;overflow-wrap:normal;hyphens:none;margin:0}
.ct.ctw{box-sizing:content-box;min-height:2.24em}
.isvc .ct.ctw{min-height:2.24em}
.svc-path .step h3.ct.ctw{padding:0;margin:0 0 8px;font-size:clamp(1.08rem,.95rem + .45vw,1.3rem)}
@media (max-width:639px){.svc-path .step h3.ct.ctw{height:auto!important;min-height:0!important}.svc-path .step{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;align-items:start}.svc-path .step-ic{grid-column:1;grid-row:1/span 2;margin:0;width:48px;height:48px}.svc-path .step>h3,.svc-path .step>p{grid-column:2}.svc-path .step h3.ct.ctw{padding-right:44px}}
@media (min-width:640px){.svc-path .steps{grid-template-columns:repeat(3,1fr);max-width:1040px;margin-inline:auto}.svc-path .step{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}.svc-path .step h3.ct.ctw{height:auto!important;min-height:0!important}}
.aopt .ct.ctw{font-size:clamp(1.3rem,1.1rem + .7vw,1.75rem)}
.card-body p,.ind-body p,.isvc-b p{text-wrap:pretty}
.atile .card-body{padding-top:clamp(22px,8cqi,30px);overflow:visible}
.atile .card-ic{margin:0 0 14px;flex:none}
.ct.ctw{display:block}
.atile .card-ic{position:relative;left:auto;bottom:auto;margin:clamp(20px,8cqi,26px) 0 12px clamp(18px,8cqi,26px)}
.atile .card-body{padding-top:0}
.atile .ct.ctw{padding-top:0}
/* ===== premium navy sections: varied gradient direction + tone, soft glow, fine diagonal texture ===== */
main>section.nv-1,main>section.nv-2,main>section.nv-3{isolation:isolate;overflow:clip}
main>section.nv-1{background:radial-gradient(900px 520px at 88% -8%,rgba(46,139,240,.34),transparent 62%),radial-gradient(700px 420px at 4% 108%,rgba(46,139,60,.16),transparent 60%),linear-gradient(160deg,#0E2A55 0,#0B1F3F 55%,#081833 100%)}
main>section.nv-2{background:radial-gradient(900px 520px at 8% -10%,rgba(46,139,240,.30),transparent 62%),radial-gradient(640px 400px at 96% 104%,rgba(118,170,240,.14),transparent 60%),linear-gradient(200deg,#0D2650 0,#0B1F3F 50%,#07152D 100%)}
main>section.nv-3{background:radial-gradient(1000px 560px at 50% -14%,rgba(56,140,235,.30),transparent 62%),linear-gradient(180deg,#0F2C5A 0,#0B1F3F 60%,#091A36 100%)}
main>section.nv-1::before,main>section.nv-2::before,main>section.nv-3::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 1px,transparent 1px 16px);-webkit-mask:linear-gradient(200deg,#000 0,transparent 60%);mask:linear-gradient(200deg,#000 0,transparent 60%)}
main>section.nv-2::before{-webkit-mask:linear-gradient(160deg,#000 0,transparent 60%);mask:linear-gradient(160deg,#000 0,transparent 60%)}
main>section.nv-3::before{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.026) 0 1px,transparent 1px 16px)}
/* Standard-of-Clean light treatment reused on light gradient sections: diagonal texture + glow */
.tone-grad::after{content:"";position:absolute;z-index:0;pointer-events:none;left:-8%;bottom:-10%;width:min(520px,50%);aspect-ratio:2/1;border-radius:50%;background:radial-gradient(closest-side,rgba(22,99,199,.09),transparent);filter:blur(30px)}
.mm-promo-d{text-wrap:balance}
.ctw,.ctw *{line-height:1.12!important}.ctw{height:2.24em!important;min-height:0!important;align-self:start!important}.ind-body .ctw{padding-top:20px!important;padding-inline:22px!important}
/* promo panel v4: headline, sentence, slogan, buttons — even spacing */
.mm-promo{justify-content:flex-start;gap:clamp(12px,1.1vw,16px)}
.mm-promo-mid{padding-top:0;border-top:0;margin-top:auto;margin-bottom:auto}
.mm-promo-d{margin:0;text-wrap:balance}
.mm-slogan{font-size:clamp(.78rem,.25rem + .9vw,1.12rem);line-height:1.12}
.mm-slogan .m360{display:inline;font-size:1.15em;margin:0;line-height:1}
.mm-slogan span.lb{white-space:nowrap}
.mm-promo{container-type:inline-size}
.mm-promo-t{font-size:clamp(1.05rem,11.5cqi,1.55rem)}
.mm-promo-d{font-size:clamp(.86rem,7.4cqi,1rem);line-height:1.5}
.mm-slogan{font-size:clamp(.8rem,9.4cqi,1.45rem);line-height:1.08;gap:2px}
.mm-slogan .m360{font-size:1.05em}
/* values band: on small screens show the cross photo as its own strip below the copy (desktop unchanged) */
@media (max-width:899px){
.values{display:flex;flex-direction:column;padding-bottom:0}
.values>.wrap{order:1}
.values .bgimg{position:relative;inset:auto;order:2;z-index:0;height:clamp(260px,62vw,440px);margin-top:28px}
.values .bgimg img{object-position:100% 25%}
.values .bgimg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,var(--navy) 0,rgba(11,31,63,.55) 22%,rgba(11,31,63,0) 50%)}
.values::after{display:none}
}
.feat p,.feat p>span{text-wrap:pretty}
.feat h3.fit .fl{font-size:inherit!important;white-space:normal!important;display:inline}.feat h3{font-size:clamp(1.05rem,.95rem + .4vw,1.3rem)!important;line-height:1.12;text-wrap:balance}
/* one shared fluid title size per grid (process steps, industry service cards): no per-card fit shrink */
.prc h3.fit .fl,.isvc .ct .fl,.isvc h3.fit .fl{font-size:inherit!important;white-space:normal!important;display:inline}
.prc h3{font-size:clamp(1rem,.84rem + .42vw,1.3rem)!important;line-height:1.12;text-wrap:balance;overflow-wrap:normal}
.isvc .ct{font-size:clamp(1.15rem,1rem + .4vw,1.5rem)!important;line-height:1.12;text-wrap:balance}
.mm-promo{flex:0 0 clamp(220px,21vw,268px)}
.mm-slogan{font-size:clamp(.9rem,10.2cqi,1.5rem)}
.mm-promo-btns,.mm-promo-btns .btn{width:100%}
/* Texas flag: full cutout on pole, no card/crop */
.flag-cut{align-self:center}
.flag-cut img{display:block;width:100%;max-width:480px;height:auto;margin-inline:auto}
/* post-construction phase photos */
.phase{grid-row:span 5}
.phase-ph{margin:calc(-1*clamp(20px,9cqi,28px)) calc(-1*clamp(20px,9cqi,28px)) 18px;overflow:hidden;border-radius:var(--r) var(--r) 0 0}
.phase-ph img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 45%}
/* blog FAQ: proper card aligned to the article column */
.art-faq.wrap{box-sizing:border-box;width:calc(100% - 2*var(--gut,20px));max-width:72ch;margin:clamp(32px,4vw,48px) auto;padding:clamp(20px,3vw,40px);border-radius:var(--r2,16px);position:relative;overflow:hidden;border:1px solid var(--line)}
.art-faq.wrap::before{border-radius:inherit}
.art-faq.wrap>h2{margin-top:0}
.art-faq>.dv{display:none}
.art-faq.wrap{margin-top:clamp(8px,2vw,24px)}
/* "Areas we serve" pin links: icon inline left of the name */
.near-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.near-chips a{display:inline-flex;align-items:center;gap:6px}
.near-chips .ic{width:16px;height:16px;flex:none;color:var(--green)}
/* seam blob must sit behind content (its blurred ellipse edge drew a curved light line across photos/cards) */
section:has(>.blob){isolation:isolate}
section>.blob{z-index:-1!important}
@media (min-width:960px){.story-x .split2{align-items:center}} /* map image centred against the story copy */
.art-rel .near-chips{justify-content:flex-start}
/* checklists (.cpl): base inline layout so every use gets check left of text with hanging indent (post-construction phases had none) */
ul.cpl{list-style:none;padding:0}
.cpl li{display:flex;gap:10px;align-items:flex-start;margin:8px 0;line-height:1.45}
.cpl li>.ic{flex:none;margin-top:.15em}
.cpl li>span{flex:1;min-width:0}
.phase-grid .sub{text-wrap:balance;min-height:calc(2 * 1.45em)}
@media (max-width:699px){.phase-grid .sub{min-height:0}}
/* promo panel v5 (Corey): heading, sentence, quote + phone buttons, divider, slogan anchored at the bottom */
.mm-promo{display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:clamp(22px,2vw,28px);background:linear-gradient(115deg,#0B1F3F 0,#0F2A55 55%,#17407A 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.mm-promo-top{margin:0}
.mm-promo-t{font-size:clamp(1.1rem,11cqi,1.5rem);margin:0 0 10px}
.mm-promo-d{margin:0;font-size:clamp(.88rem,7.2cqi,1rem);line-height:1.55;text-wrap:pretty;color:#D3DEEF}
.mm-promo-btns{margin-top:clamp(18px,2vw,26px);gap:10px}
.mm-promo-btns .btn{min-height:44px}
.mm-promo-mid{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);margin-bottom:0}
.mm-promo-btns{margin-bottom:22px}
.mm-slogan{font-size:clamp(.9rem,10.2cqi,1.5rem);line-height:1.1;gap:3px}
.mm-promo{justify-content:space-between}
.mm-promo-btns{margin:0}
.mm-promo-mid{margin-top:0}
.mm-promo-btns .btn{white-space:nowrap;width:100%;justify-content:center}
.mm-promo-t{font-size:clamp(1.25rem,12.5cqi,1.7rem);margin-bottom:12px}
.mm-promo-d{font-size:clamp(1rem,8.4cqi,1.18rem);line-height:1.5}
.mm-promo-btns .btn{min-height:52px;font-size:clamp(.9rem,6.6cqi,1rem)}
.mm-slogan{font-size:clamp(1rem,11.2cqi,1.6rem)}
.mm-promo-mid{padding-top:22px}
.mm-promo-btns{display:flex;flex-direction:column;align-items:stretch;width:100%}
.mm-promo-btns .btn{width:100%;padding-inline:12px}
.mm-promo-d{text-wrap:wrap}
.mm-slogan{font-size:clamp(.92rem,9.6cqi,1.4rem);max-width:100%}
.mm-slogan .m360{white-space:nowrap}
.mm-promo .mm-promo-btns .btn{width:100%!important;max-width:none;min-width:0;box-sizing:border-box;padding-inline:10px;font-size:clamp(.78rem,6.2cqi,.95rem);letter-spacing:.04em}

.tb-portal{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;text-decoration:none;white-space:nowrap}.tb-portal:hover{color:#8FD6A5}

/* Client Center (/clients/) */
.portal-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.portal-card>div:first-child{flex:1 1 420px}
.portal-cta .btn{white-space:nowrap}
.ci-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:24px}
.ci-card{background:#fff;border-radius:14px;padding:24px;box-shadow:0 6px 20px rgba(10,30,70,.08);display:flex;flex-direction:column;gap:10px}
.ci-card h3{margin:0;font-size:1.25rem}
.ci-card p{margin:0}
@media (min-width:1024px){.ci-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:640px) and (max-width:1023px){.ci-grid{grid-template-columns:repeat(2,1fr)}}
.portal-card .sec-p{color:rgba(255,255,255,.85)}
.ci-two{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:768px){.ci-two{grid-template-columns:1fr 1fr}}
.contact-card .cc-p{color:rgba(255,255,255,.85);margin:0 0 12px}
.pf-grid{list-style:none;margin:8px 0 0;padding:0;flex:1 1 100%;display:grid;grid-template-columns:1fr;gap:16px}
.pf-grid li{display:flex;gap:12px;align-items:flex-start;color:#fff}.pf-grid b{display:block}.pf-grid small{display:block;color:rgba(255,255,255,.8);font-size:.95rem;line-height:1.45}
@media (min-width:640px){.pf-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.pf-grid{grid-template-columns:repeat(3,1fr)}}
.hol-card{display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
@media (min-width:1024px){.hol-card{grid-template-columns:1.1fr 1fr}}
.hol-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.hol-list li{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:12px;background:#eef3fb;font-weight:600;white-space:nowrap}
.hol-list svg{width:22px;height:22px;flex:none;color:#1e6fd9}
@media (min-width:1024px){.ci-grid.ci-3{grid-template-columns:repeat(3,1fr)}}
.ci-wide{flex-direction:row;align-items:flex-start;gap:16px}.ci-wide p{margin:6px 0 0}
.ref-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}
@media (min-width:1024px){.ref-grid{grid-template-columns:1fr 1fr}}
.ref-offer .sec-p,.ref-steps,.ref-fine{color:rgba(255,255,255,.88)}
.ref-h{color:#fff;margin:24px 0 12px;font-size:1.25rem}
.ref-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ref-steps li{display:flex;gap:12px;align-items:flex-start;line-height:1.45}
.ref-n{flex:none;width:30px;height:30px;border-radius:50%;background:#2e9c4a;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.ref-fine{font-size:.85rem;margin:20px 0 0;opacity:.85}
.gcard{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;max-width:340px;aspect-ratio:1.586;margin:20px 0 4px;padding:20px 22px;border-radius:16px;color:#fff;overflow:hidden;
background:linear-gradient(135deg,#1e6fd9 0%,#0b3d91 55%,#2e9c4a 140%);box-shadow:0 14px 34px rgba(0,0,0,.35);transform:rotate(-3deg)}
.gcard::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.12)}
.gc-top{display:flex;justify-content:space-between;align-items:center}
.gc-brand{font-weight:700;letter-spacing:.04em;font-size:.95rem}
.gc-chip{width:40px;height:30px;border-radius:6px;background:linear-gradient(135deg,#f5d77a,#c9a227)}
.gc-amt{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:3.4rem;line-height:1}
.gc-lbl{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem}
.gc-ty{font-size:.8rem;opacity:.85}
/* apartment page: two services side by side */
.apt2-grid{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:1fr}
@media (min-width:768px){.apt2-grid{grid-template-columns:1fr 1fr}}
.apt2-card{display:flex}
.apt2-a{display:block;width:100%;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh1);padding:clamp(22px,4vw,34px);text-decoration:none;color:inherit;transition:box-shadow .3s,transform .3s var(--ease,ease)}
.apt2-a:hover,.apt2-a:focus-visible{box-shadow:var(--sh2);transform:translateY(-4px) scale(1.015);border-color:transparent;text-decoration:none}
.apt2-hd{display:flex;gap:16px;align-items:center;margin-bottom:14px}
.apt2-ic{flex:0 0 auto;width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--sky,#EAF2FD);color:var(--blue)}
.apt2-ic .ic{width:28px;height:28px}
.apt2-hd .eyebrow{margin:0 0 4px}
.apt2-card .ct.ctw{padding:0!important;height:auto!important;min-height:0!important}
.apt2-a>p{margin:0;color:var(--body);text-wrap:pretty}

#getting-started{scroll-margin-top:0}
.gs-jump{margin-top:clamp(24px,4vw,40px)}
.gs-jump .btn{white-space:nowrap}
/* Client portal tiles: 4 features, 2x2 from tablet up */
@media (min-width:1024px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}}
/* Cleaning issue report form */
.issue-panel{max-width:960px;margin-inline:auto}
.issue-panel .form{display:grid;gap:18px}
.issue-panel .radios{display:grid;gap:8px}
.issue-panel fieldset{border:0;margin:0;padding:0;min-width:0}
.issue-panel legend{font-weight:600;margin-bottom:8px;padding:0}
.issue-panel input[type=file]{width:100%;padding:12px;border:1.5px dashed #CBD5E1;border-radius:12px;background:#F8FAFC;font:inherit}
.fld-err{display:none;color:var(--red)}
.fld.bad .fld-err{display:block}
.fld.bad .checks label{border-color:var(--red)}
.issue-panel .form-foot .btn{white-space:nowrap}
.issue-panel .fgrid{grid-template-columns:1fr}
@media (min-width:640px){.issue-panel .fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.issue-panel .radios{align-content:start}
@media (min-width:900px){.issue-panel .checks{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:480px) and (max-width:899px){.issue-panel .checks{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Quote card – Variant A: long navy-to-white gradient, slogan on white */
.mm-promo{background:linear-gradient(180deg,#0B1F3F 0%,#0F2A55 34%,#17407A 52%,#6F8DB8 70%,#DCE6F3 84%,#fff 92%);box-shadow:0 10px 30px rgba(11,31,63,.18),0 0 0 1px #E2E8F0}
.mm-promo::after{display:none}
.mm-promo .mm-promo-btns .btn{font-weight:800;letter-spacing:.05em}
.mm-promo-mid{border-top:0;position:relative;z-index:1}
.mm-slogan{color:var(--navy)}.mm-slogan .lb{color:var(--blue)}.mm-slogan .m360{color:var(--red)}
/* Apartment unit turn requests (Client Center) */
.ut-elig,.ut-note,.ut-exp-note{display:flex;gap:14px;align-items:flex-start;border-radius:14px;padding:16px 18px;margin:0}
.ut-elig{background:#FFF7E6;border:1.5px solid #F2C46B;color:var(--ink);margin:4px 0 24px}
.ut-note{background:#EEF4FC;border:1.5px solid #C9DAF2}
.ut-exp-note{background:#FDEEEE;border:1.5px solid #E8B4B6;margin-top:10px}
.ut-exp-note[hidden]{display:none}
.ut-elig p,.ut-note p,.ut-exp-note p{margin:0;font-size:.975rem;line-height:1.5}
.ut-elig .mm-ic,.ut-note .mm-ic,.ut-exp-note .mm-ic{flex:none}
.ut-elig a{font-weight:600}
.ut-confirm .consent,.ut-exp .consent,.ut-carpet .consent{min-height:52px;align-items:center;padding:12px 16px;border:1.5px solid #CBD5E1;border-radius:12px;font-weight:500}
.ut-confirm .consent input,.ut-exp .consent input,.ut-carpet .consent input{margin-top:0}
.ut-confirm.bad .consent{border-color:var(--red)}
.ut-exp .consent:has(input:checked){border-color:var(--red);background:#FFF8F8}
@media (min-width:900px){.ut-panel .fgrid.ut-dates{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ut-link{display:flex;gap:10px;align-items:flex-start;margin:-4px 0 20px;font-size:.975rem}
.ut-link .ic{flex:none;color:var(--blue);margin-top:1px}
.ut-link a{font-weight:600}
.ut-dates{align-items:start}
/* unit turn: one-per-unit note + thank-you banner */
.ut-one,.ut-thanks{display:flex;gap:14px;align-items:flex-start;border-radius:14px;padding:16px 18px}
.ut-one{background:#EEF4FC;border:1.5px solid #C9DAF2;margin:0}
.ut-one p{margin:0;font-size:.975rem;line-height:1.5}
.ut-thanks{position:relative;background:var(--greenl);border:1.5px solid #A9D8B8;margin:0 0 24px;padding-right:52px;scroll-margin-top:110px}
.ut-thanks[hidden]{display:none}
.ut-thanks:focus{outline:0;box-shadow:0 0 0 4px rgba(29,122,59,.18)}
.ut-thanks .mm-ic{background:#fff;color:var(--green)}
.ut-thanks-b{min-width:0}
.ut-thanks-b p{margin:0;font-size:.975rem;line-height:1.5}
.ut-thanks-h{font-weight:700;color:var(--ink)}
.ut-thanks-x{margin-top:10px!important}
.ut-another{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1.5px solid var(--blue);border-radius:999px;background:#fff;color:var(--blue);font:600 .95rem/1 var(--sans);white-space:nowrap;cursor:pointer}
.ut-another:hover{background:var(--blue);color:#fff}
.ut-another .ic{width:18px;height:18px;flex:none}
.ut-close{position:absolute;top:10px;right:10px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#4B5563;cursor:pointer}
.ut-close:hover{background:rgba(0,0,0,.06)}
.ut-close .ic{width:20px;height:20px}
.ut-panel select[data-ph]:invalid{color:#6B7280}
.ut-panel select option{color:var(--ink)}
.ut-panel .fgrid .fld{align-content:start}
/* client request: damage or incident note + photos */
.rq-dmg{display:grid;gap:18px}
.rq-dmg[hidden]{display:none}
.rq-dmg .rq-dmg-note{margin:0;background:#EEF4FC;border-color:#C9DAF2}
/* Client Center hero: quick jump links (2x2 equal tiles) */
.qnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;max-width:560px}
.qnav-a{display:flex;align-items:center;gap:10px;min-height:60px;padding:12px 16px;border:1.5px solid #C9DAF2;border-radius:14px;background:#fff;color:var(--navy);font:600 1rem/1.2 var(--sans);text-decoration:none;white-space:nowrap;box-shadow:0 6px 18px -10px rgba(10,30,70,.25);transition:border-color .2s,box-shadow .2s,transform .2s}
.qnav-a .ic{flex:none;width:22px;height:22px;color:var(--blue)}
.qnav-a:hover{border-color:var(--blue);box-shadow:0 10px 24px -12px rgba(11,78,162,.45);transform:translateY(-1px)}
.qnav-a:focus-visible{outline:3px solid rgba(22,99,199,.35);outline-offset:2px}
@media (max-width:479px){.qnav{gap:10px}.qnav-a{flex-direction:column;justify-content:center;gap:6px;min-height:76px;padding:12px 8px;text-align:center;font-size:.95rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.ut-carpet .consent:has(input:checked){border-color:var(--blue);background:#F5F9FF}
.ut-carpet-b{margin-top:12px;padding:16px 18px;border:1.5px solid #C9DAF2;border-radius:14px;background:#F8FBFF;display:grid;gap:14px}
.ut-carpet-b[hidden]{display:none}
.ut-carpet-b>.hint{margin:0}
.ut-carpet-b .fgrid{margin:0}
.ut-carpet-b fieldset{margin:0}
#ut-carpet-err{display:none;margin:0}
.ut-carpet-b.bad #ut-carpet-err{display:block;color:var(--red)}
.ut-rooms{display:grid;gap:10px}
.ut-rooms .fld{margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ut-rooms label{margin:0;white-space:nowrap}
.ut-rooms select{width:120px;flex:none}
/* Get Started promo card: tighter intro-to-button gap, earlier fade, logo at bottom */
.mm-promo{justify-content:flex-start;background:linear-gradient(180deg,#0B1F3F 0%,#0F2A55 26%,#17407A 42%,#6F8DB8 58%,#DCE6F3 70%,#fff 78%)}
.mm-promo .mm-promo-btns{margin-top:clamp(26px,2.4vw,34px)}
.mm-promo .mm-promo-mid{margin-top:auto}
.mm-promo-logo{display:block;width:min(150px,80%);height:auto;margin:0 auto}
/* crop audit 2026-11-01: never crop a head or the equipment in use */
.collage img.ph-tall,.ba img.ph-tall{aspect-ratio:1/2}
.rounded-ph img[src*="c63271f932d6"]{aspect-ratio:640/723!important;max-height:none}
img[src*="378d54b66606"]{object-position:50% 0%!important}
img[src*="c275cc67222c"]{object-position:50% 13%!important}
img[src*="2e1b51eb662d"]{object-position:50% 11%!important}
@media (max-width:639px){.ba:has(img.ph-tall){grid-template-columns:repeat(2,1fr)!important}}

/* owner (2026-11-01): post-construction process only - compact step cards, no circles, small brand-blue icon */
.pc-proc .proc{max-width:920px;margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pc-proc .prc{grid-row:auto;grid-template-rows:none;grid-template-columns:34px minmax(0,1fr);column-gap:12px;align-content:start;padding:16px 16px 14px}
.pc-proc .prc-ph,.pc-proc .prc-ph:has(.prc-oval){grid-column:1;grid-row:1/span 2;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;aspect-ratio:auto;background:none;border-radius:0;overflow:visible}
.pc-proc .prc-n{position:static;width:22px;height:22px;font-size:.78rem;box-shadow:none}
.pc-proc .prc-oval{display:block;width:auto;aspect-ratio:auto;border:0;border-radius:0;background:none}
.pc-proc .prc-oval svg{display:block;width:30px;height:30px;color:var(--blue)}
.pc-proc .prc h3{grid-column:2;font-size:1rem!important;line-height:1.15;padding:2px 0 4px}
.pc-proc .prc p{grid-column:2;padding:0;font-size:.875rem!important;line-height:1.45}
.pc-proc .gs-jump{justify-content:flex-start!important;margin-top:10px!important}
@media (max-width:700px){.pc-proc .proc{grid-template-columns:1fr;gap:8px}.pc-proc .prc{padding:12px 14px}}
.pc-proc .prc .cp>span{font-size:.875rem!important;line-height:1.45;max-width:none!important}
/* ---- Sales Center (/sales-center/): private, iPad-first (768-1024), large tap targets ---- */
.sc-wrap{max-width:1040px}
.sc-top{padding-block:clamp(36px,4vw,56px) clamp(20px,3vw,32px)}
.sc-h1{font-size:clamp(2.6rem,1.8rem + 3vw,4.2rem);text-transform:uppercase;color:var(--navy)}
.sc-h2{font-size:clamp(2rem,1.5rem + 1.8vw,3rem);text-transform:uppercase}
.sc-lead{font-size:var(--fs-lead);color:var(--muted);margin:14px 0 0;max-width:42em}
.sc-p{color:var(--muted);margin:10px 0 0}
.sc-sec{padding-block:clamp(36px,4vw,56px);scroll-margin-top:80px}
.sc-jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.sc-jump a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:10px 14px;border-radius:14px;background:var(--navy);color:#fff;font:600 1.02rem/1.2 var(--sans);text-decoration:none;text-align:center;box-shadow:var(--sh1)}
.sc-jump a:hover,.sc-jump a:focus-visible{background:var(--blue)}
.sc-jump .ic{flex:none;width:22px;height:22px}
.sc-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 4px}
.sc-chips a{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border-radius:999px;border:1.5px solid #C9DAF2;background:#fff;color:var(--navy);font:600 .95rem/1.2 var(--sans);text-decoration:none}
.sc-chips a:hover,.sc-chips a:focus-visible{border-color:var(--blue);color:var(--blue)}
.sc-stack{display:grid;gap:12px;margin-top:20px}
.sc-flow,.sc-cust,.sc-est{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh1);scroll-margin-top:84px}
.sc-flow>summary,.sc-cust>summary,.sc-est>summary,.sc-svc>summary{display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 18px;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.sc-svc>summary{min-height:64px;padding:10px 14px}
details>summary::-webkit-details-marker{display:none}
.sc-flow>summary .cv,.sc-cust>summary .cv,.sc-est>summary .cv,.sc-svc>summary .cv{flex:none;margin-left:auto;width:24px;height:24px;color:var(--blue);transition:transform .2s}
details[open]>summary>.cv{transform:rotate(180deg)}
.sc-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--sky);color:var(--blue)}
.sc-ic.big{width:48px;height:48px}
.sc-ic .ic{width:22px;height:22px}
.sc-ct{display:flex;flex-direction:column;font:700 clamp(1.35rem,1.2rem + .6vw,1.7rem)/1.1 var(--head);text-transform:uppercase;color:var(--ink)}
.sc-ct small{font:500 .9rem/1.35 var(--sans);text-transform:none;color:var(--muted);margin-top:3px}
.sc-st{font:600 1.08rem/1.3 var(--sans);color:var(--ink)}
.sc-kind{flex:none;padding:4px 10px;border-radius:999px;font:700 .72rem/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;background:var(--sky);color:var(--blue)}
.sc-kind.k-pd{background:var(--greenl);color:var(--green2)}.sc-kind.k-ot{background:#FFF3E0;color:#8A4B00}.sc-kind.k-ut{background:#F1ECFB;color:#5B3B9C}
.sc-in{padding:4px 18px 20px}
.sc-cin{display:grid;gap:10px;padding:4px 14px 16px}
.sc-svc{border:1px solid var(--line);border-radius:12px;background:var(--soft);scroll-margin-top:84px}
.sc-svc[open]{background:#fff;border-color:#C9DAF2}
.sc-svc .sc-in{padding:2px 16px 18px}
.sc-what{font-size:1.02rem;color:var(--ink);margin:4px 0 14px}
.sc-block{margin-top:16px}
.sc-block h4{font:700 .8rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 8px}
.sc-block p{margin:0}
.sc-proc{counter-reset:s;display:grid;gap:8px}
.sc-proc>li{counter-increment:s;position:relative;padding:10px 12px 10px 52px;min-height:48px;border-radius:10px;background:var(--soft);line-height:1.45}
.sc-svc[open] .sc-proc>li{background:var(--sky)}
.sc-proc>li::before{content:counter(s);position:absolute;left:10px;top:9px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font:700 .95rem/1 var(--sans)}
.sc-proc>li b{color:var(--ink);font-weight:600}
.sc-proc>li span{display:block;color:var(--body);font-size:.97rem;margin-top:2px}
.sc-proc-lg>li{padding-block:12px;font-size:1.02rem}
.sc-proc>li.sc-empty,.sc-empty{border:2px dashed #C9DAF2;background:#fff;color:var(--muted);font-style:italic}
.sc-proc>li.sc-empty::before{background:#C9DAF2}
.sc-dots{display:grid;gap:4px;padding-left:18px;list-style:disc;color:var(--body)}
.sc-cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.sc-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.sc-groups b{display:block;color:var(--ink);font-size:.95rem;margin-bottom:4px}
.sc-checks{display:grid;gap:6px}
.sc-checks li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.sc-checks .ck{flex:none;width:20px;height:20px;margin-top:2px;color:var(--green)}
.sc-faq{margin:0;display:grid;gap:4px}
.sc-faq dt{font-weight:600;color:var(--ink);margin-top:6px}
.sc-faq dd{margin:0;color:var(--body)}
.sc-cta{margin-top:14px}
.sc-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.sc-act{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 20px;border-radius:999px;font:600 1rem/1.2 var(--sans);text-decoration:none;background:var(--blue);color:#fff;border:1.5px solid var(--blue)}
.sc-act .ic{flex:none;width:20px;height:20px}
.sc-act:hover{background:var(--navy);border-color:var(--navy)}
.sc-act.sc-panda{width:100%;min-height:60px;font-size:1.05rem;background:var(--green);border-color:var(--green)}
.sc-act.sc-panda:hover{background:var(--green2)}
.sc-act.sc-ghost{background:#fff;color:var(--blue)}
.sc-act.sc-ghost:hover{background:var(--sky)}
.sc-act.is-off,.sc-act.sc-panda.is-off{background:#EEF1F5;border:1.5px dashed #B8C2D1;color:#5A687D;cursor:not-allowed}
.sc-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.sc-links a{display:flex;align-items:center;gap:12px;min-height:76px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;box-shadow:var(--sh1);height:100%}
.sc-links a:hover{border-color:var(--blue)}
.sc-links b{display:block;color:var(--ink);font-weight:600;line-height:1.3}
.sc-links small{display:block;color:var(--muted);font-size:.86rem;line-height:1.35;margin-top:2px}
@media (max-width:899px){.sc-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.sc-jump{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.sc-links,.sc-groups,.sc-cols{grid-template-columns:1fr}.sc-jump a{min-height:58px;font-size:.95rem}.sc-flow>summary,.sc-cust>summary,.sc-est>summary{padding:10px 12px;gap:10px}.sc-in{padding:4px 12px 16px}.sc-cin{padding:4px 8px 12px}.sc-svc>summary{flex-wrap:wrap}.sc-svc .sc-kind{order:3;margin-left:54px}.sc-act{width:100%}}
/* image cards (ind-card, card): flex column instead of subgrid. WebKit/iPad Safari sized the subgrid photo row from the
   img's intrinsic ratio instead of the box's aspect-ratio, so the photo overflowed onto the title/description and left dead space.
   The photo box owns the 3:2 (16:10 for service cards) ratio; the img fills it absolutely so its file ratio never matters. */
.card,.ind-card{display:block;grid-row:auto;min-width:0}
.card>a,.ind-card>a{display:flex;flex-direction:column;height:100%;grid-row:auto}
.card-ph,.ind-ph{flex:none;width:100%;height:auto}
.ind-ph{aspect-ratio:3/2}
.card-ph>img,.ind-ph>img{position:absolute;inset:0;width:100%;height:100%!important;aspect-ratio:auto;object-fit:cover}
.svc-card .ct.ctw,.ind-card .ct.ctw{flex:none}
.card-body .cp,.ind-body .cp{flex:none}
.card .more,.ind-card .more{margin-top:auto;align-self:flex-start}
.ind-card .ct.ctw .nw{white-space:normal}
