/* Marchmont & Pike · shared stylesheet for the eight pages in this folder */
:root{
  --paper:#f6f3ec; --paper2:#ede8dc; --paper3:#e4ddcd; --card:#fffdf8;
  --navy:#0b1726; --navy2:#16304f; --navy3:#22406a; --logo-navy:#153558;
  --emerald:#145e41; --emerald2:#1c7a55; --emerald3:#2f9a70; --logo-green:#1b7b55;
  --gold:#bd8a36;
  --ink:#14233a; --dim:rgba(20,35,58,.64); --dim2:rgba(20,35,58,.46); --line:rgba(20,35,58,.16); --line2:rgba(20,35,58,.09);
  --cream:#f3eee3; --cdim:rgba(243,238,227,.68); --cline:rgba(243,238,227,.16);
  --ease:cubic-bezier(.16,1,.3,1);
  --railw:272px; --topbar:64px; --gut:clamp(20px,4.6vw,76px); --max:1240px; --r:4px;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box;}
[hidden]{display:none!important;}
@media(max-width:1099px){[id]{scroll-margin-top:calc(var(--topbar) + 14px);}}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);overflow-x:clip;max-width:100%;}
body{font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;position:relative;}
/* paper grain over the whole page, drawn once, fixed, and cheap */
body::before{content:"";position:fixed;inset:0;z-index:5;pointer-events:none;opacity:.055;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px;}
a{color:inherit;text-decoration:none;touch-action:manipulation;}
button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:none;border:0;padding:0;margin:0;}
summary{touch-action:manipulation;cursor:pointer;list-style:none;}
summary::-webkit-details-marker{display:none;}
img,video{display:block;max-width:100%;height:auto;}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}
h1,h2,h3,h4{margin:0;font-weight:400;}
figure,blockquote,ul,ol,dl{margin:0;}
::selection{background:var(--emerald2);color:#fff;}
:focus-visible{outline:3px solid var(--emerald2);outline-offset:3px;border-radius:3px;}
.ink :focus-visible,.siderail :focus-visible,.drawer :focus-visible,.topbar :focus-visible{outline-color:var(--gold);}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:12px;top:-70px;z-index:400;background:var(--emerald2);color:#fff;padding:10px 16px;border-radius:var(--r);font-weight:600;}
.skip:focus{top:12px;}
.mono,.fig{font-family:var(--mono);font-variant-numeric:tabular-nums;}
.prose{max-width:68ch;}
.prose p{margin-bottom:1.1em;}
.prose strong,b{font-weight:600;}
.small{font-size:14.5px;color:var(--dim);}
.dimtext{color:var(--dim);}
.measure{max-width:72ch;}

/* ---------- reveal on scroll (visible by default; hidden only once JS is live) ---------- */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.js .rv.on{opacity:1;transform:none;}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}.js .rv.d4{transition-delay:.32s}.js .rv.d5{transition-delay:.4s}
.js .clip img{clip-path:inset(0 0 100% 0);transform:scale(1.06);transition:clip-path 1.2s var(--ease),transform 1.8s var(--ease);}
.js .clip.on img{clip-path:inset(0 0 0 0);transform:none;}
.js .rule{transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease);}
.js .rule.on{transform:none;}

