@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-display.woff2) format("woff2");font-weight:340 460;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/fonts/hanken-grotesk-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Serif Fallback";src:local("Georgia"),local("DejaVu Serif");size-adjust:96%;ascent-override:94%;descent-override:28%;line-gap-override:0%}
@font-face{font-family:"Sans Fallback";src:local("Arial"),local("Liberation Sans"),local("DejaVu Sans");size-adjust:97%;ascent-override:98%;descent-override:26%;line-gap-override:0%}
:root{
  --ground:#EDECE8; --paper:#F5F5F2; --stone:#E2E0DA; --ink:#1C1F22; --soft:#585C5E; --foil:#B3311C;
  --basalt:#1C1F22; --on-basalt:#ECEAE5; --soft-basalt:#ADABA5;
  --stone-25:#FBFAF8; --stone-300:#CFCCC4; --stone-400:#B9B8B3; --slate-500:#80868A; --slate-550:#5B6064; --slate-700:#3A4044; --slate-800:#2A2F32; --slate-950:#0B0E10; /* palette-pass: neutral ramp tokens (stone = warm lights, slate = cool darks) */
  --serif:"Source Serif 4","Serif Fallback",Georgia,serif;
  --sans:"Hanken Grotesk","Sans Fallback",ui-sans-serif,system-ui,sans-serif;
  --m:clamp(20px,5vw,72px); --gap:24px;
  --t-xl:clamp(2.25rem,.9rem + 3.6vw,4.25rem);
  --t-st:clamp(1.375rem,1.05rem + .9vw,1.875rem);
  --t-lead:clamp(1.125rem,1.02rem + .3vw,1.3125rem);
  --t-body:1.0625rem;
  --t-small:.875rem;
  --ease:cubic-bezier(.2,.7,.1,1);
  /* spacing: one modular scale (ratio 1.5) on the body line, L = 17px x 1.55 = 26.35px (same as site.css) */
  --L:1.647rem;
  --s-2:calc(var(--L) * .444); --s-1:calc(var(--L) * .667); --s0:var(--L); --s1:calc(var(--L) * 1.5);
  --s2:calc(var(--L) * 2.25); --s3:calc(var(--L) * 3.375); --s4:calc(var(--L) * 5.0625);
  --sec:clamp(var(--s3),min(8vw,13.3svh),var(--s4));
  --hg:clamp(var(--s1),calc(var(--sec) * .66),var(--s3));
  --row:var(--s2);
  --max:1440px; --pad:max(var(--m),calc((100vw - var(--max)) / 2));
  --bar:96px; --hero-pb:clamp(var(--s1),7svh,var(--s3));
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px;background:var(--ground)}
body{margin:0;background:var(--ground) url(/img/grain.webp) 0 0/160px 160px;color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.55;font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
img,video{width:100%;height:100%;object-fit:cover}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
::selection{background:var(--ink);color:var(--ground)}
:focus-visible{outline:2px solid var(--foil);outline-offset:3px}
.skip{position:absolute;left:var(--m);top:-60px;background:var(--ink);color:var(--ground);padding:10px 16px;z-index:10}
.skip:focus{top:12px}
.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding-inline:var(--pad)}
/* type: a display serif for what is said large, the grotesk for everything read or used */
h1,.h-xl{font-family:var(--serif);font-size:var(--t-xl);font-weight:400;letter-spacing:-.022em;line-height:1.04;text-wrap:balance}
h3{font-size:var(--t-lead);font-weight:500;letter-spacing:-.012em;line-height:1.25}
.statement{font-family:var(--serif);font-size:var(--t-st);font-weight:400;letter-spacing:-.012em;line-height:1.25;max-width:24ch;text-wrap:pretty}
.lead{font-size:var(--t-lead);line-height:1.5;max-width:42ch;text-wrap:pretty}
.small,figcaption{font-size:var(--t-small);line-height:1.45;color:var(--soft)}
figcaption{margin-top:14px;max-width:46ch}
p{text-wrap:pretty}

