/* Chainfore v7: home page. White and graphite, a serif second voice, one field of dust. */
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/schibsted-grotesk-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/schibsted-grotesk-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/schibsted-grotesk-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/schibsted-grotesk-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/schibsted-grotesk-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/source-serif-4-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/source-serif-4-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/outfit-latin-800-normal.woff2) format("woff2")}

/* Theme. The logo keeps its own colours (ink #14062E, purple dot #7500C0) in the SVG.
   The page itself is neutral: white, graphite and a warm grey, with the logo's purple used only as a small accent. */
:root{
  --purple:#7500C0;--accent:#7500C0;--accent-d:#B98AF0;--lilac:#D9C2F2;--lilac-2:#B98AF0;--dust-acc:#7500c0;--dust-acc-d:#b98af0;
  --ink:#1A1523;--dark:#1A1523;--paper:#FBF8F3;--mist:#F3EDE4;--text:#1A1523;--body:#463F4F;--soft:#7D7586;--line:rgba(26,21,35,.12);--line-strong:rgba(26,21,35,.22);
  --tone-h:#FBF8F3;--tone-a:#F3ECE1;--tone-b:#E6EDF5;--tone-c:#E8F0E8;--tone-d:#F6E8E3;
  --hero-bg:radial-gradient(60% 70% at 78% 42%,rgba(255,206,170,.55),transparent 70%),radial-gradient(45% 55% at 96% 96%,rgba(170,205,240,.55),transparent 70%);
  --dust-main:#1a1523;--dust-main-d:#f4efe8;
  --paper-glow:radial-gradient(60% 70% at 78% 42%,rgba(255,206,170,.55),transparent 70%),radial-gradient(45% 55% at 96% 96%,rgba(170,205,240,.55),transparent 70%);
  --sans:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;--serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --wrap:1240px;--gut:32px;--col:min(560px,46vw);
}
:root[data-theme=graphite]{--ink:#18171C;--dark:#18171C;--paper:#FFFFFF;--mist:#F4F3F0;--text:#18171C;--body:#45434B;--soft:#7B7872;--line:rgba(24,23,28,.12);--line-strong:rgba(24,23,28,.22);--tone-h:#fff;--tone-a:#fff;--tone-b:#F4F3F0;--tone-c:#fff;--tone-d:#F4F3F0;--hero-bg:none;--dust-main:#18171c;--dust-main-d:#efede8}
:root[data-theme=navy]{--ink:#0F1B2E;--dark:#0F1B2E;--mist:#F1F4F8;--text:#0F1B2E;--body:#3D4757;--soft:#6E7787;--line:rgba(15,27,46,.12);--line-strong:rgba(15,27,46,.22);--dust-main:#0f1b2e;--dust-main-d:#eef2f7}
/* B. Studio: warm white, sand, sky, sage and blush sections, soft glows and paper grain */
:root[data-theme=studio]{--ink:#1A1523;--dark:#1A1523;--paper:#FBF8F3;--mist:#F3EDE4;--text:#1A1523;--body:#463F4F;--soft:#7D7586;--line:rgba(26,21,35,.12);--line-strong:rgba(26,21,35,.22);
  --tone-h:#FBF8F3;--tone-a:#F3ECE1;--tone-b:#E6EDF5;--tone-c:#E8F0E8;--tone-d:#F6E8E3;
  --hero-bg:radial-gradient(60% 70% at 78% 42%,rgba(255,206,170,.55),transparent 70%),radial-gradient(45% 55% at 96% 96%,rgba(170,205,240,.55),transparent 70%);
  --dust-main:#1a1523;--dust-main-d:#f4efe8}
/* C. Ink and lime: white and pale grey, one lime section, lime highlights; purple stays in the logo */
:root[data-theme=lime]{--ink:#14121A;--dark:#14121A;--paper:#FFFFFF;--mist:#F3F3EE;--text:#14121A;--body:#43414A;--soft:#7A7882;--line:rgba(20,18,26,.12);--line-strong:rgba(20,18,26,.22);--accent:#14121A;
  --tone-h:#FFFFFF;--tone-a:#F3F3EE;--tone-b:#E4F3B0;--tone-c:#FFFFFF;--tone-d:#F3F3EE;
  --hero-bg:radial-gradient(50% 60% at 80% 45%,rgba(214,242,107,.45),transparent 70%);
  --dust-main:#14121a;--dust-acc:#7500c0;--dust-main-d:#f2f5e6;--dust-acc-d:#d6f26b}
:root[data-theme=lime] .btn-ink:hover{background:#D6F26B;color:#14121A}
:root[data-theme=lime] .pin-count b,:root[data-theme=lime] .kicker::before{background:#9BC21B}
:root[data-theme=lime] .mk path{stroke:#9BC21B}
/* D. Paper: warm paper and clay, an ink band, soft grain */
:root[data-theme=paper]{--ink:#221C17;--dark:#221C17;--paper:#F7F2EA;--mist:#EEE5D8;--text:#221C17;--body:#4E453C;--soft:#887D70;--line:rgba(34,28,23,.13);--line-strong:rgba(34,28,23,.24);
  --tone-h:#F7F2EA;--tone-a:#EFE6D9;--tone-b:#F7F2EA;--tone-c:#E8DCCB;--tone-d:#F7F2EA;
  --hero-bg:radial-gradient(55% 65% at 80% 45%,rgba(232,196,160,.5),transparent 70%);
  --dust-main:#221c17;--dust-main-d:#f6efe4}
/* paper grain */
:root[data-theme=graphite] body::before,:root[data-theme=lime] body::before{display:none}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%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 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
:root[data-theme=stone]{--ink:#1F1B16;--dark:#1F1B16;--paper:#FBF9F5;--mist:#F1ECE3;--text:#1F1B16;--body:#4A443C;--soft:#857C70;--line:rgba(31,27,22,.12);--line-strong:rgba(31,27,22,.22);--dust-main:#1f1b16;--dust-main-d:#f3eee6}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--text);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);position:relative;z-index:2}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}
.skip:focus{left:12px}

/* ---------- the dust canvas sits between section backgrounds and their content ---------- */
canvas.dust{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;pointer-events:none}
.no-dust canvas.dust{display:none}
/* Keep the Calendly popup above everything, and hide the particle field while it is open. */
.calendly-overlay{z-index:2147483000 !important}
body:has(.calendly-overlay) canvas.dust{display:none}

/* ---------- header ---------- */
header.top{position:sticky;top:0;z-index:30;height:72px;background:var(--paper);box-shadow:0 1px 0 var(--line)}
header.top .wrap{display:flex;align-items:center;gap:28px;height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand svg{width:34px;height:34px}
.brand .word{font:800 25px/1 "Outfit",var(--sans);letter-spacing:-.035em}
.nav{display:flex;align-items:center;gap:26px}
.nav>a,.nav .dd>a{font-size:15px;font-weight:500;text-decoration:none;padding:8px 0;color:inherit;opacity:.86}
.nav>a:hover,.nav .dd>a:hover{opacity:1}
.nav a[aria-current]{opacity:1;text-decoration:underline;text-decoration-color:var(--ink);text-underline-offset:8px;text-decoration-thickness:2px}
.dd{position:relative}
.dd .menu{position:absolute;top:100%;left:-18px;min-width:250px;padding:10px;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.12),0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s}
.dd:hover .menu,.dd:focus-within .menu{opacity:1;visibility:visible;transform:none}
.dd .menu a{display:block;padding:9px 12px;border-radius:9px;font-size:14.5px;text-decoration:none}
.dd .menu a:hover{background:var(--mist)}
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer;color:inherit}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:22px;height:2px;background:currentColor;margin:auto;position:relative;transition:transform .25s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-7px}.menu-btn span::after{top:7px}
.menu-open .menu-btn span{background:transparent}
.menu-open .menu-btn span::before{transform:translateY(7px) rotate(45deg)}
.menu-open .menu-btn span::after{transform:translateY(-7px) rotate(-45deg)}
.mnav{display:none}

/* ---------- buttons and links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border-radius:999px;border:0;font:600 15.5px/1 var(--sans);letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000}
.btn-sm{height:40px;padding:0 18px;font-size:14px}
.go{font-weight:600;text-decoration:none;background:linear-gradient(var(--ink),var(--ink)) 0 100%/100% 1.5px no-repeat;padding-bottom:3px;transition:background-size .3s,color .2s}
.go:hover{opacity:.7}
.go.big{font-size:16px}
[data-dark] .go{background-image:linear-gradient(#fff,#fff)}

/* ---------- type ---------- */
h1,h2{text-wrap:balance}
p,li{text-wrap:pretty}
h1{font:700 clamp(40px,4.5vw,68px)/1.02 var(--sans);letter-spacing:-.038em;color:var(--ink)}
h2{font:700 clamp(30px,3.3vw,48px)/1.06 var(--sans);letter-spacing:-.032em;color:var(--ink)}
.soft{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;color:var(--soft)}
.lead{font-size:clamp(18px,1.35vw,20px);line-height:1.55;color:var(--body);margin-top:26px;max-width:34em}
.kicker{display:flex;align-items:center;gap:12px;font:400 16px/1.2 var(--serif);color:var(--body);margin-bottom:22px}
.kicker::before{content:"";width:26px;height:1.5px;background:var(--ink);flex:none}
.fine{font-size:14px;color:var(--soft);margin-top:18px}
.fine a{color:inherit}

/* hand-drawn underline under a keyword */
.mk{position:relative;white-space:nowrap;display:inline-block}
.mk svg{position:absolute;left:-3%;bottom:-.16em;width:106%;height:.36em;overflow:visible;pointer-events:none}
.mk path{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1600;stroke-dashoffset:1600;transition:stroke-dashoffset 1.6s cubic-bezier(.6,0,.2,1) .35s}
.hero .mk path,.is-on .mk path,.in .mk path,html:not(.js) .mk path{stroke-dashoffset:0}
.js .hero .mk path{stroke-dashoffset:1600}
.js .hero h1.in .mk path{stroke-dashoffset:0;transition-delay:.9s}
[data-dark] .mk path{stroke:var(--accent-d)}

/* ---------- sections ---------- */
.s{min-height:100vh;display:flex;align-items:center;padding:clamp(96px,14vh,160px) 0}
.s>.wrap{width:100%}
.col{max-width:var(--col)}
.mist{background:var(--mist)}
/* section tones: each theme sets these five */
[data-tone=h]{background:var(--hero-bg),var(--tone-h)}
[data-tone=a]{background:var(--tone-a)}
[data-tone=b]{background:var(--tone-b)}
[data-tone=c]{background:var(--tone-c)}
[data-tone=d]{background:var(--tone-d)}
.hero[data-tone=h]{background:var(--hero-bg),var(--tone-h)}
[data-dark]{background:var(--dark);color:#fff}
[data-dark] h2,[data-dark] h1{color:#fff}
[data-dark] .soft{color:rgba(255,255,255,.6)}
[data-dark] .lead,[data-dark] p,[data-dark] li{color:rgba(255,255,255,.8)}
[data-dark] .kicker{color:rgba(255,255,255,.82)}
[data-dark] .kicker::before{background:#fff}
[data-dark] .fine{color:rgba(255,255,255,.58)}

/* text rises in */
.js [data-rise]{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js [data-rise].in{opacity:1;transform:none}
.js .hero [data-rise]:nth-child(2){transition-delay:.12s}
.js .hero [data-rise]:nth-child(3){transition-delay:.24s}
.js .hero [data-rise]:nth-child(4){transition-delay:.36s}

/* hero */
.hero{min-height:calc(100vh - 72px);padding-top:clamp(56px,9vh,110px)}
.hero .col{max-width:min(700px,50vw)}
.hero h1{max-width:none;font-size:clamp(44px,5vw,76px);text-wrap:wrap}
.hero h1 .soft{display:block}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:36px}
.for{margin-top:46px;font-size:15px;color:var(--soft)}
.for a{color:var(--ink);font-weight:500;text-decoration-color:var(--line-strong);text-underline-offset:4px}
.for a:hover{text-decoration-color:var(--ink)}

/* clients */
.clients{padding:70px 0 54px;overflow:hidden}
.clients .kicker{margin-bottom:30px}
.mq{display:flex;overflow:hidden;position:relative;z-index:2;background:var(--dark);padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.mq-in{display:flex;flex:none;gap:72px;padding-right:72px;animation:mq 46s linear infinite}
.mq-in li{font:600 clamp(24px,2.5vw,36px)/1 var(--sans);letter-spacing:-.03em;color:#fff;white-space:nowrap}
.mq-in li small{font:400 .5em/1 var(--serif);letter-spacing:0;color:rgba(255,255,255,.6);margin-left:.35em}
@keyframes mq{to{transform:translateX(-100%)}}
.clients .fine{margin-top:30px}

/* pinned statements */
.pin{position:relative}
.pin-track{position:relative;height:400vh}
.pin-mark{position:absolute;left:0;width:1px;height:100vh;pointer-events:none}
.pin-stick{position:sticky;top:0;height:100vh;display:flex;align-items:center;z-index:2}
.pin-stick>.wrap{width:100%}
.pin h2{max-width:14em}
.pin-steps{display:grid;margin-top:44px;border-left:1.5px solid var(--ink);padding:4px 0 4px 24px;min-height:4.8em}
.pin-step{grid-area:1/1;font-size:clamp(19px,1.5vw,22px);line-height:1.5;color:var(--ink);opacity:0;filter:blur(8px);transform:translateY(10px);transition:opacity .6s,filter .6s,transform .6s}
.pin-step.is-on{opacity:1;filter:none;transform:none}
.pin-count{display:flex;align-items:center;gap:10px;margin-top:30px;font:400 15px/1 var(--serif);color:var(--soft)}
.pin-count .n{color:var(--ink)}
.pin-count i{display:block;width:120px;height:2px;background:var(--line);margin-left:10px;position:relative}
.pin-count b{position:absolute;left:0;top:0;bottom:0;width:25%;background:var(--ink);transition:width .6s}
html:not(.js) .pin-track{height:auto}
html:not(.js) .pin-stick{position:static;height:auto;padding:120px 0}
html:not(.js) .pin-step{grid-area:auto;opacity:1;filter:none;transform:none;margin-bottom:14px}
html:not(.js) .pin-count{display:none}

/* how a workflow runs */
.flow{margin-top:40px;border-top:1px solid var(--line)}
.flow li{display:grid;grid-template-columns:44px 1fr auto;align-items:baseline;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.flow .n{font:400 15px/1 var(--serif);color:var(--soft)}
.flow b{display:block;font-weight:600;font-size:17px;line-height:1.35}
.flow div span{display:block;font-size:15px;color:var(--soft);margin-top:3px}
.flow em{font-style:normal;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.flow em::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}

/* case */
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 44px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.facts dt{font-size:13px;color:var(--soft)}
.facts dd{font-weight:600;font-size:16px;margin-top:4px}
.also{margin-top:28px;color:var(--body);font-size:16px}
.also+p,.offers+p,.col>div[data-rise]+p,.fine+p:not(.fine){margin-top:26px}
.flow b{font-size:17px}

/* sizes */
.sizes{margin-top:40px}
.sizes li{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line)}
.sizes li:last-child{border-bottom:1px solid var(--line)}
.sizes .dot{display:block;border-radius:50%;background:var(--ink);justify-self:center;margin-top:6px}
.sizes .dot.d1{width:12px;height:12px;margin-top:10px}
.sizes .dot.d2{width:22px;height:22px;margin-top:5px}
.sizes .dot.d3{width:34px;height:34px;margin-top:0}
.sizes h3{font:700 21px/1.2 var(--sans);letter-spacing:-.02em}
.sizes p{color:var(--body);font-size:16px;margin:8px 0 12px}
.sizes .go{font-size:15px}

/* offers */
.offers{margin-top:40px;border-top:1px solid var(--line)}
.offers a{display:grid;grid-template-columns:44px 1fr auto;align-items:baseline;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .3s,color .2s}
.offers a:hover{padding-left:8px}
.offers .n{font:400 15px/1 var(--serif);color:var(--soft)}
.offers b{display:block;font-weight:600;font-size:18px;letter-spacing:-.015em}
.offers .t span{display:block;font-size:15px;color:var(--soft);margin-top:2px}
.offers .len{font-size:14px;color:var(--soft);white-space:nowrap}

/* four units */
.units{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin-top:40px;border-bottom:1px solid var(--line)}
.units li{padding:22px 0 24px;border-top:1px solid var(--line)}
.units .st{font:400 14px/1.3 var(--serif);color:var(--soft)}
.units h3{font:700 21px/1.2 var(--sans);letter-spacing:-.02em;margin:6px 0 8px}
.units p{font-size:15.5px;color:var(--body);margin-bottom:12px}
.units .go{font-size:15px}
.units+p{margin-top:26px}

/* trust as a status list */
.status{margin-top:36px;border-bottom:1px solid var(--line)}
.status li{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}
.status .st{font:400 15px/1.5 var(--serif);color:var(--soft)}
.status li:first-child .st::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:middle}
.status p{font-size:16px;color:var(--body)}
.status+.links{margin-top:26px}

/* trust */
.checks{margin-top:36px;border-bottom:1px solid var(--line)}
.checks+.fine{margin-top:16px}
.checks li{position:relative;padding:14px 0 14px 34px;border-top:1px solid var(--line);font-size:16.5px;color:var(--body)}
.checks li::before{content:"";position:absolute;left:2px;top:21px;width:14px;height:8px;border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(-45deg)}
.checks a{color:var(--ink)}
.links{display:flex;flex-wrap:wrap;gap:28px;margin-top:28px}
.founder{margin-top:52px;padding-top:26px;border-top:1px solid var(--line)}
.founder .who{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:10px}
.founder .who b{font-size:19px;color:var(--ink);letter-spacing:-.01em}
.founder .who span{font:400 15px/1.3 var(--serif);color:var(--soft)}
.founder p{font-size:16px;color:var(--body)}

/* contact + form */
.contact .col{max-width:min(620px,50vw)}
.contact .actions{margin-top:28px}
form.f{margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
form.f .hp{position:absolute;left:-9999px}
form.f .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
form.f .full{grid-column:1/-1}
form.f label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px;color:var(--ink)}
form.f .opt{font-weight:400;color:var(--soft)}
form.f input:not([type=checkbox]),form.f select,form.f textarea{width:100%;font:400 16px/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:12px;padding:13px 14px;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
form.f select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2318171C' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:36px}
form.f input[type=file]{padding:10px}
form.f textarea{min-height:110px;resize:vertical}
form.f input:focus,form.f select:focus,form.f textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 4px rgba(0,0,0,.06)}
form.f ::placeholder{color:#a19d97}
.fmore{margin-top:18px}
.fmore summary{cursor:pointer;font-weight:600;font-size:15px;color:var(--ink);list-style:none;display:inline-flex;align-items:center;gap:8px}
.fmore summary::-webkit-details-marker{display:none}
.fmore summary::before{content:"+";font-weight:400;font-size:20px;line-height:1}
.fmore[open] summary::before{content:"−"}
.fmore .fgrid{margin-top:16px}
.consent{display:flex !important;gap:10px;align-items:flex-start;font-weight:400 !important;font-size:14px !important;color:var(--body) !important;margin-top:20px}
.consent input{margin-top:3px;accent-color:var(--ink);width:16px;height:16px;flex:none}
.fsend{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px}
.fsend .note{font-size:14px;color:var(--soft)}
.formmsg{display:none;margin-top:16px;padding:12px 14px;border-radius:10px;background:var(--mist);font-size:15px}
.formmsg.show{display:block}

/* on phones the dust draws into these slots instead of behind the text */
.slot{display:none}

/* ---------- footer ---------- */
footer.site{position:relative;z-index:3;background:var(--dark);color:#fff;padding:80px 0 34px}
footer.site .fgrid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:36px}
footer.site .brand{color:#fff}
footer.site .fnote{margin-top:18px;font-size:14px;color:rgba(255,255,255,.6);max-width:24em}
footer.site h4{font:600 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:16px}
footer.site li{margin:9px 0}
footer.site li a{text-decoration:none;font-size:14.5px;color:rgba(255,255,255,.86)}
footer.site li a:hover{color:#fff}
footer.site .fbase{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:rgba(255,255,255,.5)}
footer.site .fbase a{color:inherit;text-decoration:none}
footer.site .fbase a:hover{color:#fff}

/* ---------- smaller screens: dust moves behind the text, faint ---------- */
@media (max-width:1100px){.nav{gap:18px}.nav>a,.nav .dd>a{font-size:14px}}
@media (max-width:899px){
  :root{--gut:22px;--col:100%}
  .nav,header.top .btn-sm{display:none}
  .menu-btn{display:block}
  .mnav{display:none;position:fixed;inset:72px 0 0;z-index:29;background:var(--paper);padding:18px 22px 40px;overflow:auto}
  .menu-open .mnav{display:block}
  .mnav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:18px;font-weight:500;text-decoration:none;color:var(--ink)}
  .mnav .btn{display:flex;margin-top:22px;border:0;color:#fff;width:100%;padding:0 28px}
  .s{min-height:0;padding:96px 0}
  .hero{min-height:calc(100svh - 72px);padding:48px 0 72px}
  .contact .col{max-width:none}
  .hero .col{max-width:none}
  .slot{display:block;height:min(210px,26vh);margin:26px 0 4px}
  .hero .slot{height:min(200px,24vh);margin:30px 0 0}
  .for{margin-top:18px}
  .pin .slot{height:min(190px,22vh);margin:18px 0 6px}
  .pin-steps{margin-top:10px}
  .pin-stick{padding-top:56px}
  .facts{grid-template-columns:1fr 1fr}
  footer.site .fgrid{grid-template-columns:1fr 1fr}
  footer.site .fgrid>div:first-child{grid-column:1/-1}
}
@media (max-width:560px){
  body{font-size:16px}
  .flow li,.offers a{grid-template-columns:34px 1fr}
  .flow em,.offers .len{grid-column:2}
  form.f .fgrid{grid-template-columns:1fr}
  .units{grid-template-columns:1fr}
  .status li{grid-template-columns:1fr;gap:4px}
  .actions{gap:20px}
  .mq-in{gap:44px;padding-right:44px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .mq-in{animation:none}
  .mq{flex-wrap:wrap;-webkit-mask-image:none;mask-image:none}
  .mq-in[aria-hidden]{display:none}
  .mq-in{flex-wrap:wrap;gap:18px 44px;padding:0 var(--gut);max-width:var(--wrap);margin:0 auto}
  .js [data-rise]{opacity:1;transform:none;transition:none}
  .pin-step{transition:none;filter:none}
  .mk path{transition:none}
}

/* ===================== inner pages: components ===================== */
/* ---------- section scaffolding ---------- */
.band{padding:clamp(80px,10vw,140px) 0}
.band.mist{background:var(--mist)}
.band.ink{background:var(--tone-b)}


.band.tight{padding-top:0}
.shead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 56px;align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.shead h2{font-weight:700;font-size:clamp(34px,4.6vw,66px);line-height:1.02;letter-spacing:-.035em}
.shead p{margin:0}
.rv{opacity:1}

/* principles as statements */
.principles{border-top:1.5px solid var(--ink)}
.principles > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 56px;padding:clamp(28px,3.5vw,44px) 0;border-bottom:1px solid var(--line-strong);align-items:baseline}
.principles h3{font-weight:700;font-size:clamp(28px,3.4vw,48px);letter-spacing:-.03em;line-height:1.05}
.principles p{margin:0;color:var(--soft);font-size:18px;max-width:30em}

/* units */
.units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--ink);margin-top:40px}
.units > div{padding:28px 24px 8px 0}
.units > div + div{padding-left:24px;border-left:1px solid var(--line)}
.units h3{font-weight:700;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.02em;margin-bottom:10px}
.units p{color:var(--body);font-size:16px;margin:0 0 12px}
.units .sub{font-size:14.5px;color:var(--soft)}
.units canvas{display:block;width:100%;height:120px;margin-bottom:18px}

/* offers list (decisions) */
.olist{border-top:1.5px solid var(--ink)}
.olist a{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 140px 36px;gap:12px 32px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line-strong);text-decoration:none}
.olist h3{font-weight:600;font-size:clamp(22px,2.4vw,32px);letter-spacing:-.02em;transition:color .25s}
.olist p{margin:0;color:var(--soft)}
.olist .len{color:var(--ink);font-weight:500;text-align:right}
.olist .go{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-strong);align-self:center;position:relative;transition:background .3s,border-color .3s}
.olist .go::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink);transform:translate(-65%,-50%) rotate(45deg)}
.olist a:hover h3{color:var(--ink)}
.olist a:hover .go{background:var(--ink);border-color:var(--ink)}
.olist a:hover .go::after{border-color:#fff}
.connect{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;margin-top:48px}
.same{margin:0;padding:0;list-style:none}
.same li{position:relative;padding:10px 0 10px 26px;border-top:1px solid var(--line)}
.same li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:10px;border-radius:50%;background:var(--ink)}

/* growing companies band */
.grow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:center}
.grow h2{font-weight:700;font-size:clamp(34px,4.6vw,66px);line-height:1.02;letter-spacing:-.035em}
.grow .lead{margin:22px 0 30px}
.grow canvas{width:100%;height:clamp(240px,26vw,360px);display:block}

/* method sticky */
.method{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px}
.method .stick{position:sticky;top:120px;align-self:start}
.method .stick h2{font-weight:700;font-size:clamp(32px,3.6vw,52px);line-height:1.05;letter-spacing:-.03em}
.method ol{list-style:none;margin:28px 0 0;padding:0}
.method ol li{font-family:var(--sans);font-weight:700;font-size:clamp(34px,4.4vw,62px);line-height:1.08;letter-spacing:-.035em;color:var(--line-strong);transition:color .35s}
.method ol li.on{color:var(--ink)}
.method ol li .n{font-size:.32em;vertical-align:.95em;margin-right:12px;color:var(--line-strong);letter-spacing:0}
.method ol li.on .n{color:var(--soft)}
.steps{display:flex;flex-direction:column;gap:clamp(80px,14vh,150px);padding:clamp(40px,8vh,90px) 0 clamp(60px,12vh,120px)}
.step h3{font-weight:600;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em;margin-bottom:12px}
.step p{color:var(--body);font-size:18px;max-width:30em;margin:0 0 10px}
.step .out{font-size:15px;color:var(--soft)}

/* tables and spec rows */
.scroll-x{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:16px}
.tbl th,.tbl td{text-align:left;padding:15px 18px 15px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:600;border-bottom:1.5px solid var(--ink)}
.tbl td:first-child{font-weight:500}
.spec{border-top:1.5px solid var(--ink);margin:0}
.spec > div{display:grid;grid-template-columns:minmax(170px,.32fr) minmax(0,1fr);gap:8px 40px;padding:22px 0;border-bottom:1px solid var(--line)}
.spec dt{font-weight:600}
.spec dd{margin:0}
.spec dd > :last-child{margin-bottom:0}
.dots{margin:0;padding:0;list-style:none}
.dots li{position:relative;padding-left:22px;margin-bottom:7px}
.dots li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--ink)}
.numbered{margin:0;padding:0;list-style:none;counter-reset:n}
.numbered li{counter-increment:n;display:grid;grid-template-columns:44px 1fr;gap:8px;padding:16px 0;border-top:1px solid var(--line)}
.numbered li::before{content:counter(n);font-family:var(--sans);font-weight:600;color:var(--ink);font-size:18px}
.numbered li b{font-weight:600}

/* security trio */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--ink)}
.trio > div{padding:26px 28px 6px 0}
.trio > div + div{padding-left:28px;border-left:1px solid var(--line)}
.trio h3{font-weight:600;font-size:23px;margin-bottom:8px}
.trio p{color:var(--soft);margin:0}

/* clients */
.clients{display:flex;flex-wrap:wrap;gap:14px 48px;align-items:baseline}
.clients span{font-family:var(--sans);font-weight:700;font-size:clamp(26px,3.2vw,44px);letter-spacing:-.03em}

/* closing */
.closing{position:relative;padding:clamp(100px,13vw,180px) 0;overflow:hidden}
.closing h2{font-weight:700;font-size:clamp(46px,8vw,120px);line-height:.95;letter-spacing:-.045em;max-width:9em}
.closing .lead{margin:26px 0 34px}

/* inner page hero */
.phero{padding:clamp(48px,6.5vw,96px) 0 clamp(40px,5vw,64px)}
.crumbs{font-size:15px;color:var(--soft);margin-bottom:22px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.phero h1{font-weight:700;font-size:clamp(38px,5.4vw,76px);line-height:1.02;letter-spacing:-.04em;max-width:16em}
.phero .lead{margin:24px 0 30px}
.phero .meta{display:flex;flex-wrap:wrap;gap:10px 36px;border-top:1px solid var(--line-strong);padding-top:18px;margin-top:8px;color:var(--soft);font-size:15.5px}
.phero .meta b{color:var(--ink);font-weight:600}

.two{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px)}
.two h2{font-weight:700;font-size:clamp(30px,3.4vw,46px);line-height:1.05;letter-spacing:-.03em}
.next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1.5px solid var(--ink)}
.next a{display:block;padding:24px 24px 26px 0;text-decoration:none;border-bottom:1px solid var(--line)}
.next a + a{padding-left:24px;border-left:1px solid var(--line);text-align:right}
.next small{color:var(--soft);font-size:14px}
.next h3{font-weight:600;font-size:22px;transition:color .25s}
.next a:hover h3{color:var(--ink)}

@media (max-width:1060px){
  .shead,.grow,.method,.connect,.two,.principles > div{grid-template-columns:1fr}
  .units{grid-template-columns:1fr 1fr}
  .units > div:nth-child(3){padding-left:0;border-left:0}
  .olist a{grid-template-columns:1fr 36px}
  .olist p,.olist .len{grid-column:1}
  .olist .len{text-align:left}
  .olist .go{grid-row:1;grid-column:2}
  .method .stick{position:relative;top:0}
  .method ol{display:none}
  .steps{gap:44px;padding:0}
  .trio,.ways{grid-template-columns:1fr}
  .trio > div + div,.ways a + a{padding-left:0;border-left:0}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .units{grid-template-columns:1fr}
  .units > div,.units > div + div{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .spec > div{grid-template-columns:1fr;gap:4px}
  .next{grid-template-columns:1fr}
  .next a + a{padding-left:0;border-left:0;text-align:left}
}

/* ---------- additions: shared page elements ---------- */
.trusted{display:grid;grid-template-columns:auto 1fr;gap:12px 40px;align-items:baseline;padding:26px 0 0}
.trusted small{font-size:14.5px;color:var(--soft);font-weight:500}
.trusted div{display:flex;flex-wrap:wrap;gap:8px 40px}
.trusted span{font-family:var(--sans);font-weight:700;font-size:clamp(20px,2vw,27px);letter-spacing:-.02em;color:var(--ink)}
.flowlabels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-size:15px;color:var(--soft);margin-top:8px}
.flowlabels span:nth-child(2){text-align:center}
.flowlabels span:nth-child(3){text-align:right}
.flowlabels b{display:block;color:var(--ink);font-weight:600;font-size:16px}
.tag{display:block;font-size:13.5px;font-weight:600;color:var(--ink);letter-spacing:.02em;margin-bottom:8px}

.note{font-size:15px;color:var(--soft);max-width:52em}

.prose{max-width:46em}
.prose h3{font-weight:600;font-size:23px;letter-spacing:-.01em;margin:34px 0 8px}
.prose h3:first-child{margin-top:0}
.prose p{color:var(--soft)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;margin-top:8px}
.more::after{content:"";width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);transition:transform .25s}
.more:hover::after{transform:translateX(3px) rotate(45deg)}
.units .more{font-size:15.5px}
.dd .menu hr{border:0;border-top:1px solid var(--line);margin:6px 8px}
.dd .menu.wide{min-width:340px}
/* faq */
.faq{border-top:1.5px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 48px 22px 0;position:relative;font-family:var(--sans);font-weight:600;font-size:clamp(19px,1.8vw,23px);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:10px;top:50%;width:10px;height:10px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
.faq details p{color:var(--soft);max-width:46em;margin:0;padding:0 0 22px}
/* four across */
.quad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--ink)}
.quad > div{padding:24px 24px 8px 0}
.quad > div + div{padding-left:24px;border-left:1px solid var(--line)}
.quad .n{display:block;font-family:var(--sans);font-weight:700;font-size:15px;color:var(--ink);margin-bottom:12px}
.quad h3{font-weight:600;font-size:23px;margin-bottom:8px;letter-spacing:-.01em}
.quad p{color:var(--soft);margin:0;font-size:16px}




/* measures and weighted rows */
.weights .bar{display:block;height:6px;border-radius:6px;background:var(--mist);margin-top:8px;overflow:hidden}
.weights .bar i{display:block;height:100%;background:var(--ink);border-radius:6px}
.tbl td .s{display:inline-block;font-size:14px;font-weight:600;color:var(--ink)}
.tbl.status td:last-child{color:var(--soft)}
/* product rows */
.plist{border-top:1.5px solid var(--ink)}
.plist a{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) 150px 36px;gap:12px 32px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line-strong);text-decoration:none}
.plist h3{font-weight:700;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em;transition:color .25s}
.plist p{margin:0;color:var(--soft)}
.plist .st{font-weight:600;font-size:15px;text-align:right}
.plist .st.live{color:var(--ink)}
.plist .go{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-strong);align-self:center;position:relative;transition:background .3s,border-color .3s}
.plist .go::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink);transform:translate(-65%,-50%) rotate(45deg)}
.plist a:hover h3{color:var(--ink)}
.plist a:hover .go{background:var(--ink);border-color:var(--ink)}
.plist a:hover .go::after{border-color:#fff}
/* trace */
.trace{margin:0;padding:0;list-style:none;border-top:1.5px solid var(--ink)}
.trace li{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:8px 32px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.trace .who{font-family:var(--sans);font-weight:600}
.trace .what{color:var(--ink)}
.trace .chk{color:var(--soft);font-size:15.5px}
/* facts */
.facts{margin:0;padding:0;list-style:none;border-top:1.5px solid var(--ink)}
.facts li{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px 32px;padding:18px 0;border-bottom:1px solid var(--line)}
.facts li span:last-child{color:var(--soft);font-size:15px;text-align:right}
/* person */
.person{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px);align-items:start}
.person .mono{width:min(320px,100%);aspect-ratio:1;border-radius:50%;background:var(--mist);color:var(--ink)!important;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--sans);font-weight:700;font-size:clamp(56px,7vw,96px);letter-spacing:-.04em}
.bignum{font-family:var(--sans);font-weight:700;font-size:clamp(46px,6vw,84px);line-height:1;letter-spacing:-.04em}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px}
.split h3{font-weight:600;font-size:23px;margin-bottom:8px}
.split p{color:var(--soft)}
@media (max-width:1060px){
  .quad{grid-template-columns:1fr 1fr}
  .quad > div:nth-child(3){padding-left:0;border-left:0}
  .plist a{grid-template-columns:1fr 36px}
  .plist p,.plist .st{grid-column:1}
  .plist .st{text-align:left}
  .plist .go{grid-row:1;grid-column:2}
  .trace li{grid-template-columns:1fr}
  .person,.split{grid-template-columns:1fr}
  .trusted{grid-template-columns:1fr}
}
@media (max-width:640px){
  .quad{grid-template-columns:1fr}
  .quad > div,.quad > div + div{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .quad > div:first-child{border-top:0}
  .facts li{grid-template-columns:1fr}
  .facts li span:last-child{text-align:left}
  .flowlabels{font-size:13.5px}
  .flowlabels b{font-size:14.5px}
}

.connect h3{font-weight:600;font-size:clamp(22px,2vw,26px);letter-spacing:-.01em;margin-bottom:12px}
.connect p{color:var(--soft)}
.olist h3 small{font-family:var(--sans);font-size:.5em;font-weight:700;color:var(--ink);margin-right:14px;vertical-align:.45em;letter-spacing:0}





@media (max-width:640px){
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl tbody{border-top:1.5px solid var(--ink)}
  
  .tbl tr{padding:14px 0;border-bottom:1px solid var(--line)}
  
  .tbl td{border:0;padding:3px 0}
  .tbl td::before{content:attr(data-label);display:block;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);margin-top:6px}
  
  .tbl td:first-child::before{display:none}
  .tbl td:first-child{font-family:var(--sans);font-weight:600;font-size:18px}
}