/* ---------- left rail (desktop) ---------- */
.siderail{position:fixed;left:0;top:0;bottom:0;width:var(--railw);z-index:120;background:var(--navy);color:var(--cream);display:flex;flex-direction:column;border-right:1px solid rgba(189,138,54,.42);overflow-y:auto;overscroll-behavior:contain;}
.siderail::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(243,238,227,.03) 0 1px,transparent 1px 32px);}
.siderail > *{position:relative;}
.brand{display:flex;align-items:center;gap:12px;color:var(--cream);}
.brand .blogo{width:44px;height:auto;flex:0 0 auto;}
.brand .wm{font-family:var(--serif);font-size:24px;line-height:.98;letter-spacing:-.01em;}
.brand .wm small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--cdim);margin-top:6px;}
.siderail .brand{padding:26px 26px 22px;border-bottom:1px solid var(--cline);}
.rnav{display:flex;flex-direction:column;padding:12px 0 8px;}
.rl{position:relative;display:block;padding:11px 26px 11px 30px;color:var(--cream);transition:color .3s;}
.rl .t{display:block;font-family:var(--serif);font-size:21px;line-height:1.15;letter-spacing:-.01em;font-weight:400;transition:font-weight .2s;}
.rl .s{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cdim);margin-top:3px;}
.rl::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease);}
.rl[aria-current="page"]{color:#fff;}
.rl[aria-current="page"] .t{font-weight:700;}
.rl[aria-current="page"]::before{transform:none;}
@media(hover:hover) and (pointer:fine){
  .rl:hover{color:#fff;}
  .rl:hover::before{transform:none;}
}
.rl:focus-visible{outline-offset:-4px;}
.rfoot{margin-top:auto;padding:18px 26px 24px;border-top:1px solid var(--cline);display:grid;gap:12px;}
.rfoot .tel{font-family:var(--mono);font-size:14px;letter-spacing:.04em;color:var(--cream);}
.rfoot .hrs{font-size:12.5px;color:var(--cdim);line-height:1.5;}
@media(hover:hover) and (pointer:fine){.rfoot .tel:hover{color:#fff;}}
@media(max-height:760px){.rl{padding-top:7px;padding-bottom:7px;}.rl .s{display:none;}.rl .t{font-size:19px;}.siderail .brand{padding:18px 26px 14px;}.rfoot .hrs{display:none;}}

/* ---------- top bar + drawer (phones and narrow desktops) ---------- */
.topbar{display:none;position:sticky;top:0;z-index:120;height:var(--topbar);background:var(--navy);color:var(--cream);align-items:center;justify-content:space-between;gap:12px;padding:0 var(--gut);border-bottom:1px solid rgba(189,138,54,.42);}
.topbar .brand .blogo{width:36px;}
.topbar .brand .wm{font-size:19px;}
.topbar .brand .wm small{display:none;}
.tend{display:flex;align-items:center;gap:10px;}
.tbook{font-size:13px;font-weight:600;letter-spacing:.04em;padding:10px 14px;border:1px solid var(--emerald3);color:var(--cream);border-radius:var(--r);}
.burger{width:44px;height:44px;border:1px solid var(--cline);border-radius:var(--r);position:relative;}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:12px;width:18px;height:2px;background:var(--cream);transition:transform .3s var(--ease),top .3s var(--ease);}
.burger span{top:21px;}
.burger span::before{left:0;top:-6px;}
.burger span::after{left:0;top:6px;}
.drawer{position:fixed;inset:0;z-index:130;background:var(--navy);color:var(--cream);display:flex;flex-direction:column;padding:0 var(--gut) 28px;transform:translateX(-100%);transition:transform .45s var(--ease);visibility:hidden;overflow-y:auto;}
.drawer.open{transform:none;visibility:visible;}
.drawer::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(243,238,227,.03) 0 1px,transparent 1px 32px);}
.drawer > *{position:relative;}
.dtop{height:var(--topbar);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--cline);}
.dtop .brand .blogo{width:36px;}
.dtop .brand .wm{font-size:19px;}
.dtop .brand .wm small{display:none;}
.dclose{width:44px;height:44px;border:1px solid var(--cline);border-radius:var(--r);font-size:24px;line-height:1;}
.dl-link{display:block;padding:14px 0;border-bottom:1px solid var(--cline);font-family:var(--serif);font-size:clamp(28px,7vw,40px);line-height:1.1;letter-spacing:-.01em;opacity:0;transform:translateX(-18px);}
.dl-link .s{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cdim);margin-top:4px;}
.dl-link[aria-current="page"]{font-weight:700;}
.drawer.open .dl-link{animation:dlin .6s var(--ease) both;animation-delay:calc(var(--i,0)*60ms + 100ms);}
.drawer.open .dfoot{animation:dlin .6s var(--ease) both;animation-delay:.55s;opacity:0;}
@keyframes dlin{to{opacity:1;transform:none;}}
.dfoot{margin-top:auto;padding-top:22px;display:grid;gap:12px;}
.dfoot .tel{font-family:var(--mono);font-size:14px;color:var(--cdim);text-align:center;}
body.locked{overflow:hidden;}
@media(prefers-reduced-motion:reduce){.drawer{transition:none;}.drawer.open .dl-link,.drawer.open .dfoot{animation:none;opacity:1;transform:none;}}

/* rail on wide screens, top bar otherwise */
@media(min-width:1100px){
  .page,.foot{margin-left:var(--railw);}
}
@media(max-width:1099px){
  .siderail{display:none;}
  .topbar{display:flex;}
}

/* ---------- buttons and links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:.01em;padding:15px 24px;border-radius:var(--r);border:1px solid transparent;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease);line-height:1.2;text-align:center;}
.btn.primary{background:var(--emerald2);color:#fff;border-color:var(--emerald2);}
.btn.ghost{border-color:var(--ink);color:var(--ink);}
.btn.light{background:var(--cream);color:var(--navy);border-color:var(--cream);}
.btn.line{border-color:var(--cline);color:var(--cream);}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
@media(hover:hover) and (pointer:fine){
  .btn.primary:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
  .ink .btn.primary:hover{background:var(--cream);border-color:var(--cream);color:var(--navy);}
  .btn.ghost:hover{background:var(--ink);color:var(--paper);}
  .btn.light:hover{background:#fff;}
  .btn.line:hover{border-color:var(--cream);}
}
.arrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--emerald);font-weight:500;}
.arrow::after{content:"→";font-family:var(--sans);font-size:16px;transition:transform .35s var(--ease);}
.ink .arrow{color:var(--cream);}
@media(hover:hover) and (pointer:fine){.arrow:hover::after{transform:translateX(6px);}}

/* ---------- type ---------- */
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--emerald);display:inline-block;line-height:1.7;font-weight:500;}
.ink .eyebrow{color:var(--cdim);}
.h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,min(5.6vw,8.6svh),86px);line-height:1.02;letter-spacing:-.018em;margin-top:16px;color:var(--navy);}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.7vw,54px);line-height:1.06;letter-spacing:-.015em;margin-top:14px;color:var(--navy);}
.h3{font-family:var(--serif);font-weight:400;font-size:clamp(23px,2.1vw,30px);line-height:1.15;letter-spacing:-.01em;color:var(--navy);}
.h4{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.2;color:var(--navy);}
.ink .h1,.ink .h2,.ink .h3,.ink .h4{color:var(--cream);}
.h1 b,.h2 b{font-weight:700;}
.lede{font-size:clamp(17px,1.35vw,20px);line-height:1.6;max-width:56ch;color:var(--ink);}
.ink .lede{color:var(--cream);opacity:.92;}
.h1 + .lede,.h2 + .lede,.h2 + p{margin-top:20px;}
.head{max-width:760px;}
.head .lede{margin-top:18px;}

