@import url('https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@500;600;700&family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..700&display=swap');

/* =====================================================================
   Scale Digital, shared design system (v4 premium editorial)
   Loaded by every page. Brand: warm paper + orange, Fraunces + General Sans.
   ===================================================================== */

:root{
  --paper:#f0eceb; --paper-2:#f8f5f4; --paper-3:#e7dfdc; --ink:#17110d; --slate:#57504b; --muted:#8b807a;
  --orange:#fa551e; --orange-2:#df420c; --lavender:#9b7ee0; --peach:#f9d9ce;
  --line:rgba(23,17,13,0.12); --line-2:rgba(23,17,13,0.07);
  --grad:linear-gradient(158deg,#f9d9ce 0%,#fb7a3f 42%,#fa551e 62%,#9b7ee0 100%);
  --ease:cubic-bezier(0.16,1,0.3,1);

  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --display:var(--font-display);
  --body:"General Sans","Switzer",sans-serif;
  --font-body:var(--body);
  --narrow:"General Sans","Switzer",sans-serif;
  --font-cond:"Archivo Narrow","Arial Narrow",sans-serif; /* condensed numerals for big stats */

  --t--1:clamp(0.8rem,0.77rem + 0.12vw,0.88rem);
  --t-0:clamp(1.02rem,0.98rem + 0.2vw,1.12rem);
  --t-1:clamp(1.2rem,1.1rem + 0.4vw,1.45rem);
  --t-2:clamp(1.45rem,1.28rem + 0.8vw,2rem);
  --t-3:clamp(1.85rem,1.5rem + 1.5vw,2.95rem);
  --t-4:clamp(2.1rem,1.5rem + 2.6vw,3.5rem);
  --t-5:clamp(2.7rem,1.8rem + 3.4vw,4.5rem);

  --sp-2:1rem; --sp-3:1.6rem; --sp-4:2.6rem; --sp-5:4.5rem; --sp-6:7rem; --sp-7:10rem;
  --maxw:1180px; --radius:16px;
  --band-pad:clamp(5rem,4rem + 6vw,9rem);
  --wrap-gutter:clamp(1.5rem,5vw,4rem);
  --shadow-sm:0 6px 18px -10px rgba(23,17,13,0.30);
  --shadow:0 26px 60px -30px rgba(23,17,13,0.40);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-optical-sizing:auto;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--t-0);line-height:1.7;color:rgba(23,17,13,0.86);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
img,svg{display:block;max-width:100%;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.05;letter-spacing:-0.02em;color:var(--ink);margin:0;}
h1 em,h2 em,h3 em,h4 em{font-style:italic;font-weight:500;}
p{margin:0;}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--wrap-gutter);}
.skip{position:absolute;left:-999px;top:0;z-index:300;background:var(--orange);color:#fff;padding:0.6em 1em;border-radius:8px;}
.skip:focus{left:12px;top:12px;}
a:focus-visible,button:focus-visible,.btn:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2.5px solid var(--orange);outline-offset:3px;border-radius:8px;}