/* ================= v6: home page, one column of content beside the chain ================= */
.home6 .col{max-width:min(660px,56%)}
.sizes{margin:28px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:15.5px;color:var(--soft)}
.sizes a{color:var(--ink);font-weight:500;text-decoration:none;border-bottom:1px solid var(--line-strong)}
.sizes a:hover{color:var(--ink);border-color:var(--ink)}
.sec6{padding:clamp(80px,10vw,150px) 0}
.sec6.mist{background:var(--mist)}
.h6{font-weight:700;font-size:clamp(34px,4.2vw,58px);line-height:1.03;letter-spacing:-.035em}
.sec6 .lead{margin:20px 0 0;max-width:34em}
.label6{display:block;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:14px}
.clientwall{display:flex;flex-wrap:wrap;gap:10px 34px;margin-top:34px}
.clientwall b{font-family:var(--sans);font-weight:700;font-size:clamp(26px,3vw,40px);letter-spacing:-.03em;line-height:1.15}
.clientwall + .note{margin-top:20px}
.case6{margin-top:34px;border-top:1.5px solid var(--ink)}
.case6 div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.case6 dt{color:var(--soft)}
.case6 dd{margin:0;font-weight:500}
.also{margin-top:26px;color:var(--soft)}
.also b{color:var(--ink);font-weight:600}
.caps{margin-top:34px;border-top:1.5px solid var(--ink)}
.caps a{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:6px 20px;padding:22px 0;border-bottom:1px solid var(--line-strong);text-decoration:none}
.caps h3{font-weight:600;font-size:clamp(21px,2vw,27px);letter-spacing:-.02em;transition:color .2s}
.caps p{grid-column:1;margin:0;color:var(--soft)}
.caps .go{grid-row:1;grid-column:2;align-self:center;color:var(--soft);transition:transform .2s,color .2s}
.caps .go::after{content:"\2192"}
.caps a:hover h3{color:var(--ink)}
.caps a:hover .go{transform:translateX(4px);color:var(--ink)}
.offers-line{margin-top:28px;color:var(--soft)}
.offers-line a{color:var(--ink)}
.units6{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:34px;border-top:1.5px solid var(--ink)}
.units6 > div{padding:22px 0;border-bottom:1px solid var(--line)}
.units6 h3{font-weight:700;font-size:24px;letter-spacing:-.02em;margin-bottom:6px}
.units6 p{margin:0;color:var(--soft);font-size:16px}
.units6 small{display:block;font-size:14px;color:var(--ink);font-weight:600;margin-bottom:6px}
.contact6 .cta-row{margin-top:26px}
.contact6 form{margin-top:34px}
.founder{border-top:1.5px solid var(--ink);padding-top:22px}
.founder h3{font-weight:700;font-size:clamp(22px,2vw,27px)}
.founder .role{color:var(--soft);margin:2px 0 14px}

