/* base reset (the artifact viewer supplied these; a normal host does not) */
html,body{margin:0;padding:0}
[hidden]{display:none!important}
.phero-aside,.policy,.form,.steps3 li,.voices figure,.note-q,.draft{box-sizing:border-box}

:root{
  --bg:#FFFFFF; --wash:#FFF3EB; --wash-2:#FFE4D3;
  --ink:#1C1419; --ink-2:#5A4852; --line:#EEDCD1;
  --peach:#FF8F5A; --peach-deep:#F26A2E; --accent-ink:#B4481A;
  --dark:#23101D; --dark-2:#361A2E; --on-dark:#FFF3EC; --on-dark-2:#D9C2CD;
  --card:#FFFFFF;
  --logo-ink-show:block; --logo-cream-show:none;
  --f-display:"Bricolage Grotesque","Avenir Next Condensed","Arial Narrow",system-ui,sans-serif;
  --f-serif:"Instrument Serif","Iowan Old Style",Georgia,serif;
  --f-body:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",Verdana,system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --gutter:clamp(16px,4vw,48px); --max:1320px;
  --sh-1:0 1px 2px rgba(35,16,29,.06),0 3px 8px rgba(35,16,29,.06);
  --sh-2:0 14px 36px -12px rgba(35,16,29,.28),0 4px 10px rgba(35,16,29,.08);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#140D12; --wash:#1E141A; --wash-2:#2A1B23; --ink:#FBEFE8; --ink-2:#CDB9C3; --line:#3A2A33;
    --accent-ink:#FF9E6E; --dark:#0E080C; --dark-2:#1E1119; --card:#221820;
    --logo-ink-show:none; --logo-cream-show:block;
    --sh-1:0 1px 2px rgba(0,0,0,.4); --sh-2:0 14px 36px -12px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#140D12; --wash:#1E141A; --wash-2:#2A1B23; --ink:#FBEFE8; --ink-2:#CDB9C3; --line:#3A2A33;
  --accent-ink:#FF9E6E; --dark:#0E080C; --dark-2:#1E1119; --card:#221820;
  --logo-ink-show:none; --logo-cream-show:block;
  --sh-1:0 1px 2px rgba(0,0,0,.4); --sh-2:0 14px 36px -12px rgba(0,0,0,.7);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html[data-size="lg"]{font-size:112.5%} html[data-size="xl"]{font-size:125%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1.125rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--peach);color:#1C1419}
img,video{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--peach);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--f-display);font-weight:760;margin:0;letter-spacing:-.018em;line-height:1;text-wrap:balance;font-variation-settings:"wdth" 84}
p{margin:0}
em.s{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-variation-settings:normal}
.wrap{width:min(var(--max),100% - 2*var(--gutter));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:10px;z-index:200;background:var(--peach);color:#1C1419;padding:10px 16px;border-radius:10px;font-weight:700}
.skip:focus{left:16px}
.tag{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}
.h-xl{font-size:clamp(2.6rem,6.4vw,6rem)}
.h-l{font-size:clamp(2.2rem,4.8vw,4.4rem)}
.lead{font-size:clamp(1.125rem,1.5vw,1.3rem);color:var(--ink-2);max-width:34em;line-height:1.55}

/* buttons */
.btn{--b:var(--ink);--t:var(--bg);display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:54px;padding:.85em 1.45em;border-radius:999px;background:var(--b);color:var(--t);font:700 1.0625rem/1 var(--f-body);letter-spacing:.01em;text-decoration:none;border:0;cursor:pointer;transition:transform .3s var(--spring),box-shadow .3s,background-color .2s}
.btn:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.btn .ar{transition:transform .3s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.btn-peach{--b:var(--peach);--t:#1C1419}
.btn-peach:hover{--b:#FFA273}
.btn-glass{--b:rgba(255,255,255,.14);--t:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.btn-glass:hover{--b:rgba(255,255,255,.24)}
.btn-line{--b:transparent;--t:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-sm{min-height:46px;font-size:1rem;padding:.7em 1.15em}
.play-i{width:28px;height:28px;border-radius:50%;background:#fff;color:#1C1419;display:grid;place-items:center;margin-left:-.4em}

/* header */
.head{position:fixed;left:0;right:0;top:0;z-index:90;padding-top:env(safe-area-inset-top,0px);color:#fff;transition:background-color .35s,color .35s,box-shadow .35s}
.head .wrap{display:flex;align-items:center;gap:18px;min-height:88px;transition:min-height .35s var(--ease)}
.head.solid{background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.head.solid .wrap{min-height:72px}
.brand{display:block;text-decoration:none;flex:none}
.brand img{height:64px;width:auto;transition:height .35s var(--ease)}
.head.solid .brand img{height:54px}
.brand .lg-cream{display:block}.brand .lg-ink{display:none}
.head.solid .brand .lg-cream{display:var(--logo-cream-show)}
.head.solid .brand .lg-ink{display:var(--logo-ink-show)}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav a{text-decoration:none;font-weight:500;font-size:1rem;padding:.55em .85em;border-radius:999px;transition:background-color .2s}
.nav a:hover{background:rgba(255,255,255,.14)}
.head.solid .nav a:hover{background:var(--wash)}
.head-cta{display:flex;align-items:center;gap:8px}
.head .btn{min-height:46px;font-size:1rem;padding:.7em 1.15em}
.head:not(.solid) .btn-ink{--b:#fff;--t:#1C1419}
.head.solid .btn-ink{--b:var(--ink);--t:var(--bg)}
.menu-btn{display:none;height:46px;padding:0 16px;border-radius:999px;border:0;font:700 1rem/1 var(--f-body);background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor;cursor:pointer;align-items:center;gap:8px}
@media (max-width:1080px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  .head-cta{margin-left:auto}
}
@media (max-width:560px){.head .call-top{display:none}.brand img{height:54px}}
.drawer{position:fixed;inset:0;z-index:120;background:var(--dark);color:var(--on-dark);padding:calc(24px + env(safe-area-inset-top,0px)) var(--gutter) calc(32px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.drawer[hidden]{display:none!important}
.drawer .x{align-self:flex-end;height:46px;padding:0 18px;border-radius:999px;border:0;background:rgba(255,255,255,.1);color:#fff;font:700 1rem var(--f-body);cursor:pointer}
.drawer a.big{font-family:var(--f-display);font-weight:800;font-variation-settings:"wdth" 80;font-size:clamp(2.2rem,9vw,3.4rem);letter-spacing:-.03em;line-height:1.1;text-decoration:none;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.drawer .btn{margin-top:22px}

/* hero */
.hero{position:relative;min-height:min(94svh,940px);min-height:max(620px,min(94svh,940px));color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:#23101D;isolation:isolate}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(20,8,16,.55) 0%,rgba(20,8,16,0) 22%),
  linear-gradient(90deg,rgba(20,8,16,.78) 0%,rgba(20,8,16,.35) 55%,rgba(20,8,16,.05) 100%),
  linear-gradient(0deg,rgba(20,8,16,.85) 0%,rgba(20,8,16,0) 55%)}
.hero-inner{width:min(var(--max),100% - 2*var(--gutter));margin-inline:auto;padding-block:150px clamp(28px,4vw,48px)}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;font-size:.875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px 9px 10px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--peach);box-shadow:0 0 0 0 rgba(255,143,90,.7);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,143,90,0)}100%{box-shadow:0 0 0 0 rgba(255,143,90,0)}}
.hero h1{font-size:clamp(3.2rem,9.4vw,9.2rem);font-weight:720;line-height:.9;letter-spacing:-.022em;margin-top:22px;font-variation-settings:"wdth" 80,"opsz" 96;max-width:11ch}
.hero h1 em.s{color:var(--peach);font-size:1.08em;letter-spacing:-.02em;padding-right:.05em}
.hero-sub{margin-top:24px;font-size:clamp(1.125rem,1.7vw,1.375rem);max-width:30em;color:rgba(255,255,255,.88);line-height:1.5}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:clamp(40px,6vw,72px);padding-top:18px;border-top:1px solid rgba(255,255,255,.22)}
.quick{display:flex;flex-wrap:wrap;gap:6px 26px}
.quick a{font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;opacity:.9}
.quick a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.quick a span{color:var(--peach)}
.vctl{display:flex;align-items:center;gap:12px;font-size:.875rem;color:rgba(255,255,255,.75)}
.vbtn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:999px;border:0;background:rgba(255,255,255,.14);color:#fff;font:700 .875rem var(--f-body);cursor:pointer}
.vbtn:hover{background:rgba(255,255,255,.24)}
@keyframes up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.js .hero-kicker,.js .hero h1,.js .hero-sub,.js .hero-actions,.js .hero-foot{animation:up 1s var(--ease) both}
.js .hero h1{animation-delay:.08s}.js .hero-sub{animation-delay:.18s}.js .hero-actions{animation-delay:.26s}.js .hero-foot{animation-delay:.36s}
@media (max-width:640px){.hero-inner{padding-top:120px}.vctl .cap{display:none}}

/* statement */
.statement{padding-block:clamp(72px,10vw,150px) clamp(56px,7vw,96px)}
.statement p.big{font-family:var(--f-display);font-weight:620;font-variation-settings:"wdth" 88,"opsz" 60;font-size:clamp(1.9rem,4.3vw,4.1rem);line-height:1.12;letter-spacing:-.018em;max-width:24ch;text-wrap:pretty}
.statement p.big .mute{color:color-mix(in srgb,var(--ink) 38%,var(--bg))}
.pill{display:inline-block;height:.86em;width:1.75em;border-radius:999px;vertical-align:-.1em;margin-inline:.06em;overflow:hidden;box-shadow:var(--sh-1);transform:rotate(-3deg)}
.pill:nth-of-type(even){transform:rotate(3deg)}
.pill img{width:100%;height:100%;object-fit:cover}
.facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(48px,6vw,80px);border-top:1.5px solid var(--ink)}
.facts div{padding:20px 20px 0 0}
.facts div+div{padding-left:20px;border-left:1px solid var(--line)}
.facts b{display:block;font-family:var(--f-display);font-weight:760;font-variation-settings:"wdth" 82;font-size:clamp(1.9rem,3.2vw,2.8rem);letter-spacing:-.02em;line-height:1}
.facts span{display:block;margin-top:8px;color:var(--ink-2);font-size:1rem;line-height:1.4}
@media (max-width:820px){.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(3){padding-left:0;border-left:0}.facts div:nth-child(n+3){margin-top:18px}}

/* services panels */
.services{padding-bottom:clamp(80px,10vw,150px)}
.sec-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 48px;margin-bottom:clamp(28px,4vw,48px)}
.sec-top .lead{max-width:26em}
.panels{display:flex;gap:14px;height:clamp(520px,68vh,680px)}
.panel{position:relative;flex:1;min-width:0;border-radius:30px;overflow:hidden;color:#fff;isolation:isolate;transition:flex-grow .7s var(--ease);cursor:pointer;background:#23101D}
.panel.on{flex-grow:2.15}
.panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}
.panel.on>img{transform:scale(1.03)}
.panel::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,8,16,.92) 0%,rgba(20,8,16,.55) 42%,rgba(20,8,16,.05) 75%)}
.panel-body{position:absolute;left:0;right:0;bottom:0;padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:12px}
.panel .k{font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--peach)}
.panel h3{font-size:clamp(2rem,3.4vw,3.2rem);letter-spacing:-.02em;font-variation-settings:"wdth" 80}
.panel p{color:rgba(255,255,255,.86);max-width:26em;font-size:1.0625rem}
.more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease),opacity .4s;opacity:0}
.panel.on .more{grid-template-rows:1fr;opacity:1}
.more>div{overflow:hidden}
.more ul{list-style:none;padding:0;margin:4px 0 18px;display:flex;flex-wrap:wrap;gap:8px}
.more li{font-size:.9375rem;font-weight:700;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.panel .go{align-self:flex-start}
.panel .open-i{position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;transition:transform .5s var(--ease),background-color .3s}
.panel.on .open-i{transform:rotate(45deg);background:var(--peach);color:#1C1419}
@media (max-width:860px){
  .panels{flex-direction:column;height:auto}
  .panel{min-height:480px;flex:none}
  .more{grid-template-rows:1fr;opacity:1}
  .panel .open-i{display:none}
}

/* ADT */
.adt{background:var(--wash);padding-block:clamp(80px,10vw,150px)}
.adt-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(36px,6vw,96px);align-items:center}
.adt h2{margin-top:16px}
.adt .lead{margin-top:22px}
.skills{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:22px 30px}
.skills li{border-top:1.5px solid var(--ink);padding-top:12px}
.skills b{display:block;font-family:var(--f-display);font-weight:750;font-size:1.3rem;letter-spacing:-.015em;font-variation-settings:"wdth" 90}
.skills span{color:var(--ink-2);font-size:1rem}
.adt-pics{position:relative;padding:0 0 12% 0}
.adt-pics .p1{width:88%;border-radius:30px;aspect-ratio:4/3.2;object-fit:cover;box-shadow:var(--sh-2)}
.adt-pics .p2{position:absolute;right:0;bottom:0;width:48%;aspect-ratio:16/10;object-fit:cover;border-radius:22px;border:6px solid var(--wash);box-shadow:var(--sh-2);transform:rotate(3deg)}
.adt-pics .note{position:absolute;left:-14px;top:8%;background:var(--dark);color:var(--on-dark);padding:14px 18px;border-radius:16px;font-size:.9375rem;line-height:1.35;max-width:220px;transform:rotate(-3deg);box-shadow:var(--sh-2)}
.adt-pics .note b{display:block;font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.01em}
.centers{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(60px,8vw,110px);border-top:1.5px solid var(--ink)}
.center{padding:28px 32px 0 0;display:flex;flex-direction:column;gap:10px}
.center+.center{padding-left:32px;border-left:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}
.center .city{display:flex;align-items:center;gap:10px}
.center .city i{font-style:normal;font-size:.8125rem;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--wash-2);color:var(--ink);letter-spacing:.02em;text-transform:none}
.center h3{font-size:clamp(2rem,3.6vw,3.2rem);font-variation-settings:"wdth" 80}
.center address{font-style:normal;font-size:clamp(1.2rem,1.6vw,1.45rem);line-height:1.4}
.center-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
@media (max-width:900px){.adt-grid{grid-template-columns:1fr}.adt-pics{max-width:620px}.centers{grid-template-columns:1fr}.center+.center{padding-left:0;border-left:0;margin-top:28px;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.adt-pics .note{left:10px}}
@media (max-width:520px){.skills{grid-template-columns:1fr}}

/* mosaic */
.life{padding-block:clamp(80px,10vw,140px) 0}
.mosaic{display:grid;gap:10px;padding-inline:10px;margin-top:clamp(28px,4vw,48px);grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(130px,11.5vw,230px);grid-template-areas:
  "a a b b c d"
  "a a e f c d"
  "g h e f i i"
  "g h j j i i"}
.mosaic figure{margin:0;position:relative;overflow:hidden;border-radius:18px;background:var(--wash-2)}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.mosaic figure:hover img{transform:scale(1.05)}
.mosaic figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);color:#1C1419;font-size:.8125rem;font-weight:700;padding:6px 11px;border-radius:999px;transform:translateY(6px);opacity:.0;transition:opacity .35s,transform .45s var(--ease)}
.mosaic figure:hover figcaption,.mosaic figure:focus-within figcaption{opacity:1;transform:none}
@media (hover:none){.mosaic figcaption{opacity:1;transform:none}}
.m-a{grid-area:a}.m-b{grid-area:b}.m-c{grid-area:c}.m-d{grid-area:d}.m-e{grid-area:e}.m-f{grid-area:f}.m-g{grid-area:g}.m-h{grid-area:h}.m-i{grid-area:i}.m-j{grid-area:j}
@media (max-width:760px){
  .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:170px;grid-template-areas:"a a" "a a" "b c" "d c" "d e" "f e" "i i" "i i" "g h" "g h" "j j"}
}

