/* 10MILLION site CSS — generated from src/home.src.html by build.py. Do not edit here. */
/* Layout: full-bleed white canvas, giant wordmark as the hero, type does the talking; colour comes from media and the enamel revenue-chain only. */
:root{
  --paper:#ffffff; --canvas:#f6f4ef; --line:#e4dfd6;
  --ink:#15130f; --ink-muted:#5f5a52; --ink-inverse:#ffffff;
  --ink-hi:#5a554d; --ink-hi-2:#38342e; --ink-lo:#000000; --ink-rim:#2e2a24;
  --spark:#ff8a3d; --on-spark:#000000; --spark-hi:#ffbf8f; --spark-hi-2:#ffa566; --spark-lo:#ff7419; --spark-rim:#ffb27d; --spark-ink:#b04500; --spark-soft:#ffeee2;
  --cobalt:#2d4bf0; --cobalt-hi:#5d77ff; --cobalt-hi-2:#4460f7; --cobalt-lo:#1c33cc; --cobalt-rim:#4d68ff; --cobalt-soft:#e6eafe;
  --lime:#cff24a; --lime-hi:#efffae; --lime-hi-2:#ddf86c; --lime-lo:#b6dc1c; --lime-rim:#e3fb80; --lime-ink:#4a6b00; --lime-soft:#f2fbd2;
  --scrim:rgba(21,19,15,.62); --glass:rgba(255,255,255,.9); --scan:rgba(45,75,240,.08);
  --font-sans:"Pretendard Variable", Pretendard, "IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --font-display:Unbounded, "Pretendard Variable", Pretendard, system-ui, sans-serif;
  --r-sm:8px; --r-md:16px; --r-lg:28px; --r-pill:999px;
  --shadow-lift:0 30px 60px -30px rgba(21,19,15,.35);
  --g:clamp(20px,3.6vw,56px); --hd:76px; --sec:clamp(104px,13vw,220px); --ease:cubic-bezier(.2,.8,.2,1);
  --en-cobalt:linear-gradient(180deg,var(--cobalt-hi) 0%,var(--cobalt-hi-2) 22%,var(--cobalt-lo) 22.5%,var(--cobalt) 72%,var(--cobalt-rim) 100%);
  --en-spark:linear-gradient(180deg,var(--spark-hi) 0%,var(--spark-hi-2) 22%,var(--spark-lo) 22.5%,var(--spark) 72%,var(--spark-rim) 100%);
  --en-lime:linear-gradient(180deg,var(--lime-hi) 0%,var(--lime-hi-2) 22%,var(--lime-lo) 22.5%,var(--lime) 72%,var(--lime-rim) 100%);
  --en-ink:linear-gradient(180deg,var(--ink-hi) 0%,var(--ink-hi-2) 22%,var(--ink-lo) 22.5%,var(--ink) 72%,var(--ink-rim) 100%);
  --en-spark-38:linear-gradient(180deg,var(--spark-hi) 0%,var(--spark-hi-2) 38%,var(--spark-lo) 38.5%,var(--spark) 78%,var(--spark-rim) 100%);
  --en-spark-82:linear-gradient(180deg,var(--spark-hi) 0%,var(--spark-hi-2) 82%,var(--spark-lo) 82.3%,var(--spark) 94%,var(--spark-rim) 100%);
  color-scheme:light;
}
html{scroll-padding-top:calc(var(--hd) + 8px)}
body{margin:0;background:var(--paper);color:var(--ink)}
.tm{font-family:var(--font-sans);font-size:17px;line-height:1.6;letter-spacing:-.012em;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;overflow-x:clip}
.tm *,.tm *::before,.tm *::after{box-sizing:border-box}
.tm :where(h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd){margin:0}
.tm :where(ul,ol){padding:0;list-style:none}
.tm :where(img){max-width:100%;display:block}
.tm :where(a){color:inherit}
.tm :where(button,input,select,textarea){font:inherit;color:inherit}
.tm :focus-visible{outline:2px solid var(--cobalt);outline-offset:3px}
.x-w{width:100%;max-width:1680px;margin-inline:auto;padding-inline:var(--g)}
.x-sec{padding-block:var(--sec)}
.x-star{display:inline-block;width:.62em;height:.62em;fill:var(--spark);flex:none}
.x-label{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:-.01em}
.x-label .x-star{width:13px;height:13px}
.x-h2{font-size:clamp(38px,5.8vw,96px);line-height:1.06;font-weight:700;letter-spacing:-.048em;text-wrap:balance}
.x-mega{font-size:clamp(44px,8.4vw,150px);line-height:1.02;font-weight:700;letter-spacing:-.055em}
.x-lead{font-size:clamp(17px,1.45vw,22px);line-height:1.62;font-weight:500;color:var(--ink-muted);max-width:34em;text-wrap:pretty}
.x-cap{font-size:14px;line-height:1.5;font-weight:500;color:var(--ink-muted)}
.x-head{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px clamp(24px,4vw,80px);align-items:end;margin-bottom:clamp(48px,6vw,104px)}
.x-head > div{display:flex;flex-direction:column;gap:22px;min-width:0}
.x-head .x-lead{justify-self:end}
@media (max-width:900px){ .x-head{grid-template-columns:minmax(0,1fr)} .x-head .x-lead{justify-self:start} }
.tm-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Line-by-line reveal (visible at rest; JS only hides what is still below the fold) */
.x-reveal .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.x-reveal .ln > span{display:inline-block;transition:transform 1.1s var(--ease);transition-delay:calc(var(--i,0) * 110ms)}
.x-reveal.pre .ln > span{transform:translateY(112%)}

