@font-face{font-family:"Inter";src:url(/fonts/inter-var.woff) format("woff");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(/fonts/intertight-var.woff) format("woff");font-weight:100 900;font-display:swap}
:root{--ink:#0B0D0E;--ink2:#14181B;--ink3:#1B2024;--line:#262B2F;--paper:#F7F5F2;--white:#fff;--red:#C12921;--red-d:#A11F19;--red-l:#FF5A4F;--fg:#F5F5F4;--muted:#B3B8BF;--muted-l:#4B5157;--text:#14181B;--r:14px;--wrap:1200px;--sans:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;--disp:"Inter Tight","Inter","Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;font:17px/1.6 var(--sans);color:var(--text);background:var(--paper);font-feature-settings:"cv11","ss01"}
img,video,svg{max-width:100%;display:block}
img{height:auto}   /* keep the natural aspect ratio when max-width shrinks an image that carries width/height attributes (team photo on /about/ was stretched) */
a{color:var(--red-d);text-underline-offset:3px}
.dark a:not(.btn){color:var(--red-l)}
h1,h2,h3{font-family:var(--disp);line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(38px,5.4vw,68px);font-weight:700}
h2{font-size:clamp(30px,3.6vw,46px);font-weight:700}
h3{font-size:21px;font-weight:650;letter-spacing:-.01em;line-height:1.25}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.narrow{max-width:820px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:#000;padding:10px 16px;border-radius:8px;font-weight:700}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--red-l);outline-offset:3px;border-radius:4px}
.light :focus-visible,.paper :focus-visible{outline-color:var(--red-d)}
.tnum{font-variant-numeric:tabular-nums}
/* utility bar + header */
.util{background:#000;color:var(--muted);font-size:14px}
.util .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:38px}
.util a{color:#fff;text-decoration:none;font-weight:600}
.util .u-r{display:flex;gap:20px}
.hdr{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(21,25,28,.97),rgba(11,13,14,.97));backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);color:#fff}
.hdr>.wrap{display:flex;align-items:center;gap:20px;min-height:100px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none;border-radius:8px;color:#fff}
/* option E wordmark: text, "care" in red, tagline under it */
.brand .wm{display:flex;flex-direction:column;line-height:1}
.brand .wm b{font:800 30px/1 var(--disp);letter-spacing:-.02em;color:#fff;white-space:nowrap}
.brand .wm b em{font-style:normal;color:var(--red-l)}
.brand .wm small{font:700 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#C9CDD1;margin-top:7px;white-space:nowrap}
.brand .shield{height:74px;width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.util .u-short{display:none}
/* main nav (nav-mockup v3): dropdown groups + plain links; behaviour in site.js */
.mainnav{flex:1;display:flex;justify-content:center;min-width:0}
.nlist{display:flex;gap:4px;align-items:center;list-style:none;margin:0;padding:0}
.ni{position:relative}
.ni>.nl,.ni>.nb{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:84px;color:#E9EAEB;text-decoration:none;font:650 14.5px/1.1 var(--sans);padding:10px 12px;border-radius:10px;white-space:nowrap;background:none;border:0;cursor:pointer;min-height:44px}
.ni .ti{width:22px;height:22px;color:var(--red-l);flex:none}.ni .lb{display:inline-flex;align-items:center;gap:4px}
.ni>.nb svg.cv{width:14px;height:14px;transition:transform .2s;opacity:.8}
.ni>.nl:hover,.ni>.nb:hover,.ni>.nl[aria-current=page],.ni>.nb.cur{background:rgba(255,255,255,.08);color:#fff}
.ni>.nl[aria-current=page],.ni>.nb.cur,.ni>.nb[aria-expanded=true]{box-shadow:inset 0 -2px 0 var(--red-l)}
.ni>.nb[aria-expanded=true]{background:rgba(255,255,255,.08);color:#fff}
.ni>.nb[aria-expanded=true] svg.cv{transform:rotate(180deg)}
.dd{display:none;position:absolute;left:50%;transform:translateX(calc(-50% + var(--dx,0px)));top:calc(100% + 14px);width:620px;max-width:calc(100vw - 24px);background:var(--ink2);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 24px 70px rgba(0,0,0,.6);z-index:60}
.dd::before{content:"";position:absolute;top:-7px;left:calc(50% - var(--dx,0px));width:12px;height:12px;background:var(--ink2);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.dd::after{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.ni>.nb[aria-expanded=true]+.dd{display:block}
.dd ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.dd ul a{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:10px;text-decoration:none;color:#fff}
.dd ul a:hover,.dd ul a:focus-visible,.dd ul a[aria-current=page]{background:var(--ink3)}
.ic{flex:none;width:38px;height:38px;border-radius:10px;background:rgba(193,41,33,.16);border:1px solid rgba(255,90,79,.3);display:grid;place-items:center;color:var(--red-l);font-style:normal}
.ic svg{width:20px;height:20px}
.dd .tx b,.mpanel .tx b{display:block;font-size:15.5px;font-weight:650;line-height:1.3}
.dd .tx span,.mpanel .tx span{display:block;color:var(--muted);font-size:13.5px;line-height:1.4;margin-top:3px}
.dd .foot{border-top:1px solid var(--line);margin-top:6px;padding:12px 14px 6px;display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted)}
.dd .foot a{color:var(--red-l);font-weight:650;text-decoration:none}
.dd .foot a:hover{text-decoration:underline}
.hdr-req{flex:none}
.hdr-ctas{display:flex;gap:10px;flex:none;align-items:center}.hdr-ctas .btn{white-space:nowrap}
/* phone header: logo + call + hamburger; menu panel with accordion groups */
.mbtns{display:none;gap:8px;flex:none}
.ibtn{width:48px;height:48px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:#fff;background:transparent;cursor:pointer;padding:0}
.ibtn.call{background:var(--red);border-color:var(--red)}
.ibtn svg{width:22px;height:22px}
.burger .i-close{display:none}
.burger[aria-expanded=true]{background:var(--ink3)}
.burger[aria-expanded=true] .i-open{display:none}.burger[aria-expanded=true] .i-close{display:block}
.mpanel{background:var(--ink2);border-top:1px solid var(--line);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
/* hidden without waiting for site.js: the .js-gated version showed the open menu (~750px) until the script ran, then collapsed it (mobile CLS 0.75). No-JS fallback: <noscript> style in the head */
.mpanel:not(.open){display:none}
html:not(.js) .ni:hover>.dd,html:not(.js) .ni:focus-within>.dd{display:block}
.mpanel>.wrap{padding-top:8px;padding-bottom:24px}
.mpanel ul{list-style:none;margin:0;padding:0}
.acc{border-bottom:1px solid var(--line)}
.acc>.ah{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:64px;font:700 13px var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--red-l);background:none;border:0;padding:0;cursor:pointer;text-align:left}
.acc>.ah svg{width:18px;height:18px;transition:transform .2s}
.acc>.ah[aria-expanded=true] svg{transform:rotate(180deg)}
.acc>ul{padding-bottom:10px}
.acc>ul[hidden]{display:none}
.acc a{display:flex;gap:14px;align-items:center;min-height:64px;padding:10px 12px;margin:0 -12px;border-radius:10px;text-decoration:none;color:#fff}
.acc a:hover,.acc a[aria-current=page]{background:var(--ink3)}
.acc .ic{width:40px;height:40px}
.mpanel .tx b{font-size:17px}.mpanel .tx span{font-size:14px;margin-top:1px}
.single a{display:flex;justify-content:space-between;align-items:center;min-height:64px;border-bottom:1px solid var(--line);color:#fff;text-decoration:none;font-size:17px;font-weight:650}
.single a::after{content:"→";color:var(--red-l)}
.mcta{display:grid;gap:10px;margin-top:20px}
.mcta .btn{width:100%;min-height:56px;font-size:17px}
.mcta .btn svg{width:18px;height:18px}
.mnote{color:var(--muted);font-size:13.5px;text-align:center;margin:14px 0 0}
.mnote a{color:var(--muted)}
[id]{scroll-margin-top:110px}
.hdr-cta{display:flex;gap:8px;flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 20px;border-radius:10px;font-weight:650;font-size:16px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit;line-height:1.2;transition:background .2s,transform .2s,border-color .2s}
.btn:hover{transform:translateY(-1px)}
.btn.p{background:var(--red);color:#fff}.btn.p:hover{background:var(--red-d)}
.btn.g{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(0,0,0,.2)}.btn.g:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn.o{border-color:#14181B;color:#14181B;background:transparent}.btn.o:hover{background:#14181B;color:#fff}
.btn.lg{min-height:54px;padding:14px 26px;font-size:17px}
.btn.sm{min-height:42px;padding:9px 14px;font-size:15px}
.ico{width:18px;height:18px;flex:none}
/* sections */
section{padding:96px 0}
.dark{background:var(--ink);color:var(--fg)}
.dark2{background:var(--ink2);color:var(--fg)}
.paper{background:var(--paper)}
.white{background:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:750;color:var(--red-d);margin-bottom:14px}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.dark .eyebrow,.dark2 .eyebrow,.hero .eyebrow,.phero .eyebrow{color:var(--red-l)}
.lead{font-size:19px;line-height:1.55;max-width:640px}
.dark .lead,.dark2 .lead,.dark p.sub{color:#D9DCDF}
.sub{color:var(--muted-l);max-width:700px;font-size:18px}
.dark .sub,.dark2 .sub{color:var(--muted)}
.muted{color:var(--muted-l)}.dark .muted,.dark2 .muted{color:var(--muted)}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid #E4E1DC;border-radius:var(--r);padding:28px}
.dark .card,.dark2 .card{background:var(--ink2);border-color:var(--line)}
.dark2 .card{background:var(--ink3)}
.card p:last-child{margin-bottom:0}
.card h3{margin-bottom:.4em}
.checks{list-style:none;padding:0;margin:0}
.checks li{position:relative;padding-left:28px;margin:8px 0}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:9px;border-left:2.5px solid var(--red);border-bottom:2.5px solid var(--red);transform:rotate(-45deg)}
.dark .checks li::before,.dark2 .checks li::before{border-color:var(--red-l)}
.sec-head{margin-bottom:44px}
.sec-head.c{text-align:center}.sec-head.c .sub,.sec-head.c .lead{margin-left:auto;margin-right:auto}
.arrow{font-weight:700;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.arrow::after{content:"→";transition:transform .2s}.arrow:hover::after{transform:translateX(3px)}
/* hero */
.hero{position:relative;min-height:min(88vh,860px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--ink) center/cover no-repeat;color:#fff;padding:0}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,14,.94) 0%,rgba(11,13,14,.86) 42%,rgba(11,13,14,.62) 58%,rgba(11,13,14,.22) 82%),linear-gradient(0deg,rgba(11,13,14,.95) 0%,rgba(11,13,14,0) 50%);pointer-events:none}
.hero h1,.hero .lead,.hero .eyebrow{text-shadow:0 1px 14px rgba(0,0,0,.55)}
@media (max-width:760px){.hero::after{background:linear-gradient(0deg,rgba(11,13,14,.96) 0%,rgba(11,13,14,.76) 40%,rgba(11,13,14,.7) 75%,rgba(11,13,14,.55) 100%)}}
.hero .copy{position:relative;z-index:2;padding-top:120px;padding-bottom:56px}
.hero .copy>*{max-width:720px}
.hero h1{margin:6px 0 18px}
.hero .lead{color:#E7E7E5;max-width:580px}
.hero .area,.phero .area{display:flex;gap:10px;align-items:flex-start;width:fit-content;max-width:620px;margin:-4px 0 24px;padding:9px 14px;border-radius:12px;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:15.5px;line-height:1.45;font-weight:600;text-shadow:none}
.hero .area::before,.phero .area::before{content:"";flex:none;width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px rgba(193,41,33,.3)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 24px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips li{font-size:13.5px;font-weight:600;border:1px solid rgba(255,255,255,.28);padding:6px 11px;border-radius:999px;background:rgba(0,0,0,.4);color:#fff}
.vidctl{position:absolute;z-index:3;right:24px;top:20px;display:none;align-items:center;gap:8px;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:8px 14px 8px 10px;font:600 13.5px var(--sans);cursor:pointer;min-height:40px}
.js .vidctl{display:inline-flex}
.vidlabel{position:absolute;z-index:3;right:24px;top:72px;font-size:12px;color:#D0D3D6;background:rgba(0,0,0,.45);padding:4px 10px;border-radius:999px;letter-spacing:.02em}
.paths{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}
.paths a{background:rgba(20,24,27,.96);color:#fff;text-decoration:none;padding:22px 28px;display:block;transition:background .2s}
.paths a:hover{background:#1E2428}
.paths b{display:flex;justify-content:space-between;align-items:center;font-size:17.5px;font-weight:650}
.paths b::after{content:"→";color:var(--red-l);transition:transform .2s}
.paths a:hover b::after{transform:translateX(4px)}
.paths span{color:var(--muted);font-size:14.5px}
@media (prefers-reduced-motion:reduce){.hero video{display:none}}
.phero video.hero-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.phero:has(video.hero-loop)::before{z-index:1}.phero:has(video.hero-loop) .wrap{z-index:2}
@media (prefers-reduced-motion:reduce){.phero video.hero-loop{display:none}}
/* "See us in action" modal player (site.js) */
.story-open .ico{width:20px;height:20px}
.smodal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(5,6,7,.88)}
.smodal[hidden]{display:none}
.smodal-on,.smodal-on body{overflow:hidden}
.smodal-box{width:min(1120px,100%,calc((100vh - 110px) * 16 / 9));color:#fff}
.smodal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.smodal-t{margin:0;font-size:18px;font-weight:650;color:#fff;letter-spacing:0}
.smodal-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.1);color:#fff;cursor:pointer}
.smodal-x:hover{background:rgba(255,255,255,.2)}
.smodal-x:focus-visible,.smodal video:focus-visible{outline:3px solid #fff;outline-offset:3px}
.smodal video{display:block;width:100%;aspect-ratio:16/9;background:#000;border-radius:10px}
/* page hero (inner pages) */
.phero{background:var(--ink);color:#fff;padding:88px 0 72px;position:relative;overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 85% 0%,rgba(193,41,33,.28),transparent 70%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/48px 48px;pointer-events:none}
.phero .wrap{position:relative}
.phero h1{max-width:900px}
.phero .lead{color:#D9DCDF}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:18px}.crumbs a{color:var(--muted)}
/* counter band */
.proofband{background:var(--ink2);color:#fff;padding:56px 0;border-bottom:1px solid var(--line)}
.proofband .wrap{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center}
.counter{display:flex;flex-direction:column;gap:12px}
.flip{display:flex;gap:6px;align-items:flex-end}
.flip .d{position:relative;width:52px;height:74px;border-radius:9px;background:linear-gradient(180deg,#22282D 0 50%,#1A1F23 50% 100%);border:1px solid #30363B;color:#fff;font:700 50px/74px var(--disp);text-align:center;font-variant-numeric:tabular-nums;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.flip .d::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.65)}
.flip .d span{display:block}
.flip .d.flipping span{animation:flipin .45s cubic-bezier(.3,.7,.4,1)}
@keyframes flipin{0%{transform:rotateX(90deg);opacity:.2}100%{transform:rotateX(0);opacity:1}}
.flip .sep{color:#6B7278;font:700 40px/1 var(--disp);padding-bottom:10px}
.counter .cl{font-weight:650;font-size:17px}
.counter .cu{font-size:14px;color:var(--muted)}
.phtag{display:inline-block;background:#FFE14D;color:#000;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:5px;margin-left:8px;vertical-align:middle}
.proof{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.proof li{padding:6px 20px;border-right:1px solid var(--line)}
.proof b{display:block;white-space:nowrap;font:700 19px/1.2 var(--disp);color:#fff;margin-bottom:4px}
.proof span{color:var(--muted);font-size:14.5px}
@media (max-width:1180px){.proof{grid-template-columns:1fr 1fr;row-gap:14px}}   /* 4 across overflowed the page at 1024 (pre-existing) */
/* serve panels */
.serve{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.panel{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #E4E1DC;border-radius:18px;padding:32px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.panel:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.panel::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--red)}
.panel .pi{width:52px;height:52px;border-radius:12px;background:#14181B;display:grid;place-items:center;margin-bottom:22px}
.panel .pi svg{width:28px;height:28px;stroke:#fff}
.panel h3{font-size:24px}
.panel .checks{margin:12px 0 24px}
.panel .arrow{margin-top:auto}
.small2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.partners{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.partners li{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E3E5E8;border-radius:14px;min-height:96px;padding:14px 18px}
.partners img{max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}
.partners .ptext{font-weight:650;font-size:14.5px;line-height:1.3;text-align:center;color:#1B1F23}
.spanel{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--ink);color:#fff;border-radius:18px;padding:28px 32px;text-decoration:none;border:1px solid var(--line);transition:background .2s}
.spanel:hover{background:#1A1F23}
.spanel .eyebrow{color:var(--red-l);margin-bottom:8px}
.spanel h3{margin:0;font-size:20px;color:#fff}
.spanel .go{flex:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#fff;font-size:20px}
/* why */
.why{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.tripgrid{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.tripgrid li{background:var(--ink2);border:1px solid var(--line);color:#fff;padding:10px 16px;border-radius:10px;font-weight:550;font-size:15.5px}
/* timeline */
.timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;counter-reset:st}
.timeline::before{content:"";position:absolute;top:27px;left:28px;right:28px;height:2px;background:linear-gradient(90deg,var(--red) var(--prog,100%),#D9D5CF var(--prog,100%))}
.timeline li{position:relative;counter-increment:st}
.timeline li::before{content:counter(st,decimal-leading-zero);display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#14181B;color:#fff;font:700 18px var(--disp);border:4px solid var(--paper);box-shadow:0 0 0 2px var(--red);margin-bottom:20px;position:relative;z-index:1}
.timeline h3{margin-bottom:.35em}
.timeline p{color:var(--muted-l);font-size:16px;margin:0}
.dashcard{margin-top:48px;background:var(--ink);color:#fff;border-radius:16px;padding:20px 24px;display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;font-size:14.5px;border:1px solid var(--line)}
.dashcard .st{display:flex;align-items:center;gap:8px;color:#D9DCDF}
.dashcard .st i{width:10px;height:10px;border-radius:50%;background:#5C6268}
.dashcard .st.on i{background:#3CCB7F}.dashcard .st.cur i{background:var(--red-l);box-shadow:0 0 0 4px rgba(255,90,79,.25)}
.dashcard small{margin-left:auto;color:var(--muted)}
/* map */
.mapwrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.inmap{width:100%;max-width:440px;margin:0 auto;height:auto}
.inmap .co{fill:#2A1715;stroke:#FF5A4F;stroke-opacity:.35;stroke-width:.6;transition:fill .3s}
.inmap .co:hover{fill:#5A201C}
.inmap .st{fill:none;stroke:#FF5A4F;stroke-width:2}
.inmap .pin{fill:#fff;stroke:var(--red);stroke-width:3}
.inmap .pulse{fill:none;stroke:#FF5A4F;stroke-width:2;transform-origin:center;transform-box:fill-box;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(2.6)}}
.inmap text{fill:#fff;font:600 13px var(--sans)}
.inmap .lbl2{fill:#B3B8BF;font-size:11.5px}
.bignum{font:800 clamp(64px,9vw,120px)/.9 var(--disp);color:#fff;letter-spacing:-.04em}
.bignum small{display:block;font-size:17px;letter-spacing:0;font-weight:600;color:var(--muted);margin-top:10px}
/* testimonial */
.testi{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}
.vidbox{position:relative;border-radius:16px;overflow:hidden;background:#000;border:1px solid var(--line);aspect-ratio:16/9}
.vidbox video{width:100%;height:100%;object-fit:cover}
.tquotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.tquotes[hidden]{display:none!important}
.tquote{margin:0;background:var(--ink3);border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;color:#fff}
.tquote .stars{color:#FFD166;letter-spacing:.08em;font-size:14px;margin-bottom:10px}
.tquote blockquote{margin:0;font:500 17px/1.45 var(--sans);color:#F3F1EE}
.tquote figcaption{margin-top:14px;font-size:14px;color:var(--muted)}
.tquote figcaption b{color:#fff;font-weight:700}
.tquote .rel{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.tshare{margin:28px 0 0}
@media(max-width:900px){.tquotes{grid-template-columns:1fr}}
@media(min-width:901px) and (max-width:1100px){.tquotes{grid-template-columns:repeat(2,1fr)}}
/* certs */
.certs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cert{background:var(--ink2);border:1px solid var(--line);border-radius:16px;padding:22px;text-align:center;color:#fff}
/* seals sit on a white card at full colour (the IDOA seals are transparent with a knocked-out white centre); never dimmed or filtered */
.cert img{width:132px;height:132px;margin:0 auto 14px;border-radius:12px;object-fit:contain;background:#fff;filter:none;opacity:1}
.cert .noseal{width:132px;height:132px;margin:0 auto 14px;border-radius:12px;display:grid;place-items:center;background:#fff;font:800 30px var(--disp);color:#14181B}
.cert b{display:block;font:700 20px var(--disp)}
.cert span{display:block;color:var(--muted);font-size:14px}
.vet{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;margin-bottom:48px}
.vet img{width:150px}
/* team */
.team{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.team.lead2{grid-template-columns:repeat(2,minmax(0,320px))}
.member{background:#fff;border:1px solid #E4E1DC;border-radius:16px;overflow:hidden}
.member img,.member .ini{width:100%;aspect-ratio:1;object-fit:cover;background:#14181B}
.member .ini{display:grid;place-items:center;color:#fff;font:700 44px var(--disp)}
.member div.t{padding:16px 18px}
.member b{display:block;font-size:17px}
.member span{color:var(--muted-l);font-size:14.5px}
.member p{font-size:14.5px;color:var(--muted-l);margin:8px 0 0}
/* academy band */
.acad{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.ratings{display:flex;flex-wrap:wrap;gap:10px}
.ratings span{padding:10px 16px;border-radius:10px;font-weight:700;font-size:15px;border:1px solid var(--line);background:var(--ink2)}
.ratings .r1{color:#7EE2A8}.ratings .r2{color:#FFD166}.ratings .r3{color:#FF8A80}
/* faq */
details.q{border-bottom:1px solid #DDD9D3;padding:4px 0}
details.q summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:650;font-size:18px;position:relative}
details.q summary::-webkit-details-marker{display:none}
details.q summary::after{content:"+";position:absolute;right:6px;top:12px;font-size:28px;font-weight:400;color:var(--red-d)}
details.q[open] summary::after{content:"–"}
details.q p{margin:0 0 18px;color:#2B3035;max-width:760px}
.dark details.q{border-color:var(--line)}.dark details.q p{color:#D9DCDF}.dark details.q summary::after{color:var(--red-l)}
/* close band */
.close{background:linear-gradient(120deg,#5E0F0B 0%,#2A0D0B 35%,var(--ink) 75%);color:#fff;padding:88px 0}
.close .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.close h2{margin:0}.close p{color:#E7E1E0;margin:8px 0 0;font-size:18px}
/* capability */
.capgrid{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;align-items:start}
.idbox{background:#fff;border:1px solid #E4E1DC;border-radius:16px;padding:28px;position:sticky;top:100px}
.idbox dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:12px 18px}
.idbox dt{font-weight:650;color:var(--muted-l);font-size:14.5px;padding-top:2px}
.idbox dd{margin:0;font-weight:600}
.code{font:700 18px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em;user-select:all;background:#F1EEEA;border-radius:6px;padding:2px 8px;display:inline-block}
.naics{list-style:none;padding:0;margin:0}
.naics li{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid #ECE9E4}
.naics li:last-child{border-bottom:0}
.pill{display:inline-block;font-size:12px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--red);color:#fff;margin-left:6px;vertical-align:middle}
.caphead{display:flex;gap:24px;align-items:center}
.caphead img{width:96px;flex:none}
.dl{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
/* forms */
.formwrap{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}
form.f{background:#fff;border:1px solid #E4E1DC;border-radius:18px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
form.f .full{grid-column:1/-1}
form.f label,form.f legend{display:block;font-weight:650;font-size:15.5px;margin-bottom:6px;color:#14181B}
form.f .opt{font-weight:500;color:var(--muted-l)}
form.f input,form.f select,form.f textarea{width:100%;font:inherit;font-size:16px;color:#14181B;background:#fff;border:1.5px solid #8A9096;border-radius:10px;padding:12px 14px;min-height:48px}
form.f textarea{min-height:110px;resize:vertical}
form.f input:focus,form.f select:focus,form.f textarea:focus{outline:3px solid rgba(193,41,33,.35);border-color:var(--red-d)}
form.f fieldset{border:0;padding:0;margin:0}
/* Names: First name / Middle initial / Last name (lib/names.js). Phone: first + MI on one row, last name below. */
.nameparts{display:grid;grid-template-columns:minmax(0,1fr) 7.5rem minmax(0,1fr);gap:12px;align-items:end}
form.f .nameparts label{font-weight:600;font-size:14.5px}
.np-mi input{text-align:center;text-transform:uppercase}
@media (max-width:600px){.nameparts{grid-template-columns:minmax(0,1fr) 6.5rem}.np-last{grid-column:1/-1}}
form.f .radios{display:flex;flex-wrap:wrap;gap:10px}
form.f .radios label{display:flex;align-items:center;gap:8px;border:1.5px solid #8A9096;border-radius:10px;padding:10px 14px;font-weight:550;min-height:46px;cursor:pointer}
form.f .radios input,form.f .chk input{width:20px;height:20px;min-height:0;accent-color:var(--red)}
form.f .chk{display:flex;gap:12px;align-items:flex-start;font-weight:500;font-size:14.5px;color:#2B3035}
form.f .chk input{margin-top:2px;flex:none}
.formnote{font-size:14.5px;color:var(--muted-l);margin:0}
.estbox{grid-column:1/-1;background:#F3F8F6;border:1px solid #BFD8CF;border-radius:12px;padding:14px 16px}
.estbox h3{margin:0 0 6px;font-size:18px}
.estbox .est-msg{margin:0 0 8px}
.estbox[data-state=busy] .est-msg,.estbox[data-state=err] .est-msg{color:#7A1A13}
.estbox .est-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-size:17px}
.estbox .est-total b{font-size:28px}
.estbox .est-dep{margin:4px 0 8px;font-size:15px}
.estbox .est-lines{margin:0 0 8px;font-size:14.5px}
.estbox .est-lines table{width:100%;border-collapse:collapse;margin-top:6px}
.estbox .est-lines td{padding:3px 0;border-bottom:1px solid #DCE7E2}
.estbox .est-lines td.tnum{text-align:right;white-space:nowrap}
.estbox .est-foot{margin-top:6px}
input[data-want]{outline:2px solid #E8C900;outline-offset:1px}
.draftnote{grid-column:1/-1;background:#FFF6CC;border:1px solid #E8C900;color:#3D3300;border-radius:10px;padding:10px 14px;font-size:14px}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.side{display:grid;gap:16px}
.side .card h3{font-size:18px}
/* Trip summary (Jezz, Nov 2 2026): A-Leg / B-Leg miles, drive time, dead miles and cost; sticky in the side column on desktop,
   moved under the route map on phones by src/site.js. */
.side:has(.tsbox){align-self:stretch;align-content:start}
.tsbox{grid-column:1/-1;background:#fff;border:1px solid #BFD8CF;border-radius:14px;padding:16px 18px;position:sticky;top:96px;z-index:5;max-height:calc(100vh - 112px);overflow:auto;box-shadow:0 6px 22px rgba(20,24,27,.08);font-size:15px}
.tsbox h3{margin:0;font-size:19px}
.tsbox .ts-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.tsbox .ts-badge{font-size:12px;font-weight:650;color:#1F5E46;background:#E3F1EB;border-radius:20px;padding:2px 10px;white-space:nowrap}
.tsbox .ts-msg{margin:0;color:var(--muted-l)}
.tsbox .ts-leg{border-top:1px solid #E6EAE8;padding:9px 0}
.tsbox .ts-leg:first-child{border-top:0}
.tsbox .ts-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.tsbox .ts-lab{font-weight:750;color:#14181B;white-space:nowrap}
.tsbox .ts-lab small{font-weight:600;color:var(--muted-l);font-size:12px;margin-left:4px}
.tsbox .ts-route{font-size:14px;color:#2B3136;margin:2px 0 0;overflow-wrap:anywhere}
.tsbox .ts-meta{font-size:13.5px;color:var(--muted-l);margin:2px 0 0}
.tsbox .ts-dead{font-size:13.5px;color:#5B4A00;background:#FFF8DA;border-radius:8px;padding:4px 8px;margin:5px 0 0;display:flex;justify-content:space-between;gap:8px}
.tsbox .tnum{white-space:nowrap}
.tsbox table{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:4px}
.tsbox td{padding:3px 0;border-bottom:1px solid #EEF1F0;vertical-align:top}
.tsbox td.tnum{text-align:right;padding-left:8px}
.tsbox tr.ts-tot td{font-weight:750;font-size:16px;border-bottom:0;padding-top:7px}
.tsbox tr.ts-dep td{color:var(--muted-l);border-bottom:0}
.tsbox .ts-sec{margin:12px 0 2px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-l);font-weight:700}
.tsbox .ts-tips{list-style:none;padding:0;margin:4px 0 0}
.tsbox .ts-tips li{padding:7px 0 7px 26px;border-top:1px solid #EEF1F0;position:relative;font-size:14px}
.tsbox .ts-tips li::before{content:"💡";position:absolute;left:0;top:6px}
.tsbox .ts-tips li.warn::before{content:"⚠️"}
.tsbox .ts-tips b{display:block;font-size:14px}
.tsbox .ts-foot{font-size:12.5px;color:var(--muted-l);margin:10px 0 0}
.f .tsbox{position:static;max-height:none;box-shadow:none}
.bigtel{font:700 28px var(--disp);text-decoration:none;color:#14181B}
/* legal */
.legal h2{font-size:26px;margin-top:1.6em}
.legal ul{padding-left:22px}.legal li{margin:6px 0}
/* footer */
footer{background:#000;color:var(--muted);padding:72px 0 0;font-size:15px}
footer a{color:#E3E5E7;text-decoration:none}footer a:hover{color:#fff;text-decoration:underline}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
.fgrid h2{font:700 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 16px}
.fgrid ul{list-style:none;padding:0;margin:0}.fgrid li{margin:9px 0}
.fbrand img.wm{height:44px;width:auto;margin-bottom:16px}
.fcerts{display:flex;gap:10px;align-items:center;margin-top:18px}
.fcerts img{width:52px;height:52px;border-radius:8px;background:#fff;border:1px solid #23282C;object-fit:contain;filter:none;opacity:1}
.fbot{border-top:1px solid #1D2226;margin-top:56px;padding:22px 0 26px}
.fbot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
.fbot nav{display:flex;gap:18px;flex-wrap:wrap}

/* sticky mobile bar */
.mbar{display:none}
/* TO CONFIRM markers (draft builds only) */
mark.tc{background:#FFE14D;color:#000;font-size:.82em;font-weight:700;padding:1px 6px;border-radius:4px;white-space:normal}
.draftbar{background:#FFE14D;color:#000;text-align:center;font:700 13.5px var(--sans);padding:6px 12px}
/* reveal (JS only, so content is visible without JS) */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}
/* responsive */
@media (max-width:1240px){.brand .wm b{font-size:26px}.brand .wm small{font-size:9.5px;letter-spacing:.12em}.ni>.nl,.ni>.nb{min-width:0;padding:10px 10px}}
@media (max-width:1100px){.ni>.nl,.ni>.nb{padding:10px 8px;font-size:14px}.hdr>.wrap{gap:14px}.brand .wm small{display:none}.brand{gap:10px}.hdr-ctas{gap:8px}.hdr-ctas .btn{min-height:42px;padding:9px 14px;font-size:15px}}
@media (max-width:1020px){.brand .wm b{font-size:23px}.hdr-req{padding-left:14px;padding-right:14px}}
@media (min-width:960px){.mpanel{display:none!important}}
@media (max-width:959px){.mainnav,.hdr-req,.hdr-ctas{display:none}.mbtns{display:flex}.hdr>.wrap{justify-content:space-between;min-height:76px;gap:10px}.brand .shield{height:56px}.brand{gap:10px;min-width:0}.brand .wm small{display:block;font-size:8.5px;letter-spacing:.12em}.brand .wm b{font-size:21px}}
@media (max-width:370px){.brand .wm small{display:none}.brand .shield{height:50px}}
@media (max-width:980px){
 .g3,.g4,.serve,.certs{grid-template-columns:1fr 1fr}.team{grid-template-columns:repeat(3,1fr)}
 .why,.mapwrap,.testi,.acad,.capgrid,.formwrap{grid-template-columns:1fr;gap:40px}
 .proofband .wrap{grid-template-columns:1fr;gap:32px}.proof{grid-template-columns:1fr 1fr;border-left:0}.proof li{border:0;padding:10px 0}
 .timeline{grid-template-columns:1fr 1fr;row-gap:40px}.timeline::before{display:none}
 .fgrid{grid-template-columns:1fr 1fr}.idbox{position:static}.tsbox{position:static;max-height:none}
}
@media (max-width:700px){
 body{font-size:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 /* the fixed .mbar (≈71px + iPhone safe area) must never cover a link: keep scrolled-to / focused targets above it */
 html{scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .wrap{padding:0 18px}section{padding:64px 0}
 .util .u-full,.util .u-r{display:none}.util .u-short{display:inline;white-space:nowrap}.util .wrap{justify-content:center;font-size:13.5px}
 .hdr-cta{display:none}
 .hero{min-height:82vh}.hero .copy{padding-top:96px;padding-bottom:32px}
 .hero h1{font-size:40px}.lead{font-size:17px}
 .paths{grid-template-columns:1fr 1fr}.paths a{padding:16px 16px}.paths b{font-size:15.5px}.paths span{font-size:13px}
 .vidctl{right:12px;top:14px}.vidlabel{top:auto;bottom:12px;right:12px;display:none}
 .g2,.g3,.g4,.serve,.small2{grid-template-columns:1fr}.certs{grid-template-columns:1fr 1fr}.cert img,.cert .noseal{width:104px;height:104px}
 .team{grid-template-columns:1fr 1fr}.team.lead2{grid-template-columns:1fr 1fr}
 .timeline{grid-template-columns:1fr}
 .flip .d{width:40px;height:58px;font-size:38px;line-height:58px}.flip .sep{font-size:30px}
 form.f{grid-template-columns:1fr;padding:22px}
 .fgrid{grid-template-columns:1fr}
 .phero{padding:56px 0 48px}
 .close{padding:64px 0}
 .vet{grid-template-columns:1fr;gap:20px}.vet img{width:110px}
 .caphead{flex-direction:column;align-items:flex-start}
 .idbox dl{grid-template-columns:1fr;gap:4px}.idbox dd{margin-bottom:10px}
 .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(11,13,14,.96);border-top:1px solid var(--line);backdrop-filter:blur(10px)}
 .mbar .btn{min-height:50px}
}
@media print{.util,.hdr,.mbar,footer,.vidctl,.draftbar{display:none!important}body{background:#fff}section{padding:24px 0}}

/* booking / quote request forms (API) */
form.f .ferr{background:#FDECEA;border:1px solid #E7A6A1;color:#7A1A13;border-radius:10px;padding:12px 16px;font-size:15px}
form.f .ferr ul{margin:6px 0 0;padding-left:20px}
form.f [aria-invalid=true]{border-color:#C12921;outline:2px solid rgba(193,41,33,.25)}
form.f .tripset{border:1px solid #E4E1DC;border-radius:14px;padding:16px 18px 18px}
form.f .tripset legend{padding:0 6px}
form.f .tripgrid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
form.f .timeset .formnote b{font-weight:400}
form.f .cf-turnstile{min-height:65px}
form.f button[disabled]{opacity:.6;cursor:wait}
.steps{margin:0;padding-left:22px}.steps li{margin:6px 0}
@media (max-width:760px){form.f .tripgrid2{grid-template-columns:1fr}}
/* share-your-story: choice + video recorder (big targets, plain words) */
.choicesec{padding-bottom:0}
.choiceh{font-size:clamp(24px,3vw,32px);margin:0 0 20px}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.choice-card{position:relative;display:grid;gap:8px;align-content:start;background:#fff;border:2px solid #E4E1DC;border-radius:18px;padding:28px 28px 28px 104px;min-height:150px;text-decoration:none;color:#14181B;transition:border-color .2s,transform .2s,box-shadow .2s}
.choice-card:hover,.choice-card:focus-visible{border-color:var(--red);transform:translateY(-2px);box-shadow:0 10px 30px rgba(20,24,27,.08)}
.choice-card .ci{position:absolute;left:28px;top:28px;width:56px;height:56px;border-radius:14px;background:#14181B;color:#fff;display:grid;place-items:center}
.choice-card .ci svg{width:28px;height:28px}
.choice-card b{font:700 clamp(21px,2.2vw,26px)/1.15 var(--disp)}
.choice-card span{font-size:16.5px;color:var(--muted-l)}
.choice-card .go{position:absolute;right:24px;bottom:20px;font-size:26px;color:var(--red-d)}
.choice-card .soon{display:inline-block;justify-self:start;background:#FFF6CC;border:1px solid #E8C900;color:#3D3300;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}
.vstory{display:grid;gap:18px}
.vsteps{display:flex;gap:8px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.vsteps li{padding:8px 14px;border-radius:999px;background:#fff;border:1.5px solid #D9D5CF;font-weight:650;font-size:15px;color:var(--muted-l)}
.vsteps li.on{background:#14181B;border-color:#14181B;color:#fff}
.vsteps li.done{border-color:#1D6B36;color:#1D6B36}
.vpanel{display:grid;gap:18px}.vpanel[hidden],.vstory [hidden]{display:none!important}
.vh{font-size:26px;margin:0}
.vstage{position:relative;background:#0B0D0E;border-radius:18px;overflow:hidden;aspect-ratio:4/3;display:grid;place-items:center;border:1px solid #14181B}
.vstage video{width:100%;height:100%;object-fit:cover;display:block}
.vstage video.mirror{transform:scaleX(-1)}
.vstage .vph{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:#B3B8BF;font-size:17px;text-align:center;padding:20px}
.vstage .vph svg{width:56px;height:56px}
.vstage.on .vph{display:none}
.vstage.rec{box-shadow:0 0 0 4px var(--red)}
.vprev video{object-fit:contain}
.vcount{position:absolute;inset:0;display:grid;place-items:center;font:800 clamp(110px,22vw,180px)/1 var(--disp);color:#fff;background:rgba(0,0,0,.45);text-shadow:0 4px 30px rgba(0,0,0,.6)}
.vtimer{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.72);color:#fff;border-radius:999px;padding:8px 14px;font:700 20px var(--sans)}
.vtimer i{width:14px;height:14px;border-radius:50%;background:var(--red-l);animation:vblink 1s steps(2) infinite}
@keyframes vblink{50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.vtimer i{animation:none}}
.vcontrols{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.vcontrols .btn{flex:1 1 auto}
.btn.vbig{min-height:68px;font-size:21px;padding:16px 30px;border-radius:14px;flex:2 1 260px}
.vtips{font-size:16px}
.vhelp{background:#FDECEA;border:1.5px solid #E7A6A1;border-radius:14px;padding:18px 20px;font-size:16.5px;color:#14181B}
.vhelp h3{margin:0 0 8px;font-size:20px}.vhelp ul{margin:8px 0;padding-left:22px}.vhelp li{margin:6px 0}
.vupload{background:#fff;border:1.5px dashed #8A9096;border-radius:18px;padding:22px;display:grid;gap:10px;justify-items:start}
.vupload h3{margin:0;font-size:20px}
.vfile{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.vfile:focus-visible+label,.vupload label:focus-within{outline:3px solid var(--red-d)}
.vtrim{background:#fff;border:1px solid #E4E1DC;border-radius:18px;padding:22px;display:grid;gap:14px}
.vtrim p{margin:0;font-size:17px}
.vrange label{display:flex;justify-content:space-between;font-weight:650;font-size:16.5px;margin-bottom:4px}
.vrange output{font-weight:800}
.vrange input[type=range]{width:100%;height:44px;accent-color:var(--red);cursor:pointer}
.vmed p{margin:0;background:#F3F1EE;border-left:4px solid var(--red);border-radius:10px;padding:12px 14px;font-size:15.5px}
form.f .vconsent{font-size:16px;color:#14181B}
.vprog{display:grid;gap:6px}.vprog progress{width:100%;height:18px;accent-color:var(--red)}
.tvideo video{width:100%;aspect-ratio:3/4;max-height:420px;object-fit:cover;background:#000;border-radius:12px;display:block;margin-bottom:12px}
.tvideo .vlabel{display:inline-block;background:var(--red);color:#fff;font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:2px 8px;margin-bottom:10px}
@media(max-width:900px){.choice{grid-template-columns:1fr}.choice-card{padding:22px 22px 22px 92px;min-height:0}.choice-card .ci{left:22px;top:22px}.vstage{aspect-ratio:3/4}.btn.vbig{flex-basis:100%}}
.choice-card .soon[hidden]{display:none}
/* testimonial consent + booking gate */
form.f fieldset.fs{display:contents}form.f fieldset.fs[hidden]{display:none!important}
form.f .bookq legend,form.f .consent>legend{font:700 19px/1.25 var(--disp);color:#14181B;margin-bottom:10px}
form.f .bigradios{display:grid;gap:10px}
form.f .bigradios label{display:flex;gap:12px;align-items:center;background:#fff;border:1.5px solid #D9D5CF;border-radius:12px;padding:14px 16px;font-size:16.5px;font-weight:550;cursor:pointer;min-height:56px}
form.f .bigradios input[type=checkbox]{width:24px;height:24px;flex:none;margin:0}
form.f .paidq .paidnote{margin:0 0 12px;font-size:16.5px;line-height:1.5;color:#3A3F44}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
form.f .bigradios label:has(input:checked){border-color:var(--red);background:#FFF6F5;box-shadow:0 0 0 1px var(--red)}
form.f .consent{border:1.5px solid #D9D5CF!important;border-radius:16px;padding:20px!important;background:#FBFAF8;display:grid;gap:14px}
form.f .consent .opt{font:500 14px var(--sans);color:var(--muted-l)}
form.f .cbox{font-size:15.5px;line-height:1.5;color:#14181B}
form.f .cbox input{width:24px;height:24px}
form.f .crole{margin:-4px 0 0 36px!important}form.f .crole legend{font-weight:650;font-size:15px;margin-bottom:6px}
form.f .crole .radios{display:grid;gap:8px}form.f .crole label{display:flex;gap:10px;align-items:center;font-size:15.5px}
form.f .consent .repf:not([hidden]){display:grid!important;grid-template-columns:1fr 1fr;gap:14px;margin-left:36px;padding:14px;background:#fff;border:1px dashed #B9B3AB;border-radius:12px}
form.f .hipaa{background:#FFF8E1;border:1.5px solid #E8C900;border-radius:12px;padding:14px 16px}form.f .hipaa h3{margin:0 0 4px;font-size:17px}
form.f .sign{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:end;border-top:1px solid #E4E1DC;padding-top:14px}
form.f .sign input{font:italic 600 19px Georgia,serif}
form.f .slab{display:block;font-weight:650;font-size:14px;margin-bottom:6px}form.f .sdate{display:block;padding:12px 0;font-weight:700;font-size:16px}
.cnote p{margin:0;background:#F3F1EE;border-left:4px solid var(--red);border-radius:10px;padding:12px 14px;font-size:15.5px}
.deferbox{background:#EEF6F0;border:1.5px solid #9CC7A8;border-radius:14px;padding:18px 20px}.deferbox h3{margin:0 0 6px;font-size:20px}.deferbox p{margin:0;font-size:16.5px}
.ccopy{background:#F3F1EE;border-radius:14px;padding:18px 20px;margin:16px 0}.ccopy h3{margin:0 0 6px}
.twithdraw{font-size:14.5px;color:var(--muted-l);margin:14px 0 0}.twithdraw a{color:inherit;text-decoration:underline}
.dark2 .twithdraw{color:#B3B8BF}
.pvnote{margin:0;background:#FFF6CC;border:1.5px solid #E8C900;color:#3D3300;border-radius:12px;padding:12px 14px;font-size:15px}
.pvnote.pvflash{outline:4px solid #E8C900;animation:pvf .4s 3}@keyframes pvf{50%{background:#FFE780}}
@media(max-width:900px){form.f .consent .repf:not([hidden]){grid-template-columns:1fr;margin-left:0}form.f .crole{margin-left:0!important}form.f .sign{grid-template-columns:1fr}}

/* facility testimonial forms (Part A / Part B) */
form.f .finl label{display:inline;font:inherit;color:inherit;margin:0}
form.f .inlr{display:inline-flex;gap:6px;align-items:center;white-space:nowrap;padding:2px 8px;background:#fff;border:1px solid #D5CFC7;border-radius:999px;margin:0 2px}
form.f .inlr label{display:inline-flex!important;gap:5px;align-items:center;font-weight:700!important}
form.f .inlr input{width:18px;height:18px;min-height:0;accent-color:var(--red)}
form.f .fident{display:grid;gap:8px;margin:-4px 0 4px 36px;padding:12px 14px;background:#fff;border:1px dashed #B9B3AB;border-radius:12px}
form.f .fbaa{display:grid;gap:10px}
form.f .fbaa>.funsure,form.f .fbaa>div:last-child{margin-left:36px}
form.f .frep{margin-left:36px}
.vlinkbad h2{margin-top:0}
figure.tquote .rel.fac{display:block}
@media(max-width:900px){form.f .fident,form.f .fbaa>.funsure,form.f .fbaa>div:last-child{margin-left:0}}
/* Backup pages + service banner (Oct 31 2026): /service-status/, /backup/request-trip/. The banner only shows when an owner turns it on. */
.svcstat{text-align:center}.svcphone{margin:6px 0 18px}.svcphone a{font:800 clamp(40px,9vw,68px)/1.05 var(--disp);color:var(--ink,#14181B);text-decoration:none;letter-spacing:-.01em}
.svcstat .ctas{justify-content:center}
.svcbar{background:#FFE9A8;color:#14181B;text-align:center;font:600 14px/1.35 var(--sans);padding:7px 14px;border-bottom:1px solid #E8C95A}.svcbar a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media print{.svcbar{display:none}}
/* About: founders and timeline (Nov 1 2026) */
.founders .member h3{font-size:19px;margin:0 0 2px}
.founders .member p{font-size:15.5px;line-height:1.55}
.abtl{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:860px;border-left:3px solid var(--red);margin-left:8px}
.abtl li{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:22px 0 22px 28px;position:relative}
.abtl li::before{content:"";position:absolute;left:-10px;top:30px;width:17px;height:17px;border-radius:50%;background:#fff;border:3px solid var(--red)}
.abtl .yr{font:700 22px var(--disp);color:var(--red-d);padding-top:2px}
.abtl h3{margin:0 0 6px;font-size:19px}
.abtl p{margin:0;color:var(--muted-l);font-size:16px;line-height:1.6}
@media (max-width:700px){.abtl li{grid-template-columns:1fr;gap:6px;padding-left:22px}.abtl .yr{font-size:19px}}
@media (max-width:560px){.team.lead2.founders{grid-template-columns:minmax(0,360px)}}
/* ---- Moments gallery (lib/gallery.js) + lightbox (site.js) ---- */
.moments{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(2,1fr);grid-auto-flow:dense}
@media (min-width:760px){.moments.c3{grid-template-columns:repeat(3,1fr)}.moments.c4{grid-template-columns:repeat(4,1fr)}.moments.c3 .mo-item:first-child,.moments.c4 .mo-item:first-child{grid-column:span 2;grid-row:span 2}.moments .mo-item:first-child .mo-link{aspect-ratio:auto}}
.mo-item{margin:0;position:relative;min-width:0}
.mo-link{display:block;position:relative;overflow:hidden;border-radius:14px;background:#E7E3DD;aspect-ratio:4/3;height:100%}
.mo-link picture,.mo-link img{display:block;width:100%;height:100%}
.mo-link img{object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .3s}
.mo-link::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(11,13,14,.08);background:linear-gradient(180deg,transparent 60%,rgba(11,13,14,.28));opacity:0;transition:opacity .3s}
.mo-link:hover img,.mo-link:focus-visible img{transform:scale(1.035)}.mo-link:hover::after,.mo-link:focus-visible::after{opacity:1}
.mo-cap{position:absolute;left:10px;bottom:10px;margin:0;max-width:calc(100% - 20px);background:rgba(11,13,14,.74);color:#fff;font-size:13px;font-weight:600;line-height:1.3;padding:5px 11px;border-radius:999px;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lbx{position:fixed;inset:0;z-index:200;background:rgba(6,7,8,.94);display:grid;grid-template-rows:auto 1fr auto;color:#fff}
.lbx[hidden]{display:none}
.lbx-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;color:var(--muted)}
.lbx-fig{margin:0;display:grid;place-items:center;min-height:0;padding:0 64px;position:relative}
.lbx-fig img{max-width:100%;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);object-fit:contain;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lbx-cap{text-align:center;padding:12px 16px 18px;font-size:15px;color:#E4E4E2;min-height:1.6em}
.lbx button{font:inherit;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;min-width:44px;min-height:44px;cursor:pointer;display:inline-grid;place-items:center}
.lbx button:hover{background:rgba(255,255,255,.16)}
.lbx-prev,.lbx-next{position:absolute;top:50%;transform:translateY(-50%);font-size:26px!important;line-height:1}
.lbx-prev{left:12px}.lbx-next{right:12px}
@media (max-width:640px){.lbx-fig{padding:0 8px}.lbx-prev,.lbx-next{top:auto;bottom:-56px;transform:none}.lbx-prev{left:16px}.lbx-next{right:16px}.lbx-cap{padding:12px 72px 18px}}
html.lbx-open{overflow:hidden}
.mg [hidden],.ss[hidden]{display:none!important}
/* About highlight strip (Nov 2 2026): even tiles, then a "See all moments" button */
.moments.strip .mo-item:first-child{grid-column:auto;grid-row:auto}.moments.strip .mo-item:first-child .mo-link{aspect-ratio:4/3}
@media (min-width:760px){.moments.strip.c4{grid-template-columns:repeat(4,1fr)}.moments.strip .mo-item:first-child .mo-link{aspect-ratio:4/3}}
.mo-more{display:flex;justify-content:center;margin-top:30px}
.mo-link:focus-visible,.mg-chip:focus-visible,.mg-view:focus-visible,.mg-aopen:focus-visible,.mg-back:focus-visible,.ss button:focus-visible,.lbx button:focus-visible{outline:3px solid var(--red);outline-offset:3px}
/* /moments/ page: theme chips, view switch, justified wall, albums, slideshow */
.mg-sec{padding-top:44px}
.mg-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-bottom:28px}
.mg-bar[hidden],.mg-panel[hidden],.mg-album[hidden],.mg-morebar[hidden],.mo-item[hidden],.mg-acard[hidden]{display:none}
.mg-chips{display:flex;flex-wrap:wrap;gap:8px}
.mg-chip{position:relative;font:inherit;font-size:15px;font-weight:600;color:var(--text);background:#fff;border:1px solid #DDD8D0;border-radius:999px;min-height:44px;padding:8px 16px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;white-space:nowrap}
.mg-chip:hover{border-color:#B9B2A7}
.mg-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.mg-n{font-size:12.5px;font-weight:650;color:var(--muted-l);background:#F1EEE9;border-radius:999px;padding:1px 8px;line-height:1.5}
.mg-chip[aria-pressed=true] .mg-n{background:rgba(255,255,255,.16);color:#fff}
.mg-views{display:inline-flex;background:#ECE8E2;border-radius:12px;padding:4px;gap:2px}
.mg-view{font:inherit;font-size:14.5px;font-weight:600;color:var(--muted-l);background:transparent;border:0;border-radius:9px;min-height:40px;padding:8px 14px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.mg-view .ico{width:17px;height:17px}
.mg-view:hover{color:var(--text)}
.mg-view[aria-pressed=true]{background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(11,13,14,.08),0 2px 8px rgba(11,13,14,.06)}
.mg-grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px}
.mg-grid::after{content:"";flex:999 1 0}
.mg-grid>.mo-item{flex:calc(var(--r,1.33)*100) 1 calc(var(--r,1.33)*230px);max-width:100%}
.mg-grid .mo-link{aspect-ratio:var(--r,1.33);height:auto;border-radius:16px}
.mg-grid .mo-cap{font-weight:550;font-size:12.5px}
.mg-morebar{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:34px}
.mg-count{margin:0;font-size:14.5px;color:var(--muted-l)}
.mg-acards{list-style:none;margin:0;padding:0;display:grid;gap:34px 26px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.mg-aopen{font:inherit;color:inherit;text-align:left;background:none;border:0;padding:0;cursor:pointer;display:block;width:100%;border-radius:18px}
.mg-acover{display:block;position:relative;aspect-ratio:4/3;margin:10px 10px 0}
.mg-acover::before,.mg-acover::after{content:"";position:absolute;inset:0;border-radius:16px;background:#E3DED6;box-shadow:0 1px 2px rgba(11,13,14,.06);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.mg-acover::before{transform:translate(-7px,-7px) rotate(-2.2deg)}.mg-acover::after{transform:translate(6px,-4px) rotate(2deg);background:#EDE9E3}
.mg-acover picture,.mg-acover>img{position:absolute;inset:0;z-index:1;display:block;border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(11,13,14,.14)}
.mg-acover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.mg-aopen:hover .mg-acover img,.mg-aopen:focus-visible .mg-acover img{transform:scale(1.03)}
.mg-aopen:hover .mg-acover::before{transform:translate(-10px,-9px) rotate(-3.4deg)}.mg-aopen:hover .mg-acover::after{transform:translate(9px,-6px) rotate(3.2deg)}
.mg-ainfo{display:block;padding:16px 10px 0}
.mg-aname{display:block;font-family:var(--disp);font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.mg-ameta{display:block;margin:4px 0 0;font-size:14.5px;color:var(--muted-l)}
.mg-ahead{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:24px}
.mg-atitle{flex:1 1 220px;min-width:0}
.mg-atitle h2{margin:0;font-size:clamp(24px,3vw,32px);outline:none}
.mg-back{font:inherit;font-size:15px;font-weight:600;color:var(--text);background:#fff;border:1px solid #DDD8D0;border-radius:999px;min-height:44px;padding:8px 16px 8px 12px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.mg-back:hover{border-color:#B9B2A7}
.ss{position:fixed;inset:0;z-index:210;background:#060708;color:#fff;display:grid;grid-template-rows:1fr auto}
.ss[hidden]{display:none}
.ss-stage{position:relative;min-height:0;display:grid;place-items:center;padding:24px 76px 0;overflow:hidden}
.ss-stage img{max-width:100%;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);object-fit:contain;border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.55);transition:opacity .45s ease}
.ss-stage img.fade{opacity:0}
.ss-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 20px calc(16px + env(safe-area-inset-bottom))}
.ss-info{min-width:0;font-size:14.5px;color:#D9DBDD}.ss-info b{display:block;font-weight:600;color:#fff;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-ctl{display:flex;gap:10px;justify-content:center}
.ss-right{display:flex;justify-content:flex-end;align-items:center;gap:14px;font-size:14px;color:#B3B8BF}
.ss button{font:inherit;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:999px;min-width:46px;min-height:46px;cursor:pointer;display:inline-grid;place-items:center;padding:0 12px}
.ss button:hover{background:rgba(255,255,255,.16)}
.ss .ico{width:20px;height:20px}
.ss-side{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px}
.ss-prev{left:14px}.ss-next{right:14px}
.ss-prog{position:absolute;left:0;right:0;top:0;height:3px;background:rgba(255,255,255,.08)}
.ss-prog i{display:block;height:100%;width:0;background:var(--red-l)}
.ss.playing .ss-prog i{animation:ssprog var(--ss-ms,5000ms) linear forwards}
@keyframes ssprog{to{width:100%}}
html.ss-open{overflow:hidden}
@media (max-width:640px){
 .mg-sec{padding-top:28px}
 .mg-bar{margin-bottom:20px;gap:12px}
 .mg-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -18px;padding:2px 18px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding:0 18px;width:calc(100% + 36px)}
 .mg-chips::-webkit-scrollbar{display:none}
 .mg-views{width:100%}.mg-view{flex:1;justify-content:center;padding:8px 6px}
 .mg-grid{gap:8px}.mg-grid>.mo-item{flex-basis:calc(var(--r,1.33)*130px)}
 .mg-grid .mo-link{border-radius:12px}
 .mg-acards{grid-template-columns:1fr;gap:26px}
 .mg-ahead .btn{width:100%}
 .ss-stage{padding:12px 8px 0}
 .ss-side{display:none!important}
 .ss-bar{grid-template-columns:1fr auto;grid-template-areas:"info right" "ctl ctl";padding:10px 14px calc(14px + env(safe-area-inset-bottom))}
 .ss-info{grid-area:info}.ss-right{grid-area:right}.ss-ctl{grid-area:ctl}
 .ss-stage img{max-height:calc(100dvh - 190px)}
}
@media (prefers-reduced-motion:reduce){.ss-prog{display:none}.mg-acover::before,.mg-acover::after{transition:none}}
/* ---- Reviews (lib/reviews.js) ---- */
.rv-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 32px;margin-bottom:26px}
.rv-head h2{margin-bottom:0}
.rv-badge{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.rv-badge li{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #E4DFD8;border-radius:999px;padding:8px 16px 8px 10px;box-shadow:0 6px 20px rgba(11,13,14,.06)}
.rv-badge .rv-score{font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
.rv-count{font-size:14px;color:var(--muted-l)}
.rv-ico{width:20px;height:20px;flex:none;vertical-align:middle}
.rv-stars{display:inline-flex;gap:1px;color:#E8A317;font-size:17px;letter-spacing:0;line-height:1}.rv-stars .off{color:#D9D4CC}
.rv-label{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-l)}
.rv-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.rv-ctl{display:flex;gap:8px}
.rv-btn{font:600 14px/1 var(--sans);min-width:44px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid #CFCAC3;background:#fff;color:var(--text);cursor:pointer}
.rv-btn span[aria-hidden]{font-size:22px}
.rv-btn:hover{border-color:var(--text)}.rv-btn[disabled]{opacity:.4;cursor:default}
.rv-track{list-style:none;margin:0;padding:4px 2px 18px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*18px)/3);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin}
@media (max-width:1000px){.rv-track{grid-auto-columns:calc((100% - 18px)/2)}}
@media (max-width:640px){.rv-track{grid-auto-columns:86%}}
.rv-grid{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.rv-card{scroll-snap-align:start;background:#fff;border:1px solid #E4DFD8;border-radius:18px;padding:22px 22px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 0 rgba(11,13,14,.03),0 12px 32px rgba(11,13,14,.06)}
.rv-card[hidden]{display:none}
.rv-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rv-src{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted-l);font-weight:600}
.rv-text{margin:0;font-size:16.5px;line-height:1.6;color:var(--text);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rv-text p{margin:0 0 .6em}.rv-text p:last-child{margin:0}
.rv-card.open .rv-text{display:block;-webkit-line-clamp:unset}
.rv-more{align-self:flex-start;background:none;border:0;padding:4px 0;font:700 14px/1.2 var(--sans);color:var(--red-d);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.rv-by{margin-top:auto;display:flex;justify-content:space-between;gap:10px;font-size:14.5px;padding-top:10px;border-top:1px solid #EFEBE5}
.rv-by a{color:inherit}.rv-by time{color:var(--muted-l)}
.rv-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:10px}
.rv-acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.rv-write{background:#fff}.rv-write .rv-ico{width:18px;height:18px}.rv-write:hover .rv-ico{background:#fff;border-radius:50%;padding:1px}
.rv-page .rv-head .rv-write{margin-top:14px}
.rv-badge[hidden],.rv-grid[hidden]{display:none}
.rv-all{margin:0;font-size:15px}.rv-all a{display:inline-flex;align-items:center;gap:6px;font-weight:650}.rv-all .rv-ico{width:16px;height:16px}
.rv-empty{border:2px dashed #CFCAC3;border-radius:var(--r);padding:22px;color:var(--muted-l);margin:0 0 14px}
/* Owner interview: lite YouTube facade (lib/interview-video.js; iframe only after the click, site.js) */
.ytl{margin:0}
.ytl-frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0b1220;box-shadow:0 18px 40px -18px rgba(11,18,32,.45)}
.ytl-frame img,.ytl-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;display:block}
.ytl-ch{margin-top:14px}.ytl-ch-h{font-size:1rem;margin:0 0 6px}.ytl-ch ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ytl-ch a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px;border:1px solid rgba(11,18,32,.15);border-radius:999px;text-decoration:none;color:inherit;font-size:.95rem}.ytl-ch a:hover,.ytl-ch a:focus-visible{border-color:currentColor}.ytl-ch-t{font-variant-numeric:tabular-nums;font-weight:700}
.ytl-play{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35));border:0;padding:0;cursor:pointer;color:#fff}
.ytl-play svg{width:76px;height:54px;transition:transform .15s ease;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.ytl-play .ytl-bg{fill:var(--red,#c8102e);fill-opacity:.94}
.ytl-play:hover svg,.ytl-play:focus-visible svg{transform:scale(1.08)}
.ytl-play:focus-visible{outline:4px solid #fff;outline-offset:-8px}
.ytl-dur{position:absolute;right:12px;bottom:12px;background:rgba(11,18,32,.82);color:#fff;font-size:13px;font-weight:600;padding:3px 8px;border-radius:6px;pointer-events:none}
.ytl-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(11,18,32,.84);color:#fff;font-weight:700;font-size:16px;letter-spacing:.02em;padding:10px 18px;border-radius:999px;white-space:nowrap}
.ytl-cap{margin-top:10px;font-size:14.5px;color:var(--muted,#5b6472)}
.ytl-on .ytl-dur{display:none}
.ivabout .ytl{max-width:900px}
.ivhome{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.ivquote{margin:18px 0 22px;padding:0 0 0 18px;border-left:4px solid var(--red,#c8102e)}
.ivquote p{font-size:21px;line-height:1.45;font-weight:600;margin:0 0 8px}
.ivquote .ivby{display:block;font-style:normal;font-size:15px;color:var(--muted,#5b6472)}
.ivlink{margin-top:26px;font-size:16px}
@media (max-width:900px){.ivhome{grid-template-columns:1fr;gap:28px}.ivquote p{font-size:19px}}
@media (prefers-reduced-motion:reduce){.ytl-play svg{transition:none}}

/* booking / quote complete celebration (build.mjs celebrate) */
.wincard{position:relative;overflow:hidden;text-align:left}
.celebrate{position:relative;height:84px;display:flex;align-items:center;justify-content:flex-start}
.wincheck circle{stroke:#2F8F5B;stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:wc-draw .6s ease-out forwards}
.wincheck path{stroke:#2F8F5B;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:wc-draw .35s .5s ease-out forwards}
.celebrate i{position:absolute;left:36px;top:36px;width:8px;height:12px;border-radius:2px;background:var(--c);opacity:0;animation:wc-pop 1.4s calc(.45s + var(--i) * 25ms) cubic-bezier(.2,.7,.3,1) forwards}
.winhead{margin:6px 0 8px;font-size:clamp(26px,4vw,34px)}
@keyframes wc-draw{to{stroke-dashoffset:0}}
@keyframes wc-pop{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(calc(var(--x) * 6px),calc(-40px + var(--i) * 4px)) rotate(calc(var(--i) * 70deg))}}
@media (prefers-reduced-motion:reduce){.wincheck circle,.wincheck path{animation:none;stroke-dashoffset:0}.celebrate i{display:none}}