/* group homes */
.homes{background:var(--dark);color:var(--on-dark);padding-block:clamp(80px,10vw,150px);margin-top:clamp(80px,10vw,140px)}
.homes-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,6vw,96px);align-items:center}
.homes-pic{position:relative}
.homes-pic img{border-radius:30px;width:100%;aspect-ratio:4/4.3;object-fit:cover}
.homes-pic .ring{position:absolute;inset:-18px 18px 18px -18px;border:2px solid var(--peach);border-radius:36px;pointer-events:none}
.homes .tag{color:var(--peach)}
.homes h2{margin-top:16px;color:var(--on-dark)}
.homes .lead{color:var(--on-dark-2);margin-top:22px}
.policy{display:flex;gap:16px;align-items:flex-start;margin-top:30px;padding:22px 24px;border-radius:22px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.policy svg{flex:none;color:var(--peach);margin-top:2px}
.policy b{display:block;font-family:var(--f-display);font-size:1.3rem;letter-spacing:-.015em;margin-bottom:4px;font-variation-settings:"wdth" 88}
.policy p{color:var(--on-dark-2);font-size:1rem}
.hfacts{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}
.hfacts li{display:flex;gap:10px;align-items:baseline;font-weight:500}
.hfacts li::before{content:"";flex:none;width:10px;height:10px;border-radius:50% 50% 50% 0;background:var(--peach);transform:rotate(-45deg) translateY(-2px)}
.homes .btn{margin-top:32px}
@media (max-width:900px){.homes-grid{grid-template-columns:1fr}.homes-pic{max-width:560px}}
@media (max-width:520px){.hfacts{grid-template-columns:1fr}}

/* story */
.story{padding-block:clamp(80px,10vw,150px)}
.quote-hero{font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:clamp(2.4rem,6.6vw,6.4rem);line-height:1;letter-spacing:-.02em;max-width:16ch;margin-top:18px}
.quote-hero .q{color:var(--peach-deep)}
.story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(36px,6vw,96px);margin-top:clamp(40px,5vw,72px);align-items:start}
.story-grid .txt{display:grid;gap:18px;color:var(--ink-2)}
.story-grid .txt strong{color:var(--ink)}
.values{list-style:none;padding:0;margin:0;display:grid}
.values li{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;align-items:baseline;padding:20px 0;border-top:1px solid var(--line)}
.values li:last-child{border-bottom:1px solid var(--line)}
.values b{font-family:var(--f-display);font-weight:760;font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.02em;font-variation-settings:"wdth" 80;min-width:5.6em}
.values span{color:var(--ink-2);font-size:1.0625rem}
.story-head{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.story-head img{width:clamp(160px,20vw,280px);aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 26px 26px;box-shadow:var(--sh-2);transform:rotate(3deg)}
@media (max-width:900px){.story-grid{grid-template-columns:1fr}}
@media (max-width:640px){.story-head{grid-template-columns:1fr}.story-head img{width:180px}.values li{grid-template-columns:1fr}}

/* team */
.team{background:var(--wash);padding-block:clamp(80px,10vw,150px)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,22px)}
.person{position:relative;display:flex;flex-direction:column;gap:12px}
.person .ph{border-radius:24px;overflow:hidden;aspect-ratio:4/4.6;background:var(--wash-2)}
.person img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform .8s var(--ease)}
.person:hover img{transform:scale(1.04)}
.person h3{font-size:clamp(1.35rem,1.8vw,1.7rem);letter-spacing:-.02em;font-variation-settings:"wdth" 88}
.person .role{font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);margin-top:-4px}
.person .hear{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.9375rem;text-decoration:none}
.person .hear i{width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-style:normal;font-size:.7rem;transition:transform .3s var(--spring)}
.person .hear:hover i{transform:scale(1.15)}
.person.lead{grid-column:span 2;grid-row:span 2}
.person.lead .ph{aspect-ratio:auto;flex:1;min-height:420px;position:relative}
.person.lead .ph>img{position:absolute;inset:0;object-position:50% 18%}
.person.lead .cap{position:absolute;left:0;right:0;bottom:0;padding:26px;color:#fff;background:linear-gradient(0deg,rgba(20,8,16,.88),rgba(20,8,16,0));border-radius:0 0 24px 24px}
.person.lead h3{font-size:clamp(2rem,3.4vw,3rem);color:#fff}
.person.lead .role{color:var(--peach);margin:6px 0 10px}
.person.lead p{color:rgba(255,255,255,.85);max-width:30em;font-size:1rem;margin-bottom:14px}
.person.lead .hear i{background:var(--peach);color:#1C1419}
@media (max-width:980px){.team-grid{grid-template-columns:1fr 1fr}.person.lead{grid-column:1/-1;grid-row:auto}.person.lead .ph{min-height:0;aspect-ratio:4/4.2}}

/* families */
.families{background:var(--peach);color:#1C1419;padding-block:clamp(80px,10vw,150px);position:relative;overflow:hidden}
.families .tag{color:#1C1419}
.families .qmark{position:absolute;right:3%;top:-.08em;font-family:var(--f-serif);font-size:clamp(14rem,30vw,30rem);line-height:1;color:rgba(28,20,25,.1);pointer-events:none}
.fam-q{font-family:var(--f-display);font-weight:620;font-variation-settings:"wdth" 88,"opsz" 60;font-size:clamp(1.8rem,3.6vw,3.3rem);line-height:1.12;letter-spacing:-.018em;max-width:34ch;margin-top:22px;position:relative}
.fam-q em.s{font-size:1.05em}
.who{display:flex;align-items:center;gap:14px;margin-top:28px;position:relative}
.who i{width:50px;height:50px;border-radius:50%;background:#1C1419;color:var(--peach);display:grid;place-items:center;font-style:normal;font-family:var(--f-display);font-weight:800}
.who b{display:block}
.who span{font-size:.9375rem;opacity:.75}
.fam-2{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:start;padding-top:28px;border-top:1.5px solid rgba(28,20,25,.35);position:relative}
.fam-2 blockquote{margin:0;font-size:clamp(1.125rem,1.6vw,1.35rem);line-height:1.5}
@media (max-width:760px){.fam-2{grid-template-columns:1fr}}

/* careers */
.careers{padding-block:clamp(80px,10vw,150px)}
.careers-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(36px,6vw,96px);align-items:start}
.careers h2{margin-top:16px}
.careers .lead{margin-top:20px}
.roles{list-style:none;padding:0;margin:30px 0 0}
.roles li{border-top:1px solid var(--line)}
.roles li:last-child{border-bottom:1px solid var(--line)}
.roles a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:18px 4px;text-decoration:none;transition:padding .35s var(--ease),background-color .25s}
.roles a:hover{padding-left:14px;background:var(--wash)}
.roles b{font-family:var(--f-display);font-weight:750;font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.02em;font-variation-settings:"wdth" 88}
.roles span{grid-column:1;color:var(--ink-2);font-size:1rem}
.roles .ar{grid-row:1/span 2;grid-column:2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line);transition:background-color .25s,transform .35s var(--ease)}
.roles a:hover .ar{background:var(--peach);box-shadow:none;transform:rotate(-45deg)}
.perks{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.perks span{padding:8px 14px;border-radius:999px;background:var(--wash);font-weight:700;font-size:.9375rem}
.notes{display:grid;gap:18px;padding-top:12px}
.note-q{margin:0;padding:24px 26px;border-radius:22px;background:var(--wash);box-shadow:var(--sh-1)}
.note-q:nth-child(1){transform:rotate(-1.5deg)}
.note-q:nth-child(2){transform:rotate(1.2deg);margin-left:clamp(0px,4vw,56px);background:var(--dark);color:var(--on-dark)}
.note-q:nth-child(3){transform:rotate(-.8deg)}
.note-q blockquote{margin:0;font-size:1.0625rem;line-height:1.55}
.note-q figcaption{margin-top:12px;font-weight:700;font-size:.9375rem}
.note-q figcaption span{opacity:.7;font-weight:500}
@media (max-width:900px){.careers-grid{grid-template-columns:1fr}}

/* faq */
.faq{background:var(--wash);padding-block:clamp(72px,9vw,130px)}
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,96px);align-items:start}
.faq h2{margin-top:16px}
.faq .lead{margin-top:18px}
.faq-list{border-top:1.5px solid var(--ink)}
.faq details{border-bottom:1px solid color-mix(in srgb,var(--ink) 16%,transparent)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0;font-family:var(--f-display);font-weight:700;font-size:clamp(1.2rem,1.9vw,1.5rem);letter-spacing:-.015em;font-variation-settings:"wdth" 90}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:1.3rem;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 25%,transparent);transition:transform .4s var(--ease),background-color .25s}
.faq details[open] summary i{transform:rotate(45deg);background:var(--peach);box-shadow:none;color:#1C1419}
.faq details p{padding:0 0 24px;color:var(--ink-2);max-width:40em}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* contact */
.contact{background:var(--dark);color:var(--on-dark);padding-block:clamp(80px,10vw,150px)}
.contact .tag{color:var(--peach)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,96px);align-items:start}
.contact h2{margin-top:16px;color:var(--on-dark)}
.phone-big{display:block;margin-top:clamp(28px,4vw,48px);font-family:var(--f-display);font-weight:760;font-variation-settings:"wdth" 78;font-size:clamp(2.8rem,7.4vw,6.6rem);letter-spacing:-.04em;line-height:.95;color:var(--peach);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.phone-big:hover{color:#FFB08A}
.mail-big{display:inline-block;margin-top:14px;font-size:clamp(1.2rem,2.2vw,1.75rem);font-weight:700;text-decoration:none;border-bottom:2px solid rgba(255,255,255,.3);word-break:break-word}
.mail-big:hover{border-color:var(--peach)}
.copyrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.copy{height:40px;padding:0 14px;border-radius:999px;border:0;background:rgba(255,255,255,.1);color:var(--on-dark);font:700 .875rem var(--f-body);cursor:pointer}
.copy:hover{background:rgba(255,255,255,.18)}
.addrs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:clamp(36px,5vw,56px);padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font-size:1rem;color:var(--on-dark-2)}
.addrs b{display:block;color:var(--on-dark);font-size:1.0625rem}
.addrs a{color:var(--peach);font-weight:700;text-decoration:none;font-size:.9375rem}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:480px){.addrs{grid-template-columns:1fr}.phone-big{white-space:normal}}