/* Buttons */
.x-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 28px;border-radius:var(--r-pill);border:0;font-size:17px;font-weight:700;letter-spacing:-.015em;text-decoration:none;white-space:nowrap;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:color .3s var(--ease)}
.x-btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;transform:translateY(101%);transition:transform .45s var(--ease)}
.x-btn:hover::before{transform:translateY(0)}
.x-btn--line{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}
.x-btn--line::before{background:var(--ink)}
.x-btn--line:hover{color:var(--ink-inverse)}
.x-btn--spark{background-color:var(--spark);background-image:var(--en-spark);color:var(--on-spark)}
.x-btn--spark::before{background:var(--ink)}
.x-btn--spark:hover{color:var(--ink-inverse)}
.x-btn--ink{background-color:var(--ink);background-image:var(--en-ink);color:var(--ink-inverse)}
.x-btn--ink::before{background-color:var(--spark);background-image:var(--en-spark)}
.x-btn--ink:hover{color:var(--on-spark)}
.x-btn--sm{height:44px;padding:0 20px;font-size:15px}
.x-btn[disabled]{opacity:.6;cursor:progress}
.x-arrow{display:inline-block;transition:transform .35s var(--ease)}
.x-btn:hover .x-arrow,.x-link:hover .x-arrow{transform:translate(3px,-3px)}

/* Phase tags + chips (from the 10MILLION system) */
.tm-phase{display:inline-flex;align-items:center;gap:8px;padding:7px 15px 7px 11px;border-radius:var(--r-pill);font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1.2;color:var(--ink);white-space:nowrap}
.tm-phase i{width:9px;height:9px;border-radius:50%;flex:none}
.tm-phase b{font-family:var(--font-sans);font-weight:700;letter-spacing:0;font-size:13px;color:var(--ink-muted)}
.tm-phase--build{background:var(--cobalt-soft)} .tm-phase--build i{background:var(--cobalt)}
.tm-phase--convert{background:var(--spark-soft)} .tm-phase--convert i{background:var(--spark);box-shadow:inset 0 0 0 1.5px var(--spark-ink)}
.tm-phase--compound{background:var(--lime-soft)} .tm-phase--compound i{background:var(--lime);box-shadow:inset 0 0 0 1.5px var(--lime-ink)}
[data-phase="build"]{--en:var(--en-cobalt);--on:var(--ink-inverse);--solid:var(--cobalt)}
[data-phase="convert"]{--en:var(--en-spark);--on:var(--on-spark);--solid:var(--spark)}
[data-phase="compound"]{--en:var(--en-lime);--on:var(--ink);--solid:var(--lime)}
.tm-chips{display:flex;flex-wrap:wrap;gap:6px}
.tm-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px 0 10px;border-radius:var(--r-pill);font-size:13px;font-weight:700;white-space:nowrap;background:var(--en);color:var(--on)}
.tm-chip span{font-family:var(--font-display);font-size:10px;font-weight:600}

/* Header */
.x-hd{position:fixed;left:0;right:0;top:0;z-index:60;display:flex;align-items:center;gap:24px;height:calc(var(--hd) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--g) 0;transition:transform .5s var(--ease),background-color .3s,box-shadow .3s}
.x-hd.is-solid{background:var(--glass);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line)}
.x-hd.is-hidden{transform:translateY(-110%)}
.x-hd__logo{display:flex;flex:none}
.x-hd__logo svg{height:19px;width:auto;display:block}
.x-nav{display:flex;align-items:center;gap:clamp(18px,3.2vw,52px);margin-left:auto}
.x-nav a,.x-link{position:relative;font-size:16px;font-weight:600;letter-spacing:-.01em;text-decoration:none}
.x-nav a::after,.x-link::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.x-nav a:hover::after,.x-link:hover::after{transform:scaleX(1);transform-origin:left}
.x-hd__menu{display:none;margin-left:auto;height:44px;padding:0 18px;border-radius:var(--r-pill);border:0;background:var(--ink);color:var(--ink-inverse);font-size:15px;font-weight:700;cursor:pointer}
.x-menu{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:calc(var(--hd) + 24px + env(safe-area-inset-top,0px)) var(--g) calc(32px + env(safe-area-inset-bottom,0px));background:var(--paper);overflow:auto}
.x-menu[hidden]{display:none}
.x-menu__close{position:absolute;right:var(--g);top:calc(16px + env(safe-area-inset-top,0px));height:44px;padding:0 18px;border:0;border-radius:var(--r-pill);background:var(--canvas);font-weight:700;cursor:pointer}
.x-menu nav{display:flex;flex-direction:column}
.x-menu nav a{display:flex;align-items:baseline;gap:14px;padding:10px 0;font-size:clamp(40px,11vw,64px);font-weight:700;letter-spacing:-.05em;line-height:1.05;text-decoration:none;border-bottom:1px solid var(--line);transform:translateY(16px);opacity:0;transition:transform .6s var(--ease),opacity .6s var(--ease);transition-delay:calc(var(--i) * 50ms)}
.x-menu nav a small{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-muted)}
.x-menu.is-open nav a{transform:none;opacity:1}
@media (max-width:980px){ .x-nav,.x-hd > .x-btn{display:none} .x-hd__menu{display:inline-flex;align-items:center} }

