/* sk-v3.css — built by scripts/build-ui-css.sh from assets/css/v3/ (UI-RULES v3.0 UI-X4). Do not edit: edit the part. */
/* ---- v3/tokens.css ---- */
/* tokens — UI-RULES v3.0 §5.1 token sheet, verbatim. Scoped values only; every rule in sk-v3.css reads these. */
.sk3{
  --sk-black:#000000;
  --sk-dark:#0a0a0a;
  --sk-dark-card:#141414;
  --sk-light:#f0f7ff;
  --sk-white:#ffffff;
  --sk-ink:#193340;
  --sk-pale:#d6ebff;
  --sk-accent:#1f8adf;
  --sk-accent-text:#1e77bc;
  --sk-green:#00d084;
  --sk-text-on-light:rgba(25,51,64,.80);
  --sk-muted-on-light:#4b5563;
  --sk-text-on-dark:#d1d5db;
  --sk-muted-on-dark:#9ca3af;
  --sk-error-text:#c4320a;
  --sk-line-light:rgba(25,51,64,.10);
  --sk-line-light-2:rgba(25,51,64,.15);
  --sk-line-light-3:rgba(25,51,64,.25);
  --sk-line-dark:rgba(255,255,255,.08);
  --sk-line-dark-2:rgba(255,255,255,.12);
  --sk-tint:rgba(31,138,223,.06);
  --sk-tint-line:rgba(31,138,223,.22);
  --sk-r-pill:999px;
  --sk-r-xl:32px;
  --sk-r-lg:24px;
  --sk-r-md:16px;
  --sk-s-4:4px;  --sk-s-8:8px;  --sk-s-12:12px; --sk-s-16:16px;
  --sk-s-20:20px; --sk-s-24:24px; --sk-s-32:32px; --sk-s-40:40px;
  --sk-s-48:48px; --sk-s-56:56px; --sk-s-64:64px; --sk-s-96:96px; --sk-s-128:128px;
  --sk-fs-h1:clamp(2.5rem,6.2vw,5rem);
  --sk-fs-h1-compact:clamp(2.125rem,4.4vw,3.5rem);
  --sk-fs-h1-article:clamp(2rem,3.8vw,3rem);
  --sk-fs-h2:clamp(2rem,4.6vw,3.75rem);
  --sk-fs-h2-cta:clamp(2.25rem,5.4vw,4.5rem);
  --sk-fs-h3-feature:clamp(1.75rem,3.2vw,2.625rem);
  --sk-fs-h3:clamp(1.25rem,1.6vw,1.375rem);
  --sk-fs-lead:clamp(1.0625rem,1.4vw,1.1875rem);
  --sk-fs-body:clamp(1rem,.95rem + .2vw,1.0625rem);
  --sk-fs-small:.875rem;
  --sk-fs-caption:.8125rem;
  --sk-fs-label:.75rem;
  --sk-fs-stat:clamp(3rem,5vw,4.25rem);
  --sk-fs-stat-band:clamp(6rem,15vw,12rem);
  --sk-fs-row:clamp(1.5rem,3.4vw,2.625rem);
  --sk-ease:cubic-bezier(.16,1,.3,1);
  --sk-dur-fast:.2s; --sk-dur:.4s; --sk-dur-slow:.7s;
  --sk-header-h:76px;
  --sk-h1-line2:.56em;
  --sk-icon-sm:20px; --sk-icon:22px; --sk-icon-lg:28px; --sk-icon-circle:48px;
  --sk-z-header:50; --sk-z-wa:60; --sk-z-menu:100;
  --sk-dur-reveal:.7s; --sk-stagger:90ms;
  --sk-measure:65ch;
  --sk-font:'Poppins','Helvetica Neue',Arial,sans-serif;
  --sk-font-zh-hans:'Poppins','Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;
  --sk-font-zh-hant:'Poppins','Noto Sans TC','PingFang TC','Microsoft JhengHei',sans-serif;
}
@media (max-width:767px){.sk3{--sk-header-h:68px}}
/* ---- v3/base.css ---- */
/* base — element defaults are wrapped in :where() so every sk- component class outranks them. UI-RULES v3.0 §6 typography, §16 cursor, §18 accessibility floors. v3 routes only (body.sk3). */
.sk3{margin:0;background:var(--sk-dark);color:var(--sk-white);font-family:var(--sk-font);font-size:var(--sk-fs-body);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
:where(.sk3) *,:where(.sk3) *::before,:where(.sk3) *::after{box-sizing:border-box}
:where(.sk3) :is(img,svg,video){display:block;max-width:100%}
:where(.sk3) img{height:auto}
:where(.sk3) :is(h1,h2,h3,h4,p,ul,ol,dl,figure,blockquote){margin:0}
:where(.sk3) :is(h1,h2,h3,h4){font-weight:700;text-wrap:balance}
:where(.sk3) p{text-wrap:pretty}
:where(.sk3) a{color:inherit}
:where(.sk3) button{font:inherit;color:inherit}
:where(.sk3) :is(strong,b){font-weight:700}
:where(.sk3) :is(em,i){font-style:italic}
:where(.sk3) :is(h1,h2,h3,h4) :is(em,i){font-style:normal}
/* UI-C6 cursor (§16) */
.sk3{-webkit-user-select:auto;user-select:auto}
:where(.sk3) *{cursor:revert}
.sk3 :is(a[href],button,summary,label[for],select,[role="button"],[role="tab"],[role="link"],input[type="checkbox"],input[type="radio"],input[type="range"],input[type="submit"],input[type="button"],input[type="file"],.sk-btn,.sk-chip,.sk-card--link){cursor:pointer}
.sk3 :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="file"]),textarea,[contenteditable="true"]){cursor:text}
.sk3 :is(button,input,select,textarea)[disabled],.sk3 [aria-disabled="true"]{cursor:not-allowed;opacity:.4}
/* UI-C7 focus-visible: 3px accent outline, 3px offset */
.sk3 :focus-visible{outline:3px solid var(--sk-accent);outline-offset:3px}
.sk3 :is(a[href],button,.sk-btn,.sk-chip):active{transform:scale(.98)}
/* UI-A skip link */
.sk-skip{position:absolute;left:16px;top:-80px;z-index:200;padding:12px 20px;border-radius:var(--sk-r-pill);background:var(--sk-white);color:var(--sk-ink);font-weight:700;text-decoration:none}
.sk-skip:focus{top:12px}
.sk-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* ---- v3/layout.css ---- */
/* layout — UI-RULES v3.0 §7 containers and spacing, §8.4 section anatomy, §8.5 rhythm backgrounds. Values ported from seo/ui-reference/. */
.sk-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(24px,5vw,40px)}   /* reference .wrap (D15); 24px floor = UI-G1 */
.sk-wrap--read{max-width:760px}   /* 680px reading column + padding */
.sk-wrap--centre{max-width:940px}
.sk-wrap--faq{max-width:1080px}
.sk-wrap--tool{max-width:960px}
.sk-wrap--form{max-width:720px}

/* sections: the template sets --light / --dark (UI-S3); content never chooses */
.sk-section{position:relative;padding:clamp(120px,12vw,160px) 0;overflow:clip}   /* reference section padding (D15; §7.2 says 128/96) */
.sk-section--light{background:var(--sk-light);color:var(--sk-ink)}
.sk-section--dark{background:var(--sk-dark);color:var(--sk-white)}
.sk-section--black{background:var(--sk-black);color:var(--sk-white)}
.sk-section--compact{padding:var(--sk-s-64) 0}
.sk-section--flush-top{padding-top:0}
.sk-section--centre{text-align:center}
@media (max-width:767px){.sk-section{padding:var(--sk-s-96) 0}.sk-section--compact{padding:var(--sk-s-48) 0}.sk-section--flush-top{padding-top:0}}