/* controls */
.btn{display:inline-flex;align-items:center;min-height:56px;padding:0 30px;background:var(--ink);color:var(--ground);text-decoration:none;font-weight:500;font-size:var(--t-body);transition:background-color .35s var(--ease),transform .2s var(--ease)}
.btn:hover{background:var(--slate-950)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-light{background:var(--on-basalt);color:var(--basalt)}
.btn-light:hover{background:var(--stone-25)}
.tlink{font-weight:500;text-decoration:underline;text-underline-offset:.32em;transition:text-underline-offset .3s var(--ease)}
.tlink:hover{text-underline-offset:.5em}

/* bar */
.bar{align-items:center;height:var(--bar)}
.lockup{grid-column:1/5;display:flex;align-items:center;gap:14px;text-decoration:none;width:max-content}
.lockup svg.mark-sm{height:26px;width:auto}
.lockup svg.word-sm{height:12px;width:auto}
.mark-sm .wm-solid,.word-sm .wm-solid{stroke:var(--ink)}
.word-sm .wm-solid{stroke-width:11}
.bar-nav{grid-column:5/13;justify-self:end;display:flex;gap:36px;font-size:var(--t-small)}
.bar-nav a{text-decoration:none;padding:10px 0}
.bar-nav a:hover{text-decoration:underline;text-underline-offset:.4em}
.bar-cta{font-weight:500;text-decoration:underline!important;text-underline-offset:.4em}
.bar-menu{display:none}

/* marks */
.wm{width:100%;height:auto;overflow:visible}
.wm-solid{fill:none;stroke:var(--ink);stroke-width:10.5;stroke-linecap:butt;stroke-linejoin:miter}
.wm-ghost{fill:none;stroke:var(--soft);stroke-width:10.5}
.wm-ghost-in{fill:none;stroke:var(--paper);stroke-width:8.6}
.lens-disc{fill:var(--paper)}
.wm-skel{fill:none;stroke:var(--ink);stroke-width:1.25;vector-effect:non-scaling-stroke}
.wm-nodes circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.25;vector-effect:non-scaling-stroke}
.wm-cons circle{fill:none;stroke:var(--soft);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:3 4}
.wm-cons circle.c{fill:var(--soft);stroke:none}
.wm-intro{opacity:0}
.member .mem-l{fill:none;stroke:var(--foil);stroke-width:.62;stroke-linecap:butt}
.member .pins circle{fill:var(--foil);stroke:var(--ground);stroke-width:.45}
.mark-sm .member .mem-l{stroke-width:1.6px;vector-effect:non-scaling-stroke}
.mark-sm .pins{display:none}
.wm-stack{display:none}
/* footer: the name returns, quiet, at full width */
.foot{background:var(--basalt);color:var(--on-basalt);padding-top:var(--s3);padding-bottom:var(--s1)}
.foot .wm-solid{stroke:var(--on-basalt)}
.foot .lens-disc{fill:var(--slate-800)}
.foot .wm-ghost{stroke:var(--soft-basalt)}
.foot .wm-ghost-in{stroke:var(--slate-800)}
.foot .wm-skel{stroke:var(--on-basalt)}
.foot .wm-nodes circle{fill:var(--slate-800);stroke:var(--on-basalt)}
.foot .wm-cons circle{stroke:var(--soft-basalt)}.foot .wm-cons circle.c{fill:var(--soft-basalt)}
.foot-mark{padding:0 var(--pad);touch-action:pan-y}
.foot-mark .wm{cursor:crosshair}
.foot-row{margin-top:var(--s3);row-gap:var(--s1)}
.foot-line{grid-column:1/6;font-family:var(--serif);font-size:var(--t-st);line-height:1.25;max-width:18ch}
.foot-links{grid-column:7/10;display:grid;gap:10px;align-content:start}
.foot-links a{text-decoration:none}
.foot-links a:hover{text-decoration:underline;text-underline-offset:.3em}
.credits{grid-column:10/13;font-size:var(--t-small);line-height:1.5;color:var(--soft-basalt)}
.foot-legal{grid-column:1/7;color:var(--soft-basalt);margin-top:var(--s1)}
.foot-top{grid-column:7/13;justify-self:end;margin-top:var(--s1);color:var(--soft-basalt)}
.foot-top a{color:var(--on-basalt)}
/* ================= long-form pages: articles, glossary, index, 404 ================= */
@font-face{font-family:"Source Serif 4 Text";src:url(/fonts/source-serif-4-text.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4 Text";src:url(/fonts/source-serif-4-text-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{--text:"Source Serif 4 Text","Serif Fallback",Georgia,serif;--read:clamp(1.125rem,max(1rem + .35vw,.45rem + .9vw),1.375rem)}
.wrap{padding-inline:var(--pad)}
main{display:block}

/* opening: crumbs, title, byline, set on the same left edge as the homepage */
.article,.page-hero{padding-top:clamp(var(--s1),6vw,var(--s3))}
.article>.wrap,.page-hero>.wrap,.list-sec>.wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.article>.wrap>*,.page-hero>.wrap>*,.list-sec>.wrap>*{grid-column:1/13}
.crumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:var(--t-small);color:var(--soft)}
.crumbs a{color:var(--soft);text-decoration:none;padding:6px 0}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.article h1{margin-top:28px;grid-column:1/12;font-size:clamp(1.75rem,1.1rem + 2.5vw,3.25rem);line-height:1.08;max-width:24em}
.byline{margin-top:28px;font-size:var(--t-small);color:var(--soft)}
.byline time{font-variant-numeric:lining-nums}

/* the reading column: a printed page, set off-centre on the grid */
.prose{grid-column:4/12!important;margin-top:var(--hg);font-family:var(--text);font-size:var(--read);line-height:1.62;font-variant-numeric:oldstyle-nums proportional-nums;hanging-punctuation:first;max-width:29.6em}
.prose>*+*{margin-top:1.05em}
.prose>p:first-child{font-size:var(--t-lead);line-height:1.5;letter-spacing:-.005em}
.prose h2{font-family:var(--serif);font-weight:400;font-size:1.625rem;line-height:1.18;letter-spacing:-.014em;margin-top:2.6em;text-wrap:balance;max-width:28ch}
.prose h2+*{margin-top:.85em}
.prose h3{font-family:var(--sans);font-size:var(--read);font-weight:600;letter-spacing:0;line-height:1.35;margin-top:2em;text-wrap:balance}
.prose h3+p{margin-top:.4em}
.prose ul,.prose ol{padding-left:1.25em}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{padding-left:.25em}
.prose li+li{margin-top:.5em}
.prose li::marker{color:var(--soft)}
.prose a{text-decoration-color:color-mix(in srgb,var(--ink) 45%,transparent);text-underline-offset:.2em;transition:text-decoration-color .2s var(--ease)}
.prose a:hover{text-decoration-color:var(--foil)}
.prose strong{font-weight:650}
.prose em{font-style:italic}
.prose blockquote{margin:2em 0;padding-left:1.25em;border-left:2px solid var(--foil);font-size:var(--t-lead);line-height:1.45;font-style:italic}
.prose figure{margin:2.5em 0}
.prose figure img{height:auto}
.prose figcaption{font-family:var(--sans);margin-top:12px}
.prose code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.86em;background:var(--stone);padding:.1em .3em} /* taste-skill-ignore: literal code only */
.prose pre{background:var(--basalt);color:var(--on-basalt);padding:20px 24px;overflow-x:auto;font-size:.9rem;line-height:1.55}
.prose pre code{background:none;padding:0;color:inherit}