/* ============ moving gradient background (GPU, no canvas) ============ */
.sd-bg{position:fixed;inset:0;z-index:-3;pointer-events:none;overflow:hidden;}
.sd-bg__b{position:absolute;border-radius:50%;filter:blur(72px);opacity:0.42;will-change:transform;}
.sd-bg__b1{width:62vw;height:62vw;left:-12vw;top:-16vh;background:radial-gradient(circle at 50% 50%,#fb7a3f,rgba(251,122,63,0) 66%);animation:sd-bg1 24s ease-in-out infinite alternate;}
.sd-bg__b2{width:56vw;height:56vw;right:-14vw;top:4vh;background:radial-gradient(circle at 50% 50%,#9b7ee0,rgba(155,126,224,0) 66%);animation:sd-bg2 29s ease-in-out infinite alternate;}
.sd-bg__b3{width:54vw;height:54vw;left:22vw;bottom:-22vh;background:radial-gradient(circle at 50% 50%,#f9d9ce,rgba(249,217,206,0) 64%);animation:sd-bg3 33s ease-in-out infinite alternate;}
@keyframes sd-bg1{from{transform:translate(0,0) scale(1)}to{transform:translate(15vw,12vh) scale(1.18)}}
@keyframes sd-bg2{from{transform:translate(0,0) scale(1.06)}to{transform:translate(-13vw,15vh) scale(0.92)}}
@keyframes sd-bg3{from{transform:translate(0,0) scale(1)}to{transform:translate(11vw,-13vh) scale(1.12)}}
.sd-dots{position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:radial-gradient(rgba(23,17,13,0.05) 1px,transparent 1px);background-size:30px 30px;}
@media (prefers-reduced-motion:reduce){.sd-bg__b{animation:none;}}

/* scroll progress bar */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--orange);z-index:200;}

/* ============ custom cursor ============ */
.sd-cur{position:fixed;top:0;left:0;z-index:2147483000;pointer-events:none;opacity:0;}
.sd-cur-ring,.sd-cur-dot{position:fixed;top:0;left:0;pointer-events:none;border-radius:50%;}
.sd-cur-ring{width:40px;height:40px;margin:-20px 0 0 -20px;border:1.5px solid var(--orange);transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background-color .3s var(--ease),border-color .28s ease;}
.sd-cur-dot{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;background:var(--orange);transition:opacity .22s ease;}
.sd-cur.is-ready{opacity:1;}
.sd-cur.is-hover .sd-cur-ring{width:62px;height:62px;margin:-31px 0 0 -31px;background:color-mix(in srgb,var(--orange) 15%,transparent);border-color:color-mix(in srgb,var(--orange) 55%,transparent);}
.sd-cur.is-hover .sd-cur-dot{opacity:0;}
html.sd-cur-on,html.sd-cur-on *{cursor:none !important;}
html.sd-cur-on input,html.sd-cur-on textarea,html.sd-cur-on select,html.sd-cur-on [contenteditable="true"]{cursor:auto !important;}
@media (pointer:coarse){.sd-cur{display:none !important;}}
@media (prefers-reduced-motion:reduce){.sd-cur{display:none !important;}}

/* ============ header ============ */
header.site{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .2s;}
header.site.scrolled{border-bottom-color:var(--line);}
.navbar{display:flex;align-items:center;justify-content:space-between;height:74px;gap:1rem;}
.brand{display:inline-flex;align-items:center;text-decoration:none;}
.brand img{height:29px;width:auto;display:block;}
.nav-links{display:none;gap:clamp(1rem,2.2vw,2rem);align-items:center;}
.nav-links a{position:relative;text-decoration:none;color:var(--slate);font-weight:500;font-size:0.95rem;transition:color .15s;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1.5px;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease);}
.nav-links a:hover{color:var(--ink);}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left;}
.nav-links a[aria-current="page"]{color:var(--ink);}
.nav-links a[aria-current="page"]::after{transform:scaleX(1);}
.nav-cta{display:none;}
@media (min-width:960px){.nav-links{display:flex;}.nav-cta{display:inline-flex;}}

/* ============ buttons ============ */
.btn{position:relative;display:inline-flex;align-items:center;gap:0.55em;font-family:var(--body);font-weight:600;font-size:0.98rem;letter-spacing:-0.005em;padding:0.9rem 1.5rem;border-radius:11px;text-decoration:none;border:1px solid transparent;overflow:hidden;isolation:isolate;transition:transform .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease);}
/* header/nav CTA: smaller, refined */
header.site .btn,.nav-cta .btn{padding:0.62rem 1.1rem;font-size:0.9rem;font-weight:600;border-radius:999px;gap:0.5em;}
header.site .btn .arw,.nav-cta .btn .arw{width:14px;height:14px;border-radius:6px;}
header.site .btn svg,.nav-cta .btn svg{width:14px;height:14px;}
.btn > *{position:relative;z-index:1;}
.btn::before{content:"";position:absolute;inset:0;z-index:0;transform:translateY(101%);transition:transform .4s var(--ease);}
.btn:hover::before{transform:translateY(0);}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 12px 26px -14px rgba(250,85,30,0.7);}
.btn-primary::before{background:var(--ink);}
.btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 34px -16px rgba(23,17,13,0.6);}
.btn-ghost{border-color:var(--line);color:var(--ink);background:var(--paper-2);box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 8px 18px -12px rgba(23,17,13,0.4);}
.btn-ghost::before{background:var(--ink);}
.btn-ghost:hover{color:#fff;border-color:var(--ink);transform:translateY(-2px);}
.btn .arw{display:grid;place-items:center;width:1.5em;height:1.5em;border-radius:7px;background:rgba(255,255,255,0.18);transition:transform .2s var(--ease);}
.btn-ghost .arw{background:var(--paper-3);}
.btn-ghost:hover .arw{background:rgba(255,255,255,0.2);}
.btn:hover .arw{transform:translate(2px,-2px);}

/* ============ layout / sections ============ */
main{display:block;}
.band{padding:var(--band-pad) 0;position:relative;}
.band--tight{padding:calc(var(--band-pad) * 0.72) 0;}
.band--paper2{background:var(--paper-2);}
.eyebrow{display:inline-flex;align-items:center;gap:0.55em;font-family:var(--font-body);font-weight:600;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--orange);}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(250,85,30,0.14);flex:none;}
.sec-head{max-width:34ch;}
.sec-head.wide{max-width:64ch;}
.sec-head h2{font-size:var(--t-4);font-weight:500;letter-spacing:-0.02em;line-height:1.05;margin-top:1rem;}
.sec-head .lead,.lead{color:rgba(23,17,13,0.86);font-size:1.15rem;line-height:1.7;margin-top:1.25rem;max-width:66ch;}