/* Wordmark */
.x-wm{display:block;width:100%;height:auto;overflow:hidden}
.x-wm .g{fill:var(--ink);transform-box:fill-box;transition:transform 1.2s var(--ease);transition-delay:calc(var(--i) * 70ms + 120ms)}
.x-wm .s{fill:var(--spark);transform-box:fill-box;transform-origin:center;animation:x-spin 14s linear infinite}
.x-wm.pre .g{transform:translateY(118%)}
.x-wm.pre .s{scale:0}
.x-wm .s{transition:scale .9s cubic-bezier(.3,1.5,.5,1) .6s}
@keyframes x-spin{to{rotate:360deg}}

/* Hero: the star in the logo opens into the CEO interview as you scroll */
.x-hero{position:relative;height:260vh}
.x-hero__stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.x-hero__copy{position:absolute;left:var(--g);top:calc(var(--hd) + clamp(20px,5vh,64px));font-size:clamp(34px,4.4vw,76px);font-weight:700;letter-spacing:-.055em;line-height:1.1;max-width:72vw}
.x-hero__copy .ln > span{transition-delay:calc(var(--i) * 110ms + 500ms)}
.x-hero__wm{position:absolute;left:var(--g);right:var(--g);bottom:clamp(18px,2.6vw,44px)}
.x-hero .x-wm .g{translate:calc(var(--split,0) * var(--d,1) * 1px) 0}
.x-hero__cap{position:absolute;right:var(--g);bottom:calc((100vw - 2 * var(--g)) / 8.575 + clamp(30px,3.6vw,60px));display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;font-size:15px;line-height:1.45}
.x-hero__cap span{color:var(--ink-muted);font-weight:500}
.x-hero__cap b{font-weight:600}
.x-hero__hint{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-style:normal;font-size:13px;font-weight:700}
.x-hero__hint svg{width:14px;height:14px;fill:var(--spark);animation:x-spin 5s linear infinite}
.x-media{position:absolute;inset:0;z-index:5;display:block;overflow:hidden;background:var(--ink);clip-path:circle(0px at 26% 88%);text-decoration:none;color:var(--ink-inverse);cursor:pointer}
.x-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate(var(--tx,0px),var(--ty,0px)) scale(var(--s,1));transform-origin:50% 40%}
.x-media__poster{position:absolute;inset:0;display:grid;place-items:center;background-color:var(--spark);background-image:var(--en-spark-38)}
.x-media__star{width:22%;aspect-ratio:1;fill:var(--ink-inverse);animation:x-spin 18s linear infinite}
.x-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,19,15,0) 34%,rgba(21,19,15,.5) 58%,rgba(21,19,15,.88) 80%,rgba(21,19,15,.94) 100%);opacity:var(--ui,0);pointer-events:none}
.x-media__ui{position:absolute;z-index:2;left:var(--g);right:var(--g);bottom:clamp(28px,4.4vw,64px);display:flex;align-items:flex-end;justify-content:space-between;gap:24px;opacity:var(--ui,0);transform:translateY(calc((1 - var(--ui,0)) * 24px))}
.x-media__title{display:flex;flex-direction:column;gap:10px;max-width:60%}
.x-media__title span{font-size:15px;font-weight:600;opacity:.85}
.x-media__title b{font-size:clamp(28px,4.2vw,72px);font-weight:700;letter-spacing:-.05em;line-height:1.05}
.x-play{display:inline-flex;align-items:center;gap:12px;height:64px;padding:0 30px 0 24px;border-radius:var(--r-pill);background-color:var(--spark);background-image:var(--en-spark);color:var(--on-spark);font-size:18px;font-weight:700;flex:none}
.x-play svg{width:18px;height:18px;fill:currentColor}
.x-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.x-media.is-playing::after,.x-media.is-playing .x-media__ui{display:none}
.x-cursor{position:fixed;left:0;top:0;z-index:80;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;display:grid;place-items:center;background-color:var(--spark);background-image:var(--en-spark);color:var(--on-spark);font-size:15px;font-weight:700;pointer-events:none;scale:0;transition:scale .35s var(--ease)}
.x-cursor.on{scale:1}
@media (max-width:767px), (max-height:520px), (prefers-reduced-motion:reduce){
  .x-hero{height:auto}
  .x-hero__stick{position:relative;height:auto;overflow:visible;display:flex;flex-direction:column;gap:28px;padding:calc(var(--hd) + 36px + env(safe-area-inset-top,0px)) var(--g) 24px}
  .x-hero__copy,.x-hero__wm,.x-hero__cap{position:static;max-width:none;width:auto}
  .x-hero__copy{order:1;font-size:clamp(30px,8.4vw,44px)}
  .x-hero__wm{order:2}
  .x-media{position:relative;order:3;aspect-ratio:16/9;border-radius:var(--r-md);clip-path:none;--ui:1;--s:1}
  .x-media__ui{left:16px;right:16px;bottom:16px}
  .x-media__title{display:none}
  .x-play{height:52px;padding:0 22px 0 18px;font-size:16px}
  .x-hero__cap{order:4;align-items:flex-start;text-align:left}
  .x-hero__hint{display:none}
}