/* ---------- layout ---------- */
.sec{padding:clamp(64px,9vh,120px) var(--gut);}
.sec.tight{padding-top:clamp(44px,6vh,72px);padding-bottom:clamp(44px,6vh,72px);}
.wrap{max-width:var(--max);margin:0 auto;}
.tint{background:var(--paper2);}
.tint2{background:var(--paper3);}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,72px);align-items:start;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px);}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,32px);}
@media(max-width:980px){.grid3,.grid4{grid-template-columns:1fr 1fr;}}
@media(max-width:860px){.grid2{grid-template-columns:1fr;}}
@media(min-width:861px){.contact-grid{grid-template-columns:1.1fr .9fr;}}
@media(max-width:600px){.grid3,.grid4{grid-template-columns:1fr;}}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4.5vw,72px);align-items:center;}
.split.flip{grid-template-columns:.95fr 1.05fr;}
@media(max-width:860px){.split,.split.flip{grid-template-columns:1fr;}}
.media{position:relative;overflow:hidden;border-radius:var(--r);background:var(--paper3);aspect-ratio:4/3;}
.media img{width:100%;height:100%;object-fit:cover;}
.media.tall{aspect-ratio:4/5;}
.media.wide{aspect-ratio:16/10;}
@media(hover:hover) and (pointer:fine){.media.zoom img{transition:transform 1.4s var(--ease);}.media.zoom:hover img{transform:scale(1.035);}}

/* ---------- ink (navy) sections: ledger grid + slow gold drift, never flat ---------- */
.ink{position:relative;background:var(--navy);color:var(--cream);overflow:hidden;isolation:isolate;}
.ink::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(90deg,transparent calc(var(--gut) - 14px),rgba(189,138,54,.34) calc(var(--gut) - 14px),rgba(189,138,54,.34) calc(var(--gut) - 13px),transparent calc(var(--gut) - 13px)),
  repeating-linear-gradient(0deg,rgba(243,238,227,.035) 0 1px,transparent 1px 34px);}
.ink::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:900px;height:900px;left:-200px;top:-300px;border-radius:50%;background:radial-gradient(closest-side,rgba(189,138,54,.16),rgba(189,138,54,.05) 50%,transparent 72%);opacity:.9;}
.js .ink.play::after{animation:drift 46s ease-in-out infinite alternate;}
@keyframes drift{from{transform:translate(0,0);}to{transform:translate(70%,42%);}}
.ink .small,.ink .dimtext{color:var(--cdim);}
.ink p{color:var(--cream);}

/* ---------- ledger card (the "at a glance" panel and any figure card) ---------- */
.ledger{background:var(--card);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:var(--r);padding:22px 24px 8px;box-shadow:0 30px 60px -40px rgba(11,23,38,.35);}
.ledger .lhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);}
.ledger .lhead .t{font-family:var(--serif);font-size:22px;color:var(--navy);line-height:1.1;}
.ledger .lhead .d{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);}
.lrow{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:end;padding:15px 0;border-bottom:1px dashed var(--line);}
.lrow:last-child{border-bottom:0;}
.lrow .k{font-size:15px;line-height:1.35;color:var(--ink);}
.lrow .k small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:4px;}
.lrow .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(20px,1.6vw,24px);color:var(--navy);text-align:right;line-height:1;white-space:nowrap;}
.lrow .v small{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:6px;}
.lrow .v.green{color:var(--emerald);}
.ink .ledger{background:rgba(243,238,227,.05);border-color:var(--cline);border-top-color:var(--gold);box-shadow:none;}
.ink .lrow{border-color:var(--cline);}
.ink .lrow .k,.ink .ledger .lhead .t,.ink .lrow .v{color:var(--cream);}
.ink .lrow .k small,.ink .lrow .v small,.ink .ledger .lhead .d{color:var(--cdim);}
.ink .lrow .v.green{color:var(--emerald3);}

/* numbers that write themselves in */
.js [data-type]:not(.typed){color:transparent;}
[data-type].typing::after{content:"";display:inline-block;width:.55em;height:1em;margin-left:2px;vertical-align:-.1em;background:currentColor;opacity:.5;}

/* ---------- home hero ---------- */
.hero{position:relative;min-height:min(78svh,860px);display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(44px,7vh,96px) var(--gut) clamp(40px,6vh,72px);max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;}
.hero .h1{max-width:12ch;}
.hero .h1{font-size:clamp(40px,min(5.4vw,8.4svh),88px);}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.hero-meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);}
@media(max-width:980px){.hero{grid-template-columns:1fr;min-height:0;}.hero .h1{max-width:14ch;}}
@media(max-width:1099px){.hero{padding-top:clamp(36px,6vh,64px);}}

