/* ============ Line menu (replaces the pill menu) ============ */
.navline { position: absolute; left: 50%; top: 25px; transform: translateX(-50%); display: flex; align-items: center; gap: 4px; height: 48px; padding: 0 6px;
  border-radius: 16px; background: rgb(var(--surface-rgb) / .8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgb(var(--fg-rgb) / .06); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.navline__link { position: relative; height: 36px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 11px; font-size: 16px; font-weight: 400;
  letter-spacing: -0.03em; color: rgb(var(--fg-rgb) / .65); white-space: nowrap; transition: color .3s var(--ease), background-color .3s var(--ease); }
.navline__link:hover { color: var(--fg); background: rgb(var(--fg-rgb) / .06); }
.navline__link.is-current { color: var(--fg); }
.navline__link.is-current::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; border-radius: 2px; background: var(--red); }
body.is-loading .navline { opacity: 0; transform: translate(-50%, -10px); }
.nav__right { display: flex; align-items: center; gap: 10px; }
.theme-toggle { position: relative; width: 48px; height: 48px; border-radius: 16px; display: grid; place-items: center; color: var(--fg);
  background: rgb(var(--surface-rgb) / .8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px rgb(var(--fg-rgb) / .06);
  transition: opacity 1s var(--ease), transform 1s var(--ease), background-color .3s var(--ease); }
.theme-toggle:hover { background: rgb(var(--fg-rgb) / .1); }
.theme-toggle svg { position: absolute; transition: opacity .4s var(--ease), transform .6s var(--ease); }
.theme-toggle__sun { opacity: 0; transform: rotate(-90deg) scale(.6); }
[data-theme="light"] .theme-toggle__sun { opacity: 1; transform: none; }
[data-theme="light"] .theme-toggle__moon { opacity: 0; transform: rotate(90deg) scale(.6); }
body.is-loading .theme-toggle { opacity: 0; transform: translateY(-10px); }
/* over the always-light services band, keep the nav chrome legible in both themes */
.nav.is-light .navline, .nav.is-light .theme-toggle { background: rgba(255,255,255,.75); box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
.nav.is-light .navline__link, .nav.is-light .theme-toggle { color: rgba(0,0,0,.6); }
.nav.is-light .navline__link.is-current, .nav.is-light .navline__link:hover { color: var(--ink); }

/* first section on a sub-page sits under the nav */
.page-first { padding-top: 220px !important; }
.page-gap { height: 120px; }
.page-process .b2b { padding-bottom: 200px; }

/* smooth theme swap */
body, .section-dark, .footer, .navline, .theme-toggle, .plan, .faq__item, .industry, .step, .formats__col, .reviews__trust, .reviews__card, .project-model { transition-property: background-color, color, opacity, transform; transition-duration: .5s; }

/* ============ Light theme specifics ============ */
[data-theme="light"] .wordmark--hero .wordmark__main { background: linear-gradient(180deg, rgba(24,42,61,0) 0%, rgba(24,42,61,.85) 100%);
  -webkit-background-clip: text; background-clip: text; mix-blend-mode: normal; }
[data-theme="light"] .wordmark--hero .wordmark__blend { display: none; }
[data-theme="light"] .pricing__glow { opacity: .35; }
[data-theme="light"] .plan, [data-theme="light"] .project-model, [data-theme="light"] .industry, [data-theme="light"] .formats__col,
[data-theme="light"] .reviews__trust, [data-theme="light"] .reviews__card, [data-theme="light"] .faq__item, [data-theme="light"] .step { box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 10px 30px rgba(0,0,0,.05); }
[data-theme="light"] .reviews__card { background: var(--surface); }
[data-theme="light"] .plan__badge { background: var(--surface-2); color: rgb(var(--fg-rgb) / .8); }
[data-theme="light"] .perk__icon { background: var(--surface-3); color: var(--fg); }
[data-theme="light"] .edge-blur { display: none; }
[data-theme="light"] .services { background: var(--t-mist); }
[data-theme="light"] .scene { background: radial-gradient(120% 90% at 70% 10%, #e9e5df 0%, #d9d4cc 55%, #cfc9c0 100%); }
[data-theme="light"] .scene__grid { background-image: linear-gradient(rgba(0,0,0,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.08) 1px, transparent 1px); border-color: #c7c1b8; }

@media (max-width: 809px) {
  .navline { position: fixed; left: 20px; right: 20px; top: 80px; transform: none; justify-content: space-between; height: 44px; padding: 0 4px; border-radius: 14px; }
  body.is-loading .navline { transform: translateY(-10px); }
  .navline__link { padding: 0 10px; font-size: 15px; height: 34px; }
  .navline__link.is-current::after { left: 10px; right: 10px; }
  .theme-toggle { width: 45px; height: 45px; border-radius: 14px; }
  .page-first { padding-top: 180px !important; }
  .page-gap { height: 60px; }
}