/* Statement */
.x-state{padding-block:var(--sec) calc(var(--sec) * .55)}
.x-state .x-mega{margin-top:28px}
/* One word of the headline rolls through the 8 cells; a marker in the cell's colour swipes under it */
.x-roll{display:inline-block;height:1.12em;overflow:hidden;vertical-align:bottom;transition:width .6s var(--ease)}
.x-roll__in{display:flex;flex-direction:column;align-items:flex-start;transition:transform .75s cubic-bezier(.7,0,.2,1)}
.x-roll__in.is-snap{transition:none}
.x-roll b{position:relative;isolation:isolate;display:block;height:1.12em;line-height:1.12;font-weight:inherit;white-space:nowrap}
.x-roll b::before{content:"";position:absolute;z-index:-1;left:-.05em;right:-.05em;bottom:.2em;height:.34em;background:var(--solid);transform:scaleX(0);transform-origin:0 50%;transition:transform .55s var(--ease) .35s}
.x-roll b.is-on::before{transform:scaleX(1)}
.x-roll__in.is-snap b::before{transition:none}
.x-chainmini.is-rolling span{transition-delay:0s;opacity:.3}
.x-chainmini.is-rolling span.is-on{opacity:1;transform:translateY(-6px)}
.x-state__foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;margin-top:clamp(48px,6vw,96px);align-items:end}
.x-chainmini{display:flex;flex-wrap:wrap;gap:8px}
@media (min-width:901px){ .x-chainmini{display:grid;grid-template-columns:repeat(4,max-content);justify-content:end} }
.x-chainmini span{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px 0 12px;border-radius:var(--r-pill);font-size:15px;font-weight:700;background:var(--en);color:var(--on);transition:transform .5s cubic-bezier(.3,1.5,.5,1),opacity .4s;transition-delay:calc(var(--i) * 60ms + 200ms)}
.x-chainmini span small{font-family:var(--font-display);font-size:10px;font-weight:600}
.x-chainmini.pre span{transform:translateY(20px) scale(.8);opacity:0}
@media (max-width:900px){ .x-state__foot{grid-template-columns:minmax(0,1fr)} }

/* Expertise: full-bleed rows that fill with their phase colour */
.x-svc{border-top:1.5px solid var(--ink)}
.x-svc li{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,72px) minmax(0,1.15fr) minmax(0,1fr) minmax(0,180px);align-items:center;gap:20px clamp(20px,3vw,48px);padding:clamp(20px,2.4vw,34px) var(--g);border-bottom:1px solid var(--line);transition:color .35s var(--ease)}
.x-svc li::before{content:"";position:absolute;inset:0;z-index:-1;background-color:var(--solid);background-image:var(--en);transform:scaleY(0);transform-origin:bottom;transition:transform .55s var(--ease)}
.x-svc li:hover,.x-svc li.is-hot{color:var(--on)}
.x-svc li:hover::before,.x-svc li.is-hot::before{transform:scaleY(1)}
.x-svc__n{font-family:var(--font-display);font-size:14px;font-weight:600}
.x-svc__t{font-size:clamp(36px,5.2vw,88px);font-weight:700;letter-spacing:-.05em;line-height:1;transition:transform .55s var(--ease)}
.x-svc li:hover .x-svc__t,.x-svc li.is-hot .x-svc__t{transform:translateX(14px)}
.x-svc__t em{font-style:normal;font-family:var(--font-display);font-size:.2em;font-weight:600;letter-spacing:.04em;margin-left:.7em;vertical-align:middle;opacity:.6}
.x-svc__d{font-size:clamp(16px,1.25vw,19px);line-height:1.55;color:var(--ink-muted);transition:color .35s}
.x-svc li:hover .x-svc__d,.x-svc li.is-hot .x-svc__d{color:inherit}
.x-svc__ph{justify-self:end;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.08em;white-space:nowrap}
.x-svc__ph i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;background:var(--solid);box-shadow:inset 0 0 0 1.5px var(--ink)}
@media (max-width:860px){
  .x-svc li{grid-template-columns:minmax(0,40px) minmax(0,1fr);gap:8px 14px}
  .x-svc__d{grid-column:2}
  .x-svc__ph{display:none}
}