/* heading block: pill → H2 20px, H2 → tagline 16px (§7.2) */
.sk-head{max-width:820px}
.sk-section--centre .sk-head,.sk-head--centre{margin-left:auto;margin-right:auto;text-align:center}
.sk-head__row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.sk-head__row>.sk-head{flex:1 1 520px}
.sk-head__aside{margin:0;max-width:34ch;font-size:var(--sk-fs-body);line-height:1.6;color:#475d69}
.sk-section--dark .sk-head__aside{color:var(--sk-muted-on-dark)}
.sk-pill{display:inline-block;border:1px solid currentColor;border-radius:var(--sk-r-pill);padding:8px 16px;font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1}
.sk-section--dark .sk-pill,.sk-section--black .sk-pill{color:rgba(255,255,255,.72)}
.sk-h2{margin-top:var(--sk-s-20);font-size:var(--sk-fs-h2);font-weight:700;line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.sk-head>.sk-h2:first-child{margin-top:0}
.sk-section--light .sk-h2{color:var(--sk-ink)}
.sk-tagline{margin-top:var(--sk-s-16);font-size:clamp(.75rem,1.1vw,.875rem);font-weight:700;line-height:1.5;letter-spacing:.18em;text-transform:uppercase}
.sk-section--light .sk-tagline{color:var(--sk-muted-on-light)}
.sk-section--dark .sk-tagline,.sk-section--black .sk-tagline{color:var(--sk-muted-on-dark)}
.sk-accent{color:var(--sk-accent)}
.sk-section--light .sk-tagline .sk-accent{color:var(--sk-accent-text)}
.sk-lead{margin-top:var(--sk-s-24);max-width:58ch;font-size:var(--sk-fs-lead);line-height:1.6}
.sk-section--centre .sk-lead,.sk-head--centre .sk-lead{margin-left:auto;margin-right:auto}
.sk-section--light .sk-lead{color:var(--sk-text-on-light)}
.sk-section--dark .sk-lead,.sk-section--black .sk-lead{color:var(--sk-text-on-dark)}
@media (max-width:767px){.sk-h2{margin-top:var(--sk-s-16)}.sk-tagline{margin-top:var(--sk-s-12)}.sk-lead{margin-top:var(--sk-s-20)}}

/* heading block or lead → first component 56px; component → component 64px; → action 48px */
.sk-body{margin-top:var(--sk-s-56)}
.sk-body>*+*{margin-top:var(--sk-s-64)}
.sk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:var(--sk-s-48)}
.sk-section--centre .sk-actions,.sk-actions--centre{justify-content:center}
.sk-note{margin-top:var(--sk-s-32);font-size:var(--sk-fs-small);line-height:1.55}
.sk-section--light .sk-note{color:var(--sk-muted-on-light)}
.sk-section--dark .sk-note{color:var(--sk-muted-on-dark)}
@media (max-width:767px){.sk-body{margin-top:var(--sk-s-40)}.sk-body>*+*{margin-top:var(--sk-s-48)}.sk-actions{margin-top:var(--sk-s-40);gap:12px}}

/* grids (UI-G4: ≤ 4 small, ≤ 3 standard, ≤ 2 feature; phone 1 column) */
.sk-grid{display:grid;gap:var(--sk-s-24)}
.sk-grid--4{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.sk-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.sk-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr))}
.sk-grid--stats{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--sk-s-20)}
@media (min-width:1024px){.sk-grid--stats{grid-template-columns:repeat(3,minmax(0,1fr))}.sk-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.sk-grid--4.sk-grid--n3{grid-template-columns:repeat(3,minmax(0,1fr))}.sk-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.sk-grid--3.sk-grid--n2,.sk-grid--4.sk-grid--n2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.sk-grid{gap:var(--sk-s-16)}.sk-grid--stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* split: text + media, 6/6, 80px gap (§7.4) */
.sk-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:var(--sk-s-40) 80px;align-items:start}
.sk-split--centre{align-items:center}
.sk-split__text{padding-top:8px}
.sk-split__text .sk-prose--lead{font-size:18px;line-height:1.7}
.sk-split--flip>:first-child{order:2}
@media (max-width:860px){.sk-split--flip>:first-child{order:0}}

/* prose: paragraph → paragraph 20px, measure 65ch */
.sk-prose{max-width:var(--sk-measure);font-size:var(--sk-fs-body);line-height:1.7}
.sk-prose--lead{font-size:clamp(1.0625rem,1.3vw,1.125rem)}
.sk-prose>*+*{margin-top:var(--sk-s-20)}
.sk-prose :is(ul,ol){padding-left:1.25em}
.sk-prose li+li{margin-top:var(--sk-s-8)}
.sk-prose>:is(.sk-callout,.sk-table-box,.sk-figure){margin-top:var(--sk-s-32);margin-bottom:var(--sk-s-32)}
.sk-prose h3{font-size:var(--sk-fs-h3);line-height:1.3;letter-spacing:-.02em;margin-top:var(--sk-s-40)}
.sk-section--light .sk-prose{color:var(--sk-text-on-light)}
.sk-section--light .sk-prose :is(h3,strong){color:var(--sk-ink)}
.sk-section--dark .sk-prose,.sk-section--black .sk-prose{color:var(--sk-text-on-dark)}
.sk-section--dark .sk-prose :is(h3,strong){color:var(--sk-white)}
@media (max-width:767px){.sk-prose>*+*{margin-top:var(--sk-s-16)}.sk-prose>:is(.sk-callout,.sk-table-box,.sk-figure){margin-top:28px;margin-bottom:28px}}
/* ---- v3/components.css ---- */
/* components — UI-RULES v3.0 §14, values ported from seo/ui-reference/ (D15). One block per component; rule IDs in comments. */

/* Header (§14 sk-header) — 76/68px sticky, rgba(8,8,8,.62) + 10px blur */
.sk-header{position:sticky;top:0;z-index:var(--sk-z-header);background:rgba(8,8,8,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);color:var(--sk-white)}
.sk-header__bar{height:var(--sk-header-h);display:flex;align-items:center;justify-content:space-between;gap:20px}
.sk-logo{display:flex;align-items:center;gap:10px;min-height:44px;color:inherit;text-decoration:none}
.sk-logo__mark{width:40px;height:26px;flex:none}
.sk-logo__words{display:flex;flex-direction:column;line-height:1}
.sk-logo__name{font-size:20px;font-weight:800;letter-spacing:-.02em}
.sk-logo__sub{margin-top:4px;font-size:8px;font-weight:600;letter-spacing:.3em;color:var(--sk-pale)}
.sk-header__actions{display:flex;align-items:center;gap:12px}
.sk-header__book{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:var(--sk-r-pill);border:1px solid rgba(255,255,255,.28);color:var(--sk-white);font-size:14px;font-weight:600;text-decoration:none;transition:border-color var(--sk-dur-fast) ease,background-color var(--sk-dur-fast) ease}
.sk-header__book:hover{border-color:var(--sk-white);background:rgba(255,255,255,.06)}
.sk-menu-btn{display:flex;align-items:center;gap:12px;height:44px;padding:4px 4px 4px 18px;border-radius:var(--sk-r-pill);background:var(--sk-white);border:1px solid rgba(0,0,0,.1);box-shadow:0 10px 30px rgba(0,0,0,.12);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sk-black)}
.sk-menu-btn__bars{display:flex;flex-direction:column;gap:4px;width:18px}
.sk-menu-btn__bars span{height:2px;border-radius:2px;background:var(--sk-black)}
.sk-menu-btn__dot{width:34px;height:34px;border-radius:var(--sk-r-pill);background:var(--sk-green);display:grid;place-items:center;color:var(--sk-dark)}
@media (max-width:767px){.sk-header__book{display:none}.sk-logo__mark{width:34px;height:22px}.sk-logo__name{font-size:18px}.sk-logo__sub{display:none}.sk-menu-btn{gap:10px;padding-left:16px;font-size:12px}.sk-menu-btn__bars{display:none}}

/* Menu overlay (§14 sk-menu) — light full screen, links 80→34px uppercase 900, 56px rows */
.sk-menu{position:fixed;inset:0;z-index:var(--sk-z-menu);display:flex;flex-direction:column;background:var(--sk-light);color:var(--sk-ink);overflow-y:auto}
.sk-menu[hidden]{display:none}
.sk-menu__bar{height:var(--sk-header-h);display:flex;align-items:center;justify-content:space-between;gap:20px}
.sk-menu .sk-logo__sub{color:var(--sk-muted-on-light)}
.sk-menu__close{display:flex;align-items:center;gap:10px;height:44px;padding:4px 4px 4px 16px;border-radius:var(--sk-r-pill);background:var(--sk-white);border:0;box-shadow:0 10px 30px rgba(0,0,0,.08);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sk-black)}
.sk-menu__nav{padding-top:var(--sk-s-40)}
.sk-menu__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sk-menu__link{display:flex;align-items:center;min-height:56px;font-size:clamp(2.125rem,6vw,5rem);font-weight:900;line-height:1;letter-spacing:-.03em;text-transform:uppercase;color:var(--sk-ink);text-decoration:none;transition:color var(--sk-dur-fast) ease}
.sk-menu__link:hover,.sk-menu__link[aria-current="page"]{color:var(--sk-accent)}
.sk-menu__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--sk-s-24)}
.sk-menu__chip{display:inline-flex;align-items:center;height:44px;padding:0 16px;border-radius:var(--sk-r-pill);border:1px solid var(--sk-ink);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sk-ink);text-decoration:none}
.sk-menu__chip:hover{background:var(--sk-ink);color:var(--sk-white)}
.sk-menu__foot{margin-top:auto;padding:var(--sk-s-32) 0;display:flex;flex-direction:column;gap:18px}
@media (min-width:768px){.sk-menu__foot{flex-direction:row;align-items:center;justify-content:space-between}}

/* Primary button (§14 sk-btn) — 56px, 28px left padding, 40px accent circle with arrow */
.sk-btn{display:inline-flex;align-items:center;gap:16px;min-height:56px;padding:8px 8px 8px 28px;border-radius:var(--sk-r-pill);font-size:15px;font-weight:700;line-height:1;text-decoration:none;transition:transform var(--sk-dur) var(--sk-ease),box-shadow var(--sk-dur) ease}
.sk-btn__circle{width:40px;height:40px;flex:none;border-radius:var(--sk-r-pill);background:var(--sk-accent);color:var(--sk-white);display:grid;place-items:center;transition:transform var(--sk-dur) var(--sk-ease)}
.sk-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(31,138,223,.25)}
.sk-btn:hover .sk-btn__circle{transform:translateX(3px)}
.sk-section--light .sk-btn,.sk-btn--navy{background:var(--sk-ink);color:var(--sk-white)}
.sk-section--dark .sk-btn,.sk-section--black .sk-btn,.sk-hero .sk-btn{background:var(--sk-white);color:var(--sk-ink)}
.sk-menu .sk-btn{background:var(--sk-ink);color:var(--sk-white);justify-content:space-between}