/* full-bleed photo band */
.band{position:relative;min-height:min(56svh,620px);overflow:hidden;background:var(--navy2);}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.js .band img{transform:scale(1.06);transition:transform 2.4s var(--ease);}
.js .band.on img{transform:none;}

/* ---------- services strip (edge to edge) ---------- */
.svc{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);}
.sv{position:relative;min-height:clamp(420px,52vh,560px);display:flex;flex-direction:column;justify-content:flex-end;padding:28px clamp(20px,2.4vw,34px);color:var(--cream);overflow:hidden;border-right:1px solid rgba(243,238,227,.1);}
.sv:last-child{border-right:0;}
.sv img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform 1.6s var(--ease),filter .8s;}
.sv::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,23,38,.1) 18%,rgba(11,23,38,.86) 72%);}
.sv::after{content:"";position:absolute;z-index:3;left:0;top:0;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);}
.sv > *{position:relative;z-index:2;}
.sv .eyebrow{color:var(--cdim);}
.sv .t{font-family:var(--serif);font-size:clamp(26px,2.3vw,34px);line-height:1.05;margin-top:10px;}
.sv .d{font-size:14.5px;color:var(--cdim);margin-top:10px;max-width:30ch;line-height:1.5;}
.sv .f{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:16px;color:var(--cream);}
.sv.fees{background:var(--navy2);justify-content:space-between;}
.sv.fees::before{background:repeating-linear-gradient(0deg,rgba(243,238,227,.04) 0 1px,transparent 1px 34px);}
.sv.fees .big{font-family:var(--serif);font-size:clamp(54px,5vw,84px);line-height:.95;letter-spacing:-.02em;}
.sv.fees .big small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cdim);margin-top:10px;}
@media(hover:hover) and (pointer:fine){.sv:hover img{transform:scale(1.05);filter:saturate(1);}.sv:hover::after{transform:none;}}
@media(max-width:1280px){.svc{grid-template-columns:1fr 1fr;}.sv{border-bottom:1px solid rgba(243,238,227,.1);}}
@media(max-width:600px){.svc{grid-template-columns:1fr;}.sv{min-height:340px;}}