/* Method loop: a type band that moves with the scroll */
.x-loop{padding-block:clamp(72px,9vw,150px);overflow:hidden}
.x-loop__band{display:flex;width:max-content;font-size:clamp(64px,12.5vw,220px);font-weight:700;letter-spacing:-.055em;line-height:1;white-space:nowrap;will-change:transform}
.x-loop__band span{display:inline-flex;align-items:center;gap:.22em;padding-right:.22em}
.x-loop__band .x-star{width:.5em;height:.5em}
.x-loop__band .o{color:transparent;-webkit-text-stroke:2px var(--ink)}
.x-loop__txt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:24px clamp(24px,4vw,80px);margin-top:clamp(40px,5vw,72px);align-items:start}
.x-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:s}
.x-steps li{display:flex;flex-direction:column;gap:6px;padding-top:16px;border-top:1.5px solid var(--ink)}
.x-steps b{font-size:20px;font-weight:700;letter-spacing:-.02em}
.x-steps b::before{counter-increment:s;content:"0" counter(s);font-family:var(--font-display);font-size:12px;font-weight:600;margin-right:10px;vertical-align:.15em}
.x-steps span{font-size:15px;color:var(--ink-muted);line-height:1.55}
@media (max-width:900px){ .x-loop__txt{grid-template-columns:minmax(0,1fr)} .x-steps{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* Dashboard mock (tilts flat as it scrolls in) */
.x-dash{background:var(--canvas)}
.x-tilt{perspective:1800px}
.x-tilt > .tm-db{transform:rotateX(var(--rx,0deg)) scale(var(--sc,1));transform-origin:50% 0;will-change:transform}
.tm-db{position:relative;border-radius:24px;background:var(--paper);box-shadow:var(--shadow-lift),0 0 0 1px var(--line);overflow:hidden;font-variant-numeric:tabular-nums}
.tm-db__top{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tm-db__dots{display:flex;gap:6px} .tm-db__dots i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.tm-db__title{font-size:14px;font-weight:700}
.tm-db__title span{color:var(--ink-muted);font-weight:500}
.tm-db__tag{margin-left:auto;display:inline-flex;align-items:center;gap:8px}
.tm-db__ex{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--r-pill);background:var(--ink);color:var(--ink-inverse);font-size:12px;font-weight:700}
.tm-db__range{font-size:13px;font-weight:600;color:var(--ink-muted)}
.tm-db__body{padding:20px;display:grid;gap:16px}
.tm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tm-kpi{position:relative;padding:16px 18px;border-radius:var(--r-md);background:var(--canvas);min-width:0;overflow:hidden}
.tm-kpi__l{font-size:13px;font-weight:600;color:var(--ink-muted)}
.tm-kpi__v{font-family:var(--font-display);font-size:clamp(20px,2.1vw,28px);font-weight:600;letter-spacing:-.03em;line-height:1.3;margin-top:4px;white-space:nowrap}
.tm-kpi__v small{font-family:var(--font-sans);font-size:.55em;font-weight:700;letter-spacing:0;margin-left:2px}
.tm-kpi__d{font-size:12px;font-weight:700;color:var(--lime-ink)}
.tm-kpi__d--down{color:var(--ink-muted)}
.tm-kpi svg{position:absolute;right:12px;bottom:12px;width:42%;height:42%;overflow:visible}
.tm-spark-area{fill:var(--cobalt-soft)}
.tm-spark-line{fill:none;stroke:var(--cobalt);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:240;stroke-dashoffset:0}
.tm-db.run .tm-spark-line{animation:tm-draw 1.4s ease-out both}
@keyframes tm-draw{from{stroke-dashoffset:240}to{stroke-dashoffset:0}}
.tm-db__main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px}
.tm-db__panel{border-radius:var(--r-md);background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);padding:16px 18px;min-width:0}
.tm-db__ph{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:700;margin-bottom:8px}
.tm-db__ph span:last-child{color:var(--ink-muted);font-weight:600}
.tm-rows{position:relative}
.tm-row{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1.1fr) 44px;align-items:center;gap:12px;padding:9px 8px;border-radius:10px;font-size:14px}
.tm-row + .tm-row{margin-top:2px}
.tm-row__s{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}
.tm-row__s i{width:9px;height:9px;border-radius:50%;flex:none;background:var(--en)}
.tm-row__s span{font-family:var(--font-display);font-size:10px;font-weight:600;color:var(--ink-muted)}
.tm-row__m{color:var(--ink-muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-row__b{height:10px;border-radius:var(--r-pill);background:var(--canvas);overflow:hidden}
.tm-row__b span{display:block;height:100%;width:var(--v);border-radius:inherit;background:var(--en);transition:width 1.1s var(--ease);transition-delay:calc(var(--i) * 80ms)}
.tm-row__p{text-align:right;font-weight:700;font-size:13px}
.tm-row.is-flag{background:var(--spark-soft)}
.tm-row.is-flag .tm-row__m{color:var(--ink)}
.tm-row__flag{position:absolute;right:56px;top:50%;translate:0 -50%;display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px 0 7px;border-radius:var(--r-pill);background:var(--ink);color:var(--ink-inverse);font-size:11px;font-weight:700;pointer-events:none}
.tm-row__flag svg{width:11px;height:11px;fill:var(--spark)}
.tm-db.pre .tm-row__b span{width:0}
.tm-db.run .tm-row.is-flag{animation:tm-hit .6s cubic-bezier(.3,1.5,.5,1) 1.9s both}
@keyframes tm-hit{0%{background:var(--paper)}60%{background:var(--spark-soft);scale:1.015}100%{background:var(--spark-soft);scale:1}}
@keyframes tm-pop{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
.tm-db.run .tm-row__flag{animation:tm-pop .45s cubic-bezier(.3,1.5,.5,1) 2.1s both}
.tm-scan{position:absolute;left:0;right:0;top:0;height:calc(100% / 8);border-radius:10px;background:var(--scan);box-shadow:inset 0 -2px 0 var(--cobalt);opacity:0;pointer-events:none}
.tm-db.run .tm-scan{animation:tm-scan 1.8s cubic-bezier(.45,0,.55,1) .3s both}
@keyframes tm-scan{0%{opacity:0;transform:translateY(0)}8%{opacity:1}88%{opacity:1;transform:translateY(700%)}100%{opacity:0;transform:translateY(700%)}}
.tm-diag{display:flex;flex-direction:column;gap:12px}
.tm-diag__label{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;height:26px;padding:0 10px 0 8px;border-radius:var(--r-pill);background-color:var(--spark);background-image:var(--en-spark);color:var(--on-spark);font-size:12px;font-weight:700}
.tm-diag__label svg{width:11px;height:11px;fill:var(--on-spark)}
.tm-diag__t{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.35}
.tm-diag__n{display:flex;gap:16px;padding:12px 0;border-block:1px solid var(--line)}
.tm-diag__n div{display:flex;flex-direction:column}
.tm-diag__n b{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.03em}
.tm-diag__n span{font-size:12px;font-weight:600;color:var(--ink-muted)}
.tm-diag ul{display:flex;flex-direction:column;gap:8px;font-size:13px}
.tm-diag li{display:flex;gap:8px;align-items:baseline}
.tm-diag li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ink);flex:none;translate:0 -2px}
.x-dash__foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px;align-items:center}
@media (max-width:980px){ .tm-db__main{grid-template-columns:minmax(0,1fr)} .tm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .tm-row{grid-template-columns:78px minmax(0,1fr) 40px} .tm-row__m{display:none} .tm-row__flag{right:48px} .tm-db__body{padding:12px} .tm-db__panel{padding:12px} }