/* Text link (§14 sk-link) — 15px/600, 2px underline 6px offset, ≥ 44px tall */
.sk-link{display:inline-flex;align-items:center;min-height:46px;font-size:15px;font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;transition:color var(--sk-dur-fast) ease}
.sk-section--light .sk-link,.sk-menu .sk-link{color:var(--sk-accent-text)}
.sk-section--dark .sk-link,.sk-section--black .sk-link,.sk-hero .sk-link{color:var(--sk-white);text-decoration-color:var(--sk-accent)}
.sk-link:hover{color:var(--sk-accent)}

/* Body links (§11.2 L-A): underlined, accent-text on light, pale on dark */
.sk-prose a,.sk-answer a,.sk-faq__a a,.sk-callout__body a,.sk-card__body a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-weight:inherit}
.sk-section--light :is(.sk-prose,.sk-answer,.sk-callout__body,.sk-card__body) a{color:var(--sk-accent-text)}
.sk-section--dark :is(.sk-prose,.sk-callout__body,.sk-card__body) a,.sk-faq__a a{color:var(--sk-pale)}
.sk-prose a:hover,.sk-answer a:hover,.sk-faq__a a:hover{color:var(--sk-accent)}
.sk-ext{display:inline-block;width:.8em;height:.8em;margin-left:.2em;vertical-align:-.05em}

/* Breadcrumb strip (§8.3) */
.sk-crumbs{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:28px;border-bottom:1px solid rgba(25,51,64,.12)}
.sk-crumbs__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;font-size:var(--sk-fs-small);color:var(--sk-muted-on-light)}
.sk-crumbs__list a{color:var(--sk-muted-on-light);text-decoration:none}
.sk-crumbs__list a:hover{color:var(--sk-accent-text);text-decoration:underline}
.sk-crumbs__list [aria-current="page"]{color:var(--sk-ink);font-weight:600}
.sk-crumbs__updated{font-size:var(--sk-fs-caption);color:var(--sk-muted-on-light)}
@media (max-width:767px){.sk-crumbs{flex-direction:column;align-items:flex-start}}

/* Quick answer (§14 sk-answer; keeps .quick-answer) — white card r24, pill left of the 18px paragraph */
.sk-answer{margin-top:var(--sk-s-48);background:var(--sk-white);border:1px solid var(--sk-line-light);border-radius:var(--sk-r-lg);padding:clamp(24px,3.5vw,40px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),max-content));gap:16px 32px;align-items:start}
.sk-answer>.sk-pill{color:var(--sk-accent-text);align-self:start}
.sk-answer__text{max-width:70ch;font-size:18px;line-height:1.65;color:var(--sk-ink)}
.sk-answer__text>*+*{margin-top:var(--sk-s-12)}

/* Stat cards (§14 sk-stats) */
.sk-stat{border-radius:var(--sk-r-lg);padding:var(--sk-s-32);border:1px solid var(--sk-line-light);background:var(--sk-white);color:var(--sk-ink)}
.sk-section--dark .sk-stat{background:var(--sk-dark-card);border-color:var(--sk-line-dark);color:var(--sk-white)}
.sk-stat__fig{font-size:var(--sk-fs-stat);font-weight:800;line-height:1;letter-spacing:-.05em}
.sk-stat__unit{color:var(--sk-accent)}
.sk-stat__unit--word{font-size:.4em;letter-spacing:-.01em;margin-left:8px}
.sk-stat__label{margin-top:14px;font-size:16px;font-weight:500;line-height:1.5}
.sk-stat__src{margin-top:10px;font-size:var(--sk-fs-caption);line-height:1.5;color:var(--sk-muted-on-light)}
.sk-section--dark .sk-stat__src{color:var(--sk-muted-on-dark)}
@media (max-width:767px){.sk-stat{padding:20px}.sk-stat__fig{font-size:clamp(2rem,8.5vw,3rem)}}   /* 2-up on phones (UI-G4): the figure scales so 6-character figures fit; §6.1 says 48px (deviation, run report) */

/* Stat band (§14 sk-stats--band) — black, centred, radial accent glow */
.sk-band{position:relative;text-align:center}
.sk-band__glow{position:absolute;left:50%;top:50%;width:1000px;height:600px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(31,138,223,.22),rgba(31,138,223,0));pointer-events:none}
.sk-band__fig{position:relative;font-size:var(--sk-fs-stat-band);font-weight:800;line-height:.9;letter-spacing:-.06em;color:var(--sk-white)}
.sk-band__text{position:relative;margin:28px auto 0;max-width:30ch;font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:600;line-height:1.35;letter-spacing:-.01em;text-wrap:balance}
.sk-band .sk-tagline{position:relative}
.sk-section--black.sk-band{padding:clamp(120px,13vw,180px) 0}

/* "We report" metric cards (§9.3.5 core logic) */
.sk-metric{padding:28px 32px;border-radius:var(--sk-r-lg);background:var(--sk-ink);color:var(--sk-white)}
.sk-metric__label{font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9ec9ee}
.sk-metric__value{margin-top:10px;font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.02em}