/* form (short version with optional details) */
.fmore{margin:18px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fmore summary{cursor:pointer;padding:14px 0;font-weight:600;color:var(--ink);list-style:none}
.fmore summary::-webkit-details-marker{display:none}
.fmore summary::after{content:" +"}
.fmore[open] summary::after{content:" \2212"}
.fsend{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px}
.fsend .note{margin:0}
.f .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.calframe iframe{display:block;width:100%;height:700px;border:1px solid var(--line);border-radius:14px;background:#fff}
.fnote{margin:16px 0 0;max-width:22em}
.case{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:start}
.case dl{margin:0;border-top:1.5px solid var(--ink)}
.case dl div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.case dt{color:var(--soft)}
.case dd{margin:0;font-weight:500}
.starts{margin-top:36px;max-width:56em}
.starts p{color:var(--soft)}
.starts a{color:var(--ink)}

/* utilities generated from former inline styles */
.wide{max-width:none!important}
.mt{margin-top:20px}
.pt0{padding-top:0!important}
.h2s{font-weight:700;font-size:clamp(28px,3vw,40px);letter-spacing:-.03em;margin-bottom:22px}
.h3x{font-weight:600;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em;margin:clamp(56px,7vw,90px) 0 24px}
.h3x0{margin-top:0}

/* retired components */


/* dark bands: readable text after inline colours were removed */






@media (max-width:1060px){
  .home6 .col{max-width:none}
  .case{grid-template-columns:1fr}
}
@media (max-width:640px){
  .case6 div,.case dl div{grid-template-columns:1fr;gap:2px}
  .calframe iframe{height:820px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}

/* ---------- inner pages: header, bands and page-level rules ---------- */
.phero{position:relative;padding:clamp(56px,8vw,112px) 0 clamp(48px,6vw,80px);background:var(--hero-bg),var(--tone-h);min-height:min(78vh,760px);display:flex;align-items:center}
.phero>.wrap{width:100%}
.phero .col{max-width:min(640px,50vw)}
.phero-form .col{max-width:min(560px,43vw)}
.phero h1{font:700 clamp(38px,4.6vw,66px)/1.04 var(--sans);letter-spacing:-.038em;color:var(--ink);text-wrap:balance}
.phero .lead{margin:22px 0 0}
.phero .actions{margin-top:30px}
.phero .meta{display:flex;flex-wrap:wrap;gap:10px 36px;border-top:1px solid var(--line);padding-top:18px;margin-top:30px;font-size:15px;color:var(--soft)}
.phero .meta b{color:var(--ink);font-weight:600;margin-right:6px}
.crumbs{font:400 15px/1.3 var(--serif);color:var(--soft);margin-bottom:26px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--ink)}
.band{position:relative;padding:clamp(72px,9vw,120px) 0}
.band.mist{background:var(--tone-a)}
.band.tight{padding-top:clamp(40px,5vw,64px)}
.band:nth-of-type(4n+3).mist{background:var(--tone-c)}
.closing{position:relative;padding:clamp(96px,12vw,170px) 0;background:var(--paper-glow),var(--tone-d);overflow:hidden;min-height:min(70vh,640px);display:flex;align-items:center}
.closing>.wrap{width:100%}
.closing .col{max-width:min(640px,50vw)}
.closing h2{font:700 clamp(38px,5vw,76px)/1 var(--sans);letter-spacing:-.04em;color:var(--ink);text-wrap:balance}
.closing .lead{margin:24px 0 32px}
.rv{opacity:1}
.wide{max-width:none}
.mt{margin-top:20px}
.pt0{padding-top:0}
.h2s{font-weight:700;font-size:clamp(28px,3vw,40px);letter-spacing:-.03em;margin-bottom:22px}
.h3x{font-weight:600;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em;margin:clamp(56px,7vw,90px) 0 24px}
.h3x0{margin-top:0}
h3,h4{font-family:var(--sans);color:var(--ink)}
p{margin:0 0 1em}
.lead{margin-top:0}
.two{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px)}
.two h2{font:700 clamp(28px,3.2vw,44px)/1.06 var(--sans);letter-spacing:-.032em}
.shead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 56px;align-items:end;margin-bottom:40px}
.shead h2{font:700 clamp(30px,3.6vw,50px)/1.04 var(--sans);letter-spacing:-.034em}
.shead p{margin:0}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.btn-line:hover{background:var(--ink);color:#fff;box-shadow:none}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;margin-top:8px;background:linear-gradient(var(--ink),var(--ink)) 0 100%/100% 1.5px no-repeat;padding-bottom:3px}
.more:hover{opacity:.7}
.tag{display:block;font:400 14px/1.3 var(--serif);color:var(--soft);margin-bottom:8px}
.note{font-size:15px;color:var(--soft);max-width:52em}
.dots li::before{background:var(--accent)}
.numbered li::before{color:var(--soft);font-family:var(--serif);font-weight:400}
.quad .n,.olist h3 small{color:var(--soft);font-family:var(--serif);font-weight:400}
.plist .st.live{color:var(--ink)}
.plist .st.live::before,.tbl td .s::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px;vertical-align:middle}
.tbl td .s{color:var(--ink)}
.weights .bar i{background:var(--ink)}
.faq summary{font-family:var(--sans)}
.photo{width:min(300px,100%);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;display:block;background:var(--tone-b)}
.mark3{width:min(260px,100%);aspect-ratio:1;border-radius:50%;background:var(--tone-b) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M30.6 11.2A13 13 0 1 0 30.6 28.8' fill='none' stroke='%231A1523' stroke-width='7.2' stroke-linecap='round'/%3E%3Ccircle cx='20.6' cy='20' r='4.6' fill='%237500C0'/%3E%3C/svg%3E") center/52% no-repeat}
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--ink);margin-bottom:56px}
.ways a{display:block;padding:26px 24px 28px 0;text-decoration:none;border-bottom:1px solid var(--line)}
.ways a + a{padding-left:24px;border-left:1px solid var(--line)}
.ways h3{font-weight:600;font-size:24px;letter-spacing:-.02em}
.ways a:hover h3{text-decoration:underline;text-underline-offset:5px}
.ways p{margin:6px 0 0;color:var(--soft)}
.calframe{border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line)}
.calframe iframe{width:100%;height:760px;border:0;display:block}
.band .f{max-width:none}
.band form.f{margin-top:0;padding-top:0;border-top:0}
@media (max-width:1060px){.shead,.two,.method,.connect,.split,.person{grid-template-columns:1fr}.ways,.trio{grid-template-columns:1fr}.ways a + a,.trio > div + div{padding-left:0;border-left:0}}
@media (max-width:899px){
  .phero{min-height:0;padding:40px 0 48px}
  .phero .col,.closing .col{max-width:none}
  .phero .slot{height:min(200px,24vh);margin:28px 0 0}
  .closing{min-height:0}
  .closing .slot{height:min(180px,22vh);margin:10px 0 0}
}

.band>.wrap>.tag{font:400 16px/1.3 var(--serif);color:var(--body);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.band>.wrap>.tag::before{content:"";width:26px;height:1.5px;background:var(--ink)}

/* ---------- hero spacing, and type scaled down for phones ---------- */
.hero .lead{margin-top:30px}
@media (max-width:560px){
  .hero{padding:36px 0 56px}
  .hero h1{font-size:clamp(34px,10.4vw,44px);line-height:1.04;letter-spacing:-.034em}
  .hero .lead{margin-top:24px;font-size:17px;line-height:1.55}
  .lead{font-size:17px}
  .actions{margin-top:28px;gap:18px 22px}
  .for{font-size:14px;line-height:1.6}
  .phero{padding:32px 0 40px}
  .phero h1{font-size:clamp(32px,9.6vw,40px)}
  .closing h2{font-size:clamp(32px,9.6vw,40px)}
  h2,.shead h2{font-size:clamp(27px,8vw,32px)}
  .two h2{font-size:clamp(26px,7.6vw,30px)}
}