/* ---------- estimator (teaser and full) ---------- */
.est{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:start;}
@media(max-width:900px){.est{grid-template-columns:1fr;}}
.field{display:grid;gap:8px;margin-bottom:18px;}
.field label,.field .lbl{font-size:14px;font-weight:600;letter-spacing:.01em;display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.field label .fig,.field .lbl .fig{font-weight:400;font-size:15px;color:var(--navy);}
.ink .field label .fig{color:var(--cream);}
.field input[type=text],.field input[type=number],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink);}
.field input[type=number]{font-family:var(--mono);font-variant-numeric:tabular-nums;}
.ink .field input,.ink .field select,.ink .field textarea{background:rgba(243,238,227,.06);border-color:var(--cline);color:var(--cream);color-scheme:dark;}
.field textarea{min-height:120px;resize:vertical;}
.field .hint{font-size:13px;color:var(--dim);}
.ink .field .hint{color:var(--cdim);}
.money{position:relative;}
.money::before{content:"£";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-family:var(--mono);color:var(--dim);pointer-events:none;}
.money input{padding-left:30px!important;}
.ink .money::before{color:var(--cdim);}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:0;cursor:pointer;touch-action:pan-y;}
input[type=range]:focus{outline:none;}
input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(90deg,var(--emerald2) var(--p,0%),var(--line) var(--p,0%));border-radius:2px;}
input[type=range]::-moz-range-track{height:3px;background:var(--line);border-radius:2px;}
input[type=range]::-moz-range-progress{height:3px;background:var(--emerald2);}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--card);border:2px solid var(--emerald2);margin-top:-9.5px;box-shadow:0 2px 8px rgba(11,23,38,.2);}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--card);border:2px solid var(--emerald2);}
input[type=range]:focus-visible::-webkit-slider-thumb{outline:3px solid var(--emerald2);outline-offset:3px;}
input[type=range]:focus-visible::-moz-range-thumb{outline:3px solid var(--emerald2);outline-offset:3px;}
.ink input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--emerald3) var(--p,0%),var(--cline) var(--p,0%));}
.ink input[type=range]::-moz-range-track{background:var(--cline);}
.ink input[type=range]::-webkit-slider-thumb{background:var(--navy);border-color:var(--emerald3);}
.seg-ctl{display:flex;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.seg-ctl button{flex:1 1 0;padding:11px 8px;font-size:14px;font-weight:600;background:var(--card);color:var(--dim);transition:background .3s,color .3s;}
.seg-ctl button[aria-pressed="true"]{background:var(--navy);color:var(--cream);}
.seg-ctl button + button{border-left:1px solid var(--line);}
.ink .seg-ctl{border-color:var(--cline);}
.ink .seg-ctl button{background:rgba(243,238,227,.05);color:var(--cdim);}
.ink .seg-ctl button[aria-pressed="true"]{background:var(--cream);color:var(--navy);}
.ink .seg-ctl button + button{border-color:var(--cline);}
.chk{display:flex;align-items:center;gap:10px;font-size:15px;}
.chk input{width:20px;height:20px;accent-color:var(--emerald2);margin:0;}

/* result panel */
.res{background:var(--card);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:var(--r);padding:26px clamp(18px,2.4vw,30px) 22px;}
.ink .res{background:rgba(243,238,227,.05);border-color:var(--cline);border-top-color:var(--gold);}
.res-top{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.res-top .col .l{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);}
.ink .res-top .col .l{color:var(--cdim);}
.res-top .col .n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(26px,3vw,40px);color:var(--navy);line-height:1.05;margin-top:6px;letter-spacing:-.02em;}
.ink .res-top .col .n{color:var(--cream);}
.res-top .col .m{font-size:13.5px;color:var(--dim);margin-top:4px;}
.ink .res-top .col .m{color:var(--cdim);}
.bars{display:grid;grid-template-columns:1fr 1fr;gap:18px;height:clamp(220px,32vh,320px);margin-top:22px;align-items:stretch;}
.bar{display:flex;flex-direction:column-reverse;height:100%;border-bottom:1px solid var(--line);}
.ink .bar{border-color:var(--cline);}
.bar .seg{flex:0 0 var(--h,0%);min-height:0;position:relative;transition:flex-basis .9s var(--ease);}
.bar .seg::after{content:attr(data-lab);position:absolute;left:8px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#fff;opacity:0;white-space:nowrap;transition:opacity .4s;}
.bar .seg.show::after{opacity:.92;}
.seg.take{background:var(--emerald2);}
.seg.itax{background:var(--navy2);}
.seg.ni{background:#3b5a86;}
.seg.ct{background:#5e7092;}
.seg.dtax{background:#8c95ad;}
.seg.pen{background:#b7b2a6;}
.seg.kept{background:repeating-linear-gradient(135deg,rgba(20,35,58,.35) 0 4px,rgba(20,35,58,.12) 4px 8px);}
.ink .seg.kept{background:repeating-linear-gradient(135deg,rgba(243,238,227,.35) 0 4px,rgba(243,238,227,.12) 4px 8px);}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);}
.ink .legend{color:var(--cdim);}
.legend span{display:inline-flex;align-items:center;gap:7px;}
.legend i{width:12px;height:12px;border-radius:2px;display:inline-block;}
.summary{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--serif);font-size:clamp(19px,1.7vw,23px);line-height:1.35;color:var(--navy);}
.ink .summary{border-color:var(--cline);color:var(--cream);}
.summary b{font-weight:700;}
.caption{font-size:13px;line-height:1.5;color:var(--dim);margin-top:14px;}
.ink .caption{color:var(--cdim);}
.rates{margin-top:22px;border:1px solid var(--line);border-radius:var(--r);}
.rates summary{padding:14px 18px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--emerald);display:flex;justify-content:space-between;align-items:center;}
.rates summary::after{content:"+";font-size:18px;}
.rates[open] summary::after{content:"–";}
.rates .rb{padding:0 18px 18px;font-size:14.5px;color:var(--dim);}
.rates table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px;}
.rates td{padding:7px 0;border-top:1px solid var(--line2);vertical-align:top;}
.rates td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;}

/* ---------- deadlines timeline ---------- */
.tl-wrap{margin-top:26px;}
.tl{display:grid;grid-template-columns:repeat(12,1fr);border-top:1px solid var(--line);}
@media(max-width:1560px){.tl{grid-template-columns:repeat(6,1fr);}.tl .mo:nth-child(-n+6){border-bottom:1px solid var(--line2);}.ink .tl .mo:nth-child(-n+6){border-color:var(--cline);}.tl .mo:nth-child(6){border-right:0;}}
@media(max-width:820px){.tl{grid-template-columns:repeat(4,1fr);}.tl .mo:nth-child(-n+8){border-bottom:1px solid var(--line2);}.tl .mo:nth-child(6){border-right:1px solid var(--line2);}.tl .mo:nth-child(4n){border-right:0;}}
@media(max-width:520px){.tl{grid-template-columns:repeat(3,1fr);}.tl .mo:nth-child(-n+9){border-bottom:1px solid var(--line2);}.tl .mo:nth-child(4n){border-right:1px solid var(--line2);}.tl .mo:nth-child(3n){border-right:0;}}
.ink .tl{border-color:var(--cline);}
.tl .mo{padding:12px 10px 18px;border-right:1px solid var(--line2);min-height:150px;position:relative;}
.ink .tl .mo{border-color:var(--cline);}
.tl .mo:last-child{border-right:0;}
.tl .mo .mh{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding-bottom:8px;border-bottom:1px solid var(--line2);margin-bottom:10px;}
.ink .tl .mo .mh{color:var(--cdim);border-color:var(--cline);}
.tl .mo.now .mh{color:var(--emerald);font-weight:500;}
.ink .tl .mo.now .mh{color:var(--emerald3);}
.dl{display:block;padding:8px 9px;border:1px solid var(--line);border-radius:3px;background:var(--card);margin-bottom:6px;font-size:12.5px;line-height:1.3;color:var(--ink);transform:translateY(6px);opacity:0;animation:dlin .5s var(--ease) both;animation-delay:calc(var(--i,0)*40ms);}
.ink .dl{background:rgba(243,238,227,.06);border-color:var(--cline);color:var(--cream);}
.dl .dd{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:2px;}
.ink .dl .dd{color:var(--cdim);}
.dl.next{background:var(--emerald2);border-color:var(--emerald2);color:#fff;}
.dl.next .dd{color:rgba(255,255,255,.8);}
@media(prefers-reduced-motion:reduce){.dl{animation:none;opacity:1;transform:none;}}
.tl-next{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;margin-top:20px;font-size:15px;}
.tl-next .n{font-family:var(--serif);font-size:clamp(22px,2vw,28px);color:var(--navy);}
.ink .tl-next .n{color:var(--cream);}
.tl-list{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 22px;padding:0;list-style:none;}
@media(max-width:900px){.tl-list{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.tl-list{grid-template-columns:1fr;}}
.tl-list li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line2);font-size:14.5px;}
.ink .tl-list li{border-color:var(--cline);}
.tl-list li .dd{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:.06em;color:var(--dim);white-space:nowrap;}
.ink .tl-list li .dd{color:var(--cdim);}
.tl-list li .days{display:block;font-family:var(--mono);font-size:11px;color:var(--emerald);letter-spacing:.08em;margin-top:2px;}
.ink .tl-list li .days{color:var(--emerald3);}

