/* =============================================================================
   Techluminate — "Lumen" design system
   Editorial + architectural. Near-black / graphite surfaces, soft-white paper,
   a single electric-blue signal with a soft-cyan support tone, thin rules,
   bento grids and restrained motion. Hand-authored, no framework, no build.
   Prefix: tl-
   ============================================================================= */

/* ------------------------------------------------------------------ tokens */
:root{
  --tl-black:#05060A;
  --tl-ink:#0A0C11;
  --tl-graphite:#11141B;
  --tl-charcoal:#181C25;
  --tl-steel:#262B36;
  --tl-dline:rgba(255,255,255,.08);
  --tl-dline-2:rgba(255,255,255,.14);
  --tl-fog:#98A1B2;
  --tl-fog-2:#C7CDD8;

  --tl-white:#FFFFFF;
  --tl-paper:#F5F6F8;
  --tl-paper-2:#ECEEF2;
  --tl-line:#E1E4EA;
  --tl-line-2:#CDD2DB;
  --tl-text:#0A0C11;
  --tl-text-2:#363C48;
  --tl-muted:#646C7B;

  --tl-blue:#2F6BFF;
  --tl-blue-600:#1E55E8;
  --tl-blue-700:#1843BD;
  --tl-blue-50:#EDF2FF;
  --tl-blue-100:#DAE5FF;
  --tl-cyan:#62DCF2;
  --tl-cyan-600:#0B8EA8;
  --tl-cyan-50:#E8FAFD;

  --tl-ok:#0F9C74;   --tl-ok-50:#E6F7F1;
  --tl-warn:#B7780A; --tl-warn-50:#FDF4E2;
  --tl-err:#D0334A;  --tl-err-50:#FDECEE;

  --tl-font-display:'Inter Tight','Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --tl-font-body:'Instrument Sans','Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --tl-font-mono:'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --tl-r-xs:6px; --tl-r-sm:10px; --tl-r:14px; --tl-r-lg:20px; --tl-r-xl:28px;
  --tl-ease:cubic-bezier(.16,1,.3,1);
  --tl-shadow:0 1px 0 rgba(10,12,17,.04),0 12px 32px -18px rgba(10,12,17,.22);
  --tl-shadow-lg:0 30px 80px -40px rgba(5,6,10,.55);
  --tl-header:64px;
  --tl-gutter:16px;
  --tl-max:1320px;
}
@media (min-width:640px){ :root{ --tl-gutter:24px; } }
@media (min-width:1024px){ :root{ --tl-gutter:40px; --tl-header:72px; } }