/* Card grid (§14 sk-cards) — r24, padding 32/24, 48px tinted icon circle, H3 22px */
.sk-card{display:flex;flex-direction:column;gap:14px;padding:var(--sk-s-32);border-radius:var(--sk-r-lg);background:var(--sk-white);border:1px solid var(--sk-line-light);color:var(--sk-ink);text-decoration:none}
.sk-section--dark .sk-card{background:var(--sk-dark-card);border-color:var(--sk-line-dark);color:var(--sk-white)}
.sk-card__icon{width:var(--sk-icon-circle);height:var(--sk-icon-circle);flex:none;border-radius:var(--sk-r-pill);background:var(--sk-light);color:var(--sk-accent-text);display:grid;place-items:center}
.sk-section--dark .sk-card__icon{background:rgba(31,138,223,.12);color:var(--sk-accent)}
.sk-card__label{font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sk-accent-text)}
.sk-section--dark .sk-card__label{color:var(--sk-accent)}
.sk-card__title{font-size:var(--sk-fs-h3);font-weight:700;line-height:1.3;letter-spacing:-.02em}
.sk-card__body{font-size:16px;line-height:1.6;color:var(--sk-text-on-light)}
.sk-section--dark .sk-card__body{color:var(--sk-text-on-dark)}
.sk-card__body>*+*{margin-top:var(--sk-s-12)}
.sk-card__go{margin-top:auto;padding-top:8px;color:var(--sk-accent-text);transition:transform var(--sk-dur) var(--sk-ease)}
.sk-card--link{transition:border-color .3s ease,transform .5s var(--sk-ease)}
.sk-card--link:hover{border-color:var(--sk-accent);transform:translateY(-4px)}
.sk-card--link:hover .sk-card__go{transform:translateX(3px)}
.sk-card--image{padding:0;overflow:hidden;gap:0}
.sk-card--image .sk-card__media{aspect-ratio:16/10;width:100%;object-fit:cover;background:#dceaf7}
.sk-card--image .sk-card__text{padding:28px 28px 32px}
.sk-card--image .sk-card__title{font-size:24px}
.sk-card--image .sk-card__body{margin-top:10px}
.sk-card--small{padding:var(--sk-s-24);border-radius:var(--sk-r-lg);background:var(--sk-light);border-color:transparent;gap:12px}
.sk-card--small .sk-card__icon{width:44px;height:44px;background:var(--sk-white)}
.sk-card--small .sk-card__title{font-size:17px}
.sk-card--small .sk-card__body{font-size:var(--sk-fs-small);line-height:1.55}
@media (max-width:767px){.sk-card{padding:var(--sk-s-24)}.sk-card--image{padding:0}}

/* Service rows (§14 sk-rows) */
.sk-rows{border-top:1px solid var(--sk-line-light-3)}
.sk-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:1px solid rgba(25,51,64,.14);color:var(--sk-ink);text-decoration:none;transition:background-color .45s var(--sk-ease),padding .45s var(--sk-ease),color .3s ease,border-radius .45s ease}
.sk-row__title{font-size:var(--sk-fs-row);font-weight:800;line-height:1.05;letter-spacing:-.03em;text-transform:uppercase}
.sk-row__side{display:flex;align-items:center;gap:20px}
.sk-row__desc{max-width:280px;text-align:right;font-size:15px;line-height:1.5;color:#475d69}
.sk-row__go{width:44px;height:44px;flex:none;border-radius:var(--sk-r-pill);border:1px solid var(--sk-line-light-3);display:grid;place-items:center;color:var(--sk-ink);transition:background-color .3s ease,border-color .3s ease,color .3s ease}
a.sk-row:hover{background:var(--sk-ink);color:var(--sk-pale);padding-left:32px;padding-right:32px;border-radius:var(--sk-r-lg)}
a.sk-row:hover .sk-row__desc{color:var(--sk-pale)}
a.sk-row:hover .sk-row__go{background:var(--sk-accent);border-color:var(--sk-accent);color:var(--sk-white)}
.sk-rows__group+.sk-rows__group{margin-top:var(--sk-s-64)}
.sk-rows__h{margin-bottom:var(--sk-s-20);font-size:var(--sk-fs-h3);font-weight:700;letter-spacing:-.02em;color:var(--sk-ink)}
@media (max-width:860px){.sk-row{flex-direction:column;align-items:flex-start}.sk-row__side{width:100%;justify-content:space-between}.sk-row__desc{text-align:left;max-width:none}}

/* Client logos (§14 sk-logos) — 120px white circles (96 phone), two rows, edge fade */
.sk-logos{overflow:hidden;padding:14px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sk-logos+.sk-logos{margin-top:var(--sk-s-16)}
.sk-logos__track{display:flex;gap:40px;width:max-content}
.sk-logo-dot{width:120px;height:120px;flex:none;border-radius:var(--sk-r-pill);background:var(--sk-white);border:1px solid rgba(0,0,0,.05);display:grid;place-items:center;padding:12px;text-align:center;font-size:12px;font-weight:700;color:var(--sk-ink);text-decoration:none}
.sk-logo-dot img{width:auto;height:auto;max-width:84px;max-height:84px;object-fit:contain}
.sk-logos__dup{display:contents}
a.sk-logo-dot:hover{border-color:var(--sk-accent)}
.sk-logos--wall{-webkit-mask-image:none;mask-image:none}
.sk-logos--wall .sk-logos__track{width:auto;flex-wrap:wrap;justify-content:flex-start;gap:24px}
@media (max-width:767px){.sk-logo-dot{width:96px;height:96px}.sk-logo-dot img{max-width:67px;max-height:67px}.sk-logos__track{gap:24px}}

/* Marquee band (§14 sk-marquee) — homepage hero only */
.sk-marquee{position:relative;z-index:3;margin:-56px -4% 0;padding:18px 0;background:var(--sk-ink);color:var(--sk-pale);transform:rotate(-1.5deg);overflow:hidden;white-space:nowrap}
.sk-marquee__track{display:inline-flex;align-items:center}
.sk-marquee__item{padding:0 28px;font-size:clamp(1.25rem,2.4vw,2rem);font-weight:900;letter-spacing:-.02em;text-transform:uppercase}
.sk-marquee__ast{display:inline-block;color:var(--sk-green);font-size:26px;line-height:1}
@media (max-width:767px){.sk-marquee{padding:14px 0;transform:rotate(-2deg);margin:-56px -6% 0}.sk-marquee__item{padding:0 18px;font-size:20px}.sk-marquee__ast{font-size:18px}}

/* Story panels (§14 sk-story) — pinned on desktop, swipe row below 860px */
.sk-story{position:relative;margin-top:24px}
.sk-story__sticky{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.sk-story__track{display:flex;width:max-content}
.sk-story__panel{position:relative;flex:none;width:min(1100px,86vw);scroll-snap-align:center;display:flex;align-items:center;padding:48px clamp(20px,5vw,40px)}
.sk-story__num{position:absolute;left:clamp(20px,5vw,80px);top:50%;transform:translateY(-50%);font-size:clamp(8rem,15vw,14rem);font-weight:900;line-height:.8;color:var(--sk-accent);opacity:.07}
.sk-story__grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:clamp(32px,6vw,80px);align-items:center;width:100%;max-width:1200px;margin:0 auto}
.sk-story__media{aspect-ratio:4/3;width:100%;border-radius:var(--sk-r-lg);object-fit:cover;background:#18232c}
.sk-story__label{font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--sk-accent)}
.sk-story__title{margin-top:16px;font-size:var(--sk-fs-h3-feature);font-weight:700;line-height:1.12;letter-spacing:-.025em;color:var(--sk-white)}
.sk-story__body{margin-top:20px;max-width:44ch;font-size:17px;line-height:1.65;color:var(--sk-text-on-dark)}
.sk-story__progress{height:2px;margin-top:8px;margin-bottom:48px;background:rgba(255,255,255,.1);overflow:hidden}
.sk-story__bar{height:2px;background:var(--sk-accent);transform-origin:left;transform:scaleX(.2)}
@media (min-width:861px) and (prefers-reduced-motion:no-preference){
.sk-story--pin{height:2800px}
.sk-story--n3{height:2100px}.sk-story--n4{height:2480px}
.sk-story--pin .sk-story__sticky{position:sticky;top:0;height:780px;overflow:hidden;scroll-snap-type:none;display:flex;flex-direction:column;justify-content:center}
.sk-story--pin .sk-story__track{width:100%;will-change:transform}
.sk-story--pin .sk-story__panel{width:100%;padding:0 clamp(20px,5vw,80px)}
}

/* Timeline (§14 sk-steps) — spine 2px centred (20px left on phone), 18px sonar nodes, alternate sides, 96px apart */
.sk-steps{position:relative;margin-top:88px}
.sk-steps__spine{position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(31,138,223,.18);transform:translateX(-50%);overflow:hidden}
.sk-steps__fill{position:absolute;inset:0;background:var(--sk-accent);transform-origin:top}
.sk-step{position:relative;display:grid;grid-template-columns:1fr 1fr;column-gap:120px;margin-bottom:96px}
.sk-step:last-child{margin-bottom:0}
.sk-step__node{position:absolute;left:50%;top:10px;width:18px;height:18px;border-radius:var(--sk-r-pill);background:var(--sk-accent);transform:translateX(-50%)}
.sk-step__text{grid-column:1;text-align:right}
.sk-step:nth-child(odd of .sk-step) .sk-step__text{grid-column:1;text-align:right}
.sk-step:nth-child(even of .sk-step) .sk-step__text{grid-column:2;text-align:left}
.sk-step__num{font-size:56px;font-weight:900;line-height:1;color:rgba(255,255,255,.1)}
.sk-step__title{margin-top:10px;font-size:clamp(1.375rem,2.2vw,1.75rem);font-weight:700;letter-spacing:-.02em}
.sk-step__body{margin-top:12px;font-size:16px;line-height:1.65;color:var(--sk-text-on-dark)}
.sk-section--light .sk-step__num{color:rgba(25,51,64,.12)}
.sk-section--light .sk-step__body{color:var(--sk-text-on-light)}
@media (max-width:860px){
.sk-steps{margin-top:40px}
.sk-steps__spine{left:18px;transform:none}
.sk-step{grid-template-columns:1fr;padding-left:52px;margin-bottom:40px}
.sk-step__node{left:11px;top:8px;width:16px;height:16px;transform:none}
.sk-step:nth-child(n of .sk-step) .sk-step__text{grid-column:1;text-align:left}
.sk-step__num{font-size:40px}
.sk-step__title{margin-top:6px;font-size:22px}
.sk-step__body{margin-top:8px;font-size:15px;line-height:1.6}
}

/* Compare / data table (§14 sk-compare, sk-table) — r24, navy header, zebra, scrolls in its box */
.sk-table-box{overflow-x:auto;border-radius:var(--sk-r-lg);border:1px solid var(--sk-line-light);background:var(--sk-white);-webkit-overflow-scrolling:touch}
.sk-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;color:var(--sk-ink)}
.sk-table th{background:var(--sk-ink);color:var(--sk-white);font-size:14px;font-weight:700;text-align:left;padding:16px 20px;position:sticky;top:0}
.sk-table td{padding:16px 20px;border-top:1px solid var(--sk-line-light);vertical-align:top}
.sk-table tbody tr:nth-child(even) td{background:#f8fafc}
.sk-table td:first-child{font-weight:600}
.sk-table a{color:var(--sk-accent-text);text-decoration:underline;text-underline-offset:3px}
.sk-table__yes,.sk-table__no{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.sk-table__yes{color:#0f7a4f}
.sk-table__no{color:var(--sk-muted-on-light)}
.sk-table__src{margin-top:12px;font-size:var(--sk-fs-caption);color:var(--sk-muted-on-light)}

/* Callout (§14 sk-callout) — r24, tint fill, tint line all round, 20px icon, label-style title */
.sk-callout{display:flex;gap:16px;padding:28px 32px;border-radius:var(--sk-r-lg);background:var(--sk-tint);border:1px solid var(--sk-tint-line);color:var(--sk-ink)}
.sk-section--dark .sk-callout{background:rgba(31,138,223,.1);color:var(--sk-white)}
.sk-callout__icon{flex:none;width:var(--sk-icon-sm);height:var(--sk-icon-sm);margin-top:2px;color:var(--sk-accent-text)}
.sk-section--dark .sk-callout__icon{color:var(--sk-accent)}
.sk-callout__title{font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.4}
.sk-callout__body{margin-top:8px;font-size:16px;line-height:1.6}
.sk-callout__body>*+*{margin-top:var(--sk-s-12)}
@media (max-width:767px){.sk-callout{padding:var(--sk-s-24)}}

/* Chips (§14 L-C sk-chips) */
.sk-chips__label{display:block;margin:0 0 var(--sk-s-16);font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sk-muted-on-light)}
h3.sk-chips__label{font-size:17px;letter-spacing:-.01em;text-transform:none;color:var(--sk-ink)}
.sk-section--dark h3.sk-chips__label{color:var(--sk-white)}
.sk-section--dark .sk-chips__label{color:var(--sk-muted-on-dark)}
.sk-chips__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.sk-chip{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:var(--sk-r-pill);border:1px solid var(--sk-line-light-2);background:var(--sk-white);color:var(--sk-ink);font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;transition:border-color var(--sk-dur-fast) ease,transform var(--sk-dur) var(--sk-ease)}
.sk-chip:hover{border-color:var(--sk-accent)}
.sk-section--dark .sk-chip{background:transparent;border-color:var(--sk-line-dark-2);color:var(--sk-white)}
.sk-chips+.sk-chips{margin-top:var(--sk-s-32)}

/* Related cards (§14 sk-related) */
.sk-related{display:flex;flex-direction:column;gap:10px;padding:var(--sk-s-24);border-radius:var(--sk-r-lg);background:var(--sk-white);border:1px solid var(--sk-line-light);color:var(--sk-ink);text-decoration:none;transition:border-color .3s ease,transform .5s var(--sk-ease)}
.sk-related:hover{border-color:var(--sk-accent);transform:translateY(-4px)}
.sk-related__kind{display:flex;align-items:center;gap:8px;font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sk-accent-text)}
.sk-related__title{font-size:18px;font-weight:700;line-height:1.35;letter-spacing:-.01em}
.sk-related__desc{font-size:var(--sk-fs-small);line-height:1.55;color:var(--sk-text-on-light)}

/* Case cards (§14 sk-case) */
.sk-case{display:flex;flex-direction:column;border-radius:var(--sk-r-lg);overflow:hidden;background:var(--sk-white);border:1px solid var(--sk-line-light);color:var(--sk-ink);text-decoration:none;transition:border-color .3s ease,transform .5s var(--sk-ease)}
.sk-case:hover{border-color:var(--sk-accent);transform:translateY(-4px)}
.sk-case__media{aspect-ratio:16/10;width:100%;object-fit:cover;background:#dceaf7}
.sk-case__text{display:flex;flex-direction:column;gap:10px;padding:28px 28px 32px}
.sk-case__who{display:flex;align-items:center;gap:12px}
.sk-case__logo{width:44px;height:44px;flex:none;border-radius:var(--sk-r-pill);object-fit:contain;background:var(--sk-white);border:1px solid var(--sk-line-light);padding:6px}
.sk-case__client{font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--sk-accent-text)}
.sk-case__sector{display:block;font-size:var(--sk-fs-caption);color:var(--sk-muted-on-light)}
.sk-case__title{margin:0;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.02em}
.sk-case__outcome{font-size:16px;line-height:1.6;color:var(--sk-text-on-light)}
.sk-section--dark .sk-case{background:var(--sk-dark-card);border-color:var(--sk-line-dark);color:var(--sk-white)}
.sk-section--dark .sk-case__outcome{color:var(--sk-text-on-dark)}
.sk-section--dark .sk-case__client{color:var(--sk-accent)}

/* Gallery, figures, quote */
.sk-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:var(--sk-s-24)}
.sk-figure img{width:100%;border-radius:var(--sk-r-lg)}
.sk-figure figcaption{margin-top:10px;font-size:var(--sk-fs-caption);line-height:1.5;color:var(--sk-muted-on-light)}
.sk-section--dark .sk-figure figcaption{color:var(--sk-muted-on-dark)}
.sk-split__media{width:100%;aspect-ratio:4/3;border-radius:var(--sk-r-lg);object-fit:cover}
.sk-quote{max-width:860px}
.sk-quote__text{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;line-height:1.35;letter-spacing:-.01em}
.sk-quote__text::before{content:"\201C";color:var(--sk-accent);margin-right:.08em}
.sk-quote__who{margin-top:var(--sk-s-24);font-size:15px;font-weight:700}
.sk-quote__role{display:block;margin-top:4px;font-size:var(--sk-fs-caption);font-weight:400;color:var(--sk-muted-on-dark)}

/* Inset panel (§14 sk-inset) — r32, padding 64/28 */
.sk-inset{background:var(--sk-white);border-radius:var(--sk-r-xl);padding:clamp(28px,5vw,64px);border:1px solid rgba(25,51,64,.08);color:var(--sk-ink)}
.sk-inset .sk-h2{font-size:clamp(1.75rem,3.4vw,2.75rem);line-height:1.1}
.sk-inset .sk-sub{margin-top:14px;font-size:16px;line-height:1.6;color:#475d69}
.sk-inset .sk-body{margin-top:var(--sk-s-40)}
.sk-inset .sk-grid{gap:var(--sk-s-16)}

/* More detail (§14 sk-more) — 56px summary, plus icon rotating to × */
.sk-more{border-top:1px solid var(--sk-line-light-2);border-bottom:1px solid var(--sk-line-light-2)}
.sk-section--dark .sk-more{border-color:var(--sk-line-dark-2)}
.sk-more+.sk-more{border-top:0}
.sk-more>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;list-style:none;font-size:16px;font-weight:600}
.sk-more>summary::-webkit-details-marker{display:none}
.sk-more__plus{width:20px;height:20px;flex:none;transition:transform var(--sk-dur) var(--sk-ease)}
.sk-more[open] .sk-more__plus{transform:rotate(45deg)}
.sk-more>.sk-prose{padding:8px 0 24px}

/* FAQ accordion (§14 sk-faq; keeps #faq) — dark, 32px rows, chevron 180°, open question pale blue */
.sk-faq{margin-top:var(--sk-s-56)}
.sk-faq__item{border-bottom:1px solid rgba(255,255,255,.1)}
.sk-faq__item>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0;list-style:none;font-size:clamp(1.125rem,2.2vw,1.5rem);font-weight:700;line-height:1.35;letter-spacing:-.01em;color:var(--sk-white);transition:color .3s ease}
.sk-faq__item>summary::-webkit-details-marker{display:none}
.sk-faq__q{margin:0;font:inherit;color:inherit}
.sk-faq__chev{display:grid;place-items:center;width:40px;height:40px;flex:none;color:var(--sk-white);transition:transform .6s var(--sk-ease),color .3s ease}
.sk-faq__item[open]>summary{color:var(--sk-pale)}
.sk-faq__item[open] .sk-faq__chev{transform:rotate(180deg);color:var(--sk-accent)}
.sk-faq__item>summary:hover{color:var(--sk-pale)}
.sk-faq__a{padding:0 64px 32px 0;max-width:62ch;font-size:17px;line-height:1.7;color:rgba(255,255,255,.8)}
.sk-faq__a>*+*{margin-top:var(--sk-s-12)}
.sk-faq__more{border-bottom:1px solid rgba(255,255,255,.1)}
.sk-faq__more>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;list-style:none;font-size:17px;font-weight:600;color:var(--sk-pale)}
.sk-faq__more>summary::-webkit-details-marker{display:none}
.sk-faq__more[open]>summary .sk-more__plus{transform:rotate(45deg)}
@media (max-width:767px){.sk-faq__item>summary{padding:24px 0}.sk-faq__a{padding:0 0 24px}}