/* ---------- how we work: word labels, hairline route ---------- */
.route{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,40px);position:relative;margin-top:40px;}
.route::before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:var(--line);}
.route .step{position:relative;padding-top:28px;}
.route .step::before{content:"";position:absolute;left:0;top:4px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--emerald2);}
.route .step .w{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--emerald);font-weight:500;}
.route .step .t{font-family:var(--serif);font-size:24px;line-height:1.15;margin-top:8px;color:var(--navy);}
.route .step p{font-size:15px;color:var(--dim);margin-top:10px;line-height:1.55;}
@media(min-width:901px){.route.three{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){.route{grid-template-columns:1fr 1fr;}.route::before{display:none;}}
@media(max-width:520px){.route{grid-template-columns:1fr;}}

/* ---------- fee cards ---------- */
.fees{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:36px;}
.fees > .fee{flex:0 1 calc((100% - 44px)/3);min-width:260px;max-width:420px;}
.fee{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 26px 24px;display:flex;flex-direction:column;position:relative;}
.fee.pick{border-color:var(--navy);box-shadow:0 30px 50px -36px rgba(11,23,38,.5);}
.fee .who{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--emerald);font-weight:500;}
.fee .nm{font-family:var(--serif);font-size:28px;color:var(--navy);margin-top:8px;line-height:1.1;}
.fee .pr{margin-top:16px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}
.fee .pr .n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:40px;letter-spacing:-.02em;color:var(--navy);line-height:1;}
.fee .pr .u{font-size:13px;color:var(--dim);}
.fee .pr .from{font-size:13px;color:var(--dim);width:100%;}
.fee .for{font-size:14.5px;color:var(--dim);margin-top:10px;line-height:1.5;}
.fee ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px;font-size:15px;}
.fee li{position:relative;padding-left:22px;line-height:1.45;}
.fee li::before{content:"";position:absolute;left:0;top:9px;width:11px;height:6px;border-left:2px solid var(--emerald2);border-bottom:2px solid var(--emerald2);transform:rotate(-45deg);}
.fee .btn{margin-top:auto;}
.fee ul + .btn{margin-top:24px;}
.fee .tag{position:absolute;top:-1px;right:22px;transform:translateY(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:var(--navy);color:var(--cream);padding:5px 10px;border-radius:2px;}
.ann{display:inline-flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:22px;}
.ann button{padding:10px 18px;font-size:14px;font-weight:600;color:var(--dim);background:var(--card);transition:background .3s,color .3s;}
.ann button[aria-pressed="true"]{background:var(--navy);color:var(--cream);}
.ann button + button{border-left:1px solid var(--line);}

/* add-on table */
.tbl{width:100%;border-collapse:collapse;margin-top:22px;font-size:15px;}
.tbl th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:500;padding:0 0 10px;border-bottom:1px solid var(--ink);}
.tbl td{padding:13px 0;border-bottom:1px solid var(--line2);vertical-align:top;}
.tbl td:last-child,.tbl th:last-child{text-align:right;white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--navy);}
.tbl td .s{display:block;font-size:13.5px;color:var(--dim);margin-top:2px;}

/* helper */
.helper{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;}
.helper fieldset{border:0;padding:0;margin:0 0 18px;}
.helper legend{font-weight:600;font-size:15px;margin-bottom:10px;padding:0;}
.helper .opts{display:flex;flex-wrap:wrap;gap:8px;}
.helper .opts label{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);font-size:14.5px;cursor:pointer;background:var(--paper);}
.helper .opts label:has(input:checked){border-color:var(--navy);background:var(--navy);color:var(--cream);}
.helper .opts input{position:absolute;opacity:0;width:1px;height:1px;}
.helper .opts label:has(input:focus-visible){outline:3px solid var(--emerald2);outline-offset:2px;}
.helper .out{margin-top:8px;padding-top:18px;border-top:1px solid var(--line);}
.helper .out .t{font-family:var(--serif);font-size:26px;color:var(--navy);}
.helper .out p{font-size:15px;color:var(--dim);margin-top:8px;}