/* tables leave the column and take the wider measure */
.prose .table-wrap{margin:2.25em 0;overflow-x:auto;width:min(100%,100vw);-webkit-overflow-scrolling:touch}
.prose table{border-collapse:collapse;width:100%;min-width:36rem;font-family:var(--sans);font-size:var(--t-body);line-height:1.45;font-variant-numeric:tabular-nums lining-nums}
.prose th,.prose td{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px solid var(--stone-300)}
.prose th{font-weight:600;border-bottom:2px solid var(--ink);padding-top:0}
.prose tr:last-child td{border-bottom:0}

/* index of articles: a contents page */
.page-hero h1{grid-column:1/10;max-width:16em}
.page-hero .lead{margin-top:var(--s0);grid-column:1/8}
.list-sec{padding-top:var(--hg)}
.article-list{grid-column:1/13!important}
.article-list li{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding-block:var(--s1)}
.article-list h2{grid-column:1/8;font-family:var(--serif);font-weight:400;font-size:clamp(1.3125rem,.9rem + 1.1vw,1.875rem);line-height:1.16;letter-spacing:-.014em;max-width:24em;text-wrap:balance}
.article-list h2 a{text-decoration:none}
.article-list h2 a:hover{text-decoration:underline;text-decoration-color:var(--foil);text-decoration-thickness:2px}
.article-list p{grid-column:8/13;color:var(--soft);max-width:44ch;padding-top:.3em}