/* CTA band (§14 sk-cta) — light, centred, H2 CTA with accent last phrase */
.sk-cta{text-align:center}
.sk-cta .sk-h2{font-size:var(--sk-fs-h2-cta);line-height:1.05;letter-spacing:-.035em}
.sk-cta .sk-lead{color:#475d69}
.sk-cta .sk-actions{justify-content:center;margin-top:var(--sk-s-40)}

/* Footer (§14 sk-footer) */
.sk-footer{background:var(--sk-dark);color:var(--sk-white);padding:88px 0 40px}
.sk-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:40px}
.sk-footer__col{display:flex;flex-direction:column;gap:0}
.sk-footer__col>.sk-footer__h{margin-top:14px;margin-bottom:6px}
.sk-footer__col>.sk-footer__h:first-child{margin-top:0}
.sk-footer__brand{font-size:22px;font-weight:800;letter-spacing:-.02em}
.sk-footer__addr{font-size:var(--sk-fs-small);line-height:1.6;color:var(--sk-muted-on-dark);font-style:normal}
.sk-footer__h{font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sk-muted-on-dark)}
.sk-footer__link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;color:var(--sk-text-on-dark);text-decoration:none}   /* UI-A2 / UI-G8: 44px tap target */
.sk-footer__link:hover{color:var(--sk-white);text-decoration:underline;text-underline-offset:4px}
.sk-footer__contact{font-size:var(--sk-fs-small)}
.sk-footer__contact svg{width:18px;height:18px;flex:none;color:var(--sk-accent)}
.sk-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:72px;padding-top:24px;border-top:1px solid var(--sk-line-dark);font-size:var(--sk-fs-caption);color:var(--sk-muted-on-dark)}
.sk-footer__bottom a{display:inline-flex;align-items:center;min-height:44px;color:var(--sk-muted-on-dark)}
.sk-footer__legal{display:flex;flex-wrap:wrap;gap:24px}
@media (max-width:767px){.sk-footer{padding:72px 0 32px}}