/* ------------------------------------------------------------------- reset */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--tl-header) + 16px); }
body{ margin:0; background:var(--tl-paper); color:var(--tl-text); font-family:var(--tl-font-body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden; text-rendering:optimizeLegibility; }
img,svg,video{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ cursor:pointer; background:none; border:0; padding:0; }
h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl,dd{ margin:0; }
ul,ol{ padding:0; list-style:none; }
table{ border-collapse:collapse; width:100%; }
hr{ border:0; border-top:1px solid var(--tl-line); margin:0; }
::selection{ background:var(--tl-blue); color:#fff; }
:focus-visible{ outline:2px solid var(--tl-blue); outline-offset:3px; border-radius:4px; }
.tl-dark :focus-visible,.tl-on-dark :focus-visible{ outline-color:var(--tl-cyan); }
html.tl-no-scroll{ overflow:hidden; }

/* ---------------------------------------------------------------- utilities */
.hidden{ display:none !important; }
.flex{ display:flex; }
.block{ display:block; }
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.tl-skip{ position:fixed; left:12px; top:-60px; z-index:300; padding:10px 16px; border-radius:8px; background:var(--tl-blue); color:#fff; font-weight:600; transition:top .2s; }
.tl-skip:focus{ top:12px; }
.tl-mt-0{margin-top:0}.tl-mt-1{margin-top:4px}.tl-mt-2{margin-top:8px}.tl-mt-3{margin-top:12px}.tl-mt-4{margin-top:16px}.tl-mt-5{margin-top:20px}.tl-mt-6{margin-top:24px}.tl-mt-8{margin-top:32px}.tl-mt-10{margin-top:40px}.tl-mt-12{margin-top:48px}.tl-mt-16{margin-top:64px}
.tl-mb-4{margin-bottom:16px}.tl-mb-6{margin-bottom:24px}.tl-mb-8{margin-bottom:32px}
.tl-center{ text-align:center; }
.tl-right{ text-align:right; }
.tl-muted{ color:var(--tl-muted); }
.tl-fog{ color:var(--tl-fog); }
.tl-blue{ color:var(--tl-blue); }
.tl-cyan{ color:var(--tl-cyan); }
.tl-strong{ font-weight:600; color:var(--tl-text); }
.tl-mono{ font-family:var(--tl-font-mono); }
.tl-nowrap{ white-space:nowrap; }
.tl-truncate{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.tl-clamp-2,.tl-clamp-3{ display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
.tl-clamp-2{ -webkit-line-clamp:2; } .tl-clamp-3{ -webkit-line-clamp:3; }
.tl-row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.tl-row--between{ justify-content:space-between; }
.tl-row--tight{ gap:8px; }
.tl-stack>*+*{ margin-top:16px; }
.tl-stack-sm>*+*{ margin-top:8px; }
.tl-stack-lg>*+*{ margin-top:28px; }
.tl-minw0{ min-width:0; }
.tl-w-full{ width:100%; }
.tl-ul{ text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.tl-ul:hover{ color:var(--tl-blue); }

/* ------------------------------------------------------------------ layout */
.tl-wrap{ width:100%; max-width:var(--tl-max); margin-inline:auto; padding-inline:var(--tl-gutter); }
.tl-wrap--narrow{ max-width:920px; }
.tl-wrap--text{ max-width:780px; }
.tl-section{ padding-block:72px; position:relative; overflow-x:clip; }
.tl-section--sm{ padding-block:48px; }
.tl-section--flush-top{ padding-top:0; }
@media (min-width:1024px){ .tl-section{ padding-block:120px; } .tl-section--sm{ padding-block:72px; } }
.tl-grid{ display:grid; gap:20px; }
.tl-grid-2,.tl-grid-3,.tl-grid-4{ display:grid; gap:20px; grid-template-columns:minmax(0,1fr); }
@media (min-width:720px){ .tl-grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); } .tl-grid-3,.tl-grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .tl-grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); } .tl-grid-4{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.tl-split{ display:grid; gap:40px; grid-template-columns:minmax(0,1fr); }
@media (min-width:1024px){
  .tl-split{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:72px; }
  .tl-split--even{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .tl-split--wide-left{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
  .tl-split--aside{ grid-template-columns:minmax(0,1fr) 380px; gap:48px; }
  .tl-split--toc{ grid-template-columns:240px minmax(0,1fr); gap:64px; }
  .tl-sticky{ position:sticky; top:calc(var(--tl-header) + 24px); align-self:start; }
}

/* --------------------------------------------------------------- surfaces */
.tl-dark{ background:var(--tl-ink); color:#fff; position:relative; isolation:isolate; }
.tl-dark--black{ background:var(--tl-black); }
.tl-dark--graphite{ background:var(--tl-graphite); }
.tl-paper{ background:var(--tl-paper); }
.tl-white{ background:var(--tl-white); }
.tl-rule-top{ border-top:1px solid var(--tl-line); }
.tl-rule-bottom{ border-bottom:1px solid var(--tl-line); }
.tl-dark .tl-muted,.tl-on-dark .tl-muted{ color:var(--tl-fog); }

/* architectural grid overlay (21st-style grid background, masked) */
.tl-gridlines{ position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(to right,var(--tl-dline) 1px,transparent 1px),linear-gradient(to bottom,var(--tl-dline) 1px,transparent 1px);
  background-size:64px 64px; background-position:-1px -1px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 30%,transparent 78%);
          mask-image:radial-gradient(ellipse 80% 70% at 50% 0%,#000 30%,transparent 78%); }
.tl-gridlines--light{ background-image:linear-gradient(to right,rgba(10,12,17,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(10,12,17,.06) 1px,transparent 1px); }
.tl-gridlines--full{ -webkit-mask-image:linear-gradient(to bottom,#000,transparent 92%); mask-image:linear-gradient(to bottom,#000,transparent 92%); }
.tl-dots{ position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px); background-size:22px 22px;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 70%); mask-image:radial-gradient(ellipse at center,#000 20%,transparent 70%); }
.tl-glow{ position:absolute; z-index:-1; pointer-events:none; border-radius:50%; filter:blur(80px); opacity:.55; }
.tl-glow--blue{ background:radial-gradient(circle,rgba(47,107,255,.55),transparent 65%); }
.tl-glow--cyan{ background:radial-gradient(circle,rgba(98,220,242,.35),transparent 65%); }
.tl-beam{ position:absolute; z-index:-1; pointer-events:none; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(98,220,242,.6),rgba(47,107,255,.8),transparent); }

/* ---------------------------------------------------------------- type */
.tl-display,.tl-h1,.tl-h2,.tl-h3,.tl-h4{ font-family:var(--tl-font-display); font-weight:600; letter-spacing:-.035em; line-height:1.02; color:inherit; text-wrap:balance; }
.tl-display{ font-size:clamp(2.5rem,1.3rem + 4.6vw,5.4rem); letter-spacing:-.052em; line-height:.94; font-weight:600; }
.tl-h1{ font-size:clamp(2.25rem,1.4rem + 3.6vw,4.25rem); letter-spacing:-.045em; line-height:.98; }
.tl-h2{ font-size:clamp(1.85rem,1.2rem + 2.6vw,3.35rem); letter-spacing:-.04em; line-height:1.02; }
.tl-h3{ font-size:clamp(1.3rem,1.05rem + .9vw,1.75rem); letter-spacing:-.03em; line-height:1.15; }
.tl-h4{ font-size:1.125rem; letter-spacing:-.02em; line-height:1.3; }
.tl-display em,.tl-h1 em,.tl-h2 em{ font-style:normal; color:var(--tl-blue); }
.tl-dark .tl-display em,.tl-dark .tl-h1 em,.tl-dark .tl-h2 em{ background:linear-gradient(92deg,#fff 0%,var(--tl-cyan) 55%,var(--tl-blue) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tl-dim{ color:var(--tl-muted); }
.tl-dark .tl-dim{ color:#5E6677; }
.tl-lead{ font-size:clamp(1.02rem,.95rem + .35vw,1.2rem); line-height:1.65; color:var(--tl-text-2); max-width:60ch; }
.tl-dark .tl-lead{ color:var(--tl-fog-2); }
.tl-body{ font-size:15px; line-height:1.7; color:var(--tl-text-2); }
.tl-dark .tl-body{ color:var(--tl-fog); }
.tl-small{ font-size:13.5px; line-height:1.6; }
.tl-xs{ font-size:12.5px; line-height:1.55; }

/* technical labels */
.tl-label{ display:inline-flex; align-items:center; gap:10px; font-family:var(--tl-font-mono); font-size:11.5px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--tl-muted); }
.tl-dark .tl-label{ color:var(--tl-fog); }
.tl-label__idx{ color:var(--tl-blue); }
.tl-dark .tl-label__idx{ color:var(--tl-cyan); }
.tl-label__rule{ width:28px; height:1px; background:currentColor; opacity:.4; }
.tl-meta{ font-family:var(--tl-font-mono); font-size:11.5px; letter-spacing:.06em; color:var(--tl-muted); text-transform:uppercase; }
.tl-dark .tl-meta{ color:var(--tl-fog); }
.tl-chip{ display:inline-flex; align-items:center; gap:8px; padding:6px 12px 6px 8px; border-radius:999px; border:1px solid var(--tl-line); background:var(--tl-white); font-size:12.5px; font-weight:500; color:var(--tl-text-2); }
.tl-dark .tl-chip{ border-color:var(--tl-dline-2); background:rgba(255,255,255,.04); color:var(--tl-fog-2); }
.tl-chip__dot{ width:7px; height:7px; border-radius:50%; background:var(--tl-cyan); box-shadow:0 0 0 3px rgba(98,220,242,.18); animation:tl-pulse 2.4s ease-in-out infinite; }
.tl-tag{ display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:6px; font-family:var(--tl-font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; background:var(--tl-paper-2); color:var(--tl-text-2); border:1px solid var(--tl-line); white-space:nowrap; }
.tl-tag--blue{ background:var(--tl-blue-50); color:var(--tl-blue-700); border-color:var(--tl-blue-100); }
.tl-tag--dark{ background:var(--tl-ink); color:#fff; border-color:var(--tl-ink); }
.tl-dark .tl-tag{ background:rgba(255,255,255,.05); color:var(--tl-fog-2); border-color:var(--tl-dline-2); }

/* section header */
.tl-head{ display:grid; gap:20px; margin-bottom:40px; grid-template-columns:minmax(0,1fr); }
.tl-head>*{ min-width:0; }
.tl-head .tl-lead{ margin-top:0; }
@media (min-width:1024px){ .tl-head{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:end; gap:64px; margin-bottom:64px; } .tl-head--stack{ grid-template-columns:1fr; } }
.tl-head__title{ display:grid; gap:18px; }

/* ---------------------------------------------------------------- icons */
.tl-i{ width:20px; height:20px; flex:none; }
.tl-i--sm{ width:16px; height:16px; }
.tl-i--xs{ width:14px; height:14px; }
.tl-i--lg{ width:24px; height:24px; }
.tl-iconbox{ display:grid; place-items:center; width:44px; height:44px; border-radius:12px; border:1px solid var(--tl-line); background:var(--tl-white); color:var(--tl-blue); flex:none; }
.tl-iconbox--sm{ width:36px; height:36px; border-radius:10px; }
.tl-dark .tl-iconbox{ background:rgba(255,255,255,.04); border-color:var(--tl-dline-2); color:var(--tl-cyan); }
.tl-iconbox--solid{ background:var(--tl-blue); border-color:var(--tl-blue); color:#fff; }

/* ---------------------------------------------------------------- buttons */
.tl-btn{ --h:46px; position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:var(--h); padding:0 20px; border-radius:10px; border:1px solid transparent; font-family:var(--tl-font-display); font-size:14.5px; font-weight:600; letter-spacing:-.01em; line-height:1; white-space:nowrap; transition:transform .35s var(--tl-ease),background-color .25s,border-color .25s,color .25s,box-shadow .35s; overflow:hidden; isolation:isolate; text-align:center; }
.tl-btn:disabled,.tl-btn[aria-disabled="true"]{ opacity:.55; cursor:not-allowed; transform:none !important; }
.tl-btn .tl-i{ width:16px; height:16px; transition:transform .35s var(--tl-ease); }
.tl-btn:hover .tl-arrow{ transform:translateX(3px); }
.tl-btn:hover .tl-arrow-ne{ transform:translate(2px,-2px); }
.tl-btn--primary{ background:var(--tl-blue); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 24px -10px rgba(47,107,255,.7); }
.tl-btn--primary::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%); transform:translateX(-120%); transition:transform .8s var(--tl-ease); }
.tl-btn--primary:hover{ background:var(--tl-blue-600); transform:translateY(-1px); }
.tl-btn--primary:hover::after{ transform:translateX(120%); }
.tl-btn--dark{ background:var(--tl-ink); color:#fff; }
.tl-btn--dark:hover{ background:var(--tl-charcoal); transform:translateY(-1px); }
.tl-btn--light{ background:#fff; color:var(--tl-ink); }
.tl-btn--light:hover{ background:var(--tl-cyan-50); transform:translateY(-1px); }
.tl-btn--ghost{ background:transparent; color:var(--tl-text); border-color:var(--tl-line-2); }
.tl-btn--ghost:hover{ border-color:var(--tl-text); transform:translateY(-1px); }
.tl-dark .tl-btn--ghost,.tl-btn--ghost-dark{ color:#fff; border-color:var(--tl-dline-2); background:rgba(255,255,255,.02); }
.tl-dark .tl-btn--ghost:hover,.tl-btn--ghost-dark:hover{ border-color:rgba(255,255,255,.4); background:rgba(255,255,255,.06); }
.tl-btn--sm{ --h:38px; padding:0 14px; font-size:13.5px; border-radius:9px; }
.tl-btn--lg{ --h:54px; padding:0 26px; font-size:15.5px; border-radius:12px; }
.tl-btn--block{ display:flex; width:100%; }
.tl-btn.is-added{ background:var(--tl-ok) !important; border-color:var(--tl-ok) !important; color:#fff !important; }
.tl-btn.is-loading{ pointer-events:none; opacity:.55; }
.tl-link{ display:inline-flex; align-items:center; gap:8px; font-family:var(--tl-font-display); font-weight:600; font-size:14.5px; color:var(--tl-text); border-bottom:1px solid currentColor; padding-bottom:2px; transition:color .2s,gap .3s var(--tl-ease); }
.tl-link:hover{ color:var(--tl-blue); gap:12px; }
.tl-dark .tl-link{ color:#fff; }
.tl-dark .tl-link:hover{ color:var(--tl-cyan); }
.tl-link .tl-i{ width:15px; height:15px; }
.tl-actions{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
@media (max-width:420px){ .tl-actions--stack>.tl-btn{ width:100%; } }

/* ---------------------------------------------------------------- cards */
.tl-card{ position:relative; background:var(--tl-white); border:1px solid var(--tl-line); border-radius:var(--tl-r-lg); padding:24px; }
.tl-card--flat{ background:transparent; }
.tl-card--paper{ background:var(--tl-paper); }
.tl-card--pad-lg{ padding:28px; }
@media (min-width:1024px){ .tl-card--pad-lg{ padding:40px; } }
.tl-dark .tl-card,.tl-card--dark{ background:var(--tl-graphite); border-color:var(--tl-dline); color:#fff; }
.tl-card__title{ font-family:var(--tl-font-display); font-weight:600; letter-spacing:-.025em; font-size:1.2rem; line-height:1.2; }
.tl-card__body{ margin-top:10px; font-size:14.5px; line-height:1.65; color:var(--tl-text-2); }
.tl-dark .tl-card__body,.tl-card--dark .tl-card__body{ color:var(--tl-fog); }
.tl-hover{ transition:transform .5s var(--tl-ease),border-color .3s,box-shadow .5s var(--tl-ease); }
.tl-hover:hover{ transform:translateY(-3px); border-color:var(--tl-line-2); box-shadow:var(--tl-shadow); }
.tl-dark .tl-hover:hover{ border-color:var(--tl-dline-2); box-shadow:0 30px 60px -40px rgba(47,107,255,.5); }

/* spotlight — mouse-tracked radial highlight (set by JS: --mx/--my) */
.tl-spot{ --mx:50%; --my:50%; overflow:hidden; }
.tl-spot::before{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .4s; background:radial-gradient(420px circle at var(--mx) var(--my),rgba(47,107,255,.12),transparent 60%); }
.tl-dark .tl-spot::before,.tl-card--dark.tl-spot::before{ background:radial-gradient(420px circle at var(--mx) var(--my),rgba(98,220,242,.12),transparent 60%); }
.tl-spot:hover::before{ opacity:1; }
.tl-spot>*{ position:relative; }

/* border beam — animated conic ring around featured panels */
.tl-beamed{ position:relative; }
.tl-beamed::after{ content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; pointer-events:none;
  background:conic-gradient(from var(--tl-angle,0deg),transparent 0 70%,var(--tl-cyan) 82%,var(--tl-blue) 90%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude;
  animation:tl-spin 6s linear infinite; }
@property --tl-angle{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes tl-spin{ to{ --tl-angle:360deg; } }

/* ---------------------------------------------------------------- bento */
.tl-bento{ display:grid; gap:12px; grid-template-columns:minmax(0,1fr); }
@media (min-width:720px){ .tl-bento{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){
  .tl-bento{ grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-rows:minmax(210px,auto); }
  .tl-bento .tl-b-2{ grid-column:span 2; } .tl-bento .tl-b-3{ grid-column:span 3; } .tl-bento .tl-b-4{ grid-column:span 4; } .tl-bento .tl-b-6{ grid-column:span 6; }
  .tl-bento .tl-b-tall{ grid-row:span 2; }
}
.tl-tile{ position:relative; display:flex; flex-direction:column; min-height:220px; padding:24px; border-radius:var(--tl-r-lg); background:var(--tl-graphite); border:1px solid var(--tl-dline); color:#fff; overflow:hidden; isolation:isolate; transition:border-color .3s,transform .5s var(--tl-ease); }
.tl-tile:hover{ border-color:var(--tl-dline-2); }
.tl-tile__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.tl-tile__num{ font-family:var(--tl-font-mono); font-size:11.5px; color:var(--tl-fog); letter-spacing:.1em; }
.tl-tile__title{ margin-top:auto; padding-top:28px; font-family:var(--tl-font-display); font-weight:600; font-size:1.35rem; letter-spacing:-.03em; line-height:1.15; }
.tl-tile__body{ margin-top:10px; font-size:14px; line-height:1.6; color:var(--tl-fog); max-width:46ch; }
.tl-tile__foot{ margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:16px; border-top:1px solid var(--tl-dline); font-family:var(--tl-font-mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--tl-fog); }
.tl-tile__go{ display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:1px solid var(--tl-dline-2); color:#fff; transition:background .3s,border-color .3s,transform .4s var(--tl-ease); }
.tl-tile:hover .tl-tile__go{ background:var(--tl-blue); border-color:var(--tl-blue); transform:rotate(-45deg); }
.tl-tile--feature{ background:linear-gradient(160deg,#10172B 0%,#0C0F17 60%); }
.tl-tile--light{ background:var(--tl-white); border-color:var(--tl-line); color:var(--tl-text); }
.tl-tile--light .tl-tile__body,.tl-tile--light .tl-tile__foot,.tl-tile--light .tl-tile__num{ color:var(--tl-muted); }
.tl-tile--light .tl-tile__foot{ border-top-color:var(--tl-line); }
.tl-tile--light .tl-tile__go{ border-color:var(--tl-line-2); color:var(--tl-text); }
.tl-tile__art{ position:absolute; right:-10px; bottom:-10px; z-index:-1; opacity:.9; pointer-events:none; }

/* ---------------------------------------------------------------- header */
.tl-announce{ background:var(--tl-black); color:var(--tl-fog); border-bottom:1px solid var(--tl-dline); font-family:var(--tl-font-mono); font-size:11.5px; letter-spacing:.06em; }
.tl-announce__in{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:36px; }
.tl-announce__msg{ display:flex; align-items:center; gap:10px; min-width:0; }
.tl-announce__msg span:last-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tl-announce__links{ display:none; gap:20px; flex:none; }
.tl-announce__links a:hover{ color:#fff; }
@media (min-width:1024px){ .tl-announce__links{ display:flex; } }

.tl-header{ position:sticky; top:0; z-index:60; background:rgba(6,7,10,.94); -webkit-backdrop-filter:saturate(160%) blur(14px); backdrop-filter:saturate(160%) blur(14px); border-bottom:1px solid var(--tl-dline); color:#fff; transition:transform .45s var(--tl-ease),background-color .3s; }
.tl-header.is-hidden{ transform:translateY(-100%); }
.tl-header.is-stuck{ background:rgba(6,7,10,.86); }
.tl-header__in{ display:flex; align-items:center; justify-content:space-between; gap:16px; height:var(--tl-header); }
.tl-brand{ display:inline-flex; align-items:center; gap:10px; flex:none; }
.tl-brand__mark{ width:32px; height:32px; flex:none; }
.tl-brand__word{ font-family:var(--tl-font-display); font-weight:600; font-size:19px; letter-spacing:-.04em; line-height:1; }
.tl-brand__word b{ font-weight:600; color:var(--tl-cyan); }
.tl-brand img{ height:32px; width:auto; }
.tl-nav{ display:none; align-items:center; gap:2px; }
@media (min-width:1080px){ .tl-nav{ display:flex; } }
.tl-nav__link{ position:relative; display:inline-flex; align-items:center; gap:6px; padding:9px 14px; border-radius:8px; font-size:14px; font-weight:500; color:var(--tl-fog-2); transition:color .2s,background-color .2s; }
.tl-nav__link:hover,.tl-nav__link[aria-expanded="true"]{ color:#fff; background:rgba(255,255,255,.06); }
.tl-nav__link.is-active{ color:#fff; }
.tl-nav__link.is-active::after{ content:""; position:absolute; left:14px; right:14px; bottom:3px; height:1px; background:linear-gradient(90deg,var(--tl-cyan),var(--tl-blue)); }
.tl-nav__link .tl-i{ width:14px; height:14px; transition:transform .3s; }
.tl-nav__link[aria-expanded="true"] .tl-i{ transform:rotate(180deg); }
.tl-header__actions{ display:flex; align-items:center; gap:8px; flex:none; }
.tl-header__text{ display:none; padding:9px 12px; font-size:14px; font-weight:500; color:var(--tl-fog-2); border-radius:8px; }
.tl-header__text:hover{ color:#fff; }
@media (min-width:640px){ .tl-header__text{ display:inline-flex; } }
.tl-header__cta{ display:none; }
@media (min-width:1280px){ .tl-header__cta{ display:inline-flex; } }
.tl-iconbtn{ position:relative; display:grid; place-items:center; width:42px; height:42px; border-radius:10px; border:1px solid var(--tl-dline-2); color:#fff; background:rgba(255,255,255,.03); transition:background .2s,border-color .2s; }
.tl-iconbtn:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.3); }
.tl-iconbtn .tl-i{ width:18px; height:18px; }
.tl-iconbtn--light{ color:var(--tl-text); border-color:var(--tl-line); background:var(--tl-white); }
.tl-iconbtn--light:hover{ background:var(--tl-paper); border-color:var(--tl-line-2); }
.tl-count{ position:absolute; top:-6px; right:-6px; min-width:19px; height:19px; padding:0 5px; border-radius:999px; background:var(--tl-blue); color:#fff; font-family:var(--tl-font-mono); font-size:10.5px; line-height:19px; text-align:center; box-shadow:0 0 0 2px var(--tl-ink); }
.tl-menu-btn{ display:grid; }
@media (min-width:1080px){ .tl-menu-btn{ display:none; } }
.tl-avatar{ display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; background:linear-gradient(135deg,var(--tl-blue),var(--tl-cyan)); color:#fff; font-family:var(--tl-font-display); font-weight:600; font-size:13px; flex:none; }
.tl-avatar--lg{ width:48px; height:48px; font-size:18px; }
.tl-userpill{ display:none; align-items:center; gap:8px; padding:4px 12px 4px 4px; border:1px solid var(--tl-dline-2); border-radius:999px; font-size:13.5px; color:#fff; }
.tl-userpill:hover{ border-color:rgba(255,255,255,.35); }
@media (min-width:640px){ .tl-userpill{ display:inline-flex; } }

/* mega panel */
.tl-flyout{ position:relative; }
.tl-mega{ position:absolute; top:calc(100% + 14px); left:50%; width:min(94vw,1040px); transform:translate(-40%,8px); opacity:0; visibility:hidden; transition:opacity .3s var(--tl-ease),transform .4s var(--tl-ease),visibility .3s; z-index:70; }
.tl-mega.is-open{ opacity:1; visibility:visible; transform:translate(-40%,0); }
.tl-mega__in{ display:grid; grid-template-columns:minmax(0,1fr) 300px; border:1px solid var(--tl-dline-2); border-radius:18px; background:var(--tl-graphite); box-shadow:var(--tl-shadow-lg); overflow:hidden; }
.tl-mega__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--tl-dline); }
.tl-mega__item{ display:block; padding:18px; background:var(--tl-graphite); transition:background .2s; }
.tl-mega__item:hover{ background:var(--tl-charcoal); }
.tl-mega__item .tl-iconbox{ width:34px; height:34px; border-radius:9px; }
.tl-mega__name{ margin-top:12px; font-family:var(--tl-font-display); font-weight:600; font-size:14.5px; letter-spacing:-.015em; color:#fff; }
.tl-mega__blurb{ margin-top:4px; font-size:12.5px; line-height:1.5; color:var(--tl-fog); }
.tl-mega__count{ margin-top:10px; font-family:var(--tl-font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--tl-cyan); }
.tl-mega__side{ position:relative; padding:24px; border-left:1px solid var(--tl-dline); background:linear-gradient(180deg,#0F1526,#0B0D13); isolation:isolate; overflow:hidden; display:flex; flex-direction:column; }
.tl-mega__foot{ grid-column:1 / -1; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 18px; border-top:1px solid var(--tl-dline); background:var(--tl-ink); font-size:13px; color:var(--tl-fog); }

/* drawers (mobile nav + basket) */
.tl-drawer{ position:fixed; inset:0; z-index:100; visibility:hidden; pointer-events:none; }
.tl-drawer.is-open{ visibility:visible; pointer-events:auto; }
.tl-drawer__scrim{ position:absolute; inset:0; background:rgba(5,6,10,.6); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); opacity:0; transition:opacity .35s; }
.tl-drawer.is-open .tl-drawer__scrim{ opacity:1; }
.tl-drawer__panel{ position:absolute; top:0; bottom:0; right:0; width:min(92vw,440px); display:flex; flex-direction:column; background:var(--tl-white); color:var(--tl-text); transform:translateX(100%); transition:transform .45s var(--tl-ease); box-shadow:var(--tl-shadow-lg); }
.tl-drawer.is-open .tl-drawer__panel{ transform:none; }
.tl-drawer--dark .tl-drawer__panel{ background:var(--tl-ink); color:#fff; }
.tl-drawer__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid var(--tl-line); }
.tl-drawer--dark .tl-drawer__head{ border-color:var(--tl-dline); }
.tl-drawer__body{ flex:1; overflow-y:auto; overscroll-behavior:contain; padding:8px 20px; }
.tl-drawer__foot{ padding:18px 20px; border-top:1px solid var(--tl-line); background:var(--tl-paper); }
.tl-drawer--dark .tl-drawer__foot{ border-color:var(--tl-dline); background:var(--tl-black); }
.tl-mnav a.tl-mnav__main{ display:flex; align-items:center; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--tl-dline); font-family:var(--tl-font-display); font-weight:600; font-size:20px; letter-spacing:-.03em; }
.tl-mnav__cats a{ display:flex; align-items:center; gap:12px; padding:10px 0; font-size:14.5px; color:var(--tl-fog-2); }
.tl-mnav__cats a:hover{ color:#fff; }
.tl-mnav__cats small{ margin-left:auto; font-family:var(--tl-font-mono); font-size:11px; color:var(--tl-fog); }

/* basket lines */
.tl-bline{ display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--tl-line); }
.tl-bline:last-child{ border-bottom:0; }
.tl-mono-tile{ display:grid; place-items:center; width:48px; height:48px; border-radius:12px; background:var(--tl-ink); color:#fff; font-family:var(--tl-font-mono); font-size:12px; font-weight:500; letter-spacing:.04em; flex:none; position:relative; overflow:hidden; }
.tl-mono-tile::after{ content:""; position:absolute; inset:auto 0 0 0; height:3px; background:var(--tile-accent,var(--tl-blue)); }
.tl-mono-tile--lg{ width:56px; height:56px; border-radius:14px; }
.tl-qty{ display:inline-flex; align-items:center; border:1px solid var(--tl-line); border-radius:8px; background:var(--tl-white); }
.tl-qty button{ display:grid; place-items:center; width:30px; height:30px; color:var(--tl-muted); font-size:16px; }
.tl-qty button:hover{ color:var(--tl-text); background:var(--tl-paper); }
.tl-qty span,.tl-qty input{ width:30px; text-align:center; font-family:var(--tl-font-mono); font-size:13px; border:0; background:transparent; padding:0; }
.tl-qty--lg button{ width:40px; height:40px; }
.tl-qty--lg span,.tl-qty--lg input{ width:40px; font-size:15px; }
.tl-textbtn{ font-family:var(--tl-font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--tl-muted); text-decoration:underline; text-underline-offset:3px; }
.tl-textbtn:hover{ color:var(--tl-err); }

/* ---------------------------------------------------------------- page hero */
.tl-pagehero{ position:relative; isolation:isolate; overflow:hidden; background:var(--tl-ink); color:#fff; padding:48px 0 56px; border-bottom:1px solid var(--tl-dline); }
@media (min-width:1024px){ .tl-pagehero{ padding:80px 0 88px; } }
.tl-pagehero--compact{ padding:36px 0 40px; }
@media (min-width:1024px){ .tl-pagehero--compact{ padding:52px 0 56px; } }
.tl-pagehero__grid{ display:grid; gap:32px; }
@media (min-width:1024px){ .tl-pagehero__grid{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:end; gap:64px; } }
.tl-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-family:var(--tl-font-mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--tl-fog); }
.tl-crumbs a:hover{ color:#fff; }
.tl-crumbs [aria-current]{ color:#fff; }
.tl-crumbs__sep{ opacity:.4; }
.tl-light-crumbs{ color:var(--tl-muted); }
.tl-light-crumbs a:hover{ color:var(--tl-text); }
.tl-light-crumbs [aria-current]{ color:var(--tl-text); }
.tl-readout{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--tl-dline); border-radius:14px; overflow:hidden; background:rgba(255,255,255,.02); }
.tl-readout>div{ padding:16px 18px; border-right:1px solid var(--tl-dline); border-bottom:1px solid var(--tl-dline); }
.tl-readout>div:nth-child(2n){ border-right:0; }
.tl-readout>div:nth-last-child(-n+2){ border-bottom:0; }
.tl-readout dt{ font-family:var(--tl-font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--tl-fog); }
.tl-readout dd{ margin-top:6px; font-family:var(--tl-font-display); font-weight:600; font-size:1.25rem; letter-spacing:-.03em; color:#fff; }
.tl-readout--light{ border-color:var(--tl-line); background:var(--tl-white); }
.tl-readout--light>div{ border-color:var(--tl-line); }
.tl-readout--light dt{ color:var(--tl-muted); }
.tl-readout--light dd{ color:var(--tl-text); }

/* ---------------------------------------------------------------- HOME: hero */
.tl-hero{ position:relative; isolation:isolate; overflow:hidden; background:var(--tl-black); color:#fff; padding:56px 0 0; }
@media (min-width:1024px){ .tl-hero{ padding:96px 0 0; } }
.tl-hero__grid{ display:grid; gap:48px; align-items:center; }
@media (min-width:1080px){ .tl-hero__grid{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; } }
.tl-hero__meta{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:28px; font-family:var(--tl-font-mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--tl-fog); }
.tl-hero__meta span{ display:inline-flex; align-items:center; gap:8px; }
.tl-hero__meta i{ width:6px; height:6px; border-radius:1px; background:var(--tl-blue); display:inline-block; }
.tl-hero__rail{ margin-top:64px; border-top:1px solid var(--tl-dline); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width:900px){ .tl-hero__rail{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.tl-hero__rail>div{ padding:20px 16px 24px 0; border-right:1px solid var(--tl-dline); }
.tl-hero__rail>div:nth-child(n+2){ padding-left:16px; }
@media (max-width:899px){ .tl-hero__rail>div:nth-child(2n){ border-right:0; } .tl-hero__rail>div:nth-child(3){ padding-left:0; } .tl-hero__rail>div:nth-child(-n+2){ border-bottom:1px solid var(--tl-dline); } }
@media (min-width:900px){ .tl-hero__rail>div:last-child{ border-right:0; } }
.tl-hero__rail b{ display:block; font-family:var(--tl-font-display); font-weight:600; font-size:clamp(1.4rem,1.1rem + 1vw,2rem); letter-spacing:-.04em; color:#fff; }
.tl-hero__rail span{ display:block; margin-top:4px; font-size:13px; color:var(--tl-fog); line-height:1.45; }

/* system console (floating interface panels) */
.tl-console{ position:relative; min-width:0; }
.tl-console__panel{ position:relative; border:1px solid var(--tl-dline-2); border-radius:18px; background:linear-gradient(180deg,rgba(24,28,37,.92),rgba(12,14,19,.96)); box-shadow:var(--tl-shadow-lg),inset 0 1px 0 rgba(255,255,255,.05); overflow:hidden; }
.tl-console__bar{ display:flex; align-items:center; gap:8px; padding:12px 14px; border-bottom:1px solid var(--tl-dline); font-family:var(--tl-font-mono); font-size:11px; color:var(--tl-fog); letter-spacing:.04em; }
.tl-console__bar i{ width:9px; height:9px; border-radius:50%; background:var(--tl-steel); display:inline-block; }
.tl-console__bar em{ margin-left:auto; font-style:normal; display:inline-flex; align-items:center; gap:6px; color:var(--tl-cyan); }
.tl-console__body{ padding:18px; }
.tl-console__sku{ font-family:var(--tl-font-mono); font-size:11px; color:var(--tl-fog); letter-spacing:.06em; }
.tl-console__name{ margin-top:8px; font-family:var(--tl-font-display); font-weight:600; font-size:1.3rem; letter-spacing:-.03em; line-height:1.2; }
.tl-console__list{ margin-top:16px; display:grid; gap:8px; }
.tl-console__list li{ display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.5; color:var(--tl-fog-2); }
.tl-console__list li .tl-i{ width:15px; height:15px; margin-top:2px; color:var(--tl-cyan); }
.tl-console__foot{ display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid var(--tl-dline); }
.tl-console__price{ font-family:var(--tl-font-display); font-weight:600; font-size:1.8rem; letter-spacing:-.04em; line-height:1; }
.tl-float{ position:absolute; z-index:2; border:1px solid var(--tl-dline-2); border-radius:12px; background:rgba(17,20,27,.9); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); padding:12px 14px; box-shadow:var(--tl-shadow-lg); font-size:12px; color:var(--tl-fog-2); animation:tl-bob 7s ease-in-out infinite; }
.tl-float b{ display:block; font-family:var(--tl-font-display); font-size:15px; color:#fff; letter-spacing:-.02em; font-weight:600; }
.tl-float--a{ top:-22px; right:-8px; }
.tl-float--b{ bottom:-26px; left:-14px; animation-delay:-3s; }
@media (max-width:640px){ .tl-float--a{ right:6px; } .tl-float--b{ left:6px; } }
.tl-meter{ height:4px; border-radius:4px; background:rgba(255,255,255,.08); overflow:hidden; margin-top:8px; width:150px; }
.tl-meter i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--tl-blue),var(--tl-cyan)); animation:tl-fill 3.2s var(--tl-ease) .4s forwards; }
.tl-orbit{ position:absolute; inset:-40px; z-index:-1; pointer-events:none; opacity:.6; }
@keyframes tl-bob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
@keyframes tl-fill{ to{ width:72%; } }
@keyframes tl-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.45; } }
@keyframes tl-dash{ to{ stroke-dashoffset:-240; } }
.tl-dashflow{ stroke-dasharray:4 8; animation:tl-dash 12s linear infinite; }

/* ---------------------------------------------------------------- marquee */
.tl-marquee{ display:flex; overflow:hidden; gap:0; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.tl-marquee__track{ display:flex; flex:none; gap:12px; padding-right:12px; animation:tl-marquee 38s linear infinite; }
.tl-marquee:hover .tl-marquee__track{ animation-play-state:paused; }
@keyframes tl-marquee{ to{ transform:translateX(-100%); } }
.tl-stackchip{ display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border:1px solid var(--tl-dline); border-radius:10px; background:rgba(255,255,255,.02); font-family:var(--tl-font-mono); font-size:13px; color:var(--tl-fog-2); white-space:nowrap; }
.tl-stackchip i{ width:6px; height:6px; border-radius:50%; background:var(--tl-cyan); display:inline-block; }

/* ---------------------------------------------------------------- capabilities (numbered rows) */
.tl-caps{ border-top:1px solid var(--tl-line); }
.tl-cap{ display:grid; grid-template-columns:48px minmax(0,1fr); gap:8px 16px; padding:24px 0; border-bottom:1px solid var(--tl-line); transition:background .3s; }
@media (min-width:900px){ .tl-cap{ grid-template-columns:80px minmax(0,5fr) minmax(0,6fr) 48px; gap:24px; align-items:center; padding:30px 0; } }
.tl-cap__n{ font-family:var(--tl-font-mono); font-size:12px; color:var(--tl-muted); padding-top:6px; }
@media (min-width:900px){ .tl-cap__n{ padding-top:0; } }
.tl-cap__t{ font-family:var(--tl-font-display); font-weight:600; font-size:clamp(1.3rem,1rem + 1.2vw,2rem); letter-spacing:-.035em; line-height:1.1; transition:color .3s,transform .5s var(--tl-ease); }
.tl-cap__b{ grid-column:2; font-size:14.5px; line-height:1.65; color:var(--tl-text-2); }
@media (min-width:900px){ .tl-cap__b{ grid-column:auto; } }
.tl-cap__go{ display:none; }
@media (min-width:900px){ .tl-cap__go{ display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:1px solid var(--tl-line-2); transition:all .4s var(--tl-ease); } }
.tl-cap:hover .tl-cap__t{ color:var(--tl-blue); transform:translateX(6px); }
.tl-cap:hover .tl-cap__go{ background:var(--tl-ink); border-color:var(--tl-ink); color:#fff; transform:rotate(-45deg); }

/* ---------------------------------------------------------------- service card */
.tl-svc{ position:relative; display:flex; flex-direction:column; height:100%; background:var(--tl-white); border:1px solid var(--tl-line); border-radius:var(--tl-r-lg); overflow:hidden; transition:border-color .3s,transform .5s var(--tl-ease),box-shadow .5s var(--tl-ease); }
.tl-svc:hover{ border-color:var(--tl-line-2); transform:translateY(-3px); box-shadow:var(--tl-shadow); }
.tl-svc__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 18px; border-bottom:1px solid var(--tl-line); background:var(--tl-paper); }
.tl-svc__cat{ display:inline-flex; align-items:center; gap:8px; min-width:0; font-family:var(--tl-font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--tl-text-2); }
.tl-svc__cat .tl-i{ width:14px; height:14px; color:var(--tl-blue); }
.tl-svc__cat span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tl-svc__body{ display:flex; flex-direction:column; flex:1; padding:20px 18px 18px; }
.tl-svc__title{ font-family:var(--tl-font-display); font-weight:600; font-size:1.18rem; letter-spacing:-.025em; line-height:1.22; }
.tl-svc__title a:hover{ color:var(--tl-blue); }
.tl-svc__title a::after{ content:""; position:absolute; inset:0; z-index:0; }
.tl-svc__desc{ margin-top:10px; font-size:14px; line-height:1.6; color:var(--tl-muted); }
.tl-svc__point{ margin-top:16px; display:flex; gap:10px; padding:12px; border-radius:10px; background:var(--tl-paper); font-size:13px; line-height:1.5; color:var(--tl-text-2); }
.tl-svc__point .tl-i{ width:15px; height:15px; color:var(--tl-ok); margin-top:2px; }
.tl-svc__meta{ margin-top:14px; display:flex; flex-wrap:wrap; gap:6px 16px; font-family:var(--tl-font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--tl-muted); }
.tl-svc__meta span{ display:inline-flex; align-items:center; gap:6px; }
.tl-svc__meta .tl-i{ width:13px; height:13px; }
.tl-svc__foot{ margin-top:auto; padding-top:18px; }
.tl-svc__price{ display:flex; align-items:end; justify-content:space-between; gap:12px; padding-top:16px; border-top:1px solid var(--tl-line); }
.tl-price{ font-family:var(--tl-font-display); font-weight:600; font-size:1.6rem; letter-spacing:-.04em; line-height:1; color:var(--tl-text); }
.tl-price--xl{ font-size:clamp(2.2rem,1.6rem + 2vw,3rem); }
.tl-price small{ font-size:.5em; color:var(--tl-muted); font-weight:500; letter-spacing:0; }
.tl-dark .tl-price{ color:#fff; }
.tl-svc__actions{ position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.tl-svc--row{ flex-direction:row; align-items:center; gap:14px; padding:12px 14px; border-radius:14px; min-width:0; }
.tl-svc--row:hover{ transform:none; }

/* ---------------------------------------------------------------- industries */
.tl-inds{ display:grid; grid-template-columns:minmax(0,1fr); border:1px solid var(--tl-line); border-radius:var(--tl-r-lg); overflow:hidden; background:var(--tl-white); }
@media (min-width:720px){ .tl-inds{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .tl-inds{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.tl-ind{ position:relative; padding:26px; border-bottom:1px solid var(--tl-line); }
@media (min-width:720px){ .tl-ind{ border-right:1px solid var(--tl-line); } }
.tl-ind__title{ margin-top:18px; font-family:var(--tl-font-display); font-weight:600; font-size:1.2rem; letter-spacing:-.025em; }
.tl-ind__body{ margin-top:8px; font-size:14px; line-height:1.6; color:var(--tl-muted); }
.tl-ind__links{ margin-top:16px; display:grid; gap:6px; }
.tl-ind__links a{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px dashed var(--tl-line); font-size:13.5px; color:var(--tl-text-2); }
.tl-ind__links a:hover{ color:var(--tl-blue); }
.tl-ind__links a span:last-child{ font-family:var(--tl-font-mono); font-size:12px; color:var(--tl-muted); flex:none; }

/* ---------------------------------------------------------------- timeline */
.tl-timeline{ position:relative; }
.tl-timeline__rail{ position:absolute; left:19px; top:8px; bottom:8px; width:1px; background:var(--tl-dline-2); }
.tl-timeline__rail i{ position:absolute; left:0; top:0; width:1px; height:0; background:linear-gradient(180deg,var(--tl-cyan),var(--tl-blue)); box-shadow:0 0 12px rgba(98,220,242,.6); transition:height .15s linear; }
.tl-step{ position:relative; display:grid; grid-template-columns:40px minmax(0,1fr); gap:20px; padding-bottom:36px; }
.tl-step:last-child{ padding-bottom:0; }
.tl-step__dot{ position:relative; z-index:1; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--tl-ink); border:1px solid var(--tl-dline-2); font-family:var(--tl-font-mono); font-size:11.5px; color:var(--tl-fog); transition:all .5s var(--tl-ease); }
.tl-step.is-lit .tl-step__dot{ border-color:var(--tl-cyan); color:#fff; background:var(--tl-blue); box-shadow:0 0 0 6px rgba(47,107,255,.15); }
.tl-step__card{ padding:4px 0 0; }
.tl-step__title{ font-family:var(--tl-font-display); font-weight:600; font-size:clamp(1.25rem,1rem + 1vw,1.75rem); letter-spacing:-.035em; line-height:1.15; color:#fff; }
.tl-step__body{ margin-top:8px; font-size:14.5px; line-height:1.7; color:var(--tl-fog); max-width:58ch; }
.tl-step__tags{ margin-top:12px; display:flex; flex-wrap:wrap; gap:6px; }
@media (min-width:1024px){
  .tl-timeline__rail{ left:calc(50% - .5px); }
  .tl-step{ grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr); gap:40px; padding-bottom:56px; }
  .tl-step__dot{ grid-column:2; grid-row:1; }
  .tl-step__card{ grid-column:3; grid-row:1; }
  .tl-step:nth-child(even) .tl-step__card{ grid-column:1; text-align:right; }
  .tl-step:nth-child(even) .tl-step__body{ margin-left:auto; }
  .tl-step:nth-child(even) .tl-step__tags{ justify-content:flex-end; }
}
.tl-timeline--light .tl-timeline__rail{ background:var(--tl-line); }
.tl-timeline--light .tl-step__dot{ background:var(--tl-white); border-color:var(--tl-line-2); color:var(--tl-muted); }
.tl-timeline--light .tl-step__title{ color:var(--tl-text); }
.tl-timeline--light .tl-step__body{ color:var(--tl-text-2); }
.tl-timeline--compact .tl-step{ grid-template-columns:40px minmax(0,1fr) !important; gap:16px; padding-bottom:24px; }
.tl-timeline--compact .tl-timeline__rail{ left:19px !important; }
.tl-timeline--compact .tl-step__dot{ grid-column:1 !important; }
.tl-timeline--compact .tl-step__card{ grid-column:2 !important; text-align:left !important; }
.tl-timeline--compact .tl-step__body{ margin-left:0 !important; }
.tl-timeline--compact .tl-step__title{ font-size:1.1rem; }

/* ---------------------------------------------------------------- statement / quote */
.tl-statement{ font-family:var(--tl-font-display); font-weight:500; font-size:clamp(1.6rem,1rem + 2.6vw,3.2rem); letter-spacing:-.04em; line-height:1.1; text-wrap:balance; }
.tl-statement span{ color:var(--tl-muted); }
.tl-dark .tl-statement span{ color:#5E6677; }

/* ---------------------------------------------------------------- CTA panel */
.tl-cta{ position:relative; isolation:isolate; overflow:hidden; border-radius:24px; background:var(--tl-ink); color:#fff; padding:40px 24px; border:1px solid var(--tl-dline); }
@media (min-width:1024px){ .tl-cta{ padding:72px 64px; } }
.tl-cta__grid{ display:grid; gap:32px; align-items:end; }
@media (min-width:1024px){ .tl-cta__grid{ grid-template-columns:minmax(0,1fr) auto; gap:48px; } }

/* ---------------------------------------------------------------- footer */
.tl-footer{ position:relative; isolation:isolate; overflow:hidden; background:var(--tl-black); color:var(--tl-fog); padding-top:72px; }
.tl-footer__grid{ display:grid; gap:40px; grid-template-columns:minmax(0,1fr); }
@media (min-width:720px){ .tl-footer__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1080px){ .tl-footer__grid{ grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr)); gap:48px; } }
.tl-footer h2{ font-family:var(--tl-font-mono); font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:#fff; }
.tl-footer ul{ margin-top:18px; display:grid; gap:10px; }
.tl-footer li a{ font-size:14px; transition:color .2s; }
.tl-footer li a:hover{ color:#fff; }
.tl-footer__blurb{ margin-top:18px; font-size:14px; line-height:1.7; max-width:40ch; }
.tl-footer__social{ margin-top:22px; display:flex; gap:8px; flex-wrap:wrap; }
.tl-footer__social a{ display:inline-flex; align-items:center; height:34px; padding:0 12px; border:1px solid var(--tl-dline-2); border-radius:8px; font-family:var(--tl-font-mono); font-size:11.5px; color:var(--tl-fog-2); }
.tl-footer__social a:hover{ color:#fff; border-color:rgba(255,255,255,.35); }
.tl-footer__legal{ margin-top:56px; padding:22px 0; border-top:1px solid var(--tl-dline); font-size:12.5px; line-height:1.7; }
.tl-footer__legal b{ color:var(--tl-fog-2); font-weight:500; }
.tl-footer__bottom{ display:flex; flex-direction:column; gap:10px; padding:22px 0 28px; border-top:1px solid var(--tl-dline); font-family:var(--tl-font-mono); font-size:11.5px; letter-spacing:.04em; }
@media (min-width:720px){ .tl-footer__bottom{ flex-direction:row; justify-content:space-between; align-items:center; } }
.tl-footer__bottom nav{ display:flex; flex-wrap:wrap; gap:6px 18px; }
.tl-footer__bottom a:hover{ color:#fff; }
.tl-footer__news{ margin-top:24px; max-width:380px; }
.tl-footer__news form{ display:flex; gap:8px; margin-top:10px; }
.tl-footer__news input{ flex:1; min-width:0; height:42px; padding:0 14px; border-radius:9px; border:1px solid var(--tl-dline-2); background:rgba(255,255,255,.03); color:#fff; font-size:14px; }
.tl-footer__news input::placeholder{ color:#6B7384; }
.tl-footer__news input:focus{ outline:none; border-color:var(--tl-cyan); }
.tl-wa{ position:fixed; left:16px; bottom:16px; z-index:80; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--tl-ok); color:#fff; box-shadow:var(--tl-shadow-lg); transition:transform .3s var(--tl-ease); }
.tl-wa:hover{ transform:scale(1.08); }

/* ---------------------------------------------------------------- forms */
.tl-form{ display:grid; gap:18px; }
.tl-form-grid{ display:grid; gap:18px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .tl-form-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } .tl-span-2{ grid-column:1 / -1; } }
.tl-field{ display:grid; gap:7px; min-width:0; }
.tl-field__label{ display:flex; justify-content:space-between; gap:12px; font-size:13.5px; font-weight:600; color:var(--tl-text); }
.tl-field__label small{ font-weight:400; color:var(--tl-muted); font-size:12.5px; }
.tl-req{ color:var(--tl-blue); }
.tl-input,.tl-select,.tl-textarea{ width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--tl-line-2); border-radius:10px; background:var(--tl-white); color:var(--tl-text); font-size:15px; line-height:1.4; transition:border-color .2s,box-shadow .2s; -webkit-appearance:none; appearance:none; }
.tl-textarea{ min-height:132px; resize:vertical; line-height:1.6; }
.tl-select{ padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23646C7B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; }
.tl-input::placeholder,.tl-textarea::placeholder{ color:#98A0AD; }
.tl-input:hover,.tl-select:hover,.tl-textarea:hover{ border-color:#AEB5C1; }
.tl-input:focus,.tl-select:focus,.tl-textarea:focus{ outline:none; border-color:var(--tl-blue); box-shadow:0 0 0 4px rgba(47,107,255,.14); }
.tl-input[readonly]{ background:var(--tl-paper); color:var(--tl-muted); }
.tl-input.is-invalid,.tl-input-err,.tl-select.is-invalid,.tl-textarea.is-invalid{ border-color:var(--tl-err) !important; box-shadow:0 0 0 4px rgba(208,51,74,.12); }
.tl-hint{ font-size:12.5px; line-height:1.5; color:var(--tl-muted); }
.tl-hint--err{ color:var(--tl-err); }
.tl-hint--ok{ color:var(--tl-ok); }
.tl-inputgroup{ display:flex; gap:8px; }
.tl-inputgroup .tl-input{ flex:1; min-width:0; }
.tl-pwd{ position:relative; }
.tl-pwd .tl-input{ padding-right:72px; }
.tl-pwd button{ position:absolute; right:8px; top:50%; transform:translateY(-50%); padding:6px 8px; border-radius:6px; font-family:var(--tl-font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--tl-muted); }
.tl-pwd button:hover{ color:var(--tl-text); background:var(--tl-paper); }
.tl-check{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; line-height:1.55; color:var(--tl-text-2); cursor:pointer; }
.tl-check input{ width:18px; height:18px; margin:2px 0 0; flex:none; accent-color:var(--tl-blue); }
.tl-radio-cards{ display:grid; gap:8px; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.tl-radio-card{ position:relative; display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid var(--tl-line-2); border-radius:10px; background:var(--tl-white); font-size:14px; cursor:pointer; transition:border-color .2s,background .2s; }
.tl-radio-card:has(input:checked){ border-color:var(--tl-blue); background:var(--tl-blue-50); }
.tl-radio-card input{ accent-color:var(--tl-blue); }
.tl-fieldset{ border:0; padding:0; margin:0; min-width:0; }
.tl-fieldset legend{ padding:0; margin-bottom:14px; }
.tl-formblock{ background:var(--tl-white); border:1px solid var(--tl-line); border-radius:var(--tl-r-lg); padding:22px; }
@media (min-width:1024px){ .tl-formblock{ padding:32px; } }
.tl-formblock__head{ display:flex; gap:14px; align-items:flex-start; margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--tl-line); }
.tl-formblock__num{ display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:var(--tl-ink); color:#fff; font-family:var(--tl-font-mono); font-size:12px; flex:none; }
.tl-honey{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }

/* alerts */
.tl-alert{ display:flex; gap:12px; align-items:flex-start; padding:14px 16px; border-radius:12px; border:1px solid var(--tl-line); background:var(--tl-white); font-size:14px; line-height:1.6; color:var(--tl-text-2); }
.tl-alert .tl-i{ width:18px; height:18px; margin-top:2px; }
.tl-alert--info{ background:var(--tl-blue-50); border-color:var(--tl-blue-100); color:#1D3A80; }
.tl-alert--info .tl-i{ color:var(--tl-blue); }
.tl-alert--ok{ background:var(--tl-ok-50); border-color:#BDE8D9; color:#0B5E47; }
.tl-alert--ok .tl-i{ color:var(--tl-ok); }
.tl-alert--err{ background:var(--tl-err-50); border-color:#F6C6CE; color:#8E1C2E; }
.tl-alert--err .tl-i{ color:var(--tl-err); }
.tl-alert--warn{ background:var(--tl-warn-50); border-color:#F1D9A6; color:#6F4A06; }
.tl-alert--warn .tl-i{ color:var(--tl-warn); }
.tl-alert a{ font-weight:600; text-decoration:underline; text-underline-offset:3px; }

/* status pills (order states) — class names produced by tl_order_state() */
.tl-status{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-family:var(--tl-font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; border:1px solid transparent; }
.tl-status::before{ content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.tl-status--pending{ background:var(--tl-warn-50); color:var(--tl-warn); border-color:#F1D9A6; }
.tl-status--paid{ background:var(--tl-blue-50); color:var(--tl-blue-700); border-color:var(--tl-blue-100); }
.tl-status--live{ background:var(--tl-cyan-50); color:var(--tl-cyan-600); border-color:#BDEEF7; }
.tl-status--done{ background:var(--tl-ok-50); color:var(--tl-ok); border-color:#BDE8D9; }
.tl-status--failed{ background:var(--tl-err-50); color:var(--tl-err); border-color:#F6C6CE; }

/* ---------------------------------------------------------------- summary / totals */
.tl-summary{ background:var(--tl-white); border:1px solid var(--tl-line); border-radius:var(--tl-r-lg); overflow:hidden; }
.tl-summary__head{ padding:18px 22px; background:var(--tl-ink); color:#fff; }
.tl-summary__body{ padding:20px 22px; }
.tl-lines{ display:grid; gap:10px; font-size:14px; }
.tl-lines>div{ display:flex; justify-content:space-between; gap:16px; }
.tl-lines dt{ color:var(--tl-muted); }
.tl-lines dd{ margin:0; font-weight:500; text-align:right; }
.tl-total{ display:flex; justify-content:space-between; align-items:end; gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid var(--tl-line); }
.tl-total b{ font-family:var(--tl-font-display); font-weight:600; font-size:1.9rem; letter-spacing:-.04em; line-height:1; }
.tl-assure{ display:grid; gap:10px; margin-top:18px; padding-top:18px; border-top:1px solid var(--tl-line); }
.tl-assure li{ display:flex; gap:10px; font-size:13px; line-height:1.5; color:var(--tl-text-2); }
.tl-assure .tl-i{ width:16px; height:16px; color:var(--tl-blue); margin-top:1px; }
.tl-dark .tl-assure li{ color:var(--tl-fog-2); }
.tl-dark .tl-assure .tl-i{ color:var(--tl-cyan); }

/* progress rail (checkout steps) */
.tl-steps{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; }
.tl-steps li{ display:flex; align-items:center; gap:8px; color:var(--tl-fog); }
.tl-steps b{ display:grid; place-items:center; width:24px; height:24px; border-radius:6px; border:1px solid var(--tl-dline-2); font-family:var(--tl-font-mono); font-size:11px; font-weight:500; }
.tl-steps .is-done b{ background:var(--tl-blue); border-color:var(--tl-blue); color:#fff; }
.tl-steps .is-now{ color:#fff; font-weight:600; }
.tl-steps .is-now b{ background:#fff; color:var(--tl-ink); border-color:#fff; }
.tl-steps__sep{ width:18px; height:1px; background:var(--tl-dline-2); }
@media (max-width:639px){ .tl-steps li:not(.is-now) .tl-steps__txt{ display:none; } }

/* ---------------------------------------------------------------- tables */
.tl-tablewrap{ overflow-x:auto; border:1px solid var(--tl-line); border-radius:var(--tl-r); background:var(--tl-white); -webkit-overflow-scrolling:touch; }
.tl-table{ min-width:560px; font-size:14px; }
.tl-table th{ padding:12px 16px; text-align:left; font-family:var(--tl-font-mono); font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--tl-muted); background:var(--tl-paper); border-bottom:1px solid var(--tl-line); }
.tl-table td{ padding:14px 16px; border-bottom:1px solid var(--tl-line); vertical-align:top; color:var(--tl-text-2); }
.tl-table tr:last-child td{ border-bottom:0; }

/* ---------------------------------------------------------------- accordion */
.tl-acc{ border-top:1px solid var(--tl-line); }
.tl-acc__item{ border-bottom:1px solid var(--tl-line); }
.tl-acc__btn{ display:flex; width:100%; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px 0; text-align:left; font-family:var(--tl-font-display); font-weight:600; font-size:clamp(1.02rem,.95rem + .35vw,1.2rem); letter-spacing:-.02em; line-height:1.35; color:var(--tl-text); }
.tl-acc__btn:hover{ color:var(--tl-blue); }
.tl-acc__icon{ position:relative; flex:none; width:28px; height:28px; border-radius:50%; border:1px solid var(--tl-line-2); margin-top:-2px; transition:transform .4s var(--tl-ease),background .3s,border-color .3s; }
.tl-acc__icon::before,.tl-acc__icon::after{ content:""; position:absolute; left:50%; top:50%; width:10px; height:1.5px; background:currentColor; transform:translate(-50%,-50%); transition:transform .4s var(--tl-ease); }
.tl-acc__icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
.tl-acc__item.is-open .tl-acc__icon{ background:var(--tl-ink); border-color:var(--tl-ink); color:#fff; }
.tl-acc__item.is-open .tl-acc__icon::after{ transform:translate(-50%,-50%) rotate(0deg); }
[data-acc-body]{ max-height:0; overflow:hidden; transition:max-height .45s var(--tl-ease); }
.tl-acc__body{ padding:0 48px 24px 0; font-size:15px; line-height:1.75; color:var(--tl-text-2); }
.tl-dark .tl-acc,.tl-dark .tl-acc__item{ border-color:var(--tl-dline); }
.tl-dark .tl-acc__btn{ color:#fff; }
.tl-dark .tl-acc__btn:hover{ color:var(--tl-cyan); }
.tl-dark .tl-acc__icon{ border-color:var(--tl-dline-2); }
.tl-dark .tl-acc__item.is-open .tl-acc__icon{ background:#fff; color:var(--tl-ink); border-color:#fff; }
.tl-dark .tl-acc__body{ color:var(--tl-fog); }

/* ---------------------------------------------------------------- tabs / filters */
.tl-tabs{ display:flex; max-width:100%; gap:6px; overflow-x:auto; padding:4px; border:1px solid var(--tl-line); border-radius:12px; background:var(--tl-white); scrollbar-width:none; }
.tl-tabs::-webkit-scrollbar{ display:none; }
.tl-tab{ flex:none; padding:9px 14px; border-radius:8px; font-size:13.5px; font-weight:500; color:var(--tl-muted); white-space:nowrap; transition:background .2s,color .2s; }
.tl-tab:hover{ color:var(--tl-text); background:var(--tl-paper); }
.tl-tab.is-active,.tl-tab[aria-current="page"],.tl-tab[aria-selected="true"]{ background:var(--tl-ink); color:#fff; }
.tl-tab small{ margin-left:6px; font-family:var(--tl-font-mono); font-size:11px; opacity:.6; }
.tl-toolbar{ position:sticky; top:calc(var(--tl-header) + 8px); z-index:20; display:grid; gap:10px; padding:10px; border:1px solid var(--tl-line); border-radius:14px; background:rgba(255,255,255,.9); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); transition:top .45s var(--tl-ease); }
@media (min-width:900px){ .tl-toolbar{ grid-template-columns:minmax(0,1fr) auto auto; align-items:center; } }
.tl-search{ position:relative; }
.tl-search .tl-i{ position:absolute; left:14px; top:50%; transform:translateY(-50%); width:17px; height:17px; color:var(--tl-muted); pointer-events:none; }
.tl-search .tl-input{ padding-left:42px; min-height:44px; }

/* ---------------------------------------------------------------- prose (policies) */
.tl-prose{ font-size:15.5px; line-height:1.8; color:var(--tl-text-2); }
.tl-prose>*+*{ margin-top:14px; }
.tl-prose h3{ margin-top:26px; font-family:var(--tl-font-display); font-weight:600; font-size:1.1rem; letter-spacing:-.02em; color:var(--tl-text); }
.tl-prose ul{ display:grid; gap:8px; }
.tl-prose ul li{ position:relative; padding-left:22px; }
.tl-prose ul li::before{ content:""; position:absolute; left:2px; top:.72em; width:8px; height:1.5px; background:var(--tl-blue); }
.tl-prose ol{ counter-reset:tl; display:grid; gap:8px; }
.tl-prose ol li{ position:relative; padding-left:34px; counter-increment:tl; }
.tl-prose ol li::before{ content:counter(tl,decimal-leading-zero); position:absolute; left:0; top:.2em; font-family:var(--tl-font-mono); font-size:12px; color:var(--tl-blue); }
.tl-prose a{ color:var(--tl-blue-600); text-decoration:underline; text-underline-offset:3px; }
.tl-prose strong{ color:var(--tl-text); font-weight:600; }
.tl-prose table{ margin-top:16px; font-size:14px; border:1px solid var(--tl-line); }
.tl-prose th,.tl-prose td{ padding:10px 12px; border-bottom:1px solid var(--tl-line); text-align:left; vertical-align:top; }
.tl-prose th{ background:var(--tl-paper); font-weight:600; color:var(--tl-text); }
.tl-prose .tl-tablewrap table{ border:0; margin:0; }
.tl-policy-sec{ padding:32px 0; border-bottom:1px solid var(--tl-line); scroll-margin-top:calc(var(--tl-header) + 24px); }
.tl-policy-sec:first-child{ padding-top:0; }
.tl-policy-sec:last-child{ border-bottom:0; }
.tl-policy-sec h2{ display:flex; gap:14px; align-items:baseline; font-family:var(--tl-font-display); font-weight:600; font-size:1.45rem; letter-spacing:-.03em; }
.tl-policy-sec h2 span{ font-family:var(--tl-font-mono); font-size:12px; font-weight:400; color:var(--tl-blue); letter-spacing:.04em; }
.tl-toc{ border-left:1px solid var(--tl-line); display:grid; }
.tl-toc a{ margin-left:-1px; padding:7px 0 7px 16px; border-left:2px solid transparent; font-size:13.5px; color:var(--tl-muted); transition:all .2s; }
.tl-toc a:hover,.tl-toc a.is-active{ border-left-color:var(--tl-blue); color:var(--tl-text); }
@media (max-width:1023px){ .tl-toc-wrap{ display:none; } }

/* ---------------------------------------------------------------- dashboard shell */
.tl-dash{ display:grid; gap:24px; }
@media (min-width:1024px){ .tl-dash{ grid-template-columns:260px minmax(0,1fr); gap:40px; } }
.tl-dash__side{ display:grid; gap:12px; align-content:start; }
@media (min-width:1024px){ .tl-dash__side{ position:sticky; top:calc(var(--tl-header) + 24px); } }
.tl-dash__who{ display:flex; align-items:center; gap:12px; padding:18px; border-radius:16px; background:var(--tl-ink); color:#fff; }
.tl-dash__nav{ display:flex; gap:4px; overflow-x:auto; padding:6px; border:1px solid var(--tl-line); border-radius:14px; background:var(--tl-white); scrollbar-width:none; }
.tl-dash__nav::-webkit-scrollbar{ display:none; }
@media (min-width:1024px){ .tl-dash__nav{ flex-direction:column; overflow:visible; } }
.tl-dash__nav a{ display:flex; align-items:center; gap:10px; flex:none; padding:10px 12px; border-radius:9px; font-size:14px; color:var(--tl-text-2); white-space:nowrap; }
.tl-dash__nav a:hover{ background:var(--tl-paper); color:var(--tl-text); }
.tl-dash__nav a.is-active{ background:var(--tl-ink); color:#fff; }
.tl-dash__nav a .tl-i{ width:17px; height:17px; opacity:.8; }
.tl-dash__nav hr{ display:none; }
@media (min-width:1024px){ .tl-dash__nav hr{ display:block; margin:4px 8px; } }
.tl-stat{ padding:20px; border:1px solid var(--tl-line); border-radius:16px; background:var(--tl-white); }
.tl-stat b{ display:block; margin-top:14px; font-family:var(--tl-font-display); font-weight:600; font-size:1.8rem; letter-spacing:-.04em; line-height:1; }
.tl-stat span{ display:block; margin-top:6px; }
.tl-panel{ background:var(--tl-white); border:1px solid var(--tl-line); border-radius:var(--tl-r-lg); overflow:hidden; }
.tl-panel__head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid var(--tl-line); }
.tl-panel__body{ padding:22px; }
.tl-orow{ display:flex; flex-direction:column; gap:12px; padding:16px 22px; border-bottom:1px solid var(--tl-line); transition:background .2s; }
.tl-orow:last-child{ border-bottom:0; }
.tl-orow:hover{ background:var(--tl-paper); }
@media (min-width:640px){ .tl-orow{ flex-direction:row; align-items:center; } }
.tl-progress{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.tl-progress i{ height:4px; border-radius:4px; background:var(--tl-paper-2); }
.tl-progress i.is-on{ background:linear-gradient(90deg,var(--tl-blue),var(--tl-cyan)); }
.tl-empty{ position:relative; overflow:hidden; padding:56px 24px; text-align:center; border:1px dashed var(--tl-line-2); border-radius:var(--tl-r-lg); background:var(--tl-white); }
.tl-empty .tl-iconbox{ margin:0 auto; }

/* ---------------------------------------------------------------- auth shell */
.tl-auth{ display:grid; min-height:calc(100vh - var(--tl-header)); }
@media (min-width:1024px){ .tl-auth{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.tl-auth__form{ display:flex; align-items:center; justify-content:center; padding:48px var(--tl-gutter); background:var(--tl-paper); }
.tl-auth__form>div{ width:100%; max-width:440px; }
.tl-auth__art{ position:relative; isolation:isolate; overflow:hidden; display:none; background:var(--tl-ink); color:#fff; padding:56px; }
@media (min-width:1024px){ .tl-auth__art{ display:flex; flex-direction:column; justify-content:space-between; } }

/* ---------------------------------------------------------------- service detail */
.tl-deliv{ display:grid; gap:0; border-top:1px solid var(--tl-line); counter-reset:dl; }
.tl-deliv li{ display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; padding:16px 0; border-bottom:1px solid var(--tl-line); font-size:15px; line-height:1.6; color:var(--tl-text-2); counter-increment:dl; }
.tl-deliv li::before{ content:counter(dl,decimal-leading-zero); font-family:var(--tl-font-mono); font-size:12px; color:var(--tl-blue); padding-top:3px; }
.tl-checklist{ display:grid; gap:10px; }
.tl-checklist li{ display:flex; gap:10px; font-size:14.5px; line-height:1.6; color:var(--tl-text-2); }
.tl-checklist .tl-i{ width:17px; height:17px; margin-top:3px; color:var(--tl-blue); }
.tl-dark .tl-checklist li{ color:var(--tl-fog-2); }
.tl-dark .tl-checklist .tl-i{ color:var(--tl-cyan); }
.tl-buybox{ background:var(--tl-white); border:1px solid var(--tl-line); border-radius:var(--tl-r-lg); overflow:hidden; box-shadow:var(--tl-shadow); }
.tl-buybox__top{ padding:22px; background:var(--tl-ink); color:#fff; position:relative; isolation:isolate; overflow:hidden; }
.tl-buybox__body{ padding:22px; }
.tl-mobilebar{ position:fixed; left:0; right:0; bottom:0; z-index:70; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px var(--tl-gutter) calc(12px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.96); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-top:1px solid var(--tl-line); transform:translateY(110%); transition:transform .4s var(--tl-ease); }
.tl-mobilebar.is-shown{ transform:none; }
@media (min-width:1024px){ .tl-mobilebar{ display:none; } }

/* ---------------------------------------------------------------- toast */
.tl-toasts{ position:fixed; z-index:200; left:50%; bottom:20px; transform:translateX(-50%); width:min(92vw,380px); display:grid; gap:8px; }
@media (min-width:640px){ .tl-toasts{ left:auto; right:24px; transform:none; } }
.tl-toast{ display:flex; gap:10px; align-items:flex-start; padding:13px 16px; border-radius:12px; background:var(--tl-ink); color:#fff; font-size:14px; line-height:1.5; box-shadow:var(--tl-shadow-lg); border:1px solid var(--tl-dline-2); opacity:0; transform:translateY(10px); transition:opacity .35s var(--tl-ease),transform .35s var(--tl-ease); }
.tl-toast.is-in{ opacity:1; transform:none; }
.tl-toast .tl-i{ width:17px; height:17px; margin-top:2px; color:var(--tl-cyan); }
.tl-toast--err .tl-i{ color:#FF8597; }

/* ---------------------------------------------------------------- reveal + motion */
.tl-js .tl-reveal{ opacity:0; transform:translateY(18px); transition:opacity .8s var(--tl-ease),transform .9s var(--tl-ease); }
.tl-js .tl-reveal.is-in{ opacity:1; transform:none; }
.tl-ribbon{ position:fixed; top:0; left:0; right:0; z-index:400; height:2px; background:linear-gradient(90deg,var(--tl-blue),var(--tl-cyan)); transform:scaleX(0); transform-origin:left; opacity:0; transition:transform .8s var(--tl-ease),opacity .3s; pointer-events:none; }
.tl-type-caret{ display:inline-block; width:.08em; height:.9em; margin-left:.06em; background:var(--tl-cyan); vertical-align:-.08em; animation:tl-pulse 1s steps(2) infinite; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .tl-js .tl-reveal{ opacity:1; transform:none; }
  .tl-marquee__track{ animation:none; }
  .tl-meter i{ width:72%; }
}

/* ---------------------------------------------------------------- print */
@media print{
  .tl-header,.tl-announce,.tl-footer,.tl-drawer,.tl-wa,.tl-mobilebar,.tl-cta{ display:none !important; }
  body{ background:#fff; }
  .tl-pagehero{ background:#fff; color:#000; padding:16px 0; }
}

/* =============================================================================
   Page additions — catalogue, practice, engagement, about, FAQ, contact, 404
   (appended block; tl-cat-*, tl-prac-*, tl-eng-*, tl-ab-*, tl-faq-*, tl-ct-*, tl-nf-*)
   ============================================================================= */
/* catalogue toolbar */
.tl-cat-toolbar{ grid-template-columns:minmax(0,1fr); }
.tl-cat-toolbar__filters{ display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.tl-cat-toolbar__filters .tl-select{ min-height:44px; font-size:14px; }
.tl-cat-toolbar__filters .tl-select:first-of-type{ grid-column:1 / -1; }
.tl-cat-toolbar .tl-btn{ min-height:44px; }
@media (max-width:899px){ .tl-cat-toolbar{ position:relative; top:auto; } }
@media (min-width:640px){ .tl-cat-toolbar__filters{ grid-template-columns:repeat(3,minmax(0,1fr)); } .tl-cat-toolbar__filters .tl-select:first-of-type{ grid-column:auto; } }
@media (min-width:900px){
  .tl-cat-toolbar{ grid-template-columns:minmax(0,1fr) auto; }
  .tl-cat-toolbar .tl-search{ grid-column:1 / -1; }
}
@media (min-width:1200px){
  .tl-cat-toolbar{ grid-template-columns:minmax(0,1fr) auto auto; }
  .tl-cat-toolbar .tl-search{ grid-column:auto; }
  .tl-cat-toolbar__filters{ display:flex; }
  .tl-cat-toolbar__filters .tl-select{ width:auto; max-width:230px; }
}

/* ============================================================================
   APPENDED — checkout path (cart, checkout, order-review, payment,
   order-confirmation, track-order). Page-scoped helpers only.
   ============================================================================ */
.tl-steps--hero{ margin-top:28px; }
.tl-stephead{ display:grid; gap:20px; margin-top:28px; }
@media (min-width:1024px){ .tl-stephead{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); align-items:end; gap:64px; } }
.tl-stephead .tl-h1{ font-size:clamp(2rem,1.3rem + 2.6vw,3.4rem); }

/* line items (cart / review / receipt) */
.tl-lineset{ background:var(--tl-white); border:1px solid var(--tl-line); border-radius:var(--tl-r-lg); overflow:hidden; }
.tl-lineset__head{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:14px 20px; border-bottom:1px solid var(--tl-line); background:var(--tl-paper); }
.tl-lineset__foot{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:14px 20px; border-top:1px solid var(--tl-line); background:var(--tl-paper); }
.tl-cline{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:start; padding:18px 20px; border-bottom:1px solid var(--tl-line); }
.tl-cline:last-child{ border-bottom:0; }
.tl-cline__name{ display:block; margin-top:4px; font-family:var(--tl-font-display); font-weight:600; font-size:15.5px; letter-spacing:-.02em; line-height:1.3; overflow-wrap:anywhere; }
a.tl-cline__name:hover{ color:var(--tl-blue); }
.tl-cline__amt{ text-align:right; white-space:nowrap; }
.tl-cline__amt b{ display:block; font-family:var(--tl-font-display); font-weight:600; font-size:16px; letter-spacing:-.02em; }
.tl-cline__ctrl{ grid-column:2 / -1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 16px; }
.tl-cline__sub{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; }
.tl-cline__sub .tl-i{ width:13px; height:13px; }
@media (min-width:720px){
  .tl-cline{ grid-template-columns:auto minmax(0,1fr) auto 128px; align-items:center; padding:20px 24px; gap:18px; }
  .tl-cline__ctrl{ grid-column:auto; order:3; justify-content:flex-end; }
  .tl-cline__amt{ order:4; }
}
.tl-cline--static{ grid-template-columns:auto minmax(0,1fr) auto; }
@media (min-width:720px){ .tl-cline--static{ grid-template-columns:auto minmax(0,1fr) auto; } }

/* compact summary rows inside tl-summary */
.tl-minilines{ display:grid; gap:14px; }
.tl-minilines li{ display:flex; align-items:center; gap:12px; }
.tl-minilines .tl-mono-tile{ width:40px; height:40px; border-radius:10px; font-size:11px; overflow:visible; }
.tl-minilines .tl-mono-tile::after{ border-radius:0 0 10px 10px; }
.tl-tilebadge{ position:absolute; top:-7px; right:-7px; display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:var(--tl-blue); color:#fff; font-size:10px; box-shadow:0 0 0 2px var(--tl-white); }
.tl-summary__head .tl-link{ font-size:13px; }

/* read-only facts (billing details) */
.tl-facts{ display:grid; gap:16px; grid-template-columns:minmax(0,1fr); }
@media (min-width:640px){ .tl-facts{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.tl-facts dd{ margin-top:4px; font-size:14.5px; color:var(--tl-text); overflow-wrap:anywhere; }
.tl-facts .tl-span-2{ grid-column:1 / -1; }

/* numbered next steps */
.tl-nextsteps{ display:grid; counter-reset:ns; }
.tl-nextsteps li{ display:grid; grid-template-columns:40px minmax(0,1fr); gap:14px; padding:18px 0; border-top:1px solid var(--tl-line); counter-increment:ns; }
.tl-nextsteps li:first-child{ border-top:0; padding-top:0; }
.tl-nextsteps li::before{ content:counter(ns,decimal-leading-zero); display:grid; place-items:center; width:32px; height:32px; border-radius:8px; border:1px solid var(--tl-line-2); font-family:var(--tl-font-mono); font-size:12px; color:var(--tl-blue); }

/* brief / notes block */
.tl-cobrief{ white-space:pre-line; overflow-wrap:anywhere; font-size:14px; line-height:1.7; color:var(--tl-text-2); }

/* order reference pill with copy button */
.tl-ref{ display:inline-flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 10px; max-width:100%; padding:8px 8px 8px 14px; border:1px solid var(--tl-line); border-radius:12px; background:var(--tl-white); }
.tl-ref__num{ font-family:var(--tl-font-mono); font-size:14px; letter-spacing:.06em; color:var(--tl-text); overflow-wrap:anywhere; }
.tl-pagehero .tl-ref,.tl-dark .tl-ref{ background:rgba(255,255,255,.04); border-color:var(--tl-dline-2); }
.tl-pagehero .tl-ref__num,.tl-dark .tl-ref__num{ color:#fff; }
.tl-copybtn{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:8px; border:1px solid var(--tl-line-2); font-family:var(--tl-font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--tl-text-2); background:var(--tl-paper); transition:background .2s,color .2s,border-color .2s; }
.tl-copybtn:hover{ background:var(--tl-ink); border-color:var(--tl-ink); color:#fff; }
.tl-copybtn .tl-i{ width:13px; height:13px; }
.tl-pagehero .tl-copybtn,.tl-dark .tl-copybtn{ background:rgba(255,255,255,.06); border-color:var(--tl-dline-2); color:var(--tl-fog-2); }
.tl-pagehero .tl-copybtn:hover,.tl-dark .tl-copybtn:hover{ background:#fff; color:var(--tl-ink); }

/* status mark (confirmation / payment) */
.tl-statusmark{ position:relative; display:grid; place-items:center; width:64px; height:64px; border-radius:18px; flex:none; }
.tl-statusmark .tl-i{ width:28px; height:28px; }
.tl-statusmark--ok{ background:linear-gradient(135deg,var(--tl-blue),var(--tl-cyan)); color:#fff; box-shadow:0 18px 40px -18px rgba(47,107,255,.8); }
.tl-statusmark--wait{ background:rgba(255,255,255,.06); border:1px solid var(--tl-dline-2); color:var(--tl-cyan); }
.tl-statusmark--err{ background:var(--tl-err-50); color:var(--tl-err); }
.tl-statusmark--okl{ background:var(--tl-ok-50); color:var(--tl-ok); }

/* live listening indicator */
.tl-live{ display:inline-flex; align-items:center; gap:12px; font-size:14px; color:var(--tl-text-2); }
.tl-live__dot{ position:relative; width:10px; height:10px; border-radius:50%; background:var(--tl-blue); flex:none; }
.tl-live__dot::after{ content:""; position:absolute; inset:-5px; border-radius:50%; border:2px solid var(--tl-blue); opacity:.5; animation:tl-ping 1.8s var(--tl-ease) infinite; }
@keyframes tl-ping{ 0%{ transform:scale(.6); opacity:.7; } 100%{ transform:scale(1.8); opacity:0; } }

/* payment screen */
.tl-paypage{ min-height:100vh; display:flex; flex-direction:column; }
.tl-paybar{ position:relative; isolation:isolate; overflow:hidden; background:var(--tl-ink); color:#fff; border-bottom:1px solid var(--tl-dline); }
.tl-paybar__in{ display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; }
.tl-paybar__brand{ display:inline-flex; align-items:center; gap:10px; min-width:0; font-family:var(--tl-font-display); font-weight:600; font-size:17px; letter-spacing:-.03em; }
.tl-paybar__brand svg{ width:30px; height:30px; flex:none; }
.tl-payhero{ position:relative; isolation:isolate; overflow:hidden; background:var(--tl-ink); color:#fff; padding:28px 0 120px; }
.tl-paycard{ position:relative; margin-top:-96px; background:var(--tl-white); border:1px solid var(--tl-line); border-radius:var(--tl-r-xl); box-shadow:var(--tl-shadow-lg); overflow:hidden; }
.tl-paycard__amt{ padding:28px 22px; text-align:center; border-bottom:1px solid var(--tl-line); }
.tl-paycard__sec{ padding:26px 22px; }
.tl-paycard__status{ padding:22px; border-top:1px solid var(--tl-line); background:var(--tl-paper); text-align:center; }
@media (min-width:640px){ .tl-paycard__amt,.tl-paycard__sec{ padding-inline:36px; } }
.tl-upiapps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(124px,1fr)); gap:8px; }
.tl-upiapp{ display:flex; align-items:center; gap:10px; min-width:0; padding:13px 12px; border:1px solid var(--tl-line-2); border-radius:12px; background:var(--tl-white); font-family:var(--tl-font-display); font-weight:600; font-size:14px; letter-spacing:-.01em; transition:border-color .2s,transform .3s var(--tl-ease),box-shadow .3s; }
.tl-upiapp:hover{ border-color:var(--tl-blue); transform:translateY(-1px); box-shadow:var(--tl-shadow); }
.tl-upiapp i{ width:10px; height:10px; border-radius:3px; flex:none; background:var(--app-hue,var(--tl-blue)); }
.tl-qrframe{ display:inline-grid; place-items:center; padding:14px; border:1px solid var(--tl-line); border-radius:18px; background:#fff; position:relative; }
.tl-qrframe::before,.tl-qrframe::after{ content:""; position:absolute; width:22px; height:22px; border:2px solid var(--tl-blue); }
.tl-qrframe::before{ top:-1px; left:-1px; border-right:0; border-bottom:0; border-top-left-radius:18px; }
.tl-qrframe::after{ bottom:-1px; right:-1px; border-left:0; border-top:0; border-bottom-right-radius:18px; }
#qrCodeContainer{ min-width:240px; min-height:240px; display:grid; place-items:center; }
#qrCodeContainer img,#qrCodeContainer canvas{ margin:0 auto; display:block; border-radius:6px; }
@media (max-width:359px){ #qrCodeContainer{ min-width:200px; min-height:200px; } #qrCodeContainer img{ width:200px; height:200px; } }
.tl-payhero .tl-steps li:not(.is-now) .tl-steps__txt{ display:none; }
.tl-approw{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }

@media print{
  .tl-noprint,.tl-steps,.tl-crumbs{ display:none !important; }
  .tl-pagehero .tl-h1,.tl-pagehero .tl-lead,.tl-pagehero .tl-meta{ color:#000 !important; background:none !important; -webkit-text-fill-color:#000; }
  .tl-gridlines,.tl-glow{ display:none !important; }
  .tl-split{ display:block !important; }
  .tl-summary,.tl-lineset,.tl-formblock{ break-inside:avoid; box-shadow:none; }
  .tl-summary__head{ background:#fff !important; color:#000 !important; border-bottom:1px solid #ccc; }
  .tl-section{ padding-block:16px !important; }
}
@media (max-width:479px){ .tl-coform .tl-formblock{ padding:18px 16px; } .tl-coform .tl-formblock__head{ gap:10px; } .tl-summary__body{ padding:18px 16px; } .tl-summary__head{ padding:16px; } }
@media (max-width:639px){ .tl-steps--tight{ gap:4px; } .tl-steps--tight li{ gap:4px; } .tl-steps--tight .tl-steps__sep{ width:8px; } }
@media (max-width:359px){ .tl-paybar__tagtxt{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); } }
/* ======================================================= end checkout path */
/* page hero is always dark: make light-context text tokens legible even without .tl-dark */
.tl-pagehero .tl-lead{ color:var(--tl-fog-2); }
.tl-pagehero .tl-label,.tl-pagehero .tl-meta{ color:var(--tl-fog); }
.tl-pagehero .tl-label__idx{ color:var(--tl-cyan); }
.tl-cat-advise{ display:grid; gap:18px; align-items:center; padding:22px; }
@media (min-width:900px){ .tl-cat-advise{ grid-template-columns:auto minmax(0,1fr) auto; gap:24px; padding:24px 28px; } }

/* =============================================================================
   Account + auth + policy pages (appended block — dashboard/order detail)
   ============================================================================= */
.tl-stages{ display:grid; gap:16px; grid-template-columns:minmax(0,1fr); counter-reset:stg; }
@media (min-width:720px){ .tl-stages{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; } }
.tl-stages li{ position:relative; display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; align-items:start; }
@media (min-width:720px){ .tl-stages li{ grid-template-columns:minmax(0,1fr); gap:14px; } }
.tl-stages__head{ display:flex; align-items:center; gap:8px; }
.tl-stages__dot{ display:grid; place-items:center; width:32px; height:32px; border-radius:50%; flex:none; border:1px solid var(--tl-line-2); background:var(--tl-white); color:var(--tl-muted); font-family:var(--tl-font-mono); font-size:11.5px; }
.tl-stages__dot .tl-i{ width:15px; height:15px; }
.tl-stages__line{ display:none; flex:1; height:1px; background:var(--tl-line); }
@media (min-width:720px){ .tl-stages__line{ display:block; } }
.tl-stages li.is-done .tl-stages__dot{ background:var(--tl-blue); border-color:var(--tl-blue); color:#fff; }
.tl-stages li.is-done .tl-stages__line.is-on{ background:linear-gradient(90deg,var(--tl-blue),var(--tl-cyan)); }
.tl-stages li.is-now .tl-stages__dot{ box-shadow:0 0 0 5px rgba(47,107,255,.15); }
.tl-stages__t{ font-family:var(--tl-font-display); font-weight:600; font-size:14.5px; letter-spacing:-.015em; color:var(--tl-muted); }
.tl-stages li.is-done .tl-stages__t{ color:var(--tl-text); }
.tl-stages__b{ margin-top:4px; font-size:12.5px; line-height:1.55; color:var(--tl-muted); }
.tl-details summary{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; list-style:none; font-family:var(--tl-font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--tl-blue-600); }
.tl-details summary::-webkit-details-marker{ display:none; }
.tl-details summary .tl-i{ width:14px; height:14px; transition:transform .3s var(--tl-ease); }
.tl-details[open] summary .tl-i{ transform:rotate(180deg); }
.tl-notes{ max-height:320px; overflow-y:auto; white-space:pre-line; overflow-wrap:anywhere; padding:16px; border:1px solid var(--tl-line); border-radius:12px; background:var(--tl-paper); font-family:var(--tl-font-mono); font-size:12.5px; line-height:1.7; color:var(--tl-text-2); }
.tl-kv{ display:grid; gap:14px; }
.tl-kv dt{ font-family:var(--tl-font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--tl-muted); }
.tl-kv dd{ margin-top:3px; font-size:14px; line-height:1.55; color:var(--tl-text); overflow-wrap:anywhere; }
.tl-linklist{ display:grid; }
.tl-linklist a{ display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid var(--tl-line); font-size:14px; color:var(--tl-text-2); transition:color .2s; }
.tl-linklist li:last-child a{ border-bottom:0; }
.tl-linklist a:hover{ color:var(--tl-blue); }
.tl-linklist a>.tl-i:last-child{ margin-left:auto; width:15px; height:15px; opacity:.5; }
.tl-ecard{ display:flex; flex-direction:column; height:100%; min-width:0; }
.tl-ecard__stage{ margin-top:18px; padding:14px; border:1px solid var(--tl-line); border-radius:12px; background:var(--tl-paper); }
.tl-ecard__labels{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:8px; }
.tl-ecard__labels span{ font-family:var(--tl-font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--tl-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tl-ecard__labels span.is-on{ color:var(--tl-text); }
.tl-ecard__foot{ margin-top:auto; padding-top:18px; display:flex; flex-wrap:wrap; gap:8px; }
/* practice page */
.tl-prac-art{ position:absolute; z-index:-1; right:0; bottom:-140px; width:420px; height:420px; pointer-events:none; opacity:.55; }
@media (max-width:1023px){ .tl-prac-art{ display:none; } }
.tl-tile.tl-prac-tile{ min-height:0; padding:20px; }
.tl-prac-unit{ font-size:.62em; font-weight:500; letter-spacing:0; color:var(--tl-fog); white-space:nowrap; }
.tl-odetail{ display:grid; gap:24px; grid-template-columns:minmax(0,1fr); align-items:start; }
@media (min-width:1280px){ .tl-odetail{ grid-template-columns:minmax(0,1fr) 320px; } }
@media (min-width:720px) and (max-width:1279px){ .tl-odetail>aside{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .tl-odetail>aside>*{ margin-top:0 !important; } .tl-odetail>aside>.tl-summary{ grid-column:1 / -1; } }
/* engagement detail */
.tl-eng-block+.tl-eng-block{ margin-top:56px; padding-top:48px; border-top:1px solid var(--tl-line); }
@media (min-width:1024px){ .tl-eng-block+.tl-eng-block{ margin-top:64px; padding-top:56px; } }
.tl-eng-block .tl-prose{ max-width:68ch; }
.tl-eng-benefits{ display:grid; gap:12px; grid-template-columns:minmax(0,1fr); }
@media (min-width:720px){ .tl-eng-benefits{ grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); } }
.tl-eng-benefits .tl-card{ padding:20px; }
@media (max-width:1023px){ .tl-eng-aside{ order:-1; } }
.tl-eng-aside .tl-buybox__top .tl-gridlines{ opacity:.6; }
.tl-eng-spacer{ height:76px; }
@media (min-width:1024px){ .tl-eng-spacer{ display:none; } }
/* about */
.tl-ab-vm{ display:flex; flex-direction:column; min-height:320px; overflow:hidden; isolation:isolate; }
.tl-ab-vm .tl-h3{ margin-top:auto; padding-top:40px; max-width:26ch; }
.tl-ab-mind{ display:grid; gap:12px; }
.tl-ab-mind li{ display:grid; grid-template-columns:56px minmax(0,1fr); gap:16px; align-items:start; }
.tl-ab-mind__n{ font-family:var(--tl-font-display); font-weight:600; font-size:2rem; letter-spacing:-.04em; line-height:1; color:var(--tl-blue); }
.tl-ab-console{ max-width:100%; }
.tl-ab-console .tl-console__body div{ white-space:pre-wrap; }
.tl-ab-rows{ border-top:1px solid var(--tl-line); }
.tl-ab-rows li{ display:grid; grid-template-columns:48px minmax(0,1fr); gap:6px 16px; padding:24px 0; border-bottom:1px solid var(--tl-line); }
.tl-ab-rows__n{ font-family:var(--tl-font-mono); font-size:12px; color:var(--tl-blue); padding-top:8px; }
.tl-ab-rows__t{ font-family:var(--tl-font-display); font-weight:600; font-size:clamp(1.4rem,1rem + 1.6vw,2.6rem); letter-spacing:-.04em; line-height:1.05; }
.tl-ab-rows__b{ grid-column:2; font-size:15px; line-height:1.7; color:var(--tl-text-2); max-width:56ch; }
@media (min-width:900px){
  .tl-ab-rows li{ grid-template-columns:80px minmax(0,5fr) minmax(0,6fr); gap:24px; align-items:center; padding:32px 0; }
  .tl-ab-rows__n{ padding-top:0; }
  .tl-ab-rows__b{ grid-column:auto; }
}
a.tl-ind.tl-ab-prac{ display:block; transition:background .3s; }
a.tl-ind.tl-ab-prac:hover{ background:var(--tl-paper); }
a.tl-ind.tl-ab-prac:hover .tl-link{ color:var(--tl-blue); gap:12px; }
@media (min-width:1080px){ a.tl-ind.tl-ab-prac:nth-child(3n){ border-right:0; } a.tl-ind.tl-ab-prac:nth-last-child(-n+3){ border-bottom:0; } }
@media (min-width:720px) and (max-width:1079px){ a.tl-ind.tl-ab-prac:nth-child(2n){ border-right:0; } }
a.tl-ind.tl-ab-prac:last-child{ border-bottom:0; }
/* FAQ */
.tl-faq__nav a{ display:flex; align-items:center; gap:8px; }
.tl-faq__nav small{ font-family:var(--tl-font-mono); font-size:11px; opacity:.7; margin-left:0; }
.tl-faq__navicon{ display:inline-flex; color:var(--tl-blue); }
@media (max-width:1023px){ .tl-faq__help{ display:none; } }
@media (min-width:1024px){
  .tl-faq__nav{ flex-direction:column; gap:0; overflow:visible; padding:0; border:0; border-left:1px solid var(--tl-line); border-radius:0; background:none; }
  .tl-faq__nav a.tl-tab{ margin-left:-1px; border-left:2px solid transparent; border-radius:0; padding:9px 0 9px 16px; background:none; font-size:13.5px; color:var(--tl-text-2); white-space:normal; }
  .tl-faq__nav a.tl-tab:hover{ border-left-color:var(--tl-blue); background:none; color:var(--tl-text); }
  .tl-faq__nav small{ margin-left:auto; }
}
.tl-faq__group{ scroll-margin-top:calc(var(--tl-header) + 24px); }
.tl-faq__group+.tl-faq__group{ margin-top:56px; }
@media (min-width:1024px){ .tl-faq__group+.tl-faq__group{ margin-top:72px; } }
.tl-faq__answer a{ color:var(--tl-blue-600); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:639px){ .tl-acc__body{ padding-right:0; } }
.tl-related{ display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
/* contact */
@media (min-width:1024px){ .tl-ct{ grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:64px; } }
@media (max-width:1023px){ .tl-ct__info{ order:2; } }
.tl-ct__channels{ display:grid; gap:0; border-top:1px solid var(--tl-line); }
.tl-ct__channels li{ display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--tl-line); }
.tl-ct__val{ display:block; margin-top:4px; font-family:var(--tl-font-display); font-weight:600; font-size:1.05rem; letter-spacing:-.015em; color:var(--tl-text); word-break:break-word; }
a.tl-ct__val:hover{ color:var(--tl-blue); }
.tl-ct__areas{ display:flex; flex-wrap:wrap; gap:8px; }
.tl-ct__areas a{ display:inline-flex; align-items:center; gap:8px; padding:7px 12px 7px 8px; border:1px solid var(--tl-line); border-radius:999px; background:var(--tl-white); font-size:13.5px; color:var(--tl-text-2); transition:border-color .2s,color .2s; }
.tl-ct__areas a:hover{ border-color:var(--tl-blue); color:var(--tl-text); }
.tl-ct__code{ display:inline-grid; place-items:center; min-width:32px; height:20px; padding:0 6px; border-radius:999px; background:var(--tl-ink); color:#fff; font-family:var(--tl-font-mono); font-size:10px; letter-spacing:.06em; }
.tl-ct__next{ display:grid; gap:18px; }
.tl-ct__next li{ display:grid; grid-template-columns:36px minmax(0,1fr); gap:14px; }
.tl-ct__n{ display:grid; place-items:center; width:32px; height:32px; border-radius:8px; border:1px solid var(--tl-line-2); background:var(--tl-white); font-family:var(--tl-font-mono); font-size:11.5px; color:var(--tl-blue); }
.tl-ct__quick{ padding:6px 18px; }
.tl-ct__quick a{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; font-size:14px; font-weight:500; color:var(--tl-text-2); border-bottom:1px solid var(--tl-line); }
.tl-ct__quick a:last-child{ border-bottom:0; }
.tl-ct__quick a:hover{ color:var(--tl-blue); }
.tl-ct__quick .tl-i{ color:var(--tl-muted); }
.tl-check input.is-invalid{ outline:2px solid var(--tl-err); outline-offset:2px; }
.tl-alert:focus{ outline:none; }
.tl-ct__form .tl-select,.tl-cat-toolbar .tl-select{ height:48px; padding-top:0; padding-bottom:0; }
.tl-cat-toolbar .tl-select{ height:44px; }
/* 404 */
.tl-nf{ overflow:hidden; padding:56px 0 72px; }
@media (min-width:1024px){ .tl-nf{ padding:96px 0 120px; } }
.tl-nf__grid{ display:grid; gap:48px; grid-template-columns:minmax(0,1fr); }
.tl-nf__readout .tl-console__bar{ flex-wrap:wrap; }
@media (min-width:1024px){ .tl-nf__grid{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:80px; align-items:start; } }
.tl-nf__code{ font-family:var(--tl-font-display); font-weight:600; font-size:clamp(6rem,3rem + 16vw,14rem); line-height:.8; letter-spacing:-.07em; margin-bottom:28px;
  background:linear-gradient(180deg,#fff 10%,rgba(255,255,255,.08) 95%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tl-nf__lines{ padding:14px 18px; font-family:var(--tl-font-mono); font-size:12.5px; line-height:1.9; }
.tl-nf__lines>div{ display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; }
.tl-nf__lines dt{ color:var(--tl-cyan); }
.tl-nf__lines dd{ color:var(--tl-fog-2); min-width:0; overflow-wrap:anywhere; }
.tl-nf__input{ background:rgba(255,255,255,.04); border-color:var(--tl-dline-2); color:#fff; }
.tl-nf__input:hover{ border-color:rgba(255,255,255,.3); }
.tl-nf__input::placeholder{ color:#6B7384; }
.tl-nf__links ul{ border-top:1px solid var(--tl-dline); }
.tl-nf__links li a{ display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--tl-dline); }
.tl-nf__lt{ display:block; font-family:var(--tl-font-display); font-weight:600; font-size:15px; letter-spacing:-.015em; color:#fff; }
.tl-nf__ld{ display:block; font-size:12.5px; color:var(--tl-fog); }
.tl-nf__go{ color:var(--tl-fog); transition:transform .3s var(--tl-ease),color .2s; }
.tl-nf__links li a:hover .tl-nf__go{ color:var(--tl-cyan); transform:translateX(4px); }
.tl-nf__links li a:hover .tl-nf__lt{ color:var(--tl-cyan); }
.tl-nf__pop a{ display:flex !important; justify-content:space-between; gap:12px; font-size:13.5px; color:var(--tl-fog-2); padding:10px 0 !important; }
.tl-nf__pop a:hover{ color:#fff; }
.tl-nf__pop .tl-mono{ flex:none; font-size:12px; color:var(--tl-fog); }
.tl-statgrid{ gap:12px; }
@media (max-width:719px){
  .tl-statgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tl-statgrid .tl-stat{ padding:16px; }
  .tl-statgrid .tl-stat b{ font-size:1.4rem; overflow-wrap:anywhere; }
}
@media (max-width:639px){
  .tl-dash .tl-orow>div:last-child>span:first-child{ text-align:left !important; }
  .tl-tablewrap:has(.tl-table--stack){ overflow:visible; }
  .tl-table--stack{ min-width:0; }
  .tl-table--stack thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .tl-table--stack tr{ display:block; padding:14px 16px; border-bottom:1px solid var(--tl-line); }
  .tl-table--stack tr:last-child{ border-bottom:0; }
  .tl-table--stack td{ display:block; padding:0; border:0; }
  .tl-table--stack td[data-label]{ display:flex; justify-content:space-between; gap:12px; padding-top:8px; margin-top:8px; border-top:1px dashed var(--tl-line); }
  .tl-table--stack td[data-label]::before{ content:attr(data-label); font-family:var(--tl-font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--tl-muted); }
}
.tl-auth .tl-field__label,.tl-formblock .tl-field__label{ min-height:20px; align-items:center; }

/* ---- responsive refinements (home hero + bento art) ---- */
@media (max-width:1079px){
  .tl-tile__art{ display:none; }
}
@media (max-width:760px){
  .tl-float{ position:relative; top:auto; right:auto; bottom:auto; left:auto; animation:none; display:block; }
  .tl-float--a{ margin:0 0 10px; }
  .tl-float--b{ margin:10px 0 0; }
  .tl-console__foot{ flex-wrap:wrap; }
}
.tl-console__bar span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tl-console__bar em{ white-space:nowrap; flex:none; }
@media (max-width:420px){ .tl-console__bar em{ display:none; } }

/* =============================================================================
   HOMEPAGE v2 — "Aurora" composition (prefix hx-)
   Centred, luminous, rounded and interactive. Deliberately avoids numbered
   section labels, index rows, vertical timelines and ruled readouts.
   ============================================================================= */
.hx-grad{ background:linear-gradient(95deg,#9FE7F5 0%,#62DCF2 35%,#2F6BFF 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hx-grad-ink{ background:linear-gradient(95deg,#1843BD 0%,#2F6BFF 45%,#0B8EA8 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hx-center{ text-align:center; }
.hx-left{ text-align:left !important; margin-left:0 !important; }
.hx-flip{ transform:scaleX(-1); }

.hx-section{ position:relative; isolation:isolate; overflow:clip; padding:88px 0; }
@media (min-width:1024px){ .hx-section{ padding:132px 0; } }
.hx-light{ background:var(--tl-white); }
.hx-soft{ background:radial-gradient(1200px 500px at 50% 0%,#EDF2FF 0%,rgba(237,242,255,0) 70%),var(--tl-paper); }
.hx-dark{ background:#05060A; color:#fff; }

.hx-head{ max-width:760px; margin:0 auto 48px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; }
@media (min-width:1024px){ .hx-head{ margin-bottom:64px; } }
.hx-h2{ font-family:var(--tl-font-display); font-weight:600; font-size:clamp(2rem,1.3rem + 2.8vw,3.6rem); line-height:1.04; letter-spacing:-.045em; text-wrap:balance; }
.hx-lead{ font-size:clamp(1rem,.95rem + .3vw,1.15rem); line-height:1.65; color:var(--tl-muted); max-width:58ch; margin:0 auto; text-align:center; }
.hx-dark .hx-lead{ color:var(--tl-fog); }
.hx-pill{ display:inline-flex; align-items:center; gap:8px; padding:7px 14px 7px 10px; border-radius:999px; background:var(--tl-blue-50); border:1px solid var(--tl-blue-100); color:var(--tl-blue-700); font-size:13px; font-weight:600; }
.hx-pill .tl-i{ width:14px; height:14px; }
.hx-pill--dark{ background:rgba(98,220,242,.08); border-color:rgba(98,220,242,.22); color:#9FE7F5; }
.hx-pill__mark{ width:18px; height:18px; }

/* aurora light */
.hx-aurora{ position:absolute; inset:-10% -10% auto; height:520px; z-index:-1; pointer-events:none; opacity:.9;
  background:radial-gradient(40% 60% at 30% 0%,rgba(47,107,255,.35),transparent 70%),radial-gradient(35% 50% at 75% 10%,rgba(98,220,242,.22),transparent 70%);
  filter:blur(20px); }
.hx-aurora--low{ top:auto; bottom:-20%; }
.hx-aurora--card{ inset:-30% -20% auto; height:120%; opacity:.8; }

/* ---------------------------------------------------------------- hero */
.hx-hero{ position:relative; isolation:isolate; overflow:hidden; background:#05060A; color:#fff; padding:64px 0 0; text-align:center; }
@media (min-width:1024px){ .hx-hero{ padding:104px 0 0; } }
.hx-beam{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.hx-beam span{ position:absolute; top:-30%; left:50%; width:62%; height:95%; transform:translateX(-50%); border-radius:50%;
  background:conic-gradient(from 180deg at 50% 0%,transparent 42%,rgba(47,107,255,.55) 50%,transparent 58%); filter:blur(40px); opacity:.85; animation:hx-sway 12s ease-in-out infinite; }
.hx-beam span:nth-child(2){ width:40%; background:conic-gradient(from 180deg at 50% 0%,transparent 45%,rgba(98,220,242,.45) 50%,transparent 55%); animation-delay:-4s; animation-duration:9s; }
.hx-beam span:nth-child(3){ top:-10%; width:120%; height:60%; background:radial-gradient(50% 50% at 50% 0%,rgba(47,107,255,.25),transparent 70%); animation:none; }
@keyframes hx-sway{ 0%,100%{ transform:translateX(-50%) rotate(-4deg); } 50%{ transform:translateX(-50%) rotate(4deg); } }
.hx-hero__floor{ position:absolute; left:0; right:0; bottom:0; height:55%; z-index:-1; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:48px 48px; transform:perspective(600px) rotateX(58deg); transform-origin:bottom;
  -webkit-mask-image:linear-gradient(to top,#000 10%,transparent 85%); mask-image:linear-gradient(to top,#000 10%,transparent 85%); }
.hx-hero__in{ display:flex; flex-direction:column; align-items:center; }
.hx-announce{ display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:5px 14px 5px 5px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.04); font-size:13px; color:var(--tl-fog-2); transition:border-color .25s,background .25s; }
.hx-announce:hover{ border-color:rgba(98,220,242,.5); background:rgba(98,220,242,.06); color:#fff; }
.hx-announce span:nth-child(2){ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.hx-announce__tag{ flex:none; padding:3px 9px; border-radius:999px; background:linear-gradient(90deg,#62DCF2,#2F6BFF); color:#05060A; font-size:11px; font-weight:700; letter-spacing:.04em; }
.hx-title{ margin-top:26px; max-width:15ch; font-family:var(--tl-font-display); font-weight:600; font-size:clamp(2.6rem,1.2rem + 6vw,6rem); line-height:.98; letter-spacing:-.055em; text-wrap:balance;
  background:linear-gradient(180deg,#fff 30%,rgba(255,255,255,.72)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hx-title .hx-grad{ -webkit-text-fill-color:transparent; }
.hx-sub{ margin-top:22px; max-width:60ch; font-size:clamp(1rem,.95rem + .35vw,1.2rem); line-height:1.65; color:var(--tl-fog); }
.hx-ask{ position:relative; display:flex; align-items:center; gap:8px; width:min(100%,640px); margin-top:34px; padding:8px 8px 8px 16px; border-radius:999px;
  background:rgba(17,20,27,.85); border:1px solid rgba(255,255,255,.14); box-shadow:0 0 0 6px rgba(47,107,255,.08),0 30px 60px -30px rgba(47,107,255,.6); transition:border-color .25s,box-shadow .25s; }
.hx-ask:focus-within{ border-color:rgba(98,220,242,.6); box-shadow:0 0 0 6px rgba(98,220,242,.12),0 30px 60px -30px rgba(47,107,255,.8); }
.hx-ask__icon{ color:var(--tl-cyan); display:grid; place-items:center; flex:none; }
.hx-ask input{ flex:1; min-width:0; height:44px; border:0; background:transparent; color:#fff; font-size:16px; outline:none; }
.hx-ask input::placeholder{ color:#7C8597; }
.hx-ask input::-webkit-search-cancel-button{ -webkit-appearance:none; }
.hx-ask__go{ flex:none; display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 18px; border-radius:999px; background:var(--tl-blue); color:#fff; font-family:var(--tl-font-display); font-weight:600; font-size:14px; transition:background .2s,transform .3s var(--tl-ease); }
.hx-ask__go:hover{ background:var(--tl-blue-600); transform:translateX(2px); }
@media (max-width:520px){ .hx-ask{ flex-wrap:wrap; border-radius:22px; padding:10px; } .hx-ask input{ width:calc(100% - 40px); } .hx-ask__go{ width:100%; justify-content:center; } }
.hx-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:16px; }
.hx-chips a{ padding:6px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.1); font-size:12.5px; color:var(--tl-fog); transition:all .2s; }
.hx-chips a:hover{ color:#fff; border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.05); }
.hx-cta{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:30px; }
@media (max-width:420px){ .hx-cta .tl-btn{ width:100%; } }

/* product window */
.hx-window{ position:relative; width:100%; max-width:1080px; margin-top:64px; text-align:left; border-radius:22px 22px 0 0; border:1px solid rgba(255,255,255,.14); border-bottom:0;
  background:linear-gradient(180deg,rgba(24,28,37,.95),rgba(10,12,17,.98)); box-shadow:0 -30px 120px -40px rgba(47,107,255,.55),inset 0 1px 0 rgba(255,255,255,.08); overflow:hidden; }
.hx-window::before{ content:""; position:absolute; top:0; left:10%; right:10%; height:1px; background:linear-gradient(90deg,transparent,#62DCF2,#2F6BFF,transparent); }
.hx-window__bar{ display:flex; align-items:center; gap:12px; padding:12px 16px; border-bottom:1px solid rgba(255,255,255,.08); font-size:12px; color:var(--tl-fog); }
.hx-dots{ display:inline-flex; gap:6px; flex:none; }
.hx-dots i{ width:10px; height:10px; border-radius:50%; background:#2A2F39; display:block; }
.hx-dots i:first-child{ background:#FF5F57; opacity:.75; } .hx-dots i:nth-child(2){ background:#FEBC2E; opacity:.75; } .hx-dots i:nth-child(3){ background:#28C840; opacity:.75; }
.hx-window__url{ display:inline-flex; align-items:center; gap:6px; margin:0 auto; padding:5px 14px; border-radius:999px; background:rgba(255,255,255,.05); min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.hx-window__note{ flex:none; padding:3px 9px; border-radius:999px; border:1px solid rgba(255,255,255,.12); font-size:11px; }
.hx-window__grid{ display:grid; grid-template-columns:minmax(0,1fr); }
@media (min-width:820px){ .hx-window__grid{ grid-template-columns:240px minmax(0,1fr); } }
.hx-window__side{ display:none; padding:18px 12px; border-right:1px solid rgba(255,255,255,.08); }
@media (min-width:820px){ .hx-window__side{ display:block; } }
.hx-window__h{ padding:0 10px 8px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:#6B7384; }
.hx-window__side li{ display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:10px; font-size:13px; color:var(--tl-fog); }
.hx-window__side li span{ flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.hx-window__side li b{ font-weight:500; font-size:11px; padding:1px 7px; border-radius:999px; background:rgba(255,255,255,.06); }
.hx-window__side li.is-on{ background:rgba(47,107,255,.16); color:#fff; }
.hx-window__side li.is-on .tl-i{ color:var(--tl-cyan); }
.hx-window__main{ padding:22px 16px 28px; display:grid; gap:16px; }
@media (min-width:820px){ .hx-window__main{ padding:28px 32px 36px; } }
.hx-msg{ max-width:620px; }
.hx-msg__who{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:var(--tl-fog); margin-bottom:8px; }
.hx-msg__mark{ width:18px; height:18px; }
.hx-msg--you{ margin-left:auto; text-align:right; }
.hx-msg--you p{ display:inline-block; text-align:left; padding:12px 16px; border-radius:18px 18px 4px 18px; background:var(--tl-blue); color:#fff; font-size:14.5px; line-height:1.55; }
.hx-match{ padding:18px; border-radius:4px 18px 18px 18px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.03); }
.hx-match__top{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.hx-match__cat{ font-size:12px; color:var(--tl-cyan); }
.hx-match__name{ margin-top:4px; font-family:var(--tl-font-display); font-weight:600; font-size:1.25rem; letter-spacing:-.03em; }
.hx-match__price{ font-family:var(--tl-font-display); font-weight:600; font-size:1.5rem; letter-spacing:-.04em; text-align:right; }
.hx-match__price small{ display:block; font-family:var(--tl-font-body); font-size:11px; font-weight:400; letter-spacing:0; color:var(--tl-fog); }
.hx-match__list{ margin-top:14px; display:grid; gap:6px; }
.hx-match__list li{ display:flex; gap:8px; align-items:flex-start; font-size:13px; color:var(--tl-fog-2); }
.hx-match__list .tl-i{ margin-top:3px; color:var(--tl-cyan); }
.hx-match__actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }

/* ticker */
.hx-ticker{ background:#05060A; padding:28px 0 36px; border-top:1px solid rgba(255,255,255,.06); text-align:center; overflow:hidden; }
.hx-ticker__lead{ margin-bottom:16px; font-size:13px; color:#6B7384; }
.hx-word{ font-family:var(--tl-font-display); font-weight:600; font-size:clamp(1.1rem,.9rem + .8vw,1.6rem); letter-spacing:-.03em; color:#4A5162; white-space:nowrap; padding:0 18px; transition:color .3s; }
.hx-word:hover{ color:#fff; }

/* ---------------------------------------------------------------- capability explorer */
.hx-seg{ display:flex; gap:4px; width:max-content; max-width:100%; margin:0 auto 28px; padding:5px; border-radius:999px; background:var(--tl-paper); border:1px solid var(--tl-line); overflow-x:auto; scrollbar-width:none; }
.hx-seg::-webkit-scrollbar{ display:none; }
.hx-seg__btn{ flex:none; display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; font-size:14px; font-weight:500; color:var(--tl-muted); transition:all .25s var(--tl-ease); }
.hx-seg__btn:hover{ color:var(--tl-text); }
.hx-seg__btn.is-active{ background:var(--tl-white); color:var(--tl-text); box-shadow:0 1px 2px rgba(10,12,17,.08),0 6px 16px -8px rgba(10,12,17,.25); }
.hx-seg__btn.is-active .tl-i{ color:var(--tl-blue); }
.hx-cap{ display:grid; gap:20px; padding:20px; border-radius:28px; background:linear-gradient(180deg,#F7F9FF,#F2F4F8); border:1px solid var(--tl-line); animation:hx-in .5s var(--tl-ease); }
@media (min-width:900px){ .hx-cap{ grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:40px; padding:44px; align-items:center; } }
@keyframes hx-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.hx-cap__icon{ display:grid; place-items:center; width:52px; height:52px; border-radius:16px; background:var(--tl-blue); color:#fff; box-shadow:0 12px 24px -12px rgba(47,107,255,.8); }
.hx-cap__title{ margin-top:22px; font-family:var(--tl-font-display); font-weight:600; font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem); line-height:1.08; letter-spacing:-.04em; }
.hx-cap__body{ margin:14px 0 26px; font-size:15.5px; line-height:1.7; color:var(--tl-text-2); }
.hx-cap__visual{ border-radius:22px; background:var(--tl-white); border:1px solid var(--tl-line); padding:18px; box-shadow:0 30px 60px -45px rgba(10,12,17,.35); }
.hx-cap__art{ display:grid; place-items:center; height:180px; border-radius:14px; background:radial-gradient(circle at 50% 40%,#EDF2FF,#fff 70%); }
.hx-cap__art svg{ width:100%; max-width:320px; height:auto; }
.hx-cap__list{ margin-top:14px; display:grid; gap:6px; }
.hx-cap__list a{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:12px; background:var(--tl-paper); font-size:14px; transition:background .2s,transform .3s var(--tl-ease); }
.hx-cap__list a:hover{ background:var(--tl-blue-50); transform:translateX(3px); }
.hx-cap__list span{ flex:1; min-width:0; }
.hx-cap__list b{ font-weight:600; font-size:13.5px; white-space:nowrap; }
.hx-cap__list .tl-i{ color:var(--tl-blue); }

/* ---------------------------------------------------------------- solutions rail */
.hx-rowhead{ display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:20px; margin-bottom:40px; }
.hx-rowhead .hx-h2{ margin-top:18px; max-width:18ch; }
.hx-railnav{ display:flex; gap:8px; }
.hx-railbtn{ display:grid; place-items:center; width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.18); color:#fff; transition:all .25s; }
.hx-railbtn:hover{ background:#fff; color:#05060A; }
.hx-rail{ --rail-pad:max(var(--tl-gutter),calc((100vw - var(--tl-max))/2 + var(--tl-gutter))); display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:8px var(--rail-pad) 24px; scroll-padding-inline:var(--rail-pad); scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.hx-rail::-webkit-scrollbar{ display:none; }
.hx-rail:focus-visible{ outline-offset:-4px; }
.hx-sol{ position:relative; isolation:isolate; overflow:hidden; flex:none; width:min(78vw,300px); min-height:360px; scroll-snap-align:start; display:flex; flex-direction:column; padding:26px; border-radius:26px; border:1px solid rgba(255,255,255,.1); background:linear-gradient(180deg,#141821,#0B0D13); transition:transform .5s var(--tl-ease),border-color .3s; }
.hx-sol:hover{ transform:translateY(-6px); border-color:rgba(255,255,255,.25); }
.hx-sol__glow{ position:absolute; z-index:-1; top:-90px; right:-90px; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle,var(--acc,#2F6BFF),transparent 65%); opacity:.28; transition:opacity .4s,transform .6s var(--tl-ease); }
.hx-sol:hover .hx-sol__glow{ opacity:.5; transform:scale(1.2); }
.hx-sol__icon{ display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:var(--acc,#62DCF2); }
.hx-sol__name{ margin-top:auto; padding-top:40px; font-family:var(--tl-font-display); font-weight:600; font-size:1.5rem; line-height:1.1; letter-spacing:-.035em; }
.hx-sol__blurb{ margin-top:10px; font-size:14px; line-height:1.6; color:var(--tl-fog); }
.hx-sol__foot{ display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:22px; font-size:13px; font-weight:600; }
.hx-sol__foot small{ font-weight:400; color:var(--tl-fog); }
.hx-sol__go{ display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#fff; color:#05060A; transition:transform .4s var(--tl-ease); }
.hx-sol:hover .hx-sol__go{ transform:rotate(45deg); }
.hx-sol--all{ background:linear-gradient(160deg,#2F6BFF,#1843BD); border-color:transparent; }
.hx-sol--all .hx-sol__blurb{ color:rgba(255,255,255,.8); }

/* ---------------------------------------------------------------- services spotlight */
.hx-toggle{ display:inline-flex; padding:4px; border-radius:999px; background:var(--tl-paper); border:1px solid var(--tl-line); }
.hx-toggle__btn{ padding:9px 16px; border-radius:999px; font-size:14px; font-weight:500; color:var(--tl-muted); }
.hx-toggle__btn.is-active{ background:var(--tl-ink); color:#fff; }
.hx-spot{ display:grid; gap:16px; }
@media (min-width:1024px){ .hx-spot{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:20px; } }
.hx-spot__main{ position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; padding:28px; border-radius:28px; background:#05060A; color:#fff; min-height:100%; }
@media (min-width:1024px){ .hx-spot__main{ padding:44px; } }
.hx-spot__cat{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.06); font-size:13px; color:#9FE7F5; }
.hx-spot__name{ margin-top:22px; font-family:var(--tl-font-display); font-weight:600; font-size:clamp(1.8rem,1.3rem + 1.8vw,2.8rem); line-height:1.04; letter-spacing:-.045em; max-width:16ch; }
.hx-spot__name a:hover{ color:#9FE7F5; }
.hx-spot__desc{ margin-top:14px; font-size:15.5px; line-height:1.65; color:var(--tl-fog-2); max-width:52ch; }
.hx-spot__list{ margin:22px 0 28px; display:grid; gap:10px; }
@media (min-width:640px){ .hx-spot__list{ grid-template-columns:1fr 1fr; } }
.hx-spot__list li{ display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); font-size:13.5px; line-height:1.5; color:var(--tl-fog-2); }
.hx-spot__list .tl-i{ margin-top:3px; color:var(--tl-cyan); }
.hx-spot__foot{ margin-top:auto; display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:18px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); }
.hx-spot__price{ font-family:var(--tl-font-display); font-weight:600; font-size:clamp(2rem,1.6rem + 1.4vw,2.8rem); letter-spacing:-.05em; line-height:1; }
.hx-spot__meta{ margin-top:6px; font-size:13px; color:var(--tl-fog); }
.hx-spot__side{ display:grid; gap:10px; align-content:start; }
.hx-mini{ display:flex; align-items:center; gap:14px; padding:16px; border-radius:20px; background:var(--tl-paper); border:1px solid transparent; transition:border-color .25s,background .25s,transform .4s var(--tl-ease); }
.hx-mini:hover{ background:var(--tl-white); border-color:var(--tl-line-2); transform:translateX(-3px); }
.hx-mini__icon{ display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:var(--tl-ink); color:var(--acc,#62DCF2); flex:none; }
.hx-mini__name{ font-family:var(--tl-font-display); font-weight:600; font-size:15.5px; letter-spacing:-.02em; line-height:1.25; }
.hx-mini__name a:hover{ color:var(--tl-blue); }
.hx-mini__meta{ margin-top:3px; font-size:12.5px; color:var(--tl-muted); }
.hx-mini__end{ display:flex; align-items:center; gap:10px; flex:none; }
.hx-mini__end b{ font-family:var(--tl-font-display); font-weight:600; font-size:15px; }
.hx-mini__add{ display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--tl-blue); color:#fff; transition:transform .3s var(--tl-ease),background .2s; }
.hx-mini__add:hover{ transform:rotate(90deg); }
.hx-mini__add.is-added{ background:var(--tl-ok); }
@media (max-width:420px){ .hx-mini{ flex-wrap:wrap; } .hx-mini__end{ width:100%; justify-content:space-between; padding-left:58px; } }

/* ---------------------------------------------------------------- process stepper */
.hx-track{ position:relative; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; max-width:1040px; margin:0 auto; }
.hx-track__line{ position:absolute; left:calc(100%/14); right:calc(100%/14); top:27px; height:2px; background:rgba(255,255,255,.1); border-radius:2px; }
.hx-track__line i{ position:absolute; left:0; top:0; bottom:0; width:0; border-radius:2px; background:linear-gradient(90deg,#62DCF2,#2F6BFF); box-shadow:0 0 16px rgba(98,220,242,.7); transition:width .6s var(--tl-ease); }
.hx-stop{ position:relative; display:flex; flex-direction:column; align-items:center; gap:12px; padding:0 2px; color:var(--tl-fog); }
.hx-stop__dot{ display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:#0B0D13; border:1px solid rgba(255,255,255,.14); transition:all .4s var(--tl-ease); }
.hx-stop__label{ font-family:var(--tl-font-display); font-weight:600; font-size:14px; letter-spacing:-.01em; }
.hx-stop:hover .hx-stop__dot{ border-color:rgba(98,220,242,.6); }
.hx-stop.is-done .hx-stop__dot{ border-color:rgba(98,220,242,.5); color:var(--tl-cyan); }
.hx-stop.is-active{ color:#fff; }
.hx-stop.is-active .hx-stop__dot{ background:linear-gradient(135deg,#62DCF2,#2F6BFF); border-color:transparent; color:#05060A; transform:scale(1.08); box-shadow:0 0 0 8px rgba(47,107,255,.15),0 10px 30px -8px rgba(47,107,255,.9); }
@media (max-width:760px){
  .hx-track{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding-bottom:8px; scrollbar-width:none; }
  .hx-track::-webkit-scrollbar{ display:none; }
  .hx-stop{ flex:none; width:84px; scroll-snap-align:center; }
  .hx-track__line{ display:none; }
}
.hx-stage{ position:relative; max-width:760px; margin:40px auto 0; padding:30px 24px 26px; border-radius:26px; text-align:center; border:1px solid rgba(255,255,255,.1); background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015)); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
@media (min-width:760px){ .hx-stage{ padding:40px 56px 34px; } }
.hx-stage__item{ display:none; }
.hx-stage__item.is-active{ display:block; animation:hx-in .5s var(--tl-ease); }
.hx-stage__count{ font-size:13px; color:var(--tl-cyan); font-weight:600; }
.hx-stage__title{ margin-top:10px; font-family:var(--tl-font-display); font-weight:600; font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem); letter-spacing:-.045em; line-height:1.05; }
.hx-stage__body{ margin:14px auto 0; max-width:54ch; font-size:16px; line-height:1.7; color:var(--tl-fog-2); }
.hx-stage__tags{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:20px; }
.hx-stage__tags span{ padding:6px 12px; border-radius:999px; background:rgba(98,220,242,.08); border:1px solid rgba(98,220,242,.2); font-size:12.5px; color:#9FE7F5; }
.hx-stage__nav{ display:flex; justify-content:center; gap:10px; margin-top:24px; }

/* ---------------------------------------------------------------- stack code panel */
.hx-stack{ display:grid; gap:40px; align-items:center; }
@media (min-width:1024px){ .hx-stack{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:64px; } }
.hx-stack__text .hx-h2{ margin-top:18px; }
.hx-stack__text .hx-lead{ margin-top:18px; }
.hx-note{ display:flex; gap:14px; margin-top:28px; padding:18px; border-radius:20px; background:var(--tl-blue-50); border:1px solid var(--tl-blue-100); }
.hx-note__icon{ display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--tl-blue); color:#fff; flex:none; }
.hx-note__title{ font-family:var(--tl-font-display); font-weight:600; font-size:16px; letter-spacing:-.02em; }
.hx-note__body{ margin-top:4px; font-size:14px; line-height:1.6; color:var(--tl-text-2); }
.hx-code{ margin:0; min-width:0; border-radius:22px; background:#0B0D13; border:1px solid #1E232D; box-shadow:0 40px 80px -40px rgba(10,12,17,.6); overflow:hidden; }
.hx-code__bar{ display:flex; align-items:center; gap:14px; padding:12px 16px; border-bottom:1px solid #1E232D; }
.hx-code__tab{ padding:5px 12px; border-radius:8px; background:#161A23; font-family:var(--tl-font-mono); font-size:12px; color:var(--tl-fog-2); }
.hx-code__pre{ margin:0; padding:22px 20px 26px; overflow-x:auto; font-family:var(--tl-font-mono); font-size:13.5px; line-height:1.9; color:#C7CDD8; white-space:pre-wrap; word-break:break-word; counter-reset:ln; }
@media (min-width:640px){ .hx-code__pre{ font-size:14px; padding:26px 28px 30px; } }
.hx-code__pre .k{ color:#7C9CFF; } .hx-code__pre .v{ color:#fff; } .hx-code__pre .p{ color:#62DCF2; } .hx-code__pre .s{ color:#9FE7A8; }

/* ---------------------------------------------------------------- industries fold */
.hx-fold{ display:grid; gap:10px; }
@media (min-width:1024px){ .hx-fold{ display:flex; gap:12px; height:440px; } }
.hx-fold__item{ position:relative; overflow:hidden; border-radius:24px; background:var(--tl-white); border:1px solid var(--tl-line); transition:flex .6s var(--tl-ease),background .4s,border-color .4s; }
@media (min-width:1024px){ .hx-fold__item{ flex:1 1 0; min-width:0; } .hx-fold__item.is-open{ flex:4 1 0; background:#05060A; border-color:#05060A; color:#fff; } }
.hx-fold__head{ display:flex; align-items:center; gap:14px; width:100%; padding:18px 20px; text-align:left; }
@media (min-width:1024px){
  .hx-fold__head{ flex-direction:column; align-items:flex-start; justify-content:space-between; height:100%; padding:24px; }
  .hx-fold__item.is-open .hx-fold__head{ height:auto; }
  .hx-fold__item:not(.is-open) .hx-fold__name{ writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; }
}
.hx-fold__icon{ display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:var(--tl-blue-50); color:var(--tl-blue); flex:none; transition:all .4s; }
.hx-fold__item.is-open .hx-fold__icon{ background:var(--tl-blue); color:#fff; }
.hx-fold__name{ font-family:var(--tl-font-display); font-weight:600; font-size:1.2rem; letter-spacing:-.03em; }
@media (min-width:1024px){ .hx-fold__item.is-open .hx-fold__name{ font-size:clamp(1.6rem,1.2rem + 1vw,2.2rem); margin-top:24px; } }
.hx-fold__body{ display:none; padding:0 20px 22px; }
.hx-fold__item.is-open .hx-fold__body{ display:block; animation:hx-in .5s var(--tl-ease); }
@media (min-width:1024px){ .hx-fold__body{ padding:0 24px 24px; } }
.hx-fold__body p{ font-size:15px; line-height:1.65; color:var(--tl-text-2); max-width:50ch; }
@media (min-width:1024px){ .hx-fold__item.is-open .hx-fold__body p{ color:var(--tl-fog-2); } }
.hx-fold__body ul{ margin-top:18px; display:grid; gap:6px; }
.hx-fold__body a{ display:flex; justify-content:space-between; gap:12px; padding:11px 14px; border-radius:12px; background:var(--tl-paper); font-size:14px; transition:background .2s; }
.hx-fold__body a:hover{ background:var(--tl-blue-50); }
.hx-fold__body a b{ font-weight:600; white-space:nowrap; }
@media (min-width:1024px){
  .hx-fold__item.is-open .hx-fold__body a{ background:rgba(255,255,255,.06); color:#fff; }
  .hx-fold__item.is-open .hx-fold__body a:hover{ background:rgba(98,220,242,.12); }
}

/* ---------------------------------------------------------------- about */
.hx-about{ max-width:920px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:22px; text-align:center; }
.hx-quote{ font-family:var(--tl-font-display); font-weight:500; font-size:clamp(1.9rem,1.2rem + 3vw,3.8rem); line-height:1.08; letter-spacing:-.045em; text-wrap:balance; }
.hx-vm{ display:grid; gap:14px; margin-top:56px; }
@media (min-width:900px){ .hx-vm{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.hx-vm__card{ padding:28px; border-radius:26px; background:var(--tl-paper); border:1px solid var(--tl-line); }
.hx-vm__card--dark{ background:linear-gradient(160deg,#10172B,#05060A); border-color:transparent; color:#fff; }
.hx-vm__icon{ display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:var(--tl-white); border:1px solid var(--tl-line); color:var(--tl-blue); }
.hx-vm__card--dark .hx-vm__icon{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); color:var(--tl-cyan); }
.hx-vm__k{ margin-top:22px; font-size:13px; font-weight:600; color:var(--tl-blue); }
.hx-vm__card--dark .hx-vm__k{ color:#9FE7F5; }
.hx-vm__v{ margin-top:8px; font-family:var(--tl-font-display); font-weight:600; font-size:1.35rem; line-height:1.2; letter-spacing:-.03em; }
.hx-vm__list{ margin-top:10px; display:grid; gap:8px; }
.hx-vm__list li{ position:relative; padding-left:20px; font-size:14.5px; line-height:1.5; color:var(--tl-text-2); }
.hx-vm__list li::before{ content:""; position:absolute; left:0; top:.5em; width:8px; height:8px; border-radius:50%; background:linear-gradient(135deg,#62DCF2,#2F6BFF); }

@media (prefers-reduced-motion:reduce){ .hx-beam span{ animation:none; } .hx-cap,.hx-stage__item.is-active,.hx-fold__item.is-open .hx-fold__body{ animation:none; } }

/* =============================================================================
   SITE-WIDE SHIFT — pill labels, rounded buttons, card-style readouts
   (moves every page away from ruled/numbered/square conventions)
   ============================================================================= */
.tl-label{ gap:8px; padding:6px 12px 6px 10px; border-radius:999px; background:var(--tl-blue-50); border:1px solid var(--tl-blue-100); color:var(--tl-blue-700); font-family:var(--tl-font-body); font-size:12.5px; font-weight:600; letter-spacing:0; text-transform:none; width:max-content; max-width:100%; }
.tl-label::before{ content:""; width:6px; height:6px; border-radius:50%; background:linear-gradient(135deg,#62DCF2,#2F6BFF); flex:none; }
.tl-label__idx,.tl-label__rule{ display:none; }
.tl-dark .tl-label,.tl-on-dark .tl-label,.tl-pagehero .tl-label,.tl-auth__art .tl-label,.tl-mega .tl-label,.tl-footer .tl-label{ background:rgba(98,220,242,.08); border-color:rgba(98,220,242,.22); color:#9FE7F5; }
.tl-btn{ border-radius:999px; }
.tl-btn--sm{ border-radius:999px; } .tl-btn--lg{ border-radius:999px; }
.tl-readout{ gap:10px; border:0; background:transparent; overflow:visible; }
.tl-readout>div{ border:1px solid var(--tl-dline-2) !important; border-radius:18px; background:rgba(255,255,255,.04); }
.tl-readout dd{ background:linear-gradient(95deg,#fff,#9FE7F5); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tl-readout dt{ font-family:var(--tl-font-body); letter-spacing:0; text-transform:none; font-size:12.5px; }
.tl-readout--light>div{ border-color:var(--tl-line) !important; background:var(--tl-paper); }
.tl-readout--light dd{ background:none; color:var(--tl-text); }
.tl-pagehero{ background:radial-gradient(900px 400px at 70% -10%,rgba(47,107,255,.28),transparent 70%),radial-gradient(600px 300px at 10% 0%,rgba(98,220,242,.12),transparent 70%),#05060A; }
.tl-card,.tl-svc,.tl-summary,.tl-panel,.tl-buybox,.tl-formblock{ border-radius:24px; }
.tl-iconbox{ border-radius:14px; }
.tl-step__dot{ border-radius:50%; }
.tl-deliv li::before{ content:""; width:22px; height:22px; margin-top:1px; border-radius:50%; padding:0;
  background:var(--tl-blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F6BFF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat; }
.tl-deliv li{ grid-template-columns:34px minmax(0,1fr); }
.tl-meta{ letter-spacing:.03em; }
.tl-crumbs{ font-family:var(--tl-font-body); text-transform:none; letter-spacing:0; font-size:13px; }
@media (max-width:520px){ .hx-match__price{ text-align:left; } .hx-match__price small{ display:inline; margin-left:6px; } }