/* Work: big client list, image follows the cursor */
.x-work{border-top:1.5px solid var(--ink)}
.x-work li{position:relative;display:grid;grid-template-columns:minmax(0,72px) minmax(0,1fr) minmax(0,1fr);gap:16px clamp(20px,3vw,48px);align-items:center;padding:clamp(22px,2.6vw,40px) 0;border-bottom:1px solid var(--line);cursor:default}
.x-work__n{font-family:var(--font-display);font-size:14px;font-weight:600}
.x-work__name{position:relative;z-index:2;font-size:clamp(44px,7vw,128px);font-weight:700;letter-spacing:-.055em;line-height:.98;transition:transform .55s var(--ease),color .3s}
.x-work li:hover .x-work__name{transform:translateX(18px)}
.x-work__meta{display:flex;flex-direction:column;gap:14px;min-width:0}
.x-work__meta p{font-size:clamp(16px,1.25vw,19px);line-height:1.55}
.x-work__scope{font-size:14px;color:var(--ink-muted)}
.x-work__stat{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
.x-work__stat b{font-family:var(--font-display);font-size:clamp(36px,3.4vw,56px);font-weight:600;letter-spacing:-.05em;line-height:1}
.x-work__stat span{font-size:15px;font-weight:700}
.x-work__thumb{display:none;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-md)}
.x-follow{position:fixed;left:0;top:0;z-index:1;width:clamp(200px,18vw,300px);aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;pointer-events:none;scale:.4;opacity:0;transition:scale .45s var(--ease),opacity .3s;box-shadow:var(--shadow-lift)}
.x-follow.on{scale:1;opacity:1}
.x-follow img{width:100%;height:100%;object-fit:cover}
@media (hover:none), (max-width:860px){
  .x-work li{grid-template-columns:minmax(0,1fr)}
  .x-work__n{display:none}
  .x-work__thumb{display:block;order:-1}
  .x-follow{display:none}
}