/* page hero (interior pages) */
.page-hero{padding-top:clamp(3.5rem,4rem + 4vw,6rem);padding-bottom:clamp(2.25rem,4vw,3.75rem);}
.page-hero h1{font-family:var(--display);font-weight:400;font-size:var(--t-5);letter-spacing:-0.02em;line-height:1.02;max-width:16ch;margin-top:var(--sp-3);}
.page-hero h1 em{font-style:italic;font-weight:400;color:var(--orange);}
.page-hero .lead{margin-top:var(--sp-3);}
.breadcrumb{display:flex;gap:0.5em;align-items:center;font-size:0.85rem;color:var(--muted);margin-bottom:var(--sp-2);}
.breadcrumb a{text-decoration:none;color:var(--muted);}
.breadcrumb a:hover{color:var(--orange);}

/* cards / grids */
.grid{display:grid;gap:clamp(2.5rem,3vw,3rem);}
.grid-2{grid-template-columns:1fr;}
.grid-3{grid-template-columns:1fr;}
@media (min-width:720px){.grid-2{grid-template-columns:1fr 1fr;}.grid-3{grid-template-columns:repeat(3,1fr);}}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(2.25rem,2.5vw,2.75rem);}
.card h3{font-size:var(--t-1);font-weight:500;letter-spacing:-0.015em;line-height:1.15;}
.card p{color:rgba(23,17,13,0.86);margin-top:0.8em;font-size:1rem;line-height:1.7;}
.card .ico{width:2rem;height:2rem;color:var(--orange);margin-bottom:1rem;}

/* stat rail */
.stats{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line);}
@media (min-width:760px){.stats{grid-template-columns:repeat(3,1fr);}}
.stat{padding:var(--sp-4) 0;border-bottom:1px solid var(--line);}
@media (min-width:760px){.stat{padding:var(--sp-4) var(--sp-4) var(--sp-4) 0;border-bottom:none;}}
.stat .n{font-family:var(--font-cond);font-weight:700;font-variant-numeric:tabular-nums;font-size:clamp(2.8rem,6.4vw,4.4rem);line-height:0.95;color:var(--orange);letter-spacing:-0.01em;}
.stat .n.alt{color:var(--ink);}
.stat h3{font-size:var(--t-1);font-weight:500;letter-spacing:-0.015em;margin-top:0.5rem;}
.stat p{color:rgba(23,17,13,0.86);font-size:0.95rem;line-height:1.6;margin-top:0.3rem;}

/* checklist / fit */
.checklist{list-style:none;padding:0;margin:var(--sp-3) 0 0;display:grid;gap:0.8em;}
.checklist li{display:flex;gap:0.7em;align-items:flex-start;color:var(--slate);}
.checklist .mk{flex:none;width:1.4em;height:1.4em;margin-top:0.1em;}
.checklist.yes .mk{color:var(--orange);}
.checklist.no .mk{color:var(--muted);}

/* quote */
.quote{background:var(--paper-2);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.4rem);box-shadow:var(--shadow-sm);}
.quote p{font-family:var(--display);font-weight:500;font-size:var(--t-2);line-height:1.3;letter-spacing:-0.015em;}
.quote p em{font-style:italic;font-weight:500;}
.quote .by{display:flex;align-items:center;gap:0.7rem;margin-top:var(--sp-3);}
.quote .by img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;}
.quote .by .who{font-size:0.9rem;color:var(--muted);}
.quote .by .who b{display:block;color:var(--ink);font-weight:700;}

