/* Light mode uses paper, navy ink and cobalt links; product mockups retain
   their own dark screen palette, like embedded product photography. */
.theme-toggle { flex: none; width: 40px; height: 40px; border: 1px solid var(--tb-line); border-radius: 50%; color: var(--tb-ice); background: var(--tb-deep); cursor: pointer; font: 24px/1 var(--tb-sans); }
html[data-theme="light"] {
  color-scheme: light;
  --tb-abyss:#f7f9fc; --tb-deep:#ffffff; --tb-trench:#e8eef7;
  --tb-ice:#10284a; --tb-mist:#425878; --tb-fog:#526581;
  --tb-line:rgb(26 55 96 / .18); --tb-mint:#006c4c; --tb-lagoon:#006e8b;
  --tb-flare:#b43a12; --tb-flare-2:#d65b24;
  --tb-ember:linear-gradient(120deg,#ff7a4d,#ffb36b);
  --tb-bridge-text:linear-gradient(100deg,#006e8b,#0756c8);
  --lg-tint:255 255 255; --lg-tint-alpha:.85; --lg-ink:16 40 74;
}
html[data-theme="light"] :is(.hero-how,.swap,.pain,.cta-card,.deliv,.plan,.lang-menu,.lang-ask,.quick-call,.lead-card,.lead-panel,.lead-dialog,.bridgy-panel,.bridgy-box,.consult-shell,.consult-invite,.consult-resume) { background:var(--tb-deep); box-shadow:inset 0 0 0 1px var(--tb-line),0 12px 32px -24px #28486a; }
html[data-theme="light"] :is(.price-team input,.lead input,.lead textarea,.lead select,.lead-modal input,.lead-modal textarea,.lead-modal select,.bridgy-input,.consult input,.consult textarea,.stack span) { background:var(--tb-deep); color:var(--tb-ice); }
html[data-theme="light"] .legal { color:var(--tb-mist); }
html[data-theme="light"] .solve-chip { color:var(--tb-ice); }
html[data-theme="light"] .solve-chip i { background:#0756c8; }
html[data-theme="light"] .aurora { opacity:1; background:transparent; }
html[data-theme="light"] .aurora::before {
  content:""; position:absolute; inset:-25%; pointer-events:none;
  background:radial-gradient(ellipse at 25% 30%, rgb(8 100 244 / .22), transparent 48%), radial-gradient(ellipse at 75% 65%, rgb(45 132 255 / .16), transparent 46%);
  animation:light-blue-aura 28s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes light-blue-aura {
  0% { transform:translate(-8%, -6%) rotate(-6deg); }
  50% { transform:translate(8%, 3%) rotate(3deg); }
  100% { transform:translate(-2%, 10%) rotate(8deg); }
}
@media(prefers-reduced-motion:reduce) {
  html[data-theme="light"] .aurora::before { animation:none; will-change:auto; }
}
html[data-theme="light"] .mock { --tb-ice:#eaf4ff; --tb-mist:#93a8cc; --tb-fog:#8296bc; --tb-mint:#3cf2b4; --tb-lagoon:#00c6e8; --tb-line:rgb(143 180 255 / .12); color:var(--tb-ice); }
html[data-theme="light"] :is(.faq[open] summary i,.svc:hover .svc-go) { color:#fff; }
@media(max-width:600px) { .theme-toggle { width:36px; height:36px; } }
@media(prefers-reduced-motion:reduce) { .nav,.nav * { transition:none !important; } }

.workspace-link { display:block; width:fit-content; margin:24px auto 0; padding:12px; text-decoration:underline; }
@media(max-width:600px) {
  .nav { gap:4px; padding:6px 8px; }
  .nav .brand { gap:6px; margin-right:auto; }
  .nav .brand-mark { width:28px; height:28px; }
  .nav .brand-word { font-size:.9rem; }
  .nav .lang-btn { padding:0 6px !important; }
  .nav .nav-burger { flex:none; width:36px; padding:0; }
  .nav .nav-cta { display:none; }
}
html[data-theme="light"] :is(.p-card,.p-code,.ci-card,.plan-card,.sheet-card) { background:var(--tb-deep); }
html[data-theme="light"] .crm-window { --tb-ice:#eaf4ff; --tb-mist:#93a8cc; --tb-fog:#8296bc; --tb-mint:#3cf2b4; --tb-lagoon:#00c6e8; color:var(--tb-ice); }
html[data-theme="light"] :is(.ticks li,.deliv-list li,.plan-card li)::before { color:#fff; }
html[data-theme="light"] .done-tick { color:#fff; }
html[data-theme="light"] .consult-stages li.done i::after { color:#fff; }

/* A brief crossfade connects the two palettes without moving page content. */
::view-transition-group(root) { animation-duration:360ms; }
::view-transition-old(root), ::view-transition-new(root) {
  animation-duration:360ms; animation-timing-function:ease-in-out;
}
html.theme-changing :is(body, .nav, .hero-how, .p-card, .swap, .plan, .cta-card, .theme-toggle) {
  transition:background-color 360ms ease, color 360ms ease, border-color 360ms ease;
}
@media(prefers-reduced-motion:reduce) {
  ::view-transition-group(root), ::view-transition-old(root), ::view-transition-new(root) { animation:none; }
  html.theme-changing * { transition:none; }
}

/* Keep the lens on the bar itself: Safari cannot render SVG backdrop filters.
   Menus must escape the material bounds; highlights remain fixed. */
.nav.lg { overflow:visible; isolation:auto; will-change:auto; gap:8px;
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  backdrop-filter:blur(28px) saturate(180%);
  background:rgb(10 24 48 / .72);
  box-shadow:0 8px 26px -12px rgb(0 0 0 / .42),inset 0 1px 1px rgb(255 255 255 / .65),inset 0 -1px 1px rgb(255 255 255 / .18);
}
.nav.lg::before { backdrop-filter:none; -webkit-backdrop-filter:none; background:linear-gradient(150deg,rgb(255 255 255 / .24),transparent 42%,rgb(255 255 255 / .06)); }
html[data-theme="light"] .nav.lg { background:rgb(245 249 255 / .72); }
.nav .lang-pick { z-index:5; }
.nav .lang-menu { max-height:min(70vh,560px); overflow-y:auto; }
.nav .lang-menu[hidden] { display:none; }
.nav-login { flex:none; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 12px; border:1px solid var(--tb-line); border-radius:999px; font-size:.9rem; font-weight:600; color:var(--tb-ice); white-space:nowrap; }
.nav-login:hover { background:rgb(8 100 244 / .1); }
.nav :is(a,button):focus-visible { outline:2px solid #0864f4; outline-offset:3px; }
@media(min-width:901px) { .nav .lg-item { padding-inline:10px; } }
@media(max-width:1100px) { .nav-links { display:none; } .nav-burger { display:inline-flex !important; } .nav.open { flex-wrap:wrap; border-radius:28px; } .nav.open .nav-links { display:flex; flex-direction:column; width:100%; order:5; margin:0; } .nav .lang-pick { margin-left:auto; } }
@media(max-width:900px) { .nav .lang-pick { position:static; } .nav .lang-menu { position:absolute; top:calc(100% + 10px); left:0; right:0; width:auto; } }
@media(max-width:600px) { .nav.lg { gap:4px; } .nav-login { padding-inline:9px; font-size:.8rem; } .nav .brand-word { display:none; } .nav .brand { margin-right:auto; } }
@media(prefers-reduced-transparency:reduce) { .nav.lg { background:#0a1830; } html[data-theme="light"] .nav.lg { background:#f5f9ff; } }

/* Audit: preserve contrast, line-aware strike-through and localized navigation. */
.step.lit .step-n { background:#0756c8; color:#fff; }
.solve-p::after { display:none; }
.solve-p .solve-problem-text { font:inherit; color:inherit; letter-spacing:normal; text-transform:none; flex:initial; min-width:0; }
.solve.done .solve-problem-text, .solve.solved .solve-problem-text { text-decoration:line-through; text-decoration-thickness:1px; }
.lead-request-context { margin:12px 0 18px; padding:12px 16px; border-inline-start:3px solid #0864f4; color:var(--tb-ice); background:rgb(8 100 244 / .08); font-weight:600; }
.lead-request-context[hidden] { display:none; }
@media (min-width:1101px) and (max-width:1400px) { .nav-links { display:none; } .nav-burger { display:inline-flex !important; } .nav.open { flex-wrap:wrap; border-radius:28px; } .nav.open .nav-links { display:flex; flex-direction:column; width:100%; order:5; margin:0; } .nav .lang-pick { margin-left:auto; } }
.nav .nav-login, .nav .nav-cta { white-space:nowrap; }

/* Keep controls interactive during native theme crossfades. */
::view-transition, ::view-transition-group(*), ::view-transition-image-pair(*), ::view-transition-old(*), ::view-transition-new(*) { pointer-events: none; }

/* Product-first homepage: real screens lead; services follow. */
.product-home{max-width:1320px;margin:0 auto;padding:112px 28px 32px;color:var(--tb-ice)}
.product-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}
.product-intro h1{font-size:clamp(32px,3.5vw,52px);line-height:1.12;letter-spacing:-.035em;max-width:800px;margin:10px 0 0;text-wrap:balance}
.product-intro .eyebrow{margin:0;color:var(--tb-mist)}
.product-intro-actions{display:flex;align-items:center;gap:20px;flex-shrink:0;padding-bottom:4px}
.product-services{color:inherit;text-decoration:underline;text-underline-offset:5px;font-weight:600}
.product-showcase{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}
.product-feature{min-width:0;border-top:1px solid var(--tb-line);padding-top:20px}
.product-flagship{grid-column:1/-1;display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.7fr);gap:36px;align-items:center}
.product-index{font-family:monospace;font-size:13px;color:var(--tb-mist)}
.product-copy h2{font-size:clamp(25px,2.5vw,36px);line-height:1.15;margin:12px 0}
.product-description{font-size:18px;line-height:1.5;color:var(--tb-mist);max-width:34ch;margin:0 0 22px}
.product-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.product-actions .btn{font-size:14px;padding:12px 18px;min-height:44px}
.product-feature figure{margin:0;min-width:0}
.product-screen{display:block;border:1px solid var(--tb-line);border-radius:10px;overflow:hidden;background:#0c1017;box-shadow:0 12px 24px -22px #001632}
.product-screen img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain}
.product-screen:focus-visible{outline:3px solid #ff873d;outline-offset:5px}
.product-feature figcaption{font-size:11px;line-height:1.6;color:var(--tb-mist);margin-top:10px}
.product-feature figcaption a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.product-home + #practices{padding-top:42px}
@media(min-width:900px){.product-feature:not(.product-flagship) .product-copy{display:grid;grid-template-columns:1fr auto;column-gap:16px}.product-feature:not(.product-flagship) .product-index{grid-column:1/-1}.product-feature:not(.product-flagship) .product-description{grid-column:1;grid-row:3}.product-feature:not(.product-flagship) .product-actions{grid-column:2;grid-row:2/4;align-self:center;max-width:180px}}
@media(max-width:800px){.product-home{padding:100px 20px 20px}.product-intro{display:block}.product-intro-actions{margin-top:22px}.product-flagship{display:block}.product-showcase{gap:30px 20px}.product-copy h2{margin:8px 0}.product-description{font-size:16px}.product-actions{margin-bottom:16px}.product-intro h1{max-width:22ch}}
@media(max-width:560px){.product-showcase{grid-template-columns:1fr}.product-home{padding-inline:16px}.product-intro{margin-bottom:26px}.product-feature figcaption{font-size:12px}.product-intro-actions{flex-wrap:wrap}.product-flagship{grid-column:auto}}
.product-jumps{display:flex;gap:28px;flex-wrap:wrap;margin:0 0 22px;font-weight:650;font-size:15px}.product-jumps a{color:inherit;text-decoration:underline;text-underline-offset:6px}.product-feature{scroll-margin-top:110px}
/* Show the useful workspace at readable scale; full original remains linked. */
.product-screen{position:relative;aspect-ratio:1.9;border-radius:8px}
.product-screen img{width:118%;max-width:none;height:auto;aspect-ratio:auto;margin-left:-18%;object-fit:initial}
.product-flagship{grid-template-columns:minmax(230px,.7fr) minmax(0,1.6fr);align-items:start}
.product-flagship .product-copy{padding-top:44px}
.product-intro h1{font-size:clamp(30px,3vw,44px);max-width:21ch}
.product-intro{margin-bottom:24px}
.product-home{padding-top:106px}
@media(max-width:800px){.product-flagship .product-copy{padding-top:0}.product-screen{aspect-ratio:1.5}.product-screen img{width:118%;margin-left:-18%}.product-home{padding-top:100px}}