/* glossary A–Z: the index is a contents panel on stone, like the index page of a printed book */
.prose h2:has(+.az){margin-top:2.2em}
.prose .az,.prose .az-index{margin-inline:calc(-1 * clamp(20px,3vw,48px));padding-inline:clamp(20px,3vw,48px);background:var(--stone)}
.prose .az{padding-top:clamp(20px,3vw,40px);padding-bottom:8px}
.prose .az-index{margin-top:0!important;padding-top:24px;padding-bottom:clamp(24px,3vw,44px)}
.prose .az a{background:var(--ground)}
.az{display:flex!important;flex-wrap:wrap;gap:6px;margin-top:.85em!important}
.az a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:var(--stone);font-family:var(--sans);font-size:var(--t-body);font-weight:500;text-decoration:none;transition:background-color .2s var(--ease),color .2s var(--ease)}
.az a:hover{background:var(--ink);color:var(--ground)}
.az-index{margin-top:2em!important;font-family:var(--sans);font-size:var(--t-body);line-height:1.6}
.az-index p+p{margin-top:.9em}
.az-index strong{display:inline-block;min-width:1.6em;font-family:var(--sans);font-weight:600;font-size:var(--t-body);line-height:1}
.az-index p,.prose h3[id]{scroll-margin-top:24px}
.prose h3:target{color:var(--foil)}

/* closing call on long pages */
.cta{background:var(--stone);margin-top:var(--sec);padding-block:var(--sec)}
.cta>.wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:24px}
.cta>.wrap>*{grid-column:7/13}
.cta>.wrap>h2{grid-column:1/7;grid-row:1/5;font-family:var(--serif);font-weight:400;font-size:clamp(1.3125rem,.6rem + 2.4vw,2.75rem);line-height:1.12;letter-spacing:-.018em;max-width:14em;text-wrap:balance}
.cta p:first-of-type{font-size:var(--t-lead);max-width:36ch}
.cta .btn-light{background:var(--ink);color:var(--ground)}
.cta .btn-light:hover{background:var(--slate-950)}
.cta .small a{color:var(--ink)}

/* 404 */
.nf{min-height:clamp(480px,calc(100svh - var(--bar) - var(--s4)),760px);align-items:end;padding-block:var(--s2) var(--hero-pb);row-gap:var(--s2)}
.nf-copy{grid-column:1/8;grid-row:1}
.nf-copy h1{max-width:12em}
.nf-copy .lead{margin-top:var(--s0)}
.nf-copy .lead a{text-decoration-color:var(--foil)}
.nf-copy .actions{margin-top:var(--s1);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s1)}
.nf-copy .link{font-weight:500;text-underline-offset:.32em}
.nf-mark{grid-column:9/13;grid-row:1;align-self:end;justify-self:end;width:min(100%,400px)}
.nf-mark .member{display:none}

/* motion: only feedback here; long pages stay still */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}