/* FAQ / accordion */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);padding:var(--sp-3) 0;}
.faq summary{cursor:pointer;list-style:none;font-family:var(--display);font-weight:500;font-size:var(--t-1);letter-spacing:-0.015em;line-height:1.2;display:flex;justify-content:space-between;gap:1em;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pm{color:var(--orange);font-size:1.4rem;line-height:1;transition:transform .2s var(--ease);flex:none;}
.faq details[open] summary .pm{transform:rotate(45deg);}
.faq p{color:rgba(23,17,13,0.86);line-height:1.7;margin-top:var(--sp-2);max-width:74ch;}
.faq p + p{margin-top:0.7rem;}

/* CTA band */
.cta-band{border-radius:26px;background:var(--grad);padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,5vw,3rem);text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow);}
.cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% -10%,rgba(255,255,255,0.35),transparent 55%);}
.cta-band h2{font-size:var(--t-4);font-weight:500;letter-spacing:-0.02em;line-height:1.05;color:#fff;max-width:20ch;margin-inline:auto;position:relative;text-shadow:0 2px 20px rgba(23,17,13,0.18);}
.cta-band h2 em{font-style:italic;font-weight:500;}
.cta-band p{color:rgba(255,255,255,0.92);font-size:var(--t-1);max-width:50ch;margin:var(--sp-3) auto 0;position:relative;}
.cta-band .row{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-4);position:relative;}
.cta-band .btn-primary{background:var(--ink);box-shadow:none;}
.cta-band .btn-primary::before{background:var(--orange);}
.cta-band .btn-ghost{border-color:rgba(255,255,255,0.6);color:#fff;background:transparent;}

/* prose (insights articles) */
.prose{max-width:66ch;}
.prose p{color:rgba(23,17,13,0.86);font-size:1.15rem;line-height:1.7;margin-top:1.4em;}
.prose h2{font-size:var(--t-3);font-weight:500;letter-spacing:-0.02em;line-height:1.1;margin-top:1.8em;}
.prose h3{font-size:var(--t-2);font-weight:500;letter-spacing:-0.015em;line-height:1.15;margin-top:1.5em;}
.prose ul,.prose ol{color:rgba(23,17,13,0.86);font-size:1.12rem;line-height:1.7;padding-left:1.3em;margin-top:1.1em;}
.prose li{margin-top:0.6em;}
.prose blockquote{border-left:3px solid var(--orange);padding-left:1.2em;margin:1.6em 0;font-family:var(--display);font-weight:500;font-style:italic;font-size:var(--t-1);line-height:1.35;color:var(--ink);}
.prose a{color:var(--orange);text-decoration:underline;text-underline-offset:3px;}

/* forms */
.field{display:flex;flex-direction:column;gap:0.4em;}
.field label{font-weight:600;font-size:0.92rem;color:var(--ink);}
.field input,.field select,.field textarea{font-family:var(--body);font-size:1rem;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:0.8em 0.9em;transition:border-color .15s;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);outline:none;}
.field .err{color:var(--orange-2);font-size:0.82rem;min-height:1em;}
.field.invalid input,.field.invalid select{border-color:var(--orange-2);}

/* footer */
footer.site{border-top:1px solid var(--line);padding:var(--sp-6) 0 0;background:color-mix(in srgb,var(--paper-2) 70%,transparent);position:relative;overflow:hidden;}
/* massive SCALE wordmark that scales up as it scrolls into view (CSS scroll-driven; static full-size fallback) */
footer.site::after{content:"SCALE";display:block;text-align:center;font-family:var(--font-cond);font-weight:700;font-size:clamp(7rem,40vw,34rem);line-height:0.76;letter-spacing:-0.01em;margin-top:var(--sp-4);margin-bottom:-0.08em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;transform-origin:center bottom;user-select:none;-webkit-user-select:none;pointer-events:none;}
@keyframes foot-grow{from{transform:translateY(46%) scale(0.9);opacity:0.1;}to{transform:translateY(0) scale(1);opacity:1;}}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){footer.site::after{animation:foot-grow linear both;animation-timeline:view();animation-range:entry 0% cover 50%;}}}
.foot-badges{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:var(--sp-5);}
.pill{display:inline-flex;align-items:center;gap:0.55em;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:0.46rem 0.95rem;font-size:0.8rem;font-weight:600;color:var(--ink);transition:border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);}
.pill:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 10px 22px -14px rgba(23,17,13,.35);}
.pill .pico{width:17px;height:17px;flex:none;background:var(--ink);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;transition:background .2s var(--ease);}
.pill:hover .pico{background:var(--orange);}
.foot-grid{display:grid;gap:var(--sp-4);grid-template-columns:1fr;}
@media (min-width:760px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;}}
.foot-brand .brand img{height:40px;}
.foot-brand p{color:var(--muted);font-size:0.92rem;max-width:34ch;margin-top:var(--sp-2);}
.foot-social{display:flex;gap:0.6rem;margin-top:var(--sp-3);}
.foot-social a{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--slate);transition:color .15s,border-color .15s;}
.foot-social a:hover{color:var(--orange);border-color:var(--orange);}
.foot-social svg{width:17px;height:17px;}
.foot-col h4{font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 var(--sp-2);}
.foot-col a{display:block;text-decoration:none;color:var(--slate);font-size:0.95rem;padding:0.3em 0;transition:color .15s;}
.foot-col a:hover{color:var(--orange);}
.foot-col address{font-style:normal;color:var(--slate);font-size:0.95rem;line-height:1.7;}
.foot-bottom{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:space-between;margin-top:var(--sp-5);padding-top:var(--sp-3);border-top:1px solid var(--line);color:var(--muted);font-size:0.85rem;}