/* WhatsApp button (§14 sk-wa) — 60/56px green circle, bottom-right 28/18px */
.sk-wa{position:fixed;right:28px;bottom:28px;z-index:var(--sk-z-wa);width:60px;height:60px;border-radius:var(--sk-r-pill);background:var(--sk-green);color:var(--sk-dark);display:grid;place-items:center;box-shadow:0 14px 30px rgba(0,208,132,.35)}
@media (max-width:767px){.sk-wa{right:18px;bottom:18px;width:56px;height:56px}}

/* Tool panel, fields, results, verdict (§14) */
.sk-tool{max-width:880px;margin:0 auto;background:var(--sk-white);border-radius:var(--sk-r-xl);padding:clamp(24px,4vw,48px);border:1px solid var(--sk-line-light);color:var(--sk-ink)}
.sk-field{display:flex;flex-direction:column;gap:8px}
.sk-field__label{font-size:13px;font-weight:600}
.sk-field__input{height:52px;padding:0 16px;border-radius:var(--sk-r-md);border:1px solid var(--sk-line-light-3);font-size:16px;color:var(--sk-ink);background:var(--sk-white)}
.sk-field__input:focus{border-color:var(--sk-accent);box-shadow:0 0 0 3px rgba(31,138,223,.25);outline:0}
.sk-field__help{font-size:var(--sk-fs-caption);color:var(--sk-muted-on-light)}
.sk-field__error{font-size:var(--sk-fs-caption);color:var(--sk-error-text)}
.sk-btn--tool{width:100%;justify-content:center;min-height:56px;padding:0 24px;background:var(--sk-ink);color:var(--sk-white);font-size:16px}
.sk-btn--tool:hover{background:var(--sk-accent)}
.sk-result{border-radius:var(--sk-r-md);background:#f8fafc;border:1px solid var(--sk-line-light);padding:20px}
.sk-result__label{font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sk-muted-on-light)}
.sk-result__value{margin-top:8px;font-size:28px;font-weight:800;color:var(--sk-ink)}

/* Embedded widget holder: kept legacy widgets render inside a white tool panel, unchanged (tool template) */
.sk-widget{max-width:100%}

/* Contents list (§14 sk-toc), reading progress, byline, sources */
.sk-toc{font-size:var(--sk-fs-small)}
.sk-toc>summary{min-height:44px;display:flex;align-items:center;font-weight:700;font-size:15px;color:var(--sk-ink)}
.sk-toc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sk-toc__list a{display:flex;align-items:center;min-height:44px;padding:4px 0;line-height:1.35;color:var(--sk-text-on-light);text-decoration:none}
.sk-toc__list a:hover,.sk-toc__list a[aria-current="true"]{color:var(--sk-accent-text)}
.sk-progress{position:fixed;left:0;right:0;top:var(--sk-header-h);height:3px;z-index:var(--sk-z-header);background:var(--sk-accent);transform-origin:left;transform:scaleX(var(--sk-read,0))}
.sk-byline{display:flex;align-items:center;gap:12px;font-size:var(--sk-fs-caption);color:var(--sk-muted-on-dark)}
.sk-byline__name{font-size:var(--sk-fs-small);font-weight:600;color:var(--sk-white)}
.sk-sources{font-size:var(--sk-fs-small);line-height:1.55;color:var(--sk-text-on-light)}
.sk-sources li+li{margin-top:8px}
.sk-sources a{color:var(--sk-accent-text);text-decoration:underline;text-underline-offset:3px;word-break:break-word}

/* Icons (§15 UI-I4) */
.sk-i{width:var(--sk-icon-sm);height:var(--sk-icon-sm);flex:none}
.sk-card__icon .sk-i{width:var(--sk-icon);height:var(--sk-icon)}

/* "More case studies (n)" — the D4 pattern applied to case cards (UI-X15 nearest type: more) */
.sk-more--cases{margin-top:var(--sk-s-32)}
.sk-more__cases{padding:8px 0 32px}

/* Large-brand strip at the top of a section (§9.3.5) */
.sk-strip{margin-bottom:clamp(64px,7vw,96px)}
.sk-strip__label{font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sk-muted-on-light)}
.sk-strip .sk-body{margin-top:var(--sk-s-24)}
.sk-section--dark .sk-strip__label{color:var(--sk-muted-on-dark)}

.sk-related-group+.sk-chips,.sk-chips+.sk-related-group,.sk-related-group+.sk-related-group{margin-top:var(--sk-s-32)}
.sk-related-group .sk-grid{margin-top:var(--sk-s-16)}
h3.sk-related__title{margin:0}

/* UI-A2: short footer and hero language/market links keep a 44px square target */
.sk-footer__legal :is(a,span){min-width:44px;justify-content:center}
.sk-footer__legal{display:flex;flex-wrap:wrap;gap:0 16px}

/* Named-client results (data/results-proof.php) — Parts 128/141 */
.sk-results{margin-bottom:var(--sk-s-64)}
.sk-results__h{margin:0 0 var(--sk-s-24);font-size:var(--sk-fs-h3);letter-spacing:-.02em}
.sk-result-card{padding:var(--sk-s-32);border-radius:var(--sk-r-lg);background:var(--sk-white);border:1px solid var(--sk-line-light);color:var(--sk-ink)}
.sk-result-card+.sk-result-card{margin-top:var(--sk-s-24)}
.sk-section--dark .sk-result-card{background:var(--sk-dark-card);border-color:var(--sk-line-dark);color:var(--sk-white)}
.sk-result-card__who{display:flex;align-items:center;gap:14px}
.sk-result-card__client{font-size:17px;font-weight:700}
.sk-result-card__meta{font-size:var(--sk-fs-caption);color:var(--sk-muted-on-light)}
.sk-section--dark .sk-result-card__meta{color:var(--sk-muted-on-dark)}
.sk-result-card__summary{margin-top:var(--sk-s-16);font-size:16px;line-height:1.6}
.sk-result-card__tiles{margin-top:var(--sk-s-24)}
.sk-result-card__def{margin-top:var(--sk-s-20);font-size:var(--sk-fs-small);line-height:1.55;color:var(--sk-text-on-light)}
.sk-section--dark .sk-result-card__def{color:var(--sk-text-on-dark)}