/* ---------- reviews ---------- */
.reviews{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:32px;}
.reviews > .rev{flex:0 1 calc((100% - 44px)/3);min-width:260px;}
.rev{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;}
.rev q{font-family:var(--serif);font-size:20px;line-height:1.4;color:var(--navy);quotes:"\201C" "\201D";display:block;}
.rev .who{margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);}
.rlabel{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);}

/* ---------- team ---------- */
.team{display:flex;flex-wrap:wrap;justify-content:center;gap:26px 22px;margin-top:36px;}
.team > .person{flex:0 1 calc((100% - 44px)/3);min-width:220px;max-width:380px;}
.team.four > .person{flex:0 1 calc((100% - 66px)/4);min-width:0;}
@media(max-width:900px){.team.four > .person{flex:0 1 calc((100% - 22px)/2);}}
.person .ph{aspect-ratio:4/5;overflow:hidden;border-radius:var(--r);background:var(--paper3);}
.person .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:filter .6s,transform 1.4s var(--ease);}
@media(hover:hover) and (pointer:fine){.person:hover .ph img{filter:saturate(1);transform:scale(1.03);}}
.person .nm{font-family:var(--serif);font-size:22px;color:var(--navy);margin-top:14px;line-height:1.15;}
.person .role{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--emerald);margin-top:5px;}
.person p{font-size:14.5px;color:var(--dim);margin-top:8px;line-height:1.5;}

/* ---------- inner page hero ---------- */
.phero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(40px,7vh,88px) var(--gut) clamp(36px,6vh,64px);max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;min-height:min(62svh,680px);}
.phero .h1{font-size:clamp(36px,min(4.6vw,8svh),72px);max-width:14ch;}
.phero .media{aspect-ratio:5/4;}
@media(max-width:900px){.phero{grid-template-columns:1fr;min-height:0;}.phero .media{aspect-ratio:16/10;}}
.phero .hero-cta{margin-top:26px;}

/* ---------- checklist / definition rows ---------- */
.rows{margin-top:28px;border-top:1px solid var(--ink);}
.row{display:grid;grid-template-columns:minmax(160px,.38fr) 1fr;gap:12px 32px;padding:20px 0;border-bottom:1px solid var(--line2);}
.row .k{font-family:var(--serif);font-size:22px;line-height:1.15;color:var(--navy);}
.row .k small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:6px;font-weight:400;}
.row p{font-size:15.5px;color:var(--ink);line-height:1.55;max-width:72ch;}
@media(max-width:640px){.row{grid-template-columns:1fr;gap:8px;}}
.split .row{grid-template-columns:1fr;gap:6px;}
.split .rows{border-top-color:var(--line);}

/* year strip: 12 short cells */
.year{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px;border-radius:var(--r);overflow:hidden;}
.year .m{background:var(--card);padding:16px 14px;min-height:130px;}
.year .m .mh{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);}
.year .m .mt{font-size:14px;line-height:1.45;margin-top:8px;color:var(--ink);}
.year .m.key{background:var(--navy);color:var(--cream);}
.year .m.key .mh{color:var(--cdim);}
.year .m.key .mt{color:var(--cream);}
@media(max-width:900px){.year{grid-template-columns:repeat(3,1fr);}}
@media(max-width:520px){.year{grid-template-columns:repeat(2,1fr);}}

/* ---------- the month strip (bookkeeping page) ---------- */
.month{position:relative;}
.month .stage{padding:clamp(64px,9vh,120px) var(--gut);}
.month .track{position:relative;margin-top:36px;border-top:1px solid var(--cline);padding-top:22px;}
.month .days{display:grid;grid-template-columns:repeat(31,1fr);gap:0;height:38px;align-items:end;}
.month .days i{display:block;height:8px;border-left:1px solid rgba(243,238,227,.3);}
.month .days i:nth-child(7n+1){height:16px;border-color:rgba(243,238,227,.6);}
.month .cur{position:absolute;left:calc(var(--p,0)*100%);top:0;bottom:0;width:2px;background:var(--gold);transform:translateX(-1px);box-shadow:0 0 0 1px rgba(189,138,54,.25);transition:left .12s linear;}
.month .cur::after{content:attr(data-day);position:absolute;top:-30px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);white-space:nowrap;}
.month .tasks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px;margin-top:34px;}
.month .task{display:grid;grid-template-columns:22px 1fr;gap:14px;align-items:start;padding:12px 0;border-top:1px solid var(--cline);opacity:.5;transition:opacity .5s;}
.month .task .box{width:18px;height:18px;border:1px solid var(--cdim);border-radius:2px;margin-top:4px;position:relative;}
.month .task .box::after{content:"";position:absolute;left:4px;top:2px;width:6px;height:10px;border-right:2px solid var(--emerald3);border-bottom:2px solid var(--emerald3);transform:rotate(45deg) scale(0);transition:transform .4s var(--ease);}
.month .task .d{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cdim);}
.month .task .t{font-family:var(--serif);font-size:21px;line-height:1.15;margin-top:3px;color:var(--cream);}
.month .task p{font-size:14px;color:var(--cdim);margin-top:5px;line-height:1.5;}
.month .task.done{opacity:1;}
.month .task.done .box{border-color:var(--emerald3);}
.month .task.done .box::after{transform:rotate(45deg) scale(1);}
.month .task.live .box{border-color:var(--gold);}
@media(max-width:900px){.month .tasks{grid-template-columns:1fr;}.month .task{opacity:1;}.month .task .box::after{transform:rotate(45deg) scale(1);}.month .task .box{border-color:var(--emerald3);}.month .cur{display:none;}}
@media(prefers-reduced-motion:reduce){.month .task{opacity:1;}.month .task .box::after{transform:rotate(45deg) scale(1);}.month .cur{display:none;}}