/* ============ premium media framing ============ */
.media,.frame img,figure.frame img,.media img{border-radius:var(--radius);border:1px solid rgba(23,17,13,0.08);object-fit:cover;overflow:hidden;}
figure.frame{border-radius:var(--radius);border:1px solid rgba(23,17,13,0.08);overflow:hidden;position:relative;}
figure.frame img{border:none;border-radius:0;width:100%;height:100%;}
/* refined circular play button */
.play-btn{width:64px;height:64px;border-radius:50%;background:var(--orange);border:none;display:grid;place-items:center;color:#fff;cursor:pointer;box-shadow:0 12px 30px -12px rgba(250,85,30,0.7);transition:transform .25s var(--ease);}
.play-btn:hover{transform:scale(1.06);}
.play-btn svg{width:20px;height:20px;margin-left:2px;}

/* ============ kinetic motion (progressive enhancement) ============
   Everything is fully visible by default. Motion only applies inside .kin
   (added by JS) and is fully disabled under prefers-reduced-motion. */

/* reveal on scroll: rise */
.kin .rise{opacity:0;transform:translateY(22px);}
.kin .rise.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease);}

/* staggered children: direct children of a revealing container come in with incremental delay */
.kin .stagger > *{opacity:0;transform:translateY(20px);}
.kin .stagger.in > *{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease);}
.kin .stagger.in > *:nth-child(1){transition-delay:0ms;}
.kin .stagger.in > *:nth-child(2){transition-delay:70ms;}
.kin .stagger.in > *:nth-child(3){transition-delay:140ms;}
.kin .stagger.in > *:nth-child(4){transition-delay:210ms;}
.kin .stagger.in > *:nth-child(5){transition-delay:280ms;}
.kin .stagger.in > *:nth-child(6){transition-delay:350ms;}
.kin .stagger.in > *:nth-child(7){transition-delay:420ms;}
.kin .stagger.in > *:nth-child(8){transition-delay:490ms;}
.kin .stagger.in > *:nth-child(9){transition-delay:560ms;}
.kin .stagger.in > *:nth-child(10){transition-delay:630ms;}

/* split-line reveal: JS wraps words/lines into .split-w spans inside a masked .split-m.
   Text is fully visible by default (settled state). Only inside .kin do the words
   start offset below a mask, then settle to translateY(0) on reveal. */
.split .split-m{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:0.06em;margin-bottom:-0.06em;}
.split .split-w{display:inline-block;transform:translateY(0);will-change:transform;}
.kin .split .split-w{transform:translateY(110%);}
.kin .split.in .split-w{transform:translateY(0);transition:transform .8s var(--ease);}

/* parallax hook */
[data-parallax]{will-change:transform;}

/* count-up numbers (visible with final value by default; JS animates from 0) */
.count{font-variant-numeric:tabular-nums;}

/* motion off: everything visible and settled, nothing animates */
@media (prefers-reduced-motion:reduce){
  .kin .rise,.kin .stagger > *{opacity:1;transform:none;transition:none;}
  .kin .split .split-w,.kin .split.in .split-w{transform:translateY(0);transition:none;}
  [data-parallax]{transform:none !important;will-change:auto;}
}

/* custom icon set shared bits */
.sd-ic{width:1.9rem;height:1.9rem;display:block;}
.sd-ic [data-accent]{stroke:var(--orange);}
.sd-ic [data-fill]{fill:currentColor;stroke:none;}