/* form */
.form{background:var(--card);color:var(--ink);border-radius:30px;padding:clamp(22px,3.4vw,44px);box-shadow:0 30px 60px -24px rgba(0,0,0,.5)}
.form h3{font-size:clamp(1.7rem,2.6vw,2.3rem);font-variation-settings:"wdth" 85}
.form>p{color:var(--ink-2);margin:8px 0 24px;font-size:1rem}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fg .full{grid-column:1/-1}
@media (max-width:600px){.fg{grid-template-columns:1fr}}
.f{display:flex;flex-direction:column;gap:7px;min-width:0}
.f label,.f legend{font-weight:700;font-size:1rem;padding:0}
.f .opt{font-weight:400;color:var(--ink-2);font-size:.875rem}
input,select,textarea{font:inherit;font-size:1.0625rem;color:var(--ink);background:var(--wash);border:1.5px solid transparent;border-radius:14px;padding:.85em 1em;min-height:54px;width:100%;box-sizing:border-box;transition:border-color .2s,box-shadow .2s,background-color .2s}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--peach-deep);background:var(--card);box-shadow:0 0 0 4px color-mix(in srgb,var(--peach) 30%,transparent)}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--ink-2) 70%,transparent)}
[aria-invalid="true"]{border-color:#C2410C!important}
fieldset{border:0;margin:0;padding:0;min-width:0}
.topic-box{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px;border-radius:18px;background:var(--wash);grid-column:1/-1}
.topic-box[hidden]{display:none!important}
.topic-box .full{grid-column:1/-1}
.topic-box input,.topic-box select{background:var(--card)}
@media (max-width:600px){.topic-box{grid-template-columns:1fr}}
.private{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:.9375rem;color:var(--ink-2)}
.private svg{flex:none;color:var(--accent-ink);margin-top:3px}
.days{display:flex;flex-wrap:wrap;gap:8px}
.days label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:500;cursor:pointer}
.days input{width:18px;height:18px;min-height:0;accent-color:var(--peach-deep);margin:0}
.days label:has(input:checked){box-shadow:inset 0 0 0 2px var(--peach-deep)}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:22px}
.form-foot small{color:var(--ink-2);font-size:.875rem;max-width:22em}
.sent{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.sent .tick{width:60px;height:60px;border-radius:50%;background:var(--peach);color:#1C1419;display:grid;place-items:center;animation:pop .6s var(--spring) both}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.sent h3{font-size:2rem}
.sent p{color:var(--ink-2)}
.sent .flag{font-size:.875rem;padding:10px 12px;border-radius:12px;background:var(--wash);border:1px dashed var(--line)}

/* footer */
.foot{background:#120A10;color:var(--on-dark);padding-block:clamp(56px,7vw,96px) 30px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.foot img{height:92px;width:auto}
.foot p{color:var(--on-dark-2);font-size:1rem;margin-top:14px;max-width:22em}
.foot h4{margin:0 0 14px;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--peach)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:1rem}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline;text-underline-offset:3px}
.foot address{font-style:normal;color:var(--on-dark-2);line-height:1.5}
.foot address b{display:block;color:var(--on-dark)}
.wordmark{font-family:var(--f-display);font-weight:760;font-variation-settings:"wdth" 78;font-size:clamp(3rem,12.6vw,12.4rem);letter-spacing:-.03em;line-height:.8;margin-top:clamp(48px,7vw,96px);color:transparent;-webkit-text-stroke:1.5px rgba(255,243,236,.22);white-space:nowrap;overflow:hidden;user-select:none}
.wordmark em.s{-webkit-text-stroke:0;color:var(--peach);font-size:1.02em}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.875rem;color:var(--on-dark-2)}
@media (max-width:900px){.foot-top{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-top{grid-template-columns:1fr}}

.callbar{display:none}
@media (max-width:720px){
  .callbar{display:grid;grid-template-columns:1.5fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:95;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 -1px 0 var(--line)}
  .callbar .btn{min-height:52px;font-size:1rem;padding:.6em .8em}
  .foot{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));translate:-50% 0;z-index:130;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:12px;font-weight:700;font-size:.9375rem;box-shadow:var(--sh-2)}