@media (max-width:1099px){
  .bar-nav{gap:24px}
  .prose{grid-column:2/12!important}
  .cta>.wrap>h2{grid-column:1/13;grid-row:auto}
  .cta>.wrap>*{grid-column:1/11}
  .foot-line{grid-column:1/13}.foot-links{grid-column:1/7}
  .nf-copy{grid-column:1/13;grid-row:2}
  .nf-mark{grid-column:4/10;grid-row:1;justify-self:center;max-width:min(260px,28svh)}
  .nf{min-height:0;align-items:start;padding-block:var(--s0) var(--sec)}
}
@media (max-width:899px){
  .bar-nav{display:none}
  .bar-menu{display:block;grid-column:9/13;justify-self:end;position:relative}
  .bar-menu summary{list-style:none;min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:500;font-size:var(--t-body)}
  .bar-menu summary::-webkit-details-marker{display:none}
  .bar-menu nav{position:absolute;right:0;top:52px;z-index:5;background:var(--paper);padding:12px 20px;display:grid;min-width:240px}
  .bar-menu nav a{padding:12px 0;text-decoration:none;font-size:var(--t-body)}
  .prose{grid-column:1/13!important}
  .article-list h2,.article-list p{grid-column:1/13}
  .article-list p{margin-top:12px;padding-top:0}
}
@media (max-width:599px){
  :root{--gap:12px;--read:1.125rem;--bar:76px;--row:var(--s1)}
  .lockup{grid-column:1/9}
  .article h1{font-size:1.625rem;line-height:1.12}
  .prose>p:first-child{font-size:1.25rem}
  .prose h2{font-size:1.3125rem}
  .prose .table-wrap{margin-inline:calc(var(--m) * -1);padding-inline:var(--m);width:auto}
  .page-hero h1{font-size:2.125rem}
  .article-list li{padding-block:var(--s0)}
  .cta>.wrap>*{grid-column:1/13}
  .cta .btn{width:100%;justify-content:center}
  .nf-copy h1{font-size:2.375rem}
  .nf-copy .btn{width:100%;justify-content:center}
  .wm-foot.wm-wide{display:none}.wm-foot.wm-stack{display:block}
  .foot{padding-top:var(--s2)}
  .foot-row{margin-top:var(--s2)}
  .foot-links{gap:0}.foot-links a{display:inline-block;padding:var(--s-2) 0}
  .foot-links,.foot-legal,.foot-top{grid-column:1/13}
  .foot-top{justify-self:start;margin-top:0}
}
.cta h2 span{display:block}
.cta-q{color:var(--soft)}

/* motion: parts rise in as they arrive; the 404 frame draws itself, then goes solid (no member: the piece that is missing) */
@media (prefers-reduced-motion:no-preference){
  html.js .rise{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--d,0) * 70ms)}
  html.js .rise.in{opacity:1;transform:none}
  html.js .nf-mark .wm-intro{opacity:1;animation:wm-out .9s var(--ease) 2.4s forwards}
  html.js .nf-mark .wm-intro .wm-skel path{stroke-dasharray:1;stroke-dashoffset:1;animation:wm-draw 1.1s cubic-bezier(.6,0,.2,1) .2s forwards}
  html.js .nf-mark .wm-intro .wm-nodes circle{opacity:0;animation:wm-node .5s var(--ease) .9s forwards}
  html.js .nf-mark .wm-solid path{animation:wm-cast 1.4s cubic-bezier(.6,0,.1,1) 1.3s both}
}
@keyframes wm-draw{to{stroke-dashoffset:0}}
@keyframes wm-node{from{opacity:0}to{opacity:1}}
@keyframes wm-cast{from{stroke-width:0}}
@keyframes wm-out{to{opacity:0}}

html{color-scheme:light}
a,button,summary,label{touch-action:manipulation;-webkit-tap-highlight-color:rgba(28,31,34,.12)}
.bar-menu summary:hover{text-decoration:underline;text-underline-offset:.4em}

/* the closing call's lead, button and email are one unit; 24px between them as before */
.cta-text{display:grid;row-gap:24px;align-content:start}

