@font-face{font-family:"League Gothic";src:url("../fonts/league-gothic-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Marcellus";src:url("../fonts/marcellus-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --black:#09080c;
  --ink:#eeedf3;
  --dim:#a9a6b4;
  --line:rgba(238,237,243,.12);
  --glass:rgba(14,13,19,.72);
  --glass-strong:rgba(14,13,19,.84);
  --amber:#e9a23b;
  --amber-hover:#f2b458;
  --amber-ink:#1a1206;
  --display:"League Gothic",sans-serif;
  --serif:"Marcellus",serif;
  --gutter:clamp(16px,3vw,40px);
  --nav-top:18px;
  --nav-h:66px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{background:var(--black);color:var(--ink);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--serif);font-size:16px;line-height:1.6;background:var(--black)}
img,video{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;background:var(--amber);color:var(--amber-ink);padding:10px 14px;z-index:100;text-decoration:none}
.skip:focus{top:12px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Floating glass nav ---------- */
.site-header{position:absolute;z-index:20;top:var(--nav-top);left:var(--gutter);right:var(--gutter)}
.nav-bar{height:var(--nav-h);display:flex;align-items:center;gap:24px;padding:0 10px 0 24px;
  background:var(--glass);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%)}
.logo{display:flex;flex-direction:column;justify-content:center;text-decoration:none;flex:none;line-height:1}
.logo-word{font-family:var(--serif);font-size:23px;letter-spacing:.16em}
.logo-sub{margin-top:5px;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}
.logo img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(18px,1.9vw,30px);margin:0 auto}
.nav a,.nav summary{position:relative;white-space:nowrap;text-decoration:none;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);cursor:pointer;padding:8px 0;opacity:.86}
.nav a:hover,.nav summary:hover,.nav a[aria-current="page"]{opacity:1}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--amber)}
.areas{position:relative}
.areas summary{list-style:none;display:flex;align-items:center;gap:7px}
.areas summary::-webkit-details-marker{display:none}
.areas summary svg{width:9px;height:9px}
.areas[open] summary svg{transform:rotate(180deg)}
.areas ul{position:absolute;top:calc(100% + 22px);left:-22px;margin:0;padding:10px 0;list-style:none;min-width:230px;
  background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.areas li a{display:block;padding:9px 22px;letter-spacing:.08em}
.call{display:flex;align-items:center;gap:14px;flex:none;text-decoration:none;
  padding:6px 6px 6px 20px;border:1px solid var(--line);border-radius:40px;background:rgba(255,255,255,.03)}
.call-text{display:flex;flex-direction:column;line-height:1.25;text-align:right}
.call-number{font-size:15px;letter-spacing:.06em}
.status{font-size:11px;letter-spacing:.06em;color:var(--dim);display:flex;align-items:center;justify-content:flex-end;gap:7px}
.status-dot{width:6px;height:6px;border-radius:50%;background:#8a8796;flex:none}
.status.is-open .status-dot{background:#6fd49a;box-shadow:0 0 0 3px rgba(111,212,154,.16)}
.call-icon{width:42px;height:42px;border-radius:50%;background:var(--amber);color:var(--amber-ink);display:grid;place-items:center;flex:none;transition:background-color .15s}
.call:hover .call-icon{background:var(--amber-hover)}
.call-icon svg{width:18px;height:18px}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;height:42px;padding:0 16px;border:1px solid var(--line);border-radius:40px;display:flex;align-items:center}
.menu summary::-webkit-details-marker{display:none}
.menu-panel{position:absolute;left:0;right:0;top:calc(var(--nav-h) + 10px);padding:10px 24px 22px;
  background:var(--glass-strong);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.menu-panel a{display:block;padding:12px 0;text-decoration:none;font-size:15px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.menu-panel p{margin:18px 0 4px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.menu-panel .towns a{font-size:14px;text-transform:none;letter-spacing:.06em;padding:9px 0}

/* ---------- Hero stage ---------- */
.hero{position:relative;background:var(--black)}
.stage{position:relative;container-type:size;overflow:hidden;height:max(380px,calc(100vw * 824 / 1920))}
/* The frame keeps the clip, its stills, the name and the name mask in one coordinate space.
   --car-x sets where the car's centre sits across the stage. */
.frame{--fw:max(100cqw,calc(100cqh * 1920 / 824));--car-x:50cqw;
  position:absolute;top:50%;translate:0 -50%;width:var(--fw);aspect-ratio:1920 / 824;
  left:clamp(calc(100cqw - var(--fw)),calc(var(--car-x) - var(--fw) * .515),0px)}
.frame video,.frame .lit img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame .lit{display:none}
.hero.is-still .frame .lit{display:block}
.name{position:absolute;inset:0;pointer-events:none;user-select:none;
  -webkit-mask-image:url("../media/hero-name-mask.422cec4e20.png");mask-image:url("../media/hero-name-mask.422cec4e20.png");
  -webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.name span{position:absolute;left:51.5%;translate:-50% 0;top:26.5%;white-space:nowrap;
  font-family:var(--display);font-weight:400;line-height:.8;letter-spacing:.014em;
  font-size:min(calc(var(--fw) * .173),17.3cqw);
  color:#dcdde2;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;pointer-events:none;
  background:linear-gradient(to bottom,rgba(9,8,12,0),rgba(9,8,12,.55) 55%,var(--black))}

/* reveal states: no JS shows the poster with the name */
.hero.is-waiting .name{opacity:0}
.hero.is-playing .name{animation:name-strike .34s steps(1,end) 3.12s both}
@keyframes name-strike{0%{opacity:0}18%{opacity:1}36%{opacity:.12}54%{opacity:1}72%{opacity:.35}90%{opacity:1}100%{opacity:1}}

/* ---------- Content over the stage ---------- */
.hero-content{position:absolute;inset:0;z-index:5;pointer-events:none;
  --form-w:clamp(230px,17.5vw,260px);
  display:grid;grid-template-columns:minmax(0,1fr) var(--form-w);grid-template-rows:auto 1fr;align-items:start;
  padding:calc(var(--nav-top) + var(--nav-h) + 16px) var(--gutter) 34px;gap:24px 40px}
.hero-content > *{pointer-events:auto}
.proof{grid-column:1;grid-row:1;justify-self:start}
.hero-title{grid-column:1;grid-row:2;align-self:end;justify-self:start;position:relative;max-width:440px;margin:0;
  font-family:var(--serif);font-weight:400;font-size:15px;line-height:1.55;letter-spacing:.1em;text-transform:uppercase}
/* soft dark wash behind the headline so it stays readable over the floor lights */
.hero-title::before{content:"";position:absolute;z-index:-1;left:-80px;top:-50px;right:-50px;bottom:-50px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(9,8,12,.85),rgba(9,8,12,.6) 60%,rgba(9,8,12,0))}
.proof{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 12px;border:1px solid var(--line);border-radius:40px;background:var(--glass);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12.5px;letter-spacing:.05em;color:var(--dim);text-decoration:none}
.proof:hover{border-color:rgba(238,237,243,.3)}
.proof strong{color:var(--ink);font-weight:400}
.stars{display:flex;gap:2px}
.stars svg{width:12px;height:12px}

/* ---------- Quote form card (GHL form sits inside) ---------- */
.quote{grid-column:2;grid-row:1 / span 2;padding:14px 13px 11px;
  background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;
  -webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.quote h2{margin:0 0 1px;font-family:var(--serif);font-weight:400;font-size:16px;letter-spacing:.06em;text-align:center}
.quote-sub{margin:0 0 10px;font-size:10.5px;letter-spacing:.03em;color:var(--dim);text-align:center}
.quote form{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.field{display:block;min-width:0}
.field-full{grid-column:1 / -1}
.quote input,.quote select{width:100%;height:30px;padding:0 10px;font-family:var(--serif);font-size:11.5px;letter-spacing:.03em;color:var(--ink);
  background:rgba(255,255,255,.04);border:1px solid rgba(238,237,243,.13);border-radius:6px;appearance:none;-webkit-appearance:none}
.quote input::placeholder{color:#8f8c9a}
.quote select{color:#8f8c9a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23a9a6b4' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:8px}
.quote select:valid{color:var(--ink)}
.quote option{background:#141219;color:var(--ink)}
.quote input:focus,.quote select:focus{outline:none;border-color:var(--amber);background-color:rgba(255,255,255,.06)}
.quote button{grid-column:1 / -1;height:33px;margin-top:2px;border:0;border-radius:6px;cursor:pointer;
  font-family:var(--serif);font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:var(--amber);color:var(--amber-ink);transition:background-color .15s}
.quote button:hover{background:var(--amber-hover)}
.quote-note{grid-column:1 / -1;margin:3px 0 0;font-size:10px;letter-spacing:.04em;color:var(--dim);text-align:center}

/* ---------- Tablet: form moves below the stage ---------- */
@media (max-width:1259px){
  .nav{display:none}
  .menu{display:block;margin-left:auto}
}
@media (max-width:1199px){
  .name span{font-size:min(calc(var(--fw) * .173),24cqw)}
  .hero-content{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);grid-template-rows:auto;
    padding:0 var(--gutter) 56px;margin-top:-90px;gap:32px 48px;align-items:start}
  .hero-content{grid-template-rows:auto auto 1fr;gap:16px 48px}
  .hero-title{grid-row:1;align-self:start;padding-top:40px;max-width:520px}
  .hero-title::before{display:none}
  .proof{grid-row:2}
  .quote{grid-row:1 / span 3;grid-column:2;align-self:start}
}
@media (max-width:760px){
  :root{--nav-top:10px;--nav-h:58px}
  .nav-bar{gap:10px;padding:0 8px 0 16px;border-radius:16px}
  .logo-word{font-size:19px}
  .logo-sub{font-size:8.5px;letter-spacing:.2em}
  .call{padding:0;border:0;background:none}
  .call-text{display:none}
  .menu summary{height:40px;padding:0 14px}
  .call-icon{width:40px;height:40px}
  .stage{height:min(80vw,58svh)}
  .name span{font-size:min(calc(var(--fw) * .173),22cqw)}
  .hero-content{grid-template-columns:1fr;margin-top:-56px;gap:24px;padding-bottom:40px}
  .hero-content{grid-template-rows:auto}
  .hero-title{padding-top:0}
  .quote{grid-column:1;grid-row:3;padding:20px 16px 16px}
}
@media (max-width:389px){
  .logo-word{font-size:17px;letter-spacing:.13em}
  .logo-sub{font-size:7.5px;letter-spacing:.16em}
  .menu summary{padding:0 12px}
}

/* ---------- Proof strip ---------- */
.proof-strip{position:relative;overflow:hidden;background:var(--black);height:clamp(400px,34vw,600px);
  --streak-line:calc(58% + .85vw - 4px)}
.proof-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.proof-strip::before,.proof-strip::after{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:1}
.proof-strip::before{top:0;height:22%;background:linear-gradient(var(--black),rgba(9,8,12,0))}
.proof-strip::after{bottom:0;height:30%;background:linear-gradient(rgba(9,8,12,0),var(--black))}
.figures{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:var(--streak-line);margin:0 auto;padding:0;max-width:1320px;list-style:none;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;
  border-top:1.5px solid rgba(238,237,243,.24);border-bottom:1.5px solid rgba(238,237,243,.24)}
.figures li{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:22px 16px 20px}
.figures li + li{border-left:1.5px solid rgba(238,237,243,.24)}
.figure-label{max-width:17ch;margin-bottom:10px;font-size:11.5px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.figure-num,.name span{background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.figure-num{display:block;font-family:var(--display);font-size:clamp(50px,5vw,82px);line-height:.78;letter-spacing:.01em;color:#dcdde2;padding-top:.04em}
/* tie the figures to the floor: a dark glow around each figure and a soft shadow where it meets the light */
.figure-num{filter:drop-shadow(0 0 16px rgba(0,0,0,.9)) drop-shadow(0 6px 12px rgba(0,0,0,.75))}
.figures li{position:relative}
.figures li::after{content:"";position:absolute;z-index:-1;left:15%;right:15%;bottom:-16px;height:34px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(0,0,0,.8),rgba(0,0,0,.45) 55%,rgba(0,0,0,0))}
@media (max-width:760px){
  .proof-strip{height:500px;--streak-line:60%}
  .figures{top:0;bottom:0;grid-template-columns:1fr 1fr;grid-template-rows:40% 25% 1fr;gap:0;border:0}
  .figures li{padding:18px 8px 16px;border-top:1.5px solid rgba(238,237,243,.24);border-bottom:1.5px solid rgba(238,237,243,.24)}
  .figures li + li{border-left:0}
  .figures li:nth-child(odd){border-right:1.5px solid rgba(238,237,243,.24)}
  .figures li:nth-child(-n+2){grid-row:1;align-self:end}
  .figures li:nth-child(n+3){grid-row:3;align-self:start;flex-direction:column-reverse}
  .figures li:nth-child(n+3) .figure-label{margin:12px 0 0}
  .figures li:nth-child(n+3)::after{bottom:auto;top:-16px}
  .figure-label{font-size:10.5px;letter-spacing:.13em}
  .figure-num{font-size:52px}
}

/* ---------- Intent chooser ---------- */
.chooser{position:relative;overflow:hidden;background:transparent;height:calc(100vw * 2688 / 6336);margin-top:-9vw}
.chooser-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 32%);mask-image:linear-gradient(to bottom,transparent,#000 32%)}
.chooser::before,.chooser::after{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:1}
.chooser::before{display:none}
.chooser::after{bottom:0;height:16%;background:linear-gradient(rgba(9,8,12,0),var(--black))}
.chooser-head{position:absolute;z-index:2;top:8%;left:var(--gutter);right:var(--gutter);text-align:center}
.choices{position:absolute;z-index:2;top:43.5%;left:9.85%;right:9.85%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:4.234%;align-items:stretch}
.choice{position:relative;display:flex;flex-direction:column;
  padding:22px 22px 20px;text-decoration:none;color:var(--ink);
  background:rgba(14,13,19,.74);border:1px solid var(--line);border-radius:16px;
  -webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.85);transition:border-color .2s,background-color .2s}
.choice:hover{border-color:rgba(238,237,243,.34);background:rgba(18,17,24,.8)}
.choice h3{margin:0 0 10px;font-family:var(--serif);font-weight:400;font-size:clamp(17px,1.35vw,20px);line-height:1.3;letter-spacing:.02em;transition:color .2s}
.choice:hover h3{color:var(--amber)}
.choice-static{cursor:default}
.choice p{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--dim)}
.choice-link{margin-top:auto;align-self:flex-start;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid var(--amber)}
.choice:hover .choice-link{color:var(--amber)}

/* narrower screens: each card carries its own slice of the image, bar and pool */
.choice-body{display:flex;flex-direction:column;flex:1}
@media (max-width:1199px){
  .chooser{height:auto;padding:56px var(--gutter) 40px;margin-top:-40px}
  .chooser::before,.chooser::after,.chooser-bg{display:none}
  .chooser-head{position:static;margin-bottom:28px}
  .choices{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .choice{padding:0;overflow:hidden;
    background-color:var(--black);background-image:url("../media/chooser-pools-1920.719bbaee11.webp");background-repeat:no-repeat;background-size:260% auto;
    -webkit-backdrop-filter:none;backdrop-filter:none}
  .choice:nth-child(1){background-position:4.66% 0}
  .choice:nth-child(2){background-position:50% 0}
  .choice:nth-child(3){background-position:95.34% 0}
  .choice::before{content:"";display:block;padding-top:50%}
  .choice-body{margin:0 12px 12px;padding:18px 16px 16px;border:1px solid var(--line);border-radius:12px;
    background:rgba(14,13,19,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
}
@media (max-width:760px){
  .chooser{padding:40px var(--gutter) 32px;margin-top:-28px}
  .choices{grid-template-columns:1fr;gap:14px}
}

/* ---------- Services ---------- */
.services{position:relative;overflow:hidden;background:var(--black)}
.services-bg img{position:absolute;top:50%;right:0;width:100%;height:auto;translate:10% -50%;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 18%),linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 18%),linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);
  mask-composite:intersect}
.services::before,.services::after{content:"";position:absolute;left:0;right:0;pointer-events:none;z-index:1}
.services::before{top:0;height:22%;background:linear-gradient(var(--black),rgba(9,8,12,0))}
.services::after{bottom:0;height:22%;background:linear-gradient(rgba(9,8,12,0),var(--black))}
.services-inner{position:relative;z-index:2;max-width:1440px;margin:0 auto;padding:56px var(--gutter) 56px}
.services-head{max-width:560px;margin-bottom:20px}
.service-list{list-style:none;margin:0;padding:0;max-width:min(640px,46vw);border-top:1.5px solid rgba(238,237,243,.2)}
.service-list li{border-bottom:1.5px solid rgba(238,237,243,.2)}
.service{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:4px 18px;align-items:baseline;padding:12px 4px 12px 0;text-decoration:none;color:var(--ink);transition:background-color .2s}
.service:hover{background:linear-gradient(90deg,rgba(238,237,243,.05),rgba(238,237,243,0))}
.service-num{font-family:var(--display);font-size:26px;line-height:1;letter-spacing:.02em;
  background:linear-gradient(180deg,#ffffff 0%,#d9dade 45%,#8d8f97 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.service h3{margin:0 0 2px;font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:.03em}
.service-desc{display:block;font-size:13.5px;line-height:1.5;color:var(--dim)}
.service-meta{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:2px;white-space:nowrap}
.service-price{font-size:16px;letter-spacing:.04em}
.service-where{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.service:hover h3,.service:hover .service-price{color:var(--amber)}
.services-all{display:inline-block;margin-top:20px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding-bottom:4px;border-bottom:1px solid var(--amber)}
.services-all:hover{color:var(--amber)}

/* ---------- Show-stopper slot ---------- */
.stopper-band{padding:16px var(--gutter) 48px;background:var(--black)}
.stopper-box{max-width:1320px;height:440px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:40px;
  border:1px dashed rgba(238,237,243,.28);border-radius:18px;background:rgba(14,13,19,.6)}
.slotnote{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.stopper-box h3{margin:0;font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:.04em}
.stopper-box p{margin:0;max-width:560px;font-size:14px;color:var(--dim)}
.stopper-dims{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(238,237,243,.4)}

@media (max-width:1199px){
  .services{min-height:0}
  .services-bg img{position:relative;top:auto;right:auto;translate:none;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;object-position:78% 50%;
    -webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent);mask-image:linear-gradient(to bottom,#000 70%,transparent)}
  .services::before{display:none}
  .services-inner{margin-top:-18vw;padding-top:0}
  .service-list{max-width:none}
}
@media (max-width:760px){
  .services-bg img{aspect-ratio:4 / 3;object-position:80% 50%}
  .services-inner{margin-top:-26vw;padding-bottom:56px}
  .service{grid-template-columns:36px minmax(0,1fr);padding:12px 0}
  .service-meta{grid-column:2;align-items:flex-start;text-align:left;flex-direction:row;gap:12px;align-items:baseline;flex-wrap:wrap;white-space:normal}
  .service-num{font-size:26px}
  .service h3{font-size:17px}
  .stopper-box{height:480px;padding:28px 20px}
  .stopper-box h3{font-size:24px}
}

/* ---------- Inspection light (scroll-driven) ---------- */
.inspect{position:relative;background:var(--black)}
.inspect-track{height:250vh}
.inspect-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.inspect-media{position:absolute;left:50%;top:50%;translate:-50% -50%;width:min(100%,calc(100svh * 1928 / 1000 * .92),1600px);aspect-ratio:1928 / 1000;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-composite:intersect}
.inspect-media video,.inspect-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.inspect-after{display:none}
.inspect-stage::before,.inspect-stage::after{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}
.inspect-stage::before{top:0;height:16%;background:linear-gradient(var(--black),rgba(9,8,12,0))}
.inspect-stage::after{bottom:0;height:18%;background:linear-gradient(rgba(9,8,12,0),var(--black))}
.inspect-copy{position:absolute;z-index:2;top:clamp(56px,11vh,110px);left:var(--gutter);max-width:460px}
/* dark glow so the text sits in the scene rather than on top of it */
.reading-label,.reading-range,.reading-source{text-shadow:0 0 18px rgba(0,0,0,.95),0 0 6px rgba(0,0,0,.9),0 2px 3px rgba(0,0,0,.8)}
.inspect-copy::before,.readings::before{content:"";position:absolute;z-index:-1;inset:-60px -80px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(9,8,12,.78),rgba(9,8,12,.45) 60%,rgba(9,8,12,0))}
.readings{position:absolute;z-index:2;left:var(--gutter);bottom:clamp(40px,9vh,90px);display:grid;grid-template-columns:auto auto;gap:6px 0;max-width:620px}
.reading{display:flex;flex-direction:column;gap:6px;padding:0 32px 0 0}
.reading + .reading{padding-left:32px;border-left:1.5px solid rgba(238,237,243,.24)}
.reading-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.reading-value{font-family:var(--display);font-size:clamp(56px,5.2vw,84px);line-height:.85;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px rgba(0,0,0,.95)) drop-shadow(0 4px 10px rgba(0,0,0,.85))}
.reading-value small{font-size:.42em;margin-left:4px}
.reading-range{font-size:12.5px;color:var(--dim);max-width:24ch;line-height:1.45}
.reading-source{grid-column:1 / -1;margin:14px 0 0;font-size:11.5px;letter-spacing:.04em;color:rgba(238,237,243,.5)}
.inspect-compare{display:none}

/* the process, told by the sweep: each step lights as the scroll reaches it */
.inspect-steps{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);bottom:clamp(14px,3vh,30px);max-width:1320px;margin:0 auto;padding-bottom:34px}
.inspect-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;
  border-top:1.5px solid rgba(238,237,243,.24);border-bottom:1.5px solid rgba(238,237,243,.24);background:linear-gradient(rgba(9,8,12,.55),rgba(9,8,12,.35))}
.inspect-steps li{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:14px 16px 13px;opacity:.38;transition:opacity .4s ease,box-shadow .4s ease}
.inspect-steps li + li{border-left:1.5px solid rgba(238,237,243,.24)}
.st-num{font-family:var(--display);font-size:22px;line-height:1;color:var(--amber)}
.st-name{font-size:12px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 14px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.9)}
/* every description sits in the same place under the row; only the current one shows */
.st-desc b{display:none;font-weight:400;color:var(--ink)}
.st-desc{position:absolute;left:0;right:0;text-align:center;top:calc(100% + 12px);font-size:14px;color:var(--dim);opacity:0;transition:opacity .4s ease;
  text-shadow:0 0 14px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.9)}
.inspect[data-step="1"] li[data-step="1"],.inspect[data-step="2"] li[data-step="2"],.inspect[data-step="3"] li[data-step="3"],.inspect[data-step="4"] li[data-step="4"]{opacity:1}
.inspect[data-step="1"] li[data-step="1"] .st-desc,.inspect[data-step="2"] li[data-step="2"] .st-desc,.inspect[data-step="3"] li[data-step="3"] .st-desc,.inspect[data-step="4"] li[data-step="4"] .st-desc{opacity:1}
.inspect[data-step="2"] li[data-step="1"],.inspect[data-step="3"] li:nth-child(-n+2),.inspect[data-step="4"] li:nth-child(-n+3){opacity:.7}
.inspect[data-step="1"] li[data-step="1"],.inspect[data-step="2"] li:nth-child(-n+2),.inspect[data-step="3"] li:nth-child(-n+3),.inspect[data-step="4"] li{box-shadow:inset 0 2px 0 var(--amber)}
.readings{bottom:clamp(120px,17vh,160px)!important}
/* static: all four steps in full */
.inspect.is-static .inspect-steps{position:static;padding:0}
.inspect.is-static .inspect-steps ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
.inspect.is-static .inspect-steps li{opacity:1;flex-wrap:wrap;justify-content:flex-start;box-shadow:none;border-left:0}
.inspect.is-static .inspect-steps ol{background:none}
.inspect.is-static .st-desc{position:static;opacity:1;flex-basis:100%}
.inspect.is-static .st-name{display:inline}
.inspect.is-static .st-desc b{display:none}
@media (max-width:760px){
  .inspect-steps{bottom:calc(70px + env(safe-area-inset-bottom,0px));padding-bottom:42px}
  .inspect-steps li{flex-direction:column;align-items:center;gap:3px;padding:10px 4px 9px}
  .st-name{display:none}
  .st-desc b{display:inline}
  .inspect-steps li{padding-top:8px}
  .st-desc{font-size:13px;right:0}
  .readings{bottom:calc(190px + env(safe-area-inset-bottom,0px))!important}
  .inspect.is-static .inspect-steps ol{grid-template-columns:1fr}
}
/* reduced motion or no scroll-driving: a plain before and after */
.inspect.is-static .inspect-track{height:auto}
.inspect.is-static .inspect-stage{position:relative;height:auto;padding:64px var(--gutter) 56px;display:grid;gap:24px}
.inspect.is-static .inspect-stage::before,.inspect.is-static .inspect-stage::after,.inspect.is-static .inspect-media{display:none}
.inspect.is-static .inspect-copy,.inspect.is-static .readings{position:static}
.inspect.is-static .inspect-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inspect-compare figure{margin:0}
.inspect-compare img{width:100%;height:auto;border-radius:12px}
.inspect-compare figcaption{margin-top:8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}

@media (max-width:760px){
  .inspect-track{height:200vh}
  .inspect-media{width:auto;height:62svh;max-width:none;left:62%}
  .inspect-media video,.inspect-after img{object-position:60% 50%}
  .inspect-copy{top:84px;right:var(--gutter)}
  .readings{grid-template-columns:1fr 1fr;right:var(--gutter);bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .reading{padding-right:12px}
  .reading + .reading{padding-left:14px}
  .reading-value{font-size:48px}
  .inspect.is-static .inspect-compare{grid-template-columns:1fr}
}

/* section headings: the same silver type as the name, sitting in the scene */
.section-title{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(36px,3.5vw,58px);line-height:.9;letter-spacing:.014em;text-transform:uppercase;
  color:#dcdde2;background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 18px rgba(0,0,0,.95)) drop-shadow(0 4px 10px rgba(0,0,0,.8))}
.section-sub{display:flex;align-items:center;gap:14px;margin:14px 0 0;font-size:14px;letter-spacing:.06em;color:var(--dim);
  text-shadow:0 0 16px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.9)}
.section-sub::before{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.chooser-head .section-sub{justify-content:center}
.chooser-head .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.services-head{max-width:none}
.inspect-copy{max-width:none;right:var(--gutter)}
@media (max-width:760px){
  .section-title{font-size:clamp(34px,9.5vw,42px)}
  .section-sub{font-size:13px;gap:10px}
  .section-sub::before,.chooser-head .section-sub::after{width:28px}
}

/* ---------- Paint protection film ---------- */
.ppf{position:relative;background:var(--black);padding:48px var(--gutter) 56px;max-width:1440px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-template-areas:"stage head" "stage table";grid-template-rows:auto 1fr;gap:0 40px;align-items:start}
.ppf-head{grid-area:head;position:relative;z-index:3}
.ppf-tabs{display:inline-flex;gap:4px;margin-top:22px;padding:4px;border:1px solid var(--line);border-radius:40px;background:var(--glass)}
.ppf-tab{appearance:none;border:0;cursor:pointer;padding:10px 18px;border-radius:40px;background:transparent;color:var(--dim);
  font-family:var(--serif);font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:background-color .2s,color .2s}
.ppf-tab:hover{color:var(--ink)}
.ppf-tab[aria-pressed="true"]{background:var(--amber);color:var(--amber-ink)}
.ppf-stage{grid-area:stage;position:relative;align-self:center}
.ppf-frame{position:relative;width:100%;aspect-ratio:16 / 9;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 6%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent);mask-composite:intersect}
.ppf-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.ppf[data-active="front-end"] .ppf-shot[data-tier="front-end"] img,
.ppf[data-active="full-front"] .ppf-shot[data-tier="full-front"] img,
.ppf[data-active="full-body"] .ppf-shot[data-tier="full-body"] img{opacity:1}
.callout{position:absolute;left:var(--x);top:var(--y);z-index:2;width:0;height:0;opacity:0;transition:opacity .35s ease;pointer-events:none}
.ppf[data-active="front-end"] .callout[data-tiers~="front-end"],
.ppf[data-active="full-front"] .callout[data-tiers~="full-front"],
.ppf[data-active="full-body"] .callout[data-tiers~="full-body"]{opacity:1}
.callout::before{content:"";position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(233,162,59,.22)}
.callout-label{position:absolute;top:-9px;white-space:nowrap;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  text-shadow:0 0 12px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.9)}
.callout-l .callout-label{right:0;padding-right:calc(var(--len,clamp(28px,3.4vw,50px)) + 10px)}
.callout-r .callout-label{left:0;padding-left:calc(var(--len,clamp(28px,3.4vw,50px)) + 10px)}
.callout-l .callout-label::after,.callout-r .callout-label::after{content:"";position:absolute;top:8px;width:var(--len,clamp(28px,3.4vw,50px));height:1px;background:rgba(238,237,243,.55)}
.callout-l .callout-label::after{right:0}
.callout-r .callout-label::after{left:0}
.callout-u .callout-label,.callout-d .callout-label{left:0;translate:-50% 0;top:auto}
.callout-u .callout-label{bottom:0;padding-bottom:calc(var(--len,54px) + 6px)}
.callout-d .callout-label{top:0;padding-top:calc(var(--len,54px) + 6px)}
.callout-u .callout-label::after,.callout-d .callout-label::after{content:"";position:absolute;left:50%;width:1px;height:var(--len,54px);background:rgba(238,237,243,.55)}
.callout-u .callout-label::after{bottom:0}
.callout-d .callout-label::after{top:0}
/* the table shows the chosen level; the buttons do the comparing */
.ppf-table-wrap{grid-area:table;position:relative;z-index:3;margin-top:22px}
.ppf-table{width:100%;border-collapse:collapse;font-size:14px;border-top:1.5px solid rgba(238,237,243,.2)}
.ppf-table thead{display:none}
.ppf-table th,.ppf-table td{padding:11px 0;text-align:left;vertical-align:top;border-bottom:1.5px solid rgba(238,237,243,.14)}
.ppf-table tbody th{font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);width:36%;padding-right:16px;padding-top:13px}
.ppf-table td{color:var(--ink);line-height:1.5}
.ppf[data-active="front-end"] .ppf-table td:not([data-tier="front-end"]),
.ppf[data-active="full-front"] .ppf-table td:not([data-tier="full-front"]),
.ppf[data-active="full-body"] .ppf-table td:not([data-tier="full-body"]){display:none}
.ppf-note{margin:14px 0 0;font-size:13px;color:var(--dim)}
@media (max-width:1199px){
  .ppf{grid-template-columns:1fr;grid-template-areas:"head" "stage" "table";grid-template-rows:auto;padding-top:40px}
  .callout{display:none}
  .ppf-frame{width:min(100%,900px);margin:0 auto}
}
@media (max-width:760px){
  .ppf{padding:32px var(--gutter) 40px}
  .ppf-tabs{display:flex;width:100%}
  .ppf-tab{flex:1;padding:10px 6px;font-size:10.5px;letter-spacing:.1em}
  .ppf-stage{margin:0 calc(var(--gutter) * -1);overflow:hidden}
  .ppf-frame{width:175%;margin-left:-38%}
  .ppf-table-wrap{margin-top:0}
}
@media (prefers-reduced-motion:reduce){.ppf-shot img,.callout,.ppf-tab{transition:none}}

/* ---------- Unit or mobile: a switch spotlights one half of the scene ---------- */
.unit{position:relative;background:var(--black);padding:16px 0 24px}
.unit-stage{position:relative;max-width:1600px;margin:0 auto;overflow:hidden}
.unit-bg img{display:block;width:100%;height:auto;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 80%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 80%,transparent);mask-composite:intersect}
.unit-dim{position:absolute;top:0;bottom:0;pointer-events:none;background:rgba(9,8,12,.78);opacity:0;transition:opacity .6s ease}
.unit-dim-in{left:0;width:47%;-webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}
.unit-dim-out{left:47%;right:0;-webkit-mask-image:linear-gradient(to left,#000 90%,transparent);mask-image:linear-gradient(to left,#000 90%,transparent)}
.unit[data-active="in"] .unit-dim-out,.unit[data-active="out"] .unit-dim-in{opacity:1}
.unit-switch{position:absolute;z-index:3;top:7%;left:47%;translate:-50% 0;display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:40px;
  background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.unit-tab{appearance:none;border:0;cursor:pointer;padding:12px 26px;border-radius:40px;background:transparent;color:var(--dim);
  font-family:var(--serif);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;transition:background-color .25s,color .25s;white-space:nowrap}
.unit-tab:hover{color:var(--ink)}
.unit-tab[aria-pressed="true"]{background:var(--amber);color:var(--amber-ink)}
/* one fixed, centred block under the scene; only its contents change with the switch */
.unit-cards{position:absolute;z-index:2;left:50%;top:50%;bottom:auto;translate:-50% -50%;width:min(880px,64%);display:grid;
  padding:26px 36px 22px;background:rgba(12,11,16,.55);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.unit-card{grid-area:1 / 1;text-align:center;visibility:hidden;opacity:0}
.unit[data-active="in"] .unit-card[data-side="in"],.unit[data-active="out"] .unit-card[data-side="out"]{visibility:visible;opacity:1;animation:unit-in .5s ease both}
@keyframes unit-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.unit-card h3{margin:0 0 14px;font-family:var(--display);font-weight:400;font-size:clamp(30px,2.8vw,46px);line-height:.9;letter-spacing:.014em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px rgba(0,0,0,.95)) drop-shadow(0 4px 10px rgba(0,0,0,.8))}
.unit-card ul{list-style:none;margin:0;padding:0;counter-reset:u;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1.5px solid rgba(238,237,243,.22);border-bottom:1.5px solid rgba(238,237,243,.22)}
.unit-card li{counter-increment:u;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;font-size:17px;white-space:nowrap;letter-spacing:.02em;line-height:1.4;
  text-shadow:0 0 14px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.9)}
.unit-card li + li{border-left:1.5px solid rgba(238,237,243,.22)}
.unit-card li::before{content:"0" counter(u);font-family:var(--display);font-size:22px;line-height:1;color:var(--amber)}
.unit-card p{margin:14px 0 0;font-size:14px;color:var(--dim);text-shadow:0 0 14px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.9)}
@media (max-width:1199px){
  .unit-cards{width:min(760px,80%);padding:18px 22px 16px}
  .unit-card li{font-size:15px;padding:12px 8px}
  .unit-card p{font-size:12.5px}
}
@media (max-width:760px){
  .unit{padding:24px 0 32px}
  .unit-bg img{aspect-ratio:4 / 3;object-fit:cover;object-position:47% 50%}
  .unit-dim-in{width:47%}
  .unit-switch{position:relative;top:auto;left:auto;translate:none;width:max-content;margin:-22px auto 0}
  .unit-dim{bottom:auto;height:calc(100vw * 3 / 4)}
  .unit-tab{padding:10px 16px;font-size:11px;letter-spacing:.12em}
  .unit-stage{overflow:visible}
  .unit-cards{position:relative;left:auto;top:auto;translate:none;width:auto;margin:20px var(--gutter) 0;padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .unit-card p{display:block}
  .unit-card{text-align:left}
  .unit-card ul{grid-template-columns:1fr}
  .unit-card li{flex-direction:row;align-items:baseline;gap:14px;padding:11px 0;white-space:normal}
  .unit-card li + li{border-left:0;border-top:1.5px solid rgba(238,237,243,.22)}
  .unit-card h3{font-size:40px}
}
@media (prefers-reduced-motion:reduce){.unit-dim,.unit-tab{transition:none}.unit-card{animation:none!important}}


/* ---------- Our work: the photos hang in a lit wall ---------- */
.work{position:relative;background:var(--black);padding:40px 0 48px}
.work-head{max-width:1240px;margin:0 auto 14px;padding:0 var(--gutter)}
.work-stage{position:relative;max-width:1600px;margin:0 auto}
.work-bg{position:absolute;inset:0;overflow:hidden}
.work-bg img{position:absolute;left:0;top:-3.4%;width:100%;height:auto;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,#000 70%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,#000 70%,transparent);mask-composite:intersect}
.work-wall{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:56px var(--gutter) 0;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);grid-template-rows:auto auto;gap:22px 24px}
.work-feature{grid-row:1 / span 2;margin:0;display:flex;flex-direction:column}
.work-feature .ba{flex:1;aspect-ratio:auto;min-height:300px}
.work-tile{margin:0;display:flex;flex-direction:column}
.work-tile .ph{flex:1;min-height:0;aspect-ratio:16 / 10}
/* photo slots: grey until the client's photo is in */
.ph{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:4px;
  background:repeating-linear-gradient(45deg,rgba(238,237,243,.05) 0 12px,rgba(238,237,243,.02) 12px 24px),#16151b;border:1px solid rgba(238,237,243,.14);
  box-shadow:0 26px 50px -24px rgba(0,0,0,.9)}
.ph-alt{background:repeating-linear-gradient(-45deg,rgba(238,237,243,.07) 0 12px,rgba(238,237,243,.03) 12px 24px),#1d1c23}
.ph-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(238,237,243,.45);text-align:center;padding:10px}
.ph:has(img){background:none;border:0}
.ph:has(img) .ph-label{display:none}
.ph img{width:100%;height:100%;object-fit:cover}
.work figcaption{margin-top:10px;font-size:13.5px;color:var(--dim);text-shadow:0 0 12px rgba(0,0,0,.9)}
/* before/after (canonical ba.js drives --split) */
.ba{position:relative;aspect-ratio:16 / 10;border-radius:4px;overflow:hidden;cursor:ew-resize;touch-action:pan-y;user-select:none;box-shadow:0 30px 60px -26px rgba(0,0,0,.95)}
.ba .ba-layer{position:absolute;inset:0}
.ba .ba-layer .ph{position:absolute;inset:0;border-radius:0;box-shadow:none}
.ba .ba-after{clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.ba .ba-tag{position:absolute;bottom:14px;z-index:4;padding:7px 14px;border-radius:40px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  background:var(--glass-strong);border:1px solid var(--line);color:var(--ink)}
.ba .ba-tag.before{right:14px}
.ba .ba-tag.after{left:14px;color:var(--amber)}
.ba .ba-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;translate:-50% 0;background:#eeedf3;z-index:5;box-shadow:0 0 12px rgba(238,237,243,.6)}
.ba .ba-knob{position:absolute;top:50%;left:var(--split);z-index:6;width:46px;height:46px;border-radius:50%;translate:-50% -50%;
  background:var(--amber);border:3px solid #eeedf3;box-shadow:0 6px 18px rgba(0,0,0,.6);display:grid;place-items:center}
.ba .ba-knob svg{width:20px;height:10px;color:var(--amber-ink)}
.ba .ba-knob:focus-visible{outline:2px solid #eeedf3;outline-offset:3px}
.work-more{position:relative;z-index:2;display:block;width:max-content;margin:24px auto 0;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding-bottom:4px;border-bottom:1px solid var(--amber)}
.work-more:hover{color:var(--amber)}
@media (max-width:900px){
  .work-wall{grid-template-columns:1fr 1fr;padding-top:40px}
  .work-feature{grid-column:1 / -1;grid-row:auto}
  .work-feature .ba{flex:none;aspect-ratio:16 / 10;min-height:0}
}
@media (max-width:560px){
  .work-wall{grid-template-columns:1fr}
}

/* ---------- Reviews: the GHL widget over water beading on coated paint ---------- */
.reviews{position:relative;overflow:hidden;background:var(--black)}
.reviews-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent)}
.reviews-inner{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:clamp(56px,7vw,110px) var(--gutter);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center}
.reviews-head{padding:30px 32px 32px;border:1px solid var(--line);border-radius:18px;background:rgba(12,11,16,.62);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.reviews-score{display:flex;align-items:center;gap:18px;margin-top:26px;padding-top:22px;border-top:1.5px solid rgba(238,237,243,.16)}
.reviews-num{font-family:var(--display);font-size:clamp(72px,7vw,112px);line-height:.8;padding-top:.04em;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 14px rgba(0,0,0,1)) drop-shadow(0 0 28px rgba(0,0,0,.95)) drop-shadow(0 6px 12px rgba(0,0,0,.85))}
.reviews-meta{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--dim);text-shadow:0 0 12px rgba(0,0,0,.95)}
.reviews-meta .stars svg{width:16px;height:16px}
.rev-box{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:36px;
  border:1px dashed rgba(238,237,243,.3);border-radius:18px;background:rgba(12,11,16,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.rev-box p{margin:0;max-width:420px;font-size:14px;color:var(--dim)}
@media (max-width:900px){
  .reviews-inner{grid-template-columns:1fr;gap:28px}
  .rev-box{min-height:300px}
}

/* ---------- What we won't do: one panel hanging under the last light ---------- */
.wont{position:relative;background:transparent;margin-top:-7vw;z-index:1}
.wont-stage{position:relative;max-width:1600px;margin:0 auto;height:max(620px,calc(min(100vw,1600px) * 2688 / 6336))}
.wont-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 82%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 82%,transparent);mask-composite:intersect}
.wont-panel{position:absolute;left:50%;top:32.5%;translate:-50% 0;width:min(880px,64%);text-align:center;
  padding:24px 34px 14px;background:rgba(12,11,16,.58);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.panel-title{margin:0 0 14px;font-family:var(--display);font-weight:400;font-size:clamp(30px,2.8vw,46px);line-height:.9;letter-spacing:.014em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px rgba(0,0,0,.95)) drop-shadow(0 4px 10px rgba(0,0,0,.8))}
.wont-list{list-style:none;margin:0;padding:0;text-align:left;border-top:1.5px solid rgba(238,237,243,.22)}
.wont-list li{display:grid;grid-template-columns:22px minmax(0,.9fr) minmax(0,1.3fr);align-items:baseline;gap:6px 16px;padding:13px 0;border-bottom:1.5px solid rgba(238,237,243,.14)}
.wont-list li:last-child{border-bottom:0}
.wont-list li::before{content:"";width:12px;height:12px;translate:0 1px;background:
  linear-gradient(45deg,transparent 42%,var(--amber) 42% 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,var(--amber) 42% 58%,transparent 58%)}
.wont-list strong{font-weight:400;font-size:16px;letter-spacing:.02em;text-shadow:0 0 12px rgba(0,0,0,.95)}
.wont-list span{font-size:13.5px;line-height:1.5;color:var(--dim);text-shadow:0 0 12px rgba(0,0,0,.95)}
@media (max-width:1199px){
  .wont-panel{width:min(720px,80%);top:27%}
  .wont-list strong{font-size:15px}
  .wont-list span{font-size:12.5px}
}
@media (max-width:900px){
  .wont{padding-bottom:40px;margin-top:-24px}
  .wont-stage{height:auto}
  .wont-bg img{position:relative;height:auto;aspect-ratio:4 / 3;object-fit:cover}
  .wont-panel{position:relative;left:auto;top:auto;translate:none;width:auto;margin:-26vw var(--gutter) 0;padding:20px 18px 8px}
  .wont-list li{grid-template-columns:18px 1fr}
  .wont-list span{grid-column:2}
}

/* ---------- Areas: the unit on the hub of a night route network ---------- */
.areas-sec{position:relative;background:var(--black)}
.areas-stage{position:relative;max-width:1600px;margin:0 auto;height:max(560px,calc(min(100vw,1600px) * 2688 / 6336))}
.areas-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent);mask-composite:intersect}
.pins{position:absolute;inset:0;pointer-events:none}
.pin{position:absolute;left:var(--x);top:var(--y);width:0;height:0}
.pin::before{content:"";position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:#eeedf3;box-shadow:0 0 0 4px rgba(238,237,243,.18),0 0 14px rgba(238,237,243,.6)}
.pin-hub::before{left:-8px;top:-8px;width:16px;height:16px;background:var(--amber);box-shadow:0 0 0 6px rgba(233,162,59,.22),0 0 24px rgba(233,162,59,.6)}
.pin-label{position:absolute;display:flex;flex-direction:column;gap:2px;white-space:nowrap;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);
  padding:6px 10px;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pin-label small{font-size:10.5px;letter-spacing:.06em;text-transform:none;color:var(--dim)}
.pin-r .pin-label{left:16px;top:0;translate:0 -50%}
.pin-u .pin-label{left:0;bottom:16px;translate:-50% 0;text-align:center}
.pin-d .pin-label{left:0;top:20px;translate:-50% 0;text-align:center}
.pin-hub .pin-label{border-color:rgba(233,162,59,.5)}
.areas-panel{position:absolute;left:4%;top:50%;translate:0 -50%;width:min(330px,28%);padding:18px 22px 14px;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.areas-panel .panel-title{text-align:left;font-size:clamp(28px,2.4vw,38px);margin-bottom:10px}
.areas-unit{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;padding:10px 0;border-top:1.5px solid rgba(238,237,243,.18);border-bottom:1.5px solid rgba(238,237,243,.18)}
.areas-unit p{margin:0;font-size:13.5px;display:flex;flex-direction:column;gap:3px}
.areas-unit strong{font-weight:400;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}
.areas-unit a{flex:none;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding-bottom:3px;border-bottom:1px solid var(--amber)}
.areas-unit a:hover{color:var(--amber)}
.areas-label{margin:10px 0 2px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}
.areas-towns{list-style:none;margin:0;padding:0}
.areas-towns li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(238,237,243,.1);font-size:13.5px}
.areas-towns a{text-decoration:none}
.areas-towns a:hover{color:var(--amber)}
.areas-towns span{font-size:12px;color:var(--dim)}
.areas-note{margin:9px 0 0;font-size:12.5px;color:var(--dim)}
@media (max-width:1199px){
  .pins{display:none}
  .areas-panel{left:50%;translate:-50% -50%;width:min(460px,86%)}
}
@media (max-width:760px){
  .areas-stage{height:auto}
  .areas-bg img{position:relative;height:auto;aspect-ratio:4 / 3}
  .areas-panel{position:relative;left:auto;top:auto;translate:none;width:auto;margin:-18vw var(--gutter) 40px}
}

/* ---------- FAQ: one glass panel over the bonnet line ---------- */
.faq{position:relative;background:var(--black);padding:clamp(48px,6vw,90px) var(--gutter);overflow:hidden}
.faq-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-composite:intersect}
.faq-panel{position:relative;z-index:2;max-width:860px;margin:0 auto;padding:24px 34px 10px;text-align:center;background:rgba(12,11,16,.74);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.faq-list{text-align:left;border-top:1.5px solid rgba(238,237,243,.22)}
.faq-item{border-bottom:1.5px solid rgba(238,237,243,.14)}
.faq-item:last-child{border-bottom:0}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;font-size:16.5px;letter-spacing:.02em;text-shadow:0 0 12px rgba(0,0,0,.95)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";flex:none;width:12px;height:12px;background:
  linear-gradient(var(--amber),var(--amber)) center/12px 2px no-repeat,linear-gradient(var(--amber),var(--amber)) center/2px 12px no-repeat;transition:transform .25s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:hover span{color:var(--amber)}
.faq-item p{margin:0;padding:0 34px 18px 0;font-size:14.5px;line-height:1.65;color:#bdbac7;text-shadow:0 0 12px rgba(0,0,0,.95)}
@media (max-width:760px){
  .faq-panel{padding:20px 18px 6px}
  .faq-item summary{font-size:15.5px}
}
@media (prefers-reduced-motion:reduce){.faq-item summary::after{transition:none}}

/* ---------- Closing quote: the finished car leaving, the card over the open door ---------- */
.closing{position:relative;background:transparent;margin-top:-5vw;z-index:1;--stage-h:max(600px,calc(min(100vw,1600px) * 2688 / 6336))}
/* the stage pins while the page scrolls past it, so scrolling plays the departure */
.closing-track{height:calc(var(--stage-h) + 110vh)}
.closing-stage{position:sticky;top:max(0px,calc((100svh - var(--stage-h)) / 2));max-width:1600px;margin:0 auto;height:var(--stage-h)}
/* the clip is the still minus its bottom 6% (watermark crop), so it takes the same box less that strip */
.closing-clip{position:absolute;left:0;top:0;width:100%;height:calc(100% * 586 / 624);object-fit:cover;object-position:40% 0%;opacity:var(--mix,0);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10.65%,#000 85.2%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10.65%,#000 85.2%,transparent 100%);mask-composite:intersect}

.closing.is-static .closing-track{height:auto}
.closing.is-static .closing-stage{position:relative;top:auto}
.closing-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 0%;opacity:calc(1 - var(--mix,0));
  -webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 80%,transparent 93.9%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 80%,transparent 93.9%);mask-composite:intersect}
.closing-card{position:absolute;left:72.5%;top:50%;translate:-50% -50%;width:min(340px,30%)}
.quote.closing-card h2.panel-title{margin:2px 0 6px;font-family:var(--display);font-weight:400;font-size:clamp(28px,2.3vw,36px);line-height:.9;letter-spacing:.014em;text-transform:uppercase;text-align:center}
.closing-call{display:block;margin-top:12px;text-align:center;font-size:12.5px;letter-spacing:.06em;color:var(--dim);text-decoration:none}
.closing-call strong{font-weight:400;color:var(--ink)}
.closing-call:hover strong{color:var(--amber)}
@media (max-width:1199px){
  .closing-card{left:auto;right:4%;translate:0 -50%;width:min(360px,42%)}
}
@media (max-width:760px){
  .closing{padding-bottom:40px;margin-top:-20px}
  .closing-stage{height:auto}
  .closing-clip{height:auto;aspect-ratio:4 / 3;inset:0 0 auto 0;object-position:35% 50%}
  .closing-bg img{position:relative;height:auto;aspect-ratio:4 / 3;object-position:35% 50%}
  .closing-card{position:relative;left:auto;right:auto;top:auto;translate:none;width:auto;margin:-16vw var(--gutter) 0}
}

/* ---------- Footer: the studio dark, with the name once more ---------- */
.site-footer{position:relative;z-index:2;margin-top:-9vw;background:linear-gradient(rgba(9,8,12,0),var(--black) 9vw);padding:40px var(--gutter) 28px;overflow:hidden}
.footer-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:32px;padding:28px 0 24px;
  border-top:1.5px solid rgba(238,237,243,.2);border-bottom:1.5px solid rgba(238,237,243,.2)}
.footer-brand p{margin:16px 0 0;max-width:34ch;font-size:13.5px;line-height:1.6;color:var(--dim)}
.footer-col h3{margin:0 0 12px;font-family:var(--serif);font-weight:400;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.footer-col li{font-size:14px;color:var(--dim)}
.footer-col a{text-decoration:none;color:var(--ink)}
.footer-col a:hover{color:var(--amber)}
/* the name again, bookending the hero */
.footer-mark{margin:18px 0 0;padding-top:.04em;text-align:center;font-family:var(--display);font-size:min(23vw,300px);line-height:.78;letter-spacing:.02em;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 0 40px rgba(0,0,0,.9)) drop-shadow(0 8px 16px rgba(0,0,0,.85));
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;user-select:none;pointer-events:none}
.footer-bottom{max-width:1320px;margin:10px auto 0;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;font-size:12.5px;color:var(--dim)}
.footer-bottom a{color:var(--dim)}
.footer-bottom a:hover{color:var(--ink)}
.footer-bottom .powered{margin-left:auto}
@media (max-width:1023px){
  .footer-inner{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:760px){
  .site-footer{margin-top:-40px;background:linear-gradient(rgba(9,8,12,0),var(--black) 40px)}
  .footer-bottom .powered{margin-left:0;flex-basis:100%}
}

/* ---------- Area pages: their own structure ---------- */
/* buttons (used on area pages and anywhere outside the forms) */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:8px;text-decoration:none;
  font-family:var(--serif);font-size:12px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.btn-quote{background:var(--amber);color:var(--amber-ink)}
.btn-quote:hover{background:var(--amber-hover)}
.btn-call{border:1px solid rgba(238,237,243,.35);color:var(--ink)}
.btn-call:hover{border-color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.page-area .site-footer{margin-top:0;background:var(--black)}

.page-area .site-header{position:absolute}
/* hero: the town's name across its own route map */
.ah{position:relative;background:var(--black);overflow-x:clip}
.ah-stage{--pill-gap:130px;position:relative;max-width:1920px;margin:0 auto;height:max(620px,calc(min(100vw,1920px) * 2688 / 6336))}
/* the map is pinned by Harrogate's hub (45.3% across, 51.6% down the image) to the centre of the stage */
.ah-bg{position:absolute;inset:0;overflow:hidden}
.ah-bg img{position:absolute;left:50%;top:52%;translate:-45.3% -51.6%;width:auto;aspect-ratio:6336 / 2688;height:max(100%,calc(min(100vw,1920px) * 1.12 / 2.357));max-width:none;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,#000 72%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,#000 72%,transparent);mask-composite:intersect}
.ah-word{position:absolute;left:50%;top:auto;bottom:calc(var(--pill-gap) + 37px + 14px + 24px + 18px);translate:-50% 0;z-index:1;margin:0;padding-top:.04em;font-family:var(--display);font-size:min(15vw,270px);line-height:.8;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;pointer-events:none;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 0 40px rgba(0,0,0,.9)) drop-shadow(0 8px 16px rgba(0,0,0,.85))}
.ah-proof{position:absolute;z-index:3;left:var(--gutter);top:calc(var(--nav-top) + var(--nav-h) + 16px)}
.ah-hub{position:absolute;left:50%;top:52%;width:0;height:0;z-index:0}
.ah-hub::after{content:"";position:absolute;left:-220px;top:-120px;width:440px;height:240px;border-radius:50%;background:radial-gradient(closest-side,rgba(233,162,59,.28),rgba(233,162,59,0));pointer-events:none}
.ah-hub::before{content:"";position:absolute;left:-10px;top:-10px;width:20px;height:20px;border-radius:50%;background:var(--amber);
  box-shadow:0 0 0 8px rgba(233,162,59,.2),0 0 0 18px rgba(233,162,59,.08),0 0 40px rgba(233,162,59,.7)}
/* the copy: a compact centred glass card under the name */
/* same size and place as the homepage quote card, mirrored to the left under the reviews pill */
.ah-copy{position:absolute;left:var(--gutter);top:calc(var(--nav-top) + var(--nav-h) + 62px);width:clamp(230px,17.5vw,260px);height:284px;text-align:left;z-index:2;padding:14px 14px 12px;display:flex;flex-direction:column;
  background:rgba(12,11,16,.62);border:1px solid var(--line);border-radius:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.crumbs{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;margin:0 0 9px;padding-bottom:9px;border-bottom:1.5px solid rgba(238,237,243,.16);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.crumbs a{color:var(--dim);text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.crumbs [aria-current]{color:var(--amber)}
.ah-copy h1{margin:0 0 7px;font-family:var(--serif);font-weight:400;font-size:16px;line-height:1.3;letter-spacing:.04em}
.ah-copy p{margin:0;max-width:none;font-size:12.5px;line-height:1.6;color:#c3c0cc}
.ah-find{margin-top:auto;padding-top:10px;border-top:1.5px solid rgba(238,237,243,.16);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--amber)}
.ah-find::after{content:" \2192"}
.ah-find:hover{color:var(--amber-hover)}
.ah-meta{position:absolute;left:50%;top:auto;bottom:var(--pill-gap);translate:-50% 0;z-index:2;display:flex;align-items:center;gap:12px;padding:8px 14px;
  background:rgba(12,11,16,.62);border:1px solid var(--line);border-radius:40px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;box-shadow:0 20px 50px -24px rgba(0,0,0,.9)}
.ah-meta .ah-call{padding-left:12px;border-left:1px solid var(--line);border-bottom:0}
.ah-van{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.ah-van .status-dot{width:7px;height:7px;border-radius:50%;background:#4ec27a;box-shadow:0 0 0 3px rgba(78,194,122,.2)}
.ah-call{color:var(--amber);text-decoration:none;padding-bottom:2px;border-bottom:1px solid rgba(233,162,59,.5)}
.ah-call:hover{border-bottom-color:var(--amber)}
.ah-facts{max-width:1320px;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;z-index:2}
.ah-facts > div{padding:18px 20px;border-top:1.5px solid rgba(238,237,243,.24);border-bottom:1.5px solid rgba(238,237,243,.24)}
.ah-facts > div + div{border-left:1.5px solid rgba(238,237,243,.24)}
.ah-facts dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:6px}
.ah-facts dd{margin:0;font-size:14px;line-height:1.5}
/* field notes: a sticky index beside long-form local writing */
.notes{position:relative;background:var(--black);padding:80px var(--gutter) 64px;overflow:hidden}
.notes-bg img{position:absolute;left:0;right:0;top:0;width:100%;height:auto;opacity:.55;
  -webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 80%);mask-image:linear-gradient(to bottom,#000 30%,transparent 80%)}
.notes-inner{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:64px;align-items:start}
.notes-side{position:sticky;top:110px}
.notes-index ol{list-style:none;margin:26px 0 0;padding:0;counter-reset:n;border-top:1.5px solid rgba(238,237,243,.2)}
.notes-index li{counter-increment:n;border-bottom:1px solid rgba(238,237,243,.12)}
.notes-index a{display:flex;gap:12px;padding:10px 0;font-size:14px;text-decoration:none;color:var(--dim)}
.notes-index a::before{content:"0" counter(n);font-family:var(--display);font-size:17px;color:var(--amber);min-width:22px}
.notes-index a:hover{color:var(--ink)}
.field-note{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid rgba(238,237,243,.12);scroll-margin-top:110px}
.field-note:last-child{border-bottom:0;margin-bottom:0}
.field-note h3{margin:0 0 12px;font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:.02em}
.field-note p{margin:0 0 12px;font-size:15.5px;line-height:1.75;color:#c3c0cc;max-width:64ch}
.field-note p:last-child{margin-bottom:0}
/* which part of town, which work */
.matrix{position:relative;background:var(--black);padding:clamp(56px,6vw,96px) var(--gutter);overflow:hidden}
.matrix-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.matrix-panel{position:relative;max-width:1100px;margin:0 auto;padding:26px 32px 18px;background:rgba(12,11,16,.78);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.matrix-panel .panel-title{text-align:center}
.matrix-scroll{overflow-x:auto}
.matrix table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
.matrix th,.matrix td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(238,237,243,.12)}
.matrix thead th{font-weight:400;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);border-bottom:1.5px solid rgba(238,237,243,.24)}
.matrix tbody th{font-weight:400;color:var(--ink)}
.matrix td{color:#bdbac7}
.matrix td:last-child{white-space:nowrap}
.matrix tbody tr:last-child th,.matrix tbody tr:last-child td{border-bottom:0}
.matrix-note{margin:14px 0 0;text-align:center;font-size:13px;color:var(--dim)}
/* recent work: a single strip of three */
.strip{background:var(--black);padding:56px var(--gutter) 40px}
.strip-head{max-width:1240px;margin:0 auto 22px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.strip-head .work-more{margin:0}
.strip-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.strip-job{margin:0}
.strip-job .ph{aspect-ratio:4 / 3}
.strip-job figcaption{margin-top:10px;font-size:13.5px;color:var(--dim);display:flex;flex-direction:column;gap:2px}
.strip-job strong{font-weight:400;color:var(--ink);font-size:15px}
/* questions: heading beside the list */
.area-faq{position:relative;background:var(--black);padding:clamp(56px,6vw,90px) var(--gutter);overflow:hidden}
.area-faq-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.area-faq-inner{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:56px;align-items:start}
.area-faq .faq-list{padding:6px 28px;background:rgba(12,11,16,.78);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* nearby towns and the map */
.nearby{position:relative;background:var(--black);padding:clamp(48px,5vw,80px) var(--gutter);overflow:hidden}
.nearby-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.nearby-inner{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.nearby-chips{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.nearby-chips a,.nearby-chips span{display:inline-block;padding:9px 16px;border:1px solid var(--line);border-radius:40px;background:var(--glass);font-size:13px;letter-spacing:.08em;text-decoration:none}
.nearby-chips a:hover{border-color:var(--amber);color:var(--amber)}
.nearby-chips [aria-current]{border-color:rgba(233,162,59,.6);color:var(--amber)}
.nearby-solo{grid-template-columns:1fr!important;text-align:center;max-width:900px}
.nearby-solo .section-sub{justify-content:center}
.nearby-solo .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.nearby-solo .nearby-chips{justify-content:center}
.map-box{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:30px;
  border:1px dashed rgba(238,237,243,.3);border-radius:18px;background:rgba(12,11,16,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.map-box p{margin:0;font-size:14px;color:var(--dim)}
/* the quote bar, straight under the hero */
.aq-bar{position:relative;z-index:2;background:transparent;padding:0 var(--gutter);margin-top:-60px}
.aq-inner{max-width:1320px;margin:0 auto;padding:20px 24px;background:rgba(12,11,16,.82);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);gap:28px;align-items:center;box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.aq-text .section-title{font-size:clamp(28px,2.4vw,40px)}
.aq-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px}
.aq-form input{width:100%;height:42px;padding:0 12px;font-family:var(--serif);font-size:13px;color:var(--ink);background:rgba(255,255,255,.04);border:1px solid rgba(238,237,243,.14);border-radius:8px}
.aq-form input::placeholder{color:#8f8c9a}
.page-about .aq-form select,.page-correction .aq-form select{width:100%;height:42px;padding:0 34px 0 12px;font-family:var(--serif);font-size:13px;color:#8f8c9a;background-color:rgba(255,255,255,.04);border:1px solid rgba(238,237,243,.14);border-radius:8px;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a9a6b4' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px 7px}
.page-about .aq-form select:focus,.page-correction .aq-form select:focus{outline:none;border-color:var(--amber)}
.page-about .aq-form select:valid,.page-correction .aq-form select:valid{color:var(--ink)}
.page-about .aq-form option,.page-correction .aq-form option{background:#16151b;color:var(--ink)}
.aq-form input:focus{outline:none;border-color:var(--amber)}
.aq-form button{height:42px;padding:0 20px;border:0;border-radius:8px;cursor:pointer;font-family:var(--serif);font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:var(--amber);color:var(--amber-ink);white-space:nowrap}
.aq-form button:hover{background:var(--amber-hover)}
/* finding the unit: the panel centred over the car leaving, see-through */
.visit{position:relative;background:var(--black);overflow:hidden;height:max(640px,calc(min(100vw,1600px) * 2688 / 6336))}
.visit-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 40%;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 82%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 82%,transparent);mask-composite:intersect}
.visit-panel{position:absolute;left:50%;top:50%;translate:-50% -50%;width:min(1120px,84%);padding:20px 24px 22px;background:rgba(12,11,16,.55);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.visit-panel dd,.visit-panel dt,.visit-hours p{text-shadow:0 0 12px rgba(0,0,0,.95)}
.visit .map-box{background:rgba(12,11,16,.45)}
.visit-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.visit-head .panel-title{margin:0}
.visit-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px;align-items:stretch}
.visit-facts{padding:0!important;max-width:none!important;grid-template-columns:1fr 1fr!important}
.visit-facts > div:nth-child(3){border-left:0!important}
.visit-facts > div:nth-child(n+3){border-top:0}
.visit-hours{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 20px 0;font-size:13.5px;color:var(--dim)}
.visit-hours p{margin:0}
.visit-status{color:var(--ink)}
.visit .map-box{min-height:0;height:100%}
/* field notes: one note at a time, picked from the index (every note stays in the page) */
.notes.is-tabbed .field-note{display:none;border-bottom:0;margin:0;padding:0}
.notes.is-tabbed .field-note.is-active{display:block;animation:note-in .35s ease both}
@keyframes note-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.notes.is-tabbed .notes-index a[aria-current="true"]{color:var(--ink)}
.notes.is-tabbed .notes-index li:has(a[aria-current="true"]){box-shadow:inset 3px 0 0 var(--amber)}
.notes.is-tabbed .notes-index a{padding-left:14px}
.notes.is-tabbed .notes-side{position:static}
.notes.is-tabbed .notes-inner{align-items:center}
.notes.is-tabbed .notes-body{padding:26px 30px;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

/* the quote card: mirrored on the right, the same size and top line as the info card */
.ah-quote{position:absolute;right:var(--gutter);top:calc(var(--nav-top) + var(--nav-h) + 62px);width:clamp(230px,17.5vw,260px);height:284px;z-index:2;
  grid-column:auto;grid-row:auto;margin:0}
.ah-quote h2{font-size:17px}

/* the h1: one spaced line under the name */
.ah-h1{position:absolute;left:50%;top:auto;bottom:calc(var(--pill-gap) + 37px + 14px);translate:-50% 0;z-index:2;margin:0;white-space:nowrap;
  font-family:var(--serif);font-weight:400;font-size:clamp(12px,1vw,15px);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);
  text-shadow:0 0 16px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.9)}
.visit-lead{margin:10px 0 0;max-width:70ch;font-size:14px;line-height:1.6;color:#c3c0cc}
.visit-head{align-items:flex-start!important}
.visit-head .actions{flex-wrap:nowrap;flex:none}

/* the name, h1 and van line are one group, centred in the image between the nav and the quote bar */
.ah-centre{position:absolute;left:0;right:0;top:calc(var(--nav-top) + var(--nav-h));bottom:110px;padding-top:50px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;pointer-events:none}
.ah-centre > *{pointer-events:auto}
.ah-centre .ah-word,.ah-centre .ah-h1,.ah-centre .ah-meta{position:static;left:auto;top:auto;translate:none}
.ah-centre .ah-h1{margin-top:14px}
.ah-centre .ah-meta{margin-top:18px}
/* questions: centred */
.area-faq-inner{grid-template-columns:1fr!important;max-width:860px;gap:24px}
.area-faq-head{text-align:center}
.area-faq-head .section-sub{justify-content:center}
.area-faq-head .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
@media (min-width:1200px) and (max-width:1379px){
  .ah-copy p{font-size:11.5px;line-height:1.55}
  .ah-copy h1{font-size:15px}
}
@media (max-width:1199px){
  .ah-stage{height:auto}
  .ah-bg{position:relative;display:block;inset:auto;height:max(360px,calc(100vw * 2688 / 6336))}
  .ah-stage{--wf:min(15vw,190px);--wt:calc(var(--nav-top) + var(--nav-h) + 26px)}
  .ah-centre .ah-word{font-size:var(--wf)}
  .ah-centre .ah-h1{width:90%}
  .ah-word{font-size:var(--wf);top:var(--wt);bottom:auto;translate:-50% 0}
  .ah-h1{bottom:auto;top:calc(var(--wt) + var(--wf) * .84 + 12px);white-space:normal;width:90%;text-align:center;font-size:12px;letter-spacing:.18em}
  .ah-meta{bottom:auto;top:calc(var(--wt) + var(--wf) * .84 + 70px)}
  .ah-copy{position:relative;left:auto;top:auto;width:auto;margin:-40px var(--gutter) 0;padding:16px 18px}
  .ah-quote{position:relative;right:auto;top:auto;width:auto;height:auto;margin:16px var(--gutter) 0}
  .ah-stage{height:auto;padding-bottom:30px}
  .ah-copy h1{font-size:20px}
  .ah-copy p{font-size:14px}
  .ah-copy{height:auto}
  .ah-find{margin-top:12px}
  .ah-meta{font-size:10px;gap:12px;padding:9px 14px}
  .ah-meta .ah-call{padding-left:12px}
  .aq-bar{margin-top:24px}
  .ah-hub{display:none}
  .aq-inner{grid-template-columns:1fr}
  .aq-bar{margin-top:-40px}
  .ah-centre{bottom:40px;padding-top:0}
  .aq-form{grid-template-columns:1fr 1fr}
  .aq-form button{grid-column:1 / -1}
  .visit-head{flex-direction:column;align-items:flex-start}
}
@media (max-width:900px){
  .ah-facts{grid-template-columns:1fr 1fr}
  .ah-facts > div:nth-child(3){border-left:0}
  .ah-facts > div:nth-child(n+3){border-top:0}
  .notes-inner,.area-faq-inner,.nearby-inner{grid-template-columns:1fr;gap:28px}
  .visit-grid{grid-template-columns:1fr}
  .visit{height:auto;padding:0 0 40px}
  .visit-bg img{position:relative;height:auto;aspect-ratio:4 / 3}
  .visit-panel{position:relative;left:auto;top:auto;translate:none;width:auto;margin:-80px var(--gutter) 0}
  .visit .map-box{min-height:260px}
  .notes-side{position:static}
  .strip-row{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ah-stage{height:auto;padding-bottom:20px}
  .ah-bg{position:relative;inset:auto;display:block;height:auto}
  .ah-bg img{position:relative;left:auto;top:auto;translate:none;display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:45% 50%}
  .ah-stage{--wf:20vw}
  .ah-copy{position:relative;left:auto;bottom:auto;translate:none;width:auto;margin:-40px var(--gutter) 0;padding:16px 18px 18px}
  .ah-facts{grid-template-columns:1fr;margin-top:24px}
  .ah-facts > div + div{border-left:0;border-top:0}
  .matrix-panel{padding:20px 14px 12px}
  .aq-bar{margin-top:10px}
  .aq-form{grid-template-columns:1fr}
  .ah-proof{display:none}
  .strip-head{flex-direction:column;align-items:flex-start}
}

/* ---------- Service pages: their own structure ---------- */
.page-service .site-footer{margin-top:0;background:var(--black)}
/* hero: the coverage switch is the hero */
.ppf.svc-hero{display:block;max-width:none;padding:calc(var(--nav-top) + var(--nav-h) + 28px) var(--gutter) 40px;margin:0;position:relative;overflow:hidden}
.svc-proof{position:absolute;z-index:3;left:var(--gutter);top:calc(var(--nav-top) + var(--nav-h) + 16px)}
.svc-title{position:relative;z-index:2;text-align:center}
.svc-word{margin:0;padding-top:.04em;font-family:var(--display);font-size:min(8.4vw,150px);line-height:.82;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 8px 16px rgba(0,0,0,.85))}
.svc-title h1{margin:12px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(12px,1vw,15px);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);text-shadow:0 0 16px rgba(0,0,0,.95)}

.svc-lead{margin:0 auto 18px;max-width:64ch;font-size:15px;line-height:1.65;color:#c3c0cc;text-shadow:0 0 14px rgba(0,0,0,.95)}
.svc-title .actions{justify-content:center}
.svc-stage{position:relative;z-index:1;max-width:1000px;margin:-70px auto 0}
.svc-stage .ppf-frame{width:100%}
.svc-controls{position:relative;z-index:2;max-width:1100px;margin:-40px auto 0;display:flex;flex-direction:column;align-items:center;gap:18px}
.svc-controls .ppf-tabs{margin:0}
.svc-spec{width:100%}
.svc-spec-set{display:none;margin:0;grid-template-columns:2.2fr 1fr 1fr 1fr;border-top:1.5px solid rgba(238,237,243,.24);border-bottom:1.5px solid rgba(238,237,243,.24);background:rgba(9,8,12,.55)}
.ppf[data-active="front-end"] .svc-spec-set[data-tier="front-end"],.ppf[data-active="full-front"] .svc-spec-set[data-tier="full-front"],.ppf[data-active="full-body"] .svc-spec-set[data-tier="full-body"]{display:grid}
.svc-spec-set > div{padding:14px 18px}
.svc-spec-set > div + div{border-left:1.5px solid rgba(238,237,243,.24)}
.svc-spec-set dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:5px}
.svc-spec-set dd{margin:0;font-size:14.5px;line-height:1.45}
.svc-bar{margin-top:0}
/* what film is: the two numbers beside the writing */
.svc-read{position:relative;background:var(--black);padding:clamp(64px,7vw,110px) var(--gutter);overflow:hidden}
.svc-read-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.svc-read-inner{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:64px;align-items:start}
.svc-numbers{position:sticky;top:110px}
.svc-compare{display:grid;grid-template-columns:1fr 1fr;margin-top:26px;border-top:1.5px solid rgba(238,237,243,.24);border-bottom:1.5px solid rgba(238,237,243,.24)}
.svc-compare > div{display:flex;flex-direction:column;gap:8px;padding:18px 18px 16px}
.svc-compare > div + div{border-left:1.5px solid rgba(238,237,243,.24)}
.svc-num{font-family:var(--display);font-size:clamp(60px,6vw,96px);line-height:.8;padding-top:.04em;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 16px rgba(0,0,0,.9)) drop-shadow(0 6px 12px rgba(0,0,0,.75))}
.svc-num small{font-size:.4em;margin-left:4px}
.svc-cap{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.svc-source{margin:12px 0 0;font-size:12.5px;color:var(--dim)}
.svc-note{padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid rgba(238,237,243,.12)}
.svc-note:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.svc-note h3{margin:0 0 10px;font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:.02em}
.svc-note p{margin:0 0 12px;font-size:15.5px;line-height:1.75;color:#c3c0cc;max-width:64ch}
.svc-note p:last-child{margin-bottom:0}
/* how we fit it: five steps down one rule, under the last light */
.svc-steps{position:relative;background:var(--black);padding:clamp(56px,6vw,96px) var(--gutter);overflow:hidden}
.svc-steps-bg img{position:absolute;left:0;right:0;top:0;width:100%;height:auto;opacity:.7;
  -webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent 85%);mask-image:linear-gradient(to bottom,#000 40%,transparent 85%)}
.svc-steps-inner{position:relative;max-width:900px;margin:0 auto}
.svc-steps-head{text-align:center;margin-bottom:28px}
.svc-steps-head .section-sub{justify-content:center}
.svc-steps-head .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.svc-step-list{list-style:none;margin:0;padding:6px 28px;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.svc-step-list li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(238,237,243,.12)}
.svc-step-list li:last-child{border-bottom:0}
.st-n{font-family:var(--display);font-size:40px;line-height:.85;color:var(--amber)}
.svc-step-list h3{margin:0 0 6px;font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:.02em}
.svc-step-list p{margin:0;font-size:14.5px;line-height:1.65;color:#c3c0cc}
/* what's included: a framed grid over the lit floor */
.svc-inc{position:relative;background:var(--black);padding:clamp(56px,6vw,90px) var(--gutter);overflow:hidden}
.svc-inc-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.svc-inc-panel{position:relative;max-width:1180px;margin:0 auto;padding:24px 28px 20px;text-align:center;background:rgba(12,11,16,.7);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.svc-inc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));text-align:left;border-top:1.5px solid rgba(238,237,243,.22)}
.svc-inc-grid li{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border-bottom:1px solid rgba(238,237,243,.12)}
.svc-inc-grid li:not(:nth-child(4n+1)){border-left:1px solid rgba(238,237,243,.12)}
.svc-inc-grid strong{font-weight:400;font-size:15.5px}
.svc-inc-grid span{font-size:13px;line-height:1.5;color:var(--dim)}
.svc-related{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 16px;padding-top:16px}
.svc-related > span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.svc-related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.svc-related a{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:40px;font-size:12.5px;letter-spacing:.06em;text-decoration:none}
.svc-related a:hover{border-color:var(--amber);color:var(--amber)}
/* questions: heading on the left, answers on the right */
.svc-faq{background:var(--black);padding:clamp(56px,6vw,90px) var(--gutter)}
.svc-faq-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:56px;align-items:start}
.page-correction .svc-faq-head{position:sticky;top:110px}
.svc-faq .faq-list{border-top:1.5px solid rgba(238,237,243,.22)}
/* where we fit it */
.svc-areas{position:relative;background:var(--black);padding:clamp(56px,6vw,90px) var(--gutter);overflow:hidden;text-align:center}
.svc-areas-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.svc-areas-inner{position:relative;max-width:900px;margin:0 auto}
.svc-areas .section-sub{justify-content:center}
.svc-areas .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.svc-areas .nearby-chips{justify-content:center}
@media (max-width:1199px){
  .svc-proof{display:none}
  .svc-stage .callout{display:none}
  .svc-spec-set{grid-template-columns:1fr 1fr}
  .svc-spec-set > div:nth-child(3){border-left:0}
  .svc-spec-set > div:nth-child(n+3){border-top:1px solid rgba(238,237,243,.14)}
  .svc-inc-grid{grid-template-columns:1fr 1fr}
  .svc-inc-grid li:not(:nth-child(4n+1)){border-left:0}
  .svc-inc-grid li:nth-child(even){border-left:1px solid rgba(238,237,243,.12)}
}
@media (max-width:900px){
  .svc-read-inner,.svc-faq-inner{grid-template-columns:1fr;gap:28px}
  .page-correction .svc-faq-head{position:static}
  .page-correction .svc-note-body{min-height:0}
  .svc-numbers{position:static}
}
@media (max-width:760px){
  .ppf.svc-hero{padding-bottom:24px}
  .svc-word{font-size:12vw}
  .svc-stage{margin:-20px calc(var(--gutter) * -1) 0;overflow:hidden}
  .svc-stage .ppf-frame{width:150%;margin-left:-25%}
  .svc-controls{margin-top:0}
  .svc-step-list{padding:4px 16px}
  .svc-step-list li{grid-template-columns:44px 1fr;gap:12px}
  .st-n{font-size:32px}
  .svc-inc-grid{grid-template-columns:1fr}
  .svc-inc-grid li:nth-child(even){border-left:0}
}

/* service notes: four tabs across the top of one panel, one note at a time (every note stays in the page) */
.svc-notes{background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}
.svc-tabs ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1.5px solid rgba(238,237,243,.18);counter-reset:n}
.svc-tabs li{counter-increment:n}
.svc-tabs li + li{border-left:1px solid rgba(238,237,243,.12)}
.svc-tabs a{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;font-size:13px;line-height:1.35;text-decoration:none;color:var(--dim);transition:color .2s,background-color .2s}
.svc-tabs a::before{content:"0" counter(n);font-family:var(--display);font-size:17px;color:var(--amber)}
.svc-tabs a:hover{color:var(--ink)}
.svc-tabs a[aria-current="true"]{color:var(--ink);background:rgba(233,162,59,.07);box-shadow:inset 0 -2px 0 var(--amber)}
.svc-note-body{padding:24px 28px}
.svc-read.is-tabbed .field-note{display:none;border:0;margin:0;padding:0}
.svc-read.is-tabbed .field-note.is-active{display:block;animation:note-in .35s ease both}
.svc-read:not(.is-tabbed) .svc-tabs{display:none}
.svc-read .svc-read-inner{align-items:center}
.page-correction .svc-read-inner{align-items:start}
.page-correction .svc-note-body{min-height:290px}
.svc-numbers{position:static}
/* how we fit it: five steps across one framed row */
.svc-steps-inner{max-width:1320px}
.svc-step-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0}
.svc-step-list li{display:flex;flex-direction:column;gap:10px;padding:20px 18px;border-bottom:0}
.svc-step-list li + li{border-left:1px solid rgba(238,237,243,.12)}
.svc-step-list h3{font-size:17px}
.svc-step-list p{font-size:13.5px;line-height:1.6}
/* where we fit it: a soft panel behind the words */
.svc-areas-inner{padding:26px 30px 28px;background:rgba(12,11,16,.66);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
@media (max-width:1199px){
  .svc-step-list{grid-template-columns:1fr 1fr}
  .svc-step-list li + li{border-left:0}
  .svc-step-list li:nth-child(even){border-left:1px solid rgba(238,237,243,.12)}
  .svc-step-list li:nth-child(n+3){border-top:1px solid rgba(238,237,243,.12)}
}
@media (max-width:760px){
  .svc-tabs ol{grid-template-columns:1fr 1fr}
  .svc-tabs li:nth-child(3){border-left:0}
  .svc-tabs li:nth-child(n+3){border-top:1px solid rgba(238,237,243,.12)}
  .svc-note-body{padding:18px 16px}
  .svc-step-list{grid-template-columns:1fr}
  .svc-step-list li:nth-child(even){border-left:0}
  .svc-step-list li + li{border-top:1px solid rgba(238,237,243,.12)}
  .svc-areas-inner{padding:20px 16px}
}

/* ---------- About page: its own structure ---------- */
.page-about .site-footer{margin-top:0;background:var(--black)}
.about-hero{position:relative;background:var(--black);overflow-x:clip}
.about-stage{position:relative;max-width:1920px;margin:0 auto;height:clamp(560px,calc(100svh - 110px),calc(min(100vw,1920px) * 1257 / 2400))}
.about-still img,.about-clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;
  -webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent);mask-image:linear-gradient(to bottom,#000 70%,transparent)}
.about-clip{opacity:0;transition:opacity .4s ease}
.about-hero.is-playing .about-clip{opacity:1}
.about-centre{position:absolute;left:50%;top:calc(var(--nav-top) + var(--nav-h) + (100% - var(--nav-top) - var(--nav-h)) / 2);translate:-50% -50%;z-index:2;width:min(760px,90%);text-align:center}
.about-centre::before{content:"";position:absolute;inset:-30px -120px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(9,8,12,.85),rgba(9,8,12,.55) 55%,rgba(9,8,12,0))}
.about-word{margin:0;padding-top:.04em;font-family:var(--display);font-size:min(9vw,150px);line-height:.82;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 8px 16px rgba(0,0,0,.85))}
.about-kicker{margin:0 0 12px;font-size:clamp(11px,.9vw,13px);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);text-shadow:0 0 16px rgba(0,0,0,.95)}
.about-centre h1.about-word{margin:0 0 14px;font-weight:400}
.about-centre .actions{justify-content:center;margin-top:18px}
.about-proof{position:absolute;z-index:3;left:var(--gutter);top:calc(var(--nav-top) + var(--nav-h) + 16px)}
.about-lead{margin:0 auto;max-width:60ch;font-size:15px;line-height:1.65;color:#c3c0cc;text-shadow:0 0 16px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.9)}
.about-bar{margin-top:-40px}
/* how it started: four years on one framed row */
.about-story{position:relative;background:var(--black);padding:clamp(64px,7vw,110px) var(--gutter) clamp(48px,5vw,80px);overflow:hidden}
.about-story-bg img{position:absolute;left:0;right:0;top:0;width:100%;height:auto;opacity:.55;
  -webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 80%);mask-image:linear-gradient(to bottom,#000 30%,transparent 80%)}
.about-story-inner{position:relative;max-width:1320px;margin:0 auto}
.about-story-head{margin-bottom:26px}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.timeline li{display:flex;flex-direction:column;gap:8px;padding:22px 22px 24px}
.timeline li + li{border-left:1px solid rgba(238,237,243,.12)}
.tl-year{font-family:var(--display);font-size:clamp(46px,4vw,64px);line-height:.8;padding-top:.04em;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.timeline h3{margin:6px 0 0;font-family:var(--serif);font-weight:400;font-size:17px;letter-spacing:.02em;padding-top:10px;border-top:1.5px solid rgba(233,162,59,.6)}
.timeline p{margin:0;font-size:13.5px;line-height:1.65;color:#c3c0cc}
/* why the unit matters: the chooser lights, with longer cards */
.about-unit{margin-top:0}
@media (min-width:1200px){.about-unit{height:max(560px,calc(100vw * 2688 / 6336))}}
/* your car while it is here */
.about-safe{position:relative;background:var(--black);padding:clamp(56px,6vw,96px) var(--gutter);overflow:hidden}
.about-safe-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.about-safe-inner{position:relative;max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:48px;align-items:center}
.about-safe-text{max-width:480px;padding:24px 26px;background:rgba(12,11,16,.62);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.about-safe-lead{margin:18px 0 0;font-size:15px;line-height:1.7;color:#c3c0cc;text-shadow:0 0 14px rgba(0,0,0,.95)}
.about-safe-list{list-style:none;margin:0;padding:6px 26px;background:rgba(12,11,16,.66);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.about-safe-list li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:18px;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(238,237,243,.12)}
.about-safe-list li:last-child{border-bottom:0}
.about-safe-list strong{font-weight:400;font-size:16px}
.about-safe-list span{font-size:13.5px;line-height:1.6;color:var(--dim)}
/* values: three, under the last light */
.about-values{position:relative;background:var(--black);padding:clamp(56px,6vw,90px) var(--gutter);overflow:hidden}
.about-values-bg img{position:absolute;left:0;right:0;top:-9vw;width:100%;height:auto;opacity:.8;
  -webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 85%);mask-image:linear-gradient(to bottom,#000 30%,transparent 85%)}
.about-values-inner{position:relative;max-width:1180px;margin:0 auto}
.about-values-head{text-align:center;margin-bottom:26px}
.about-values-head .section-sub{justify-content:center}
.about-values-head .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.values-row{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:left;border-top:1.5px solid rgba(238,237,243,.24);border-bottom:1.5px solid rgba(238,237,243,.24);background:rgba(9,8,12,.55)}
.values-row li{padding:22px 24px}
.values-row li + li{border-left:1.5px solid rgba(238,237,243,.24)}
.val-n{font-family:var(--display);font-size:22px;color:var(--amber)}
.values-row h3{margin:8px 0 8px;font-family:var(--serif);font-weight:400;font-size:18px}
.values-row p{margin:0;font-size:14px;line-height:1.65;color:#c3c0cc}
/* the team */
.about-team{background:var(--black);padding:clamp(56px,6vw,90px) var(--gutter)}
.about-team-head{max-width:1240px;margin:0 auto 24px}
.team-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.team-card{margin:0}
.team-card .ph{aspect-ratio:4 / 5}
.team-card figcaption{display:flex;flex-direction:column;gap:4px;margin-top:12px;font-size:13.5px;line-height:1.55;color:var(--dim)}
.team-card strong{font-weight:400;font-size:17px;color:var(--ink)}
.team-role{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
/* come and see the unit */
.about-visit-panel{text-align:center;width:min(720px,84%);padding:24px 30px 26px}
.about-visit-panel p{margin:10px auto 18px;max-width:56ch;font-size:14.5px;line-height:1.65;color:#c3c0cc}
.about-visit-panel .actions{justify-content:center}
@media (max-width:1199px){
  .timeline{grid-template-columns:1fr 1fr}
  .timeline li + li{border-left:0}
  .timeline li:nth-child(even){border-left:1px solid rgba(238,237,243,.12)}
  .timeline li:nth-child(n+3){border-top:1px solid rgba(238,237,243,.12)}
}
@media (max-width:900px){
  .values-row{grid-template-columns:1fr}
  .values-row li + li{border-left:0;border-top:1.5px solid rgba(238,237,243,.24)}
  .team-row{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .about-stage{height:auto}
  .about-still img,.about-clip{position:relative;display:block;height:auto;aspect-ratio:4 / 3}
  .about-clip{position:absolute;top:0}
  .about-centre{position:relative;left:auto;bottom:auto;translate:none;width:auto;margin:-40px var(--gutter) 0}
  .about-word{font-size:15vw}
  .team-row{grid-template-columns:1fr}
}

/* how it started: the years are tabs, one chapter at a time */
.tl-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}
.tl-years ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;height:100%;border-right:1px solid rgba(238,237,243,.14)}
.tl-years li{border-bottom:1px solid rgba(238,237,243,.1)}
.tl-years li:nth-child(odd){border-right:1px solid rgba(238,237,243,.1)}
.tl-years li:nth-child(n+3){border-bottom:0}
.tl-years a{display:flex;align-items:center;justify-content:center;height:100%;min-height:110px;text-decoration:none;font-family:var(--display);font-size:clamp(46px,4vw,64px);line-height:.8;padding-top:.04em;
  color:rgba(238,237,243,.35);transition:color .25s,background-color .25s}
.tl-years a:hover{color:rgba(238,237,243,.7)}
.tl-years a::before{content:none!important}
.tl-years a[aria-current="true"]{color:var(--ink);background:rgba(233,162,59,.07);box-shadow:inset 0 -2px 0 var(--amber);text-shadow:0 0 18px rgba(0,0,0,.9)}
.tl-body{padding:28px 32px;display:flex;align-items:center}
.tl-note h3{margin:0 0 10px;font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:.02em}
.tl-note p{margin:0;font-size:15.5px;line-height:1.75;color:#c3c0cc;max-width:62ch}
.about-story:not(.is-tabbed) .tl-years{display:none}
.about-story:not(.is-tabbed) .tl-panel{grid-template-columns:1fr}
.about-story:not(.is-tabbed) .tl-body{flex-direction:column;align-items:stretch;gap:20px}
.about-story.is-tabbed .tl-note{display:none}
.about-story.is-tabbed .tl-note.is-active{display:block;animation:note-in .35s ease both}
/* values: three large statements, the reason beside each */
.values-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left}
.values-list li{display:flex;flex-direction:column;gap:10px;padding:24px 24px 26px;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.values-list h3{margin:0;padding-bottom:12px;border-bottom:1.5px solid rgba(233,162,59,.6);font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.3;letter-spacing:.02em;color:var(--ink)}
.values-list p{margin:0;font-size:14.5px;line-height:1.7;color:#c3c0cc}
.values-list li{transition:border-color .2s,background-color .2s}
.values-list li:hover{border-color:rgba(238,237,243,.34);background:rgba(18,17,24,.8)}
.values-list h3{transition:color .2s}
.values-list li:hover h3{color:var(--amber)}
@media (max-width:900px){
  .tl-panel{grid-template-columns:1fr}
  .tl-years ol{grid-template-columns:repeat(4,1fr);border-right:0;border-bottom:1px solid rgba(238,237,243,.14)}
  .tl-years li{border-bottom:0!important}
  .tl-years li + li{border-left:1px solid rgba(238,237,243,.1)}
  .tl-years li:nth-child(odd){border-right:0}
  .tl-years a{min-height:74px;font-size:36px}
  .about-safe-inner{grid-template-columns:1fr;gap:26px}
  .values-list{grid-template-columns:1fr}
  .about-safe-list li{grid-template-columns:1fr;gap:4px}
}
@media (max-width:760px){
  .about-proof{display:none}
  .tl-body{padding:20px 18px}
}

/* correction hero: the light passes once over the paint */
.cx-hero{position:relative;background:var(--black);padding:calc(var(--nav-top) + var(--nav-h) + 28px) var(--gutter) 40px;overflow:hidden}
.cx-stage{position:relative;z-index:1;max-width:1100px;margin:-10px auto 0;aspect-ratio:1600 / 830}
.cx-still img,.cx-after img,.cx-clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 82%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 82%,transparent);mask-composite:intersect}
.cx-after{display:none}
.cx-clip{opacity:0;transition:opacity .3s ease}
.cx-hero.is-playing .cx-clip{opacity:1}
.cx-hero.is-static .cx-after{display:block}
.cx-readings{position:absolute;z-index:2;left:6%;bottom:12%;display:flex;gap:0}
.cx-readings > div{display:flex;flex-direction:column;gap:6px;padding:0 26px 0 0}
.cx-readings > div + div{padding:0 0 0 26px;border-left:1.5px solid rgba(238,237,243,.24)}
.cx-levels{position:relative;z-index:2;max-width:1100px;margin:-10px auto 0;display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid rgba(238,237,243,.24);border-bottom:1.5px solid rgba(238,237,243,.24);background:rgba(9,8,12,.55)}
.cx-level{padding:18px 22px}
.cx-level + .cx-level{border-left:1.5px solid rgba(238,237,243,.24)}
.cx-level h2{margin:0 0 10px;font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:.02em}
.cx-level dl{display:flex;gap:28px;margin:0 0 8px}
.cx-level dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:4px}
.cx-level dd{margin:0;font-size:14.5px}
.cx-level p{margin:0;font-size:13.5px;line-height:1.6;color:var(--dim)}
@media (max-width:760px){
  .cx-stage{margin:-10px calc(var(--gutter) * -1) 0}
  .cx-readings{left:var(--gutter);bottom:8%}
  .cx-readings .reading-value{font-size:40px}
  .cx-levels{grid-template-columns:1fr;margin-top:10px}
  .cx-level + .cx-level{border-left:0;border-top:1.5px solid rgba(238,237,243,.24)}
}

/* correction hero: the same switch as the film page, with before and after */
.ppf[data-active="before"] .ppf-shot[data-tier="before"] img,
.ppf[data-active="after"] .ppf-shot[data-tier="after"] img{opacity:1}
.ppf[data-active="before"] .callout[data-tiers~="before"],
.ppf[data-active="after"] .callout[data-tiers~="after"]{opacity:1}
.ppf[data-active="before"] .svc-spec-set[data-tier="before"],
.ppf[data-active="after"] .svc-spec-set[data-tier="after"]{display:grid}
/* correction hero: the frame melts into the page rather than ending */
.svc-hero[data-active] .ppf-shot[data-tier="before"] img,
.svc-hero[data-active] .ppf-shot[data-tier="after"] img{
  -webkit-mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 84%,transparent);mask-composite:intersect}
/* enhancement hero: one image, three things one stage buys */
.ppf[data-active="gloss"] .ppf-shot[data-tier="gloss"] img,
.ppf[data-active="swirls"] .ppf-shot[data-tier="swirls"] img,
.ppf[data-active="time"] .ppf-shot[data-tier="time"] img{opacity:1}
.ppf[data-active="gloss"] .callout[data-tiers~="gloss"],
.ppf[data-active="swirls"] .callout[data-tiers~="swirls"],
.ppf[data-active="time"] .callout[data-tiers~="time"]{opacity:1}
.ppf[data-active="gloss"] .svc-spec-set[data-tier="gloss"],
.ppf[data-active="swirls"] .svc-spec-set[data-tier="swirls"],
.ppf[data-active="time"] .svc-spec-set[data-tier="time"]{display:grid}
.page-enhancement .svc-read-inner{align-items:start}
.page-enhancement .svc-faq-head{position:sticky;top:110px}
.page-enhancement .aq-form select{width:100%;height:42px;padding:0 34px 0 12px;font-family:var(--serif);font-size:13px;color:#8f8c9a;background-color:rgba(255,255,255,.04);border:1px solid rgba(238,237,243,.14);border-radius:8px;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a9a6b4' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px 7px}
.page-enhancement .aq-form select:focus{outline:none;border-color:var(--amber)}
.page-enhancement .aq-form select:valid{color:var(--ink)}
.page-enhancement .aq-form option{background:#16151b;color:var(--ink)}
@media (max-width:900px){.page-enhancement .svc-faq-head{position:static}}
/* maintenance hero: the plan switch (one image, three plans) */
.page-maintenance .ppf-shot img{
  -webkit-mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 86%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 86%,transparent);mask-composite:intersect}

.ppf[data-active="fortnightly"] .ppf-shot[data-tier="fortnightly"] img,
.ppf[data-active="monthly"] .ppf-shot[data-tier="monthly"] img,
.ppf[data-active="oneoff"] .ppf-shot[data-tier="oneoff"] img{opacity:1}
.ppf[data-active="fortnightly"] .callout[data-tiers~="fortnightly"],
.ppf[data-active="monthly"] .callout[data-tiers~="monthly"],
.ppf[data-active="oneoff"] .callout[data-tiers~="oneoff"]{opacity:1}
.ppf[data-active="fortnightly"] .svc-spec-set[data-tier="fortnightly"],
.ppf[data-active="monthly"] .svc-spec-set[data-tier="monthly"],
.ppf[data-active="oneoff"] .svc-spec-set[data-tier="oneoff"]{display:grid}
.page-maintenance .svc-read-inner{align-items:start}
.page-maintenance .svc-faq-head{position:sticky;top:110px}
.page-maintenance .aq-form select{width:100%;height:42px;padding:0 34px 0 12px;font-family:var(--serif);font-size:13px;color:#8f8c9a;background-color:rgba(255,255,255,.04);border:1px solid rgba(238,237,243,.14);border-radius:8px;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a9a6b4' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px 7px}
.page-maintenance .aq-form select:focus{outline:none;border-color:var(--amber)}
.page-maintenance .aq-form select:valid{color:var(--ink)}
.page-maintenance .aq-form option{background:#16151b;color:var(--ink)}
@media (max-width:900px){.page-maintenance .svc-faq-head{position:static}}
/* ceramic hero: the coated / uncoated switch */
.ppf[data-active="coated"] .ppf-shot[data-tier="coated"] img,
.ppf[data-active="uncoated"] .ppf-shot[data-tier="uncoated"] img{opacity:1}
.ppf[data-active="coated"] .callout[data-tiers~="coated"],
.ppf[data-active="uncoated"] .callout[data-tiers~="uncoated"]{opacity:1}
.ppf[data-active="coated"] .svc-spec-set[data-tier="coated"],
.ppf[data-active="uncoated"] .svc-spec-set[data-tier="uncoated"]{display:grid}
.page-ceramic .svc-read-inner{align-items:start}
.page-ceramic .svc-faq-head{position:sticky;top:110px}
.page-ceramic .aq-form select{width:100%;height:42px;padding:0 34px 0 12px;font-family:var(--serif);font-size:13px;color:#8f8c9a;background-color:rgba(255,255,255,.04);border:1px solid rgba(238,237,243,.14);border-radius:8px;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a9a6b4' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px 7px}
.page-ceramic .aq-form select:focus{outline:none;border-color:var(--amber)}
.page-ceramic .aq-form select:valid{color:var(--ink)}
.page-ceramic .aq-form option{background:#16151b;color:var(--ink)}
@media (max-width:900px){.page-ceramic .svc-faq-head{position:static}}
.page-ceramic .cx-sweep .cx-stage{aspect-ratio:1284 / 672}
.page-ceramic .cx-sweep .cx-still img,.page-ceramic .cx-sweep .cx-after img,.page-ceramic .cx-sweep .cx-clip{transform:none;object-fit:contain}
/* correction: the cue that tells you the light is about to pass */
.cx-cue{position:absolute;z-index:3;left:14px;top:14px;display:flex;align-items:center;gap:9px;padding:7px 13px;border-radius:40px;
  background:rgba(12,11,16,.72);border:1px solid rgba(233,162,59,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);transition:opacity .3s ease}
.cx-cue-dot{width:8px;height:8px;border-radius:50%;background:var(--amber);animation:cue-pulse 1.6s ease-in-out infinite}
@keyframes cue-pulse{0%,100%{box-shadow:0 0 0 0 rgba(233,162,59,.55);opacity:1}50%{box-shadow:0 0 0 7px rgba(233,162,59,0);opacity:.65}}
.cx-sweep.is-playing .cx-cue,.cx-sweep.is-done .cx-cue{opacity:0;pointer-events:none}
.cx-prog{position:absolute;z-index:3;left:0;right:0;bottom:0;height:2px;background:rgba(238,237,243,.14);opacity:0;transition:opacity .3s ease}
.cx-prog i{display:block;height:100%;width:0;background:var(--amber)}
.cx-sweep.is-playing .cx-prog{opacity:1}
.cx-replay{position:absolute;z-index:3;left:14px;bottom:14px;display:none;align-items:center;gap:8px;padding:8px 14px;border-radius:40px;cursor:pointer;
  background:rgba(12,11,16,.78);border:1px solid var(--line);color:var(--ink);font-family:var(--serif);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
.cx-replay::before{content:"";width:0;height:0;border-left:7px solid var(--amber);border-top:5px solid transparent;border-bottom:5px solid transparent}
.cx-replay:hover{border-color:var(--amber);color:var(--amber)}
.cx-sweep.is-done .cx-replay{display:inline-flex}
.cx-sweep.is-static .cx-cue,.cx-sweep.is-static .cx-replay,.cx-sweep.is-static .cx-prog{display:none}
@media (prefers-reduced-motion:reduce){.cx-cue-dot{animation:none}}
/* correction: the readings, with the sweep beside them */
.cx-sweep{position:relative;background:var(--black);padding:clamp(48px,5vw,80px) var(--gutter)}
.cx-sweep-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:52px;align-items:center}
.cx-sweep-text p{margin:18px 0 0;font-size:15px;line-height:1.7;color:#c3c0cc;max-width:52ch}
.cx-figures{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:0;border-top:1.5px solid rgba(238,237,243,.22)}
.cx-figures li{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-bottom:1.5px solid rgba(238,237,243,.14)}
.cx-fig-label{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.cx-fig{display:flex;align-items:baseline;gap:14px;font-family:var(--display);font-size:clamp(40px,3.4vw,54px);line-height:.85}
.cx-was{color:rgba(238,237,243,.35)}
.cx-arrow{font-family:var(--serif);font-size:.4em;color:var(--dim)}
.cx-now{background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cx-fig small{font-family:var(--serif);font-size:14px;color:var(--dim);margin-left:-8px}
.cx-fig-note{font-size:13px;color:var(--dim)}
.cx-sweep-note{margin-top:16px!important;font-size:13px;color:var(--dim)}
.cx-sweep .cx-stage{position:relative;width:100%;aspect-ratio:7 / 4;border-radius:6px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,0,0,.95);border:1px solid var(--line)}
/* the clip is cropped in on the light itself, so the frame is not mostly empty paint */
.cx-sweep .cx-still img,.cx-sweep .cx-after img,.cx-sweep .cx-clip{transform:scale(1.55);transform-origin:72% 62%}
.cx-still img,.cx-after img,.cx-clip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-after{display:none}
.cx-clip{opacity:0;transition:opacity .3s ease}
.cx-sweep.is-playing .cx-clip{opacity:1}
.cx-sweep.is-static .cx-after{display:block}
@media (max-width:900px){
  .cx-sweep-inner{grid-template-columns:1fr;gap:26px}
}

/* ---------- Contact page ---------- */
.page-contact .site-footer{margin-top:0;background:var(--black)}
.ct-hero{position:relative;background:var(--black);padding:calc(var(--nav-top) + var(--nav-h) + 40px) var(--gutter) 24px;overflow:hidden}
.ct-hero-bg img{position:absolute;left:0;right:0;top:0;width:100%;height:auto;opacity:.85;
  -webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 92%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,#000 55%,transparent 92%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}
.ct-inner{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) var(--form-w);gap:56px;align-items:start}
.ct-proof{margin-bottom:18px}
.ct-word{margin:0;padding-top:.04em;font-family:var(--display);font-size:min(7vw,120px);line-height:.82;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 8px 16px rgba(0,0,0,.85))}
.ct-text h1{margin:12px 0 14px;font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,26px);line-height:1.3;letter-spacing:.02em}
.ct-lead{margin:0 0 22px;max-width:62ch;font-size:15px;line-height:1.7;color:#c3c0cc}
.ct-channels{list-style:none;margin:0;padding:0;border-top:1.5px solid rgba(238,237,243,.22)}
.ct-channels li{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.1fr);gap:6px 24px;padding:16px 0;border-bottom:1.5px solid rgba(238,237,243,.14)}
.ct-label{grid-row:1;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.ct-value{grid-row:2;grid-column:1;font-size:17px;text-decoration:none}
.ct-value:hover{color:var(--amber)}
.ct-note{grid-row:1 / span 2;grid-column:2;align-self:center;font-size:13.5px;line-height:1.55;color:var(--dim)}
.ct-form{position:static;width:auto}
.ct-form h2{font-size:17px}
/* what to send */
.ct-send{background:var(--black);padding:clamp(28px,3vw,44px) var(--gutter) clamp(48px,5vw,80px)}
.ct-send-inner{max-width:1240px;margin:0 auto}
.ct-send-head{margin-bottom:22px}
.ct-send-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid rgba(238,237,243,.22);border-bottom:1.5px solid rgba(238,237,243,.22);background:rgba(12,11,16,.5)}
.ct-send-list li{display:flex;flex-direction:column;gap:8px;padding:20px 22px}
.ct-send-list li + li{border-left:1.5px solid rgba(238,237,243,.16)}
.ct-send-list strong{font-weight:400;font-size:16px}
.ct-send-list span{font-size:13.5px;line-height:1.6;color:var(--dim)}
.ct-send-note{margin:16px 0 0;font-size:13.5px;color:var(--dim)}
/* what happens next */
.ct-next{background:var(--black);padding:0 var(--gutter) clamp(48px,5vw,80px)}
.ct-next-inner{max-width:900px;margin:0 auto}
.ct-next-head{text-align:center;margin-bottom:24px}
.ct-next-head .section-sub{justify-content:center}
.ct-next-head .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.ct-steps{list-style:none;margin:0;padding:6px 28px;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px}
.ct-steps li{display:grid;grid-template-columns:62px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(238,237,243,.12)}
.ct-steps li:last-child{border-bottom:0}
.ct-n{font-family:var(--display);font-size:38px;line-height:.85;color:var(--amber)}
.ct-steps h3{margin:0 0 6px;font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:.02em}
.ct-steps p{margin:0;font-size:14.5px;line-height:1.65;color:#c3c0cc}
/* finding the unit */
.ct-find{position:relative;background:var(--black);padding:clamp(56px,6vw,96px) var(--gutter);overflow:hidden}
.ct-find-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.ct-find-panel{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;
  padding:26px 30px;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.ct-find-text p{margin:12px 0 0;font-size:14.5px;line-height:1.7;color:#c3c0cc;max-width:56ch}
.ct-hours{display:grid;grid-template-columns:1fr 1fr;margin:18px 0 20px;border-top:1.5px solid rgba(238,237,243,.2)}
.ct-hours > div{display:flex;flex-direction:column;gap:4px;padding:12px 0}
.ct-hours dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.ct-hours dd{margin:0;font-size:14.5px}
.ct-find .map-box{min-height:300px;height:100%}
.page-contact .closing-copy{margin:10px 0 18px;font-size:14px;line-height:1.65;color:#c3c0cc}
.page-contact .closing-card .actions{justify-content:center}
.page-contact .closing-card{text-align:center}
@media (max-width:1023px){
  .ct-inner{grid-template-columns:1fr;gap:28px}
  .ct-send-list{grid-template-columns:1fr 1fr}
  .ct-send-list li + li{border-left:0}
  .ct-send-list li:nth-child(even){border-left:1.5px solid rgba(238,237,243,.16)}
  .ct-send-list li:nth-child(n+3){border-top:1.5px solid rgba(238,237,243,.16)}
  .ct-find-panel{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ct-word{font-size:15vw}
  .ct-channels li{grid-template-columns:1fr;gap:4px}
  .ct-note{grid-row:auto;grid-column:1}
  .ct-send-list{grid-template-columns:1fr}
  .ct-send-list li:nth-child(even){border-left:0}
  .ct-send-list li + li{border-top:1.5px solid rgba(238,237,243,.16)}
  .ct-steps{padding:4px 16px}
  .ct-steps li{grid-template-columns:44px 1fr;gap:12px}
  .ct-n{font-size:30px}
  .ct-hours{grid-template-columns:1fr}
}
.page-contact .aq-form select,.page-contact .quote select{color:var(--ink)}

/* ---------- Work page ---------- */
.page-work .site-footer{margin-top:0;background:var(--black)}
/* hero: built exactly like the contact hero */
.wk-hero{position:relative;background:var(--black);padding:calc(var(--nav-top) + var(--nav-h) + 40px) var(--gutter) 24px;overflow:hidden}
.wk-hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 4%;opacity:.55;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 26%,transparent 58%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,#000 0%,#000 26%,transparent 58%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}
.wk-inner{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) var(--form-w);gap:56px;align-items:start}
.wk-proof{margin-bottom:18px}
.wk-word{margin:0;padding-top:.04em;font-family:var(--display);font-size:min(7vw,120px);line-height:.82;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 8px 16px rgba(0,0,0,.85))}
.wk-hero-text h1{margin:12px 0 14px;font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,26px);line-height:1.3;letter-spacing:.02em}
.wk-lead{margin:0 0 22px;max-width:62ch;font-size:15px;line-height:1.7;color:#c3c0cc;text-shadow:0 0 14px rgba(0,0,0,.95)}
.wk-kicker{margin:0 0 12px;padding-top:16px;border-top:1.5px solid rgba(238,237,243,.22);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.wk-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.wk-chips a{display:inline-block;padding:9px 16px;border:1px solid var(--line);border-radius:40px;background:rgba(12,11,16,.55);font-size:13px;letter-spacing:.05em;text-decoration:none;transition:border-color .2s,color .2s,background-color .2s}
.wk-chips a:hover{border-color:var(--amber);color:var(--amber);background:rgba(18,17,24,.8)}
.wk-form{position:static;width:auto}
.wk-form h2{font-size:17px}
/* before and after */
.wk-compare{background:var(--black);padding:clamp(16px,1.6vw,26px) var(--gutter) clamp(40px,4vw,64px)}
.wk-split{position:relative;max-width:1240px;margin:0 auto 26px}
.wk-split img{display:block;width:100%;height:clamp(200px,20vw,300px);object-fit:cover;object-position:50% 50%;border-radius:14px;border:1px solid var(--line)}
.wk-split figcaption{position:absolute;inset:auto 0 14px;display:flex;justify-content:space-around;pointer-events:none}
.wk-split-tag{padding:6px 14px;border-radius:40px;background:rgba(12,11,16,.78);border:1px solid var(--line);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.wk-compare-head{max-width:1240px;margin:0 auto 22px;text-align:center}
.wk-compare-head .section-sub{justify-content:center}
.wk-compare-head .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.wk-compare-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:26px}
.wk-ba{margin:0}
.wk-ba figcaption,.wk-job figcaption{display:flex;flex-direction:column;gap:4px;margin-top:12px;font-size:13.5px;line-height:1.6;color:var(--dim)}
.wk-ba strong,.wk-job strong{font-weight:400;font-size:16px;color:var(--ink)}
.wk-car{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.wk-figures{margin-top:0;height:clamp(190px,16vw,260px)}
.wk-figures .proof-bg img{object-position:50% 88%;opacity:.5;
  -webkit-mask-image:linear-gradient(to bottom,transparent 55%,#000 100%);mask-image:linear-gradient(to bottom,transparent 55%,#000 100%)}
.wk-figures .figures{bottom:auto;top:38%;translate:0 -50%}
.wk-figures::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(9,8,12,.92),rgba(9,8,12,.75) 60%,rgba(9,8,12,.35))}
.wk-figures .figure-label{text-shadow:0 0 16px rgba(0,0,0,.95)}
.wk-figures .figure-num{filter:drop-shadow(0 0 22px rgba(0,0,0,.9)) drop-shadow(0 0 40px rgba(255,255,255,.12))}
.wk-figures::after{content:"";position:absolute;left:0;right:0;top:20%;height:60%;z-index:1;pointer-events:none;
  background:radial-gradient(70% 90% at 50% 50%,rgba(255,255,255,.10),rgba(255,255,255,0) 70%)}
/* the gallery */
.wk-gallery{background:var(--black);padding:clamp(48px,5vw,80px) var(--gutter)}
.wk-gallery-head{max-width:1240px;margin:0 auto 24px}
.wk-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wk-job{margin:0}
.wk-job .ph{aspect-ratio:4 / 3}
.wk-note{max-width:1240px;margin:22px auto 0;font-size:13px;color:var(--dim)}
.wk-cta-panel{text-align:center;width:min(720px,84%);padding:24px 30px 26px}
.wk-cta-panel p{margin:10px auto 18px;max-width:56ch;font-size:14.5px;line-height:1.65;color:#c3c0cc}
.wk-cta-panel .actions{justify-content:center}
@media (max-width:1023px){
  .wk-inner{grid-template-columns:1fr;gap:26px}
}
@media (max-width:900px){
  .wk-compare-row{grid-template-columns:1fr}
  .wk-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .wk-word{font-size:15vw}

  .wk-grid{grid-template-columns:1fr}
  .wk-proof{display:none}
}

/* ---------- Thank you ---------- */
.page-thanks .site-footer{margin-top:0;background:var(--black)}
.ty{position:relative;background:var(--black);padding:calc(var(--nav-top) + var(--nav-h) + 56px) var(--gutter) clamp(48px,5vw,80px);overflow:hidden}
.ty-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent)}
.ty-inner{position:relative;max-width:900px;margin:0 auto;text-align:center}
.ty-word{margin:0;padding-top:.04em;font-family:var(--display);font-size:min(7vw,120px);line-height:.82;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 8px 16px rgba(0,0,0,.85))}
.ty-inner h1{margin:12px 0 12px;font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,26px);letter-spacing:.02em}
.ty-lead{margin:0 auto 26px;max-width:56ch;font-size:15px;line-height:1.7;color:#c3c0cc}
.ty-steps{list-style:none;margin:0 auto;padding:6px 28px;max-width:760px;text-align:left;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ty-steps li{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid rgba(238,237,243,.12)}
.ty-steps li:last-child{border-bottom:0}
.ty-n{font-family:var(--display);font-size:34px;line-height:.85;color:var(--amber)}
.ty-steps h3{margin:0 0 6px;font-family:var(--serif);font-weight:400;font-size:17px;letter-spacing:.02em}
.ty-steps p{margin:0;font-size:14px;line-height:1.65;color:#c3c0cc}
.ty-urgent{margin:22px auto 20px;max-width:60ch;font-size:14px;color:var(--dim)}
.ty-urgent a{color:var(--amber);text-decoration:none;border-bottom:1px solid rgba(233,162,59,.5)}
.ty .actions{justify-content:center}
.ty-links{background:var(--black);padding:0 var(--gutter) clamp(48px,5vw,80px)}
.ty-links-inner{max-width:1100px;margin:0 auto}
.ty-link-list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ty-link-list a{display:flex;flex-direction:column;gap:6px;height:100%;padding:20px 22px;text-decoration:none;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:16px;transition:border-color .2s,background-color .2s}
.ty-link-list a:hover{border-color:rgba(238,237,243,.34);background:rgba(18,17,24,.8)}
.ty-link-list strong{font-weight:400;font-size:17px;transition:color .2s}
.ty-link-list a:hover strong{color:var(--amber)}
.ty-link-list span{font-size:13.5px;line-height:1.55;color:var(--dim)}
@media (max-width:760px){
  .ty-word{font-size:15vw}
  .ty-steps{padding:4px 16px}
  .ty-steps li{grid-template-columns:42px 1fr;gap:12px}
  .ty-link-list{grid-template-columns:1fr}
}

/* ---------- Legal pages ---------- */
.page-legal .site-footer{margin-top:0;background:var(--black)}
.lg{background:var(--black);padding:calc(var(--nav-top) + var(--nav-h) + 44px) var(--gutter) clamp(56px,6vw,96px)}
.lg-head{max-width:1100px;margin:0 auto 34px}
.lg-head .crumbs{justify-content:flex-start;border-bottom:0;padding-bottom:0;margin-bottom:14px}
.lg-head h1{margin:0 0 14px;font-family:var(--display);font-weight:400;font-size:clamp(40px,4.6vw,68px);line-height:.92;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);
  text-shadow:0 0 18px rgba(0,0,0,.95),0 0 36px rgba(0,0,0,.85)}
.lg-lead{margin:0 0 10px;max-width:70ch;font-size:15.5px;line-height:1.7;color:#c3c0cc}
.lg-updated{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.lg-body{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1.3fr);gap:56px;align-items:start}
.lg-nav{position:sticky;top:110px;padding:18px 20px;background:rgba(12,11,16,.7);border:1px solid var(--line);border-radius:16px}
.lg-nav-title{margin:0 0 10px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.lg-nav ol{list-style:none;margin:0;padding:0;counter-reset:lg}
.lg-nav li{counter-increment:lg;padding:6px 0;border-bottom:1px solid rgba(238,237,243,.08)}
.lg-nav li:last-child{border-bottom:0}
.lg-nav a{display:flex;gap:10px;font-size:13.5px;line-height:1.45;text-decoration:none;color:var(--dim);transition:color .2s}
.lg-nav a::before{content:counter(lg,decimal-leading-zero);font-family:var(--display);font-size:14px;color:rgba(233,162,59,.8)}
.lg-nav a:hover{color:var(--ink)}
.lg-sec{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid rgba(238,237,243,.12)}
.lg-sec:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.lg-sec h2{margin:0 0 12px;font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:.02em;scroll-margin-top:110px}
.lg-sec p{margin:0 0 12px;font-size:15px;line-height:1.75;color:#c3c0cc;max-width:72ch}
.lg-sec p:last-child{margin-bottom:0}
@media (max-width:900px){
  .lg-body{grid-template-columns:1fr;gap:26px}
  .lg-nav{position:static}
}

/* ---------- 404 ---------- */
.page-404 .site-footer{margin-top:0;background:var(--black)}
.nf{position:relative;background:var(--black);padding:calc(var(--nav-top) + var(--nav-h) + 60px) var(--gutter) clamp(48px,5vw,80px);overflow:hidden}
.nf-bg img{position:absolute;left:0;right:0;top:0;width:100%;height:auto;opacity:.8;
  -webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 92%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,#000 50%,transparent 92%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}
.nf-inner{position:relative;max-width:820px;margin:0 auto;text-align:center}
.nf-word{margin:0;padding-top:.04em;font-family:var(--display);font-size:min(16vw,220px);line-height:.82;letter-spacing:.04em;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 8px 16px rgba(0,0,0,.85))}
.nf-inner h1{margin:10px 0 12px;font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,26px);letter-spacing:.02em;text-shadow:0 0 16px rgba(0,0,0,.95)}
.nf-lead{margin:0 auto 22px;max-width:56ch;font-size:15px;line-height:1.7;color:#c3c0cc;text-shadow:0 0 14px rgba(0,0,0,.95)}
.nf .actions{justify-content:center}
.nf-links{background:var(--black);padding:0 var(--gutter) clamp(48px,5vw,80px)}
.nf-links-inner{max-width:1100px;margin:0 auto}
.nf-links .ty-link-list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.nf-links .ty-link-list{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.nf-links .ty-link-list{grid-template-columns:1fr}}

/* ---------- Hub pages ---------- */
.page-hub .site-footer{margin-top:0;background:var(--black)}
.hb-hero{position:relative;background:var(--black);padding:calc(var(--nav-top) + var(--nav-h) + 40px) var(--gutter) 28px;overflow:hidden}
.hb-hero-bg img{position:absolute;left:0;right:0;top:0;width:100%;height:auto;opacity:.7;
  -webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent 90%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,#000 40%,transparent 90%),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}
.hb-inner{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) var(--form-w);gap:56px;align-items:start}
.hb-proof{margin-bottom:18px}
.hb-word{margin:0;padding-top:.04em;font-family:var(--display);font-size:min(7vw,120px);line-height:.82;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 8px 16px rgba(0,0,0,.85))}
.hb-hero-text h1{margin:12px 0 14px;font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,26px);line-height:1.3;letter-spacing:.02em}
.hb-lead{margin:0 0 22px;max-width:62ch;font-size:15px;line-height:1.7;color:#c3c0cc;text-shadow:0 0 14px rgba(0,0,0,.95)}
.hb-kicker{margin:0 0 12px;padding-top:16px;border-top:1.5px solid rgba(238,237,243,.22);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.hb-form{position:static;width:auto}
.hb-form h2{font-size:17px}
/* the five */
.hb-list{background:var(--black);padding:clamp(40px,4vw,64px) var(--gutter)}
.hb-list-head{max-width:1240px;margin:0 auto 24px}
.hb-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hb-card{display:flex;flex-direction:column;background:rgba(12,11,16,.7);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:border-color .2s,background-color .2s}
.hb-card:hover{border-color:rgba(238,237,243,.34);background:rgba(18,17,24,.82)}
.hb-shot{display:block;aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--line)}
.hb-shot img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;transition:scale .4s ease}
.hb-card:hover .hb-shot img{scale:1.03}
.hb-body{display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px;flex:1}
.hb-body h3{margin:0;font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:.02em}
.hb-body h3 a{text-decoration:none;transition:color .2s}
.hb-card:hover h3 a{color:var(--amber)}
.hb-meta{display:flex;gap:26px;margin:0;padding-bottom:12px;border-bottom:1px solid rgba(238,237,243,.12)}
.hb-meta dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:4px}
.hb-meta dd{margin:0;font-size:14.5px}
.hb-body p{margin:0;font-size:14px;line-height:1.65;color:#c3c0cc}
.hb-more{margin-top:auto;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);text-decoration:none}
.hb-more::after{content:" \2192"}
/* which one */
.hb-picks{position:relative;background:var(--black);padding:clamp(48px,5vw,80px) var(--gutter);overflow:hidden}
.hb-picks-inner{position:relative;max-width:1240px;margin:0 auto}
.hb-picks-head{text-align:center;margin-bottom:26px}
.hb-picks-head .section-sub{justify-content:center}
.hb-picks-head .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.hb-pick-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid rgba(238,237,243,.22);border-bottom:1.5px solid rgba(238,237,243,.22);background:rgba(9,8,12,.55)}
.hb-pick-list > li{display:flex;flex-direction:column;gap:10px;padding:22px 24px}
.hb-pick-list > li + li{border-left:1.5px solid rgba(238,237,243,.2)}
.hb-pick-list h3{margin:0;font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:.02em}
.hb-pick-list p{margin:0;font-size:14px;line-height:1.65;color:#c3c0cc}
.hb-pick-links{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hb-pick-links a{display:inline-block;padding:7px 13px;border:1px solid var(--line);border-radius:40px;font-size:12px;letter-spacing:.05em;text-decoration:none}
.hb-pick-links a:hover{border-color:var(--amber);color:var(--amber)}
@media (max-width:1023px){
  .hb-inner{grid-template-columns:1fr;gap:26px}
  .hb-grid{grid-template-columns:1fr 1fr}
  .hb-pick-list{grid-template-columns:1fr}
  .hb-pick-list > li + li{border-left:0;border-top:1.5px solid rgba(238,237,243,.2)}
}
@media (max-width:760px){
  .hb-word{font-size:15vw}
  .hb-grid{grid-template-columns:1fr}
  .hb-proof{display:none}
}

/* ---------- Area hub ---------- */
.ah-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ah-card{display:flex;flex-direction:column;gap:12px;padding:22px 24px 24px;background:rgba(12,11,16,.7);border:1px solid var(--line);border-radius:18px;transition:border-color .2s,background-color .2s}
.ah-card:hover{border-color:rgba(238,237,243,.34);background:rgba(18,17,24,.82)}
.ah-card h3{margin:0;font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:.02em}
.ah-card h3 a{text-decoration:none;transition:color .2s}
.ah-card:hover h3 a{color:var(--amber)}
.ah-card-meta{display:flex;gap:26px;margin:0;padding-bottom:12px;border-bottom:1px solid rgba(238,237,243,.12)}
.ah-card-meta dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:4px}
.ah-card-meta dd{margin:0;font-size:14px}
.ah-card p{margin:0;font-size:14px;line-height:1.65;color:#c3c0cc}
.ah-unit{padding-top:clamp(40px,4vw,64px)}
@media (max-width:1023px){.ah-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ah-grid{grid-template-columns:1fr}}

/* ---------- Journal ---------- */
.page-journal .site-footer{margin-top:0;background:var(--black)}
.jn-hero{position:relative;background:var(--black);padding:calc(var(--nav-top) + var(--nav-h) + 48px) var(--gutter) clamp(36px,4vw,56px);overflow:hidden}
.jn-hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.24;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent)}
.jn-hero-inner{position:relative;max-width:1240px;margin:0 auto}
.jn-proof{margin-bottom:16px}
.jn-word{margin:0;padding-top:.04em;font-family:var(--display);font-size:min(7vw,120px);line-height:.82;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 22px rgba(0,0,0,.95)) drop-shadow(0 8px 16px rgba(0,0,0,.85))}
.jn-hero h1{margin:12px 0 12px;font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.8vw,26px);letter-spacing:.02em}
.jn-lead{margin:0 0 20px;max-width:64ch;font-size:15px;line-height:1.7;color:#c3c0cc}
.jn-feature{background:var(--black);padding:0 var(--gutter) clamp(40px,4vw,64px)}
.jn-feature-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.jn-feature-shot{display:block;overflow:hidden;border-right:1px solid var(--line)}
.jn-feature-shot img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;transition:scale .4s ease}
.jn-feature-shot:hover img{scale:1.03}
.jn-feature-body{display:flex;flex-direction:column;gap:12px;padding:28px 30px 30px}
.jn-meta{display:flex;align-items:center;gap:14px;margin:0;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.jn-cat{color:var(--amber)}
.jn-feature-body h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.3;letter-spacing:.02em}
.jn-feature-body h2 a,.jn-card h3 a{text-decoration:none;transition:color .2s}
.jn-feature-body h2 a:hover,.jn-card:hover h3 a{color:var(--amber)}
.jn-ex{margin:0;font-size:14.5px;line-height:1.7;color:#c3c0cc}
.jn-date{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.jn-list{background:var(--black);padding:0 var(--gutter) clamp(48px,5vw,80px)}
.jn-list-head{max-width:1240px;margin:0 auto 24px}
.jn-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.jn-card{display:flex;flex-direction:column;background:rgba(12,11,16,.7);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:border-color .2s,background-color .2s}
.jn-card:hover{border-color:rgba(238,237,243,.34);background:rgba(18,17,24,.82)}
.jn-shot{display:block;aspect-ratio:16 / 9;border-bottom:1px solid var(--line)}
.jn-shot .ph{height:100%}
.jn-body{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px;flex:1}
.jn-card h3{margin:0;font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.35;letter-spacing:.02em}
.jn-card .jn-ex{font-size:13.5px}
.jn-card .jn-date{margin-top:auto}
@media (max-width:1023px){
  .jn-feature-inner{grid-template-columns:1fr}
  .jn-feature-shot{border-right:0;border-bottom:1px solid var(--line);aspect-ratio:16 / 9}
  .jn-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .jn-word{font-size:15vw}
  .jn-grid{grid-template-columns:1fr}
  .jn-proof{display:none}
}

/* ---------- Article ---------- */
.page-post .site-footer{margin-top:0;background:var(--black)}
.ps{background:var(--black);padding:calc(var(--nav-top) + var(--nav-h) + 40px) var(--gutter) 0}
.ps-head{max-width:880px;margin:0 auto 26px}
.ps-head .crumbs{justify-content:flex-start;border-bottom:0;padding-bottom:0;margin-bottom:16px}
.ps-head .jn-meta{margin-bottom:14px}
.ps-head h1{margin:0 0 16px;font-family:var(--display);font-weight:400;font-size:clamp(38px,4.4vw,64px);line-height:.95;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);
  text-shadow:0 0 18px rgba(0,0,0,.95),0 0 36px rgba(0,0,0,.85)}
.ps-standfirst{margin:0 0 14px;font-size:17px;line-height:1.65;color:#d5d2dd}
.ps-by{margin:0;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.ps-hero{margin:0 auto 34px;max-width:1240px}
.ps-hero img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:18px}
.ps-hero figcaption{margin-top:10px;font-size:12.5px;color:var(--dim)}
.ps-body{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,1.3fr);gap:56px;align-items:start;padding-bottom:clamp(48px,5vw,80px)}
.ps-toc{position:sticky;top:110px}
.ps-sec{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid rgba(238,237,243,.1)}
.ps-sec h2{margin:0 0 12px;font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:.02em;scroll-margin-top:110px}
.ps-sec p{margin:0 0 14px;font-size:16px;line-height:1.8;color:#c3c0cc;max-width:70ch}
.ps-sec p:last-child{margin-bottom:0}
.ps-sec strong{color:var(--ink);font-weight:400}
.ps-cta{margin-top:30px;padding:24px 26px;background:rgba(12,11,16,.72);border:1px solid var(--line);border-radius:18px}
.ps-cta h2{margin:0 0 10px;font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:.02em}
.ps-cta p{margin:0 0 16px;font-size:14.5px;line-height:1.65;color:#c3c0cc}
.ps-related{padding-top:clamp(40px,4vw,64px);border-top:1px solid rgba(238,237,243,.12)}
@media (max-width:900px){
  .ps-body{grid-template-columns:1fr;gap:26px}
  .ps-toc{position:static}
}

/* ---------- Build your price ---------- */
.pb{position:relative;background:var(--black);padding:clamp(48px,5vw,80px) var(--gutter);overflow:hidden}
.pb-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 75%,transparent)}
.pb-inner{position:relative;max-width:1240px;margin:0 auto}
.pb-head{margin-bottom:26px;text-align:center}
.pb-head .section-sub{justify-content:center}
.pb-head .section-sub::after{content:"";flex:none;width:44px;height:2px;background:var(--amber)}
.pb-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:30px;align-items:start}
.pb-steps{display:flex;flex-direction:column;gap:18px}
.pb-step{margin:0;padding:18px 20px 20px;border:1px solid var(--line);border-radius:18px;background:rgba(12,11,16,.72)}
.pb-step legend{display:flex;align-items:baseline;gap:12px;padding:0 6px;font-family:var(--serif);font-size:17px;letter-spacing:.02em;color:var(--ink)}
.pb-n{font-family:var(--display);font-size:20px;color:var(--amber)}
.pb-opts{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.pb-opt{padding:10px 16px;border:1px solid var(--line);border-radius:40px;background:rgba(9,8,12,.6);color:var(--dim);
  font-family:var(--serif);font-size:13.5px;letter-spacing:.04em;cursor:pointer;transition:border-color .2s,color .2s,background-color .2s}
.pb-opt:hover{border-color:rgba(238,237,243,.4);color:var(--ink)}
.pb-opt[aria-pressed="true"]{background:var(--amber);border-color:var(--amber);color:#17140c}
.pb-out{position:sticky;top:110px;padding:24px 26px 26px;border:1px solid var(--line);border-radius:18px;background:rgba(12,11,16,.82);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.pb-out-label{margin:0 0 8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.pb-out-title{margin:0 0 14px;font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.35;letter-spacing:.02em}
.pb-out-range{display:flex;align-items:baseline;gap:10px;margin:0;font-family:var(--display);font-size:clamp(34px,3.4vw,50px);line-height:1;
  background:linear-gradient(180deg,#ffffff 0%,#eceef2 22%,#b9bbc3 48%,#7f818a 70%,#a9abb3 86%,#cfd0d6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pb-dash{font-family:var(--serif);font-size:.4em}
.pb-out-time{margin:10px 0 16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.pb-out-list{list-style:none;margin:0 0 16px;padding:0;border-top:1.5px solid rgba(238,237,243,.18)}
.pb-out-list li{padding:11px 0;border-bottom:1px solid rgba(238,237,243,.12);font-size:14px;line-height:1.55;color:#c3c0cc}
.pb-out-note{margin:0 0 16px;font-size:12.5px;line-height:1.55;color:var(--dim)}
@media (max-width:1023px){
  .pb-grid{grid-template-columns:1fr}
  .pb-out{position:static}
}

/* ---------- Prices ---------- */
.pr-facts{margin-top:22px}
.page-prices .pr-faq{padding-bottom:clamp(20px,2vw,32px)}
.page-prices .pr-cta{margin-top:-2vw}

.pr-lists{background:var(--black);padding:clamp(40px,4vw,64px) var(--gutter)}
.pr-inner,.pr-factors-inner{max-width:1240px;margin:0 auto}
.pr-head{margin-bottom:24px}
.pr-group{margin:0 0 34px}
.pr-group:last-of-type{margin-bottom:0}
.pr-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding-bottom:12px;margin-bottom:0;border-bottom:1.5px solid rgba(233,162,59,.55)}
.pr-group-head h3{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(26px,2.4vw,36px);line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}
.pr-table{width:100%;border-collapse:collapse;font-size:14.5px}
.pr-table th,.pr-table td{text-align:left;padding:15px 16px;border-bottom:1px solid rgba(238,237,243,.12);vertical-align:top}
.pr-table thead th{font-family:var(--serif);font-weight:400;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);padding-top:16px;padding-bottom:10px;border-bottom:1px solid rgba(238,237,243,.18)}
.pr-table tbody th{font-weight:400;font-size:16px;color:var(--ink);width:26%}
.pr-table td{color:#c3c0cc}
.pr-table td:nth-child(2){color:var(--ink);white-space:nowrap;width:20%}
.pr-table td:nth-child(3){width:14%;white-space:nowrap}
.pr-table tbody tr:hover{background:rgba(18,17,24,.7)}
.pr-factors{background:var(--black);padding:clamp(40px,4vw,64px) var(--gutter)}
.pr-factor-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.pr-factor-list li:nth-child(2n){border-left:1.5px solid rgba(238,237,243,.16)}
.pr-factor-list li:nth-child(n+3){border-top:1.5px solid rgba(238,237,243,.16)}
.pr-faq{padding-top:clamp(40px,4vw,64px)}
@media (max-width:900px){
  .pr-table{font-size:13.5px}
  .pr-table th,.pr-table td{padding:12px 10px}
  .pr-table tbody th{width:auto}
  .pr-factor-list{grid-template-columns:1fr}
  .pr-factor-list li:nth-child(2n){border-left:0}
}
@media (max-width:640px){
  .pr-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .pr-table tbody tr{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid rgba(238,237,243,.12)}
  .pr-table th,.pr-table td{border-bottom:0;padding:0}
  .pr-table td:nth-child(2){color:var(--amber)}
}

/* ---------- Headings: flat off-white with the dark glow ---------- */
.section-title,.panel-title,.unit-card h3,.quote.closing-card h2.panel-title{
  background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:var(--ink);
  filter:none;text-shadow:0 0 18px rgba(0,0,0,.95),0 0 36px rgba(0,0,0,.85),0 4px 10px rgba(0,0,0,.8)}

/* ---------- Phone action bar ---------- */
.action-bar{display:none}
@media (max-width:760px){
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}
  .action-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;
    padding-bottom:env(safe-area-inset-bottom,0px);background:var(--glass-strong);border-top:1px solid var(--line);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .action-bar a{display:flex;align-items:center;justify-content:center;height:60px;text-decoration:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
  .action-bar .bar-quote{background:var(--amber);color:var(--amber-ink)}
}

@media (prefers-reduced-motion:reduce){
  .frame .lit{display:block}
  .hero .name{animation:none;opacity:1}
}

/* a fitted photograph fills its slot and is cropped to it; the slot's own size and
   positioning are untouched — only a static box is given a positioning context */
.fitted-host{position:relative}
picture.fitted{position:absolute;inset:0;display:block}
img.fitted, picture.fitted img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;max-width:none;max-height:none}