@media (max-width:720px){.toast{bottom:calc(92px + env(safe-area-inset-bottom,0px))}}

/* ===== multi-page additions ===== */
.nav a[aria-current="page"]{background:rgba(255,255,255,.16)}
.head.solid .nav a[aria-current="page"]{background:var(--wash-2)}
.drawer a.big[aria-current="page"]{color:var(--peach)}

/* footer text size control */
.textsize{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.textsize span{color:var(--on-dark-2)}
.textsize button{font:700 .875rem/1 var(--f-body);height:34px;padding:0 12px;border-radius:999px;border:0;cursor:pointer;background:rgba(255,255,255,.08);color:var(--on-dark)}
.textsize button:hover{background:rgba(255,255,255,.16)}
.textsize button[aria-pressed="true"]{background:var(--peach);color:#1C1419}

/* page hero */
.phero{position:relative;min-height:max(560px,min(80svh,820px));color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:#23101D;isolation:isolate}
.phero.short{min-height:max(460px,min(58svh,600px))}
.phero>.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(20,8,16,.6) 0%,rgba(20,8,16,0) 26%),
  linear-gradient(90deg,rgba(20,8,16,.82) 0%,rgba(20,8,16,.4) 55%,rgba(20,8,16,.08) 100%),
  linear-gradient(0deg,rgba(20,8,16,.85) 0%,rgba(20,8,16,0) 58%)}
.phero-inner{width:min(var(--max),100% - 2*var(--gutter));margin-inline:auto;padding-block:150px clamp(36px,5vw,64px);display:grid;grid-template-columns:1fr auto;gap:28px 48px;align-items:end}
.phero h1{font-size:clamp(3rem,8vw,7.4rem);font-weight:720;line-height:.92;letter-spacing:-.022em;margin-top:20px;font-variation-settings:"wdth" 80,"opsz" 96;max-width:12ch}
.phero h1 em.s{color:var(--peach);font-size:1.06em;padding-right:.05em}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.crumbs a{text-decoration:none;color:#fff}
.crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.crumbs .sep{color:var(--peach)}
.js .crumbs,.js .phero h1,.js .phero .hero-sub,.js .phero .hero-actions,.js .phero-aside{animation:up 1s var(--ease) both}
.js .phero h1{animation-delay:.08s}.js .phero .hero-sub{animation-delay:.16s}.js .phero .hero-actions{animation-delay:.24s}.js .phero-aside{animation-delay:.34s}
.phero-aside{align-self:end;width:min(340px,100%);padding:20px 22px;border-radius:22px;background:rgba(20,8,16,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);display:grid;gap:12px;font-size:.9375rem}
.phero-aside h2{font-family:var(--f-body);font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--peach);font-variation-settings:normal}
.phero-aside .row{display:grid;gap:2px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}
.phero-aside .row:first-of-type{border-top:0;padding-top:0}
.phero-aside b{font-size:1.0625rem}
.phero-aside span{color:rgba(255,255,255,.78)}
.phero-aside a{color:var(--peach);font-weight:700;text-decoration:none}
.phero-aside a:hover{text-decoration:underline}
.lockchip{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1rem}
.lockchip svg{color:var(--peach)}
@media (max-width:900px){.phero-inner{grid-template-columns:1fr}.phero-aside{width:100%;max-width:460px}}
@media (max-width:640px){.phero-inner{padding-top:120px}}

/* split hero (portrait photos) */
.phero.split{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;background:var(--dark)}
.phero.split::before{display:none}
.phero.split .ph-copy{display:flex;align-items:flex-end;padding:150px clamp(24px,5vw,72px) clamp(40px,5vw,72px) max(var(--gutter),calc((100vw - var(--max)) / 2))}
.phero.split .ph-copy>div{max-width:620px}
.phero.split .ph-pic{position:relative;min-height:520px}
.phero.split .ph-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.phero.split .ph-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,8,16,.55) 0%,rgba(20,8,16,0) 30%),linear-gradient(90deg,var(--dark) 0%,rgba(35,16,29,0) 30%)}
@media (max-width:900px){.phero.split{grid-template-columns:1fr}.phero.split .ph-pic{order:-1;min-height:380px}.phero.split .ph-pic::after{background:linear-gradient(180deg,rgba(20,8,16,.6) 0%,rgba(20,8,16,0) 40%,var(--dark) 100%)}.phero.split .ph-copy{padding:8px var(--gutter) 48px}}