/* ---------- composition (desktop, 1100px and up): the same rules as the homepage ----------
   long-form pages keep their layout: the reading column's margins are already within 4% of each other, and
   narrowing the title to the column's edge set the longest titles in three lines */
@media (min-width:1100px){
  /* contents page: the title runs the content width on one line, the lead under it */
  .page-hero>.wrap>h1{max-width:none}
  /* closing call, as on the homepage: the two-line headline across the width at the hero's scale; under it the
     lead takes the left half and the action the right half, on a shared top edge */
  .cta>.wrap>h2{grid-column:1/13;grid-row:auto;max-width:none;font-size:clamp(var(--t-xl),min(.9rem + 3.95vw,1rem + 7svh),5rem);line-height:1.04;letter-spacing:-.022em}
  .cta>.wrap>.cta-text{grid-column:1/13;margin-top:var(--s-1);grid-template-columns:subgrid;align-items:start;row-gap:var(--s-1)}
  .cta-text>p:first-child{grid-column:1/7;grid-row:1/3}
  .cta-text>p:nth-child(2){grid-column:7/13;grid-row:1}
  .cta-text>p.small{grid-column:7/13;grid-row:2}
  /* 404: the copy is set at the homepage hero's scale, so it balances the mark */
  .nf-copy h1{font-size:clamp(2.25rem,min(.9rem + 3.95vw,1rem + 7svh),5rem)}
  /* and the section hugs the pair: mark and copy of comparable height, no field above the copy */
  .nf{min-height:0;padding-block:var(--sec)}
  .nf-copy{grid-column:1/7}
  .nf-mark{grid-column:7/13;width:min(100%,400px);justify-self:center}
  .nf-copy .lead{font-family:var(--serif);font-size:var(--t-st);line-height:1.25;letter-spacing:-.012em;max-width:24ch}
}

/* ---------- service page (/workshop/, batch 3): headline left, content right, as the homepage's offers ---------- */
.page-hero .crumbs+h1{margin-top:28px}
.page-hero .actions{margin-top:var(--s1);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s1)}
.svc{padding-top:var(--sec)}
.svc>.wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:var(--s1)}
.svc h2{grid-column:1/5;font-family:var(--serif);font-weight:400;font-size:clamp(1.625rem,1rem + 1.6vw,2.75rem);line-height:1.1;letter-spacing:-.018em;max-width:11em;text-wrap:balance}
.svc-body{grid-column:6/13;max-width:44em}
.svc-body>*+*{margin-top:var(--s0)}
.svc-body p{font-size:var(--t-lead);line-height:1.5;max-width:46ch}
.svc-body p.statement{font-size:var(--t-st);line-height:1.25;max-width:26ch}
.svc-band{background:var(--stone);margin-top:var(--sec);padding-bottom:var(--sec)}
.svc-steps{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--s2);row-gap:var(--row);counter-reset:st}
.svc-steps>*+*{margin-top:0}
.svc-steps li{counter-increment:st}
.svc-steps h3,.svc-faq h3{font-family:var(--serif);font-weight:400;font-size:var(--t-st);letter-spacing:-.015em;line-height:1.2}
.svc-steps h3::before{content:counter(st) ". ";color:var(--soft)}
.svc-steps p{margin-top:var(--s-1)}
.svc-list li{font-size:var(--t-lead);line-height:1.5;padding-block:var(--s-1);border-top:1px solid var(--stone-300);max-width:46ch}
.svc-list li:last-child{border-bottom:1px solid var(--stone-300)}
.svc-list a,.svc-body p a{text-underline-offset:.2em}
.svc-list a:hover,.svc-body p a:hover{text-decoration-color:var(--foil)}
.svc-faq h3+p{margin-top:var(--s-2)}
.svc-faq p+h3{margin-top:var(--s1)}
@media (max-width:1099px){
  .svc h2{grid-column:1/13;max-width:16em}
  .svc-body{grid-column:1/13}
  .svc-hero .lead{grid-column:1/13}
}
@media (max-width:599px){
  .svc-steps{grid-template-columns:1fr}
  .page-hero .actions .btn{width:100%;justify-content:center}
}