/* UI-A2: links inside table cells keep a 44px target */
.sk-table :is(th,td) a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.sk-table th a{color:var(--sk-white);text-decoration-color:var(--sk-accent)}
/* ---- v3/templates.css ---- */
/* templates — UI-RULES v3.0 §8.2 hero types A–E, page frame. Values from seo/ui-reference/ (D15). */
.sk-hero{position:relative;background:var(--sk-black);color:var(--sk-white);overflow:hidden}
.sk-hero__glow{position:absolute;left:50%;bottom:-260px;width:1200px;height:620px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(31,138,223,.28),rgba(31,138,223,0));pointer-events:none}
.sk-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sk-hero__fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.55) 55%,var(--sk-black) 100%);pointer-events:none}
.sk-hero__canvas{position:absolute;left:0;top:0;width:100vw;height:100vh;pointer-events:none}   /* site-v2-2.js sizes the buffer to the viewport */
.sk-hero__inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px clamp(20px,5vw,40px) 112px}
.sk-hero--a .sk-hero__inner{min-height:720px}
.sk-hero--home .sk-hero__inner{min-height:760px;padding-bottom:150px}
.sk-h1{margin:0;max-width:22ch;font-size:var(--sk-fs-h1);font-weight:700;line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
.sk-hero--home .sk-h1{max-width:24ch;font-size:clamp(2.75rem,6.2vw,5.25rem)}
.sk-hero--a .sk-h1{font-size:clamp(2.5rem,5.6vw,4.75rem)}
.sk-hero--home .sk-h1{font-size:clamp(2.75rem,6.2vw,5.25rem)}
.sk-h1__l1{display:block;color:var(--sk-white)}
.sk-h1__l2{display:block;margin-top:.12em;color:var(--sk-accent)}
.sk-h1__l2--small{font-size:var(--sk-h1-line2);line-height:1.15;letter-spacing:-.025em}
.sk-h1--compact{font-size:var(--sk-fs-h1-compact);line-height:1.08;letter-spacing:-.03em}
.sk-hero .sk-h1.sk-h1--compact{font-size:var(--sk-fs-h1-compact)}
.sk-hero .sk-h1.sk-h1--article{font-size:var(--sk-fs-h1-article);line-height:1.12;letter-spacing:-.025em}
.sk-hero__lede{margin:28px auto 0;max-width:40rem;font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.6;color:var(--sk-text-on-dark);text-wrap:pretty}
.sk-hero__lede a{color:var(--sk-white);text-decoration:underline;text-decoration-color:var(--sk-accent);text-underline-offset:4px}
.sk-hero .sk-actions{justify-content:center;margin-top:var(--sk-s-40);gap:14px 22px}
.sk-hero__countries{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:44px;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--sk-muted-on-dark)}
.sk-hero__countries :is(a,span){display:inline-flex;align-items:center;min-height:44px}
.sk-hero__countries a{color:inherit;text-decoration:none}
.sk-hero__countries a:hover{color:var(--sk-white);text-decoration:underline;text-underline-offset:4px}
.sk-hero__countries [aria-current="true"]{color:var(--sk-white)}
.sk-hero__langs{display:flex;gap:18px;margin-top:14px;font-size:13px}
.sk-hero__langs a{color:var(--sk-muted-on-dark);min-height:44px;min-width:44px;justify-content:center;display:inline-flex;align-items:center}
.sk-hero__cue{position:absolute;bottom:96px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#6b7280}
.sk-hero__cue-line{display:block;width:1px;height:40px;background:rgba(255,255,255,.12);overflow:hidden}
.sk-hero__cue-line>span{display:block;width:1px;height:40px;background:var(--sk-accent)}
/* Type B media */
.sk-hero--b .sk-hero__inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:48px 64px;align-items:center;text-align:left;padding:96px 0 112px;max-width:1200px;margin:0 auto;padding-left:clamp(24px,5vw,40px);padding-right:clamp(24px,5vw,40px)}
.sk-hero--b .sk-hero__lede{margin-left:0}
.sk-hero--b .sk-actions{justify-content:flex-start}
.sk-hero__label{display:block;margin-bottom:16px;font-size:var(--sk-fs-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sk-accent)}
.sk-hero__frame{width:100%;aspect-ratio:16/9;border-radius:var(--sk-r-xl);object-fit:cover;background:#16212a}
@media (max-width:860px){.sk-hero--b .sk-hero__frame{order:-1;aspect-ratio:4/3}}
/* Type C compact, D article, E plain */
.sk-hero--c .sk-hero__inner{min-height:400px;padding:120px clamp(20px,5vw,40px) 80px}
.sk-hero--c .sk-h1{font-size:var(--sk-fs-h1-compact);line-height:1.08;letter-spacing:-.03em}
.sk-hero--d .sk-hero__inner{min-height:440px;align-items:flex-start;text-align:left;max-width:940px;margin:0 auto;padding:120px clamp(24px,5vw,40px) 80px}
.sk-hero--d .sk-h1{font-size:var(--sk-fs-h1-article);line-height:1.12;letter-spacing:-.025em;max-width:none}
.sk-hero--d .sk-hero__lede{margin-left:0}
.sk-hero--d .sk-byline{margin-top:var(--sk-s-24)}
.sk-hero--e .sk-hero__inner{min-height:320px;align-items:flex-start;text-align:left;max-width:940px;margin:0 auto;padding:112px clamp(24px,5vw,40px) 64px}
.sk-hero--e .sk-h1{font-size:var(--sk-fs-h1-compact)}
.sk-hero--e .sk-hero__lede{margin-left:0}
.sk-hero--left .sk-hero__inner{align-items:flex-start;text-align:left}
.sk-hero--left .sk-actions{justify-content:flex-start}
@media (max-width:767px){
.sk-hero--a .sk-hero__inner,.sk-hero--home .sk-hero__inner{min-height:600px;padding-top:72px}
.sk-hero__cue{display:none}
.sk-hero--home .sk-h1,.sk-hero--a .sk-h1{font-size:40px;line-height:1.06}
.sk-hero__lede{margin-top:22px;font-size:16px}
.sk-hero .sk-actions{flex-direction:column;align-items:stretch;gap:6px}
.sk-hero .sk-btn{justify-content:space-between}
.sk-hero .sk-link{justify-content:center}
.sk-hero__countries{gap:8px 16px;margin-top:22px;font-size:11px;letter-spacing:.2em}
.sk-hero--c .sk-hero__inner,.sk-hero--d .sk-hero__inner{padding-top:80px;padding-bottom:64px;min-height:0}
}
/* breadcrumb + quick answer open the first light section (§8.3) */
.sk-section--answer{padding-top:28px}
.sk-answer-gap{height:clamp(96px,10vw,128px)}   /* reference #overview: quick answer → first heading block */
/* article — UI-RULES v3.0 §9.3.16 reading column (680px), sticky contents list (240px, > 1,200 words), article H2s. */
.sk-article{display:grid;grid-template-columns:minmax(0,680px);justify-content:center;gap:64px}
.sk-article--toc{grid-template-columns:240px minmax(0,680px);justify-content:center}
.sk-article__toc{position:relative}
.sk-article__toc .sk-toc{position:sticky;top:calc(var(--sk-header-h) + 32px)}
.sk-article__body{min-width:0}
.sk-article__part{scroll-margin-top:calc(var(--sk-header-h) + 24px)}
.sk-article__part+.sk-article__part{margin-top:var(--sk-s-64)}
.sk-article__body>.sk-prose+.sk-article__part{margin-top:var(--sk-s-56)}
.sk-article__h2{margin:0 0 var(--sk-s-24);font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.12;letter-spacing:-.025em}
.sk-article .sk-prose{max-width:none;font-size:clamp(1.0625rem,.95rem + .3vw,1.125rem);line-height:1.75}
.sk-article .sk-prose h3{font-size:clamp(1.25rem,1.6vw,1.5rem)}
.sk-article .sk-prose h4{margin-top:var(--sk-s-32);font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--sk-ink)}
.sk-article .sk-more{margin-top:var(--sk-s-24)}
.sk-prose [id]{scroll-margin-top:calc(var(--sk-header-h) + 24px)}
.sk-pullquote{margin:var(--sk-s-32) 0;padding:0;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600;line-height:1.4;color:var(--sk-ink)}
.sk-pullquote::before{content:"\201C";color:var(--sk-accent);margin-right:.08em}
.sk-prose .sk-chips,.sk-prose .sk-actions{margin-top:var(--sk-s-32)}
.sk-prose .sk-widget{margin:var(--sk-s-32) 0}
.sk-section--compact .sk-prose{max-width:680px;margin:0 auto}
@media (max-width:1023px){.sk-article--toc{grid-template-columns:minmax(0,680px)}.sk-article__toc .sk-toc{position:static}.sk-article__toc .sk-toc:not([open]){border-bottom:1px solid var(--sk-line-light-2)}}

.sk-hero__pill{color:rgba(255,255,255,.72);margin-bottom:var(--sk-s-24);text-decoration:none}
a.sk-hero__pill{display:inline-flex;align-items:center;min-height:44px;padding-top:0;padding-bottom:0}
a.sk-hero__pill:hover{color:var(--sk-white)}
.sk-hero--d .sk-byline{flex-wrap:wrap;gap:6px 12px}
.sk-hero--d .sk-byline a{display:inline-flex;align-items:center;min-height:44px;color:var(--sk-white)}
.sk-article__tail{margin-top:var(--sk-s-56)}
.sk-article__sources{margin-top:var(--sk-s-56)}
.sk-article__sources .sk-article__h2{font-size:var(--sk-fs-h3)}

/* ---- case study (§9.3.11): story section with the sticky facts card (4/8 columns; phone: facts above), stat cards for
   deliverables and client figures, reels grid ---- */