/* generic section rhythm */
.sec{padding-block:clamp(80px,10vw,140px)}
.sec.tight{padding-block:clamp(56px,7vw,96px)}
.sec.wash{background:var(--wash)}
.sec.dark{background:var(--dark);color:var(--on-dark)}
.sec.dark .tag{color:var(--peach)}
.sec.dark .lead{color:var(--on-dark-2)}
.sec.dark h2,.sec.dark h3{color:var(--on-dark)}
.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.intro .big{font-family:var(--f-display);font-weight:620;font-variation-settings:"wdth" 88,"opsz" 60;font-size:clamp(1.8rem,3.4vw,3.1rem);line-height:1.12;letter-spacing:-.018em;text-wrap:balance}
.intro .big em.s{color:var(--peach-deep)}
.intro .body{display:grid;gap:18px;color:var(--ink-2);font-size:1.125rem;padding-top:10px}
.intro .body strong{color:var(--ink)}
@media (max-width:900px){.intro{grid-template-columns:1fr}}

/* feature rows: big type + photo */
.features{list-style:none;padding:0;margin:clamp(40px,5vw,64px) 0 0;display:grid;border-top:1.5px solid var(--ink)}
.features li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) 180px;gap:24px 40px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
.features h3{font-size:clamp(1.8rem,3.4vw,3rem);font-variation-settings:"wdth" 80}
.features p{color:var(--ink-2);font-size:1.125rem;max-width:30em}
.features img{width:180px;height:120px;object-fit:cover;border-radius:16px;transition:transform .6s var(--ease)}
.features li:hover img{transform:scale(1.05) rotate(-2deg)}
@media (max-width:820px){.features li{grid-template-columns:1fr auto}.features li p{grid-column:1/-1;grid-row:2}.features img{width:112px;height:84px}}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(var(--n,3),1fr);border-top:1.5px solid currentColor;margin-top:clamp(36px,5vw,56px)}
.pillars>div{padding:24px 26px 6px 0}
.pillars>div+div{padding-left:26px;border-left:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.pillars svg{color:var(--peach-deep);margin-bottom:14px}
.sec.dark .pillars svg{color:var(--peach)}
.pillars b{display:block;font-family:var(--f-display);font-weight:760;font-size:clamp(1.4rem,2.2vw,1.9rem);letter-spacing:-.018em;line-height:1.1;font-variation-settings:"wdth" 84}
.pillars span{display:block;margin-top:10px;color:var(--ink-2);font-size:1.0625rem}
.sec.dark .pillars span{color:var(--on-dark-2)}
@media (max-width:900px){.pillars{grid-template-columns:1fr 1fr}.pillars>div:nth-child(odd){padding-left:0;border-left:0}.pillars>div:nth-child(n+3){border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}.pillars>div+div{padding-left:0;border-left:0;border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}}

/* big checklist */
.checks-big{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;counter-reset:c}
.checks-big li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-family:var(--f-display);font-weight:680;font-size:clamp(1.25rem,2vw,1.65rem);letter-spacing:-.015em;line-height:1.2;font-variation-settings:"wdth" 88}
.checks-big li::before{content:"";width:44px;height:44px;border-radius:50%;background:var(--peach) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1419' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/20px no-repeat}
@media (max-width:760px){.checks-big{grid-template-columns:1fr}}

/* steps (true sequences only) */
.steps3{list-style:none;padding:0;margin:clamp(36px,5vw,56px) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);counter-reset:st}
.steps3 li{counter-increment:st;padding:28px;border-radius:26px;background:var(--card);box-shadow:var(--sh-1);display:grid;gap:10px;align-content:start}
.sec.wash .steps3 li{background:var(--bg)}
.steps3 li::before{content:counter(st);font-family:var(--f-display);font-weight:760;font-size:3.4rem;line-height:1;color:var(--peach-deep);font-variation-settings:"wdth" 78}
.steps3 b{font-family:var(--f-display);font-weight:760;font-size:1.5rem;letter-spacing:-.015em;font-variation-settings:"wdth" 86}
.steps3 span{color:var(--ink-2);font-size:1.0625rem}
.sec.dark .steps3 li{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.sec.dark .steps3 span{color:var(--on-dark-2)}
.sec.dark .steps3 li::before{color:var(--peach)}
@media (max-width:820px){.steps3{grid-template-columns:1fr}}

/* photo strip with varied heights */
.photo-row{display:grid;grid-template-columns:1.2fr .8fr 1fr .9fr;gap:12px;align-items:end;margin-top:clamp(40px,5vw,64px)}
.photo-row figure{margin:0}
.photo-row img{width:100%;object-fit:cover;border-radius:20px}
.photo-row figure:nth-child(1) img{aspect-ratio:4/3.4}
.photo-row figure:nth-child(2) img{aspect-ratio:3/4.4}
.photo-row figure:nth-child(3) img{aspect-ratio:4/3}
.photo-row figure:nth-child(4) img{aspect-ratio:3/4}
.photo-row figcaption{font-size:.875rem;color:var(--ink-2);margin-top:8px}
@media (max-width:760px){.photo-row{grid-template-columns:1fr 1fr}}

/* pull quote band */
.pull{font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:clamp(2rem,4.8vw,4.4rem);line-height:1.06;letter-spacing:-.015em;max-width:22ch;text-wrap:balance}
.pull .q{color:var(--peach-deep)}
.sec.dark .pull .q{color:var(--peach)}
.pull-by{margin-top:22px;font-weight:700;color:var(--ink-2)}
.sec.dark .pull-by{color:var(--on-dark-2)}

/* two-col split with media */
.media-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.media-split.rev>:first-child{order:2}
.media-split img{width:100%;border-radius:30px;object-fit:cover;aspect-ratio:4/4.4;box-shadow:var(--sh-2)}
.media-split h2{margin-top:16px}
.media-split .lead{margin-top:20px}
@media (max-width:900px){.media-split{grid-template-columns:1fr}.media-split.rev>:first-child{order:0}.media-split img{max-width:560px}}

/* CTA band */
.cta-band{background:var(--peach);color:#1C1419;padding-block:clamp(64px,8vw,110px);position:relative;overflow:hidden}
.cta-band .wrap{display:grid;grid-template-columns:1.2fr auto;gap:28px 48px;align-items:end}
.cta-band h2{font-size:clamp(2.4rem,5.6vw,5.2rem);color:#1C1419}
.cta-band h2 em.s{color:#1C1419}
.cta-band p{margin-top:14px;font-size:1.125rem;max-width:34em;opacity:.85}
.cta-band .btns{display:flex;flex-wrap:wrap;gap:10px}
.cta-band .btn{--b:#1C1419;--t:#FFF3EC}
.cta-band .btn.alt{--b:transparent;--t:#1C1419;box-shadow:inset 0 0 0 1.5px #1C1419}
@media (max-width:900px){.cta-band .wrap{grid-template-columns:1fr}}

/* contact band (home) */
.cband{background:var(--dark);color:var(--on-dark);padding-block:clamp(80px,10vw,150px)}
.cband .tag{color:var(--peach)}
.cband-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,96px);align-items:end}
.cband h2{margin-top:16px;color:var(--on-dark)}
.routes{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.16)}
.routes li{border-bottom:1px solid rgba(255,255,255,.16)}
.routes a{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center;padding:18px 4px;text-decoration:none;transition:padding .35s var(--ease),background-color .25s}
.routes a:hover{padding-left:14px;background:rgba(255,255,255,.05)}
.routes b{font-family:var(--f-display);font-weight:720;font-size:clamp(1.25rem,2vw,1.6rem);letter-spacing:-.015em;font-variation-settings:"wdth" 86}
.routes span{grid-column:1;color:var(--on-dark-2);font-size:.9375rem}
.routes i{grid-column:2;grid-row:1/span 2;font-style:normal;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3);transition:background-color .25s,transform .35s var(--ease),color .25s}
.routes a:hover i{background:var(--peach);color:#1C1419;box-shadow:none;transform:rotate(-45deg)}
@media (max-width:900px){.cband-grid{grid-template-columns:1fr}}

/* inline "more" link */
.more-link{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-weight:700;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:3px}
.more-link:hover{color:var(--accent-ink)}
.sec.dark .more-link:hover,.homes .more-link:hover{color:var(--peach)}

/* staff quotes grid */
.voices{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:clamp(36px,5vw,56px)}
.voices figure{margin:0;padding:26px 28px;border-radius:24px;background:var(--wash);display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.voices figure:nth-child(4n+2),.voices figure:nth-child(4n+3){background:var(--dark);color:var(--on-dark)}
.voices blockquote{margin:0;font-size:1.125rem;line-height:1.55}
.voices figcaption{font-weight:700;font-size:.9375rem}
.voices figcaption span{opacity:.7;font-weight:500}
@media (max-width:760px){.voices{grid-template-columns:1fr}.voices figure:nth-child(n){background:var(--wash);color:var(--ink)}.voices figure:nth-child(even){background:var(--dark);color:var(--on-dark)}}

/* prose (privacy) */
.draft{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:#FFF1C2;color:#3D2A00;font-weight:700;font-size:1rem;border:1.5px dashed #C99A00}
.prose{max-width:46em}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:44px 0 12px;font-variation-settings:"wdth" 88}
.prose p,.prose li{color:var(--ink-2);font-size:1.125rem}
.prose ul{padding-left:1.2em;display:grid;gap:8px}
.prose a{font-weight:700}

/* form helpers */
.form .note-ref{grid-column:1/-1;font-size:.9375rem;color:var(--ink-2)}
.form .note-ref a{font-weight:700}
.form-lede{display:grid;gap:20px}
.fixed-topic{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:10px}
.sec.dark .form{box-shadow:0 30px 60px -24px rgba(0,0,0,.6)}

/* footer wordmark film (Remotion) */
.wordmark-film{margin-top:clamp(40px,6vw,88px);width:100%;aspect-ratio:2400/700;background:#120A10;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 1.5%,#000 97.5%,transparent 100%),linear-gradient(180deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 1.5%,#000 97.5%,transparent 100%),linear-gradient(180deg,transparent 0,#000 5%,#000 95%,transparent 100%);mask-composite:intersect}
.wordmark-film video{width:100%;height:100%;display:block;object-fit:cover}
.fax-line{margin-top:12px;font-size:1.0625rem;color:var(--on-dark-2)}
.fax-line b{color:var(--on-dark);font-variant-numeric:tabular-nums}
.send-err{margin-top:14px;padding:12px 14px;border-radius:12px;background:#FDECEA;color:#7A1F12;font-size:.9375rem}
.send-err a{color:inherit;font-weight:700}