/* ---------- faq ---------- */
.faq{margin-top:28px;border-top:1px solid var(--ink);}
.faq details{border-bottom:1px solid var(--line2);}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-family:var(--serif);font-size:21px;line-height:1.2;color:var(--navy);}
.faq summary::after{content:"+";font-family:var(--mono);font-size:20px;color:var(--emerald);flex:0 0 auto;transition:transform .35s var(--ease);}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .a{padding:0 0 20px;font-size:15.5px;color:var(--ink);max-width:70ch;}

/* ---------- contact ---------- */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
@media(max-width:560px){.frow{grid-template-columns:1fr;}}
.form-ok{display:none;padding:26px;border:1px solid var(--emerald2);border-radius:var(--r);background:var(--card);}
.form-ok .t{font-family:var(--serif);font-size:26px;color:var(--navy);}
form.sent{display:none;}
form.sent + .form-ok{display:block;}
.err{display:none;font-size:13px;color:#a13a2a;}
.field.bad .err{display:block;}
.field.bad input,.field.bad select,.field.bad textarea{border-color:#a13a2a;}
.addr{font-size:16.5px;line-height:1.6;}
.addr .tel{font-family:var(--mono);font-size:17px;}
.kv{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;font-size:15.5px;margin-top:18px;}
.kv dt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding-top:4px;}
.kv dd{margin:0;}

/* ---------- CTA band ---------- */
.cta{padding:clamp(64px,10vh,120px) var(--gut);}
.cta .inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,64px);align-items:end;}
.cta .btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;}
@media(max-width:860px){.cta .inner{grid-template-columns:1fr;}.cta .btns{justify-content:flex-start;}}

/* ---------- footer ---------- */
.foot{background:var(--paper2);border-top:1px solid var(--line);padding:clamp(44px,6vh,72px) var(--gut) 32px;}
.foot .fwrap{max-width:var(--max);margin:0 auto;}
.foot .fg{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px;}
@media(max-width:900px){.foot .fg{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.foot .fg{grid-template-columns:1fr;}}
.foot .brand{color:var(--navy);}
.foot .brand .wm small{color:var(--dim);}
.foot h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:500;margin-bottom:12px;}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:7px;font-size:15px;}
.foot p{font-size:15px;}
@media(hover:hover) and (pointer:fine){.foot a:hover{color:var(--emerald);}}
.foot .fcred{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--dim);}
.foot .fcred a{color:var(--navy);border-bottom:1px solid var(--line);}

/* ---------- misc ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;}
.stats .st{border-top:1px solid var(--ink);padding-top:12px;}
.stats .st .n{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:clamp(26px,2.6vw,36px);color:var(--navy);letter-spacing:-.02em;line-height:1;}
.stats .st .l{font-size:13.5px;color:var(--dim);margin-top:8px;line-height:1.4;}
.ink .stats .st{border-color:var(--cline);}
.ink .stats .st .n{color:var(--cream);}
.ink .stats .st .l{color:var(--cdim);}
@media(max-width:600px){.stats{grid-template-columns:1fr;}}
.soft{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px;font-size:15.5px;}
.soft li{position:relative;padding-left:22px;}
.soft li::before{content:"";position:absolute;left:0;top:10px;width:11px;height:6px;border-left:2px solid var(--emerald2);border-bottom:2px solid var(--emerald2);transform:rotate(-45deg);}
.ink .soft li::before{border-color:var(--emerald3);}
.note{margin-top:22px;padding:16px 18px;border-left:2px solid var(--gold);background:var(--card);font-size:14.5px;color:var(--ink);}
.ink .note{background:rgba(243,238,227,.05);color:var(--cream);}
.quote{font-family:var(--serif);font-size:clamp(24px,2.6vw,36px);line-height:1.3;color:var(--navy);max-width:26ch;}
.ink .quote{color:var(--cream);}
.quote + .who{margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);}
.ink .quote + .who{color:var(--cdim);}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px;}
.gallery .media{aspect-ratio:4/3;}
.gallery .media.tall{grid-row:span 2;aspect-ratio:auto;}
.gallery.two{grid-template-columns:1fr 1fr;}
@media(max-width:700px){.gallery{grid-template-columns:1fr 1fr;}.gallery .media.tall{grid-row:auto;aspect-ratio:4/3;}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .js .rv,.js .clip img,.js .rule,.js .band img{opacity:1;transform:none;clip-path:none;transition:none;}
  .js .ink.play::after{animation:none;}
  .bar .seg{transition:none;}
  .sv img,.media.zoom img,.person .ph img{transition:none;}
  .js [data-type]:not(.typed){color:inherit;}
}