/* Clients marquee */
.x-clients{padding-block:clamp(40px,5vw,72px) 0}
.x-clients .x-label{margin-bottom:24px}
.tm-marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tm-marq__track{display:flex;gap:14px;width:max-content;animation:tm-marq 46s linear infinite}
.tm-marq:hover .tm-marq__track{animation-play-state:paused}
.tm-marq__track li{flex:none;width:200px;aspect-ratio:360/204;border-radius:var(--r-md);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);background:var(--paper)}
.tm-marq__track img{width:100%;height:100%;object-fit:cover}
@keyframes tm-marq{to{transform:translateX(calc(-50% - 7px))}}
@media (max-width:600px){ .tm-marq__track li{width:150px} }

/* Pricing rows */
.x-price{border-top:1.5px solid var(--ink)}
.x-price article{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1.2fr) auto;gap:24px clamp(20px,3vw,48px);align-items:center;padding:clamp(28px,3vw,48px) 0;border-bottom:1px solid var(--line)}
.x-price__name{display:flex;flex-direction:column;gap:10px}
.x-price__name h3{display:flex;align-items:center;gap:12px;font-size:clamp(24px,2.2vw,34px);font-weight:700;letter-spacing:-.035em}
.x-price__pick{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px 0 10px;border-radius:var(--r-pill);background-color:var(--spark);background-image:var(--en-spark);color:var(--on-spark);font-size:13px;font-weight:700}
.x-price__pick svg{width:11px;height:11px;fill:currentColor}
.x-price__name p{font-size:16px;color:var(--ink-muted);line-height:1.55;max-width:24em}
.x-price__num{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.x-price__num b{font-family:var(--font-display);font-size:clamp(52px,6.4vw,112px);font-weight:600;letter-spacing:-.06em;line-height:.95}
.x-price__num span{font-size:17px;font-weight:700}
.x-price ul{display:flex;flex-direction:column;gap:8px}
.x-price li{display:flex;gap:10px;font-size:16px;line-height:1.5}
.x-price li::before{content:"";flex:none;width:8px;height:8px;margin-top:.6em;border-radius:50%;background:var(--solid,var(--ink))}
.x-price li.is-sub{color:var(--ink-muted)}
.x-price li.is-sub::before{background:var(--line)}
.x-price__notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.x-price__notes div{display:flex;flex-direction:column;gap:6px}
.x-price__notes b{font-size:16px}
.x-price__notes p{font-size:15px;color:var(--ink-muted)}
@media (max-width:1100px){ .x-price article{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .x-price .x-btn{justify-self:start} }
@media (max-width:640px){ .x-price article{grid-template-columns:minmax(0,1fr)} .x-price__notes{grid-template-columns:minmax(0,1fr)} }

/* Team */
.x-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,72px);border-top:1.5px solid var(--ink)}
.x-team article{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:clamp(28px,3vw,44px)}
.x-team__name{font-size:clamp(44px,5.6vw,96px);font-weight:700;letter-spacing:-.055em;line-height:1}
.x-team__role{font-size:17px;font-weight:700;color:var(--spark-ink)}
.x-team__bio{font-size:clamp(16px,1.25vw,19px);line-height:1.6;max-width:30em}
.x-team__hist{font-size:14px;color:var(--ink-muted)}
.x-team__tags{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:820px){ .x-team{grid-template-columns:minmax(0,1fr);gap:40px} }

/* Insight cards */
.tm-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tm-post{display:flex;flex-direction:column;gap:12px;text-decoration:none;min-width:0}
.tm-post__img{display:block;aspect-ratio:3/2;border-radius:var(--r-md);overflow:hidden;background:var(--canvas)}
.tm-post__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tm-post:hover .tm-post__img img{transform:scale(1.05)}
.tm-post--text{padding-top:22px;border-top:1.5px solid var(--ink)}
.tm-post__date{font-size:13px;font-weight:600;color:var(--ink-muted);font-variant-numeric:tabular-nums}
.tm-post__t{font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.03em;text-wrap:balance}
.tm-post:hover .tm-post__t{text-decoration:underline;text-underline-offset:5px}
.tm-post__ex{font-size:15px;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:900px){ .tm-posts{grid-template-columns:minmax(0,1fr)} }