.sk-casestory{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;align-items:start}
.sk-casestory__facts{position:sticky;top:calc(var(--sk-header-h) + 32px)}
.sk-facts{border-radius:var(--sk-r-lg);border:1px solid var(--sk-line-light);background:var(--sk-white);padding:var(--sk-s-32);color:var(--sk-ink)}
.sk-facts__logo{display:block;height:56px;width:auto;max-width:180px;object-fit:contain;margin-bottom:24px}
.sk-facts__list{margin:0;display:grid;gap:20px}
.sk-facts__list dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sk-accent-text)}
.sk-facts__list dd{margin:4px 0 0;font-size:16px;font-weight:600;line-height:1.4}
.sk-casestory__body{min-width:0}
.sk-casestory__body .sk-article__part+.sk-article__part{margin-top:56px}
.sk-casestory__body .sk-prose{max-width:var(--sk-measure)}
.sk-grid--facts{margin-top:32px;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
.sk-stat__fig--text{font-size:clamp(2rem,4vw,3rem)}
.sk3--case .sk-note{margin-top:16px}
.sk3--case .sk-reels__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:16px}
.sk3--case .sk-reels__tile{position:relative;aspect-ratio:9/16;border-radius:var(--sk-r-lg);overflow:hidden;background:#16212a}
.sk3--case .sk-reels__tile video,.sk3--case .sk-reels__tile img,.sk3--case .sk-reels__tile iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.sk3--case .sk-reels__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:pointer}
.sk3--case .sk-reels__play svg{width:56px;height:56px}
.sk3--case .sk-reels figure{margin:0}
.sk3--case .sk-reels figcaption{font-size:13px;line-height:1.45;margin-top:8px}
.sk3--case .sk-reels figcaption a{text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:44px;padding-top:12px}
.sk-video{position:relative;aspect-ratio:16/9;border-radius:var(--sk-r-xl);overflow:hidden}
.sk-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:1023px){.sk-casestory{grid-template-columns:minmax(0,1fr);gap:40px}.sk-casestory__facts{position:static}.sk-facts__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.sk3--case .sk-reels__grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;overflow-x:auto;scroll-snap-type:x mandatory}}
.sk-cta__sub{margin-top:16px;font-size:var(--sk-fs-h3,24px);font-weight:700;line-height:1.3;letter-spacing:-.01em}
.sk-note--list{padding-left:1.1em;list-style:disc}.sk-note--list li+li{margin-top:6px}
.sk-figure img[alt*="logo" i],.sk-figure img[src*="logo" i]{width:auto;max-width:240px;max-height:120px;object-fit:contain}
.sk-more--topic>summary .sk-more__h{display:inline;font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}
.sk-grid--inline{margin:24px 0}
.sk-prose .sk-hlist{list-style:none;padding:0;margin:24px 0;display:grid;gap:16px;counter-reset:skh}
.sk-hlist>li{border-radius:var(--sk-r-lg);border:1px solid var(--sk-line-light);background:var(--sk-white);color:var(--sk-ink);padding:24px 28px;margin:0}
.sk-section--dark .sk-hlist>li{background:var(--sk-dark-card);border-color:var(--sk-line-dark);color:var(--sk-white)}
.sk-hlist--steps>li{counter-increment:skh;position:relative;padding-left:76px}
.sk-hlist--steps>li::before{content:counter(skh,decimal-leading-zero);position:absolute;left:24px;top:22px;font-weight:800;font-size:20px;color:var(--sk-accent-text)}
.sk-section--dark .sk-hlist--steps>li::before{color:var(--sk-accent)}
.sk-hlist__h{margin:0 0 8px;font-size:var(--sk-fs-h3);font-weight:700;line-height:1.3}
.sk-hlist__b>:first-child{margin-top:0}.sk-hlist__b>:last-child{margin-bottom:0}
.sk-strip__more{margin-top:16px;font-size:15px}
.sk-flow-wide{margin:32px 0}.sk-flow-wide .sk-grid--inline{margin:0}
.sk-card__foot{display:block;margin-top:auto;padding-top:12px;font-size:13px;color:var(--sk-muted,#5b6b75)}.sk-section--dark .sk-card__foot{color:rgba(255,255,255,.6)}
.sk-card__logo{display:block;height:48px;width:auto;max-width:160px;object-fit:contain;margin-bottom:16px}
.sk-box{border:1px solid var(--sk-line-light);border-radius:var(--sk-r-lg);background:var(--sk-white);color:var(--sk-ink);padding:24px 28px;margin:20px 0}
.sk-box>:first-child{margin-top:0}.sk-box>:last-child{margin-bottom:0}
.sk-section--dark .sk-box{background:var(--sk-dark-card);border-color:var(--sk-line-dark);color:var(--sk-white)}
.sk-prose ul.sk-lines,ul.sk-lines{list-style:none;padding-left:0;margin:12px 0}.sk-lines>li{margin:0;padding:0}.sk-lines>li+li{margin-top:4px}
/* ---- v3/motion.css ---- */
/* motion — UI-RULES v3.0 §13. Visible by default (UI-M2): only html.sk-motion hides, and only until revealed. */
.sk-motion [data-reveal]:not(.is-in),.sk-motion [data-stagger]>:not(.is-in){opacity:0;transform:translateY(32px)}
.sk-motion [data-reveal].is-in{opacity:1;transform:none;transition:opacity var(--sk-dur-reveal) var(--sk-ease),transform var(--sk-dur-reveal) var(--sk-ease)}
.sk-motion [data-stagger]>*.is-in{opacity:1;transform:none;transition:opacity var(--sk-dur-reveal) var(--sk-ease),transform var(--sk-dur-reveal) var(--sk-ease)}
.sk-motion [data-stagger]>:nth-child(2){transition-delay:90ms}.sk-motion [data-stagger]>:nth-child(3){transition-delay:180ms}.sk-motion [data-stagger]>:nth-child(4){transition-delay:270ms}.sk-motion [data-stagger]>:nth-child(5){transition-delay:360ms}.sk-motion [data-stagger]>:nth-child(6){transition-delay:450ms}
.sk-motion [data-pop]:not(.is-in){opacity:0;transform:scale(.85)}
.sk-motion [data-pop].is-in{opacity:1;transform:none;transition:opacity .7s var(--sk-ease),transform .7s var(--sk-ease)}
.sk-motion [data-unveil]:not(.is-in){clip-path:inset(100% 0 0 0)}
.sk-motion [data-unveil].is-in{clip-path:inset(0);transition:clip-path .9s var(--sk-ease)}
.sk-motion .sk-hero [data-intro]{animation:sk-intro .8s var(--sk-ease) both}
.sk-motion .sk-hero [data-intro]:nth-child(2){animation-delay:120ms}.sk-motion .sk-hero [data-intro]:nth-child(3){animation-delay:240ms}.sk-motion .sk-hero [data-intro]:nth-child(4){animation-delay:360ms}.sk-motion .sk-hero [data-intro]:nth-child(n+5){animation-delay:480ms}
.sk-h1 [data-intro]:nth-child(2){animation-delay:120ms}
@keyframes sk-intro{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
.sk-motion .sk-hero--a [data-exit],.sk-motion .sk-hero--home [data-exit]{transform:translateY(calc(var(--sk-exit,0) * -8%));opacity:calc(1 - var(--sk-exit,0) * .8)}
.sk-step{transition:opacity .4s ease}
.sk-motion [data-steps] .sk-step:not(.is-in){opacity:.4}
.sk-motion [data-steps] .sk-step.is-in .sk-step__node{animation:sk-sonar 2.2s ease-out 1}
.sk-motion [data-steps] .sk-steps__fill{transform:scaleY(var(--sk-steps-p,0))}
.sk-motion [data-pin] .sk-story__bar{transform:scaleX(calc(.2 + var(--sk-pin-p,0) * .8))}
.sk-step__node{box-shadow:0 0 0 0 rgba(31,138,223,.7)}
@keyframes sk-sonar{0%{box-shadow:0 0 0 0 rgba(31,138,223,.7)}70%{box-shadow:0 0 0 20px rgba(31,138,223,0)}100%{box-shadow:0 0 0 0 rgba(31,138,223,0)}}
@keyframes sk-mq{to{transform:translateX(-50%)}}
@keyframes sk-spin{to{transform:rotate(360deg)}}
@keyframes sk-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sk-cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.sk-marquee__track{animation:sk-mq 36s linear infinite}
.sk-marquee__ast,.sk-menu-btn__dot svg{animation:sk-spin 6s linear infinite}
.sk-logos__track{animation:sk-mq 46s linear infinite}
.sk-logos--rev .sk-logos__track{animation-direction:reverse}
.sk-logos:hover .sk-logos__track,.sk-logos:focus-within .sk-logos__track{animation-play-state:paused}
.sk-logos--wall .sk-logos__track{animation:none}
.sk-wa{animation:sk-bob 3.2s ease-in-out infinite}
.sk-hero__cue-line>span{animation:sk-cue 2.4s ease-in-out infinite}
.sk-paused .sk-marquee__track,.sk-paused .sk-logos__track,.sk-paused .sk-wa,.sk-paused .sk-marquee__ast{animation-play-state:paused}
/* UI-M4: reduced motion keeps FAQ open/close and tool results only */
@media (prefers-reduced-motion:reduce){
.sk-motion [data-reveal]:not(.is-in),.sk-motion [data-stagger]>:not(.is-in),.sk-motion [data-pop]:not(.is-in){opacity:1 !important;transform:none !important}
.sk-motion [data-unveil]:not(.is-in){clip-path:none !important}
.sk-motion .sk-hero [data-intro]{animation:none !important}
.sk-motion [data-steps] .sk-step:not(.is-in){opacity:1 !important}
.sk-motion [data-steps] .sk-steps__fill{transform:none !important}
.sk-motion .sk-hero [data-exit]{transform:none !important;opacity:1 !important}
.sk-marquee__track,.sk-marquee__ast,.sk-menu-btn__dot svg,.sk-logos__track,.sk-wa,.sk-hero__cue-line>span,.sk-step__node{animation:none !important}
.sk-btn,.sk-card--link,.sk-row,.sk-related,.sk-case,.sk-chip{transition:none !important}
}
/* ---- v3/zh.css ---- */
/* zh — UI-RULES v3.0 §17: Noto Sans SC (Simplified), Noto Sans TC (Traditional); Latin and numerals stay Poppins. Weights 400/700 (UI-Z3). */
.sk3:lang(zh-Hans),.sk3 :lang(zh-Hans),.sk3:lang(zh-CN),.sk3 :lang(zh-CN),.sk3:lang(zh-SG),.sk3 :lang(zh-SG),.sk3:lang(zh-MY),.sk3 :lang(zh-MY){font-family:var(--sk-font-zh-hans)}
.sk3:lang(zh-Hant),.sk3 :lang(zh-Hant),.sk3:lang(zh-TW),.sk3 :lang(zh-TW),.sk3:lang(zh-HK),.sk3 :lang(zh-HK){font-family:var(--sk-font-zh-hant)}
.sk3:lang(zh){line-height:1.9}
.sk3:lang(zh) :is(h1,h2,h3,h4,.sk-faq__item>summary){line-height:1.25;letter-spacing:0}
.sk3:lang(zh) :is(p,li,td,th,.sk-prose,.sk-faq__a){letter-spacing:0}
.sk3:lang(zh) :is(em,i){font-style:normal}
.sk3:lang(zh) :is(h1,h2,h3,h4,b,strong,th,.sk-btn,.sk-pill,.sk-tagline,.sk-stat__fig,.sk-row__title,.sk-menu__link){font-weight:700}
.sk3:lang(zh) :is(.sk-tagline,.sk-pill,.sk-chips__label,.sk-callout__title,.sk-footer__h){letter-spacing:.08em}
.sk3:lang(zh) .sk-row__title,.sk3:lang(zh) .sk-menu__link{text-transform:none;letter-spacing:0}