/* Contact */
.x-contact{padding-block:var(--sec) clamp(72px,8vw,120px)}
.x-contact .x-mega{margin-top:28px}
.x-inimg{display:inline-block;width:2.1em;height:.78em;margin:0 .06em;vertical-align:-.02em;border-radius:.16em;overflow:hidden;background:var(--canvas);transition:width 1.2s var(--ease) .5s}
.x-inimg img{width:100%;height:100%;object-fit:cover}
.x-reveal.pre .x-inimg{width:0}
.x-contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px clamp(32px,5vw,96px);margin-top:clamp(56px,7vw,112px);align-items:start}
.x-contact__info{display:flex;flex-direction:column;gap:6px}
.x-contact__info a,.x-contact__info p.big{font-size:clamp(26px,2.8vw,44px);font-weight:700;letter-spacing:-.04em;line-height:1.25;text-decoration:none;width:fit-content}
.x-contact__info a:hover{color:var(--spark-ink)}
.x-contact__info .x-cap{margin-top:18px;font-size:16px}
.tm-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;padding:clamp(24px,3vw,40px);border-radius:var(--r-lg);background:var(--canvas)}
.tm-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.tm-field--full{grid-column:1/-1}
.tm-field label{font-size:14px;font-weight:700}
.tm-field label em{font-style:normal;color:var(--spark-ink);margin-left:2px}
.tm-input{width:100%;height:52px;padding:0 14px;border-radius:var(--r-sm);border:1.5px solid var(--ink-muted);background:var(--paper);font-size:16px;transition:border-color .15s,box-shadow .15s;appearance:none}
textarea.tm-input{height:auto;min-height:120px;padding:12px 14px;resize:vertical;line-height:1.55}
select.tm-input{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 23px,calc(100% - 15px) 23px;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.tm-input:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 3px var(--cobalt-soft)}
.tm-input[aria-invalid="true"]{border-color:var(--spark-ink);box-shadow:0 0 0 3px var(--spark-soft)}
.tm-input::placeholder{color:#8a847b}
.tm-check{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--ink-muted)}
.tm-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--ink);flex:none}
.tm-check a{color:var(--ink);font-weight:700}
/* Field errors: orange frame + a line right under the field (phone, email, consent all alike) */
.tm-ferr{margin:0;font-size:13px;font-weight:600;line-height:1.45;color:var(--spark-ink)}
.tm-ferr[hidden]{display:none}
.tm-form > .tm-ferr{grid-column:1/-1;margin-top:-8px;padding-left:30px}
.tm-check.is-invalid{color:var(--spark-ink)}
.tm-check.is-invalid input{outline:2px solid var(--spark-ink);outline-offset:2px;box-shadow:0 0 0 5px var(--spark-soft);border-radius:3px}
.tm-input[aria-invalid="true"],.tm-check.is-invalid{animation:tm-nudge .32s var(--ease) 1}
@keyframes tm-nudge{0%,100%{translate:0}30%{translate:-5px 0}70%{translate:5px 0}}
.tm-form__foot{grid-column:1/-1;display:flex;flex-direction:column;gap:12px}
.tm-form__foot .x-btn{width:100%;height:60px;font-size:18px}
.tm-status{font-size:15px;font-weight:600;min-height:1.5em}
.tm-status[data-tone="ok"]{color:var(--lime-ink)}
.tm-status[data-tone="err"]{color:var(--spark-ink)}
.tm-status[data-tone="info"]{color:var(--cobalt)}
.tm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:900px){ .x-contact__grid{grid-template-columns:minmax(0,1fr)} }
@media (max-width:560px){ .tm-form{grid-template-columns:minmax(0,1fr)} }

/* Footer: the wordmark again, rising out of the page edge */
.x-ft{padding-top:clamp(56px,6vw,88px);overflow:hidden;border-top:1.5px solid var(--ink)}
.x-ft__top{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;font-size:14px;color:var(--ink-muted)}
.x-ft__info{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px}
.x-ft__info dt{font-weight:700;color:var(--ink)}
.x-ft__links{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:flex-end;align-content:flex-start}
.x-ft__links a{font-size:16px;font-weight:700;color:var(--ink);text-decoration:none}
.x-ft__wm{margin-top:clamp(48px,6vw,96px);padding-inline:var(--g)}
.x-ft__copy{padding-block:22px 26px;font-size:13px;color:var(--ink-muted)}
@media (max-width:820px){ .x-ft__top{grid-template-columns:minmax(0,1fr)} .x-ft__links{justify-content:flex-start} }

@media (prefers-reduced-motion:reduce){
  .tm *,.tm *::before,.tm *::after{animation:none!important;transition:none!important}
  .x-hero{height:auto}
  .tm-marq{-webkit-mask-image:none;mask-image:none}
  .tm-marq__track{flex-wrap:wrap;width:auto}
  .tm-marq__track li[aria-hidden="true"]{display:none}
  .x-loop__band{flex-wrap:wrap;width:auto;white-space:normal}
}
