@charset "UTF-8";
/* SETU Home desktop baseline. Responsive rules are intentionally excluded. */

/* ===== Source baseline: main.css ===== */



* {
  box-sizing: border-box;
}

html {
  background: var(--setu-canvas);
  scroll-behavior: auto;
}

html, body {
  overflow-x: clip;
}

body {
  margin: 0;
  font-family: var(--font-ui);
  font-weight: var(--weight-regular);
  color: var(--setu-ink);
  background: var(--setu-canvas);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.nav-open, body.mega-open {
  overflow: hidden;
}

html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, textarea, select {
  font: inherit;
}

button {
  font-weight: var(--weight-regular);
}

h1, h2, h3, h4, p, figure {
  margin: 0;
}

h1, h2 {
  font-weight: var(--title-weight);
  line-height: 1.04;
  letter-spacing: -0.035em;
}

h3 {
  font-weight: var(--weight-medium);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

h1 {
  font-size: var(--title-page);
}

h2 {
  font-size: var(--title-section);
}

h3 {
  font-size: var(--text-2xl);
}

p {
  color: var(--setu-copy);
  font-size: var(--text-base);
}

::selection {
  background: var(--setu-blue);
  color: #fff;
}

.skip-link {
  position: fixed;
  z-index: 10000;
  top: 1rem;
  left: 1rem;
  transform: translateY(-160%);
  background: #fff;
  padding: 0.8rem 1rem;
  border-radius: 0.5rem;
}

.skip-link:focus {
  transform: none;
}

.container {
  width: min(var(--content), 100% - 2 * var(--page-gutter));
  margin-inline: auto;
}

.container-wide {
  width: min(var(--content-wide), 100% - 2 * var(--page-gutter));
  margin-inline: auto;
}

.section {
  padding-block: var(--space-24);
}

.section-tight {
  padding-block: var(--space-16);
}

.section-dark {
  background: var(--setu-dark);
  color: #fff;
}

.section-dark p {
  color: #b8c5d4;
}

.section-kicker, .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--setu-copy);
  font-size: var(--text-xs);
  font-weight: var(--weight-regular);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.section-kicker::before, .eyebrow::before {
  content: "";
  width: 1.05rem;
  height: 1px;
  background: currentColor;
}

.section-kicker.light {
  color: rgba(255, 255, 255, 0.78);
}

.section-title {
  width: 100%;
  max-width: none;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
}

.section-lede {
  max-width: 50ch;
  margin-top: var(--space-5);
  font-size: var(--text-lg);
}

.button, .inline-action, .text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  border: 0;
  cursor: pointer;
  font-weight: var(--weight-regular);
  transition: transform var(--duration-fast), background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast), opacity var(--duration-fast);
}

.button {
  min-height: 3rem;
  padding: 0.72rem 1.15rem;
  border-radius: var(--radius-pill);
  background: var(--setu-ink);
  color: #fff;
  white-space: nowrap;
}

.button:hover {
  transform: translateY(-2px);
}

.button-dark {
  background: var(--setu-ink);
}

.button-dark:hover {
  background: #0e1318;
}

.button-blue {
  background: var(--setu-blue);
  color: #fff;
}

.button-blue:hover {
  background: var(--setu-blue-deep);
}

.button-light {
  background: #fff;
  color: var(--setu-ink);
}

.button-ghost {
  background: transparent;
  color: inherit;
  border: 1px solid var(--setu-line);
}

.inline-action, .text-link {
  justify-content: flex-start;
  min-height: auto;
  padding: 0.25rem 0;
}

.inline-action:hover, .text-link:hover {
  color: var(--setu-blue);
  transform: translateX(3px);
}

.inline-action.light {
  color: #fff;
}

.button svg, .inline-action svg, .text-link svg {
  width: 1rem;
  height: 1rem;
  display: block;
  flex: none;
}

.icon {
  width: 1.15rem;
  height: 1.15rem;
  display: grid;
  place-items: center;
}

.icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Header and full-width mega navigation */
.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  height: var(--header-height);
  border-bottom: 1px solid rgba(31, 36, 41, 0.08);
  background: rgba(245, 248, 252, 0.92);
  backdrop-filter: blur(18px);
}

.header-inner {
  height: 100%;
  display: grid;
  grid-template-columns: 9rem 1fr auto;
  align-items: center;
  gap: 2rem;
}

.brand {
  display: inline-flex;
  align-items: center;
}

.brand img {
  width: 6.25rem;
  height: auto;
}

.desktop-nav {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1.05rem, 2vw, 2.25rem);
  font-size: var(--text-sm);
}

.desktop-nav > a, .nav-trigger {
  position: relative;
  height: 100%;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  border: 0;
  background: none;
  color: #36414d;
  font-weight: 400;
  cursor: pointer;
  padding: 0;
}

.nav-trigger svg {
  width: 0.9rem;
  height: 0.9rem;
  transition: transform var(--duration-fast);
}

.desktop-nav > a::after, .nav-trigger::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 2px;
  background: var(--setu-blue);
  transition: right var(--duration) var(--ease-out);
}

.desktop-nav > a:hover::after, .desktop-nav > a[aria-current=page]::after, .nav-trigger:hover::after, .nav-trigger[aria-expanded=true]::after {
  right: 0;
}

.nav-trigger[aria-expanded=true] svg {
  transform: rotate(180deg);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.header-activate {
  padding: 0.6rem;
  font-size: var(--text-sm);
}

.header-shop {
  min-height: 2.75rem;
}

.menu-button {
  position: relative;
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--setu-line);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

.menu-button > svg {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
}


.menu-button {
  display: none;
}

.mega-layer {
  position: fixed;
  z-index: 995;
  top: var(--header-height);
  left: 0;
  right: 0;
  pointer-events: none;
}

.mega-panel {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  padding: 2.1rem 0 2.35rem;
  border-bottom: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.985);
  box-shadow: 0 30px 65px rgba(16, 24, 32, 0.13);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-14px);
  transition: opacity var(--duration), transform var(--duration) var(--ease-out), visibility var(--duration);
  pointer-events: none;
}

.mega-panel.open {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

.mega-backdrop {
  position: fixed;
  z-index: 990;
  inset: var(--header-height) 0 0;
  background: rgba(16, 24, 32, 0.32);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--duration), visibility var(--duration);
}

.mega-backdrop.open {
  opacity: 1;
  visibility: visible;
}

.mega-products-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.95fr 1.2fr 0.82fr;
  gap: clamp(1.5rem, 3vw, 3.5rem);
  align-items: stretch;
}

.mega-profiles-grid {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr 1.35fr;
  gap: clamp(1.5rem, 3vw, 3.5rem);
  align-items: stretch;
}

.mega-kicker {
  color: var(--setu-blue);
  font-size: var(--text-xs);
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.mega-lead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.mega-lead h2 {
  width: 100%;
  max-width: none;
  margin-top: 0.7rem;
  font-size: clamp(2rem, 2.6vw, 3rem);
  font-weight: var(--title-weight);
}

.mega-lead p {
  max-width: 38ch;
  margin-top: 1rem;
}

.mega-lead .inline-action, .mega-lead .button {
  margin-top: 1.4rem;
}

.mega-category-list, .mega-profile-list {
  display: grid;
  align-content: center;
}

.mega-category, .mega-profile {
  display: grid;
  align-items: center;
  border-bottom: 1px solid var(--setu-line);
  transition: color var(--duration-fast), padding var(--duration-fast);
}

.mega-category {
  grid-template-columns: 2rem 1fr;
  padding: 0.72rem 0;
}

.mega-category span, .mega-profile > span {
  color: var(--setu-muted);
  font-size: var(--text-xs);
}

.mega-category strong, .mega-profile strong {
  font-weight: 500;
}

.mega-category small {
  grid-column: 2;
  color: var(--setu-muted);
}

.mega-category:hover, .mega-category.active, .mega-profile:hover, .mega-profile.active {
  color: var(--setu-blue);
  padding-left: 0.35rem;
}

.mega-product-visual {
  position: relative;
  min-height: 15.5rem;
  overflow: hidden;
  background: var(--setu-blue-faint);
}

.mega-product-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity var(--duration), transform var(--duration-slow) var(--ease-out);
}

.mega-product-visual:hover img {
  transform: scale(1.025);
}

.mega-visual-copy {
  position: absolute;
  inset: auto 0 0;
  padding: 2.8rem 1.25rem 1.15rem;
  background: linear-gradient(transparent, rgba(16, 24, 32, 0.82));
  color: #fff;
}

.mega-visual-copy strong {
  display: block;
  font-weight: 500;
  font-size: var(--text-xl);
}

.mega-visual-copy small {
  display: block;
  max-width: 38ch;
  margin-top: 0.3rem;
  color: rgba(255, 255, 255, 0.78);
}

.mega-quick-paths {
  display: grid;
  align-content: start;
  gap: 0.1rem;
}

.mega-quick-paths > .mega-kicker {
  margin-bottom: 0.55rem;
}

.mega-quick-paths a {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 0.9rem 0;
  border-bottom: 1px solid var(--setu-line);
}

.mega-quick-paths strong {
  font-weight: 500;
}

.mega-quick-paths small {
  grid-column: 1;
  color: var(--setu-muted);
}

.mega-quick-paths svg {
  grid-column: 2;
  grid-row: 1/3;
  width: 1rem;
  align-self: center;
}

.mega-profile-lead {
  padding-right: 1rem;
}

.mega-free-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-top: 1rem;
  color: var(--setu-copy);
  font-size: var(--text-sm);
}

.mega-free-line span::before {
  content: "";
  display: inline-block;
  width: 0.36rem;
  height: 0.36rem;
  margin-right: 0.45rem;
  border-radius: 50%;
  background: var(--setu-blue);
  vertical-align: 0.1rem;
}

.mega-profile {
  grid-template-columns: 2rem 1fr;
  padding: 0.75rem 0;
}

.mega-profile small {
  display: block;
  color: var(--setu-muted);
}

.mega-profile-preview {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 1.4rem;
  align-items: center;
  padding: 1rem;
  background: var(--setu-blue-faint);
}

.mega-profile-screen {
  height: 15rem;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.mega-profile-screen img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mega-profile-preview strong {
  font-weight: 500;
  font-size: var(--text-xl);
}

.mega-profile-preview p {
  margin-top: 0.65rem;
}

.mega-profile-preview span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1rem;
  color: var(--setu-blue);
}

.mega-profile-preview span svg {
  width: 1rem;
}

.mobile-drawer {
  position: fixed;
  z-index: 1200;
  inset: 0 0 0 auto;
  width: min(26rem, 90vw);
  display: flex;
  flex-direction: column;
  padding: 1.2rem;
  background: #fff;
  transform: translateX(105%);
  transition: transform var(--duration) var(--ease-out);
  overflow-y: auto;
}

.mobile-drawer.open {
  transform: none;
}

.drawer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.drawer-nav {
  display: flex;
  flex-direction: column;
  margin-top: 2.5rem;
}

.drawer-nav > a, .drawer-group > button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-bottom: 1px solid var(--setu-line);
  background: none;
  padding: 1rem 0;
  text-align: left;
  font-size: 1.12rem;
  font-weight: 400;
}

.drawer-group > button svg {
  width: 1rem;
  transition: transform var(--duration-fast);
}

.drawer-group > button[aria-expanded=true] svg {
  transform: rotate(180deg);
}

.drawer-subnav {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--duration) var(--ease-out);
}

.drawer-subnav::before {
  content: "";
  overflow: hidden;
}

.drawer-group.open .drawer-subnav {
  grid-template-rows: 1fr;
  padding: 0.45rem 0 0.8rem 1rem;
}

.drawer-group.open .drawer-subnav::before {
  display: none;
}

.drawer-subnav a {
  display: block;
  padding: 0.42rem 0;
  color: var(--setu-copy);
}

.drawer-free {
  margin-top: 1.5rem;
  padding: 1rem;
  background: var(--setu-blue-faint);
}

.drawer-free strong, .drawer-free span {
  display: block;
  font-weight: 400;
}

.drawer-free span {
  margin-top: 0.3rem;
  color: var(--setu-copy);
  font-size: var(--text-sm);
}

.drawer-actions {
  display: grid;
  gap: 0.7rem;
  margin-top: auto;
  padding-top: 1.5rem;
}

.drawer-backdrop {
  position: fixed;
  z-index: 1100;
  inset: 0;
  background: rgba(16, 24, 32, 0.44);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--duration), visibility var(--duration);
}

.drawer-backdrop.open {
  opacity: 1;
  visibility: visible;
}

.page-main {
  padding-top: var(--header-height);
}

.page-curtain {
  position: fixed;
  z-index: 9998;
  inset: 0;
  background: var(--setu-blue);
  transform: translateY(100%);
  pointer-events: none;
}

.page-curtain.is-covering {
  animation: curtain-cover 0.52s var(--ease-out) forwards;
}

.page-curtain.is-revealing {
  animation: curtain-reveal 0.62s var(--ease-out) forwards;
}

@keyframes curtain-cover {
  to {
    transform: translateY(0);
  }
}
@keyframes curtain-reveal {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
/* SETU-specific footer */
.footer {
  position: relative;
  overflow: hidden;
  background: var(--setu-ink);
  color: #fff;
}

.footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 17% 12%, rgba(58, 141, 255, 0.16), transparent 25%), radial-gradient(circle at 78% 32%, rgba(58, 141, 255, 0.08), transparent 26%);
}

.footer > * {
  position: relative;
  z-index: 1;
}

.footer-signal {
  display: grid;
  grid-template-columns: 8rem 1fr auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  padding-block: 4rem;
}

.footer-signal-mark {
  width: 7rem;
  height: 7rem;
  display: grid;
  place-items: center;
  position: relative;
  background: transparent;
}

.footer-signal-mark::before, .footer-signal-mark::after { display: none; }

.footer-signal-mark img {
  width: 3rem;
  filter: none;
}

@keyframes footer-signal-pulse {
  0%, 100% {
    transform: scale(0.96);
    opacity: 0.35;
  }
  50% {
    transform: scale(1.035);
    opacity: 0.72;
  }
}
.footer-signal-copy > span {
  color: #8bbcff;
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.footer-signal-copy h2 {
  width: 100%;
  max-width: none;
  margin-top: 0.6rem;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
}

.footer-signal-copy p {
  max-width: 48ch;
  margin-top: 0.7rem;
  color: #b9c4d0;
}

.footer-signal-actions {
  display: grid;
  justify-items: start;
  gap: 0.7rem;
}

.footer-free-rail {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(90deg, rgba(58, 141, 255, 0.12), rgba(58, 141, 255, 0.02) 48%, rgba(58, 141, 255, 0.08)), #17212b;
}

.footer-free-rail .container-wide {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.footer-free-rail span {
  position: relative;
  padding: 1rem 0.75rem;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  color: #c7d3df;
  text-align: center;
  font-size: var(--text-sm);
  transition: color var(--duration-fast), background var(--duration-fast);
}

.footer-free-rail span::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 0;
  height: 2px;
  background: var(--setu-blue);
  transform: scaleX(0);
  transition: transform var(--duration) var(--ease-out);
}

.footer-free-rail span:hover {
  color: #fff;
  background: rgba(58, 141, 255, 0.08);
}

.footer-free-rail span:hover::after {
  transform: scaleX(1);
}

.footer-free-rail span:last-child {
  border-right: 0;
}

.footer-core {
  display: grid;
  grid-template-columns: 1.35fr repeat(4, 1fr);
  gap: 2.5rem;
  padding-block: 4rem;
  background: radial-gradient(circle at 72% 60%, rgba(58, 141, 255, 0.05), transparent 34%);
}

.footer-brand img {
  width: 7rem;
  filter: none;
}

.footer-brand p {
  max-width: 30ch;
  margin-top: 1rem;
  color: #b9c4d0;
}

.footer-brand > a {
  display: inline-block;
  margin-top: 1.2rem;
  color: #8bbcff;
}

.footer-nav-block h3 {
  margin-bottom: 1rem;
  color: #fff;
  font-size: var(--text-base);
  font-weight: 500;
  letter-spacing: 0;
}

.footer-nav-block a {
  position: relative;
  display: block;
  width: fit-content;
  padding: 0.28rem 0;
  color: #c8d1db;
  font-size: var(--text-sm);
  transition: color var(--duration-fast), transform var(--duration-fast);
}

.footer-nav-block a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.14rem;
  width: 0;
  height: 1px;
  background: var(--setu-blue);
  transition: width var(--duration) var(--ease-out);
}

.footer-nav-block a:hover {
  color: #fff;
  transform: translateX(3px);
}

.footer-nav-block a:hover::after {
  width: 100%;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding-block: 1.5rem;
  border-top: 1px solid transparent;
  border-image: linear-gradient(90deg, transparent, rgba(58, 141, 255, 0.34), rgba(255, 255, 255, 0.1), transparent) 1;
  color: #9eabb8;
  font-size: var(--text-sm);
}

.footer-bottom > div {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.footer-bottom a:hover {
  color: #fff;
}

/* Compatibility and consistent supporting sections */
.nav-trigger.current::after {
  right: 0;
}

.drawer-subnav {
  display: block;
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--duration) var(--ease-out), padding var(--duration);
}

.drawer-group.open .drawer-subnav {
  max-height: 22rem;
  padding: 0.45rem 0 0.8rem 1rem;
}

.section > .shelf-track {
  width: min(var(--content-wide), 100% - 2 * var(--page-gutter));
  margin: 2.5rem auto 0;
  overflow-x: auto;
  padding-bottom: 0.5rem;
  scroll-snap-type: x proximity;
}

.section > .shelf-track .product-tile {
  scroll-snap-align: start;
}

.value-section {
  background: var(--setu-blue-faint);
  color: var(--setu-ink);
  border-top: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
}

.value-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem 5rem;
  align-items: center;
}

.value-grid h2 {
  width: 100%;
  max-width: none;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
}

.value-grid p {
  max-width: 43ch;
}

.value-section .button-light {
  background: var(--setu-blue);
  color: #fff;
}

.profile-bridge {
  background: #fff;
}

.profile-bridge .profile-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.6rem;
}

.profile-selector .button-ghost {
  background: var(--setu-blue-faint);
  border-color: transparent;
  color: var(--setu-ink);
}

.profile-selector .button-ghost:hover {
  background: var(--setu-blue-soft);
}




/* Homepage hero */
.home-hero {
  height: var(--viewport-section);
  min-height: 39rem;
  overflow: hidden;
  background: var(--setu-canvas);
}

.hero-grid {
  height: 100%;
  display: grid;
  grid-template-columns: 44% 56%;
}

.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.25rem, 4.6vh, 3.75rem) clamp(2rem, 4vw, 4.6rem) clamp(2.25rem, 4.6vh, 3.75rem) 0;
}

.hero-copy h1 {
  width: 100%;
  max-width: none;
  margin-top: var(--public-eyebrow-gap);
  font-size: var(--title-hero);
  font-weight: var(--title-weight);
  line-height: 0.99;
}

.hero-copy > p {
  max-width: none;
  margin-top: var(--public-title-body-gap);
  font-size: var(--text-lg);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.35rem;
  margin-top: var(--public-body-action-gap);
}

.hero-free-proof {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  margin-top: 1.55rem;
  color: var(--setu-copy);
  font-size: var(--text-sm);
}

.hero-free-proof span {
  display: inline-flex;
  align-items: center;
  color: var(--setu-copy);
}

.hero-free-proof span::before {
  content: "";
  width: 0.36rem;
  height: 0.36rem;
  margin-right: 0.45rem;
  border-radius: 50%;
  background: var(--setu-blue);
}

.hero-media {
  position: relative;
  height: 100%;
  overflow: hidden;
  background: var(--setu-blue-soft);
}

.hero-media::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: 6rem;
  background: linear-gradient(90deg, var(--setu-canvas), transparent);
  pointer-events: none;
}

.hero-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.82) contrast(0.98);
}

.hero-media-note {
  position: absolute;
  z-index: 3;
  right: 1.5rem;
  bottom: 1.5rem;
  max-width: 17rem;
  padding: 0.9rem 1rem;
  background: rgba(16, 24, 32, 0.9);
  color: #fff;
}

.hero-media-note span, .hero-media-note strong {
  display: block;
  font-weight: var(--weight-regular);
}

.hero-media-note span {
  color: #a9caff;
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hero-media-note strong {
  margin-top: 0.2rem;
  font-size: var(--text-lg);
}

/* SETU Difference: one digital identity evolving through four states. */
.free-first {
  position: relative;
  min-height: 42rem;
  overflow: hidden;
  padding-block: clamp(4.5rem, 6vw, 6.5rem);
  background: radial-gradient(circle at 78% 16%, rgba(255, 255, 255, 0.2), transparent 24%), radial-gradient(circle at 56% 88%, rgba(21, 88, 180, 0.18), transparent 32%), var(--setu-blue);
  color: #fff;
}

.difference-shell {
  display: grid;
  grid-template-columns: 0.74fr 1.26fr;
  gap: clamp(3rem, 6vw, 7rem);
  align-items: center;
}

.difference-copy h2 {
  width: 100%;
  max-width: none;
  margin-top: 0.9rem;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
}

.difference-copy > p {
  max-width: 34ch;
  margin-top: 1.2rem;
  color: rgba(255, 255, 255, 0.84);
  font-size: var(--text-lg);
}

.difference-copy .inline-action {
  margin-top: 1.35rem;
}

.difference-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(15rem, 0.75fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: center;
  min-height: 31rem;
}

.difference-device {
  position: relative;
  min-height: 29rem;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.difference-device::before {
  content: "";
  position: absolute;
  inset: 8% 7%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.04) 58%, transparent 72%);
}

.difference-profile {
  position: relative;
  z-index: 2;
  width: min(27rem, 82%);
  height: 25rem;
  object-fit: contain;
  filter: drop-shadow(0 28px 42px rgba(6, 33, 75, 0.25));
  transition: opacity 0.45s var(--ease-standard), transform 0.7s var(--ease-out);
}

.difference-qr {
  position: absolute;
  z-index: 4;
  right: 9%;
  bottom: 12%;
  width: 7.25rem;
  aspect-ratio: 1;
  padding: 0.7rem;
  background: #fff;
  box-shadow: 0 18px 38px rgba(6, 33, 75, 0.25);
  opacity: 0;
  transform: translateY(1rem) scale(0.9);
  transition: opacity 0.45s, transform 0.65s var(--ease-out);
}

.difference-products {
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
}

.difference-products img {
  position: absolute;
  object-fit: cover;
  box-shadow: 0 18px 42px rgba(6, 33, 75, 0.28);
  opacity: 0;
  transition: opacity 0.45s, transform 0.7s var(--ease-out);
}

.difference-products img:nth-child(1) {
  left: 1%;
  top: 9%;
  width: 34%;
  height: 32%;
  transform: translate(-1rem, 1rem) rotate(-5deg);
}

.difference-products img:nth-child(2) {
  right: 0;
  top: 2%;
  width: 31%;
  height: 38%;
  transform: translate(1rem, 1rem) rotate(4deg);
}

.difference-products img:nth-child(3) {
  right: 8%;
  bottom: 4%;
  width: 32%;
  height: 34%;
  transform: translate(1rem, 1rem) rotate(3deg);
}

.difference-device[data-state=qr] .difference-qr {
  opacity: 1;
  transform: none;
}

.difference-device[data-state=physical] .difference-profile {
  transform: scale(0.9);
}

.difference-device[data-state=physical] .difference-products img {
  opacity: 1;
  transform: none;
}

.difference-details {
  position: relative;
  min-height: 23rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.difference-details > span {
  color: rgba(255, 255, 255, 0.7);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.difference-details h3 {
  width: 100%;
  max-width: none;
  margin-top: 0.65rem;
  font-size: var(--title-card);
  font-weight: var(--title-weight);
}

.difference-details p {
  max-width: 30ch;
  margin-top: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
}

.difference-controls {
  display: grid;
  gap: 0.25rem;
  margin-top: 1.65rem;
}

.difference-controls button {
  display: grid;
  grid-template-columns: 2rem 1fr auto;
  align-items: center;
  gap: 0.65rem;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  background: transparent;
  color: rgba(255, 255, 255, 0.68);
  padding: 0.75rem 0;
  text-align: left;
  cursor: pointer;
  font-weight: var(--weight-regular);
  transition: color var(--duration-fast), padding var(--duration-fast);
}

.difference-controls button span {
  color: rgba(255, 255, 255, 0.48);
  font-size: var(--text-xs);
}

.difference-controls button i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: currentColor;
  opacity: 0;
}

.difference-controls button:hover, .difference-controls button.active {
  color: #fff;
  padding-left: 0.3rem;
}

.difference-controls button.active i {
  opacity: 1;
}

/* ScrollTrigger-driven full-screen scenes: no wheel interception. */
.gesture-stage {
  position: relative;
  height: var(--viewport-section);
  min-height: 39rem;
  display: grid;
  overflow: hidden;
  outline: none;
  background: #fff;
  isolation: isolate;
}


.gesture-copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.2rem, 5vw, 5.2rem);
}


.step-index {
  color: var(--setu-blue);
  font-size: var(--text-sm);
}


.gesture-copy h2 {
  width: 100%;
  max-width: none;
  margin-top: 0.9rem;
  font-size: var(--title-scene);
  font-weight: var(--title-weight);
}

.gesture-copy > p {
  max-width: 34ch;
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.gesture-copy .inline-action {
  align-self: flex-start;
  margin-top: 1.25rem;
}

.gesture-media {
  position: relative;
  overflow: hidden;
  background: #e8eef6;
}

.gesture-media > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity 0.45s var(--ease-standard), transform 0.75s var(--ease-out);
}

.gesture-media > img.active {
  opacity: 1;
  transform: scale(1);
}


.gesture-hint {
  position: absolute;
  z-index: 4;
  right: 1rem;
  bottom: 0.9rem;
  padding: 0.48rem 0.62rem;
  background: rgba(16, 24, 32, 0.78);
  color: #fff;
  font-size: var(--text-xs);
}

.step-progress {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.5rem;
}

.step-progress span {
  width: 2.1rem;
  height: 2px;
  background: var(--setu-line);
  transition: background var(--duration), width var(--duration);
}

.step-progress span.active {
  width: 3.2rem;
  background: var(--setu-blue);
}

/* Scroll-driven curated product shelf. */
.product-shelf {
  position: relative;
  height: var(--viewport-section);
  min-height: 39rem;
  overflow: hidden;
  background: var(--setu-canvas);
}

.product-shelf-stage {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: clamp(2rem, 4vh, 3.4rem);
  overflow: hidden;
}

.shelf-header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: end;
}

.shelf-header h2 {
  width: 100%;
  max-width: none;
  margin-top: 0.55rem;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
}

.shelf-controls {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.round-control {
  width: 2.8rem;
  height: 2.8rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--setu-line);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  font-weight: var(--weight-regular);
}

.round-control:hover {
  border-color: var(--setu-blue);
  color: var(--setu-blue);
}

.carousel-viewport {
  margin-top: clamp(1.4rem, 3vh, 2.25rem);
  overflow: hidden;
  touch-action: pan-y;
}

.shelf-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  will-change: transform;
}

.product-tile {
  flex: 0 0 clamp(17rem, 24vw, 23rem);
  min-width: 0;
}

.product-tile figure {
  aspect-ratio: 4/4.65;
  overflow: hidden;
  background: #e7edf5;
}

.product-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease-out), filter 0.4s;
}

.product-tile:hover img {
  transform: scale(1.025);
  filter: saturate(0.9);
}

.product-tile-meta {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: start;
  padding-top: 0.75rem;
}

.product-tile h3 {
  font-size: var(--text-xl);
  font-weight: var(--weight-medium);
  letter-spacing: -0.025em;
}

.product-tile small {
  color: var(--setu-muted);
}

.tile-action {
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--setu-line);
  border-radius: 50%;
  transition: background var(--duration-fast), color var(--duration-fast);
}

.product-tile:hover .tile-action {
  background: var(--setu-blue);
  color: #fff;
  border-color: var(--setu-blue);
}

.shelf-status {
  display: grid;
  grid-template-columns: auto minmax(8rem, 18rem) auto;
  gap: 1rem;
  align-items: center;
  margin-top: 1.4rem;
  font-size: var(--text-sm);
  color: var(--setu-copy);
}

.shelf-line {
  height: 2px;
  background: var(--setu-line);
  overflow: hidden;
}

.shelf-line span {
  display: block;
  width: 20%;
  height: 100%;
  background: var(--setu-blue);
}

/* Five balanced masonry moments */
.moments {
  background: var(--setu-dark);
  color: #fff;
}

.moments-header {
  display: grid;
  grid-template-columns: 1fr 0.75fr;
  gap: 4rem;
  align-items: end;
}

.moments-header h2 {
  width: 100%;
  max-width: none;
  margin-top: 0.65rem;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
}

.moments-header p {
  max-width: 34ch;
  color: #b9c4d0;
}

.moments-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 19rem;
  gap: 0.85rem;
  margin-top: 2.4rem;
}

.moment {
  position: relative;
  grid-column: span 2;
  overflow: hidden;
  background: #18232d;
}

.moment:nth-child(4), .moment:nth-child(5) {
  grid-column: span 3;
}

.moment img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.78) brightness(0.86);
  transition: transform 0.8s var(--ease-out), filter 0.45s;
}

.moment:hover img {
  transform: scale(1.025);
  filter: saturate(0.92) brightness(0.82);
}

.moment::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, rgba(9, 15, 21, 0.9));
}

.moment-caption {
  position: absolute;
  z-index: 2;
  left: 1.2rem;
  right: 1.2rem;
  bottom: 1.1rem;
}

.moment-caption h3 {
  font-size: var(--text-xl);
  font-weight: var(--weight-medium);
}

.moment-caption p {
  max-width: 34ch;
  margin-top: 0.2rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--text-sm);
}

/* Scroll-led profile directions. */
.profile-system {
  height: var(--viewport-section);
  min-height: 39rem;
  overflow: hidden;
  background: #fff;
}

.profile-system-shell {
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: clamp(0.9rem, 2vh, 1.55rem);
  padding-block: clamp(1.2rem, 2.4vh, 2rem);
}

.profile-system-head {
  display: grid;
  grid-template-columns: 1fr 0.7fr;
  gap: 3rem;
  align-items: end;
}

.profile-system-head h2 {
  width: 100%;
  max-width: none;
  margin-top: 0.45rem;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
}

.profile-system-head p {
  max-width: 37ch;
  margin-top: 0.35rem;
}

.profile-scroll-hint {
  color: var(--setu-blue);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.profile-system-stage {
  min-height: 0;
  display: grid;
  grid-template-columns: 0.62fr 1.2fr 0.84fr;
  gap: clamp(1.2rem, 2.4vw, 2.5rem);
  align-items: stretch;
}

.profile-options {
  display: grid;
  align-content: center;
}

.profile-options button {
  display: grid;
  grid-template-columns: 2rem 1fr;
  padding: 0.72rem 0;
  border: 0;
  border-bottom: 1px solid var(--setu-line);
  background: none;
  text-align: left;
  cursor: pointer;
  color: var(--setu-copy);
  transition: color var(--duration-fast), padding var(--duration-fast);
}

.profile-options button span {
  grid-row: 1/3;
  color: var(--setu-muted);
  font-size: var(--text-xs);
}

.profile-options button strong {
  font-weight: var(--weight-regular);
  font-size: var(--text-lg);
}

.profile-options button small {
  color: var(--setu-muted);
}

.profile-options button:hover, .profile-options button.active {
  color: var(--setu-blue);
  padding-left: 0.35rem;
}

.profile-screen-wrap {
  position: relative;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, var(--setu-blue-faint), #e6f0ff);
}

.profile-screen-wrap::before {
  content: "";
  position: absolute;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: rgba(58, 141, 255, 0.12);
}

.profile-screen-wrap > img {
  position: relative;
  z-index: 1;
  width: 88%;
  height: 86%;
  object-fit: contain;
  filter: drop-shadow(0 24px 34px rgba(28, 43, 59, 0.17));
  transition: opacity 0.35s, transform 0.55s var(--ease-out);
}

.profile-free-badge {
  position: absolute;
  z-index: 2;
  top: 0.9rem;
  left: 0.9rem;
  padding: 0.5rem 0.65rem;
  background: var(--setu-blue);
  color: #fff;
  font-size: var(--text-xs);
}

.profile-system-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.profile-system-copy > span {
  color: var(--setu-blue);
  font-size: var(--text-sm);
}

.profile-system-copy h3 {
  width: 100%;
  max-width: none;
  margin-top: 0.55rem;
  font-size: var(--title-card);
  font-weight: var(--title-weight);
}

.profile-system-copy > p {
  max-width: 31ch;
  margin-top: 0.7rem;
}

.profile-product-recommendation {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 0.75rem;
  align-items: center;
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--setu-line);
}

.profile-product-recommendation img {
  width: 4.5rem;
  height: 3.5rem;
  object-fit: cover;
}

.profile-product-recommendation small, .profile-product-recommendation strong {
  display: block;
  font-weight: var(--weight-regular);
}

.profile-product-recommendation small {
  color: var(--setu-muted);
}

.profile-system-copy .inline-action {
  align-self: flex-start;
  margin-top: 0.9rem;
}

.profile-system-progress {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  color: var(--setu-copy);
  font-size: var(--text-sm);
}

.profile-system-progress > div {
  display: flex;
  gap: 0.45rem;
}

.profile-system-progress i {
  width: 2.5rem;
  height: 2px;
  background: var(--setu-line);
}

.profile-system-progress i.active {
  background: var(--setu-blue);
}

/* Optional growth paths */
.optional-growth {
  padding-block: clamp(4rem, 6vw, 6rem);
  border-top: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
  background: linear-gradient(135deg, #f5f8fc 0%, #eef5ff 100%);
}

.optional-growth-grid {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
}

.optional-growth-copy h2 {
  width: 100%;
  max-width: none;
  margin-top: 0.65rem;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
}

.optional-growth-copy p {
  max-width: 34ch;
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.upgrade-list {
  border-top: 1px solid var(--setu-line);
}

.upgrade-row {
  position: relative;
  display: grid;
  grid-template-columns: 3.25rem 1fr auto;
  gap: 1.1rem;
  align-items: center;
  min-height: 8.2rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--setu-line);
  overflow: hidden;
  transition: padding var(--duration), color var(--duration);
}

.upgrade-row::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(58, 141, 255, 0.12), transparent 72%);
  opacity: 0;
  transform: translateX(-8%);
  transition: opacity var(--duration), transform var(--duration) var(--ease-out);
}

.upgrade-row:hover::before, .upgrade-row:focus-visible::before {
  opacity: 1;
  transform: none;
}

.upgrade-row > * {
  position: relative;
  z-index: 1;
}

.upgrade-icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--setu-line);
  border-radius: 50%;
  background: #fff;
  color: var(--setu-blue);
}

.upgrade-icon svg {
  width: 1.35rem;
  height: 1.35rem;
}

.upgrade-row h3 {
  font-size: var(--text-xl);
  font-weight: var(--weight-medium);
}

.upgrade-row p {
  max-width: 44ch;
  margin-top: 0.25rem;
}

.upgrade-arrow {
  font-size: 1.3rem;
  transition: transform var(--duration-fast);
}

.upgrade-row:hover .upgrade-arrow {
  transform: translate(3px, -3px);
}

.upgrade-mini {
  position: absolute;
  right: 4rem;
  bottom: 0.7rem;
  display: flex;
  align-items: end;
  gap: 0.3rem;
  opacity: 0.16;
  pointer-events: none;
}

.analytics-mini i {
  width: 0.5rem;
  background: var(--setu-blue);
}

.analytics-mini i:nth-child(1) {
  height: 1rem;
}

.analytics-mini i:nth-child(2) {
  height: 2rem;
}

.analytics-mini i:nth-child(3) {
  height: 1.45rem;
}

.analytics-mini i:nth-child(4) {
  height: 2.7rem;
}

.slots-mini i {
  width: 2.1rem;
  height: 2.7rem;
  border: 1px solid var(--setu-blue);
  background: rgba(255, 255, 255, 0.7);
}

.slots-mini i:nth-child(2) {
  transform: translate(-1.5rem, -0.5rem);
}

.slots-mini i:nth-child(3) {
  transform: translate(-3rem, -1rem);
}

/* Full-screen video finale */
.final-video {
  position: relative;
  height: var(--viewport-section);
  min-height: 39rem;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: var(--setu-dark);
  color: #fff;
}

.final-video-poster, .final-video-media, .final-video-overlay {
  position: absolute;
  inset: 0;
}

.final-video-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.72);
}

.final-video-media {
  overflow: hidden;
  opacity: 0;
  transition: opacity 1s;
}

.final-video.video-ready .final-video-media {
  opacity: 1;
}

.final-video-media iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh;
  min-width: 100%;
  height: 56.25vw;
  min-height: 100%;
  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
}

.final-video-overlay {
  background: linear-gradient(180deg, rgba(8, 14, 20, 0.48), rgba(8, 14, 20, 0.72)), radial-gradient(circle at center, transparent 0 30%, rgba(8, 14, 20, 0.24) 76%);
}

.final-video-content {
  position: relative;
  z-index: 2;
  width: min(54rem, 100% - 2 * var(--page-gutter));
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.final-video-content h2 {
  width: 100%;
  max-width: none;
  margin-top: 0.7rem;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
}

.final-video-content p {
  max-width: 42rem;
  margin-top: 1rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--text-lg);
}

.final-video-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 1.7rem;
}

.video-sound {
  position: absolute;
  z-index: 3;
  top: 1.5rem;
  right: max(var(--page-gutter), 1.5rem);
  width: 2.8rem;
  height: 2.8rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  background: rgba(12, 20, 28, 0.56);
  color: #fff;
  backdrop-filter: blur(10px);
  cursor: pointer;
}

.video-sound svg {
  grid-area: 1/1;
  width: 1.2rem;
  height: 1.2rem;
}

.video-sound .sound-on {
  opacity: 0;
}

.video-sound[aria-pressed=true] .sound-off {
  opacity: 0;
}

.video-sound[aria-pressed=true] .sound-on {
  opacity: 1;
}

/* Inner pages */
.inner-hero {
  min-height: 70svh;
  display: grid;
  align-items: end;
  padding-block: clamp(4rem, 8vw, 8rem);
  position: relative;
  overflow: hidden;
}

.inner-hero-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 5rem;
  align-items: end;
}

.inner-hero h1 {
  width: 100%;
  max-width: none;
  font-size: var(--title-page);
  font-weight: var(--title-weight);
}

.inner-hero p {
  max-width: 42ch;
  margin-top: 1.3rem;
  font-size: var(--text-lg);
}

.inner-hero-media {
  height: 52svh;
  min-height: 27rem;
  overflow: hidden;
}

.inner-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blue-line {
  width: 5rem;
  height: 0.25rem;
  margin-top: 2rem;
  background: var(--setu-blue);
}

.catalogue-layout {
  display: grid;
  grid-template-columns: 14rem 1fr;
  gap: 3rem;
}

.filters {
  position: sticky;
  top: calc(var(--header-height) + 2rem);
  align-self: start;
}

.filter-group {
  padding: 1rem 0;
  border-top: 1px solid var(--setu-line);
}

.filter-group button {
  display: block;
  border: 0;
  background: none;
  padding: 0.4rem 0;
  color: var(--setu-copy);
  cursor: pointer;
  font-weight: 400;
}

.filter-group button.active {
  color: var(--setu-blue);
}

.catalogue-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem 1.25rem;
}

.catalogue-grid .product-tile {
  min-width: 0;
}

.catalogue-grid .product-tile figure {
  aspect-ratio: 4/5;
}

.feature-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
}

.feature-strip div {
  padding: 2rem;
  border-right: 1px solid var(--setu-line);
}

.feature-strip div:last-child {
  border-right: 0;
}

.feature-strip strong {
  font-weight: var(--weight-medium);
}

.feature-strip p {
  margin-top: 0.35rem;
}

.product-detail-hero {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  min-height: calc(100svh - var(--header-height));
  background: #fff;
}

.product-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--setu-line);
}

.product-gallery figure {
  min-height: 50vh;
  background: #e8eef5;
}

.product-gallery figure:first-child {
  grid-row: 1/3;
}

.product-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-buy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5rem);
}

.product-buy h1 {
  width: 100%;
  max-width: none;
  font-size: var(--title-page);
  font-weight: var(--title-weight);
}

.product-buy p {
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.buy-meta {
  display: grid;
  gap: 0.75rem;
  margin: 2rem 0;
}

.buy-row {
  display: flex;
  justify-content: space-between;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--setu-line);
}

.buy-row strong {
  font-weight: var(--weight-medium);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.field {
  display: grid;
  gap: 0.45rem;
}

.field.full {
  grid-column: 1/-1;
}

.field label {
  font-size: var(--text-sm);
  font-weight: 400;
}

.field input, .field textarea, .field select {
  width: 100%;
  border: 1px solid var(--setu-line);
  border-radius: var(--radius-sm);
  background: #fff;
  padding: 0.85rem 1rem;
  color: var(--setu-ink);
  font-weight: 400;
}

.field textarea {
  min-height: 9rem;
  resize: vertical;
}

.panel {
  border: 1px solid var(--setu-line);
  background: #fff;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.steps {
  counter-reset: step;
}

.step {
  counter-increment: step;
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 1.5rem;
  padding: 2rem 0;
  border-bottom: 1px solid var(--setu-line);
}

.step::before {
  content: counter(step, decimal-leading-zero);
  color: var(--setu-blue);
  font-size: var(--text-sm);
}

.step h3 {
  font-weight: var(--weight-medium);
}

.faq-list {
  max-width: 60rem;
}

.faq-item {
  border-bottom: 1px solid var(--setu-line);
}

.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  background: none;
  padding: 1.5rem 0;
  text-align: left;
  cursor: pointer;
  font-size: var(--text-xl);
  font-weight: 400;
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--duration);
}

.faq-answer > div {
  overflow: hidden;
}

.faq-answer p {
  padding: 0 0 1.5rem;
}

.faq-item.open .faq-answer {
  grid-template-rows: 1fr;
}

.story-grid, .resource-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.story-card, .resource-card {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  background: #fff;
}

.story-card img, .resource-card img {
  width: 100%;
  height: 100%;
  min-height: 20rem;
  object-fit: cover;
}

.story-card div, .resource-card div {
  padding: 2rem;
}

.story-card h3, .resource-card h3 {
  font-weight: var(--weight-medium);
}

.pricing-table {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  border-top: 1px solid var(--setu-line);
  border-left: 1px solid var(--setu-line);
}

.pricing-table > div {
  padding: 1.25rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
}

.pricing-table strong {
  font-weight: var(--weight-medium);
}

.customizer {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 3rem;
}

.customizer-preview {
  min-height: 42rem;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--setu-blue-soft), #fff);
}

.live-card {
  width: min(32rem, 78%);
  aspect-ratio: 1.6;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--setu-ink);
  color: #fff;
  padding: 2rem;
  box-shadow: var(--shadow-float);
  transform: rotate(-2deg);
  transition: background var(--duration), transform var(--duration);
}

.live-card:hover {
  transform: rotate(0);
}

.live-card-name {
  font-size: 2rem;
  font-weight: var(--weight-medium);
}

.live-card-role {
  opacity: 0.7;
  font-size: var(--text-sm);
}

.live-card-logo {
  width: 3rem;
  filter: brightness(0) invert(1);
}

.choice-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.choice {
  border: 1px solid var(--setu-line);
  border-radius: var(--radius-pill);
  background: #fff;
  padding: 0.65rem 0.9rem;
  cursor: pointer;
  font-weight: 400;
}

.choice.active {
  border-color: var(--setu-blue);
  box-shadow: 0 0 0 2px var(--setu-blue-soft);
}






/* =========================================================
   Locked SETU baseline polish: centralized titles + stable stages
   ========================================================= */
/* Large display typography stays refined in the approved rounded face. */
.hero-copy h1,
.gesture-copy h2,
.shelf-header h2,
.moments-header h2,
.profile-system-head h2,
.optional-growth-copy h2,
.difference-copy h2,
.inner-hero h1,
.product-buy h1,
.footer-signal-copy h2 {
  width: 100%;
  max-width: none;
  font-weight: var(--weight-medium);
}

.hero-copy h1 {
  line-height: 1.01;
}

.hero-copy > p {
  margin-top: var(--public-title-body-gap);
}

.hero-actions {
  margin-top: var(--public-body-action-gap);
  gap: 1.65rem;
}

.hero-free-proof {
  margin-top: 1.7rem;
}

/* SETU Difference: one integrated evolving identity, not a slide deck. */
.free-first {
  min-height: 40rem;
  padding-block: clamp(4rem, 5.5vw, 5.5rem);
  background: radial-gradient(circle at 72% 20%, rgba(255, 255, 255, 0.22), transparent 26%), radial-gradient(circle at 42% 110%, rgba(14, 68, 145, 0.24), transparent 42%), linear-gradient(135deg, #3a8dff 0%, #3185f5 55%, #2479ee 100%);
}

.difference-shell {
  grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.5rem, 5vw, 6rem);
}

.difference-stage {
  position: relative;
  display: block;
  min-height: 32rem;
}

.difference-device {
  min-height: 32rem;
  width: 72%;
  margin-left: 0;
  overflow: visible;
  background: radial-gradient(circle at 48% 48%, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.06) 55%, transparent 72%);
}

.difference-device::before {
  inset: 2%;
}

.difference-profile {
  width: min(30rem, 90%);
  height: 29rem;
}

.difference-details {
  position: absolute;
  right: 0;
  top: 50%;
  width: 36%;
  min-height: 0;
  transform: translateY(-50%);
  justify-content: center;
}

.difference-details h3 {
  font-weight: var(--weight-medium);
}

.difference-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.6rem;
}

.difference-controls button {
  display: inline-flex;
  grid-template-columns: none;
  gap: 0.4rem;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  padding: 0.58rem 0.78rem;
  white-space: nowrap;
}

.difference-controls button:hover,
.difference-controls button.active {
  padding-left: 0.78rem;
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 255, 255, 0.55);
}

.difference-controls button i {
  display: none;
}

/* Stable header-aware pinned stages. */
.gesture-stage,
.product-shelf,
.profile-system {
  height: var(--viewport-section);
  min-height: 40rem;
  overflow: hidden;
  isolation: isolate;
}

.gesture-stage,
.product-shelf {
  background: #fff;
}

.gesture-copy h2 {
  font-size: var(--title-scene);
  font-weight: var(--weight-medium);
}

.gesture-copy > p {
  max-width: 38ch;
}

/* Product shelf remains fully opaque while pinned so the next section cannot leak in. */
.product-shelf {
  position: relative;
  z-index: 2;
  background: var(--setu-canvas);
}

.product-shelf-stage {
  height: 100%;
  min-height: 0;
  padding-block: clamp(1.5rem, 3vh, 2.6rem);
  background: var(--setu-canvas);
}

.carousel-viewport {
  min-height: 0;
}

.shelf-track {
  will-change: transform;
}

/* One cohesive profile-to-product stage. */
.profile-system {
  position: relative;
  background: #f4f8ff;
}

.profile-system-shell {
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 1rem;
  padding-block: 1.4rem 1.1rem;
}

.profile-system-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.55fr);
  align-items: end;
  gap: 2rem;
}

.profile-system-head h2 {
  margin-top: 0.45rem;
  font-size: var(--title-section);
}

.profile-system-head > p {
  max-width: 38ch;
  justify-self: end;
}

.profile-experience {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.98), rgba(226, 238, 255, 0.88) 44%, rgba(210, 229, 255, 0.72) 70%, rgba(198, 221, 255, 0.65) 100%), var(--setu-blue-soft);
  box-shadow: inset 0 0 0 1px rgba(58, 141, 255, 0.12);
}

.profile-visual {
  position: absolute;
  inset: 0 22% 0 22%;
  display: grid;
  place-items: center;
}

.profile-visual > img[data-profile-image] {
  width: min(43rem, 94%);
  max-height: 88%;
  object-fit: contain;
  filter: drop-shadow(0 26px 54px rgba(37, 76, 124, 0.18));
}

.profile-free-badge {
  position: absolute;
  z-index: 3;
  top: 1.1rem;
  left: 1.1rem;
  padding: 0.55rem 0.75rem;
  background: var(--setu-blue);
  color: #fff;
  font-size: var(--text-xs);
}

.profile-options {
  position: absolute;
  z-index: 4;
  left: 1.25rem;
  top: 50%;
  width: 20%;
  transform: translateY(-50%);
  display: grid;
  gap: 0.25rem;
}

.profile-options button {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 0.1rem 0.55rem;
  border: 0;
  border-left: 2px solid transparent;
  background: rgba(255, 255, 255, 0.55);
  padding: 0.72rem 0.75rem;
  text-align: left;
  color: var(--setu-copy);
  cursor: pointer;
  transition: background 0.25s, border-color 0.25s, color 0.25s, transform 0.25s;
}

.profile-options button span {
  grid-row: 1/3;
  color: var(--setu-muted);
  font-size: var(--text-xs);
}

.profile-options button strong {
  font-weight: var(--weight-medium);
}

.profile-options button small {
  font-size: var(--text-xs);
}

.profile-options button.active,
.profile-options button:hover,
.profile-options button:focus-visible {
  background: rgba(255, 255, 255, 0.92);
  border-left-color: var(--setu-blue);
  color: var(--setu-ink);
  transform: translateX(0.25rem);
}

.profile-system-copy {
  position: absolute;
  z-index: 4;
  right: 1.5rem;
  top: 50%;
  width: 20%;
  transform: translateY(-50%);
}

.profile-system-copy > span {
  color: var(--setu-blue);
  font-size: var(--text-sm);
}

.profile-system-copy h3 {
  margin-top: 0.65rem;
  font-size: clamp(1.75rem, 2.35vw, 2.45rem);
  font-weight: var(--weight-medium);
}

.profile-system-copy > p {
  margin-top: 0.8rem;
}

.profile-system-copy .inline-action {
  margin-top: 1.25rem;
}

.profile-product-recommendation {
  position: absolute;
  z-index: 5;
  right: 23%;
  bottom: 1.1rem;
  display: grid;
  grid-template-columns: 4.6rem 1fr;
  gap: 0.7rem;
  align-items: center;
  padding: 0.65rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow-soft);
}

.profile-product-recommendation img {
  width: 4.6rem;
  height: 3.4rem;
  object-fit: cover;
}

.profile-product-recommendation small,
.profile-product-recommendation strong {
  display: block;
}

.profile-product-recommendation small {
  color: var(--setu-muted);
  font-size: var(--text-xs);
}

.profile-product-recommendation strong {
  font-weight: var(--weight-medium);
}

.profile-system-progress {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.profile-system-progress > div {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.45rem;
}

.profile-system-progress i {
  height: 2px;
  background: var(--setu-line);
}

.profile-system-progress i.active {
  background: var(--setu-blue);
}

.profile-system-progress small {
  color: var(--setu-muted);
}

/* Optional rows: hover fills the real row, with no clipped pseudo-panel. */
.upgrade-list {
  overflow: visible;
}

.upgrade-row {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 1.5rem 1rem;
  margin-inline: -1rem;
}

.upgrade-row::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(58, 141, 255, 0.11), rgba(58, 141, 255, 0.025));
  opacity: 0;
  transform: none;
  transition: opacity 240ms ease;
}

.upgrade-row:hover::before,
.upgrade-row:focus-visible::before {
  opacity: 1;
  transform: none;
}

.upgrade-row > * {
  position: relative;
  z-index: 1;
}

.upgrade-row:hover .upgrade-arrow,
.upgrade-row:focus-visible .upgrade-arrow {
  transform: translate(3px, -3px);
}

/* Cinematic finale is the intentional title-size exception. */
.final-video-content h2 {
  font-size: clamp(3.5rem, 4.4vw, 4rem);
  font-weight: var(--weight-medium);
  line-height: 1.04;
}

.final-video-content p {
  margin-top: 1.5rem;
}

.final-video-actions {
  gap: 1.75rem;
  margin-top: 2.25rem;
}



/* =========================================================
   SETU locked refinement: cohesive difference, stable rail,
   real profile identities, and production-only UI.
   ========================================================= */
/* Public UI never displays instructional/debug helper overlays. */
.gesture-hint,
.profile-system-progress,
.shelf-status small {
  display: none !important;
}

/* SETU Difference: one connected composition, not detached columns. */
.free-first {
  min-height: auto;
  padding-block: clamp(5rem, 7vw, 7.5rem);
  background: radial-gradient(circle at 72% 26%, rgba(255, 255, 255, 0.22), transparent 28%), radial-gradient(circle at 48% 104%, rgba(8, 49, 111, 0.28), transparent 43%), linear-gradient(135deg, #3a8dff 0%, #3185f5 48%, #2479ee 100%);
}

.difference-shell {
  display: grid;
  grid-template-columns: minmax(18rem, 0.62fr) minmax(0, 1.38fr);
  align-items: center;
  gap: clamp(3rem, 6vw, 7rem);
}

.difference-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.difference-copy h2 {
  margin-top: 1rem;
  font-size: var(--title-section);
  font-weight: var(--weight-medium);
  line-height: 1.06;
}

.difference-copy > p {
  max-width: 31rem;
  margin-top: 1.35rem;
  font-size: var(--text-lg);
  line-height: 1.55;
}

.difference-copy .inline-action {
  margin-top: 1.75rem;
}

.difference-composition {
  display: grid;
  grid-template-columns: minmax(11.5rem, 0.34fr) minmax(0, 1fr);
  align-items: stretch;
  min-height: 35rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 30px 90px rgba(8, 49, 111, 0.22);
  backdrop-filter: blur(8px);
}

.difference-controls {
  display: grid;
  align-content: center;
  gap: 0;
  margin: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.difference-controls button {
  position: relative;
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 0.15rem 0.65rem;
  align-items: center;
  width: 100%;
  min-height: 7.5rem;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  padding: 1.2rem 1.25rem;
  text-align: left;
  white-space: normal;
  transition: background var(--duration), color var(--duration), padding var(--duration);
}

.difference-controls button:last-child {
  border-bottom: 0;
}

.difference-controls button::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #fff;
  opacity: 0;
  transition: opacity var(--duration-fast);
}

.difference-controls button span {
  grid-row: 1/span 2;
  align-self: start;
  color: rgba(255, 255, 255, 0.45);
  font-size: var(--text-xs);
}

.difference-controls button strong,
.difference-controls button small {
  display: block;
  font-weight: var(--weight-regular);
}

.difference-controls button strong {
  font-size: 1.05rem;
}

.difference-controls button small {
  color: rgba(255, 255, 255, 0.52);
  line-height: 1.35;
}

.difference-controls button:hover,
.difference-controls button.active {
  padding-left: 1.45rem;
  border-color: rgba(255, 255, 255, 0.16);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.035));
  color: #fff;
}

.difference-controls button.active::before {
  opacity: 1;
}

.difference-controls button i {
  display: none;
}

.difference-device {
  position: relative;
  width: 100%;
  min-height: 35rem;
  display: grid;
  place-items: center;
  margin: 0;
  overflow: hidden;
  background: radial-gradient(circle at 48% 44%, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.07) 46%, transparent 68%);
}

.difference-device::before {
  display: none;
}

.difference-signal {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.difference-signal i {
  position: absolute;
  left: 50%;
  top: 48%;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.difference-signal i:nth-child(1) {
  width: 22rem;
}

.difference-signal i:nth-child(2) {
  width: 30rem;
  opacity: 0.65;
}

.difference-signal i:nth-child(3) {
  width: 38rem;
  opacity: 0.35;
}

.difference-profile {
  width: min(36rem, 72%);
  height: auto;
  max-height: 26rem;
  object-fit: contain;
  filter: drop-shadow(0 30px 50px rgba(6, 33, 75, 0.3));
}

.difference-qr {
  right: 8%;
  bottom: 15%;
  width: 7rem;
}

.difference-products img:nth-child(1) {
  left: 4%;
  top: 8%;
  width: 29%;
  height: 31%;
}

.difference-products img:nth-child(2) {
  right: 3%;
  top: 5%;
  width: 27%;
  height: 34%;
}

.difference-products img:nth-child(3) {
  right: 8%;
  bottom: 6%;
  width: 28%;
  height: 31%;
}

.difference-state-card {
  position: absolute;
  z-index: 6;
  right: 1.5rem;
  bottom: 1.5rem;
  width: min(22rem, 44%);
  padding: 1.25rem 1.35rem;
  background: rgba(16, 24, 32, 0.9);
  color: #fff;
  box-shadow: 0 18px 45px rgba(6, 33, 75, 0.26);
  backdrop-filter: blur(12px);
}

.difference-state-card > span {
  color: #a9caff;
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.difference-state-card h3 {
  margin-top: 0.45rem;
  font-size: clamp(1.55rem, 2vw, 2.05rem);
  font-weight: var(--weight-medium);
  line-height: 1.08;
}

.difference-state-card p {
  margin-top: 0.65rem;
  color: rgba(255, 255, 255, 0.72);
}

/* Pinned horizontal shelf: only the inner stage pins; document flow remains intact. */
.product-shelf {
  height: auto;
  min-height: 0;
  overflow: visible;
  background: var(--setu-canvas);
}

.product-shelf-stage {
  height: var(--viewport-section);
  min-height: 39rem;
  overflow: hidden;
  background: var(--setu-canvas);
}

.shelf-status {
  grid-template-columns: auto minmax(8rem, 1fr);
  gap: 1.25rem;
  align-items: center;
}

/* Moment intro gets a clear section-to-grid gap. */
.moments-section__header {
  margin-bottom: 48px;
}

/* Profile directions: normal document flow, real people, one coherent stage. */
.profile-system {
  height: auto;
  min-height: 0;
  overflow: hidden;
  padding-block: clamp(5rem, 7vw, 7rem);
  background: radial-gradient(circle at 78% 45%, rgba(58, 141, 255, 0.1), transparent 29%), linear-gradient(180deg, #fff 0%, #f5f8fc 100%);
}

.profile-system-shell {
  height: auto;
  display: block;
  padding-block: 0;
}

.profile-system-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.58fr);
  gap: 4rem;
  align-items: end;
  margin-bottom: clamp(2.75rem, 5vw, 4.5rem);
}

.profile-system-head h2 {
  margin-top: 0.65rem;
  font-size: var(--title-section);
  font-weight: var(--weight-medium);
  line-height: 1.06;
}

.profile-system-head p {
  max-width: 34rem;
  margin: 0;
  font-size: var(--text-lg);
}

.profile-showcase {
  display: grid;
  grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 6vw, 6rem);
  align-items: center;
}

.profile-story {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.profile-sequence,
.profile-type {
  color: var(--setu-blue);
  font-size: var(--text-sm);
  letter-spacing: 0.05em;
}

.profile-type {
  margin-top: 1.1rem;
  text-transform: uppercase;
}

.profile-story h3 {
  margin-top: 0.45rem;
  font-size: clamp(2.6rem, 3.6vw, 3.8rem);
  font-weight: var(--weight-medium);
  line-height: 1;
}

.profile-role {
  margin-top: 0.45rem;
  color: var(--setu-copy);
  font-size: var(--text-lg);
}

.profile-message {
  margin-top: 1.65rem;
  font-size: clamp(1.55rem, 2vw, 2rem);
  line-height: 1.2;
  color: var(--setu-ink);
}

.profile-description {
  max-width: 34rem;
  margin-top: 0.75rem;
}

.profile-story .inline-action {
  margin-top: 1.45rem;
}

.profile-options {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-top: 2.25rem;
}

.profile-options button {
  position: relative;
  display: grid;
  grid-template-columns: 1.7rem 1fr;
  gap: 0.15rem 0.55rem;
  min-height: 5.25rem;
  border: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.68);
  padding: 0.9rem 1rem;
  text-align: left;
  color: var(--setu-copy);
  cursor: pointer;
  transition: border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast);
}

.profile-options button span {
  grid-row: 1/span 2;
  color: var(--setu-muted);
  font-size: var(--text-xs);
}

.profile-options button strong,
.profile-options button small {
  display: block;
  font-weight: var(--weight-regular);
}

.profile-options button strong {
  color: var(--setu-ink);
}

.profile-options button small {
  color: var(--setu-muted);
}

.profile-options button:hover,
.profile-options button.active {
  border-color: var(--setu-blue);
  background: #fff;
  transform: translateY(-2px);
}

.profile-options button.active::after {
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 0;
  height: 2px;
  background: var(--setu-blue);
}

.profile-visual {
  position: relative;
  min-height: 38rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: radial-gradient(circle at 50% 48%, rgba(58, 141, 255, 0.16), transparent 45%), linear-gradient(145deg, #eaf2ff, #dceaff);
}

.profile-orbit {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.profile-orbit i {
  position: absolute;
  left: 50%;
  top: 48%;
  width: 26rem;
  aspect-ratio: 1;
  border: 1px solid rgba(58, 141, 255, 0.18);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.profile-orbit i:nth-child(2) {
  width: 34rem;
  opacity: 0.65;
}

.profile-orbit i:nth-child(3) {
  width: 42rem;
  opacity: 0.34;
}

.profile-phone {
  position: relative;
  z-index: 2;
  width: min(38rem, 78%);
  padding: 0.55rem;
  border: 1px solid rgba(31, 36, 41, 0.16);
  border-radius: 2rem;
  background: #111a23;
  box-shadow: 0 35px 80px rgba(25, 53, 88, 0.2);
  transform: rotate(-1.5deg);
}

.profile-phone-bar {
  height: 2.35rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 1rem;
  color: rgba(255, 255, 255, 0.65);
  font-size: var(--text-xs);
}

.profile-phone-bar span:first-child {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--setu-blue);
}

.profile-phone-bar i {
  justify-self: end;
  width: 2rem;
  height: 0.25rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
}

.profile-phone > img {
  display: block;
  width: 100%;
  border-radius: 1.45rem;
  background: #fff;
}

.profile-product-recommendation {
  position: absolute;
  z-index: 4;
  right: 2rem;
  bottom: 2rem;
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: 0.9rem;
  align-items: center;
  min-width: 17rem;
  padding: 0.8rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(12px);
}

.profile-product-recommendation::before {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  width: 3.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--setu-blue));
}

.profile-product-recommendation img {
  width: 5rem;
  height: 4rem;
  object-fit: cover;
}

.profile-product-recommendation small,
.profile-product-recommendation strong {
  display: block;
  font-weight: var(--weight-regular);
}

.profile-product-recommendation small {
  color: var(--setu-muted);
}

/* Optional-upgrade hover fills the exact row bounds without clipping. */
.upgrade-row {
  grid-template-columns: 3.25rem minmax(0, 1fr) 3.5rem;
  padding: 1.25rem;
  overflow: hidden;
}

.upgrade-row::before {
  inset: 0;
  background: linear-gradient(90deg, rgba(58, 141, 255, 0.11), rgba(58, 141, 255, 0.025));
  opacity: 0;
  transform: none;
  transition: opacity 240ms ease;
}

.upgrade-row:hover::before,
.upgrade-row:focus-visible::before,
.upgrade-row:focus-within::before {
  opacity: 1;
  transform: none;
}

.upgrade-mini {
  right: 4.5rem;
}

/* Video finale is the deliberate special-case title scale. */
.final-video-content h2 {
  font-size: clamp(3.5rem, 4.4vw, 4rem);
  font-weight: var(--weight-medium);
  line-height: 1.04;
}

.final-video-content p {
  margin-top: 1.5rem;
}

.final-video-actions {
  gap: 1.75rem;
  margin-top: 2.25rem;
}




/*
  Homepage stabilization pass.
  These rules intentionally sit last so the approved sections have one final,
  predictable source of truth instead of accumulating one-off overrides.
*/
/* Shared title hierarchy. */
.home-hero h1,
.difference-v2 h2,
.gesture-stage h2,
.product-shelf h2,
.moments h2,
.profile-system-v2 h2,
.optional-growth h2,
.final-video h2 {
  max-width: none;
  font-weight: var(--weight-medium);
}

/* SETU Difference: integrated visual and state panel. */
.difference-v2 {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4.5rem, 7vw, 7rem);
  color: #fff;
  background: radial-gradient(circle at 72% 20%, rgba(255, 255, 255, 0.22), transparent 26%), radial-gradient(circle at 62% 88%, rgba(13, 72, 154, 0.24), transparent 34%), linear-gradient(135deg, #3a8dff 0%, #2e84f5 54%, #2878e8 100%);
}

.difference-v2-grid {
  display: grid;
  grid-template-columns: minmax(19rem, 0.72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(3rem, 6vw, 7rem);
}

.difference-v2-copy h2 {
  margin-top: 1rem;
  font-size: var(--title-section);
  line-height: 1.06;
}

.difference-v2-copy > p {
  max-width: 35rem;
  margin-top: 1.4rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: var(--text-lg);
}

.difference-v2-copy .inline-action {
  margin-top: 1.8rem;
}

.difference-v2-stage {
  min-height: 32rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.56fr);
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3rem);
}

.difference-v2 .difference-device {
  position: relative;
  min-height: 31rem;
  display: grid;
  place-items: center;
  overflow: visible;
}

.difference-v2 .difference-device::before {
  display: none;
}

.difference-device-frame {
  position: relative;
  z-index: 3;
  width: min(35rem, 94%);
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 1.9rem;
  background: rgba(245, 249, 255, 0.94);
  box-shadow: 0 32px 80px rgba(5, 43, 102, 0.26);
}

.difference-device-bar {
  height: 2.4rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding-inline: 0.8rem;
  color: #536173;
  font-size: 0.72rem;
}

.difference-device-bar span {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: var(--setu-blue);
}

.difference-device-bar i {
  justify-self: end;
  width: 1.2rem;
  height: 0.18rem;
  border-radius: 2rem;
  background: #9eabb9;
}

.difference-v2 .difference-profile {
  width: 100%;
  height: auto;
  max-height: 24rem;
  object-fit: contain;
  filter: none;
}

.difference-v2 .difference-signal i {
  position: absolute;
  inset: 50% auto auto 50%;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.difference-v2 .difference-signal i:nth-child(1) {
  width: 25rem;
}

.difference-v2 .difference-signal i:nth-child(2) {
  width: 34rem;
  opacity: 0.65;
}

.difference-v2 .difference-signal i:nth-child(3) {
  width: 43rem;
  opacity: 0.35;
}

.difference-v2 .difference-qr {
  right: -1.25rem;
  bottom: 3rem;
  width: 7rem;
  border-radius: 0.5rem;
}

.difference-v2 .difference-products img:nth-child(1) {
  left: -2%;
  top: 4%;
  width: 31%;
  height: 31%;
}

.difference-v2 .difference-products img:nth-child(2) {
  right: -4%;
  top: 0;
  width: 29%;
  height: 34%;
}

.difference-v2 .difference-products img:nth-child(3) {
  right: 3%;
  bottom: 0;
  width: 30%;
  height: 31%;
}

.difference-v2-panel {
  align-self: center;
}

.difference-v2 .difference-state-card {
  position: static;
  width: auto;
  padding: 0;
  color: #fff;
  background: transparent;
  box-shadow: none;
}

.difference-v2 .difference-state-card > span {
  color: rgba(255, 255, 255, 0.68);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.difference-v2 .difference-state-card h3 {
  margin-top: 0.7rem;
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: var(--weight-medium);
}

.difference-v2 .difference-state-card p {
  max-width: 29ch;
  margin-top: 0.85rem;
  color: rgba(255, 255, 255, 0.76);
}

.difference-v2 .difference-controls {
  margin-top: 2rem;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.difference-v2 .difference-controls button {
  min-height: 3.25rem;
  display: grid;
  grid-template-columns: 2rem 1fr;
  align-items: center;
  gap: 0.55rem;
  padding: 0.8rem 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  color: rgba(255, 255, 255, 0.62);
  text-align: left;
  cursor: pointer;
}

.difference-v2 .difference-controls button::before {
  display: none;
}

.difference-v2 .difference-controls button span {
  color: rgba(255, 255, 255, 0.42);
  font-size: var(--text-xs);
}

.difference-v2 .difference-controls button strong {
  font-size: 1rem;
  font-weight: var(--weight-regular);
}

.difference-v2 .difference-controls button:hover,
.difference-v2 .difference-controls button.active {
  padding-left: 0.45rem;
  color: #fff;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.12), transparent);
}

/* Shared pinned product and interaction stages. */
.gesture-stage {
  position: relative;
  z-index: 2;
  height: var(--viewport-section);
  min-height: 39rem;
  isolation: isolate;
  overflow: hidden;
  background: #fff;
}

.gesture-copy h2 {
  font-size: var(--title-scene);
  font-weight: var(--weight-medium);
  line-height: 1.05;
}

.gesture-copy > p {
  max-width: 36rem;
}

.gesture-media {
  min-width: 0;
}

.gesture-media > img {
  will-change: opacity, transform;
}

/* Product shelf: fully opaque pinned stage and no adjacent-section bleed. */
.product-shelf {
  position: relative;
  z-index: 3;
  height: var(--viewport-section);
  min-height: 39rem;
  overflow: hidden;
  isolation: isolate;
  background: var(--setu-canvas);
}

.product-shelf-stage {
  height: 100%;
  min-height: 0;
  background: var(--setu-canvas);
}

.carousel-viewport {
  min-width: 0;
}

.shelf-status {
  grid-template-columns: auto minmax(10rem, 20rem);
}

.shelf-status::after {
  display: none;
}

/* Moments header breathing room. */
.moments-section__header {
  margin-bottom: 3rem;
}

/* Profile system: real identities in normal document flow, no pin or spacer. */
.profile-system-v2 {
  height: auto;
  min-height: 0;
  overflow: visible;
  padding-block: clamp(5rem, 8vw, 8rem);
  background: #fff;
}

.profile-system-v2-shell {
  display: block;
}

.profile-system-v2-head {
  display: grid;
  grid-template-columns: 1fr 0.72fr;
  align-items: end;
  gap: 3rem;
  margin-bottom: 2.5rem;
}

.profile-system-v2-head h2 {
  margin-top: 0.65rem;
  font-size: var(--title-section);
  font-weight: var(--weight-medium);
}

.profile-system-v2-head > p {
  max-width: 39ch;
  justify-self: end;
}

.profile-direction-nav {
  position: sticky;
  top: calc(var(--header-height) + 0.75rem);
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-bottom: 2rem;
  border: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(14px);
}

.profile-direction-nav a {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "index name" "index type";
  gap: 0.05rem 0.65rem;
  padding: 1rem 1.1rem;
  border-right: 1px solid var(--setu-line);
  color: var(--setu-copy);
  transition: background var(--duration-fast), color var(--duration-fast);
}

.profile-direction-nav a:last-child {
  border-right: 0;
}

.profile-direction-nav span {
  grid-area: index;
  align-self: start;
  color: var(--setu-muted);
  font-size: var(--text-xs);
}

.profile-direction-nav strong {
  grid-area: name;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: var(--weight-regular);
}

.profile-direction-nav small {
  grid-area: type;
  color: var(--setu-muted);
}

.profile-direction-nav a:hover,
.profile-direction-nav a.active {
  color: var(--setu-ink);
  background: var(--setu-blue-faint);
}

.profile-direction-nav a.active {
  box-shadow: inset 0 3px 0 var(--setu-blue);
}

.profile-chapters {
  display: grid;
  gap: clamp(4rem, 7vw, 7rem);
}

.profile-chapter {
  scroll-margin-top: calc(var(--header-height) + 6.5rem);
  min-height: min(44rem, 76svh);
  display: grid;
  grid-template-columns: minmax(17rem, 0.68fr) minmax(0, 1.32fr);
  align-items: center;
  gap: clamp(3rem, 6vw, 7rem);
  padding: clamp(2.5rem, 5vw, 5rem);
  overflow: hidden;
  background: radial-gradient(circle at 76% 28%, rgba(58, 141, 255, 0.17), transparent 31%), linear-gradient(135deg, #f4f8ff 0%, #e8f1ff 100%);
}

.profile-chapter:nth-child(even) {
  grid-template-columns: minmax(0, 1.32fr) minmax(17rem, 0.68fr);
}

.profile-chapter:nth-child(even) .profile-chapter-copy {
  order: 2;
}

.profile-chapter:nth-child(even) .profile-chapter-visual {
  order: 1;
}

.profile-chapter-copy > span {
  color: var(--setu-blue);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.profile-chapter-copy h3 {
  margin-top: 0.65rem;
  font-size: clamp(2.25rem, 3.6vw, 3.5rem);
  font-weight: var(--weight-medium);
}

.profile-chapter-role {
  margin-top: 0.25rem;
  color: var(--setu-muted);
}

.profile-chapter-copy h4 {
  margin: 2rem 0 0;
  font-size: clamp(1.8rem, 2.6vw, 2.65rem);
  font-weight: var(--weight-medium);
  line-height: 1.08;
}

.profile-chapter-copy > p:not(.profile-chapter-role) {
  max-width: 34rem;
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.profile-chapter-copy .inline-action {
  margin-top: 1.55rem;
}

.profile-chapter-visual {
  position: relative;
  min-width: 0;
  display: grid;
  place-items: center;
}

.profile-preview-frame {
  width: min(48rem, 100%);
  padding: clamp(0.8rem, 1.5vw, 1.25rem);
  border: 1px solid rgba(58, 141, 255, 0.2);
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.75);
  box-shadow: var(--shadow-float);
}

.profile-preview-frame img {
  width: 100%;
  height: auto;
  border-radius: 1.25rem;
}

.profile-product-chip {
  position: absolute;
  right: 1.25rem;
  bottom: -1.5rem;
  min-width: 15rem;
  display: grid;
  grid-template-columns: 4.2rem 1fr;
  align-items: center;
  gap: 0.8rem;
  padding: 0.75rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.profile-product-chip img {
  width: 4.2rem;
  height: 3.4rem;
  object-fit: cover;
}

.profile-product-chip small,
.profile-product-chip strong {
  display: block;
  font-weight: var(--weight-regular);
}

.profile-product-chip small {
  color: var(--setu-muted);
  font-size: var(--text-xs);
}

.profile-product-chip strong {
  margin-top: 0.12rem;
}

.profile-chapter.active .profile-preview-frame {
  border-color: rgba(58, 141, 255, 0.5);
}

/* Upgrade rows: one clean hover surface, no clipped pseudo-panel. */
.upgrade-row {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.upgrade-row::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(58, 141, 255, 0.12), rgba(58, 141, 255, 0.02));
  opacity: 0;
  transform: none;
  transition: opacity var(--duration-fast);
}

.upgrade-row:hover::before,
.upgrade-row:focus-visible::before {
  opacity: 1;
}

.upgrade-row:hover,
.upgrade-row:focus-visible {
  transform: none;
}

.upgrade-row:hover .upgrade-arrow {
  transform: translate(3px, -3px);
}

/* Video finale: approved larger display title and calmer CTA spacing. */
.final-video-content h2 {
  font-size: clamp(3.5rem, 4.4vw, 4rem);
  font-weight: var(--weight-medium);
}

.final-video-content > p {
  margin-top: 1.5rem;
}

.final-video-actions {
  gap: 1.75rem;
  margin-top: 2.25rem;
}



/* =========================================================
   Homepage finalization pass: stable motion, fixed media,
   approved profile workflow and restrained SETU depth.
   ========================================================= */
/* Global typography guardrails used by the homepage and audited inner pages. */
.home-hero h1,
.inner-hero h1,
.product-buy h1,
.home-hero h2,
.section h2,
.gesture-copy h2,
.shelf-header h2,
.moments-header h2,
.profile-system-head h2,
.optional-growth-copy h2,
.final-video-content h2,
.footer-signal-copy h2 {
  max-width: none;
  font-weight: var(--weight-medium);
}

/* Mega-menu media remains fixed while only stacked image layers crossfade. */
.mega-products-grid,
.mega-profiles-grid {
  min-height: 20rem;
}

.mega-product-visual {
  position: relative;
  height: clamp(19rem, 25vw, 23rem);
  min-height: 0;
  overflow: hidden;
}

.mega-profile-screen {
  position: relative;
  height: clamp(17rem, 22vw, 21rem);
  overflow: hidden;
}

.mega-product-visual .mega-preview-layer,
.mega-profile-screen .mega-preview-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  object-fit: cover;
  will-change: opacity, transform;
}

.mega-profile-screen .mega-preview-layer {
  object-fit: contain;
  background: #fff;
}

.mega-product-visual .mega-preview-layer.is-active,
.mega-profile-screen .mega-preview-layer.is-active {
  opacity: 1;
  visibility: visible;
}

.mega-product-visual:hover .mega-preview-layer.is-active {
  transform: scale(1.018);
}

/* SETU Difference: deeper background, one integrated visual, calm state rail. */
.free-first {
  background: radial-gradient(circle at 58% 43%, rgba(255, 255, 255, 0.24), transparent 27%), radial-gradient(circle at 83% 14%, rgba(190, 220, 255, 0.18), transparent 25%), radial-gradient(circle at 18% 92%, rgba(10, 64, 145, 0.25), transparent 38%), linear-gradient(135deg, #3a8dff 0%, #2f84f4 48%, #2476e2 100%);
}

.difference-shell {
  grid-template-columns: minmax(19rem, 0.7fr) minmax(0, 1.3fr);
}

.difference-composition {
  min-height: 34rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.43fr);
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3rem);
}

.difference-device {
  order: 1;
  width: 100%;
  min-height: 34rem;
  margin: 0;
  background: radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0.07) 52%, transparent 72%);
}

.difference-controls {
  order: 2;
  display: grid;
  align-self: center;
  gap: 0;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.025));
  backdrop-filter: blur(8px);
}

.difference-controls button {
  position: relative;
  min-height: 4rem;
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 0.55rem;
  align-items: center;
  padding: 0.8rem 1rem;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.64);
  text-align: left;
  transition: color var(--duration-fast), background var(--duration-fast), padding var(--duration-fast);
}

.difference-controls button:last-child {
  border-bottom: 0;
}

.difference-controls button small {
  display: none;
}

.difference-controls button span {
  color: rgba(255, 255, 255, 0.42);
}

.difference-controls button:hover,
.difference-controls button.active {
  padding-left: 1.25rem;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.16);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.035));
}

.difference-controls button.active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  transform-origin: left;
  background: rgba(255, 255, 255, 0.88);
  animation: difference-progress 3s linear;
}

.free-first:hover .difference-controls button.active::after,
.free-first:focus-within .difference-controls button.active::after {
  animation-play-state: paused;
}

@keyframes difference-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
.difference-state-card {
  width: min(21rem, 46%);
}

/* Discrete scenes use a CSS-sticky inner stage. No ScrollTrigger pin or spacer. */
.gesture-stage {
  --scene-scroll-distance: 0px;
  height: calc(var(--viewport-section) + var(--scene-scroll-distance));
  min-height: var(--viewport-section);
  display: block;
  overflow: visible;
  background: #fff;
}

.gesture-sticky {
  position: sticky;
  top: var(--header-height);
  height: var(--viewport-section);
  min-height: 39rem;
  display: grid;
  overflow: hidden;
  isolation: isolate;
  background: #fff;
}


.gesture-copy .inline-action {
  margin-top: 1.75rem;
}

/* Horizontal rail uses a sticky inner stage and normal document flow. */
.product-shelf {
  --rail-scroll-distance: 1100px;
  height: calc(var(--viewport-section) + var(--rail-scroll-distance));
  min-height: var(--viewport-section);
  overflow: visible;
  background: var(--setu-canvas);
}

.product-shelf-stage {
  position: sticky;
  top: var(--header-height);
  height: var(--viewport-section);
  min-height: 39rem;
  overflow: hidden;
  padding-block: clamp(1.5rem, 3vh, 2.5rem);
  background: var(--setu-canvas);
}

.shelf-header {
  align-items: center;
}

.shelf-controls-simple {
  display: flex;
  justify-content: flex-end;
}

.carousel-shell {
  position: relative;
  min-width: 0;
}

.carousel-viewport {
  margin-top: clamp(1.3rem, 2.5vh, 2rem);
  padding-inline: clamp(2.25rem, 4vw, 4.75rem);
  overflow: hidden;
  touch-action: pan-y;
}

.shelf-track {
  gap: clamp(0.85rem, 1.25vw, 1.25rem);
}

.product-tile-meta {
  display: block;
  padding-top: 0.75rem;
}

.product-tile h3 {
  line-height: 1.05;
}

.carousel-arrow {
  position: absolute;
  z-index: 8;
  top: 47%;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(31, 36, 41, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: var(--setu-ink);
  box-shadow: var(--shadow-soft);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50%) scale(0.92);
  transition: opacity var(--duration-fast), visibility var(--duration-fast), transform var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);
  cursor: pointer;
}

.carousel-arrow-prev {
  left: 0.65rem;
}

.carousel-arrow-next {
  right: 0.65rem;
}

.carousel-shell:hover .carousel-arrow,
.carousel-shell:focus-within .carousel-arrow {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) scale(1);
}

.carousel-arrow:hover {
  color: var(--setu-blue);
  border-color: var(--setu-blue);
}

.carousel-arrow:disabled {
  opacity: 0.28 !important;
  cursor: default;
}

/* Approved profile direction: selector, story and connected preview. */
.profile-system-locked {
  height: auto;
  min-height: 0;
  overflow: hidden;
  padding-block: clamp(5rem, 7vw, 7rem);
  background: radial-gradient(circle at 77% 46%, rgba(58, 141, 255, 0.11), transparent 31%), linear-gradient(180deg, #fff 0%, #f6f9fd 100%);
}

.profile-system-locked .profile-system-shell {
  height: auto;
  display: block;
  padding: 0;
}

.profile-system-locked .profile-system-head {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.58fr);
  gap: 4rem;
  margin-bottom: 2.25rem;
}

.profile-selector {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1.75rem;
  border: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(12px);
}

.profile-selector button {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  grid-template-areas: "number name" "number type";
  gap: 0.06rem 0.55rem;
  padding: 1rem 1.05rem;
  border: 0;
  border-right: 1px solid var(--setu-line);
  background: transparent;
  color: var(--setu-copy);
  text-align: left;
  cursor: pointer;
  transition: color var(--duration-fast), background var(--duration-fast);
}

.profile-selector button:last-child {
  border-right: 0;
}

.profile-selector button span {
  grid-area: number;
  color: var(--setu-muted);
  font-size: var(--text-xs);
}

.profile-selector button strong {
  grid-area: name;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: var(--weight-regular);
}

.profile-selector button small {
  grid-area: type;
  color: var(--setu-muted);
}

.profile-selector button:hover,
.profile-selector button.active {
  color: var(--setu-ink);
  background: var(--setu-blue-faint);
}

.profile-selector button.active::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: var(--setu-blue);
}

.profile-stage {
  min-height: clamp(34rem, 58vw, 43rem);
  display: grid;
  grid-template-columns: minmax(19rem, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
  padding: clamp(2.25rem, 4.5vw, 4.5rem);
  overflow: hidden;
  background: radial-gradient(circle at 72% 47%, rgba(255, 255, 255, 0.98), rgba(226, 238, 255, 0.8) 38%, rgba(211, 229, 255, 0.66) 68%, rgba(197, 219, 250, 0.54) 100%), var(--setu-blue-soft);
}

.profile-system-locked .profile-story {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.profile-system-locked .profile-type {
  color: var(--setu-blue);
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.profile-system-locked .profile-story h3 {
  margin-top: 0.7rem;
  font-size: clamp(2.75rem, 4vw, 4rem);
  font-weight: var(--weight-medium);
  line-height: 1;
}

.profile-system-locked .profile-role {
  margin-top: 0.45rem;
  color: var(--setu-muted);
}

.profile-system-locked .profile-message {
  margin-top: 2rem;
  font-size: clamp(1.8rem, 2.6vw, 2.7rem);
  line-height: 1.08;
  color: var(--setu-ink);
}

.profile-system-locked .profile-description {
  max-width: 34rem;
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.profile-system-locked .profile-story .inline-action {
  margin-top: 1.65rem;
}

.profile-system-locked .profile-visual {
  position: relative;
  inset: auto;
  min-height: 31rem;
  display: grid;
  place-items: center;
}

.profile-system-locked .profile-phone {
  width: min(39rem, 86%);
}

.profile-system-locked .profile-product-recommendation {
  right: 1rem;
  bottom: 0.75rem;
}

/* Optional upgrades gain coded SETU depth, not generated imagery. */
.optional-growth {
  background: radial-gradient(circle at 71% 43%, rgba(58, 141, 255, 0.16), transparent 30%), radial-gradient(circle at 17% 78%, rgba(186, 214, 255, 0.18), transparent 34%), linear-gradient(135deg, #f5f9ff 0%, #eaf2ff 52%, #f7faff 100%);
}

.upgrade-list {
  padding: 0.5rem;
  border: 1px solid rgba(58, 141, 255, 0.12);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(239, 246, 255, 0.46));
  box-shadow: 0 24px 70px rgba(50, 94, 153, 0.08);
}

.upgrade-row {
  margin: 0;
  border-color: rgba(58, 141, 255, 0.12);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.36));
}

.upgrade-row + .upgrade-row {
  margin-top: 0.35rem;
}

/* Footer CTA: text link belongs to copy; right column holds one primary button. */
.footer-signal-copy .footer-explore-link {
  margin-top: 1.35rem;
}

.footer-signal-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.footer-signal-actions .button {
  white-space: nowrap;
}




/* =========================================================
   SETU HOMEPAGE V3 — locked structure, real profiles,
   stable sticky workflows and corrected information model.
   ========================================================= */
/* One consistent navigation indicator. */
.desktop-nav > a,
.nav-trigger {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  outline-offset: 5px;
}

.desktop-nav > a::after,
.nav-trigger::after {
  left: 0;
  right: 0;
  bottom: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--duration) var(--ease-out);
}

.desktop-nav > a:hover::after,
.desktop-nav > a[aria-current=page]::after,
.nav-trigger:hover::after,
.nav-trigger.current::after,
.nav-trigger[aria-expanded=true]::after {
  transform: scaleX(1);
}

/* Profiles mega-menu now presents three profiles plus Single Link as a feature. */
.mega-profile-list {
  align-content: center;
}

.mega-profile-screen .mega-preview-layer,
.mega-profile-screen > img {
  object-fit: contain;
  object-position: top center;
  padding: 0.5rem;
  background: #f4f8fd;
}

.mega-feature-callout {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "label title icon" "label copy icon";
  gap: 0.15rem 0.75rem;
  align-items: center;
  margin-top: 0.75rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: linear-gradient(135deg, rgba(58, 141, 255, 0.09), rgba(58, 141, 255, 0.025));
}

.mega-feature-callout > span {
  grid-area: label;
  color: var(--setu-blue);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.mega-feature-callout strong {
  grid-area: title;
  font-weight: var(--weight-medium);
}

.mega-feature-callout small {
  grid-area: copy;
  color: var(--setu-muted);
  line-height: 1.4;
}

.mega-feature-callout svg {
  grid-area: icon;
  width: 1.1rem;
}

.mega-feature-callout:hover {
  border-color: var(--setu-blue);
}

.drawer-feature-link {
  color: var(--setu-blue) !important;
}

/* Difference progress is controlled by the same GSAP timeline as autoplay. */
.difference-controls button.active::after {
  display: none !important;
  animation: none !important;
}

.difference-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  display: block;
  background: rgba(255, 255, 255, 0.92);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}

/* Full-screen product-family and How SETU Works scenes. */
.gesture-stage {
  background: radial-gradient(circle at 16% 18%, rgba(58, 141, 255, 0.11), transparent 34%), radial-gradient(circle at 82% 82%, rgba(58, 141, 255, 0.065), transparent 32%), linear-gradient(145deg, #fff 0%, #f6f9ff 56%, #edf4ff 100%);
}

.gesture-sticky {
  background: transparent;
}

.gesture-copy {
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(circle at 18% 18%, rgba(58, 141, 255, 0.105), transparent 34%), radial-gradient(circle at 88% 78%, rgba(58, 141, 255, 0.055), transparent 30%), linear-gradient(145deg, #fff 0%, #f8fbff 58%, #eef5ff 100%);
}

.gesture-copy::before,
.gesture-copy::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}

.gesture-copy::before {
  width: 19rem;
  aspect-ratio: 1;
  left: -10rem;
  top: -8rem;
  background: radial-gradient(circle, rgba(58, 141, 255, 0.11), transparent 68%);
}

.gesture-copy::after {
  width: 15rem;
  aspect-ratio: 1;
  right: -8rem;
  bottom: -7rem;
  border: 1px solid rgba(58, 141, 255, 0.08);
}

.gesture-copy .inline-action {
  color: var(--setu-blue);
}

.scene-progress {
  display: flex;
  gap: 0.55rem;
  margin-top: auto;
  padding-top: 2.25rem;
}

.scene-progress i {
  width: 2.35rem;
  height: 2px;
  background: #d5e0ed;
  transition: width 0.35s var(--ease-out), background 0.35s;
}

.scene-progress i.active {
  width: 3.35rem;
  background: var(--setu-blue);
}


/* Header-aware full-screen horizontal product rail. */
.product-shelf {
  --rail-scroll-distance: 900px;
  position: relative;
  height: calc(var(--viewport-section) + var(--rail-scroll-distance)) !important;
  min-height: var(--viewport-section) !important;
  overflow: visible !important;
  padding: 0 !important;
  isolation: isolate;
  background: radial-gradient(circle at 78% 20%, rgba(58, 141, 255, 0.14), transparent 31%), radial-gradient(circle at 12% 84%, rgba(58, 141, 255, 0.08), transparent 35%), linear-gradient(135deg, #f8fbff 0%, #edf5ff 52%, #f7faff 100%) !important;
}

.product-shelf::before,
.product-shelf::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
}

.product-shelf::before {
  width: min(32rem, 42vw);
  aspect-ratio: 1;
  left: -15rem;
  top: 20%;
  background: radial-gradient(circle, rgba(58, 141, 255, 0.1), transparent 68%);
}

.product-shelf::after {
  width: min(25rem, 34vw);
  aspect-ratio: 1;
  right: -10rem;
  bottom: 8%;
  border: 1px solid rgba(58, 141, 255, 0.07);
}

.product-shelf-stage {
  position: sticky !important;
  top: var(--header-height) !important;
  height: var(--viewport-section) !important;
  min-height: 39rem !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden !important;
  padding-block: clamp(3rem, 5vh, 4.5rem) !important;
  background: transparent !important;
}

.shelf-header {
  margin-bottom: clamp(2.5rem, 4vh, 3.5rem) !important;
}

.carousel-viewport {
  margin-top: 0 !important;
  padding-inline: clamp(2.5rem, 4vw, 5rem);
  overflow: hidden !important;
  scroll-snap-type: none !important;
  touch-action: pan-y;
}

.shelf-track {
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.product-tile {
  scroll-snap-align: none;
}

.carousel-arrow {
  top: 45%;
}

/* One sticky profile stage; every profile replaces the previous one in place. */
.profile-system-locked {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding-block: clamp(5rem, 7vw, 7rem) 0;
}

.profile-system-locked .profile-system-head {
  margin-bottom: 2rem;
}

.profile-scroll-zone {
  --profile-scroll-distance: 1000px;
  height: calc(var(--viewport-section) + var(--profile-scroll-distance));
  min-height: var(--viewport-section);
}

.profile-sticky {
  position: sticky;
  top: var(--header-height);
  height: var(--viewport-section);
  min-height: 39rem;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 1.25rem;
  padding-block: 1.25rem;
  overflow: hidden;
}

.profile-selector {
  position: relative !important;
  top: auto !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 0 !important;
  box-shadow: 0 10px 28px rgba(31, 54, 83, 0.055);
}

.profile-stage {
  min-height: 0;
  height: 100%;
  padding: clamp(2rem, 3.6vw, 3.75rem);
}

.profile-system-locked .profile-phone {
  width: min(34rem, 80%);
  height: min(32rem, 62vh);
  overflow: hidden;
  background: #f4f8fd;
}

.profile-system-locked .profile-phone > img {
  width: 100%;
  height: calc(100% - 2.2rem);
  object-fit: contain;
  object-position: top center;
  padding: 0.8rem 1.2rem 0;
  background: #f4f8fd;
}

.profile-system-locked .profile-visual {
  min-height: 0;
  height: 100%;
}

.profile-system-locked .profile-message {
  margin-top: 1.65rem;
}

/* Compact optional-upgrades module with no stray divider. */
.optional-growth {
  position: relative;
  overflow: hidden;
  padding-block: 3.25rem !important;
  background: radial-gradient(circle at 72% 34%, rgba(58, 141, 255, 0.14), transparent 33%), radial-gradient(circle at 14% 76%, rgba(58, 141, 255, 0.065), transparent 31%), linear-gradient(135deg, #f8fbff 0%, #edf5ff 52%, #f7faff 100%) !important;
}

.optional-growth::before,
.optional-growth::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}

.optional-growth::before {
  width: 22rem;
  aspect-ratio: 1;
  left: -12rem;
  bottom: -13rem;
  background: radial-gradient(circle, rgba(58, 141, 255, 0.09), transparent 68%);
}

.optional-growth::after {
  width: 16rem;
  aspect-ratio: 1;
  right: -8rem;
  top: -8rem;
  border: 1px solid rgba(58, 141, 255, 0.07);
}

.optional-growth-copy::after,
.optional-growth-grid::before {
  content: none !important;
  display: none !important;
}

.optional-growth-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr) !important;
  gap: clamp(2rem, 3.5vw, 3.25rem) !important;
}

.upgrade-list {
  max-width: 46rem !important;
  padding: 0.25rem !important;
}

.upgrade-row {
  min-height: 5.35rem !important;
  grid-template-columns: 2.45rem minmax(0, 1fr) auto !important;
  gap: 0.75rem !important;
  padding: 0.8rem 1rem !important;
}

.upgrade-row + .upgrade-row {
  margin-top: 0.2rem !important;
}

.upgrade-icon {
  width: 2.3rem !important;
  height: 2.3rem !important;
}

.upgrade-row h3 {
  font-size: clamp(1.18rem, 1.45vw, 1.38rem) !important;
}

.upgrade-row p {
  margin-top: 0.1rem !important;
  max-width: 40ch;
  line-height: 1.38;
}

.upgrade-mini {
  display: none;
}

/* Profiles landing and Single Link feature page. */
.profile-feature-callout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
  margin-top: 2rem;
  padding: 1.5rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: linear-gradient(135deg, rgba(58, 141, 255, 0.08), rgba(58, 141, 255, 0.02));
}

.profile-feature-callout h3 {
  margin-top: 0.5rem;
  font-size: var(--text-xl);
  font-weight: var(--weight-medium);
}

.profile-feature-callout p {
  max-width: 62ch;
  margin-top: 0.45rem;
}

.single-link-flow {
  background: linear-gradient(135deg, #f8fbff, #edf5ff);
}

.single-link-destinations {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2.5rem;
}

.single-link-destinations article {
  padding: 1.5rem;
  border: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.8);
}

.single-link-destinations span {
  color: var(--setu-blue);
  font-size: var(--text-xs);
}

.single-link-destinations h3 {
  margin-top: 0.7rem;
  font-size: var(--text-xl);
  font-weight: var(--weight-medium);
}

.single-link-destinations p {
  margin-top: 0.45rem;
}



/* Final visual tuning for real profile screenshots and compact controls. */
.scene-progress {
  position: absolute;
  left: clamp(2.2rem, 5vw, 5.2rem);
  bottom: clamp(2rem, 4vh, 3.2rem);
  margin: 0;
  padding: 0;
}

.mega-profile-screen .mega-preview-layer,
.mega-profile-screen > img {
  object-fit: cover;
  object-position: top center;
  padding: 0;
}

.difference-v2 .difference-profile,
.difference-profile {
  object-fit: cover;
  object-position: top center;
  background: #f4f8fd;
}


.profile-system-locked .profile-phone > img {
  object-fit: cover;
  object-position: top center;
  padding: 0;
}

.upgrade-list {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.upgrade-row {
  border: 1px solid rgba(58, 141, 255, 0.12) !important;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.48)) !important;
}

.upgrade-row + .upgrade-row {
  margin-top: 0.5rem !important;
}

/* =========================================================
   V4 locked homepage corrections
   ========================================================= */
/* One nav indicator only, optically under the label. */
.desktop-nav > a::after,
.nav-trigger::after {
  left: 50% !important;
  right: auto !important;
  bottom: 0.8rem !important;
  width: calc(100% - 0.1rem);
  transform: translateX(-50%) scaleX(0) !important;
  transform-origin: center !important;
}

.desktop-nav > a:hover::after,
.desktop-nav > a[aria-current=page]::after,
.nav-trigger:hover::after,
.nav-trigger.current::after,
.nav-trigger[aria-expanded=true]::after {
  transform: translateX(-50%) scaleX(1) !important;
}

.site-header .nav-node,
.site-header .nav-trigger {
  box-shadow: none !important;
  border-bottom: 0 !important;
}

/* Profiles mega menu: four equal options; Single Link changes the right preview only. */
.mega-profile-list {
  grid-template-rows: repeat(4, minmax(0, 1fr));
}

.mega-profile {
  min-height: 4.35rem;
  padding: 0.8rem 0;
}

.mega-feature-callout {
  display: none !important;
}

.mega-profile-screen {
  position: relative;
  overflow: hidden;
}

.mega-single-link-visual {
  position: absolute;
  inset: 1.15rem;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(7rem, 0.75fr) auto minmax(9rem, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: radial-gradient(circle at 25% 20%, rgba(58, 141, 255, 0.14), transparent 36%), linear-gradient(135deg, #f8fbff, #edf5ff);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px) scale(0.985);
  transition: opacity 0.28s, transform 0.38s var(--ease-out), visibility 0.28s;
}

.mega-single-link-visual > span,
.mega-single-link-visual > div {
  min-height: 5.5rem;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.88);
}

.mega-single-link-visual > i {
  color: var(--setu-blue);
  font-size: 1.6rem;
  font-style: normal;
}

.mega-single-link-visual > div {
  align-content: center;
  gap: 0.25rem;
  padding: 0.7rem;
}

.mega-single-link-visual strong {
  font-size: var(--text-sm);
  font-weight: var(--weight-regular);
}

.mega-profile-screen.is-feature-mode .mega-preview-layer {
  opacity: 0 !important;
  visibility: hidden !important;
}

.mega-profile-screen.is-feature-mode .mega-single-link-visual {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* Difference: richer full background, continuous profile journey, 3s progress owned by JS. */
.free-first {
  background: radial-gradient(circle at 54% 42%, rgba(255, 255, 255, 0.27), transparent 27%), radial-gradient(circle at 86% 10%, rgba(207, 230, 255, 0.22), transparent 28%), radial-gradient(circle at 12% 88%, rgba(8, 53, 131, 0.29), transparent 42%), linear-gradient(128deg, #3a8dff 0%, #3289f8 35%, #287ae9 68%, #216dd7 100%) !important;
}

.free-first::before,
.free-first::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}

.free-first::before {
  width: min(42rem, 48vw);
  aspect-ratio: 1;
  left: -18rem;
  top: -22rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.free-first::after {
  width: min(36rem, 42vw);
  aspect-ratio: 1;
  right: -18rem;
  bottom: -20rem;
  background: radial-gradient(circle, rgba(10, 60, 145, 0.2), transparent 68%);
}

.difference-controls button.active::after {
  display: none !important;
}

.difference-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100% !important;
  height: 2px !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  opacity: 1 !important;
  transform: scaleX(0);
  transform-origin: left center;
}

.difference-device {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.52fr);
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.025)) !important;
  backdrop-filter: blur(3px);
}

.difference-profile {
  position: relative !important;
  inset: auto !important;
  grid-column: 1;
  z-index: 2;
  width: min(29rem, 100%) !important;
  height: 25rem !important;
  justify-self: center;
  object-fit: cover !important;
  object-position: top center;
  border: 1rem solid rgba(242, 247, 255, 0.98);
  box-shadow: 0 24px 55px rgba(11, 54, 119, 0.2);
  transition: object-position 0.5s var(--ease-out), transform 0.5s var(--ease-out), opacity 0.4s;
}

.difference-device[data-state=links] .difference-profile {
  object-position: center 48%;
}

.difference-device[data-state=qr] .difference-profile {
  transform: scale(0.94) translateX(-2%);
}

.difference-device[data-state=physical] .difference-profile {
  transform: scale(0.88) translateX(-7%);
}

.difference-state-card {
  position: relative !important;
  inset: auto !important;
  grid-column: 2;
  z-index: 5;
  width: auto !important;
  align-self: center;
  padding: 1.4rem !important;
  background: rgba(18, 29, 41, 0.9) !important;
  box-shadow: 0 24px 48px rgba(10, 40, 82, 0.22) !important;
}

.difference-qr {
  right: 43% !important;
  bottom: 2.1rem !important;
  z-index: 4;
  width: 6.7rem !important;
}

.difference-link-focus {
  position: absolute;
  z-index: 4;
  left: 8%;
  bottom: 2.4rem;
  display: flex;
  gap: 0.45rem;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.35s, transform 0.45s var(--ease-out);
}

.difference-link-focus span {
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.88);
  color: var(--setu-blue);
  font-size: var(--text-xs);
}

.difference-device[data-state=links] .difference-link-focus {
  opacity: 1;
  transform: none;
}

.difference-products {
  z-index: 4;
}

.difference-products img {
  opacity: 0 !important;
}

.difference-device[data-state=physical] .difference-products img:first-child {
  opacity: 1 !important;
  left: auto !important;
  right: 38% !important;
  top: 2rem !important;
  width: 9rem !important;
  height: 11rem !important;
  transform: rotate(-3deg) !important;
  box-shadow: 0 18px 38px rgba(8, 43, 96, 0.2);
}

/* Product and interaction scenes: preserve scroll, add atmosphere, lines, blue actions. */
.gesture-copy {
  padding-bottom: clamp(4.5rem, 7vh, 6.5rem) !important;
}

.gesture-copy .inline-action {
  margin-top: 1.8rem !important;
  color: var(--setu-blue) !important;
}

.scene-progress {
  left: clamp(2.75rem, 5vw, 5.5rem) !important;
  bottom: clamp(2.25rem, 4vh, 3.5rem) !important;
}

.scene-progress i {
  width: 2.25rem;
  height: 2px;
  background: #d5e0ed;
}

.scene-progress i.active {
  width: 3.25rem;
  background: var(--setu-blue);
}


/* Full-screen product rail: title gap, background depth and endpoint-safe horizontal travel. */
.product-shelf-stage {
  padding-block: clamp(4rem, 6vh, 5.5rem) !important;
}

.shelf-header {
  margin-bottom: clamp(2.75rem, 5vh, 4.25rem) !important;
}

.carousel-shell {
  position: relative;
}

.carousel-viewport {
  padding-inline: clamp(3rem, 5vw, 6rem) !important;
}

.carousel-arrow {
  position: absolute;
  z-index: 8;
  top: 44%;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(58, 141, 255, 0.22);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: var(--setu-ink);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-50%) scale(0.92);
  transition: opacity 0.2s, transform 0.3s var(--ease-out), visibility 0.2s;
}

.carousel-arrow-prev {
  left: clamp(0.75rem, 1.5vw, 1.5rem);
}

.carousel-arrow-next {
  right: clamp(0.75rem, 1.5vw, 1.5rem);
}

.carousel-shell:hover .carousel-arrow,
.carousel-shell:focus-within .carousel-arrow {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) scale(1);
}

.carousel-arrow:disabled {
  opacity: 0.28 !important;
  cursor: not-allowed;
}

/* Profile system: the selector and main block stay in one place until all four states are traversed. */
.profile-system-locked {
  padding-block: clamp(5rem, 7vw, 7rem) 0 !important;
}

.profile-system-locked .profile-system-head {
  margin-bottom: 2.6rem !important;
}

.profile-scroll-zone {
  height: calc(var(--viewport-section) + var(--profile-scroll-distance)) !important;
}

.profile-sticky {
  top: var(--header-height) !important;
  height: var(--viewport-section) !important;
  min-height: 42rem !important;
  padding-block: 1.4rem !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  overflow: hidden !important;
}

.profile-selector {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  position: relative !important;
  top: auto !important;
  margin: 0 !important;
  border: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 32px rgba(31, 54, 83, 0.06);
  backdrop-filter: blur(14px);
}

.profile-selector button {
  min-height: 4.75rem;
  padding: 1rem 1.15rem;
}

.profile-stage {
  height: 100% !important;
  min-height: 0 !important;
  padding: clamp(2rem, 3.5vw, 3.5rem) !important;
}

.profile-system-locked .profile-phone {
  width: min(34rem, 78%);
  height: min(31rem, 59vh);
}

.profile-phone.is-hidden {
  opacity: 0;
  visibility: hidden;
  transform: scale(0.96);
}

.profile-single-link {
  position: absolute;
  inset: 12% 8%;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(10rem, 0.9fr) auto minmax(12rem, 1.1fr);
  align-items: center;
  gap: 1.25rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(24px) scale(0.975);
}

.profile-single-link.is-active {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.single-link-source,
.single-link-destination {
  min-height: 13rem;
  display: grid;
  align-content: center;
  gap: 0.7rem;
  padding: 1.4rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow-soft);
}

.single-link-source span,
.single-link-destination span {
  color: var(--setu-blue);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.single-link-source small,
.single-link-destination small {
  color: var(--setu-muted);
}

.single-link-destination strong {
  font-size: clamp(1.8rem, 2.8vw, 2.7rem);
  font-weight: var(--weight-medium);
}

.profile-single-link > i {
  color: var(--setu-blue);
  font-size: 2rem;
  font-style: normal;
}

.profile-product-recommendation.is-feature small {
  color: var(--setu-blue);
}

/* Optional upgrades: balanced middle ground, no stray line, neither hollow nor squeezed. */
.optional-growth {
  padding-block: 5rem !important;
}

.optional-growth-grid {
  grid-template-columns: minmax(19rem, 0.8fr) minmax(36rem, 1.2fr) !important;
  gap: clamp(3rem, 5vw, 4.5rem) !important;
  align-items: center !important;
}

.upgrade-list {
  width: 100%;
  max-width: 51rem !important;
  padding: 0.4rem !important;
}

.upgrade-row {
  min-height: 8.35rem !important;
  grid-template-columns: 3rem minmax(0, 1fr) auto !important;
  gap: 1rem !important;
  padding: 1.55rem 1.75rem !important;
}

.upgrade-row + .upgrade-row {
  margin-top: 0.75rem !important;
}

.upgrade-icon {
  width: 2.75rem !important;
  height: 2.75rem !important;
}

.upgrade-row h3 {
  font-size: clamp(1.35rem, 1.7vw, 1.65rem) !important;
}

.upgrade-row p {
  margin-top: 0.3rem !important;
  line-height: 1.5 !important;
  max-width: 48ch;
}




/* V5: stable mega-menu states, contained Single Link feature visual and real hover feedback. */
.mega-panel {
  background: #fff;
}

.mega-products-grid,
.mega-profiles-grid,
.mega-lead,
.mega-category-list,
.mega-profile-list,
.mega-quick-paths {
  background: transparent;
}

/* Quick Paths must read and behave as full clickable rows. */
.mega-quick-paths {
  align-content: start;
}

.mega-quick-paths a {
  min-width: 0;
  margin-inline: -0.85rem;
  padding: 0.95rem 0.85rem;
  border-radius: 0.2rem;
  transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.mega-quick-paths a::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--setu-blue);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform 180ms ease;
}

.mega-quick-paths a strong,
.mega-quick-paths a small,
.mega-quick-paths a svg {
  transition: color 180ms ease, transform 180ms ease;
}

.mega-quick-paths a:hover,
.mega-quick-paths a:focus-visible,
.mega-quick-paths a:focus-within {
  color: var(--setu-blue);
  background: rgba(58, 141, 255, 0.065);
  box-shadow: inset 0 0 0 1px rgba(58, 141, 255, 0.08);
  outline: none;
}

.mega-quick-paths a:hover::before,
.mega-quick-paths a:focus-visible::before,
.mega-quick-paths a:focus-within::before {
  transform: scaleY(1);
}

.mega-quick-paths a:hover small,
.mega-quick-paths a:focus-visible small,
.mega-quick-paths a:focus-within small {
  color: var(--setu-copy);
}

.mega-quick-paths a:hover svg,
.mega-quick-paths a:focus-visible svg,
.mega-quick-paths a:focus-within svg {
  color: var(--setu-blue);
  transform: translateX(0.28rem);
}

/* Every Profiles state keeps the exact same preview footprint. */
.mega-profile-preview {
  min-width: 0;
  height: clamp(19rem, 23vw, 21rem);
  min-height: clamp(19rem, 23vw, 21rem);
  grid-template-columns: minmax(0, 1.06fr) minmax(12.5rem, 0.78fr);
  gap: clamp(1rem, 1.7vw, 1.5rem);
  align-items: center;
  overflow: hidden;
  background: var(--setu-blue-faint);
}

.mega-profile-preview > * {
  min-width: 0;
}

.mega-profile-preview > div:last-child {
  align-self: center;
}

.mega-profile-screen {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.mega-profile-screen .mega-preview-layer,
.mega-profile-screen > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

/* Single Link is a polished, contained feature flow, not a profile screenshot. */
.mega-single-link-visual {
  inset: 0.75rem;
  grid-template-columns: minmax(0, 0.92fr) 1.8rem minmax(0, 1.08fr);
  gap: 0.7rem;
  padding: 0.85rem;
  overflow: hidden;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: radial-gradient(circle at 22% 18%, rgba(58, 141, 255, 0.14), transparent 34%), radial-gradient(circle at 84% 82%, rgba(58, 141, 255, 0.08), transparent 32%), linear-gradient(135deg, #f9fcff 0%, #edf5ff 100%);
}

.mega-single-link-visual::before,
.mega-single-link-visual::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(58, 141, 255, 0.11);
  border-radius: 50%;
  pointer-events: none;
}

.mega-single-link-visual::before {
  width: 12rem;
  height: 12rem;
  left: -5rem;
  top: -5rem;
}

.mega-single-link-visual::after {
  width: 9rem;
  height: 9rem;
  right: -4rem;
  bottom: -4rem;
}

.mega-single-link-source,
.mega-single-link-destination {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  min-height: 9.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0.45rem;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 36px rgba(37, 86, 150, 0.08);
  text-align: left;
}

.mega-single-link-source small,
.mega-single-link-destination small {
  color: var(--setu-blue);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mega-single-link-source strong,
.mega-single-link-destination strong {
  max-width: 100%;
  color: var(--setu-ink);
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  font-weight: var(--weight-medium);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.mega-single-link-source span,
.mega-single-link-destination span {
  max-width: 100%;
  margin: 0;
  color: var(--setu-copy);
  font-size: var(--text-xs);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.mega-single-link-visual > i {
  position: relative;
  z-index: 1;
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--setu-blue);
  color: #fff;
  font-size: 1rem;
  box-shadow: 0 10px 24px rgba(58, 141, 255, 0.24);
}

.mega-profile-screen.is-feature-mode .mega-single-link-visual {
  opacity: 1;
  visibility: visible;
  transform: none;
}


/* V5 follow-up: generic profile directions, exact click/scroll state and richer Physical SETU collage. */
.profile-selector button strong {
  font-weight: var(--weight-regular);
}

.difference-device[data-state=physical] .difference-profile {
  transform: scale(0.82) translateX(-5%);
}

.difference-device[data-state=physical] .difference-products img {
  opacity: 1 !important;
  border: 0.35rem solid rgba(244, 248, 253, 0.96);
  box-shadow: 0 18px 38px rgba(8, 43, 96, 0.22);
}

.difference-device[data-state=physical] .difference-products img:nth-child(1) {
  left: 1.5% !important;
  right: auto !important;
  top: 1.25rem !important;
  bottom: auto !important;
  width: 7.6rem !important;
  height: 8.4rem !important;
  transform: rotate(-5deg) !important;
}

.difference-device[data-state=physical] .difference-products img:nth-child(2) {
  left: 2.5% !important;
  right: auto !important;
  top: auto !important;
  bottom: 1.5rem !important;
  width: 7.3rem !important;
  height: 9.2rem !important;
  transform: rotate(4deg) !important;
}

.difference-device[data-state=physical] .difference-products img:nth-child(3) {
  left: auto !important;
  right: 36% !important;
  top: 1.1rem !important;
  bottom: auto !important;
  width: 7.5rem !important;
  height: 8.6rem !important;
  transform: rotate(5deg) !important;
}

.difference-device[data-state=physical] .difference-products img:nth-child(4) {
  left: auto !important;
  right: 35% !important;
  top: auto !important;
  bottom: 1.35rem !important;
  width: 8rem !important;
  height: 8.8rem !important;
  transform: rotate(-4deg) !important;
}


/* Specificity guard for the V5 Single Link cards over earlier generic child rules. */
.mega-single-link-visual > .mega-single-link-source,
.mega-single-link-visual > .mega-single-link-destination {
  width: 100%;
  min-width: 0;
  min-height: 9.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  align-content: initial;
  place-items: initial;
  gap: 0.45rem;
  padding: 1rem;
  overflow: hidden;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 36px rgba(37, 86, 150, 0.08);
  text-align: left;
}


/* =========================================================
   SETU Inner Page System V6
   Shared expressive heroes, workspaces, editorial catalogues,
   guided workflows and interaction-ready surfaces.
   ========================================================= */
.inner-system-page {
  background: #f4f8fd;
}

.inner-page {
  position: relative;
  overflow: clip;
  background: #f4f8fd;
}

.inner-page::before {
  content: "";
  position: fixed;
  inset: var(--header-height) 0 auto;
  height: 36rem;
  pointer-events: none;
  background: radial-gradient(circle at 78% 8%, rgba(58, 141, 255, 0.12), transparent 34%), radial-gradient(circle at 15% 18%, rgba(58, 141, 255, 0.06), transparent 30%);
  opacity: 0.72;
}

.inner-page > section {
  position: relative;
  z-index: 1;
}

.signal-surface {
  --signal-x: 50%;
  --signal-y: 45%;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.signal-surface::before {
  content: "";
  position: absolute;
  inset: -30%;
  z-index: -2;
  pointer-events: none;
  background: radial-gradient(circle at var(--signal-x) var(--signal-y), rgba(58, 141, 255, 0.16), transparent 19%), radial-gradient(circle at 82% 18%, rgba(58, 141, 255, 0.11), transparent 27%), linear-gradient(135deg, #f8fbff 0%, #eef5ff 52%, #f8fbff 100%);
}

.signal-surface::after {
  content: "";
  position: absolute;
  width: 38rem;
  aspect-ratio: 1;
  right: -15rem;
  top: -14rem;
  z-index: -1;
  border: 1px solid rgba(58, 141, 255, 0.13);
  border-radius: 50%;
  box-shadow: 0 0 0 5rem rgba(58, 141, 255, 0.025), 0 0 0 10rem rgba(58, 141, 255, 0.018);
  pointer-events: none;
}

.eyebrow.light {
  color: #a9caff;
}

.inner-hero-v2 {
  min-height: clamp(38rem, 74svh, 52rem);
  display: grid;
  align-items: center;
  padding-block: clamp(5rem, 8vw, 8.5rem);
  border-bottom: 1px solid rgba(58, 141, 255, 0.11);
}

.inner-hero-v2-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(28rem, 1.12fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 8rem);
}

.inner-hero-v2-copy {
  position: relative;
  z-index: 2;
}

.inner-hero-v2-copy h1 {
  max-width: 12.5ch;
  margin-top: 1rem;
  font-size: clamp(3.4rem, 5vw, 5.35rem);
  font-weight: var(--weight-medium);
  line-height: 0.99;
}

.inner-hero-v2-copy > p {
  max-width: 42rem;
  margin-top: 1.5rem;
  font-size: var(--text-lg);
}

.inner-hero-v2-copy > .button {
  margin-top: 2rem;
}

.inner-hero-v2 .hero-actions {
  margin-top: 2rem;
}

.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.65rem;
}

.hero-proof span {
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(58, 141, 255, 0.17);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.62);
  color: var(--setu-copy);
  font-size: var(--text-sm);
}

.experience-section {
  padding-block: clamp(5rem, 8vw, 8rem);
  background: #fff;
}

.section-heading-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.62fr);
  gap: clamp(2rem, 6vw, 7rem);
  align-items: end;
  margin-bottom: 3.25rem;
}

.section-heading-split h2 {
  max-width: 14ch;
  margin-top: 0.8rem;
  font-size: var(--title-section);
}

.section-heading-split > p, .section-heading-split > div:last-child > p {
  max-width: 44ch;
  justify-self: end;
  font-size: var(--text-lg);
}

.section-heading-split .button, .section-heading-split .inline-action {
  margin-top: 1.5rem;
}

/* Shared forms and workspaces. */
.workspace {
  display: grid;
  grid-template-columns: minmax(18rem, 0.66fr) minmax(0, 1.34fr);
  border: 1px solid rgba(58, 141, 255, 0.13);
  background: #fff;
  box-shadow: 0 28px 90px rgba(22, 54, 93, 0.09);
}

.workspace-aside {
  padding: clamp(2rem, 4vw, 4rem);
  background: linear-gradient(145deg, #17222e 0%, #0f1821 100%);
  color: #fff;
}

.workspace-aside h2 {
  margin-top: 0.75rem;
  font-size: clamp(2.1rem, 3vw, 3.1rem);
}

.workspace-aside > p {
  max-width: 32ch;
  margin-top: 1rem;
  color: #b7c5d4;
}

.workspace-main {
  padding: clamp(2rem, 4vw, 4rem);
}

.form-heading > span {
  color: var(--setu-blue);
  font-size: var(--text-xs);
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.form-heading h2 {
  margin-top: 0.45rem;
  font-size: clamp(2rem, 3vw, 3rem);
}

.form-heading p {
  margin-top: 0.65rem;
}

.smart-form .form-grid {
  margin-top: 2.4rem;
}

.smart-form input, .smart-form textarea, .smart-form select, .activation-panels input {
  background: #f7faff;
  border-color: #d8e4f2;
}

.smart-form input:focus, .smart-form textarea:focus, .smart-form select:focus, .activation-panels input:focus {
  outline: 0;
  border-color: var(--setu-blue);
  box-shadow: 0 0 0 4px rgba(58, 141, 255, 0.11);
}

.form-action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.form-action-row > small {
  color: var(--setu-muted);
}

.form-success {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: center;
  min-height: 12rem;
  margin-top: 2rem;
  padding: 2rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: var(--setu-blue-faint);
}

.form-success > span {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--setu-blue);
  color: #fff;
  font-size: 1.25rem;
}

.form-success strong {
  font-size: 1.25rem;
}

.form-success p {
  margin-top: 0.25rem;
}

.context-checklist {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.context-checklist > span {
  color: #a9caff;
  font-size: var(--text-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.context-checklist ul {
  display: grid;
  gap: 0.65rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  color: #d4dce5;
}

.context-checklist li::before {
  content: "•";
  margin-right: 0.65rem;
  color: var(--setu-blue);
}

.quick-resolver {
  display: grid;
  gap: 0.45rem;
  margin-top: 2.3rem;
}

.quick-resolver a {
  display: grid;
  gap: 0.15rem;
  padding: 0.85rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.quick-resolver a span {
  color: #91a0af;
  font-size: var(--text-sm);
}

.quick-resolver a strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: var(--weight-regular);
}

.quick-resolver svg {
  width: 1rem;
}

/* Contact. */
.topic-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 2rem;
}

.topic-chips button {
  padding: 0.58rem 0.82rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.62);
  color: var(--setu-copy);
  cursor: pointer;
  transition: background var(--duration-fast), color var(--duration-fast), transform var(--duration-fast), border-color var(--duration-fast);
}

.topic-chips button:hover, .topic-chips button.active {
  transform: translateY(-2px);
  border-color: var(--setu-blue);
  background: var(--setu-blue);
  color: #fff;
}

.route-board {
  position: relative;
  min-height: 30rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1.5rem;
  padding: clamp(2rem, 4vw, 4rem);
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.65);
  box-shadow: var(--shadow-soft);
}

.route-board-orbits i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15rem;
  aspect-ratio: 1;
  border: 1px solid rgba(58, 141, 255, 0.13);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.route-board-orbits i:nth-child(2) {
  width: 23rem;
  opacity: 0.68;
}

.route-board-orbits i:nth-child(3) {
  width: 32rem;
  opacity: 0.36;
}

.route-node {
  position: relative;
  z-index: 2;
  min-height: 10rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.7rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: #fff;
  box-shadow: 0 18px 45px rgba(22, 54, 93, 0.09);
}

.route-node small {
  color: var(--setu-blue);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.route-node strong {
  margin-top: 0.55rem;
  font-size: clamp(1.5rem, 2.3vw, 2.3rem);
  font-weight: var(--weight-medium);
}

.route-node em {
  margin-top: 0.45rem;
  color: var(--setu-muted);
  font-style: normal;
}

.route-connector {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  color: var(--setu-blue);
}

.route-connector span {
  width: 4rem;
  height: 1px;
  background: currentColor;
}

.route-connector b {
  font-size: 1.65rem;
  font-weight: var(--weight-regular);
}

.route-status {
  position: absolute;
  left: 50%;
  bottom: 2.2rem;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.55rem 0.8rem;
  border-radius: var(--radius-pill);
  background: #14202b;
  color: #fff;
  font-size: var(--text-sm);
}

.route-status span {
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: #6ee7a8;
  box-shadow: 0 0 0 0.25rem rgba(110, 231, 168, 0.12);
}

.resolver-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--setu-line);
  border-left: 1px solid var(--setu-line);
}

.resolver-grid a {
  position: relative;
  min-height: 16rem;
  padding: 1.6rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.66);
  transition: background var(--duration-fast), transform var(--duration-fast);
}

.resolver-grid a:hover {
  z-index: 2;
  transform: translateY(-6px);
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.resolver-grid span {
  color: var(--setu-blue);
  font-size: var(--text-xs);
}

.resolver-grid h3 {
  margin-top: 3rem;
  font-size: 1.55rem;
}

.resolver-grid p {
  margin-top: 0.65rem;
}

.resolver-grid svg {
  position: absolute;
  right: 1.4rem;
  top: 1.4rem;
  width: 1.2rem;
}

.compact-business-contact {
  padding-block: clamp(4rem, 6vw, 6rem);
}

.compact-business-contact .section-heading-split {
  margin-bottom: 0;
}

/* Activation. */
.activation-hero-visual {
  position: relative;
  min-height: 31rem;
  display: grid;
  place-items: center;
}

.activation-product-card {
  position: relative;
  z-index: 3;
  width: min(27rem, 78%);
  overflow: hidden;
  border: 10px solid rgba(255, 255, 255, 0.9);
  background: #fff;
  box-shadow: var(--shadow-float);
  transform: rotate(-2deg);
}

.activation-product-card img {
  width: 100%;
  aspect-ratio: 4/4.2;
  object-fit: cover;
}

.activation-product-card span {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  padding: 0.5rem 0.7rem;
  border-radius: var(--radius-pill);
  background: #18232e;
  color: #fff;
  font-size: var(--text-sm);
}

.activation-pulse i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 17rem;
  aspect-ratio: 1;
  border: 1px solid rgba(58, 141, 255, 0.17);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.activation-pulse i:nth-child(2) {
  width: 25rem;
}

.activation-pulse i:nth-child(3) {
  width: 34rem;
}

.activation-target {
  position: absolute;
  z-index: 4;
  right: 1.5rem;
  bottom: 1.5rem;
  min-width: 14rem;
  padding: 1.1rem;
  background: #101b25;
  color: #fff;
  box-shadow: var(--shadow-soft);
}

.activation-target small, .activation-target strong {
  display: block;
}

.activation-target small {
  color: #9bc3ff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.activation-target strong {
  margin-top: 0.3rem;
  font-weight: var(--weight-regular);
}

.activation-workspace {
  border: 1px solid rgba(58, 141, 255, 0.14);
  background: #fff;
  box-shadow: 0 28px 90px rgba(22, 54, 93, 0.09);
}

.workflow-progress {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--setu-line);
}

.workflow-progress button {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "num title" "num copy";
  gap: 0.05rem 0.75rem;
  padding: 1rem 1.35rem;
  border: 0;
  border-right: 1px solid var(--setu-line);
  background: #fff;
  text-align: left;
  cursor: pointer;
  color: var(--setu-copy);
}

.workflow-progress button:last-child {
  border-right: 0;
}

.workflow-progress button::before {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  top: 0;
  height: 3px;
  background: var(--setu-blue);
  transition: right var(--duration);
}

.workflow-progress button.active::before, .workflow-progress button.complete::before {
  right: 0;
}

.workflow-progress button.active {
  background: var(--setu-blue-faint);
  color: var(--setu-ink);
}

.workflow-progress button.complete span {
  color: #20a66b;
}

.workflow-progress span {
  grid-area: num;
  color: var(--setu-blue);
}

.workflow-progress strong {
  grid-area: title;
  font-weight: var(--weight-regular);
}

.workflow-progress small {
  grid-area: copy;
  color: var(--setu-muted);
}

.activation-body {
  display: grid;
  grid-template-columns: minmax(18rem, 0.62fr) minmax(0, 1.38fr);
  min-height: 34rem;
}

.activation-context {
  display: grid;
  align-content: center;
  gap: 2rem;
  padding: clamp(2rem, 4vw, 4rem);
  background: linear-gradient(145deg, #17222e, #0f1821);
  color: #fff;
}

.activation-context h2 {
  margin-top: 0.65rem;
  font-size: clamp(2rem, 3vw, 3rem);
}

.activation-context p {
  margin-top: 0.8rem;
  color: #b7c5d4;
}

.activation-context-visual {
  position: relative;
  height: 14rem;
  overflow: hidden;
}

.activation-context-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.75) brightness(0.75);
}

.activation-context-visual span {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  padding: 0.45rem 0.65rem;
  background: rgba(16, 24, 32, 0.88);
  color: #fff;
  font-size: var(--text-sm);
}

.activation-panels {
  position: relative;
  padding: clamp(2rem, 4vw, 4rem);
  overflow: hidden;
}

.activation-panel {
  display: none;
}

.activation-panel.active {
  display: block;
  animation: panelIn 0.48s var(--ease-out);
}

@keyframes panelIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.activation-panel .form-grid {
  margin-top: 2rem;
}

.activation-feedback {
  min-height: 2.5rem;
  padding: 0.7rem 0.9rem;
  border-left: 3px solid var(--setu-line);
  background: #f6f9fd;
  color: var(--setu-muted);
}

.activation-feedback.valid {
  border-color: #22a66b;
  color: #167249;
  background: #effbf5;
}

.activation-feedback.invalid {
  border-color: #df4d59;
  color: #9b2f38;
  background: #fff4f5;
}

.activation-directions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-top: 2rem;
}

.activation-directions button {
  min-width: 0;
  display: grid;
  grid-template-columns: 5.2rem 1fr;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem;
  border: 1px solid var(--setu-line);
  background: #fff;
  text-align: left;
  cursor: pointer;
  transition: border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast);
}

.activation-directions button:hover, .activation-directions button.active {
  transform: translateY(-3px);
  border-color: var(--setu-blue);
  background: var(--setu-blue-faint);
}

.activation-directions img {
  width: 5.2rem;
  height: 4.25rem;
  object-fit: cover;
  object-position: top;
}

.activation-directions span, .activation-directions strong, .activation-directions small {
  display: block;
}

.activation-directions strong {
  font-weight: var(--weight-regular);
}

.activation-directions small {
  margin-top: 0.2rem;
  color: var(--setu-muted);
}

.direction-symbol {
  width: 5.2rem;
  height: 4.25rem;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #eaf3ff, #fff);
  color: var(--setu-blue);
  font-size: 2rem;
}

.activation-panel .form-action-row {
  margin-top: 2rem;
}

.connection-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 2rem;
  border-top: 1px solid var(--setu-line);
  border-left: 1px solid var(--setu-line);
}

.connection-summary > div {
  min-height: 7.5rem;
  padding: 1.25rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
}

.connection-summary small, .connection-summary strong {
  display: block;
}

.connection-summary small {
  color: var(--setu-muted);
}

.connection-summary strong {
  margin-top: 0.5rem;
  font-size: 1.1rem;
  font-weight: var(--weight-regular);
}

.activation-complete {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  margin-top: 1.5rem;
  padding: 1rem;
  background: #effbf5;
  border: 1px solid #bfe8d2;
}

.activation-complete span {
  width: 2.6rem;
  height: 2.6rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #22a66b;
  color: #fff;
}

.activation-complete p {
  margin-top: 0.2rem;
}

.activation-help {
  background: #f7faff;
}

.activation-help .section-heading-split {
  margin-bottom: 0;
}

.compact-facts {
  display: grid;
  gap: 0.85rem;
}

.compact-facts span {
  display: grid;
  gap: 0.2rem;
  padding: 1rem 0;
  border-top: 1px solid var(--setu-line);
}

.compact-facts strong {
  font-weight: var(--weight-regular);
}

.compact-facts small {
  color: var(--setu-muted);
}

/* About. */
.about-system-visual {
  position: relative;
  min-height: 35rem;
}

.about-orbits i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18rem;
  aspect-ratio: 1;
  border: 1px solid rgba(58, 141, 255, 0.14);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.about-orbits i:nth-child(2) {
  width: 28rem;
}

.about-orbits i:nth-child(3) {
  width: 39rem;
  opacity: 0.55;
}

.about-profile-card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20rem;
  height: 25rem;
  overflow: hidden;
  padding: 0.75rem;
  background: #fff;
  box-shadow: var(--shadow-float);
  transform: translate(-50%, -50%) rotate(-2deg);
}

.about-profile-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.about-profile-card span {
  position: absolute;
  left: 1.4rem;
  bottom: 1.4rem;
  padding: 0.45rem 0.65rem;
  border-radius: var(--radius-pill);
  background: #17222e;
  color: #fff;
}

.about-format {
  position: absolute;
  z-index: 3;
  display: grid;
  gap: 0.25rem;
  padding: 1rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.about-format small {
  color: var(--setu-blue);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.about-format strong {
  font-weight: var(--weight-regular);
}

.about-format-link {
  left: 0;
  top: 12%;
}

.about-format-qr {
  right: 0;
  top: 10%;
}

.about-format-qr img {
  width: 5rem;
}

.about-format-product {
  right: 2%;
  bottom: 2%;
  width: 11rem;
}

.about-format-product img {
  width: 100%;
  height: 7rem;
  object-fit: cover;
  margin-bottom: 0.45rem;
}

.origin-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--setu-line);
  border-left: 1px solid var(--setu-line);
}

.origin-grid article {
  min-height: 17rem;
  padding: 1.7rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
  background: #fff;
}

.origin-grid span {
  color: var(--setu-blue);
}

.origin-grid h3 {
  margin-top: 4rem;
}

.origin-grid p {
  margin-top: 0.75rem;
}

.free-foundation-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
}

.free-foundation-grid h2 {
  max-width: 13ch;
  margin-top: 0.75rem;
}

.free-foundation-grid > div:first-child > p {
  max-width: 34rem;
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.foundation-layers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.foundation-layers article {
  min-height: 24rem;
  padding: 2rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: var(--shadow-soft);
}

.foundation-layers span {
  color: var(--setu-blue);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.foundation-layers h3 {
  margin-top: 0.65rem;
  font-size: 2rem;
}

.foundation-layers ul {
  display: grid;
  gap: 1rem;
  margin: 3rem 0 0;
  padding: 0;
  list-style: none;
}

.foundation-layers li {
  padding-top: 1rem;
  border-top: 1px solid var(--setu-line);
}

.foundation-optional {
  transform: translateY(2rem);
}

.identity-travel-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--setu-line);
  border-left: 1px solid var(--setu-line);
}

.identity-travel-grid a {
  position: relative;
  min-height: 11rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.25rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
  background: #fff;
  transition: background var(--duration-fast), transform var(--duration-fast);
}

.identity-travel-grid a:hover {
  z-index: 2;
  transform: translateY(-4px);
  background: var(--setu-blue-faint);
}

.identity-travel-grid strong {
  font-size: 1.35rem;
  font-weight: var(--weight-regular);
}

.identity-travel-grid span {
  color: var(--setu-muted);
}

.identity-travel-grid svg {
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 1.1rem;
}

.control-grid {
  display: grid;
  grid-template-columns: minmax(24rem, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
}

.control-visual {
  height: 42rem;
  overflow: hidden;
  padding: 1rem;
  background: linear-gradient(135deg, #e9f2ff, #f8fbff);
  box-shadow: var(--shadow-soft);
}

.control-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.control-grid h2 {
  max-width: 12ch;
  margin-top: 0.75rem;
}

.control-list {
  display: grid;
  margin-top: 2rem;
  border-top: 1px solid var(--setu-line);
}

.control-list span {
  display: grid;
  grid-template-columns: 2rem 9rem 1fr;
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--setu-line);
}

.control-list b {
  color: var(--setu-blue);
  font-weight: var(--weight-regular);
}

.control-list strong {
  font-weight: var(--weight-regular);
}

.control-list small {
  color: var(--setu-muted);
}

.creator-section {
  padding-block: clamp(5rem, 8vw, 8rem);
}

.creator-grid {
  display: grid;
  grid-template-columns: 1fr 0.72fr;
  gap: clamp(3rem, 8vw, 9rem);
  align-items: end;
}

.creator-grid h2 {
  max-width: 16ch;
  margin-top: 0.8rem;
}

.creator-grid p {
  max-width: 45ch;
  font-size: var(--text-lg);
}

.creator-grid .inline-action {
  margin-top: 1.5rem;
}

.final-inner-cta .section-heading-split {
  margin-bottom: 0;
}

/* Standalone 404. */
.standalone-page {
  overflow: hidden;
  background: #07111b;
}

.not-found-page {
  --route-x:50%;
  --route-y:50%;
  position: relative;
  min-height: 100svh;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 5rem var(--page-gutter) 4rem;
  background: radial-gradient(circle at var(--route-x) var(--route-y), rgba(58, 141, 255, 0.28), transparent 20%), radial-gradient(circle at 18% 20%, rgba(58, 141, 255, 0.15), transparent 28%), linear-gradient(135deg, #101b26, #07111b 64%, #0d2138);
  color: #fff;
}

.not-found-brand {
  position: absolute;
  left: var(--page-gutter);
  top: 2rem;
  width: 8rem;
  filter: brightness(0) invert(1);
}

.not-found-code {
  position: absolute;
  right: var(--page-gutter);
  top: 1rem;
  font-size: clamp(7rem, 17vw, 18rem);
  line-height: 1;
  color: rgba(255, 255, 255, 0.035);
  font-weight: var(--weight-medium);
}

.not-found-orbits i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 26rem;
  aspect-ratio: 1;
  border: 1px solid rgba(90, 158, 255, 0.15);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.not-found-orbits i:nth-child(2) {
  width: 44rem;
}

.not-found-orbits i:nth-child(3) {
  width: 65rem;
  opacity: 0.45;
}

.not-found-core {
  position: relative;
  z-index: 3;
  width: min(76rem, 100%);
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
}

.broken-route {
  position: relative;
  min-height: 24rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
}

.route-object, .route-destination {
  min-height: 10rem;
  padding: 1.4rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.065);
  color: #fff;
  backdrop-filter: blur(12px);
  cursor: pointer;
}

.route-object img {
  width: 3rem;
  margin-inline: auto;
  filter: brightness(0) invert(1);
}

.route-object span, .route-destination span, .route-destination strong {
  display: block;
  text-align: center;
}

.route-object span {
  margin-top: 0.9rem;
}

.route-destination span {
  color: #86b5ff;
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.route-destination strong {
  margin-top: 0.5rem;
  font-size: 1.55rem;
  font-weight: var(--weight-regular);
}

.broken-wire {
  display: flex;
  align-items: center;
  color: #ff7b85;
}

.broken-wire span {
  width: 4rem;
  height: 1px;
  background: currentColor;
}

.broken-wire b {
  width: 2.3rem;
  height: 2.3rem;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-weight: var(--weight-regular);
}

.route-error {
  position: absolute;
  left: 50%;
  bottom: 2rem;
  transform: translateX(-50%);
  padding: 0.55rem 0.75rem;
  background: rgba(7, 17, 27, 0.88);
  color: #ffadb3;
  font-size: var(--text-sm);
}

.not-found-copy h1 {
  margin-top: 0.8rem;
  font-size: clamp(3.7rem, 6vw, 6.2rem);
}

.not-found-copy p {
  max-width: 37rem;
  margin-top: 1.25rem;
  color: #b9c7d6;
  font-size: var(--text-lg);
}

.not-found-copy .hero-actions {
  margin-top: 2rem;
}

.not-found-rail {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.not-found-rail span {
  padding: 1rem;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
  color: #8ea0b3;
}

/* Product catalogue. */
.product-collage {
  position: relative;
  min-height: 34rem;
}

.collage-main {
  position: absolute;
  right: 5%;
  top: 4%;
  width: 72%;
  height: 82%;
  object-fit: cover;
  box-shadow: var(--shadow-float);
}

.collage-small {
  position: absolute;
  z-index: 2;
  width: 31%;
  height: 36%;
  object-fit: cover;
  border: 8px solid #fff;
  box-shadow: var(--shadow-soft);
}

.collage-small.one {
  left: 0;
  top: 8%;
}

.collage-small.two {
  right: 0;
  bottom: 0;
}

.collage-note {
  position: absolute;
  z-index: 3;
  left: 8%;
  bottom: 2%;
  max-width: 15rem;
  padding: 1rem;
  background: rgba(16, 24, 32, 0.92);
  color: #fff;
}

.collage-note small, .collage-note strong {
  display: block;
}

.collage-note small {
  color: #9bc3ff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.collage-note strong {
  margin-top: 0.3rem;
  font-weight: var(--weight-regular);
}

.category-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.6rem;
}

.category-jump a {
  padding: 0.48rem 0.7rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.62);
}

.catalogue-toolbar {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 2rem;
  margin-bottom: 2.5rem;
}

.catalogue-toolbar h2 {
  max-width: 15ch;
  margin-top: 0.65rem;
}

.catalogue-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.catalogue-filters button {
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--setu-line);
  border-radius: var(--radius-pill);
  background: #fff;
  cursor: pointer;
}

.catalogue-filters button:hover, .catalogue-filters button.active {
  border-color: var(--setu-blue);
  background: var(--setu-blue);
  color: #fff;
}

.editorial-products {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1rem;
}

.editorial-product {
  grid-column: span 4;
  display: grid;
  background: #fff;
  border: 1px solid var(--setu-line);
  overflow: hidden;
  transition: transform var(--duration), box-shadow var(--duration), border-color var(--duration);
}

.editorial-product:hover {
  transform: translateY(-7px);
  border-color: rgba(58, 141, 255, 0.28);
  box-shadow: var(--shadow-soft);
}

.editorial-product figure {
  height: 24rem;
  overflow: hidden;
  background: #e9eff7;
}

.editorial-product img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease-out);
}

.editorial-product:hover img {
  transform: scale(1.035);
}

.editorial-product > div {
  display: flex;
  flex-direction: column;
  padding: 1.35rem;
}

.editorial-product span {
  color: var(--setu-blue);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.editorial-product h3 {
  margin-top: 0.55rem;
  font-size: 1.8rem;
}

.editorial-product p {
  margin-top: 0.7rem;
}

.editorial-product ul {
  display: grid;
  gap: 0.45rem;
  margin: 1.2rem 0 0;
  padding-left: 1rem;
  color: var(--setu-copy);
}

.product-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 1.5rem;
  font-weight: var(--weight-regular);
}

.product-link svg {
  width: 1.15rem;
}

.editorial-product.featured {
  grid-column: span 8;
  grid-template-columns: 1.1fr 0.9fr;
}

.editorial-product.featured figure {
  height: 34rem;
}

.editorial-product.featured > div {
  padding: clamp(2rem, 4vw, 4rem);
}

.editorial-product.featured h3 {
  font-size: clamp(2.5rem, 4vw, 4rem);
}

.editorial-product.wide {
  grid-column: span 8;
  grid-template-columns: 1.2fr 0.8fr;
}

.editorial-product.wide figure {
  height: 28rem;
}

.editorial-product.reverse figure {
  order: 2;
}

.editorial-product.reverse > div {
  order: 1;
}

.chooser-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--setu-line);
  border-left: 1px solid var(--setu-line);
}

.chooser-grid a {
  min-height: 11rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: end;
  padding: 1.25rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.75);
}

.chooser-grid span {
  grid-column: 1/-1;
  color: var(--setu-muted);
}

.chooser-grid strong {
  margin-top: 0.3rem;
  font-size: 1.45rem;
  font-weight: var(--weight-regular);
}

.chooser-grid svg {
  width: 1rem;
  align-self: end;
}

.product-model-strip {
  padding-block: 4.5rem;
}

/* Product detail. */
.product-detail-v2 {
  min-height: var(--viewport-section);
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(25rem, 0.82fr);
  background: #fff;
}

.product-gallery-v2 {
  min-width: 0;
  display: grid;
  grid-template-rows: 1fr auto;
  padding: clamp(1rem, 2vw, 2rem);
  background: linear-gradient(135deg, #eaf2fc, #f7faff);
}

.gallery-primary {
  min-height: 35rem;
  overflow: hidden;
}

.gallery-primary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-secondary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.65rem;
  margin-top: 0.65rem;
}

.gallery-secondary button {
  height: 7rem;
  padding: 0;
  border: 2px solid transparent;
  background: #fff;
  cursor: pointer;
  overflow: hidden;
}

.gallery-secondary button.active {
  border-color: var(--setu-blue);
}

.gallery-secondary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-summary-v2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.5rem, 5vw, 5.5rem);
}

.product-summary-v2 h1 {
  margin-top: 0.8rem;
}

.product-summary-v2 > p {
  max-width: 37rem;
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.product-mode-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1.5rem;
}

.product-mode-pills span {
  padding: 0.45rem 0.65rem;
  border: 1px solid var(--setu-line);
  border-radius: var(--radius-pill);
  color: var(--setu-copy);
}

.product-summary-rows {
  display: grid;
  margin-top: 2rem;
  border-top: 1px solid var(--setu-line);
}

.product-summary-rows div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--setu-line);
}

.product-summary-rows strong {
  font-weight: var(--weight-regular);
}

.product-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2rem;
}

.product-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem;
  align-items: start;
  margin-top: 1.5rem;
}

.product-note span {
  width: 0.55rem;
  height: 0.55rem;
  margin-top: 0.45rem;
  border-radius: 50%;
  background: var(--setu-blue);
}

.product-note p {
  font-size: var(--text-sm);
}

.purpose-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.purpose-grid article {
  min-width: 0;
  min-height: 25rem;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  border: 1px solid var(--setu-line);
  background: #fff;
}

.purpose-grid img {
  width: 100%;
  height: 15rem;
  object-fit: cover;
  object-position: top;
}

.purpose-grid span {
  margin-top: 1rem;
  color: var(--setu-blue);
}

.purpose-grid p {
  margin-top: 0.45rem;
}

.single-mode-card > div {
  height: 15rem;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #e7f1ff, #f9fbff);
  color: var(--setu-blue);
  font-size: 4rem;
}

.process-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 1.5rem;
  align-items: center;
}

.process-flow article {
  min-height: 25rem;
  padding: 1rem;
  background: #fff;
  border: 1px solid rgba(58, 141, 255, 0.14);
}

.process-flow article > span {
  color: var(--setu-blue);
}

.process-flow img {
  width: 100%;
  height: 14rem;
  margin-top: 1rem;
  object-fit: cover;
}

.process-flow h3 {
  margin-top: 1.1rem;
  font-size: 1.55rem;
}

.process-flow p {
  margin-top: 0.5rem;
}

.process-flow > b {
  color: var(--setu-blue);
  font-size: 1.8rem;
  font-weight: var(--weight-regular);
}

.process-actions {
  height: 14rem;
  display: grid;
  place-items: center;
  margin-top: 1rem;
  background: #14202b;
  color: #fff;
  text-align: center;
  line-height: 1.8;
}

.specs-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: clamp(3rem, 7vw, 8rem);
}

.specs-grid h2 {
  max-width: 14ch;
  margin-top: 0.75rem;
}

.specs-grid > div:first-child > p {
  max-width: 34rem;
  margin-top: 1rem;
}

.spec-list {
  display: grid;
  border-top: 1px solid var(--setu-line);
}

.spec-list div {
  display: grid;
  grid-template-columns: 12rem 1fr;
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--setu-line);
}

.spec-list span {
  color: var(--setu-muted);
}

.spec-list strong {
  font-weight: var(--weight-regular);
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.related-grid a {
  padding: 1rem;
  border: 1px solid var(--setu-line);
  background: #fff;
  transition: transform var(--duration-fast), box-shadow var(--duration-fast);
}

.related-grid a:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-soft);
}

.related-grid img {
  width: 100%;
  height: 18rem;
  object-fit: cover;
}

.related-grid h3 {
  margin-top: 1rem;
  font-size: 1.5rem;
}

.related-grid p {
  margin-top: 0.25rem;
}

/* Configurator. */
.customize-hero-swatch {
  position: relative;
  min-height: 26rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(58, 141, 255, 0.15);
  background: rgba(255, 255, 255, 0.65);
}

.customize-hero-swatch i {
  width: 13rem;
  height: 8rem;
  border-radius: 0.8rem;
  background: linear-gradient(135deg, #1f2429, #3a8dff);
  box-shadow: var(--shadow-float);
  transform: rotate(-8deg);
}

.customize-hero-swatch span, .customize-hero-swatch strong {
  position: absolute;
  left: 2rem;
}

.customize-hero-swatch span {
  top: 2rem;
  color: var(--setu-blue);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.customize-hero-swatch strong {
  bottom: 2rem;
  font-weight: var(--weight-regular);
}

.configurator-v2 {
  display: grid;
  grid-template-columns: 14rem minmax(24rem, 1fr) minmax(24rem, 0.9fr);
  min-height: 42rem;
  border: 1px solid rgba(58, 141, 255, 0.14);
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.config-nav {
  display: grid;
  align-content: start;
  border-right: 1px solid var(--setu-line);
}

.config-nav button {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "n t" "n s";
  gap: 0.1rem 0.7rem;
  padding: 1rem;
  border: 0;
  border-bottom: 1px solid var(--setu-line);
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.config-nav button.active {
  background: var(--setu-blue-faint);
  box-shadow: inset 3px 0 0 var(--setu-blue);
}

.config-nav span {
  grid-area: n;
  color: var(--setu-blue);
}

.config-nav strong {
  grid-area: t;
  font-weight: var(--weight-regular);
}

.config-nav small {
  grid-area: s;
  color: var(--setu-muted);
}

.customizer-preview-v2 {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 2rem;
  background: radial-gradient(circle at center, rgba(58, 141, 255, 0.13), transparent 40%), linear-gradient(135deg, #edf4ff, #f8fbff);
}

.preview-orbits i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16rem;
  aspect-ratio: 1;
  border: 1px solid rgba(58, 141, 255, 0.13);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.preview-orbits i:nth-child(2) {
  width: 25rem;
}

.preview-orbits i:nth-child(3) {
  width: 35rem;
  opacity: 0.5;
}

.customizer-preview-v2 .live-card {
  position: relative;
  z-index: 2;
  width: min(25rem, 88%);
  min-height: 15rem;
}

.customizer-preview-v2 .live-card > small {
  position: absolute;
  right: 1.25rem;
  bottom: 1.1rem;
  font-size: var(--text-xs);
  opacity: 0.78;
}

.preview-caption {
  position: absolute;
  left: 1.5rem;
  bottom: 1.5rem;
  display: grid;
  padding: 0.75rem 1rem;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.preview-caption span {
  color: var(--setu-blue);
}

.preview-caption strong {
  font-weight: var(--weight-regular);
}

.config-panels {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 2rem;
  border-left: 1px solid var(--setu-line);
}

.config-panel {
  display: none;
}

.config-panel.active {
  display: block;
  animation: panelIn 0.45s var(--ease-out);
}

.config-panel .form-grid {
  margin-top: 1.7rem;
}

.config-choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-top: 1.7rem;
}

.config-choices button {
  min-height: 7rem;
  padding: 1rem;
  border: 1px solid var(--setu-line);
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.config-choices button.active, .config-choices button:hover {
  border-color: var(--setu-blue);
  background: var(--setu-blue-faint);
}

.config-choices strong, .config-choices small {
  display: block;
}

.config-choices strong {
  font-size: 1.15rem;
  font-weight: var(--weight-regular);
}

.config-choices small {
  margin-top: 0.3rem;
  color: var(--setu-muted);
}

.config-choices.visual button {
  display: grid;
  grid-template-columns: 5rem 1fr;
  grid-template-areas: "img title" "img copy";
  align-items: center;
  gap: 0.1rem 0.75rem;
}

.config-choices.visual img {
  grid-area: img;
  width: 5rem;
  height: 5rem;
  object-fit: cover;
}

.config-choices.visual strong {
  grid-area: title;
}

.config-choices.visual small {
  grid-area: copy;
}

.config-submit {
  margin-top: auto;
  padding-top: 2rem;
  border-top: 1px solid var(--setu-line);
}

.config-submit p {
  font-size: var(--text-sm);
}

.config-submit .button {
  margin-top: 1rem;
}

/* Profiles and Single Link. */
.profiles-fan {
  position: relative;
  min-height: 35rem;
}

.profiles-fan img {
  position: absolute;
  top: 50%;
  width: 15rem;
  height: 29rem;
  object-fit: cover;
  object-position: top;
  padding: 0.6rem;
  background: #fff;
  box-shadow: var(--shadow-float);
}

.profiles-fan img:nth-child(1) {
  left: 5%;
  transform: translateY(-50%) rotate(-8deg);
}

.profiles-fan img:nth-child(2) {
  left: 36%;
  z-index: 2;
  transform: translateY(-50%);
}

.profiles-fan img:nth-child(3) {
  right: 2%;
  transform: translateY(-50%) rotate(8deg);
}

.profile-page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.profile-page-grid a {
  position: relative;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--setu-line);
  background: #fff;
  transition: transform var(--duration), box-shadow var(--duration);
}

.profile-page-grid a:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-soft);
}

.profile-page-grid figure {
  height: 29rem;
  overflow: hidden;
  background: #edf4fc;
}

.profile-page-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.profile-page-grid span {
  display: block;
  margin-top: 1rem;
  color: var(--setu-blue);
}

.profile-page-grid h3 {
  margin-top: 0.55rem;
  font-size: 1.7rem;
}

.profile-page-grid p {
  margin-top: 0.6rem;
}

.profile-page-grid svg {
  position: absolute;
  right: 1.2rem;
  top: 1.2rem;
  width: 1.1rem;
}

.single-link-feature-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
}

.single-link-feature-grid h2 {
  max-width: 13ch;
  margin-top: 0.75rem;
}

.single-link-feature-grid p {
  max-width: 38rem;
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.single-link-feature-grid .button {
  margin-top: 1.5rem;
}

.destination-cloud {
  min-height: 29rem;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 3rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.7);
}

.destination-cloud span {
  padding: 0.6rem 0.85rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  border-radius: var(--radius-pill);
  background: #fff;
  color: var(--setu-copy);
}

.destination-cloud strong {
  flex-basis: 100%;
  margin-top: 2rem;
  text-align: center;
  font-size: 2rem;
  font-weight: var(--weight-medium);
}

.single-link-demo {
  position: relative;
  min-height: 34rem;
  display: grid;
  grid-template-columns: 0.8fr auto 1fr;
  gap: 1.5rem;
  align-items: center;
  padding: 2rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.68);
}

.single-link-demo > b {
  color: var(--setu-blue);
  font-size: 2rem;
  font-weight: var(--weight-regular);
}

.single-source {
  display: grid;
  gap: 0.7rem;
}

.single-source img {
  width: 100%;
  height: 17rem;
  object-fit: cover;
}

.single-source span {
  text-align: center;
  color: var(--setu-copy);
}

.single-destination {
  min-height: 15rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.7rem;
  background: #14202b;
  color: #fff;
}

.single-destination small {
  color: #9bc3ff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.single-destination strong {
  margin-top: 0.5rem;
  font-size: 2.4rem;
  font-weight: var(--weight-medium);
}

.single-destination p {
  margin-top: 0.75rem;
  color: #bdc9d5;
}

.destination-tabs {
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
}

.destination-tabs button {
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  border-radius: var(--radius-pill);
  background: #fff;
  cursor: pointer;
}

.destination-tabs button.active, .destination-tabs button:hover {
  background: var(--setu-blue);
  color: #fff;
  border-color: var(--setu-blue);
}

.use-case-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--setu-line);
  border-left: 1px solid var(--setu-line);
}

.use-case-grid article {
  min-height: 16rem;
  padding: 1.4rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
  background: #fff;
}

.use-case-grid span {
  color: var(--setu-blue);
}

.use-case-grid h3 {
  margin-top: 3rem;
  font-size: 1.55rem;
}

.use-case-grid p {
  margin-top: 0.65rem;
}

.single-link-model {
  padding-block: 5rem;
}

.single-link-model .section-heading-split {
  margin-bottom: 0;
}

/* Pricing. */
.pricing-balance {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
}

.pricing-balance > div {
  color: var(--setu-blue);
  font-size: 2rem;
}

.pricing-balance article {
  min-height: 23rem;
  display: flex;
  flex-direction: column;
  padding: 2rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.68);
  box-shadow: var(--shadow-soft);
}

.pricing-balance article.free {
  background: #17222e;
  color: #fff;
}

.pricing-balance span {
  color: var(--setu-blue);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: var(--text-xs);
}

.pricing-balance strong {
  margin-top: 1.8rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(128, 150, 173, 0.25);
  font-size: 1.4rem;
  font-weight: var(--weight-regular);
}

.pricing-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.pricing-card {
  min-height: 38rem;
  display: flex;
  flex-direction: column;
  padding: 2rem;
  border: 1px solid var(--setu-line);
  background: #fff;
}

.pricing-card.featured {
  border-color: var(--setu-blue);
  background: linear-gradient(145deg, #eaf3ff, #fff);
}

.pricing-card > span {
  color: var(--setu-blue);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: var(--text-xs);
}

.pricing-card h2 {
  margin-top: 0.7rem;
  font-size: 2.4rem;
}

.pricing-card > p {
  margin-top: 1rem;
}

.pricing-card ul {
  display: grid;
  gap: 1rem;
  margin: 2.5rem 0 0;
  padding: 0;
  list-style: none;
}

.pricing-card li {
  padding-top: 1rem;
  border-top: 1px solid var(--setu-line);
}

.pricing-card .button, .pricing-card .inline-action {
  margin-top: auto;
}

.comparison-table {
  border-top: 1px solid var(--setu-line);
}

.comparison-row {
  display: grid;
  grid-template-columns: 1.5fr 0.75fr 0.75fr;
  border-left: 1px solid var(--setu-line);
}

.comparison-row > * {
  padding: 1rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
}

.comparison-row strong {
  font-weight: var(--weight-regular);
}

.comparison-row.head {
  background: #17222e;
  color: #fff;
}

/* FAQ, resources, stories, business. */
.faq-search, .resource-search {
  position: relative;
  max-width: 32rem;
  margin-top: 1.8rem;
}

.faq-search input, .resource-search input {
  width: 100%;
  min-height: 3.4rem;
  padding: 0.8rem 3rem 0.8rem 1rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: #fff;
}

.faq-search span, .resource-search span {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--setu-blue);
  font-size: 1.4rem;
}

.faq-route-cloud {
  min-height: 28rem;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 3rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.65);
}

.faq-route-cloud button {
  padding: 0.65rem 0.9rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  border-radius: var(--radius-pill);
  background: #fff;
  cursor: pointer;
}

.faq-route-cloud button.active, .faq-route-cloud button:hover {
  border-color: var(--setu-blue);
  background: var(--setu-blue);
  color: #fff;
}

.faq-layout {
  display: grid;
  grid-template-columns: 18rem 1fr;
  gap: 4rem;
}

.faq-layout aside {
  display: grid;
  align-content: start;
}

.faq-layout aside .eyebrow {
  margin-bottom: 1rem;
}

.faq-layout aside a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--setu-line);
}

.faq-layout aside svg {
  width: 1rem;
}

.faq-list-v2 {
  border-top: 1px solid var(--setu-line);
}

.faq-list-v2 .faq-item {
  border-bottom: 1px solid var(--setu-line);
}

.faq-list-v2 .faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.3rem 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-size: 1.2rem;
}

.faq-list-v2 .faq-question b {
  color: var(--setu-blue);
  font-weight: var(--weight-regular);
}

.faq-list-v2 .faq-item > div {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height var(--duration), opacity var(--duration);
}

.faq-list-v2 .faq-item > div p {
  max-width: 55rem;
  padding: 0 0 1.3rem;
}

.faq-list-v2 .faq-item.open > div {
  max-height: 12rem;
  opacity: 1;
}

.featured-resource {
  min-height: 28rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2.2rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: linear-gradient(145deg, #17222e, #0d1720);
  color: #fff;
  box-shadow: var(--shadow-soft);
}

.featured-resource > span {
  color: #9bc3ff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: var(--text-xs);
}

.featured-resource h2 {
  max-width: 13ch;
  margin-top: 0.7rem;
}

.featured-resource p {
  max-width: 35rem;
  margin-top: 1rem;
  color: #b9c5d2;
}

.featured-resource strong {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
  font-weight: var(--weight-regular);
}

.featured-resource svg {
  width: 1.2rem;
}

.resource-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.resource-grid article {
  min-height: 21rem;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  border: 1px solid var(--setu-line);
  background: #fff;
  transition: transform var(--duration-fast), box-shadow var(--duration-fast);
}

.resource-grid article:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-soft);
}

.resource-grid span {
  color: var(--setu-blue);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: var(--text-xs);
}

.resource-grid h3 {
  margin-top: 3rem;
  font-size: 1.65rem;
}

.resource-grid p {
  margin-top: 0.7rem;
}

.resource-grid a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 1.2rem;
  border-top: 1px solid var(--setu-line);
}

.resource-grid svg {
  width: 1rem;
}

.story-stack {
  position: relative;
  min-height: 33rem;
}

.story-stack img {
  position: absolute;
  width: 61%;
  height: 72%;
  object-fit: cover;
  box-shadow: var(--shadow-float);
}

.story-stack img:first-child {
  left: 0;
  top: 0;
}

.story-stack img:nth-child(2) {
  right: 0;
  bottom: 0;
}

.story-stack > div {
  position: absolute;
  z-index: 3;
  left: 7%;
  bottom: 4%;
  max-width: 18rem;
  padding: 1rem;
  background: rgba(16, 24, 32, 0.92);
  color: #fff;
}

.story-stack span, .story-stack strong {
  display: block;
}

.story-stack span {
  color: #9bc3ff;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.story-stack strong {
  margin-top: 0.35rem;
  font-weight: var(--weight-regular);
}

.story-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.story-editorial-grid article {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 25rem;
  background: #fff;
  border: 1px solid var(--setu-line);
}

.story-editorial-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-editorial-grid article > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem;
}

.story-editorial-grid span {
  color: var(--setu-blue);
}

.story-editorial-grid h3, .story-editorial-grid h2 {
  margin-top: 0.55rem;
}

.story-editorial-grid p {
  margin-top: 0.75rem;
}

.story-editorial-grid a {
  margin-top: 1.2rem;
}

.story-editorial-grid .story-large {
  grid-column: 1/-1;
  grid-template-columns: 1.15fr 0.85fr;
  min-height: 34rem;
}

.story-editorial-grid .story-large h2 {
  font-size: clamp(2.4rem, 4vw, 4rem);
}

.story-editorial-grid .story-wide {
  grid-column: 1/-1;
  grid-template-columns: 0.65fr 1.35fr;
}

.story-editorial-grid .story-wide img {
  object-fit: contain;
  padding: 3rem;
  background: #f2f7ff;
}

.business-hero-visual {
  position: relative;
  min-height: 36rem;
}

.business-profile-preview {
  position: absolute;
  left: 15%;
  top: 0;
  width: 19rem;
  height: 34rem;
  overflow: hidden;
  padding: 0.7rem;
  background: #fff;
  box-shadow: var(--shadow-float);
}

.business-profile-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.business-touchpoint {
  position: absolute;
  z-index: 3;
  width: 14rem;
  height: 12rem;
  object-fit: cover;
  border: 7px solid #fff;
  box-shadow: var(--shadow-soft);
}

.business-touchpoint.one {
  right: 0;
  top: 10%;
}

.business-touchpoint.two {
  right: 4%;
  bottom: 2%;
}

.business-map-note {
  position: absolute;
  z-index: 4;
  left: 0;
  bottom: 8%;
  padding: 1rem;
  background: #17222e;
  color: #fff;
}

.business-map-note small, .business-map-note strong {
  display: block;
}

.business-map-note small {
  color: #9bc3ff;
}

.business-map-note strong {
  margin-top: 0.25rem;
  font-weight: var(--weight-regular);
}

.business-use-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--setu-line);
  border-left: 1px solid var(--setu-line);
}

.business-use-grid article {
  min-height: 17rem;
  padding: 1.4rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
  background: #fff;
}

.business-use-grid span {
  color: var(--setu-blue);
}

.business-use-grid h3 {
  margin-top: 3.4rem;
  font-size: 1.55rem;
}

.business-use-grid p {
  margin-top: 0.65rem;
}

.business-system-grid {
  display: grid;
  grid-template-columns: 0.68fr 1.32fr;
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
}

.business-system-grid h2 {
  max-width: 13ch;
  margin-top: 0.75rem;
}

.business-system-grid p {
  max-width: 36rem;
  margin-top: 1rem;
}

.business-system-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
}

.business-system-flow > div {
  min-height: 12rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.2rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: #fff;
}

.business-system-flow small {
  color: var(--setu-blue);
}

.business-system-flow strong {
  margin-top: 0.6rem;
  font-weight: var(--weight-regular);
}

.business-system-flow b {
  color: var(--setu-blue);
  font-size: 1.5rem;
  font-weight: var(--weight-regular);
}

.business-closing {
  padding-block: 5rem;
}

.business-closing .section-heading-split {
  margin-bottom: 0;
}

/* Enhanced legacy inner pages. */
.inner-hero-enhanced {
  min-height: 72svh;
  align-items: center;
  padding-block: clamp(5rem, 8vw, 8rem);
  background: linear-gradient(135deg, #f8fbff, #edf4ff);
}

.inner-hero-enhanced .inner-hero-grid {
  align-items: center;
}

.inner-hero-enhanced .inner-hero-media {
  position: relative;
  height: 48svh;
  min-height: 26rem;
  box-shadow: var(--shadow-soft);
}

.inner-hero-enhanced .inner-hero-media::after {
  content: "";
  position: absolute;
  inset: 1rem -1rem -1rem 1rem;
  z-index: -1;
  border: 1px solid rgba(58, 141, 255, 0.16);
}

.inner-hero-enhanced h1 {
  font-size: clamp(3.35rem, 4.6vw, 4.9rem);
}

.enhanced-card-grid .product-tile-meta {
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 1rem 0.15rem 0;
}

.enhanced-card-grid .tile-action {
  align-self: center;
}

/* Header and mega final bug fixes. */
.desktop-nav > a::after, .nav-trigger::after {
  bottom: 0.55rem !important;
  height: 2px !important;
}

.site-header::after, .header-inner::after, .nav-node::after {
  content: none !important;
  display: none !important;
}

.mega-panel {
  background: #fff !important;
}

.mega-products-grid > *, .mega-profiles-grid > * {
  background: transparent;
}

.mega-quick-paths a:hover, .mega-quick-paths a:focus-visible {
  background: rgba(58, 141, 255, 0.07);
  box-shadow: inset 3px 0 0 var(--setu-blue);
}

.mega-quick-paths a:hover svg, .mega-quick-paths a:focus-visible svg {
  color: var(--setu-blue);
  transform: translateX(4px);
}

.mega-quick-paths svg {
  transition: transform 180ms ease, color 180ms ease;
}

.mega-single-link-destination strong {
  font-size: 1.1rem !important;
}

/* Homepage state refinements. */
.profile-single-link .single-link-destination strong {
  font-size: clamp(1.7rem, 2.8vw, 2.8rem);
}

.profile-single-link .single-link-destination small {
  line-height: 1.5;
}

.difference-v2 .difference-products img:nth-child(4) {
  left: 8%;
  bottom: 0;
  width: 28%;
  height: 29%;
  opacity: 0;
  transform: translate(-1rem, 1rem) rotate(-3deg);
}

.difference-device[data-state=physical] .difference-products img:nth-child(4) {
  opacity: 1;
  transform: none;
}




/* Product-family inner pages: aligned container, breathing room and integrated arrows. */
.product-family-section > .container {
  width: min(var(--content-wide), 100% - 2 * var(--page-gutter));
}

.product-family-section > .shelf-track {
  width: min(var(--content-wide), 100% - 2 * var(--page-gutter));
  margin: clamp(3.5rem, 6vw, 5rem) auto 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 23rem));
  gap: 1.25rem;
}

.product-family-section .category-product-card {
  width: 100%;
  min-width: 0;
}

.product-family-section .category-product-card figure {
  aspect-ratio: 4/4.75;
}

.product-family-section .product-tile-meta {
  position: relative;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 1rem 0.1rem 0;
}

.product-family-section .tile-action {
  position: static;
  align-self: center;
  margin: 0;
}

.product-family-section .category-product-card:hover .tile-action {
  transform: translate(3px, -3px);
}

.product-family-section + .value-section {
  margin-top: clamp(4rem, 7vw, 7rem);
}


/* How it works. */
.how-hero-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
  padding: 2rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.68);
}

.how-hero-flow > div {
  min-height: 11rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.2rem;
  border: 1px solid rgba(58, 141, 255, 0.14);
  background: #fff;
}

.how-hero-flow span {
  color: var(--setu-blue);
}

.how-hero-flow strong {
  margin-top: 0.55rem;
  font-size: 1.45rem;
  font-weight: var(--weight-regular);
}

.how-hero-flow small {
  margin-top: 0.35rem;
  color: var(--setu-muted);
}

.how-hero-flow b {
  color: var(--setu-blue);
  font-size: 1.6rem;
  font-weight: var(--weight-regular);
}

.how-step-list {
  display: grid;
  gap: 1rem;
}

.how-step-list article {
  min-height: 32rem;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  border: 1px solid var(--setu-line);
  background: #fff;
}

.how-step-list article:nth-child(even) {
  grid-template-columns: 1.2fr 0.8fr;
}

.how-step-list article:nth-child(even) > div {
  order: 2;
}

.how-step-list article:nth-child(even) figure {
  order: 1;
}

.how-step-list article > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5rem);
}

.how-step-list article span {
  color: var(--setu-blue);
}

.how-step-list article h2 {
  max-width: 12ch;
  margin-top: 0.75rem;
}

.how-step-list article p {
  max-width: 35rem;
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.how-step-list article a {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1.5rem;
}

.how-step-list article a svg {
  width: 1rem;
}

.how-step-list figure {
  min-height: 30rem;
  overflow: hidden;
  background: #eaf2fc;
}

.how-step-list figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.how-step-list .qr-step img {
  object-fit: contain;
  padding: 6rem;
}

.how-step-list .direct-step {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 1rem;
  padding: 3rem;
  text-align: center;
  background: linear-gradient(135deg, #e7f1ff, #f9fbff);
}

.how-step-list .direct-step strong {
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: var(--weight-medium);
}

.how-step-list .direct-step div {
  color: var(--setu-muted);
}

.how-closing {
  padding-block: 5rem;
}

.how-closing .section-heading-split {
  margin-bottom: 0;
}

/* Profile detail pages. */
.profile-detail-device {
  position: relative;
  height: 36rem;
  overflow: hidden;
  padding: 1rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--shadow-soft);
}

.profile-detail-device img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.profile-detail-device span {
  position: absolute;
  left: 2rem;
  bottom: 2rem;
  padding: 0.5rem 0.7rem;
  border-radius: var(--radius-pill);
  background: #17222e;
  color: #fff;
  font-size: var(--text-sm);
}

.profile-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--setu-line);
  border-left: 1px solid var(--setu-line);
}

.profile-feature-grid article {
  min-height: 17rem;
  padding: 1.4rem;
  border-right: 1px solid var(--setu-line);
  border-bottom: 1px solid var(--setu-line);
  background: #fff;
}

.profile-feature-grid span {
  color: var(--setu-blue);
}

.profile-feature-grid h3 {
  margin-top: 3rem;
  font-size: 1.55rem;
}

.profile-feature-grid p {
  margin-top: 0.65rem;
}

.profile-physical-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: clamp(3rem, 7vw, 8rem);
  align-items: center;
}

.profile-physical-grid h2 {
  margin-top: 0.75rem;
}

.profile-physical-grid p {
  max-width: 38rem;
  margin-top: 1rem;
  font-size: var(--text-lg);
}

.profile-physical-grid .button {
  margin-top: 1.5rem;
}

.profile-physical-grid figure {
  height: 34rem;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.profile-physical-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-control {
  padding-block: 5rem;
}

.profile-control .section-heading-split {
  margin-bottom: 0;
}


/* Legal pages. */
.legal-index {
  display: grid;
  align-content: center;
  border-top: 1px solid rgba(58, 141, 255, 0.17);
}

.legal-index a {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(58, 141, 255, 0.17);
  color: var(--setu-copy);
}

.legal-index a:hover {
  color: var(--setu-blue);
}

.legal-layout {
  display: grid;
  grid-template-columns: 18rem 1fr;
  gap: clamp(3rem, 7vw, 8rem);
  align-items: start;
}

.legal-layout aside {
  position: sticky;
  top: calc(var(--header-height) + 2rem);
  display: grid;
}

.legal-layout aside .eyebrow {
  margin-bottom: 1rem;
}

.legal-layout aside a {
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--setu-line);
  color: var(--setu-copy);
  font-size: var(--text-sm);
}

.legal-layout aside a:hover {
  color: var(--setu-blue);
}

.legal-layout article {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--setu-line);
}

.legal-layout article section {
  padding: 2rem 0;
  border-bottom: 1px solid var(--setu-line);
}

.legal-layout article h2 {
  font-size: 2.25rem;
}

.legal-layout article p {
  max-width: 55rem;
  margin-top: 0.8rem;
  font-size: var(--text-lg);
}



.value-section p {
  margin-top: 1rem;
}

/* =========================================================
   SETU V9 final system fixes
   ========================================================= */


/* No artificial title choking. The grid column owns wrapping. */
h1,
h2,
.section-title,
.section-heading-split h2,
.inner-hero-v2-copy h1,
.inner-hero h1,
.how-step-list article h2,
.product-category-v9 h2,
.products-v9 h1,
.products-v9 h2 {
  width: 100%;
  max-width: none !important;
}

.home-hero h1 {
  font-size: var(--title-hero) !important;
}

body.inner-system-page h1,
body.inner-page h1,
.inner-hero h1,
.inner-hero-v2-copy h1,
.products-v9 h1 {
  font-size: var(--title-page) !important;
}

/* One compact header state indicator. */
.desktop-nav > a,
.nav-trigger {
  color: #44515e;
  transition: color var(--duration-fast);
}

.desktop-nav > a::after,
.nav-trigger::after {
  left: 0 !important;
  right: auto !important;
  bottom: 0.72rem !important;
  width: 1.45rem !important;
  height: 2px !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  background: var(--setu-blue) !important;
  transition: transform 220ms var(--ease-out) !important;
}

.desktop-nav > a:hover,
.desktop-nav > a[aria-current=page],
.nav-trigger:hover,
.nav-trigger.current,
.nav-trigger[aria-expanded=true] {
  color: var(--setu-blue);
}

.desktop-nav > a:hover::after,
.desktop-nav > a[aria-current=page]::after,
.nav-trigger:hover::after,
.nav-trigger.current::after,
.nav-trigger[aria-expanded=true]::after {
  transform: scaleX(1) !important;
}

.nav-trigger[aria-expanded=true] svg {
  transform: rotate(180deg);
}

/* Mega quick paths now respond as proper interactive rows. */
.mega-quick-paths {
  background: transparent;
}

.mega-quick-paths a {
  margin-inline: -0.75rem;
  padding-inline: 0.75rem;
  transition: color var(--duration-fast), background var(--duration-fast), padding var(--duration-fast);
}

.mega-quick-paths a:hover,
.mega-quick-paths a:focus-visible {
  color: var(--setu-blue);
  background: var(--setu-blue-faint);
  padding-left: 1rem;
}

.mega-quick-paths a svg {
  transition: transform var(--duration-fast);
}

.mega-quick-paths a:hover svg,
.mega-quick-paths a:focus-visible svg {
  transform: translateX(4px);
}

/* Footer CTA: icon, two-line title, supporting copy, one primary button. */
.footer-signal {
  grid-template-columns: 7rem minmax(24rem, 1.08fr) minmax(19rem, 0.72fr) auto;
  gap: clamp(2rem, 4vw, 4.5rem);
}

.footer-signal-title > span {
  color: #8bbcff;
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.footer-signal-title h2 {
  margin-top: 0.65rem;
  font-size: var(--title-section);
  font-weight: var(--title-weight);
  line-height: 1.04;
}

.footer-signal-copy {
  align-self: center;
}

.footer-signal-copy p {
  max-width: 36rem;
  margin: 0;
  color: #b9c4d0;
}

.footer-signal-copy .footer-explore-link {
  margin-top: 1.35rem;
}

.footer-signal-actions {
  align-self: center;
}

/* Product-family category pages retain their composition, with aligned headers/cards. */
.product-family-section > .container {
  width: min(var(--content-wide), 100% - 2 * var(--page-gutter));
}

.product-family-section > .shelf-track {
  margin-top: clamp(3.5rem, 6vw, 5.5rem);
}

.product-family-section .product-tile-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 0.12rem 1rem;
  padding: 1rem 0.15rem 0;
}

.product-family-section .product-tile-meta > div {
  min-width: 0;
}

.product-family-section .tile-action {
  grid-column: 2;
  grid-row: 1/span 2;
  align-self: center;
  justify-self: end;
  margin: 0;
}

.product-family-section .category-product-card:hover .tile-action {
  transform: translate(3px, -3px);
}

/* Profile-direction stage: live, sharp pages inside the existing device frame. */
.profile-system-locked {
  padding-bottom: clamp(4rem, 6vw, 6rem) !important;
}

.profile-system-locked .profile-phone {
  display: flex;
  flex-direction: column;
  transition: opacity 0.3s, visibility 0.3s, transform 0.45s var(--ease-out);
}

.profile-live-preview {
  position: relative;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  background: #f1f6ff;
}

.profile-live-preview iframe {
  position: absolute;
  top: 0;
  left: 50%;
  width: 420px;
  height: 960px;
  border: 0;
  transform: translateX(-50%) scale(0.61);
  transform-origin: top center;
  pointer-events: none;
  background: #f5f8fc;
}

.profile-live-loading {
  position: absolute;
  inset: 1rem;
  display: grid;
  align-content: start;
  gap: 0.65rem;
  padding: 1rem;
  background: #f4f8fd;
  transition: opacity 0.3s, visibility 0.3s;
  pointer-events: none;
}

.profile-live-loading span {
  height: 2.1rem;
  border-radius: 0.55rem;
  background: linear-gradient(90deg, #e7eef7, #f7faff, #e7eef7);
  background-size: 200% 100%;
  animation: setu-live-shimmer 1.5s linear infinite;
}

.profile-live-loading span:first-child {
  height: 8rem;
}

.profile-live-loading span:last-child {
  height: 6rem;
}

.profile-live-preview.is-loaded .profile-live-loading {
  opacity: 0;
  visibility: hidden;
}

@keyframes setu-live-shimmer {
  to {
    background-position: -200% 0;
  }
}
/* Difference links become one integrated dock, not three pasted-on boxes. */
.difference-link-focus {
  left: 50% !important;
  bottom: 1.35rem !important;
  width: min(23rem, 72%);
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: 0 0 0.75rem 0.75rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 38px rgba(8, 43, 96, 0.17);
  transform: translate(-50%, 12px) !important;
}

.difference-link-focus span {
  display: grid;
  place-items: center;
  min-height: 2.6rem;
  padding: 0.45rem 0.55rem !important;
  border: 0 !important;
  border-right: 1px solid rgba(58, 141, 255, 0.17) !important;
  background: transparent !important;
  transition: color var(--duration-fast), background var(--duration-fast);
}

.difference-link-focus span:last-child {
  border-right: 0 !important;
}

.difference-link-focus span:hover {
  color: #fff;
  background: var(--setu-blue) !important;
}

.difference-device[data-state=links] .difference-link-focus {
  transform: translate(-50%, 0) !important;
}

/* Physical state shows a small family of real products. */
.difference-device[data-state=physical] .difference-products img:nth-child(1) {
  opacity: 1 !important;
  left: 1.5rem !important;
  right: auto !important;
  top: 1rem !important;
  width: 8.5rem !important;
  height: 10.5rem !important;
  transform: rotate(-4deg) !important;
}

.difference-device[data-state=physical] .difference-products img:nth-child(2) {
  opacity: 1 !important;
  right: 0.8rem !important;
  top: 1.1rem !important;
  width: 8.2rem !important;
  height: 9.8rem !important;
  transform: rotate(4deg) !important;
}

.difference-device[data-state=physical] .difference-products img:nth-child(3) {
  opacity: 1 !important;
  right: 1.5rem !important;
  bottom: 0.75rem !important;
  width: 8.5rem !important;
  height: 9.5rem !important;
  transform: rotate(2deg) !important;
}

/* =========================================================
   Dedicated Products page
   ========================================================= */
.products-v9 {
  background: var(--setu-canvas);
}

.products-v9-hero {
  min-height: clamp(42rem, 100svh - var(--header-height), 54rem);
  display: grid;
  align-items: center;
  padding-block: clamp(5rem, 8vw, 8rem);
  border-bottom: 1px solid rgba(58, 141, 255, 0.12);
}

.products-v9-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(30rem, 1.18fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 8rem);
}

.products-v9-hero-copy h1 {
  margin-top: 1rem;
  line-height: 1.01;
}

.products-v9-hero-copy > p {
  max-width: 42rem;
  margin-top: 1.5rem;
  font-size: var(--text-lg);
}

.products-v9-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.35rem;
  margin-top: 2rem;
}

.products-v9-hero-visual {
  position: relative;
  min-height: 35rem;
}

.products-v9-hero-main {
  position: absolute;
  inset: 7% 7% 4% 9%;
  overflow: hidden;
  box-shadow: var(--shadow-float);
}

.products-v9-hero-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.products-v9-float {
  position: absolute;
  width: 12rem;
  height: 12rem;
  padding: 0.55rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-soft);
}

.products-v9-float img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.products-v9-float-card {
  left: 0;
  top: 0;
  transform: rotate(-4deg);
}

.products-v9-float-wear {
  right: 0;
  top: 8%;
  transform: rotate(3deg);
}

.products-v9-float-tag {
  right: 5%;
  bottom: 0;
  transform: rotate(-2deg);
}

.products-v9-hero-note {
  position: absolute;
  left: 3%;
  bottom: 4%;
  z-index: 3;
  max-width: 16rem;
  padding: 1rem 1.15rem;
  color: #fff;
  background: rgba(16, 24, 32, 0.92);
}

.products-v9-hero-note small, .products-v9-hero-note strong {
  display: block;
}

.products-v9-hero-note small {
  color: #9bc4ff;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

.products-v9-hero-note strong {
  margin-top: 0.25rem;
  font-size: var(--text-xl);
  font-weight: var(--weight-regular);
}

.products-v9-chooser {
  padding-block: clamp(5rem, 8vw, 8rem);
}

.products-v9-heading-split,
.product-category-v9-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.64fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 7rem);
}

.products-v9-heading-split h2,
.product-category-v9-header h2 {
  margin-top: 0.8rem;
  font-size: var(--title-section);
}

.products-v9-heading-split > p,
.product-category-v9-header > p {
  max-width: 43rem;
  justify-self: end;
  font-size: var(--text-lg);
}

.products-v9-use-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 3.5rem;
  border: 1px solid var(--setu-line);
  background: rgba(255, 255, 255, 0.75);
}

.products-v9-use-grid a {
  position: relative;
  min-height: 11rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: end;
  gap: 0.3rem 1rem;
  padding: 1.35rem;
  border-right: 1px solid var(--setu-line);
  overflow: hidden;
  transition: color var(--duration-fast), background var(--duration-fast);
}

.products-v9-use-grid a:last-child {
  border-right: 0;
}

.products-v9-use-grid a::before {
  content: "";
  position: absolute;
  inset: auto 1.35rem 0;
  height: 2px;
  background: var(--setu-blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--duration) var(--ease-out);
}

.products-v9-use-grid a::after {
  content: "";
  position: absolute;
  width: 10rem;
  aspect-ratio: 1;
  right: -6rem;
  top: -6rem;
  border: 1px solid rgba(58, 141, 255, 0.16);
  border-radius: 50%;
  opacity: 0;
  transition: opacity var(--duration), transform var(--duration-slow) var(--ease-out);
}

.products-v9-use-grid span {
  grid-column: 1;
  color: var(--setu-muted);
}

.products-v9-use-grid strong {
  grid-column: 1;
  font-size: var(--text-xl);
  font-weight: var(--weight-regular);
}

.products-v9-use-grid svg {
  grid-column: 2;
  grid-row: 1/3;
  width: 1rem;
  align-self: end;
  transition: transform var(--duration-fast);
}

.products-v9-use-grid a:hover, .products-v9-use-grid a:focus-visible {
  color: var(--setu-blue);
  background: var(--setu-blue-faint);
}

.products-v9-use-grid a:hover::before, .products-v9-use-grid a:focus-visible::before {
  transform: scaleX(1);
}

.products-v9-use-grid a:hover::after, .products-v9-use-grid a:focus-visible::after {
  opacity: 1;
  transform: scale(1.12);
}

.products-v9-use-grid a:hover svg, .products-v9-use-grid a:focus-visible svg {
  transform: translateX(4px);
}

.products-v9-foundation {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1.25rem;
  color: #fff;
  background: linear-gradient(135deg, #15212d, #101820);
}

.products-v9-foundation > div {
  min-height: 9rem;
  padding: 1.4rem;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.products-v9-foundation > div:last-child {
  border-right: 0;
}

.products-v9-foundation strong {
  font-weight: var(--weight-medium);
}

.products-v9-foundation p {
  max-width: 28rem;
  margin-top: 0.45rem;
  color: #b8c5d4;
}

.product-category-v9 {
  padding-block: clamp(5.5rem, 8vw, 8rem);
  scroll-margin-top: calc(var(--header-height) + 1rem);
}

.product-category-v9-header {
  margin-bottom: clamp(3rem, 5vw, 5rem);
}

.product-category-v9-header.compact {
  margin-bottom: 2.5rem;
}

.cards-v9-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.product-card-v9 {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.product-card-v9 figure {
  aspect-ratio: 4/4.35;
  overflow: hidden;
  background: #e7edf5;
}

.product-card-v9 figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.75s var(--ease-out), filter 0.4s;
}

.product-card-v9-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0.1rem 0;
}

.product-card-v9-footer h3 {
  font-size: var(--text-xl);
  font-weight: var(--weight-medium);
}

.product-card-v9-footer p {
  margin-top: 0.15rem;
  color: var(--setu-muted);
}

.product-card-v9-arrow {
  width: 2.65rem;
  height: 2.65rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--setu-line);
  border-radius: 50%;
  transition: transform var(--duration-fast), color var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast);
}

.product-card-v9:hover figure img {
  transform: scale(1.025);
  filter: saturate(0.9);
}

.product-card-v9:hover .product-card-v9-arrow {
  transform: translate(3px, -3px);
  color: #fff;
  background: var(--setu-blue);
  border-color: var(--setu-blue);
}

.category-wear {
  background: radial-gradient(circle at 18% 30%, rgba(58, 141, 255, 0.16), transparent 29%), linear-gradient(135deg, #15212d, #0f1821);
}

.wear-v9-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(21rem, 0.82fr);
  align-items: stretch;
  min-height: 42rem;
}

.wear-v9-media {
  overflow: hidden;
}

.wear-v9-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wear-v9-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2.5rem, 5vw, 5rem);
}

.wear-v9-copy h2 {
  margin-top: 1rem;
}

.wear-v9-copy > p {
  max-width: 36rem;
  margin-top: 1.2rem;
  color: #b8c5d4;
  font-size: var(--text-lg);
}

.wear-v9-copy ul {
  display: grid;
  gap: 0.55rem;
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
  color: #d4dde7;
}

.wear-v9-copy li::before {
  content: "";
  display: inline-block;
  width: 0.4rem;
  height: 0.4rem;
  margin-right: 0.65rem;
  border-radius: 50%;
  background: var(--setu-blue);
  vertical-align: 0.08rem;
}

.wear-v9-copy .inline-action {
  margin-top: 2rem;
}

.category-accessories {
  background: linear-gradient(135deg, #f9f7f3, #edf4fb 68%, #f8fbff);
}

.accessories-v9-grid {
  display: grid;
  grid-template-columns: 1.28fr 0.72fr;
  gap: 1.25rem;
  align-items: start;
}

.product-card-v9-wide figure {
  aspect-ratio: 16/10;
}

.accessories-v9-grid > .product-card-v9:not(.product-card-v9-wide) figure {
  aspect-ratio: 4/5;
}

.bundles-v9-grid {
  display: grid;
  grid-template-columns: minmax(22rem, 0.78fr) minmax(0, 1.22fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 8rem);
}

.bundles-v9-copy h2 {
  margin-top: 1rem;
}

.bundles-v9-copy > p {
  max-width: 39rem;
  margin-top: 1.25rem;
  font-size: var(--text-lg);
}

.bundles-v9-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.6rem;
}

.bundles-v9-points span {
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(58, 141, 255, 0.18);
  background: rgba(255, 255, 255, 0.66);
}

.bundles-v9-copy .button {
  margin-top: 2rem;
}

.bundles-v9-visual {
  position: relative;
  min-height: 38rem;
}

.bundles-v9-main {
  position: absolute;
  inset: 7% 5% 5% 10%;
  overflow: hidden;
  box-shadow: var(--shadow-float);
}

.bundles-v9-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bundles-v9-card, .bundles-v9-tag {
  position: absolute;
  width: 12rem;
  height: 13rem;
  padding: 0.5rem;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.bundles-v9-card {
  left: 0;
  top: 0;
  transform: rotate(-4deg);
}

.bundles-v9-tag {
  right: 0;
  bottom: 0;
  transform: rotate(4deg);
}

.bundles-v9-card img, .bundles-v9-tag img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bundles-v9-route {
  position: absolute;
  right: 3%;
  top: 8%;
  z-index: 3;
  width: 14rem;
  padding: 1rem;
  color: #fff;
  background: rgba(16, 24, 32, 0.92);
}

.bundles-v9-route span, .bundles-v9-route strong {
  display: block;
}

.bundles-v9-route span {
  color: #9bc4ff;
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.bundles-v9-route i {
  display: block;
  width: 100%;
  height: 1px;
  margin: 0.7rem 0;
  background: linear-gradient(90deg, var(--setu-blue), transparent);
}

.bundles-v9-route strong {
  font-size: var(--text-lg);
  font-weight: var(--weight-regular);
}

.products-v9-compare {
  padding-block: clamp(5rem, 8vw, 8rem);
  background: #fff;
}

.products-v9-table {
  border-top: 1px solid var(--setu-line);
}

.products-v9-table-row {
  display: grid;
  grid-template-columns: 1.2fr 1.2fr 0.8fr 0.6fr 0.7fr;
  gap: 1rem;
  align-items: center;
  padding: 1rem 0.25rem;
  border-bottom: 1px solid var(--setu-line);
  transition: color var(--duration-fast), background var(--duration-fast), padding var(--duration-fast);
}

.products-v9-table-row.head {
  color: var(--setu-muted);
  font-size: var(--text-sm);
}

.products-v9-table-row strong {
  font-weight: var(--weight-medium);
}

.products-v9-table-row:not(.head):hover {
  color: var(--setu-blue);
  background: var(--setu-blue-faint);
  padding-inline: 1rem;
}




/* Active location is a dot; hover/open is a short line. They never become one long rail. */
.desktop-nav > a[aria-current=page]::after,
.nav-trigger.current::after {
  left: 50% !important;
  bottom: 0.76rem !important;
  width: 0.38rem !important;
  height: 0.38rem !important;
  border-radius: 50% !important;
  transform: translateX(-50%) scale(1) !important;
}

.desktop-nav > a[aria-current=page]:hover::after,
.nav-trigger.current:hover::after,
.nav-trigger.current[aria-expanded=true]::after {
  width: 0.38rem !important;
  height: 0.38rem !important;
  transform: translateX(-50%) scale(1) !important;
}



/* ==========================================================================\n   Homepage foundation v47\n   Purpose-built homepage scenes. These classes replace rejected boxed demos.\n   ========================================================================== */

/* The product shelf is scroll-driven. Visual arrows are intentionally absent. */
.product-shelf .carousel-arrow { display: none !important; }
.product-shelf .carousel-shell { position: relative; }

/* Digital-first story: one composition evolves inside the approved homepage container. */







.foundation-progress { margin-top: 2.15rem; margin-bottom: 1.15rem; }
.foundation-progress i { background: rgba(58,141,255,.22); }
.foundation-progress i.active { background: var(--setu-blue); }

.foundation-stage {
  position: relative;
  height: min(66vh, 40rem);
  min-height: 32rem;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(58,141,255,.12), rgba(58,141,255,.035) 55%, rgba(255,255,255,.84)),
    #eef5ff;
  border: 1px solid rgba(58,141,255,.13);
}
.foundation-profile-stack,
.foundation-link-cloud,
.foundation-qr,
.foundation-products,
.foundation-anchor {
  position: absolute;
  transition: transform .82s var(--ease-out), opacity .48s var(--ease-standard), filter .58s var(--ease-standard);
}
.foundation-profile-stack {
  z-index: 3;
  left: 6%;
  top: 11%;
  width: 68%;
  height: 78%;
  transform: translate3d(0,0,0) scale(1);
}
.foundation-snapshot {
  position: absolute;
  overflow: hidden;
  margin: 0;
  border: 5px solid rgba(255,255,255,.98);
  background: #fff;
  box-shadow: 0 22px 55px rgba(31,67,113,.15);
  transition: transform .82s var(--ease-out), width .82s var(--ease-out), opacity .5s;
}
.foundation-snapshot img { width:100%; height:100%; object-fit:cover; }
.foundation-snapshot-identity { width: 60%; height: 43%; left: 0; top: 2%; transform: rotate(-.8deg); }
.foundation-snapshot-contact { width: 51%; height: 24%; right: 0; top: 20%; transform: rotate(.7deg); }
.foundation-snapshot-about { width: 48%; height: 36%; left: 18%; bottom: 2%; transform: rotate(-.45deg); }
.foundation-anchor {
  z-index: 8;
  left: 5%;
  top: 5%;
  padding: .68rem .82rem;
  border-left: 2px solid var(--setu-blue);
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 30px rgba(31,67,113,.07);
  backdrop-filter: blur(10px);
}
.foundation-anchor small { display:block; color:var(--setu-muted); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.12em; }
.foundation-anchor strong { display:block; margin-top:.15rem; color:var(--setu-ink); font-size:var(--text-sm); font-weight:var(--weight-medium); }
.foundation-link-cloud {
  z-index: 5;
  right: 5%;
  top: 28%;
  width: 36%;
  display: grid;
  gap: .65rem;
  opacity: 0;
  transform: translate3d(30px,0,0);
}
.foundation-link-cloud span {
  width: fit-content;
  padding: .66rem .9rem;
  border: 1px solid rgba(58,141,255,.16);
  background: rgba(255,255,255,.92);
  color: var(--setu-ink);
  backdrop-filter: blur(12px);
  font-size: var(--text-sm);
  box-shadow: 0 12px 30px rgba(31,67,113,.08);
}
.foundation-link-cloud span:nth-child(2), .foundation-link-cloud span:nth-child(4) { margin-left: 20%; }
.foundation-qr {
  z-index: 6;
  right: 7%;
  top: 29%;
  width: min(13rem, 27%);
  margin: 0;
  padding: .65rem;
  background: #fff;
  box-shadow: 0 24px 58px rgba(31,67,113,.16);
  opacity: 0;
  transform: translate3d(26px,18px,0) scale(.88) rotate(1deg);
}
.foundation-qr img { width:100%; aspect-ratio:1; object-fit:cover; }
.foundation-qr figcaption { padding:.58rem .18rem .02rem; color:var(--setu-copy); font-size:var(--text-xs); }
.foundation-products {
  z-index: 7;
  inset: 10% 2% 7% auto;
  width: 56%;
  opacity: 0;
  pointer-events: none;
}
.foundation-products figure {
  position:absolute;
  width: 9rem;
  margin:0;
  padding:.42rem;
  background:#fff;
  box-shadow:0 22px 52px rgba(31,67,113,.17);
  transition: transform .85s var(--ease-out);
}
.foundation-products figure:nth-child(1){left:2%;top:5%;transform:translate3d(30px,-6px,0) rotate(-4deg)}
.foundation-products figure:nth-child(2){right:5%;top:24%;transform:translate3d(34px,0,0) rotate(3deg)}
.foundation-products figure:nth-child(3){left:18%;bottom:3%;transform:translate3d(26px,22px,0) rotate(2deg)}
.foundation-products img{width:100%;aspect-ratio:4/5;object-fit:cover}
.foundation-products span{display:block;padding:.4rem .15rem .05rem;color:var(--setu-ink);font-size:var(--text-xs)}
.foundation-stage[data-state="links"] .foundation-profile-stack { transform: translate3d(-12%,0,0) scale(.92); }
.foundation-stage[data-state="links"] .foundation-link-cloud { opacity:1; transform:none; }
.foundation-stage[data-state="links"] .foundation-snapshot-about { opacity:.55; transform:translate3d(-8px,6px,0) rotate(-1.3deg); }
.foundation-stage[data-state="qr"] .foundation-profile-stack { transform: translate3d(-19%,2%,0) scale(.84); filter:saturate(.9); }
.foundation-stage[data-state="qr"] .foundation-link-cloud { opacity:.32; transform:translate3d(-7px,10px,0) scale(.95); }
.foundation-stage[data-state="qr"] .foundation-qr { opacity:1; transform:translate3d(0,0,0) scale(1) rotate(-.6deg); }
.foundation-stage[data-state="physical"] .foundation-profile-stack { transform: translate3d(-22%,3%,0) scale(.73); opacity:.78; }
.foundation-stage[data-state="physical"] .foundation-link-cloud { opacity:0; transform:translate3d(-14px,10px,0); }
.foundation-stage[data-state="physical"] .foundation-qr { opacity:.62; transform:translate3d(-75%,42%,0) scale(.68) rotate(-3deg); }
.foundation-stage[data-state="physical"] .foundation-products { opacity:1; }
.foundation-stage[data-state="physical"] .foundation-products figure:nth-child(1){transform:translate3d(0,0,0) rotate(-3deg)}
.foundation-stage[data-state="physical"] .foundation-products figure:nth-child(2){transform:translate3d(0,0,0) rotate(2deg)}
.foundation-stage[data-state="physical"] .foundation-products figure:nth-child(3){transform:translate3d(0,0,0) rotate(1deg)}

/* Permanent-handle story: curated snapshots morph inside one bounded editorial composition. */



.identity-mosaic {
  position:relative;
  width:100%;
  height:min(63vh,39rem);
  min-height:32rem;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(58,141,255,.065),rgba(58,141,255,.018));
  border:1px solid rgba(58,141,255,.11);
}
.identity-mosaic-glow { display:none; }
.identity-snap {
  position:absolute;
  margin:0;
  overflow:hidden;
  background:#fff;
  border:4px solid rgba(255,255,255,.98);
  box-shadow:0 18px 48px rgba(31,67,113,.12);
  transition:left .85s var(--ease-out),top .85s var(--ease-out),width .85s var(--ease-out),height .85s var(--ease-out),transform .85s var(--ease-out),box-shadow .5s;
  will-change:left,top,width,height,transform;
}
.identity-snap img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .52s var(--ease-standard),transform .85s var(--ease-out); }
.identity-snap img.is-professional{opacity:1;transform:scale(1)}
.identity-snap img.is-personal{opacity:0;transform:scale(1.02)}
.identity-mosaic[data-state="professional"] .snap-identity{left:4%;top:5%;width:52%;height:30%;transform:rotate(-.45deg);z-index:4}
.identity-mosaic[data-state="professional"] .snap-contact{left:60%;top:6%;width:36%;height:17%;transform:rotate(.35deg);z-index:6}
.identity-mosaic[data-state="professional"] .snap-focus{left:4%;top:40%;width:43%;height:45%;transform:rotate(-.35deg);z-index:5}
.identity-mosaic[data-state="professional"] .snap-about{left:51%;top:28%;width:45%;height:27%;transform:rotate(.45deg);z-index:3}
.identity-mosaic[data-state="professional"] .snap-links{left:51%;top:60%;width:45%;height:22%;transform:rotate(.3deg);z-index:4}
.identity-mosaic[data-state="professional"] .snap-extra{left:58%;top:86%;width:34%;height:10%;transform:none;z-index:2}
.identity-mosaic[data-state="personal"] .identity-snap img.is-professional{opacity:0;transform:scale(.98)}
.identity-mosaic[data-state="personal"] .identity-snap img.is-personal{opacity:1;transform:scale(1)}
.identity-mosaic[data-state="personal"] .snap-identity{left:5%;top:5%;width:55%;height:31%;transform:rotate(.55deg);z-index:5}
.identity-mosaic[data-state="personal"] .snap-contact{left:63%;top:6%;width:33%;height:17%;transform:rotate(-.55deg);z-index:6}
.identity-mosaic[data-state="personal"] .snap-focus{left:5%;top:42%;width:31%;height:43%;transform:rotate(-1deg);z-index:4}
.identity-mosaic[data-state="personal"] .snap-about{left:40%;top:30%;width:56%;height:30%;transform:rotate(-.35deg);z-index:3}
.identity-mosaic[data-state="personal"] .snap-links{left:40%;top:65%;width:56%;height:20%;transform:rotate(.55deg);z-index:5}
.identity-mosaic[data-state="personal"] .snap-extra{left:8%;top:87%;width:27%;height:9%;transform:rotate(.5deg);z-index:3}
.identity-mosaic[data-state="personal"] .identity-snap{box-shadow:0 20px 52px rgba(31,67,113,.14)}



.identity-mode { display:block; margin-top:1.15rem; color:var(--setu-blue); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.1em; }



.identity-progress { margin-top:1.8rem; margin-bottom:1.05rem; }


/* Footer v48: compressed, identity-led, and deliberately quieter. */
.footer-signal {
  grid-template-columns:4.5rem minmax(22rem,1.1fr) minmax(18rem,.72fr) auto;
  gap:clamp(1.5rem,3vw,3.5rem);
  padding-block:2.8rem;
}
.footer-signal-mark { width:4.25rem; height:4.25rem; border:0; border-radius:0; background:transparent; }
.footer-signal-mark img { width:2.75rem; filter:none; }
.footer-signal-title > span { color:#8bbcff; font-size:var(--text-xs); letter-spacing:.12em; text-transform:uppercase; }
.footer-signal-title h2 { margin-top:.55rem; font-size:clamp(2rem,2.7vw,2.65rem); font-weight:var(--title-weight); line-height:1.05; }
.footer-signal-copy { align-self:center; }
.footer-signal-copy p { max-width:32rem; margin:0; color:#b9c4d0; }
.footer-signal-copy .footer-explore-link { margin-top:1rem; }
.footer-signal-actions { align-self:center; }
.footer-free-rail .container-wide { width:min(86rem,calc(100% - 2 * var(--page-gutter))); }
.footer-free-rail span { padding:.72rem .55rem; font-size:var(--text-xs); }
.footer-core-v47 {
  width:min(86rem,calc(100% - 2 * var(--page-gutter)));
  grid-template-columns:minmax(16rem,1.25fr) .62fr .62fr minmax(17rem,1.05fr);
  gap:clamp(2rem,3.5vw,3.75rem);
  align-items:start;
  padding-block:2.9rem 2.65rem;
}
.footer-brand-v47 { max-width:26rem; }
.footer-brand-v47 img { width:7.1rem; filter:none; }
.footer-brand-v47 h3 { margin-top:1.1rem; color:#fff; font-size:var(--text-xl); font-weight:var(--weight-medium); }
.footer-brand-v47 p { max-width:27ch; margin-top:.55rem; }
.footer-brand-v47 > a { margin-top:.8rem; }
.footer-nav-block h3 { margin-bottom:.7rem; }
.footer-nav-block a { padding:.2rem 0; }
.footer-nav-cluster { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem 2rem; }
.footer-nav-cluster .footer-lab { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.2rem; padding:.65rem 0 0; border-top:1px solid rgba(255,255,255,.1); color:#fff; }
.footer-lab span { font-size:var(--text-sm); }
.footer-lab small { padding:.22rem .42rem; border:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.58); font-size:var(--text-xs); }
.footer-bottom-v47 { width:min(86rem,calc(100% - 2 * var(--page-gutter))); align-items:center; padding-block:1rem 1.2rem; }
.footer-bottom-v47 > div { gap:1.2rem; }







/* ===== Source baseline: v10-inner.css ===== */
/* SETU V10 inner-site reconstruction. Homepage structure remains unchanged. */

html{scroll-padding-top:calc(var(--header-height,4.6rem) + 1rem)}
body.inner-rebuilt-v10{background:var(--v10-canvas);color:var(--v10-ink)}
body.inner-rebuilt-v10 .page-main{overflow:clip}
body.inner-rebuilt-v10 h1,body.inner-rebuilt-v10 h2,body.inner-rebuilt-v10 h3{max-width:none;text-wrap:balance;font-weight:400}
body.inner-rebuilt-v10 h1{font-size:clamp(2.45rem,4.25vw,3.25rem);line-height:1.03;letter-spacing:-.045em}
body.inner-rebuilt-v10 h2{font-size:clamp(2.15rem,3.5vw,3rem);line-height:1.05;letter-spacing:-.04em}
body.inner-rebuilt-v10 h3{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.12;letter-spacing:-.025em}
body.home-v10-global .home-hero h1,body.home-v10-global .hero h1,body.home-v10-global [class*="hero"] h1{font-size:clamp(2.8rem,5vw,3.75rem)!important}
body.inner-rebuilt-v10 p{color:var(--v10-copy);font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.58}
body.inner-rebuilt-v10 a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}

/* Header active / hover state, one compact indicator only. */
.site-header .desktop-nav>a,.site-header .nav-trigger{position:relative;border:0!important;box-shadow:none!important}
.site-header .desktop-nav>a::after,.site-header .nav-trigger::after{content:"";position:absolute;left:0;bottom:.82rem;width:1.35rem;height:2px;background:var(--v10-blue);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-header .desktop-nav>a:hover::after,.site-header .desktop-nav>a[aria-current="page"]::after,.site-header .nav-trigger:hover::after,.site-header .nav-trigger[aria-expanded="true"]::after,.site-header .nav-trigger.is-current::after{transform:scaleX(1)}
.site-header .desktop-nav>a:hover,.site-header .desktop-nav>a[aria-current="page"],.site-header .nav-trigger:hover,.site-header .nav-trigger.is-current{color:var(--v10-blue-deep)}
.site-header .desktop-nav>a::before,.site-header .nav-trigger::before{display:none!important}

.v10-page{background:var(--v10-canvas)}
.v10-section{padding-block:var(--v10-section-y);position:relative}
.v10-section.signal-surface{background:linear-gradient(135deg,#edf5ff 0%,#f8fbff 48%,#eaf3ff 100%)}
.v10-eyebrow{display:flex;align-items:center;gap:.8rem;color:#53667d;font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;margin-bottom:1.2rem}
.v10-eyebrow>span{width:1.1rem;height:1px;background:currentColor}
.v10-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:2rem}
.v10-actions:empty{display:none}
.v10-actions .inline-action{margin:0}

/* Hero system: bounded, compact, full-width background with a strong composition. */
.v10-hero{position:relative;isolation:isolate;min-height:clamp(38rem,72svh,47rem);display:grid;align-items:center;padding-block:clamp(4.5rem,8vw,8rem);background:
 radial-gradient(circle at 82% 15%,rgba(58,141,255,.17),transparent 30%),
 radial-gradient(circle at 45% 85%,rgba(58,141,255,.10),transparent 38%),
 linear-gradient(135deg,#f8fbff 0%,#eff5fd 100%);border-bottom:1px solid var(--v10-line);overflow:hidden}
.v10-hero::before{content:"";position:absolute;width:38rem;aspect-ratio:1;border:1px solid rgba(58,141,255,.14);border-radius:50%;right:-14rem;top:-18rem;box-shadow:0 0 0 5rem rgba(58,141,255,.025),0 0 0 10rem rgba(58,141,255,.018);z-index:-1}
.v10-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(30rem,1.1fr);gap:clamp(3rem,7vw,8rem);align-items:center}
.v10-hero-copy{min-width:0}
.v10-hero-copy h1{margin:0}
.v10-hero-copy>p{margin:1.6rem 0 0;max-width:42rem}
.v10-hero-visual{min-height:28rem;display:grid;place-items:center;position:relative;min-width:0}
.v10-hero.compact{min-height:32rem;padding-block:4.5rem}
.v10-section-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.7fr);gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2.7rem,5vw,5rem)}
.v10-section-head h2{margin:0}
.v10-section-head>p{margin:0 0 .4rem}

/* Products master */
.v10-product-orbit{width:min(100%,42rem);aspect-ratio:1.25;position:relative;border:1px solid rgba(58,141,255,.25);background:rgba(255,255,255,.42);box-shadow:0 25px 70px rgba(45,91,145,.14);overflow:hidden}
.v10-product-orbit::before,.v10-product-orbit::after{content:"";position:absolute;border:1px solid rgba(58,141,255,.15);border-radius:50%;inset:10%}.v10-product-orbit::after{inset:24%}
.v10-orbit-core{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;width:8.5rem;aspect-ratio:1;border-radius:50%;background:var(--v10-dark);display:grid;place-items:center;z-index:3;box-shadow:0 20px 45px rgba(16,26,36,.22)}
.v10-orbit-core img{width:4.2rem;filter:brightness(0) invert(1)}
.v10-product-orbit figure{position:absolute;margin:0;width:12rem;height:9rem;overflow:hidden;background:#fff;box-shadow:0 18px 38px rgba(21,46,76,.16)}
.v10-product-orbit figure img{width:100%;height:100%;object-fit:cover}
.orbit-card{left:3%;top:7%;transform:rotate(-4deg)}.orbit-wear{right:3%;top:8%;transform:rotate(4deg)}.orbit-tag{left:5%;bottom:7%;transform:rotate(3deg)}.orbit-bundle{right:4%;bottom:6%;transform:rotate(-3deg)}
.v10-use-picker{padding-bottom:0}
.v10-use-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--v10-line);background:#fff}
.v10-use-grid a{position:relative;min-height:11rem;padding:2.1rem 1.8rem;display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid var(--v10-line);overflow:hidden;color:var(--v10-ink)}
.v10-use-grid a:last-child{border-right:0}.v10-use-grid a::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(58,141,255,.15),transparent 60%);opacity:0;transition:opacity .25s ease}.v10-use-grid a::after{content:"";position:absolute;left:1.8rem;right:1.8rem;bottom:0;height:3px;background:var(--v10-blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.v10-use-grid a:hover,.v10-use-grid a:focus-visible{background:#f5f9ff}.v10-use-grid a:hover::before,.v10-use-grid a:focus-visible::before{opacity:1}.v10-use-grid a:hover::after,.v10-use-grid a:focus-visible::after{transform:scaleX(1)}
.v10-use-grid small{color:#8290a0;font-size:1rem}.v10-use-grid strong{font-size:1.55rem;font-weight:400;margin-top:.7rem}.v10-use-grid svg{width:1.25rem}.v10-use-grid a>span{position:absolute;right:1.5rem;bottom:1.55rem}.v10-use-grid a:hover>span{transform:translateX(.25rem)}
.v10-foundation-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--v10-dark);color:#fff;margin-top:2rem}
.v10-foundation-strip>div{padding:1.8rem 2rem;border-right:1px solid rgba(255,255,255,.12)}.v10-foundation-strip>div:last-child{border-right:0}.v10-foundation-strip strong,.v10-foundation-strip span{display:block}.v10-foundation-strip strong{font-weight:500}.v10-foundation-strip span{color:#aeb9c6;font-size:.9rem;line-height:1.45;margin-top:.4rem}
.v10-category-scene{padding-block:clamp(5rem,8vw,8.5rem);position:relative;overflow:hidden}
.v10-category-grid{display:grid;grid-template-columns:minmax(22rem,.82fr) minmax(30rem,1.18fr);gap:clamp(4rem,8vw,10rem);align-items:center}.v10-category-grid.reverse{grid-template-columns:minmax(30rem,1.18fr) minmax(22rem,.82fr)}.v10-category-grid.reverse>.v10-category-copy{order:2}.v10-category-grid.reverse>:last-child{order:1}
.v10-category-copy h2{margin:0}.v10-category-copy p{margin:1.4rem 0}.v10-category-copy ul{list-style:none;margin:2rem 0;padding:0;border-top:1px solid rgba(100,113,129,.25)}.v10-category-copy li{padding:.85rem 0;border-bottom:1px solid rgba(100,113,129,.25);color:var(--v10-copy)}
.v10-category-visual{height:clamp(27rem,42vw,39rem);overflow:hidden;position:relative;box-shadow:0 26px 70px rgba(25,57,95,.15)}.v10-category-visual>img{width:100%;height:100%;object-fit:cover}
.v10-category-cards{background:#fff}.v10-card-stack{box-shadow:none;background:transparent}.v10-card-stack img{position:absolute;width:62%;height:76%;object-fit:cover;box-shadow:0 24px 55px rgba(16,35,59,.18)}.v10-card-stack img:first-child{left:0;top:0}.v10-card-stack img:last-child{right:0;bottom:0}
.v10-category-wear,.v10-category-bundles{background:var(--v10-dark);color:#fff}.v10-category-wear p,.v10-category-bundles p,.v10-category-wear li,.v10-category-bundles li{color:#b5c0cc}.v10-category-wear .v10-eyebrow,.v10-category-bundles .v10-eyebrow{color:#8cbaff}.v10-category-wear .v10-inline-action,.v10-category-bundles .v10-inline-action{color:#fff}
.v10-category-accessories{background:linear-gradient(135deg,#f1eae3,#f9f7f4)}
.v10-paired-media{height:clamp(27rem,42vw,39rem);display:grid;grid-template-columns:1fr 1fr;gap:1rem}.v10-paired-media img{width:100%;height:100%;object-fit:cover}
.v10-bundle-map{height:33rem;position:relative;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at center,rgba(58,141,255,.18),transparent 38%)}.bundle-hub{position:absolute;left:50%;top:50%;translate:-50% -50%;width:10rem;aspect-ratio:1;border-radius:50%;background:var(--v10-blue);display:grid;place-items:center;text-align:center;font-size:1.35rem}.v10-bundle-map span{position:absolute;padding:.9rem 1.2rem;border:1px solid rgba(255,255,255,.2);background:#152331}.v10-bundle-map span:nth-of-type(1){left:8%;top:12%}.v10-bundle-map span:nth-of-type(2){right:8%;top:15%}.v10-bundle-map span:nth-of-type(3){left:12%;bottom:14%}.v10-bundle-map span:nth-of-type(4){right:10%;bottom:12%}
.v10-comparison-cards{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--v10-line);background:#fff}.v10-comparison-cards article{padding:2rem;border-right:1px solid var(--v10-line)}.v10-comparison-cards article:last-child{border-right:0}.v10-comparison-cards strong{font-size:.77rem;text-transform:uppercase;letter-spacing:.08em;color:var(--v10-blue)}.v10-comparison-cards h3{margin:1.2rem 0 .6rem}.v10-comparison-cards p{font-size:.96rem}

/* Archive / cards */
.v10-category-hero-image{position:relative;width:min(100%,39rem);height:31rem;box-shadow:0 28px 70px rgba(21,46,76,.18)}.v10-category-hero-image img{width:100%;height:100%;object-fit:cover}.v10-category-hero-image span{position:absolute;right:0;bottom:0;background:var(--v10-dark);color:#fff;padding:1rem 1.3rem}
.v10-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4.5rem)}
.v10-image-card{display:block;color:var(--v10-ink);min-width:0}.v10-image-wrap{height:clamp(24rem,37vw,38rem);overflow:hidden;background:#e8eef6}.v10-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease-out)}.v10-card-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.3rem;align-items:center;padding-top:1.2rem}.v10-card-foot h3,.v10-card-foot p{margin:0}.v10-card-foot p{font-size:.92rem}.v10-round-arrow{width:2.65rem;aspect-ratio:1;border:1px solid var(--v10-line);border-radius:50%;display:grid;place-items:center}.v10-round-arrow svg{width:1.1rem}.v10-image-card:hover img{transform:scale(1.035)}.v10-image-card:hover .v10-round-arrow{background:var(--v10-blue);color:#fff;border-color:var(--v10-blue);transform:translate(2px,-2px)}
.v10-two-col{display:grid;grid-template-columns:minmax(0,.85fr) minmax(28rem,1.15fr);gap:clamp(3rem,7vw,8rem);align-items:center}.v10-two-col h2{margin:0}.v10-flow-row,.v10-share-rail{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--v10-line);padding:2.4rem}.v10-flow-row span,.v10-share-rail span{font-size:1.2rem}.v10-flow-row i,.v10-share-rail i{color:var(--v10-blue);font-style:normal}

/* How it works */
.v10-route-hub{width:min(100%,38rem);height:31rem;position:relative;border:1px solid rgba(58,141,255,.2);background:rgba(255,255,255,.55)}.route-core{position:absolute;left:50%;top:50%;translate:-50% -50%;width:10rem;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--v10-dark);color:#fff;z-index:2}.route-core img{width:3.5rem;filter:brightness(0) invert(1)}.route-core strong{font-weight:400}.v10-route-hub button{position:absolute;border:1px solid var(--v10-line);background:#fff;padding:1rem 1.3rem;cursor:pointer}.v10-route-hub button:nth-of-type(1){left:7%;top:10%}.v10-route-hub button:nth-of-type(2){right:7%;top:10%}.v10-route-hub button:nth-of-type(3){left:8%;bottom:15%}.v10-route-hub button:nth-of-type(4){right:6%;bottom:14%}.v10-route-hub button:hover,.v10-route-hub button.active{background:var(--v10-blue);color:#fff;border-color:var(--v10-blue)}.route-caption{position:absolute;bottom:1.2rem;left:50%;translate:-50%;white-space:nowrap;color:var(--v10-copy);font-size:.88rem}
.v10-workflow{padding-block:var(--v10-section-y);background:var(--v10-dark);color:#fff}.v10-workflow-tabs{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.14);margin-bottom:1.5rem}.v10-workflow-tabs button{padding:1.4rem 1.2rem;background:transparent;color:#aab7c5;border:0;border-right:1px solid rgba(255,255,255,.14);text-align:left;cursor:pointer;position:relative}.v10-workflow-tabs button:last-child{border-right:0}.v10-workflow-tabs span{color:#6f8aa7;margin-right:.7rem}.v10-workflow-tabs button.active{background:#172838;color:#fff}.v10-workflow-tabs button.active::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--v10-blue)}
.v10-workflow-stage{min-height:37rem;position:relative;border:1px solid rgba(255,255,255,.14);overflow:hidden}.v10-workflow-stage>article{position:absolute;inset:0;display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:center;padding:clamp(2.5rem,5vw,5rem);opacity:0;visibility:hidden;transform:translateY(3rem) scale(.98);transition:opacity .45s ease,transform .65s var(--ease-out),visibility .45s}.v10-workflow-stage>article.active{opacity:1;visibility:visible;transform:none}.workflow-copy h2{margin:0}.workflow-copy p{color:#afbbc7}.workflow-copy .v10-eyebrow{color:#79adff}.workflow-copy .inline-action{color:#fff}.workflow-visual{height:27rem;background:#eef4fd;color:var(--v10-ink);position:relative;display:grid;place-items:center;padding:2rem;overflow:hidden}
.profile-choices{grid-template-columns:repeat(3,1fr);align-content:start;gap:.5rem}.profile-choices button{padding:.8rem;border:1px solid #ccd9e8;background:#fff}.profile-choices button.active{background:var(--v10-blue);color:#fff}.mini-profile{position:absolute;left:12%;right:12%;bottom:10%;height:16rem;background:#fff;border:1px solid #cfd9e7;padding:2rem;display:grid;align-content:center;justify-items:center;box-shadow:0 20px 45px rgba(41,70,108,.14)}.mini-profile span{width:4rem;aspect-ratio:1;border-radius:50%;border:.55rem solid var(--v10-blue);display:grid;place-items:center}.mini-profile strong{margin-top:1.2rem;font-size:1.4rem}.mini-profile small{color:var(--v10-copy)}
.share-visual{grid-template-columns:repeat(3,1fr);gap:.7rem;align-content:end}.share-url{grid-column:1/-1;width:100%;background:#fff;border:1px solid #cfd9e7;padding:1rem}.share-visual img{position:absolute;width:12rem;top:3rem;left:50%;translate:-50%;background:#fff;padding:1rem}.share-visual span{background:#fff;border:1px solid #cfd9e7;padding:.9rem;text-align:center}
.carry-picker{grid-template-columns:repeat(2,1fr);gap:1rem}.carry-picker button{border:0;padding:0;background:#fff;position:relative;overflow:hidden}.carry-picker img{width:100%;height:10.5rem;object-fit:cover}.carry-picker span{display:block;padding:.6rem}.carry-picker button:hover,.carry-picker button.active{outline:3px solid var(--v10-blue);outline-offset:-3px}
.direct-picker{grid-template-columns:1fr auto 1fr;align-content:center;gap:1rem}.direct-source,.direct-destination{padding:2rem;background:#fff;border:1px solid #cfd9e7;text-align:center;font-size:1.25rem}.direct-picker>i{font-style:normal;color:var(--v10-blue);font-size:2rem}.direct-options{position:absolute;left:2rem;right:2rem;bottom:2rem;display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem}.direct-options button{border:1px solid #cfd9e7;background:#fff;padding:.55rem;font-size:.78rem}.direct-options button:hover{background:var(--v10-blue);color:#fff}
.v10-layer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.v10-layer-grid article{background:#fff;border:1px solid var(--v10-line);padding:2.3rem;transition:.25s ease}.v10-layer-grid article:hover,.v10-layer-grid article.active{transform:translateY(-.35rem);box-shadow:0 20px 50px rgba(30,65,109,.1);border-color:#9dc4ff}.v10-layer-grid small{color:var(--v10-blue);text-transform:uppercase;letter-spacing:.08em}.v10-layer-grid h3{margin:1.2rem 0 .7rem}
.v10-route-advisor{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--v10-line);background:#fff}.advisor-options{display:grid}.advisor-options button{text-align:left;border:0;border-bottom:1px solid var(--v10-line);background:#fff;padding:1.4rem 1.7rem;font-size:1rem;cursor:pointer}.advisor-options button:last-child{border-bottom:0}.advisor-options button:hover,.advisor-options button.active{background:#edf5ff;color:var(--v10-blue-deep)}.advisor-result{background:var(--v10-dark);color:#fff;padding:3.2rem;display:grid;align-content:center}.advisor-result small{color:#7fb2ff;text-transform:uppercase;letter-spacing:.08em}.advisor-result strong{font-size:clamp(1.8rem,3vw,3rem);font-weight:400;line-height:1.05;margin:1rem 0}.advisor-result p{color:#b2bfcc}

/* Profiles */
.v10-live-profile{width:min(100%,34rem);height:32rem;background:#fff;border:1rem solid #fff;box-shadow:0 26px 70px rgba(25,57,95,.15);position:relative;overflow:hidden;isolation:isolate}.v10-live-profile iframe{position:absolute;border:0;width:390px;height:844px;left:50%;top:0;transform:translateX(-50%) scale(.61);transform-origin:top center;pointer-events:none;opacity:0;transition:opacity .35s ease}.v10-live-profile.is-live iframe{opacity:1}.v10-profile-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}.v10-live-profile.is-live .v10-profile-fallback{opacity:0}.v10-profile-loading{position:absolute;inset:0;background:#edf4ff;display:grid;align-content:center;gap:1rem;padding:3rem}.v10-profile-loading span{height:2rem;background:#fff}.v10-live-profile.is-ready .v10-profile-loading{display:none}.v10-live-badge{position:absolute;left:1rem;bottom:1rem;background:var(--v10-dark);color:#fff;border-radius:99px;padding:.55rem .8rem;font-size:.75rem;display:flex;align-items:center;gap:.45rem;z-index:5}.v10-live-badge i{width:.45rem;aspect-ratio:1;border-radius:50%;background:#58d694}
.v10-module-stage{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--v10-line);background:#fff}.v10-module-list{display:grid}.v10-module-list button{display:grid;grid-template-columns:3rem 1fr;text-align:left;padding:1.35rem 1.5rem;border:0;border-bottom:1px solid var(--v10-line);background:#fff;cursor:pointer}.v10-module-list button:last-child{border-bottom:0}.v10-module-list span{grid-row:1/3;color:#8895a5}.v10-module-list strong{font-size:1.2rem;font-weight:400}.v10-module-list small{color:var(--v10-copy);margin-top:.3rem}.v10-module-list button:hover,.v10-module-list button.active{background:#edf5ff}.v10-module-list button.active{box-shadow:inset 3px 0 var(--v10-blue)}.v10-module-preview{min-height:27rem;background:linear-gradient(135deg,#dfeeff,#f8fbff);display:grid;align-content:center;padding:clamp(2rem,5vw,5rem);position:relative;overflow:hidden}.module-ring{position:absolute;width:25rem;aspect-ratio:1;border-radius:50%;border:1px solid rgba(58,141,255,.18);right:-9rem;top:-10rem;box-shadow:0 0 0 4rem rgba(58,141,255,.04),0 0 0 8rem rgba(58,141,255,.025)}.v10-module-preview small{color:var(--v10-blue);text-transform:uppercase;letter-spacing:.09em}.v10-module-preview h3{font-size:clamp(2rem,3.8vw,3.5rem);margin:1rem 0;max-width:36rem}.v10-module-preview p{max-width:32rem}
.v10-visibility-section{background:var(--v10-dark);color:#fff}.v10-visibility-section p{color:#b2bfcc}.v10-visibility-section .v10-eyebrow{color:#7fb2ff}.v10-visibility-stack{display:grid;gap:.7rem}.v10-visibility-stack>div{background:#172634;border:1px solid rgba(255,255,255,.12);padding:1.4rem 1.7rem;display:grid;grid-template-columns:10rem 1fr}.v10-visibility-stack span{color:#7fb2ff}.v10-visibility-stack strong{font-weight:400}
.v10-profile-compare{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--v10-line);background:#fff}.v10-profile-compare>a{padding:2rem;border-right:1px solid var(--v10-line);color:var(--v10-ink);position:relative}.v10-profile-compare>a:last-child{border-right:0}.v10-profile-compare small,.v10-profile-compare strong{display:block}.v10-profile-compare small{color:var(--v10-blue);text-transform:uppercase;letter-spacing:.08em}.v10-profile-compare strong{font-weight:400;font-size:1.3rem;margin-top:.7rem}.v10-profile-compare>a:hover,.v10-profile-compare>a.active{background:#eaf3ff}.v10-profile-compare>a.active::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--v10-blue)}
.v10-profile-switcher{width:min(100%,38rem);background:#fff;border:1px solid var(--v10-line);padding:1rem;box-shadow:0 28px 70px rgba(24,58,98,.14);display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.v10-profile-switcher>button{border:1px solid var(--v10-line);background:#fff;padding:.8rem;cursor:pointer}.v10-profile-switcher>button.active{background:var(--v10-blue);color:#fff}.switcher-preview{grid-column:1/-1;position:relative;height:25rem;overflow:hidden;background:#edf4ff}.switcher-preview img{width:100%;height:100%;object-fit:cover;object-position:top}.switcher-preview>div{position:absolute;left:1rem;bottom:1rem;background:rgba(16,26,36,.92);color:#fff;padding:1rem 1.2rem}.switcher-preview small,.switcher-preview strong{display:block}.switcher-preview strong{font-weight:400;margin-top:.25rem}.v10-direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.v10-direction-grid a{background:#fff;border:1px solid var(--v10-line);padding:2.3rem;color:var(--v10-ink);position:relative;min-height:18rem}.v10-direction-grid a:hover{transform:translateY(-.4rem);box-shadow:0 20px 50px rgba(30,65,109,.1);border-color:#9dc4ff}.v10-direction-grid span{color:var(--v10-blue)}.v10-direction-grid h3{margin:3rem 0 .7rem}.v10-direction-grid svg{position:absolute;right:1.5rem;bottom:1.5rem;width:1.2rem}.v10-direct-diagram{display:grid;grid-template-columns:1fr auto 1.4fr;align-items:center;gap:1.2rem;background:#fff;border:1px solid var(--v10-line);padding:2rem}.v10-direct-diagram span,.v10-direct-diagram strong{padding:1.3rem;border:1px solid var(--v10-line)}.v10-direct-diagram i{color:var(--v10-blue);font-style:normal}

/* Single link */
.v10-single-hero{width:min(100%,38rem);display:grid;grid-template-columns:1fr auto 1.25fr;gap:1rem;align-items:center;position:relative}.v10-single-hero>div{background:#fff;border:1px solid var(--v10-line);padding:2rem;text-align:center;font-size:1.3rem}.v10-single-hero>i{font-style:normal;color:var(--v10-blue);font-size:2rem}.v10-single-hero>span{position:absolute;left:0;bottom:-3rem;color:#68788b;font-size:.82rem}.v10-destination-demo{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid var(--v10-line);background:#fff}.destination-options{display:grid}.destination-options button{text-align:left;border:0;border-bottom:1px solid var(--v10-line);background:#fff;padding:1.25rem 1.5rem;cursor:pointer}.destination-options button:last-child{border-bottom:0}.destination-options button:hover,.destination-options button.active{background:#edf5ff;color:var(--v10-blue-deep);box-shadow:inset 3px 0 var(--v10-blue)}.destination-result{min-height:30rem;background:var(--v10-dark);color:#fff;padding:clamp(3rem,6vw,6rem);display:grid;align-content:center;position:relative;overflow:hidden}.destination-result small{color:#7fb2ff;text-transform:uppercase;letter-spacing:.08em}.destination-result h3{font-size:clamp(2.4rem,4.5vw,4rem);margin:1rem 0}.destination-result p{color:#b5c1cd;max-width:30rem}.destination-pulse{position:absolute;width:25rem;aspect-ratio:1;border:1px solid rgba(58,141,255,.25);border-radius:50%;right:-9rem;bottom:-12rem;box-shadow:0 0 0 4rem rgba(58,141,255,.06),0 0 0 8rem rgba(58,141,255,.03)}.v10-compatible-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.v10-compatible-grid .v10-image-wrap{height:18rem}

/* Business / pricing / editorial */
.v10-business-network{width:min(100%,37rem);height:30rem;position:relative;background:#132231;border:1px solid rgba(58,141,255,.3);color:#fff}.business-center{position:absolute;left:50%;top:50%;translate:-50% -50%;width:10rem;aspect-ratio:1;border-radius:50%;background:var(--v10-blue);display:grid;place-items:center;text-align:center}.v10-business-network span{position:absolute;background:#fff;color:var(--v10-ink);padding:1rem 1.3rem}.v10-business-network span:nth-of-type(1){left:7%;top:10%}.v10-business-network span:nth-of-type(2){right:7%;top:12%}.v10-business-network span:nth-of-type(3){left:8%;bottom:12%}.v10-business-network span:nth-of-type(4){right:6%;bottom:10%}
.v10-business-moments{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--v10-line);background:#fff}.v10-business-moments article{padding:2.2rem;border-right:1px solid var(--v10-line)}.v10-business-moments article:last-child{border-right:0}.v10-business-moments span{color:var(--v10-blue)}.v10-business-moments h3{margin:3rem 0 .6rem}
.v10-price-orbit{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:min(100%,37rem)}.v10-price-orbit>div{min-height:24rem;padding:2.5rem;display:flex;flex-direction:column;justify-content:space-between}.v10-price-orbit>div:first-child{background:var(--v10-blue);color:#fff}.v10-price-orbit>div:last-child{background:var(--v10-dark);color:#fff}.v10-price-orbit small{text-transform:uppercase;letter-spacing:.1em}.v10-price-orbit strong{font-size:2.1rem;font-weight:400;line-height:1.35}
.v10-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:stretch}.v10-pricing-grid article{background:#fff;border:1px solid var(--v10-line);padding:2.3rem;display:flex;flex-direction:column}.v10-pricing-grid article.featured{border-color:var(--v10-blue);box-shadow:inset 0 3px var(--v10-blue)}.v10-pricing-grid small{color:var(--v10-blue);text-transform:uppercase;letter-spacing:.08em}.v10-pricing-grid h3{margin:1.2rem 0 .5rem}.v10-pricing-grid>article>strong{font-size:1.8rem;font-weight:400}.v10-pricing-grid ul{list-style:none;padding:0;margin:2rem 0;flex:1}.v10-pricing-grid li{padding:.75rem 0;border-bottom:1px solid var(--v10-line);color:var(--v10-copy)}
.v10-about-symbol{width:26rem;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(58,141,255,.22);box-shadow:0 0 0 5rem rgba(58,141,255,.04),0 0 0 10rem rgba(58,141,255,.025)}.v10-about-symbol img{width:8rem}.v10-about-symbol span{position:absolute;margin-top:14rem;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#607086}.v10-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,10rem)}.v10-story-grid h2{margin:0}.v10-story-grid>div:last-child p:first-child{font-size:1.4rem;color:var(--v10-ink)}
.v10-principle-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--v10-line);background:#fff}.v10-principle-grid article{padding:2rem;border-right:1px solid var(--v10-line)}.v10-principle-grid article:last-child{border-right:0}.v10-principle-grid span{color:var(--v10-blue)}.v10-principle-grid h3{margin:3rem 0 .7rem}.v10-creator{background:var(--v10-dark);color:#fff}.v10-creator p{color:#b6c1cc}.v10-creator .v10-eyebrow{color:#83b5ff}.creator-note{padding:3rem;border:1px solid rgba(255,255,255,.14)}.creator-note strong{color:#83b5ff;text-transform:uppercase;letter-spacing:.08em}

/* Contact, FAQ, stories, resources */
.v10-contact-routes{width:min(100%,38rem);background:#fff;border:1px solid var(--v10-line)}.v10-contact-routes a{display:grid;grid-template-columns:1fr auto;color:var(--v10-ink);padding:1.4rem 1.6rem;border-bottom:1px solid var(--v10-line)}.v10-contact-routes a:last-child{border-bottom:0}.v10-contact-routes span,.v10-contact-routes strong{display:block}.v10-contact-routes span{grid-column:1;color:#7d8997;font-size:.85rem}.v10-contact-routes strong{font-weight:400;margin-top:.35rem}.v10-contact-routes svg{grid-column:2;grid-row:1/3;width:1.2rem;align-self:center}.v10-contact-routes a:hover{background:#edf5ff}.v10-contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,7vw,8rem)}.v10-contact-aside{position:sticky;top:calc(var(--header-height) + 3rem)}.v10-contact-aside h2{margin:0}.v10-contact-aside ul{list-style:none;padding:0;margin:2rem 0}.v10-contact-aside li{padding:.8rem 0;border-bottom:1px solid var(--v10-line);color:var(--v10-copy)}
.v10-form{background:#fff;border:1px solid var(--v10-line);padding:clamp(2rem,4vw,4rem);display:grid;gap:1.3rem}.v10-form h2{margin:0}.v10-form label{display:grid;gap:.55rem;color:#485869;font-size:.9rem}.v10-form input,.v10-form select,.v10-form textarea{width:100%;border:1px solid #cfd9e5;background:#f9fbfe;padding:1rem;font:inherit;color:var(--v10-ink);border-radius:0}.v10-form input:focus,.v10-form select:focus,.v10-form textarea:focus{outline:2px solid rgba(58,141,255,.22);border-color:var(--v10-blue)}.v10-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.v10-faq-search{width:min(100%,36rem);position:relative}.v10-faq-search input{width:100%;font:inherit;font-size:1.15rem;padding:1.25rem 3.5rem 1.25rem 1.4rem;border:1px solid var(--v10-line);background:#fff}.v10-faq-search span{position:absolute;right:1.3rem;top:50%;translate:0 -50%;font-size:1.5rem}.v10-faq-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}.v10-faq-filters button{border:1px solid var(--v10-line);background:#fff;padding:.75rem 1rem;cursor:pointer}.v10-faq-filters button.active,.v10-faq-filters button:hover{background:var(--v10-blue);color:#fff;border-color:var(--v10-blue)}.v10-faq-list{border-top:1px solid var(--v10-line)}.v10-faq-list details{border-bottom:1px solid var(--v10-line);background:#fff;padding:0 1.5rem}.v10-faq-list summary{cursor:pointer;padding:1.5rem 2rem 1.5rem 0;font-size:1.2rem;list-style:none;position:relative}.v10-faq-list summary::after{content:"+";position:absolute;right:0}.v10-faq-list details[open] summary::after{content:"−"}.v10-faq-list details p{padding:0 0 1.5rem;margin:0;max-width:50rem}
.v10-story-collage{width:min(100%,39rem);height:31rem;display:grid;grid-template-columns:1.3fr .7fr;gap:.7rem;position:relative}.v10-story-collage img{width:100%;height:100%;object-fit:cover}.v10-story-collage span{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(16,26,36,.92);color:#fff;padding:1.2rem 1.4rem;font-size:1.45rem}.v10-editorial-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:1rem}.v10-editorial-grid article{background:#fff;border:1px solid var(--v10-line)}.v10-editorial-grid article img{width:100%;height:21rem;object-fit:cover}.v10-editorial-grid .featured img{height:28rem}.v10-editorial-grid article>div{padding:1.5rem}.v10-editorial-grid small{color:var(--v10-blue);text-transform:uppercase;letter-spacing:.08em}.v10-editorial-grid h3{margin:.8rem 0}.v10-editorial-grid p{font-size:.95rem}
.v10-resource-stack{width:min(100%,34rem);display:grid;gap:.7rem}.v10-resource-stack span{background:#fff;border:1px solid var(--v10-line);padding:1.3rem 1.5rem;font-size:1.2rem}.v10-resource-stack span:nth-child(2){transform:translateX(2rem)}.v10-resource-stack span:nth-child(3){transform:translateX(4rem)}.v10-resource-stack span:nth-child(4){transform:translateX(6rem)}.v10-resource-toolbar{display:flex;justify-content:space-between;gap:2rem;margin-bottom:2rem}.v10-resource-toolbar input{min-width:24rem;border:1px solid var(--v10-line);padding:1rem;background:#fff}.v10-resource-toolbar button{border:1px solid var(--v10-line);background:#fff;padding:.85rem 1rem}.v10-resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.v10-resource-grid article{background:#fff;border:1px solid var(--v10-line);padding:2.3rem;min-height:18rem;display:flex;flex-direction:column}.v10-resource-grid small{color:var(--v10-blue);text-transform:uppercase;letter-spacing:.08em}.v10-resource-grid h3{margin:2rem 0 .7rem}.v10-resource-grid p{flex:1}

/* Functional pages */
.v10-code-visual{width:min(100%,34rem);height:20rem;background:var(--v10-dark);color:#fff;display:grid;place-items:center;align-content:center;gap:.8rem;box-shadow:0 30px 70px rgba(16,26,36,.2)}.v10-code-visual span{color:#7fb2ff}.v10-code-visual strong{font-size:3rem;letter-spacing:.14em;font-weight:400}.v10-code-visual small{color:#9eacba}.v10-functional-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:1rem;align-items:start}.v10-step-rail{display:grid;position:sticky;top:calc(var(--header-height) + 2rem)}.v10-step-rail button{text-align:left;border:1px solid var(--v10-line);border-bottom:0;background:#fff;padding:1.3rem 1.5rem;display:grid;grid-template-columns:2.5rem 1fr}.v10-step-rail button:last-child{border-bottom:1px solid var(--v10-line)}.v10-step-rail span{grid-row:1/3;color:#8795a5}.v10-step-rail strong{font-weight:400}.v10-step-rail small{color:var(--v10-copy)}.v10-step-rail button.active{background:#edf5ff;box-shadow:inset 3px 0 var(--v10-blue)}.v10-form-note{background:#edf5ff;padding:1rem}.v10-form-note strong,.v10-form-note span{display:block}.v10-form-note span{color:var(--v10-copy);font-size:.9rem;margin-top:.25rem}
.v10-custom-preview{width:min(100%,34rem);height:26rem;display:grid;place-items:center;background:linear-gradient(135deg,#d8e9ff,#f6faff)}.custom-card{width:22rem;aspect-ratio:1.6;background:var(--v10-dark);color:#fff;padding:2rem;display:grid;align-content:space-between;box-shadow:0 26px 60px rgba(16,26,36,.24)}.custom-card img{width:3rem;filter:brightness(0) invert(1)}.custom-card strong{font-size:1.8rem;font-weight:400}.custom-card span{color:#aec0d2}.v10-customizer{display:grid;grid-template-columns:.6fr 1.4fr;border:1px solid var(--v10-line);background:#fff}.custom-controls{border-right:1px solid var(--v10-line)}.custom-controls>div{padding:1.5rem;border-bottom:1px solid var(--v10-line)}.custom-controls>div:last-child{border-bottom:0}.custom-controls small{display:block;color:#7c8a99;margin-bottom:1rem}.custom-controls button{border:1px solid var(--v10-line);background:#fff;padding:.7rem .8rem;margin:.2rem;cursor:pointer}.custom-controls button.active{background:var(--v10-blue);color:#fff;border-color:var(--v10-blue)}.custom-stage{min-height:38rem;background:linear-gradient(135deg,#dceaff,#f8fbff);display:grid;place-items:center;padding:3rem}.custom-product-card{width:min(100%,34rem);aspect-ratio:1.6;background:#fff;border:1px solid #cdd9e7;padding:2.5rem;display:grid;grid-template-columns:1fr auto;align-content:space-between;box-shadow:0 24px 55px rgba(26,62,105,.15)}.custom-product-card img{width:3.8rem}.custom-product-card span{color:var(--v10-blue);text-align:right}.custom-product-card strong{grid-column:1/-1;font-size:2.4rem;font-weight:400}.custom-product-card small{grid-column:1/-1;color:var(--v10-copy)}.custom-summary{width:min(100%,34rem)}
.v10-detail-visual{width:min(100%,38rem);height:31rem;position:relative}.v10-detail-visual img{width:100%;height:100%;object-fit:cover}.v10-detail-visual span{position:absolute;right:1rem;bottom:1rem;background:var(--v10-dark);color:#fff;padding:.8rem 1rem}.v10-detail-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,7vw,8rem)}.v10-detail-sticky{position:sticky;top:calc(var(--header-height) + 3rem);align-self:start}.v10-detail-sticky h2{margin:0}.v10-spec-stack{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.v10-spec-stack article{background:#fff;border:1px solid var(--v10-line);padding:2rem;min-height:16rem}.v10-spec-stack span{color:var(--v10-blue)}.v10-spec-stack h3{margin:3rem 0 .7rem}

/* Legal and 404 */
.v10-legal-mark{width:22rem;height:22rem;border:1px solid var(--v10-line);background:#fff;display:grid;place-items:center;align-content:center}.v10-legal-mark span{font-size:4rem}.v10-legal-mark strong{font-weight:400;color:var(--v10-blue)}.v10-legal-content{display:grid;gap:1rem}.v10-legal-content article{display:grid;grid-template-columns:5rem .8fr 1.2fr;gap:2rem;border-top:1px solid var(--v10-line);padding:2rem 0}.v10-legal-content span{color:var(--v10-blue)}.v10-legal-content h2{font-size:2rem;margin:0}.v10-legal-content p{margin:0}
.v10-not-found{min-height:100svh;background:var(--v10-dark);color:#fff;display:grid;align-items:center;position:relative;overflow:hidden}.v10-404-bg{position:absolute;inset:0;background:radial-gradient(circle at var(--route-x,70%) var(--route-y,30%),rgba(58,141,255,.28),transparent 28%)}.v10-404-grid{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:6rem;align-items:center}.v10-404-grid h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.92;margin:0}.v10-404-grid p{color:#b4c0cc;max-width:40rem}.v10-404-grid .v10-eyebrow{color:#7fb2ff}.v10-broken-route{height:30rem;border:1px solid rgba(255,255,255,.15);display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;padding:3rem;position:relative}.v10-broken-route button{background:#172635;color:#fff;border:1px solid rgba(255,255,255,.16);padding:1.2rem}.broken-line{height:2px;background:rgba(255,255,255,.16);position:relative;overflow:hidden}.broken-line span{position:absolute;left:0;top:0;width:45%;height:100%;background:var(--v10-blue)}.broken-line::after{content:"";position:absolute;width:2rem;height:2rem;border:2px solid #ef6a6a;border-radius:50%;left:48%;top:50%;translate:-50% -50%}.v10-broken-route small{position:absolute;left:50%;bottom:2rem;translate:-50%;color:#ef9a9a}

/* Closing CTA replaces duplicate light blocks. */
.v10-closing{background:var(--v10-dark);color:#fff;padding-block:clamp(3.5rem,6vw,5.5rem);border-bottom:1px solid rgba(255,255,255,.12)}
.v10-closing-grid{display:grid;grid-template-columns:minmax(24rem,1.15fr) minmax(20rem,.8fr) auto;gap:clamp(2.5rem,6vw,7rem);align-items:center}.v10-closing h2{font-size:clamp(2.3rem,3.6vw,3.4rem);margin:0}.v10-closing p{color:#b5c1cd;margin:0 0 1.2rem}.v10-closing .v10-eyebrow{color:#7fb2ff}.v10-closing .inline-action{color:#fff}
body.inner-rebuilt-v10 main+.footer .footer-signal{display:none}

/* Motion */
.v10-page [data-reveal]{opacity:0;transform:translateY(2rem);transition:opacity .7s ease,transform .8s var(--ease-out)}.v10-page [data-reveal].is-visible{opacity:1;transform:none}





/* Homepage difference timing: one complete 3-second cycle, paused only over the four controls. */
.difference-controls button.active::after{animation-duration:3s!important}
.free-first:hover .difference-controls button.active::after,.free-first:focus-within .difference-controls button.active::after{animation-play-state:running!important}
.difference-controls:hover button.active::after,.difference-controls:focus-within button.active::after{animation-play-state:paused!important}
/* Homepage live-profile fallback: local files and non-canonical hosts never show a blocked iframe. */
.profile-live-preview{position:relative;overflow:hidden}
.profile-live-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;opacity:0;transition:opacity .3s ease}
.profile-live-preview.is-fallback .profile-live-fallback{opacity:1}
.profile-live-preview.is-fallback .profile-live-loading{display:none}
.profile-live-preview.is-live .profile-live-fallback{opacity:0}
/* Neutralize every legacy long nav rail. */
.site-header .desktop-nav>a::after,.site-header .nav-trigger::after{right:auto!important;left:0!important;width:1.35rem!important;inset-inline-end:auto!important}
.site-header .nav-trigger.current,.site-header .nav-trigger.is-current{color:var(--v10-blue-deep)}
.site-header .nav-trigger.current::after,.site-header .nav-trigger.is-current::after{transform:scaleX(1)!important}
.v10-not-found .v10-404-grid h1{font-size:clamp(3.5rem,7vw,7rem)}

/* ===== Source baseline: v11.css ===== */
/* SETU V11: coherent inner-site, interaction and motion system. */


html { scroll-padding-top: calc(var(--header-height, 76px) + 18px); }
body.v11-page { background: var(--v11-canvas); color: var(--v11-ink); }
.v11-main { overflow: clip; }
.v11-main p { color: var(--v11-copy); }
.v11-main h1 { font-size: clamp(2.75rem, 4.25vw, 3.25rem); line-height: 1.04; letter-spacing: -.045em; }
.v11-main h2 { font-size: clamp(2.15rem, 3.6vw, 3rem); line-height: 1.07; letter-spacing: -.04em; }
.v11-main h3 { letter-spacing: -.025em; }
.home-hero h1 { font-size: clamp(3rem, 5vw, 3.75rem) !important; }

/* Navigation: compact active state. */
.desktop-nav > a,
.desktop-nav .nav-trigger { position: relative; }
.desktop-nav > a::after,
.desktop-nav .nav-trigger::after {
  content: "";
  position: absolute;
  left: 50%; bottom: -15px;
  width: 18px; height: 2px;
  border-radius: 999px;
  background: var(--v11-blue);
  opacity: 0; transform: translateX(-50%) scaleX(.35);
  transition: opacity .2s, transform .35s var(--v11-ease);
}
.desktop-nav > a:hover::after,
.desktop-nav > a[aria-current="page"]::after,
.desktop-nav .nav-trigger:hover::after,
.desktop-nav .nav-trigger.is-current::after { opacity: 1; transform: translateX(-50%) scaleX(1); }
.header-signin { color: var(--v11-ink); font-size: .92rem; white-space: nowrap; }
.header-signin:hover { color: var(--v11-blue); }

.v11-eyebrow {
  display: inline-flex; align-items: center; gap: .78rem;
  color: #50647e; font-size: .76rem; text-transform: uppercase; letter-spacing: .12em;
}
.v11-eyebrow i { width: 1.1rem; height: 1px; background: currentColor; }
.v11-content-stack { display: flex; flex-direction: column; align-items: flex-start; }
.v11-content-stack > h1,
.v11-content-stack > h2 { margin: 1.25rem 0 0; }
.v11-content-stack > p { max-width: 43rem; margin: 1.45rem 0 0; font-size: clamp(1rem,1.3vw,1.18rem); line-height: 1.65; }
.v11-content-stack.narrow { max-width: 62rem; }
.v11-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.35rem; margin-top: 1.9rem; }
.v11-actions .inline-action { margin: 0; }
.v11-main .button,
.v11-main .inline-action { transition: transform .35s var(--v11-ease), box-shadow .35s, color .25s, background .25s; }
.v11-main .button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(58,141,255,.22); }
.v11-main .inline-action:hover svg { transform: translateX(5px); }
.v11-main .inline-action svg { transition: transform .35s var(--v11-ease); }

.v11-hero {
  position: relative;
  min-height: clamp(42rem, calc(100svh - var(--header-height,76px)), 52rem);
  display: grid; align-items: center;
  padding: clamp(5rem, 8vw, 8rem) 0;
  border-bottom: 1px solid var(--v11-line);
  background:
    radial-gradient(circle at 82% 16%, rgba(58,141,255,.17), transparent 30%),
    radial-gradient(circle at 38% 100%, rgba(142,188,255,.15), transparent 34%),
    linear-gradient(135deg,#f8fbff 0%,#edf5ff 52%,#f6f9fd 100%);
}
.v11-hero::after,
.v11-section.signal::after {
  content:""; position:absolute; width:34rem; height:34rem; right:-13rem; top:-13rem;
  border:1px solid rgba(58,141,255,.11); border-radius:50%; box-shadow:0 0 0 68px rgba(58,141,255,.025),0 0 0 138px rgba(58,141,255,.018); pointer-events:none;
}
.v11-hero-grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(28rem,1.14fr); align-items:center; gap:clamp(3rem,7vw,8rem); }
.v11-section { position:relative; padding:clamp(5rem,8vw,8rem) 0; border-bottom:1px solid var(--v11-line); }
.v11-section.compact { padding-block: clamp(4rem,6vw,6rem); }
.v11-section.signal { background:linear-gradient(135deg,#eef5ff,#f7faff); }
.v11-section.dark { color:white; background:linear-gradient(135deg,#101d2b,#15283b); }
.v11-section.dark p { color:#aebdd0; }
.v11-section.dark .v11-eyebrow { color:#80b5ff; }
.v11-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:3rem; margin-bottom:clamp(2.5rem,4.8vw,4.5rem); }
.v11-section-head > div { max-width: 67rem; }
.v11-section-head h2 { margin:1.15rem 0 0; }
.v11-section-head > p { width:min(31rem,100%); margin:0; font-size:1.08rem; line-height:1.6; }
.v11-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:clamp(3rem,7vw,8rem); }
.v11-two-col h2 { margin:1.15rem 0 1.35rem; }
.v11-two-col p + a { display:inline-flex; margin-top:1.7rem; }

.v11-interactive-surface { --mx:50%; --my:50%; }
.v11-interactive-surface::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.65;
  background:radial-gradient(circle at var(--mx) var(--my),rgba(58,141,255,.19),transparent 28%);
  transition:opacity .25s;
}

/* Product master */
.v11-product-orbit { position:relative; min-height:36rem; border:1px solid var(--v11-line); background:rgba(255,255,255,.52); box-shadow:var(--v11-shadow); overflow:hidden; }
.v11-product-orbit::after { content:""; position:absolute; width:24rem; height:24rem; border:1px solid rgba(58,141,255,.2); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 70px rgba(58,141,255,.035),0 0 0 140px rgba(58,141,255,.025); }
.orbit-core { position:absolute; z-index:3; left:50%; top:50%; width:9rem; height:9rem; transform:translate(-50%,-50%); border-radius:50%; background:#122131; color:white; display:grid; place-items:center; align-content:center; gap:.45rem; box-shadow:0 20px 45px rgba(8,31,55,.22); }
.orbit-core img { width:3.3rem; filter:brightness(0) invert(1); }
.orbit-core strong { font-size:.86rem; }
.v11-product-orbit > button { position:absolute; z-index:4; width:10rem; padding:.65rem; border:1px solid var(--v11-line); background:white; box-shadow:0 15px 34px rgba(28,69,121,.11); cursor:pointer; transition:transform .45s var(--v11-ease),box-shadow .35s; }
.v11-product-orbit > button:hover { transform:translateY(-7px) rotate(-1deg); box-shadow:0 23px 52px rgba(28,69,121,.18); }
.v11-product-orbit > button img { width:100%; height:6rem; object-fit:cover; }
.v11-product-orbit > button span { display:block; padding:.65rem .2rem .1rem; text-align:left; }
.v11-product-orbit > button:nth-of-type(1) { left:7%; top:8%; }
.v11-product-orbit > button:nth-of-type(2) { right:6%; top:11%; }
.v11-product-orbit > button:nth-of-type(3) { left:9%; bottom:8%; }
.orbit-school { position:absolute; z-index:4; right:6%; bottom:9%; width:12rem; min-height:7rem; padding:1rem; color:white; background:#172a3e; display:flex; flex-direction:column; justify-content:flex-end; transition:transform .4s var(--v11-ease),background .3s; }
.orbit-school:hover { transform:translateY(-6px); background:#203a55; }
.orbit-school small { color:#83b8ff; text-transform:uppercase; letter-spacing:.1em; font-size:.67rem; }
.orbit-school span { margin-top:.5rem; }

.v11-use-guide { padding-bottom:clamp(5rem,8vw,8rem); background:linear-gradient(180deg,#f5f9ff,#edf5ff); }
.v11-choice-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.v11-choice-card { position:relative; min-height:17rem; padding:1.65rem; overflow:hidden; text-align:left; border:1px solid var(--v11-line); background:rgba(255,255,255,.78); cursor:pointer; color:var(--v11-ink); transition:transform .45s var(--v11-ease),border-color .3s,box-shadow .35s,background .3s; }
.v11-choice-card:hover,.v11-choice-card.active { transform:translateY(-7px); border-color:rgba(58,141,255,.48); box-shadow:0 20px 46px rgba(32,76,130,.13); background:#fff; }
.v11-choice-card > span { position:relative; z-index:2; color:#63758a; font-size:.84rem; }
.v11-choice-card h3 { position:relative; z-index:2; margin:1rem 0 .7rem; font-size:1.75rem; }
.v11-choice-card p { position:relative; z-index:2; max-width:16rem; margin:0; line-height:1.55; }
.v11-choice-card img { position:absolute; right:-1.2rem; bottom:-2rem; width:10rem; height:10rem; object-fit:cover; opacity:.11; transform:rotate(6deg) scale(.9); transition:opacity .35s,transform .5s var(--v11-ease); }
.v11-choice-card:hover img,.v11-choice-card.active img { opacity:.22; transform:rotate(1deg) scale(1); }
.v11-choice-card i { position:absolute; right:1.4rem; bottom:1.35rem; font-style:normal; font-size:1.4rem; transition:transform .35s; }
.v11-choice-card:hover i { transform:translate(4px,-4px); }
.v11-choice-card b { position:absolute; left:1.65rem; bottom:1.45rem; padding:.45rem .65rem; border-radius:999px; background:#e8f2ff; color:var(--v11-blue); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.v11-choice-card.school { background:linear-gradient(135deg,#15283b,#1e3a57); color:white; }
.v11-choice-card.school p { color:#b7c5d6; }
.v11-choice-output { display:grid; grid-template-columns:minmax(0,.6fr) minmax(0,1fr) auto; gap:2rem; align-items:center; margin-top:1rem; padding:1.4rem 1.6rem; color:white; background:#122131; }
.v11-choice-output span { color:#b9c7d7; }
.v11-choice-output a { color:#fff; display:inline-flex; align-items:center; gap:.6rem; }
.v11-choice-output svg { width:1rem; }

.v11-category-story { padding:clamp(5rem,8vw,8rem) 0; border-bottom:1px solid var(--v11-line); background:#f7faff; }
.v11-category-story.dark { color:white; background:linear-gradient(135deg,#0f1c29,#14273a); }
.v11-category-story.dark p { color:#aebdd0; }
.v11-category-story.warm { background:linear-gradient(135deg,#f8f3ed,#f2ebe3); }
.v11-category-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(25rem,.82fr); gap:clamp(3rem,7vw,8rem); align-items:center; }
.v11-category-grid.reverse { grid-template-columns:minmax(25rem,.82fr) minmax(0,1fr); }
.v11-category-grid.reverse .v11-category-media { order:2; }
.v11-category-media { position:relative; height:clamp(30rem,48vw,42rem); overflow:hidden; box-shadow:var(--v11-shadow); }
.v11-category-media img { width:100%; height:100%; object-fit:cover; transition:transform 1s var(--v11-ease); }
.v11-category-story:hover .v11-category-media img { transform:scale(1.035); }
.media-chip { position:absolute; left:1.1rem; bottom:1.1rem; padding:.75rem 1rem; background:rgba(255,255,255,.9); backdrop-filter:blur(12px); font-size:.78rem; }
.v11-feature-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-top:2rem; }
.v11-feature-switch button { min-height:3.1rem; border:1px solid var(--v11-line); background:rgba(255,255,255,.62); cursor:pointer; }
.v11-feature-switch button.active { color:white; background:var(--v11-blue); border-color:var(--v11-blue); }
.v11-feature-switch > div { grid-column:1/-1; padding:1.15rem; border-left:3px solid var(--v11-blue); background:rgba(255,255,255,.58); }
.v11-feature-switch strong,.v11-feature-switch span { display:block; }
.v11-feature-switch span { margin-top:.35rem; color:var(--v11-copy); }
.v11-feature-list { display:grid; gap:.65rem; margin-top:2rem; }
.v11-feature-list button { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.35rem 1rem; align-items:center; padding:1rem 1.15rem; text-align:left; color:inherit; border:1px solid currentColor; border-color:rgba(106,137,174,.24); background:rgba(255,255,255,.04); cursor:pointer; transition:transform .35s var(--v11-ease),background .3s,border-color .3s; }
.v11-feature-list button:hover,.v11-feature-list button.active { transform:translateX(7px); border-color:rgba(58,141,255,.62); background:rgba(58,141,255,.1); }
.v11-feature-list strong { font-weight:500; }
.v11-feature-list span { grid-column:1; color:inherit; opacity:.65; }
.v11-feature-list i { grid-column:2; grid-row:1/3; font-style:normal; }

.v11-school-teaser { padding:clamp(5rem,8vw,8rem) 0; color:white; background:linear-gradient(135deg,#152638,#0e1b28); }
.v11-school-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(28rem,1.15fr); gap:clamp(3rem,7vw,8rem); align-items:center; }
.v11-school-grid h2 { margin:1.1rem 0 1.2rem; }
.v11-school-grid p { max-width:42rem; color:#b7c4d5; line-height:1.65; }
.status-pill { display:inline-flex; margin-top:1.1rem; padding:.42rem .7rem; border-radius:999px; color:#87baff; background:rgba(58,141,255,.13); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.school-diagram,.school-system-stage { position:relative; min-height:30rem; border:1px solid rgba(132,174,224,.24); background:rgba(255,255,255,.03); }
.school-hub,.school-system-core { position:absolute; z-index:2; left:50%; top:50%; width:10rem; height:10rem; transform:translate(-50%,-50%); border-radius:50%; display:grid; place-items:center; align-content:center; color:white; background:var(--v11-blue); box-shadow:0 20px 54px rgba(58,141,255,.25); }
.school-diagram > span,.school-system-stage > button { position:absolute; padding:.8rem 1rem; border:1px solid rgba(132,174,224,.3); color:white; background:#182d42; }
.school-diagram > span:nth-of-type(1),.school-system-stage > button:nth-of-type(1){left:7%;top:12%}.school-diagram > span:nth-of-type(2),.school-system-stage > button:nth-of-type(2){right:7%;top:12%}.school-diagram > span:nth-of-type(3),.school-system-stage > button:nth-of-type(3){left:7%;bottom:12%}.school-diagram > span:nth-of-type(4),.school-system-stage > button:nth-of-type(4){right:7%;bottom:12%}
.school-system-stage { min-height:36rem; background:linear-gradient(135deg,#132436,#1b3855); overflow:hidden; }
.school-system-core img { width:3rem; filter:brightness(0) invert(1); }
.school-system-core strong { font-size:.78rem; }
.school-system-stage > small { position:absolute; bottom:1rem; left:50%; transform:translateX(-50%); color:#a9bbcd; }

/* Category pages and products */
.v11-category-hero .v11-hero-photo { position:relative; height:clamp(31rem,50vw,43rem); overflow:hidden; box-shadow:var(--v11-shadow); }
.v11-hero-photo img { width:100%; height:100%; object-fit:cover; transition:transform 1s var(--v11-ease); }
.v11-hero-photo:hover img { transform:scale(1.035); }
.hero-photo-tag { position:absolute; right:1.25rem; bottom:1.25rem; padding:1rem 1.2rem; color:white; background:rgba(12,27,41,.9); }
.hero-photo-tag span,.hero-photo-tag strong { display:block; }
.hero-photo-tag span { color:#81b7ff; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.hero-photo-tag strong { margin-top:.35rem; }
.v11-category-explainer { background:linear-gradient(135deg,#f0f6ff,#f8fbff); }
.v11-feature-stack { display:grid; grid-template-columns:minmax(0,.72fr) minmax(18rem,1fr); gap:1.3rem 2rem; }
.v11-feature-stack > button { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.25rem 1rem; align-items:center; padding:1.15rem; text-align:left; border:1px solid var(--v11-line); background:rgba(255,255,255,.74); cursor:pointer; transition:transform .35s,border-color .3s,background .3s; }
.v11-feature-stack > button:hover,.v11-feature-stack > button.active { transform:translateX(6px); border-color:rgba(58,141,255,.48); background:white; }
.v11-feature-stack > button span { color:var(--v11-blue); font-size:.72rem; }
.v11-feature-stack > button strong { font-weight:500; }
.v11-feature-stack > button small { grid-column:2; color:var(--v11-copy); }
.v11-feature-stack > button i { grid-column:3; grid-row:1/3; font-style:normal; }
.feature-preview { grid-column:2; grid-row:1/4; min-height:22rem; display:flex; align-items:center; justify-content:center; gap:1rem; border:1px solid var(--v11-line); background:linear-gradient(135deg,#fff,#e9f3ff); }
.preview-object,.preview-destination { padding:1.3rem; background:white; box-shadow:0 14px 32px rgba(23,63,111,.1); }
.preview-destination { display:flex; flex-direction:column; gap:.35rem; }
.preview-destination span:nth-child(2) { color:var(--v11-copy); font-size:.7rem; }
.v11-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.v11-product-card { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(16rem,.9fr); min-height:30rem; border:1px solid var(--v11-line); background:white; overflow:hidden; color:var(--v11-ink); transition:transform .45s var(--v11-ease),box-shadow .35s; }
.v11-product-card:hover { transform:translateY(-7px); box-shadow:var(--v11-shadow); }
.v11-product-card figure { min-height:25rem; overflow:hidden; }
.v11-product-card img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--v11-ease); }
.v11-product-card:hover img { transform:scale(1.04); }
.v11-product-card > div { position:relative; padding:2rem; display:flex; flex-direction:column; justify-content:center; }
.v11-product-card span { color:var(--v11-blue); text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; }
.v11-product-card h3 { margin:1rem 0 .7rem; font-size:2rem; }
.v11-product-card i { position:absolute; right:1.4rem; bottom:1.3rem; font-style:normal; }

/* How it works */
.route-builder { position:relative; padding:1.6rem; min-height:35rem; border:1px solid var(--v11-line); background:rgba(255,255,255,.66); box-shadow:var(--v11-shadow); overflow:hidden; }
.route-controls { position:relative; z-index:2; display:grid; grid-template-columns:auto minmax(0,1fr); gap:.7rem 1rem; align-items:center; }
.route-controls > span { color:#687b91; font-size:.76rem; text-transform:uppercase; letter-spacing:.09em; }
.route-controls > div { display:flex; gap:.5rem; flex-wrap:wrap; }
.route-controls button { padding:.7rem 1rem; border:1px solid var(--v11-line); background:#fff; cursor:pointer; }
.route-controls button.active { color:#fff; border-color:var(--v11-blue); background:var(--v11-blue); }
.route-stage { position:relative; z-index:2; min-height:19rem; display:flex; align-items:center; justify-content:center; gap:1rem; }
.route-source { min-width:9rem; padding:1.2rem; text-align:center; border:1px solid var(--v11-line); background:#fff; }
.route-core { width:15rem; min-height:15rem; padding:1.7rem; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; background:#122131; box-shadow:0 24px 58px rgba(12,34,56,.2); }
.route-core img { width:3.7rem; filter:brightness(0) invert(1); }
.route-core strong { margin-top:.7rem; font-size:1.15rem; }
.route-core span { margin-top:.45rem; color:#b7c5d5; font-size:.78rem; line-height:1.5; }
.route-result { position:relative; z-index:2; padding:1rem 1.2rem; border-left:3px solid var(--v11-blue); background:#fff; }
.route-result strong,.route-result span { display:block; }
.route-result span { margin-top:.3rem; color:var(--v11-copy); }
.v11-workflow-section { padding:clamp(5rem,8vw,8rem) 0; background:#101d2b; color:white; }
.v11-workflow-section p { color:#afbed0; }
.workflow-shell { display:grid; grid-template-columns:18rem minmax(0,1fr); border:1px solid rgba(139,178,225,.22); }
.workflow-shell > nav { display:grid; align-content:start; border-right:1px solid rgba(139,178,225,.22); }
.workflow-shell > nav button { display:grid; grid-template-columns:auto 1fr; gap:.25rem 1rem; padding:1.25rem; text-align:left; color:#aebed0; border:0; border-bottom:1px solid rgba(139,178,225,.18); background:transparent; cursor:pointer; }
.workflow-shell > nav button.active { color:white; background:rgba(58,141,255,.13); box-shadow:inset 3px 0 var(--v11-blue); }
.workflow-shell > nav span { color:#73acff; }
.workflow-panels { min-height:34rem; }
.workflow-panels > article { display:none; grid-template-columns:minmax(0,.72fr) minmax(20rem,1.28fr); gap:3rem; align-items:center; min-height:34rem; padding:clamp(2rem,4vw,4rem); }
.workflow-panels > article.active { display:grid; animation:v11-panel-in .55s var(--v11-ease) both; }
.workflow-panels h3 { margin:1rem 0; font-size:clamp(2rem,3.5vw,3rem); }
.workflow-panels article > div:first-child > span { color:#78afff; font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; }
.workflow-visual { min-height:23rem; display:flex; align-items:center; justify-content:center; border:1px solid rgba(139,178,225,.2); background:rgba(255,255,255,.04); overflow:hidden; }
.profile-visual-mini img { width:19rem; transform:translateY(16%); box-shadow:0 20px 50px rgba(0,0,0,.25); }
.share-visual { flex-direction:column; gap:1.2rem; }
.share-url { padding:.9rem 1rem; color:var(--v11-ink); background:white; }
.share-url button { margin-left:1.5rem; color:white; border:0; background:var(--v11-blue); }
.share-visual img { width:10rem; }
.product-fan img { width:10rem; height:14rem; object-fit:cover; margin:-1rem; border:8px solid #fff; box-shadow:0 20px 40px rgba(0,0,0,.2); }
.product-fan img:first-child { transform:rotate(-8deg); }.product-fan img:last-child { transform:rotate(8deg); }
.edit-visual { gap:1rem; }
.edit-visual > div { padding:1.2rem; background:#fff; color:var(--v11-ink); }
.edit-visual > div:last-child { display:grid; gap:.4rem; }
.mini-selector { display:flex; gap:.5rem; margin-top:1.5rem; }
.mini-selector button { padding:.65rem .8rem; border:1px solid rgba(255,255,255,.2); color:#fff; background:transparent; }
.mini-selector button.active { background:var(--v11-blue); }
.scenario-advisor { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); border:1px solid var(--v11-line); background:white; }
.scenario-advisor > div { display:grid; border-right:1px solid var(--v11-line); }
.scenario-advisor button { padding:1.25rem; text-align:left; border:0; border-bottom:1px solid var(--v11-line); background:white; cursor:pointer; transition:background .25s,transform .3s; }
.scenario-advisor button.active,.scenario-advisor button:hover { color:var(--v11-blue); background:#edf5ff; transform:translateX(5px); }
.scenario-advisor article { padding:clamp(2rem,5vw,4.5rem); background:linear-gradient(135deg,#f8fbff,#e9f3ff); }
.scenario-advisor article span { color:#60748b; font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; }
.scenario-advisor article h3 { margin:1rem 0; font-size:clamp(2rem,3.5vw,3.1rem); }
.scenario-advisor article a { display:inline-flex; margin-top:1.5rem; align-items:center; gap:.5rem; }

/* Profiles */
.profile-lab { border:1px solid var(--v11-line); background:rgba(255,255,255,.7); box-shadow:var(--v11-shadow); }
.profile-lab nav { display:grid; grid-template-columns:repeat(3,1fr); }
.profile-lab nav button { padding:1rem; border:0; border-right:1px solid var(--v11-line); border-bottom:1px solid var(--v11-line); background:transparent; cursor:pointer; }
.profile-lab nav button.active { background:#e8f2ff; box-shadow:inset 0 3px var(--v11-blue); }
.lab-preview { display:grid; grid-template-columns:minmax(17rem,.75fr) minmax(0,1.25fr); min-height:29rem; padding:1.5rem; gap:2rem; align-items:center; }
.lab-preview img { width:100%; height:27rem; object-fit:cover; object-position:top; background:#eef4fb; }
.lab-preview > div { padding:1rem; }
.lab-preview span { color:var(--v11-blue); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; }
.lab-preview strong { display:block; margin:1rem 0; font-size:2.4rem; line-height:1.12; }
.v11-direction-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.v11-direction-card { position:relative; min-height:13rem; padding:1.5rem; display:flex; flex-direction:column; color:var(--v11-ink); border:1px solid var(--v11-line); background:rgba(255,255,255,.76); transition:transform .4s var(--v11-ease),border-color .3s,box-shadow .3s; }
.v11-direction-card:hover,.v11-direction-card.is-current { transform:translateY(-6px); border-color:rgba(58,141,255,.5); box-shadow:0 18px 42px rgba(35,77,130,.12); }
.v11-direction-card.is-current { background:#e9f3ff; }
.v11-direction-card small { color:var(--v11-blue); text-transform:uppercase; letter-spacing:.09em; font-size:.68rem; }
.v11-direction-card strong { margin-top:2.2rem; font-size:1.65rem; font-weight:400; }
.v11-direction-card span { margin-top:.45rem; color:var(--v11-copy); }
.v11-direction-card i { position:absolute; right:1.3rem; bottom:1.2rem; font-style:normal; }
.direct-route-demo { min-height:20rem; display:flex; align-items:center; justify-content:center; gap:1.1rem; border:1px solid rgba(139,178,225,.25); background:rgba(255,255,255,.04); }
.direct-route-demo > div { padding:1.25rem; background:#fff; color:var(--v11-ink); }
.direct-route-demo > div:last-child { display:flex; flex-direction:column; }
.direct-route-demo span { color:var(--v11-copy); margin-top:.4rem; }
.v11-profile-hero { min-height:clamp(44rem,calc(100svh - var(--header-height,76px)),52rem); }
.profile-preview-stage { position:relative; min-height:36rem; display:grid; place-items:center; border:1px solid var(--v11-line); background:rgba(255,255,255,.45); box-shadow:var(--v11-shadow); overflow:hidden; }
.profile-preview-stage::before { content:""; position:absolute; width:28rem; height:28rem; border-radius:50%; border:1px solid rgba(58,141,255,.16); box-shadow:0 0 0 75px rgba(58,141,255,.035),0 0 0 150px rgba(58,141,255,.02); }
.preview-browser { position:relative; z-index:2; width:min(25rem,78%); height:31rem; overflow:hidden; border:1px solid rgba(65,102,145,.22); border-radius:1.6rem; background:#f2f6fb; box-shadow:0 25px 58px rgba(23,61,108,.17); }
.preview-bar { height:2.8rem; padding:0 1rem; display:flex; align-items:center; justify-content:space-between; color:#8796a7; background:#fff; border-bottom:1px solid var(--v11-line); }
.preview-bar span { width:.55rem; height:.55rem; border-radius:50%; background:var(--v11-blue); }
.preview-bar i { width:2rem; height:.2rem; border-radius:99px; background:#aeb8c4; }
.preview-viewport { position:relative; height:calc(100% - 2.8rem); overflow:hidden; background:#eef4fb; }
.preview-viewport iframe,.preview-viewport img { position:absolute; left:50%; top:0; width:390px; height:auto; min-height:860px; border:0; transform:translateX(-50%) translateY(var(--preview-y,0)); transform-origin:top center; transition:transform .7s var(--v11-ease),opacity .3s; pointer-events:none; }
.preview-viewport iframe { display:none; height:920px; }
body[data-live-host="true"] .preview-viewport iframe { display:block; }
body[data-live-host="true"] .preview-viewport img { display:none; }
.preview-label { position:absolute; z-index:3; left:1rem; bottom:1rem; padding:.65rem .8rem; color:white; background:#122131; font-size:.72rem; }
.profile-module-lab { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr); gap:1.5rem; }
.profile-module-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.profile-module-list button { position:relative; min-height:11rem; padding:1.35rem; text-align:left; border:1px solid var(--v11-line); background:rgba(255,255,255,.72); cursor:pointer; transition:transform .4s,border-color .3s,background .3s; }
.profile-module-list button:hover,.profile-module-list button.active { transform:translateY(-5px); border-color:rgba(58,141,255,.5); background:#fff; }
.profile-module-list span { color:var(--v11-blue); font-size:.7rem; }
.profile-module-list strong,.profile-module-list small { display:block; }
.profile-module-list strong { margin-top:1rem; font-size:1.35rem; font-weight:500; }
.profile-module-list small { margin-top:.5rem; color:var(--v11-copy); line-height:1.45; }
.profile-module-list i { position:absolute; right:1rem; bottom:.9rem; font-style:normal; }
.module-explanation { padding:clamp(2rem,5vw,4rem); display:flex; flex-direction:column; justify-content:center; border:1px solid var(--v11-line); background:linear-gradient(135deg,#eaf4ff,#fff); }
.module-explanation > span { color:var(--v11-blue); text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; }
.module-explanation h3 { margin:1rem 0; font-size:2.2rem; line-height:1.15; }
.module-pulse { display:flex; gap:.4rem; margin-top:2rem; }
.module-pulse i { width:.45rem; height:.45rem; border-radius:50%; background:var(--v11-blue); animation:v11-pulse 1.8s infinite; }
.module-pulse i:nth-child(2){animation-delay:.2s}.module-pulse i:nth-child(3){animation-delay:.4s}
.profile-scenario-lab { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); border:1px solid rgba(139,178,225,.24); }
.profile-scenario-lab > div { display:grid; }
.profile-scenario-lab button { padding:1.15rem; text-align:left; color:#fff; border:0; border-bottom:1px solid rgba(139,178,225,.18); background:transparent; cursor:pointer; }
.profile-scenario-lab button.active,.profile-scenario-lab button:hover { color:#8bbcff; background:rgba(58,141,255,.11); }
.profile-scenario-lab button strong,.profile-scenario-lab button span { display:block; }
.profile-scenario-lab button span { margin-top:.35rem; color:#9eafc1; }
.profile-scenario-lab article { padding:2.5rem; background:rgba(255,255,255,.04); }
.profile-scenario-lab article span { color:#7cb3ff; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.profile-scenario-lab h3 { margin:1rem 0; font-size:2.5rem; }
.profile-scenario-lab article p { color:#aebdd0; }

/* Single Link */
.single-destination-lab { position:relative; min-height:35rem; padding:2rem; display:flex; align-items:center; justify-content:center; gap:1rem; border:1px solid var(--v11-line); background:rgba(255,255,255,.65); box-shadow:var(--v11-shadow); }
.single-source,.single-destination { padding:1.5rem; background:#fff; box-shadow:0 16px 34px rgba(24,62,109,.12); }
.single-source { display:flex; flex-direction:column; }
.single-source small,.single-destination small { margin-top:.4rem; color:var(--v11-copy); }
.single-destination strong { font-size:1.6rem; }
.single-destination-lab nav { position:absolute; left:1.3rem; right:1.3rem; bottom:1.3rem; display:grid; grid-template-columns:repeat(6,1fr); }
.single-destination-lab nav button { min-height:3.4rem; border:1px solid var(--v11-line); border-right:0; background:#fff; cursor:pointer; }
.single-destination-lab nav button:last-child { border-right:1px solid var(--v11-line); }
.single-destination-lab nav button.active { color:#fff; background:var(--v11-blue); }
.destination-timeline { display:flex; align-items:center; gap:1rem; }
.destination-timeline > div { padding:1.2rem; background:#fff; color:var(--v11-ink); }
.destination-timeline span,.destination-timeline strong { display:block; }
.destination-timeline span { color:var(--v11-copy); font-size:.72rem; }

/* Stories */
.v11-stories-hero { min-height:auto; padding-bottom:3.5rem; }
.story-filters { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:2.3rem; }
.story-filters button { padding:.75rem 1rem; border:1px solid var(--v11-line); background:rgba(255,255,255,.72); cursor:pointer; }
.story-filters button.active { color:white; background:var(--v11-blue); border-color:var(--v11-blue); }
.featured-story > a { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(24rem,.75fr); min-height:38rem; color:var(--v11-ink); border:1px solid var(--v11-line); background:white; }
.featured-story figure { overflow:hidden; }
.featured-story img { width:100%; height:100%; object-fit:cover; transition:transform 1s var(--v11-ease); }
.featured-story:hover img { transform:scale(1.035); }
.featured-story > a > div { padding:clamp(2rem,5vw,4rem); display:flex; flex-direction:column; justify-content:center; }
.featured-story > a > div > span:not(.v11-eyebrow) { margin-top:1rem; color:var(--v11-copy); }
.featured-story h2 { margin:1.3rem 0 1rem; }
.story-route { margin:1.5rem 0; padding:1rem; border-left:3px solid var(--v11-blue); background:#edf5ff; }
.story-route small,.story-route strong { display:block; }
.story-route small { color:var(--v11-copy); }
.story-mosaic { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; margin-top:1.2rem; }
.v11-story-card > a { display:grid; grid-template-columns:minmax(0,1fr) minmax(16rem,.72fr); min-height:24rem; color:var(--v11-ink); border:1px solid var(--v11-line); background:white; }
.v11-story-card figure { position:relative; overflow:hidden; }
.v11-story-card figure img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--v11-ease); }
.v11-story-card:hover img { transform:scale(1.04); }
.v11-story-card figure span { position:absolute; left:.8rem; bottom:.8rem; padding:.55rem .7rem; color:#fff; background:rgba(15,29,43,.88); font-size:.7rem; opacity:0; transform:translateY(8px); transition:.35s; }
.v11-story-card:hover figure span { opacity:1; transform:none; }
.v11-story-card > a > div { padding:1.7rem; display:flex; flex-direction:column; justify-content:center; }
.v11-story-card small { color:var(--v11-blue); }
.v11-story-card h3 { margin:1rem 0 .7rem; font-size:1.7rem; }
.v11-story-card i { margin-top:1rem; font-style:normal; }
.story-detail-hero { padding:clamp(5rem,8vw,8rem) 0 0; background:linear-gradient(135deg,#f5f9ff,#eaf3ff); }
.story-detail-hero .container-wide { display:grid; grid-template-columns:minmax(0,.75fr) minmax(30rem,1.25fr); gap:5rem; align-items:end; }
.story-hero-copy { padding-bottom:4rem; }
.story-hero-copy > span:not(.v11-eyebrow) { display:block; margin-top:1rem; color:var(--v11-copy); }
.story-hero-copy h1 { margin:1.1rem 0 1.2rem; }
.story-detail-hero figure { height:42rem; overflow:hidden; }
.story-detail-hero img { width:100%; height:100%; object-fit:cover; }
.story-snapshot { background:#122131; color:white; }
.story-snapshot .container-wide { display:grid; grid-template-columns:repeat(3,1fr); }
.story-snapshot .container-wide > div { padding:1.35rem; border-right:1px solid rgba(255,255,255,.14); }
.story-snapshot small,.story-snapshot strong { display:block; }
.story-snapshot small { color:#7fb5ff; }
.story-chapters { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.38fr); gap:4rem; }
.story-chapters article { grid-column:1; padding:3rem 0; border-bottom:1px solid var(--v11-line); }
.story-chapters article span { color:var(--v11-blue); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; }
.story-chapters article h2 { margin:1rem 0; }
.story-callout { grid-column:2; grid-row:1/3; align-self:start; position:sticky; top:calc(var(--header-height,76px) + 2rem); padding:2rem; color:white; background:#122131; }
.story-callout p { color:#b8c5d5; }
.story-route-interactive { grid-column:1/-1; display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:1rem; align-items:center; padding:2rem; background:#edf5ff; }
.story-route-interactive button { padding:1.2rem; text-align:left; border:1px solid var(--v11-line); background:#fff; cursor:pointer; }
.story-route-interactive button.active { box-shadow:inset 3px 0 var(--v11-blue); }
.story-route-interactive span,.story-route-interactive small { display:block; }
.story-route-interactive small { margin-top:.35rem; color:var(--v11-copy); }
.story-next { position:relative; height:22rem; overflow:hidden; }
.story-next img { width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.story-next:hover img { transform:scale(1.04); }
.story-next span { position:absolute; left:1rem; bottom:1rem; padding:.75rem 1rem; color:#fff; background:#122131; }

/* Resources and help */
.resource-search,.faq-search { width:min(34rem,100%); margin-top:2rem; display:flex; border:1px solid var(--v11-line); background:#fff; }
.resource-search input,.faq-search input { flex:1; min-width:0; padding:1rem; border:0; background:transparent; }
.resource-search button,.faq-search span { width:3.5rem; display:grid; place-items:center; border:0; background:transparent; font-size:1.3rem; }
.featured-guide { position:relative; min-height:31rem; padding:2.2rem; display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:linear-gradient(135deg,#102031,#1b3c5c); box-shadow:var(--v11-shadow); overflow:hidden; }
.featured-guide::before { content:""; position:absolute; width:25rem; height:25rem; right:-8rem; top:-8rem; border-radius:50%; border:1px solid rgba(100,166,255,.4); box-shadow:0 0 0 55px rgba(58,141,255,.07),0 0 0 110px rgba(58,141,255,.04); }
.featured-guide > * { position:relative; z-index:2; }
.featured-guide > span { color:#81b7ff; text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; }
.featured-guide h2 { margin:1rem 0; }
.featured-guide p { color:#b9c7d7; }
.featured-guide > i { margin-top:1.5rem; font-style:normal; }
.guide-mini-map { display:flex; gap:.5rem; margin-top:1.5rem; }
.guide-mini-map b { padding:.6rem; border:1px solid rgba(255,255,255,.2); font-weight:400; }
.resource-toolbar { display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-bottom:2rem; }
.resource-toolbar nav { display:flex; flex-wrap:wrap; gap:.55rem; }
.resource-toolbar button { padding:.7rem .9rem; border:1px solid var(--v11-line); background:white; cursor:pointer; }
.resource-toolbar button.active { color:white; background:var(--v11-blue); }
.resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.resource-card a { position:relative; min-height:16rem; padding:1.5rem; display:flex; flex-direction:column; color:var(--v11-ink); border:1px solid var(--v11-line); background:white; transition:transform .4s,box-shadow .3s,border-color .3s; }
.resource-card a:hover { transform:translateY(-6px); border-color:rgba(58,141,255,.45); box-shadow:0 18px 40px rgba(32,74,125,.11); }
.resource-card small { color:var(--v11-blue); text-transform:uppercase; letter-spacing:.1em; }
.resource-card h3 { margin:1.6rem 0 .7rem; font-size:1.55rem; }
.resource-card i { position:absolute; right:1.2rem; bottom:1rem; font-style:normal; }
.help-journeys { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin-top:2.3rem; }
.help-journeys button { min-height:5rem; padding:1rem; text-align:left; border:1px solid var(--v11-line); background:rgba(255,255,255,.72); cursor:pointer; }
.help-journeys button.active,.help-journeys button:hover { color:var(--v11-blue); border-color:rgba(58,141,255,.55); background:#fff; transform:translateY(-3px); }
.help-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(21rem,.7fr); gap:2rem; align-items:start; }
.faq-list { display:grid; gap:.8rem; }
.faq-list details { border:1px solid var(--v11-line); background:white; }
.faq-list summary { padding:1.25rem; display:flex; justify-content:space-between; cursor:pointer; list-style:none; font-size:1.08rem; }
.faq-list details > div { padding:0 1.25rem 1.25rem; }
.faq-list details > div p { margin:0 0 1rem; }
.help-panel { position:sticky; top:calc(var(--header-height,76px) + 1.5rem); padding:2rem; color:white; background:linear-gradient(135deg,#122131,#1b3b59); }
.help-panel span { color:#7cb3ff; text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; }
.help-panel h2 { margin:1rem 0 1.5rem; font-size:2.2rem; }
.help-panel a { display:flex; justify-content:space-between; padding:.9rem 0; color:#fff; border-top:1px solid rgba(255,255,255,.15); }
.guide-hero { padding:clamp(5rem,8vw,8rem) 0; background:linear-gradient(135deg,#eef6ff,#fafcff); border-bottom:1px solid var(--v11-line); }
.guide-hero .container-wide { display:grid; grid-template-columns:minmax(0,1fr) 20rem; gap:4rem; align-items:end; }
.guide-hero h1 { margin:1.2rem 0; }
.guide-hero aside { padding:1.5rem; background:#122131; color:white; }
.guide-hero aside span,.guide-hero aside strong,.guide-hero aside small { display:block; }
.guide-hero aside strong { margin:.5rem 0; font-size:2rem; }
.guide-hero aside small { color:#acbdce; }
.guide-layout { display:grid; grid-template-columns:4rem minmax(0,1fr) 21rem; gap:2rem; align-items:start; }
.guide-progress { position:sticky; top:calc(var(--header-height,76px) + 2rem); display:grid; gap:.5rem; }
.guide-progress a { width:3rem; height:3rem; display:grid; place-items:center; border:1px solid var(--v11-line); background:white; }
.guide-steps { margin:0; padding:0; list-style:none; }
.guide-steps li { display:grid; grid-template-columns:4rem 1fr; gap:1rem; padding:2.2rem 0; border-bottom:1px solid var(--v11-line); }
.guide-steps li > span { color:var(--v11-blue); }
.guide-steps strong { font-size:1.45rem; font-weight:500; }
.guide-help { position:sticky; top:calc(var(--header-height,76px) + 2rem); padding:1.5rem; border:1px solid var(--v11-line); background:white; }
.guide-help a { display:flex; justify-content:space-between; padding:.8rem 0; border-top:1px solid var(--v11-line); }

/* About, contact, auth, functional */
.about-bridge { position:relative; min-height:34rem; display:flex; align-items:center; justify-content:center; gap:1rem; border:1px solid var(--v11-line); background:rgba(255,255,255,.6); box-shadow:var(--v11-shadow); }
.about-node { padding:1.1rem; background:#fff; box-shadow:0 14px 32px rgba(29,67,114,.11); }
.about-core { width:10rem; height:10rem; border-radius:50%; display:grid; place-items:center; align-content:center; color:white; background:#122131; }
.about-core img { width:3.4rem; filter:brightness(0) invert(1); }
.about-core strong { margin-top:.4rem; }
.about-bridge > span { width:3rem; height:1px; background:var(--v11-blue); }
.about-bridge > small { position:absolute; bottom:1rem; color:var(--v11-copy); }
.about-problem-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.about-problem-grid article { min-height:20rem; padding:1.7rem; border:1px solid var(--v11-line); background:white; transition:transform .4s,box-shadow .3s; }
.about-problem-grid article:hover { transform:translateY(-6px); box-shadow:var(--v11-shadow); }
.about-problem-grid span { color:var(--v11-blue); text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; }
.about-problem-grid h3 { margin:2.4rem 0 1rem; font-size:1.8rem; }
.v11-principle-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.v11-principle-grid article { min-height:15rem; padding:1.4rem; border:1px solid var(--v11-line); background:rgba(255,255,255,.7); transition:transform .4s,border-color .3s,background .3s; }
.dark .v11-principle-grid article { background:rgba(255,255,255,.035); border-color:rgba(139,178,225,.2); }
.v11-principle-grid article:hover { transform:translateY(-6px); border-color:rgba(58,141,255,.55); background:rgba(58,141,255,.08); }
.v11-principle-grid span { color:var(--v11-blue); }
.v11-principle-grid h3 { margin:2rem 0 .8rem; }
.about-roadmap { display:grid; gap:1rem; }
.about-roadmap > div { padding:1.4rem; border-left:3px solid var(--v11-blue); background:#edf5ff; }
.about-roadmap span,.about-roadmap strong { display:block; }
.about-roadmap span { color:var(--v11-copy); font-size:.72rem; text-transform:uppercase; }
.contact-direct { display:grid; gap:.7rem; margin-top:2rem; }
.contact-direct a { display:flex; justify-content:space-between; padding:.9rem 0; border-top:1px solid var(--v11-line); color:var(--v11-ink); }
.contact-direct span { color:var(--v11-copy); }
.contact-intent-stage { padding:1.4rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; border:1px solid var(--v11-line); background:rgba(255,255,255,.68); box-shadow:var(--v11-shadow); }
.contact-intent-stage > span { grid-column:1/-1; color:#63758a; text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; }
.contact-intent-stage button { min-height:5rem; padding:1rem; text-align:left; border:1px solid var(--v11-line); background:white; cursor:pointer; }
.contact-intent-stage button.active,.contact-intent-stage button:hover { color:var(--v11-blue); border-color:rgba(58,141,255,.5); background:#edf5ff; transform:translateY(-3px); }
.contact-form-grid { display:grid; grid-template-columns:minmax(0,.75fr) minmax(28rem,1.25fr); gap:clamp(3rem,7vw,7rem); }
.contact-form-grid h2 { margin:0 0 1rem; }
.contact-quick-links { display:grid; margin-top:2rem; }
.contact-quick-links a { display:flex; justify-content:space-between; padding:1rem 0; border-top:1px solid var(--v11-line); }
.guided-contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:2rem; border:1px solid var(--v11-line); background:white; box-shadow:var(--v11-shadow); }
.guided-contact-form label { display:grid; gap:.5rem; }
.guided-contact-form label:nth-of-type(n/**/+3),.guided-contact-form button,.guided-contact-form > small { grid-column:1/-1; }
.guided-contact-form input,.guided-contact-form textarea { width:100%; padding:1rem; border:1px solid var(--v11-line); background:#f9fbfe; }
.guided-contact-form input:focus,.guided-contact-form textarea:focus { outline:2px solid rgba(58,141,255,.25); border-color:var(--v11-blue); }
.auth-body .site-header,.auth-body .footer { display:none; }
.auth-page { min-height:100svh; display:grid; align-items:center; padding:2rem; background:linear-gradient(135deg,#101d2b 0 46%,#eef5ff 46%); }
.auth-shell { width:min(78rem,100%); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(27rem,.72fr); gap:clamp(3rem,7vw,7rem); align-items:center; }
.auth-story { color:white; }
.auth-story h1 { margin:1.2rem 0; }
.auth-story p { max-width:39rem; color:#b8c5d5; }
.auth-benefits { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:2rem; }
.auth-benefits span { padding:.65rem .8rem; border:1px solid rgba(255,255,255,.18); }
.auth-card { padding:2rem; display:grid; gap:1rem; border:1px solid var(--v11-line); background:white; box-shadow:0 28px 80px rgba(10,31,54,.18); }
.auth-card > span { color:var(--v11-blue); text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; }
.auth-card h2 { margin:0 0 .7rem; }
.auth-card label { display:grid; gap:.5rem; }
.auth-card input { padding:1rem; border:1px solid var(--v11-line); }
.auth-row { display:flex; justify-content:space-between; gap:1rem; font-size:.86rem; }
.auth-row label { display:flex; align-items:center; grid-auto-flow:column; }
.auth-card > p { text-align:center; }
.auth-story ol { display:grid; grid-template-columns:repeat(4,1fr); margin-top:2rem; padding:0; list-style:none; }
.auth-story li { padding:.8rem; color:#7e91a6; border-top:1px solid rgba(255,255,255,.2); }
.auth-story li.active { color:white; border-color:var(--v11-blue); }
.register-step { display:none; gap:1rem; }
.register-step.active { display:grid; animation:v11-panel-in .45s var(--v11-ease); }
.register-directions { display:grid; gap:.6rem; }
.register-directions button { padding:1rem; display:flex; justify-content:space-between; border:1px solid var(--v11-line); background:white; }
.register-directions button.active { color:var(--v11-blue); background:#edf5ff; border-color:var(--v11-blue); }
.pricing-foundation { padding:2rem; background:#122131; color:white; box-shadow:var(--v11-shadow); }
.pricing-foundation > div { min-height:22rem; padding:2rem; border:1px solid rgba(255,255,255,.18); }
.pricing-foundation span { color:#83b9ff; font-size:3.2rem; }
.pricing-foundation h2 { margin:.8rem 0; }
.pricing-foundation ul { display:grid; gap:.7rem; padding-left:1.2rem; color:#bdc9d7; }
.pricing-foundation > small { display:block; margin-top:1rem; color:#aebdcd; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.pricing-grid article { min-height:20rem; padding:1.6rem; display:flex; flex-direction:column; border:1px solid var(--v11-line); background:white; }
.pricing-grid span { color:var(--v11-blue); text-transform:uppercase; font-size:.7rem; letter-spacing:.1em; }
.pricing-grid h3 { margin:2rem 0 1rem; font-size:1.8rem; }
.pricing-grid a { margin-top:auto; display:flex; justify-content:space-between; }
.functional-hero { padding:clamp(5rem,8vw,8rem) 0 3rem; background:linear-gradient(135deg,#eef6ff,#fafcff); border-bottom:1px solid var(--v11-line); }
.functional-hero .container-wide { display:flex; justify-content:space-between; gap:4rem; align-items:end; }
.functional-hero h1 { margin:1.2rem 0; max-width:56rem; }
.functional-hero ol { display:flex; gap:.6rem; list-style:none; }
.functional-hero li { padding:.7rem .9rem; border:1px solid var(--v11-line); }
.functional-hero li.active { color:white; background:var(--v11-blue); }
.functional-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(20rem,.55fr); gap:2rem; }
.functional-card { padding:2rem; display:grid; gap:1.2rem; border:1px solid var(--v11-line); background:white; box-shadow:var(--v11-shadow); }
.functional-card > span { color:var(--v11-blue); }
.functional-card label { display:flex; border:1px solid var(--v11-line); }
.functional-card input { flex:1; padding:1rem; border:0; }
.functional-card label button { padding:0 1.2rem; border:0; border-left:1px solid var(--v11-line); background:#edf5ff; }
.functional-help { padding:1.6rem; color:white; background:#122131; }
.functional-help > div { display:grid; grid-template-columns:2rem 1fr; gap:.8rem; padding:.9rem 0; border-top:1px solid rgba(255,255,255,.15); }
.functional-help > div span { color:#83b9ff; }
.functional-help > div p { margin:0; color:#b9c6d5; }
.functional-help a { display:flex; justify-content:space-between; margin-top:1rem; color:white; }
.customizer-layout { display:grid; grid-template-columns:minmax(15rem,.55fr) minmax(22rem,1fr) minmax(20rem,.65fr); gap:1rem; }
.customizer-controls,.customizer-preview,.customizer-layout > aside { padding:1.6rem; border:1px solid var(--v11-line); background:white; }
.customizer-controls > div { display:grid; gap:.5rem; margin-bottom:1.3rem; }
.customizer-controls span { color:#63758a; font-size:.75rem; text-transform:uppercase; }
.customizer-controls button { padding:.8rem; text-align:left; border:1px solid var(--v11-line); background:white; }
.customizer-controls button.active { color:white; background:var(--v11-blue); }
.customizer-preview { min-height:28rem; display:flex; align-items:center; justify-content:center; gap:1rem; background:linear-gradient(135deg,#f8fbff,#e8f3ff); }
.customizer-preview > div { padding:1.2rem; background:white; box-shadow:0 15px 36px rgba(24,63,111,.12); }
.customizer-preview p { position:absolute; align-self:flex-end; margin-bottom:1rem; }
.customizer-layout > aside { display:flex; flex-direction:column; justify-content:center; }
.customizer-layout > aside span { color:var(--v11-blue); text-transform:uppercase; font-size:.7rem; }
.customizer-layout > aside h2 { margin:1rem 0; }

/* Product detail */
.product-detail-hero { padding:clamp(5rem,8vw,8rem) 0; background:linear-gradient(135deg,#f4f9ff,#e9f3ff); }
.product-detail-hero .container-wide { display:grid; grid-template-columns:minmax(0,.75fr) minmax(30rem,1.25fr); gap:5rem; align-items:center; }
.product-detail-visual { position:relative; height:39rem; overflow:hidden; box-shadow:var(--v11-shadow); }
.product-detail-visual img { width:100%; height:100%; object-fit:cover; }
.product-detail-mode { position:absolute; right:1rem; bottom:1rem; padding:1rem; color:white; background:rgba(15,29,43,.9); }
.product-detail-mode span,.product-detail-mode strong { display:block; }
.product-detail-mode span { color:#81b7ff; font-size:.7rem; text-transform:uppercase; }

/* 404 */
.no-chrome .site-header,.no-chrome .footer { display:none; }
.not-found { min-height:100svh; display:grid; place-items:center; padding:2rem; background:radial-gradient(circle at 50% 30%,#edf5ff,#f8fbff); }
.not-found > section { width:min(76rem,100%); display:grid; grid-template-columns:auto minmax(0,.8fr) minmax(22rem,.6fr); gap:3rem; align-items:center; }
.not-found-code { display:flex; align-items:center; font-size:8rem; letter-spacing:-.08em; }
.not-found-code img { width:6rem; }
.broken-route { position:relative; min-height:19rem; display:flex; align-items:center; justify-content:center; gap:1rem; border:1px solid var(--v11-line); background:white; overflow:hidden; }
.broken-route > i { position:absolute; width:44%; height:1px; background:var(--v11-blue); }
.broken-route > i:first-child { left:0; transform:rotate(8deg); transform-origin:left; }
.broken-route > i:nth-child(2) { right:0; transform:rotate(-8deg); transform-origin:right; }
.broken-route span,.broken-route b { position:relative; z-index:2; padding:.8rem; background:white; }
.broken-route b { color:var(--v11-blue); font-size:2rem; }

/* Shared closing */
.v11-closing { padding:clamp(4rem,7vw,6rem) 0; color:white; background:linear-gradient(135deg,#101d2b,#172d43); }
.v11-closing-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4rem; align-items:center; }
.v11-closing h2 { margin:1rem 0; max-width:61rem; }
.v11-closing p { max-width:46rem; color:#b6c4d4; }

/* Homepage profile direction visual: preserve JS and scroll mechanics, redesign only composition. */
.profile-system-locked .profile-scroll-zone { padding-bottom:clamp(5rem,8vw,8rem); }
.profile-system-locked .profile-sticky { gap:1rem; }
.profile-system-locked .profile-selector { border:1px solid var(--v11-line); background:rgba(255,255,255,.82); }
.profile-system-locked .profile-selector button { min-height:4.9rem; padding:1rem 1.15rem; }
.profile-stage { min-height:clamp(35rem,68svh,43rem) !important; display:grid !important; grid-template-columns:minmax(0,.78fr) minmax(28rem,1.22fr) !important; gap:clamp(2rem,5vw,5rem) !important; padding:clamp(2.2rem,4.6vw,4.4rem) !important; overflow:hidden; background:linear-gradient(135deg,#dceaff 0%,#f3f8ff 58%,#d7e7ff 100%) !important; }
.profile-system-locked .profile-story { align-self:center; max-width:31rem; padding:0 !important; }
.profile-system-locked .profile-story h3 { font-size:clamp(2.6rem,4vw,3.6rem) !important; }
.profile-system-locked .profile-message { margin-top:1.6rem !important; font-size:clamp(1.9rem,3vw,2.75rem) !important; line-height:1.1 !important; }
.profile-system-locked .profile-description { margin-top:1rem !important; }
.profile-system-locked .profile-story .inline-action { margin-top:1.8rem !important; }
.profile-system-locked .profile-visual { position:relative; min-height:29rem; display:grid; place-items:center; padding:0 !important; background:transparent !important; }
.profile-system-locked .profile-phone { width:min(27rem,80%) !important; height:30rem !important; border-radius:1.5rem !important; box-shadow:0 28px 68px rgba(26,65,119,.16) !important; }
.profile-system-locked .profile-live-preview iframe { transform:translateX(-50%) scale(.6) !important; }
.profile-system-locked .profile-live-fallback { width:100%; min-height:100%; object-fit:cover; object-position:top; }
.profile-system-locked .profile-orbit { inset:50% auto auto 50%; width:30rem; height:30rem; transform:translate(-50%,-50%); }
.profile-system-locked .profile-product-recommendation { right:1rem !important; bottom:1rem !important; max-width:17rem; box-shadow:0 18px 44px rgba(25,62,108,.14); }
.profile-system-locked .profile-single-link { width:min(31rem,88%) !important; min-height:18rem; }

/* Reveal and motion */
[data-v11-reveal] { opacity:0; transform:translateY(24px); }
[data-v11-reveal].is-visible { opacity:1; transform:none; transition:opacity .75s var(--v11-ease),transform .75s var(--v11-ease); }
@keyframes v11-panel-in { from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none} }
@keyframes v11-pulse { 0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)} }









/* ===== Source baseline: set-one.css ===== */


/* Calm navigation: no markers, underlines, dots or moving strokes. */
.desktop-nav>a::before,.desktop-nav>a::after,.desktop-nav .nav-trigger::before,.desktop-nav .nav-trigger::after,
.desktop-nav .nav-node::before,.desktop-nav .nav-node::after{display:none!important;content:none!important;transform:none!important;opacity:0!important}
.desktop-nav>a,.desktop-nav .nav-trigger{border:0!important;box-shadow:none!important;background:transparent!important;text-decoration:none!important;transition:color .18s ease!important}
.desktop-nav>a:hover,.desktop-nav .nav-trigger:hover,.desktop-nav>a[aria-current="page"]{color:var(--set-one-blue)!important}
.desktop-nav>a[aria-current="page"]{font-weight:500!important}
.desktop-nav svg{transition:none!important}

.open-set-page{background:var(--set-one-paper);color:var(--set-one-ink)}
.open-main{overflow:clip;background:
  radial-gradient(circle at 90% 8%,rgba(58,141,255,.14),transparent 27rem),
  radial-gradient(circle at 12% 55%,rgba(58,141,255,.08),transparent 30rem),
  linear-gradient(180deg,#f5f9ff 0%,#edf5ff 55%,#f8fbff 100%)}
.open-main h1{font-size:var(--inner-title)!important;line-height:1.02;letter-spacing:-.045em;font-weight:400;max-width:none!important}
.open-main h2{font-size:clamp(2.2rem,3.6vw,3rem);line-height:1.06;letter-spacing:-.04em;font-weight:400;max-width:none}
.open-main h3{font-weight:400;letter-spacing:-.028em}
.open-main p{color:var(--set-one-muted);font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.55}
.open-eyebrow{display:flex;align-items:center;gap:.8rem;text-transform:uppercase;letter-spacing:.11em;font-size:.76rem;color:#4b6380;margin-bottom:1.25rem}
.open-eyebrow::before{content:"";width:1.1rem;height:1px;background:currentColor}
.open-copy p{max-width:39rem;margin-top:1.45rem}
.open-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:2rem}
.open-text-link{display:inline-flex;align-items:center;gap:.55rem;color:var(--set-one-ink);text-decoration:none;position:relative;padding:.25rem 0}
.open-text-link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--set-one-blue);transition:right .28s ease}
.open-text-link:hover::after,.open-text-link:focus-visible::after{right:0}
.open-text-link svg{width:1.1rem;transition:transform .25s ease}
.open-text-link:hover svg,.open-text-link:focus-visible svg{transform:translateX(.25rem)}
.reveal-line{opacity:0;transform:translateY(28px)}
.reveal-line.is-visible{opacity:1;transform:none;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}

/* HOW IT WORKS: open orbital hero */
.open-hero{position:relative;isolation:isolate;min-height:min(760px,calc(100svh - 78px));display:flex;align-items:center;padding:clamp(5rem,8vw,8rem) 0}
.open-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.open-ambient span{position:absolute;border:1px solid rgba(58,141,255,.12);border-radius:50%;animation:ambient-drift 18s ease-in-out infinite alternate}
.open-ambient span:nth-child(1){width:46rem;height:46rem;right:-16rem;top:-20rem}
.open-ambient span:nth-child(2){width:30rem;height:30rem;right:-5rem;top:-9rem;animation-delay:-6s}
.open-ambient span:nth-child(3){width:20rem;height:20rem;left:-10rem;bottom:-8rem;animation-delay:-10s}
@keyframes ambient-drift{to{transform:translate3d(-24px,22px,0) scale(1.035)}}
.how-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(34rem,1.18fr);align-items:center;gap:clamp(3rem,7vw,8rem)}
.route-orbit{position:relative;min-height:39rem;aspect-ratio:1.18/1;max-width:48rem;margin-left:auto}
.route-orbit::before,.route-orbit::after{content:"";position:absolute;left:50%;top:50%;border:1px solid rgba(58,141,255,.14);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.route-orbit::before{width:68%;aspect-ratio:1}
.route-orbit::after{width:94%;aspect-ratio:1}
.route-lines{position:absolute;inset:2%;width:96%;height:96%;overflow:visible}
.route-lines path{fill:none;stroke:rgba(58,141,255,.23);stroke-width:1.25;stroke-dasharray:6 10;transition:stroke .3s ease,stroke-width .3s ease}
.route-lines path.is-active{stroke:var(--set-one-blue);stroke-width:2.4;stroke-dasharray:220 900;animation:path-pulse 1.2s ease forwards}
@keyframes path-pulse{from{stroke-dashoffset:220}to{stroke-dashoffset:0}}
.identity-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center;width:11rem;height:11rem;border-radius:50%;background:var(--set-one-navy);color:#fff;box-shadow:0 2rem 5rem rgba(21,49,78,.18)}
.identity-core img{width:3.8rem;filter:brightness(0) invert(1);margin-bottom:.3rem}
.identity-core strong{font-size:1.05rem;font-weight:500}
.identity-core span{font-size:.73rem;color:#aabbd0;margin-top:.2rem}
.route-node{position:absolute;background:transparent;border:0;color:var(--set-one-muted);text-align:left;padding:0;cursor:pointer;max-width:12.5rem;transition:color .25s ease,transform .25s ease}
.route-node::before{content:"";display:block;width:.46rem;height:.46rem;border-radius:50%;background:rgba(58,141,255,.28);margin-bottom:.72rem;transition:transform .25s ease,background .25s ease}
.route-node small,.route-node span{display:block}
.route-node small{text-transform:uppercase;letter-spacing:.1em;font-size:.69rem;margin-bottom:.25rem}
.route-node strong{font-size:1.42rem;font-weight:400;color:var(--set-one-ink);transition:color .25s ease}
.route-node span{font-size:.78rem;margin-top:.2rem;line-height:1.4}
.route-node:hover,.route-node:focus-visible,.route-node.active{color:#4f6680;transform:translateY(-3px)}
.route-node.active::before{background:var(--set-one-blue);transform:scale(1.55)}
.route-node.active strong{color:var(--set-one-blue)}
.route-profile{left:2%;top:7%}.route-single{right:1%;top:8%;text-align:right}.route-single::before{margin-left:auto}
.route-link{left:1%;bottom:7%}.route-physical{right:0;bottom:4%;text-align:right}.route-physical::before{margin-left:auto}.route-qr{left:50%;bottom:-.5rem;transform:translateX(-50%);text-align:center}.route-qr::before{margin-left:auto;margin-right:auto}.route-qr:hover,.route-qr:focus-visible,.route-qr.active{transform:translateX(-50%) translateY(-3px)}
.route-outcome{position:absolute;left:50%;top:73%;transform:translate(-50%,-50%);width:min(19rem,44%);text-align:center;pointer-events:none}
.route-outcome span{display:block;color:var(--set-one-blue);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.route-outcome strong{display:block;font-size:1.15rem;font-weight:500;margin:.35rem 0}
.route-outcome p{font-size:.78rem;line-height:1.45;margin:0}

.open-journey{position:relative;padding:clamp(4rem,8vw,8rem) 0 clamp(6rem,10vw,10rem)}
.journey-thread{position:absolute;left:50%;top:1rem;bottom:4rem;width:1px;background:linear-gradient(transparent,var(--set-one-line) 8%,var(--set-one-line) 92%,transparent)}
.journey-thread i{position:sticky;display:block;top:45vh;width:.55rem;height:.55rem;border-radius:50%;background:var(--set-one-blue);transform:translate(-.25rem,0);box-shadow:0 0 0 .5rem rgba(58,141,255,.1)}
.journey-beat{width:min(92rem,calc(100% - 3rem));margin:0 auto;display:grid;grid-template-columns:4rem minmax(0,.8fr) minmax(25rem,1.2fr);gap:clamp(2rem,5vw,6rem);align-items:center;min-height:37rem;padding:5rem 0}
.journey-reverse{grid-template-columns:minmax(25rem,1.2fr) minmax(0,.8fr) 4rem}
.journey-reverse .journey-number{grid-column:3}.journey-reverse .journey-copy{grid-column:2;grid-row:1}.journey-reverse .journey-visual{grid-column:1;grid-row:1}
.journey-number{font-size:.78rem;color:var(--set-one-blue);align-self:start;padding-top:.4rem}
.journey-copy>span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--set-one-blue)}
.journey-copy h2{margin:.7rem 0 1.1rem}
.journey-copy .open-text-link{margin-top:1.2rem}
.journey-visual{position:relative;min-height:26rem;display:grid;place-items:center}
.identity-flow span{position:absolute;font-size:1.1rem}.identity-flow span:nth-child(1){left:5%;top:13%}.identity-flow span:nth-child(2){right:0;top:32%}.identity-flow span:nth-child(3){left:17%;bottom:8%}
.identity-flow span::before{content:"";display:inline-block;width:.42rem;height:.42rem;border-radius:50%;background:var(--set-one-blue);margin-right:.65rem;vertical-align:middle}
.identity-flow b{width:13rem;height:13rem;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:400;font-size:1.25rem;color:#fff;background:var(--set-one-navy);box-shadow:0 2rem 4rem rgba(12,40,70,.16)}
.share-flow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem}
.share-flow::before{content:"";position:absolute;left:4%;right:4%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--set-one-blue),transparent)}
.url-flow{position:relative;z-index:1;background:#fff;padding:1rem 1.2rem;border-bottom:2px solid var(--set-one-blue);box-shadow:0 1.2rem 3rem rgba(48,87,130,.11);font-size:.92rem}.url-flow button{border:0;background:transparent;color:var(--set-one-blue);margin-left:1rem;cursor:pointer}.share-flow img{position:relative;z-index:1;width:10rem;background:#fff;padding:.85rem;box-shadow:0 1.2rem 3rem rgba(48,87,130,.11)}
.physical-flow{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,2vw,2rem);perspective:1000px}
.physical-flow img{width:31%;aspect-ratio:.72;object-fit:cover;box-shadow:0 1.4rem 3rem rgba(32,64,101,.13);transition:transform .45s cubic-bezier(.22,1,.36,1),filter .35s ease}
.physical-flow img:nth-child(1){transform:rotate(-6deg) translateY(1rem)}.physical-flow img:nth-child(2){transform:translateY(-1.2rem) scale(1.04)}.physical-flow img:nth-child(3){transform:rotate(6deg) translateY(1rem)}
.physical-flow:hover img:nth-child(1){transform:rotate(-2deg) translateY(0)}.physical-flow:hover img:nth-child(2){transform:translateY(-2rem) scale(1.06)}.physical-flow:hover img:nth-child(3){transform:rotate(2deg) translateY(0)}
.destination-switch{align-content:center;gap:2rem}.fixed-object{width:10rem;height:10rem;border-radius:50%;display:grid;place-items:center;background:var(--set-one-navy);color:#fff;margin:auto}.switch-track{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.switch-track button{border:0;border-bottom:1px solid rgba(31,36,41,.18);background:transparent;padding:.6rem .2rem;color:var(--set-one-muted);cursor:pointer}.switch-track button.active{color:var(--set-one-blue);border-color:var(--set-one-blue)}.destination-switch>strong{text-align:center;font-weight:400;font-size:1.15rem}.destination-switch>strong span{color:var(--set-one-blue)}

.moment-field{padding:clamp(6rem,10vw,10rem) 0;background:var(--set-one-navy);color:#fff;position:relative;overflow:hidden}
.moment-field::before{content:"";position:absolute;width:50rem;height:50rem;border:1px solid rgba(58,141,255,.18);border-radius:50%;right:-22rem;top:-25rem}
.moment-field-grid{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(14rem,.55fr) minmax(22rem,1fr);gap:clamp(3rem,6vw,7rem);align-items:start}
.moment-field h2{color:#fff}.moment-options{display:flex;flex-direction:column}.moment-options button{border:0;border-bottom:1px solid rgba(255,255,255,.12);background:transparent;color:#8ea1b5;text-align:left;padding:1.05rem 0;cursor:pointer;font-size:1rem;transition:color .2s ease,padding-left .25s ease}.moment-options button:hover,.moment-options button.active{color:#fff;padding-left:.7rem}.moment-options button.active::before{content:"";display:inline-block;width:.42rem;height:.42rem;border-radius:50%;background:var(--set-one-blue);margin-right:.6rem}
.moment-result>span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#76aaff}.moment-result h3{font-size:clamp(2rem,3vw,2.8rem);margin:.65rem 0 1rem;color:#fff}.moment-result p{color:#9eb0c2}.moment-route{display:flex;align-items:center;gap:1rem;margin:2rem 0}.moment-route i{width:4rem;height:1px;background:var(--set-one-blue)}.moment-route strong{font-weight:400;color:#fff}.moment-field .open-text-link{color:#fff}

/* ABOUT: open word, river and principle fields */
.about-hero{min-height:720px;position:relative}.about-wordmark{position:absolute;left:-2vw;top:46%;transform:translateY(-50%);font-size:min(30vw,35rem);letter-spacing:-.12em;color:rgba(58,141,255,.045);font-weight:700;white-space:nowrap;pointer-events:none}.about-line-field span{position:absolute;border:1px solid rgba(58,141,255,.12);border-radius:50%}.about-line-field span:nth-child(1){width:38rem;height:38rem;right:-10rem;top:-12rem}.about-line-field span:nth-child(2){width:25rem;height:25rem;right:-2rem;top:-5rem}.about-line-field span:nth-child(3){width:12rem;height:12rem;right:5rem;top:2rem}.about-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .75fr;gap:clamp(4rem,10vw,12rem);align-items:end}.about-hero-copy{padding-bottom:1rem}.about-hero-copy .open-text-link{margin-top:1.4rem}
.origin-river{position:relative;padding:clamp(7rem,11vw,12rem) 0}.origin-path{position:absolute;inset:0;overflow:hidden;pointer-events:none}.origin-path svg{width:100%;height:100%}.origin-path path{fill:none;stroke:rgba(58,141,255,.13);stroke-width:1.4;stroke-dasharray:7 12}.origin-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,9vw,10rem);position:relative}.origin-statement{align-self:center}.origin-moments{display:grid;gap:4rem}.origin-moments article{position:relative;padding-left:3.2rem}.origin-moments article::before{content:"";position:absolute;left:.8rem;top:2.1rem;bottom:-4rem;width:1px;background:linear-gradient(var(--set-one-blue),transparent)}.origin-moments article:last-child::before{display:none}.origin-moments span{position:absolute;left:0;top:.15rem;color:var(--set-one-blue);font-size:.72rem}.origin-moments h3{font-size:1.65rem;margin:0 0 .65rem}
.principle-field{padding:clamp(7rem,11vw,12rem) 0;background:var(--set-one-navy);color:#fff;position:relative;overflow:hidden}.principle-field::after{content:"";position:absolute;left:50%;top:50%;width:50rem;height:50rem;border:1px solid rgba(58,141,255,.16);border-radius:50%;transform:translate(-7%,-50%)}.principle-grid{display:grid;grid-template-columns:.85fr .55fr 1fr;gap:clamp(3rem,6vw,7rem);align-items:center;position:relative;z-index:1}.principle-title h2{color:#fff}.principle-nav{display:flex;flex-direction:column}.principle-nav button{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.12);color:#8fa2b6;text-align:left;padding:1rem 0;cursor:pointer}.principle-nav button span{color:#679ce0;font-size:.72rem;margin-right:.8rem}.principle-nav button.active,.principle-nav button:hover{color:#fff}.principle-orbit{min-height:23rem;display:flex;flex-direction:column;justify-content:center;position:relative}.principle-signal{position:absolute;width:17rem;height:17rem;border:1px solid rgba(58,141,255,.2);border-radius:50%;left:-4rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;opacity:.55}.principle-signal img{width:6rem;filter:brightness(0) invert(1)}.principle-orbit>span,.principle-orbit h3,.principle-orbit p{position:relative;margin-left:7rem}.principle-orbit>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#76aaff}.principle-orbit h3{font-size:2rem;color:#fff;margin-top:.7rem;margin-bottom:1rem}.principle-orbit p{color:#9eb0c2}
.direction-stream{padding:clamp(7rem,11vw,12rem) 0}.direction-stream-grid{display:grid;grid-template-columns:1fr 1fr}.direction-intro{grid-column:1/-1;display:grid;grid-template-columns:.45fr 1fr;align-items:start;margin-bottom:4rem}.direction-intro h2{margin:0}.direction-word{position:relative;display:grid;grid-template-columns:1fr auto;align-items:end;text-decoration:none;color:var(--set-one-ink);padding:2rem 0;border-bottom:1px solid rgba(31,36,41,.14);transition:padding-left .3s ease,color .2s ease}.direction-word:nth-of-type(odd){margin-right:3rem}.direction-word:nth-of-type(even){margin-left:3rem}.direction-word span{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.05em}.direction-word strong{grid-column:1;font-weight:400;color:var(--set-one-muted)}.direction-word i{grid-column:2;grid-row:1/3;font-style:normal;color:var(--set-one-blue)}.direction-word:hover{padding-left:1.2rem;color:var(--set-one-blue)}
.future-crossing{display:grid;grid-template-columns:1.15fr .85fr;min-height:42rem;align-items:stretch}.future-image{overflow:hidden}.future-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1)}.future-crossing:hover .future-image img{transform:scale(1.035)}.future-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,9rem);background:linear-gradient(135deg,#eaf3ff,#f7faff)}.development-label{margin-top:2rem;color:var(--set-one-blue);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.creator-note{padding:clamp(6rem,9vw,9rem) 0;background:var(--set-one-navy);color:#fff}.creator-note h2{color:#fff}.creator-note p{color:#9fb0c1;max-width:48rem}.creator-note .open-text-link{color:#fff;margin-top:1rem}

/* CONTACT: open intents and underlined form */
.contact-hero{min-height:680px}.contact-hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(4rem,9vw,11rem);align-items:center}.contact-signal span{position:absolute;width:.6rem;height:.6rem;border-radius:50%;background:var(--set-one-blue);box-shadow:0 0 0 1rem rgba(58,141,255,.08);animation:signal-float 7s ease-in-out infinite alternate}.contact-signal span:nth-child(1){right:12%;top:23%}.contact-signal span:nth-child(2){right:42%;bottom:20%;animation-delay:-2s}.contact-signal span:nth-child(3){left:8%;bottom:11%;animation-delay:-4s}@keyframes signal-float{to{transform:translate(1.4rem,-1rem)}}
.contact-intents{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}.contact-intents button{background:transparent;border:0;border-bottom:1px solid rgba(31,36,41,.14);text-align:left;padding:1.35rem 0;color:var(--set-one-muted);cursor:pointer;font-size:1rem;transition:color .2s ease,padding-left .25s ease}.contact-intents button:hover,.contact-intents button.active{color:var(--set-one-blue);padding-left:.75rem}.contact-intents button.active::before{content:"";display:inline-block;width:.42rem;height:.42rem;border-radius:50%;background:var(--set-one-blue);margin-right:.6rem}
.contact-flow-section{position:relative;padding:clamp(7rem,11vw,12rem) 0;background:#fff}.contact-path{position:absolute;inset:0;pointer-events:none;overflow:hidden}.contact-path svg{width:100%;height:100%}.contact-path path{fill:none;stroke:rgba(58,141,255,.11);stroke-width:1.2;stroke-dasharray:8 13}.contact-flow-grid{position:relative;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(4rem,9vw,11rem)}.contact-context>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--set-one-blue)}.contact-context h2{margin:.8rem 0 1.1rem}.contact-direct{display:flex;flex-direction:column;gap:.7rem;margin-top:2rem}.contact-direct a{color:var(--set-one-ink);text-decoration:none;width:max-content;border-bottom:1px solid rgba(31,36,41,.15)}
.open-form{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem 2.5rem;align-content:start}.open-field{display:flex;flex-direction:column}.open-field-wide{grid-column:1/-1}.open-field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#5f7287;margin-bottom:.8rem}.open-field input,.open-field textarea{width:100%;border:0;border-bottom:1px solid rgba(31,36,41,.2);background:transparent;padding:.25rem 0 .9rem;font:inherit;color:var(--set-one-ink);outline:none;resize:vertical;transition:border-color .2s ease}.open-field input:focus,.open-field textarea:focus{border-color:var(--set-one-blue)}.open-form-actions{grid-column:1/-1;display:flex;align-items:center;gap:1.4rem;margin-top:.4rem}.open-form-actions span{font-size:.82rem;color:var(--set-one-muted)}.form-success{grid-column:1/-1;color:var(--set-one-blue);display:flex;gap:.7rem;align-items:center}.form-success[hidden]{display:none}
.contact-alternatives{padding:clamp(5rem,8vw,8rem) 0}.contact-alternative-grid{display:grid;grid-template-columns:.7fr repeat(3,1fr);gap:2.5rem;align-items:end}.contact-alternative-grid>a{display:flex;align-items:center;justify-content:space-between;color:var(--set-one-ink);text-decoration:none;border-bottom:1px solid rgba(31,36,41,.15);padding-bottom:1rem}.contact-alternative-grid>a:hover{color:var(--set-one-blue)}.contact-alternative-grid svg{width:1.1rem}

/* Minimal shared build-state for all routes outside the active set. */
.build-state-page{background:var(--set-one-paper)}.build-state{min-height:calc(100svh - 78px);display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 25%,rgba(58,141,255,.13),transparent 24rem),linear-gradient(180deg,#f4f8ff,#eef5ff)}.build-state h1{font-size:var(--inner-title);font-weight:400;letter-spacing:-.045em;position:relative;z-index:1}.build-state-signal span{position:absolute;border:1px solid rgba(58,141,255,.12);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.build-state-signal span:nth-child(1){width:18rem;height:18rem}.build-state-signal span:nth-child(2){width:30rem;height:30rem}.build-state-signal span:nth-child(3){width:44rem;height:44rem}





/* ===== Source baseline: v14.css ===== */
/* SETU V14: bounded, connected, content-driven first rebuild set. */


/* Stable navigation: text colour only, no bars/dots/animated markers. */
.desktop-nav>a::before,.desktop-nav>a::after,
.desktop-nav .nav-trigger::before,.desktop-nav .nav-trigger::after,
.desktop-nav .nav-node::before,.desktop-nav .nav-node::after{
  content:none!important;display:none!important;opacity:0!important;transform:none!important;
}
.desktop-nav>a,.desktop-nav .nav-trigger{
  color:#405064!important;background:transparent!important;border:0!important;box-shadow:none!important;
  text-decoration:none!important;transition:color .18s ease!important;
}
.desktop-nav>a:hover,.desktop-nav .nav-trigger:hover,.desktop-nav>a[aria-current="page"]{color:var(--v14-blue)!important}
.desktop-nav>a[aria-current="page"]{font-weight:500!important}

/* Global vertical rhythm. Karan should not need to flag link spacing page by page. */
:is(.open-main,.home-v10-global main) :is(p,.recommendation-meta,.meta-row,.feature-list,.open-list,.route-summary)+:is(.inline-action,.open-text-link,.button-row,.open-actions,.hero-actions,.open-form-actions){
  margin-top:var(--v14-copy-action)!important;
}
:is(.open-main,.home-v10-global main) :is(.inline-action,.open-text-link){
  display:inline-flex;align-items:center;gap:.75rem;width:fit-content;
}
:is(.open-main,.home-v10-global main) :is(.inline-action,.open-text-link) svg{flex:none}
.open-main section:not(.v14-intentional-viewport){height:auto!important;min-height:0!important}
.open-main .open-hero{height:auto!important;min-height:0!important;display:block!important;padding-block:var(--v14-section-y)!important}

/* Shared first-set canvas. */
.v14-main{
  overflow:clip;color:var(--v14-ink);
  background:
    radial-gradient(circle at 86% 8%,rgba(58,141,255,.16),transparent 29rem),
    radial-gradient(circle at 12% 50%,rgba(58,141,255,.08),transparent 32rem),
    linear-gradient(180deg,#f6f9ff 0%,#edf5ff 52%,#f8fbff 100%);
}
.v14-main h1{font-size:clamp(2.65rem,4.15vw,3.25rem)!important;line-height:1.03!important;letter-spacing:-.047em!important;font-weight:400!important;max-width:none!important}
.v14-main h2{font-size:clamp(2.25rem,3.55vw,3.05rem)!important;line-height:1.06!important;letter-spacing:-.042em!important;font-weight:400!important;max-width:none!important}
.v14-main h3{font-weight:400;letter-spacing:-.025em}
.v14-main p{color:var(--v14-muted);line-height:1.6}
.v14-container{width:min(92rem,calc(100% - clamp(2rem,6vw,7rem)));margin-inline:auto}
.v14-eyebrow{display:flex;align-items:center;gap:.85rem;color:#49617e;text-transform:uppercase;letter-spacing:.115em;font-size:.73rem;margin-bottom:1.35rem}
.v14-eyebrow::before{content:"";width:1.15rem;height:1px;background:currentColor}
.v14-copy{max-width:39rem}
.v14-copy>p{margin-top:1.65rem;max-width:38rem;font-size:clamp(1.03rem,1.25vw,1.18rem)}
.v14-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2.35rem}
.v14-flow-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.v14-flow-bg::before,.v14-flow-bg::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(58,141,255,.13)}
.v14-flow-bg::before{width:42rem;height:42rem;right:-13rem;top:-19rem;box-shadow:0 0 0 6rem rgba(58,141,255,.025),0 0 0 12rem rgba(58,141,255,.018)}
.v14-flow-bg::after{width:24rem;height:24rem;left:-13rem;bottom:-11rem;box-shadow:0 0 0 5rem rgba(58,141,255,.022)}
.v14-reveal{opacity:0;transform:translateY(24px)}
.v14-reveal.is-visible{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}

/* HOW IT WORKS */
.v14-how-hero{position:relative;isolation:isolate;padding-block:clamp(5.5rem,8vw,8.25rem)}
.v14-how-hero-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(34rem,1.16fr);align-items:center;gap:clamp(3rem,7vw,8rem)}
.v14-route-lab{position:relative;min-height:34rem;padding:clamp(2rem,3.6vw,3.35rem);border:1px solid rgba(58,141,255,.16);background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(230,241,255,.3));box-shadow:var(--v14-shadow);overflow:hidden}
.v14-route-lab::before,.v14-route-lab::after{content:"";position:absolute;border:1px solid rgba(58,141,255,.15);border-radius:50%;left:59%;top:52%;transform:translate(-50%,-50%)}
.v14-route-lab::before{width:24rem;height:24rem}.v14-route-lab::after{width:34rem;height:34rem}
.v14-route-toolbar{position:relative;z-index:4;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding-bottom:1.75rem;border-bottom:1px solid rgba(58,141,255,.15)}
.v14-control-group>span{display:block;color:#708299;text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;margin-bottom:.75rem}
.v14-segments{display:flex;gap:.55rem;flex-wrap:wrap}
.v14-segments button{border:1px solid rgba(58,141,255,.21);background:rgba(255,255,255,.68);color:#33455a;padding:.75rem 1rem;cursor:pointer;transition:background .22s,color .22s,border-color .22s,transform .22s}
.v14-segments button:hover{transform:translateY(-2px);border-color:var(--v14-line-strong)}
.v14-segments button.active{background:var(--v14-blue);border-color:var(--v14-blue);color:#fff}
.v14-route-field{position:relative;z-index:2;min-height:22rem;margin-top:1.5rem}
.v14-route-core{position:absolute;left:56%;top:52%;transform:translate(-50%,-50%);width:10.5rem;height:10.5rem;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--v14-navy);color:#fff;box-shadow:0 2rem 4.5rem rgba(24,57,95,.2)}
.v14-route-core img{width:3.4rem;filter:brightness(0) invert(1)}
.v14-route-core strong{display:block;font-weight:500;margin-top:.45rem}.v14-route-core small{display:block;color:#b5c5d7;margin-top:.15rem}
.v14-route-node{position:absolute;min-width:10.5rem;padding:1.15rem 1.25rem;background:rgba(255,255,255,.82);border:1px solid rgba(58,141,255,.18);box-shadow:0 1.1rem 2.8rem rgba(46,85,135,.08);transition:transform .25s,border-color .25s,background .25s}
.v14-route-node:hover{transform:translateY(-4px);border-color:rgba(58,141,255,.42);background:#fff}
.v14-route-node span{display:block;color:var(--v14-blue);font-size:.69rem;text-transform:uppercase;letter-spacing:.09em}.v14-route-node strong{display:block;font-size:1.14rem;font-weight:500;margin-top:.45rem}.v14-route-node small{display:block;color:#7c8b9d;margin-top:.3rem;line-height:1.4}
.v14-route-source{left:2%;top:17%}.v14-route-access{right:1%;bottom:11%}.v14-route-destination{right:2%;top:11%;min-width:12rem}
.v14-route-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--v14-blue),transparent);transform-origin:left center;opacity:.65}
.v14-line-source{left:24%;top:38%;width:27%;transform:rotate(12deg)}.v14-line-destination{left:62%;top:40%;width:22%;transform:rotate(-18deg)}.v14-line-access{left:62%;top:64%;width:24%;transform:rotate(18deg)}
.v14-route-result{position:absolute;left:2%;bottom:1%;max-width:19rem}.v14-route-result span{color:var(--v14-blue);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}.v14-route-result strong{display:block;font-size:1.22rem;font-weight:500;margin:.45rem 0}.v14-route-result p{font-size:.88rem;margin:0}
.v14-destinations{position:absolute;left:2%;right:2%;bottom:0;display:none;gap:.45rem;flex-wrap:wrap}.v14-destinations.is-visible{display:flex}.v14-destinations button{border:1px solid rgba(58,141,255,.18);background:rgba(255,255,255,.75);padding:.58rem .8rem;cursor:pointer}.v14-destinations button.active{color:#fff;background:var(--v14-blue);border-color:var(--v14-blue)}

.v14-journey{position:relative;padding-block:clamp(4rem,7vw,7rem)}
.v14-journey-thread{position:absolute;left:50%;top:2rem;bottom:2rem;width:1px;background:linear-gradient(transparent,var(--v14-line) 8%,var(--v14-line) 92%,transparent)}
.v14-step{position:relative;width:min(90rem,calc(100% - clamp(2rem,7vw,8rem)));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:0;padding-block:clamp(5rem,8vw,8rem)}
.v14-step-copy{padding-right:var(--v14-divider-safe)}.v14-step-visual{padding-left:var(--v14-divider-safe);min-height:24rem;display:grid;place-items:center;position:relative}
.v14-step:nth-child(even) .v14-step-copy{grid-column:2;grid-row:1;padding-right:0;padding-left:var(--v14-divider-safe)}.v14-step:nth-child(even) .v14-step-visual{grid-column:1;grid-row:1;padding-left:0;padding-right:var(--v14-divider-safe)}
.v14-step-number{color:var(--v14-blue);font-size:.72rem;margin-bottom:3.25rem}.v14-step-copy>span{color:var(--v14-blue);text-transform:uppercase;letter-spacing:.1em;font-size:.69rem}.v14-step-copy h2{margin-top:.9rem}.v14-step-copy p{margin-top:1.5rem;max-width:34rem}.v14-step-copy .inline-action{margin-top:2.3rem!important}
.v14-identity-cloud{position:relative;width:100%;min-height:24rem}.v14-identity-cloud b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12rem;height:12rem;border-radius:50%;display:grid;place-items:center;background:var(--v14-navy);color:#fff;font-weight:400;font-size:1.18rem;box-shadow:var(--v14-shadow)}.v14-identity-cloud span{position:absolute;padding:.85rem 1rem;background:rgba(255,255,255,.72);border:1px solid rgba(58,141,255,.16)}.v14-identity-cloud span:nth-child(1){left:5%;top:10%}.v14-identity-cloud span:nth-child(2){right:2%;top:30%}.v14-identity-cloud span:nth-child(3){left:16%;bottom:5%}
.v14-share-demo{position:relative;width:100%;min-height:22rem}.v14-share-demo::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--v14-blue),transparent)}.v14-url{position:absolute;left:5%;top:40%;padding:1.05rem 1.25rem;background:#fff;border-bottom:2px solid var(--v14-blue);box-shadow:var(--v14-shadow)}.v14-url button{border:0;background:transparent;color:var(--v14-blue);margin-left:1rem;cursor:pointer}.v14-share-demo img{position:absolute;right:8%;top:19%;width:10rem;padding:.85rem;background:#fff;box-shadow:var(--v14-shadow)}
.v14-product-fan{display:flex;justify-content:center;align-items:center;gap:1.25rem;width:100%;perspective:900px}.v14-product-fan img{width:30%;aspect-ratio:.75;object-fit:cover;box-shadow:var(--v14-shadow);transition:transform .4s cubic-bezier(.22,1,.36,1)}.v14-product-fan img:nth-child(1){transform:rotate(-5deg) translateY(1rem)}.v14-product-fan img:nth-child(2){transform:translateY(-1rem)}.v14-product-fan img:nth-child(3){transform:rotate(5deg) translateY(1rem)}.v14-product-fan:hover img:nth-child(1){transform:rotate(-8deg) translate(-.35rem,.35rem)}.v14-product-fan:hover img:nth-child(2){transform:translateY(-1.5rem) scale(1.025)}.v14-product-fan:hover img:nth-child(3){transform:rotate(8deg) translate(.35rem,.35rem)}

.v14-outcome{position:relative;padding-block:clamp(5rem,8vw,8rem);background:radial-gradient(circle at 78% 22%,rgba(58,141,255,.17),transparent 25rem),var(--v14-navy);color:#fff}.v14-outcome-grid{display:grid;grid-template-columns:minmax(20rem,.72fr) minmax(18rem,.6fr) minmax(25rem,.9fr);gap:clamp(3rem,6vw,7rem);align-items:start}.v14-outcome h2{color:#fff}.v14-outcome p{color:#aab9c9}.v14-outcome-list{display:grid}.v14-outcome-list button{padding:1.2rem 0;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.15);background:transparent;color:#b9c7d7;cursor:pointer;font-size:1rem;transition:color .2s,padding-left .2s}.v14-outcome-list button:hover,.v14-outcome-list button.active{color:#fff;padding-left:.75rem}.v14-outcome-list button.active::before{content:"";display:inline-block;width:.45rem;height:.45rem;background:var(--v14-blue);border-radius:50%;margin-right:.75rem}.v14-recommendation>span{color:#79b2ff;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.v14-recommendation h3{font-size:clamp(2.2rem,3.4vw,3rem);margin-top:1rem;color:#fff}.v14-recommendation p{margin-top:1.2rem}.v14-recommendation-meta{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.35rem;border-top:1px solid rgba(255,255,255,.16)}.v14-recommendation .inline-action{margin-top:2.5rem!important;color:#fff}

/* ABOUT */
.v14-about-hero{position:relative;isolation:isolate;padding-block:clamp(6rem,9vw,9.5rem)}
.v14-about-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(30rem,1.1fr);gap:clamp(4rem,8vw,9rem);align-items:center}
.v14-about-visual{position:relative;min-height:30rem}.v14-about-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12rem;height:12rem;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--v14-navy);color:#fff;box-shadow:var(--v14-shadow)}.v14-about-core img{width:3.5rem;filter:brightness(0) invert(1)}.v14-about-core strong{font-weight:500}.v14-about-route{position:absolute;padding:1rem 1.2rem;background:rgba(255,255,255,.74);border:1px solid rgba(58,141,255,.17);box-shadow:0 1rem 2.5rem rgba(44,85,132,.08)}.v14-about-route:nth-child(2){left:2%;top:12%}.v14-about-route:nth-child(3){right:0;top:18%}.v14-about-route:nth-child(4){left:13%;bottom:5%}.v14-about-route:nth-child(5){right:7%;bottom:4%}.v14-about-visual::before,.v14-about-visual::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(58,141,255,.15);border-radius:50%}.v14-about-visual::before{width:25rem;height:25rem}.v14-about-visual::after{width:34rem;height:34rem}
.v14-convergence{padding-block:var(--v14-section-y);background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(226,239,255,.38))}.v14-convergence-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(19rem,.55fr);gap:clamp(3rem,8vw,9rem);align-items:end}.v14-convergence-field{position:relative;margin-top:4rem;min-height:28rem}.v14-convergence-field b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12rem;height:12rem;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--v14-navy);color:#fff;font-weight:400}.v14-fragment{position:absolute;padding:.9rem 1.1rem;background:rgba(255,255,255,.78);border:1px solid rgba(58,141,255,.16);transition:transform .35s,border-color .35s}.v14-fragment:hover{transform:translateY(-5px);border-color:rgba(58,141,255,.42)}.v14-fragment:nth-child(2){left:4%;top:10%}.v14-fragment:nth-child(3){right:5%;top:15%}.v14-fragment:nth-child(4){left:14%;bottom:5%}.v14-fragment:nth-child(5){right:12%;bottom:7%}.v14-fragment:nth-child(6){left:43%;top:2%}
.v14-directions{padding-block:var(--v14-section-y)}.v14-directions-grid{display:grid;grid-template-columns:minmax(18rem,.55fr) minmax(0,1.45fr);gap:clamp(3rem,8vw,9rem);align-items:start}.v14-direction-list{display:grid;margin-top:2.5rem}.v14-direction-list button{padding:1.2rem 0;border:0;border-bottom:1px solid var(--v14-line);background:transparent;text-align:left;color:#68798e;cursor:pointer}.v14-direction-list button strong,.v14-direction-list button small{display:block}.v14-direction-list button strong{font-size:1.28rem;font-weight:400}.v14-direction-list button small{margin-top:.28rem}.v14-direction-list button:hover,.v14-direction-list button.active{color:var(--v14-ink)}.v14-direction-list button.active strong{color:var(--v14-blue)}.v14-direction-stage{position:relative;min-height:32rem;display:grid;grid-template-columns:minmax(20rem,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(2rem,5vw,5rem)}.v14-direction-visual{position:relative;min-height:30rem;display:grid;place-items:center}.v14-direction-visual::before,.v14-direction-visual::after{content:"";position:absolute;border:1px solid rgba(58,141,255,.14);border-radius:50%}.v14-direction-visual::before{width:23rem;height:23rem}.v14-direction-visual::after{width:31rem;height:31rem}.v14-direction-node{position:relative;z-index:2;width:13rem;height:13rem;border-radius:50%;display:grid;place-items:center;background:var(--v14-navy);color:#fff;text-align:center}.v14-direction-copy>span{color:var(--v14-blue);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.v14-direction-copy h3{font-size:clamp(2.4rem,3.8vw,3.3rem);margin-top:.8rem}.v14-direction-copy p{margin-top:1.4rem}.v14-direction-copy .inline-action{margin-top:2.3rem!important}
.v14-physical-philosophy{padding-block:var(--v14-section-y);background:var(--v14-navy);color:#fff}.v14-physical-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.55fr);gap:clamp(3rem,7vw,8rem);align-items:end}.v14-physical-head h2{color:#fff}.v14-physical-head p{color:#a9b8c8}.v14-physical-stream{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:4rem}.v14-physical-item{position:relative;overflow:hidden;min-height:29rem}.v14-physical-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}.v14-physical-item::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(6,19,31,.84))}.v14-physical-item div{position:absolute;z-index:2;left:1.5rem;right:1.5rem;bottom:1.5rem}.v14-physical-item span{color:#78b1ff;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.v14-physical-item h3{font-size:1.65rem;margin-top:.45rem;color:#fff}.v14-physical-item p{color:#c2ceda;margin-top:.55rem}.v14-physical-item:hover img{transform:scale(1.045)}
.v14-principles{padding-block:var(--v14-section-y)}.v14-principle-grid{display:grid;grid-template-columns:minmax(22rem,.65fr) minmax(0,1.35fr);gap:clamp(4rem,9vw,10rem)}.v14-principle-list{display:grid;margin-top:2.7rem}.v14-principle-list button{padding:1.2rem 0;border:0;border-bottom:1px solid var(--v14-line);background:transparent;text-align:left;color:#75869a;cursor:pointer}.v14-principle-list button:hover,.v14-principle-list button.active{color:var(--v14-ink);padding-left:.6rem}.v14-principle-display{align-self:center;position:relative;padding:clamp(2.5rem,5vw,5rem) 0}.v14-principle-display::before{content:"";position:absolute;left:-4rem;top:50%;width:19rem;height:19rem;border-radius:50%;border:1px solid rgba(58,141,255,.16);transform:translateY(-50%);box-shadow:0 0 0 5rem rgba(58,141,255,.025)}.v14-principle-display span,.v14-principle-display h3,.v14-principle-display p{position:relative}.v14-principle-display span{color:var(--v14-blue);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.v14-principle-display h3{font-size:clamp(2.7rem,5vw,4.4rem);margin-top:1rem}.v14-principle-display p{max-width:38rem;margin-top:1.6rem}
.v14-change{padding-block:var(--v14-section-y);background:linear-gradient(140deg,#e8f2ff,#f9fbff)}.v14-change-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(28rem,1.15fr);gap:clamp(3rem,8vw,9rem);align-items:center}.v14-change-object{position:relative;min-height:28rem;display:grid;place-items:center}.v14-change-object img{width:min(24rem,76%);aspect-ratio:.76;object-fit:cover;box-shadow:var(--v14-shadow)}.v14-change-route{position:absolute;right:0;bottom:1rem;min-width:16rem;padding:1.3rem 1.4rem;background:#fff;border:1px solid rgba(58,141,255,.17);box-shadow:var(--v14-shadow)}.v14-change-route span{color:var(--v14-blue);font-size:.69rem;text-transform:uppercase;letter-spacing:.09em}.v14-change-route strong{display:block;font-size:1.25rem;font-weight:500;margin-top:.55rem}.v14-change-buttons{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2.2rem}.v14-change-buttons button{border:1px solid var(--v14-line);background:rgba(255,255,255,.72);padding:.7rem .95rem;cursor:pointer}.v14-change-buttons button.active{background:var(--v14-blue);border-color:var(--v14-blue);color:#fff}
.v14-origin{padding-block:var(--v14-section-y)}.v14-origin-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(4rem,9vw,10rem)}.v14-origin-story{display:grid;gap:2.1rem}.v14-origin-story article{padding-left:2rem;border-left:1px solid var(--v14-line)}.v14-origin-story span{color:var(--v14-blue);font-size:.7rem}.v14-origin-story h3{font-size:1.65rem;margin-top:.45rem}.v14-origin-story p{margin-top:.7rem}.v14-schools{padding-block:var(--v14-section-y);background:radial-gradient(circle at 80% 30%,rgba(58,141,255,.15),transparent 28rem),var(--v14-navy);color:#fff}.v14-schools-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(4rem,9vw,10rem);align-items:center}.v14-schools h2{color:#fff}.v14-schools p{color:#afbdcc}.v14-schools-path{position:relative;min-height:25rem}.v14-schools-path b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:10rem;height:10rem;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--v14-blue);font-weight:500}.v14-schools-path span{position:absolute;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.2)}.v14-schools-path span:nth-child(2){left:2%;top:10%}.v14-schools-path span:nth-child(3){right:2%;top:15%}.v14-schools-path span:nth-child(4){left:12%;bottom:7%}.v14-schools-path span:nth-child(5){right:9%;bottom:5%}

/* CONTACT */
.v14-contact-hero{position:relative;isolation:isolate;padding-block:clamp(5.5rem,8vw,8.5rem)}
.v14-contact-hero-grid{display:grid;grid-template-columns:minmax(0,.76fr) minmax(31rem,1.24fr);gap:clamp(4rem,8vw,9rem);align-items:center}.v14-intent-shell>span{display:block;color:#526983;font-size:.78rem;margin-bottom:.8rem}.v14-intent-shell>p{font-size:.9rem;margin-bottom:1.6rem}.v14-intents{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.v14-intents button{position:relative;min-height:5rem;padding:1.15rem 1.25rem;border:1px solid rgba(58,141,255,.18);background:rgba(255,255,255,.63);text-align:left;color:#56677a;cursor:pointer;transition:transform .25s,border-color .25s,background .25s,color .25s}.v14-intents button::after{content:"→";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);opacity:.45}.v14-intents button:hover{transform:translateY(-3px);border-color:rgba(58,141,255,.4);background:#fff}.v14-intents button.active{color:#fff;background:var(--v14-blue);border-color:var(--v14-blue)}.v14-intents button.active::after{opacity:1}
.v14-contact-form-section{position:relative;isolation:isolate;padding-block:clamp(5rem,8vw,8.5rem);background:
 radial-gradient(circle at 73% 40%,rgba(58,141,255,.17),transparent 27rem),
 radial-gradient(circle at 8% 75%,rgba(58,141,255,.08),transparent 24rem),
 linear-gradient(135deg,#f9fbff,#edf5ff)}
.v14-contact-route{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.v14-contact-route svg{position:absolute;left:-5%;top:19%;width:110%;height:60%}.v14-contact-route path{fill:none;stroke:rgba(58,141,255,.17);stroke-width:1.2;stroke-dasharray:8 13}
.v14-contact-grid{display:grid;grid-template-columns:minmax(20rem,.65fr) minmax(0,1.35fr);gap:clamp(4rem,9vw,10rem);align-items:start}.v14-contact-context{position:sticky;top:calc(var(--header-height,76px) + 3rem)}.v14-contact-context>span{color:var(--v14-blue);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.v14-contact-context h2{margin-top:.85rem}.v14-contact-context p{margin-top:1.5rem}.v14-route-status{margin-top:2.3rem;padding-top:1.5rem;border-top:1px solid var(--v14-line)}.v14-route-status small{display:block;color:#74869b}.v14-route-status strong{display:block;font-weight:500;margin-top:.4rem}
.v14-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 2.4rem}.v14-field{position:relative;padding-top:.5rem}.v14-field-wide{grid-column:1/-1}.v14-field label{display:block;color:#546b85;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;margin-bottom:.75rem}.v14-field input,.v14-field textarea,.v14-field select{width:100%;border:0;border-bottom:1px solid rgba(76,107,143,.28);background:transparent;padding:.25rem 0 1rem;color:var(--v14-ink);font:inherit;outline:none;transition:border-color .22s,box-shadow .22s}.v14-field textarea{resize:vertical;min-height:9rem}.v14-field input:focus,.v14-field textarea:focus,.v14-field select:focus{border-color:var(--v14-blue);box-shadow:0 1px 0 var(--v14-blue)}.v14-contact-actions{grid-column:1/-1;display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:1rem}.v14-contact-actions span{color:#728398;font-size:.85rem}.v14-form-success{grid-column:1/-1;padding:1.3rem 0;border-top:1px solid var(--v14-line);color:var(--v14-blue)}
.v14-contact-next{padding-block:clamp(4rem,7vw,6.5rem)}.v14-contact-next-grid{display:grid;grid-template-columns:minmax(15rem,.45fr) repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--v14-line);border-bottom:1px solid var(--v14-line)}.v14-contact-next-grid>span,.v14-contact-next-grid a{padding:1.5rem 1.35rem}.v14-contact-next-grid a{display:flex;justify-content:space-between;align-items:center;border-left:1px solid var(--v14-line);text-decoration:none;color:var(--v14-ink);transition:background .2s,color .2s}.v14-contact-next-grid a:hover{background:rgba(58,141,255,.08);color:var(--v14-blue)}

/* Homepage profile direction section: real iframes, one gesture per state, rebuilt Single Link. */
.profile-system-locked{padding-block:clamp(4.5rem,7vw,7rem)!important;background:radial-gradient(circle at 72% 44%,rgba(58,141,255,.11),transparent 30rem),linear-gradient(180deg,#f8fbff,#eef6ff)!important}
.profile-system-locked .profile-scroll-zone{height:var(--profile-scroll-distance,3600px)!important;padding-bottom:0!important}
.profile-system-locked .profile-sticky{position:sticky!important;top:var(--header-height,76px)!important;height:calc(100svh - var(--header-height,76px))!important;min-height:42rem!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:1rem!important;overflow:hidden}
.profile-system-locked .profile-selector{grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0!important;border:1px solid rgba(58,141,255,.16)!important;background:rgba(255,255,255,.78)!important;box-shadow:0 14px 36px rgba(39,77,125,.07)!important}
.profile-system-locked .profile-selector button{min-height:4.8rem!important;padding:1rem 1.1rem!important}
.profile-system-locked .profile-stage{height:100%!important;min-height:0!important;grid-template-columns:minmax(0,.78fr) minmax(30rem,1.22fr)!important;gap:clamp(2rem,5vw,5rem)!important;padding:clamp(2rem,4vw,4rem)!important;background:linear-gradient(135deg,#dceaff 0%,#f4f8ff 58%,#d9e9ff 100%)!important;overflow:hidden!important}
.profile-system-locked .profile-story{align-self:center!important;max-width:31rem!important}.profile-system-locked .profile-story .inline-action{margin-top:2.25rem!important}
.profile-system-locked .profile-visual{height:100%!important;min-height:0!important;display:grid!important;place-items:center!important}
.profile-system-locked .profile-phone{width:min(28rem,78%)!important;height:min(33rem,68vh)!important;border-radius:1.35rem!important;box-shadow:0 28px 68px rgba(26,65,119,.16)!important;overflow:hidden!important;background:#f6f9ff!important}
.profile-system-locked .profile-live-preview iframe{width:430px!important;height:1050px!important;transform:translateX(-50%) scale(.64)!important;transform-origin:top center!important;display:block!important}
.profile-system-locked .profile-live-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .25s}.profile-live-preview.is-fallback .profile-live-fallback{opacity:1}.profile-live-preview.is-live .profile-live-fallback{opacity:0}
.profile-system-locked .profile-product-recommendation{right:clamp(.5rem,2vw,2rem)!important;bottom:clamp(.5rem,2vw,1.5rem)!important;max-width:17rem!important}
.profile-single-link{inset:6% 3%!important;grid-template-columns:1fr!important;align-content:center!important;gap:1.3rem!important}.profile-single-link.is-active{display:grid!important}
.single-link-map{position:relative;min-height:16rem;display:grid;grid-template-columns:minmax(10rem,.75fr) minmax(13rem,1.25fr);align-items:center;gap:4rem}.single-link-map::before{content:"";position:absolute;left:33%;right:45%;top:50%;height:1px;background:var(--v14-blue)}.single-link-touchpoints,.single-link-result{padding:1.25rem 1.35rem;background:rgba(255,255,255,.8);border:1px solid rgba(58,141,255,.18);box-shadow:0 1.2rem 3rem rgba(44,82,128,.09)}.single-link-touchpoints span,.single-link-result span{color:var(--v14-blue);font-size:.69rem;text-transform:uppercase;letter-spacing:.09em}.single-link-touchpoints strong,.single-link-result strong{display:block;font-size:1.35rem;font-weight:500;margin-top:.55rem}.single-link-touchpoints small,.single-link-result small{display:block;color:#748399;margin-top:.45rem;line-height:1.45}.single-link-destinations{display:flex;flex-wrap:wrap;gap:.48rem;justify-content:center}.single-link-destinations button{border:1px solid rgba(58,141,255,.18);background:rgba(255,255,255,.72);padding:.6rem .82rem;cursor:pointer}.single-link-destinations button.active{background:var(--v14-blue);border-color:var(--v14-blue);color:#fff}

/* Homepage Difference physical placement: four distinct products remain fully visible. */
.difference-device[data-state="physical"] .difference-products{inset:0!important;display:block!important;pointer-events:none}
.difference-device[data-state="physical"] .difference-products img{position:absolute!important;width:8.4rem!important;height:10.6rem!important;object-fit:cover!important;border:8px solid rgba(255,255,255,.9)!important;box-shadow:0 18px 42px rgba(23,65,116,.2)!important;opacity:1!important}
.difference-device[data-state="physical"] .difference-products img:nth-child(1){left:5%!important;top:7%!important;transform:rotate(-5deg)!important}
.difference-device[data-state="physical"] .difference-products img:nth-child(2){right:7%!important;top:7%!important;transform:rotate(4deg)!important}
.difference-device[data-state="physical"] .difference-products img:nth-child(3){left:10%!important;bottom:5%!important;transform:rotate(4deg)!important}
.difference-device[data-state="physical"] .difference-products img:nth-child(4){right:9%!important;bottom:5%!important;transform:rotate(-4deg)!important}





/* V14 final correction pass */
:is(.v14-main,.open-main,.home-v10-global main) :is(p,.recommendation-meta,.meta-row,.feature-list,.open-list,.route-summary)+:is(.inline-action,.open-text-link,.button-row,.open-actions,.hero-actions,.open-form-actions,.v14-actions){
  margin-top:var(--v14-copy-action)!important;
}
:is(.v14-main,.open-main,.home-v10-global main) :is(.inline-action,.open-text-link){
  display:inline-flex!important;align-items:center!important;gap:.75rem!important;width:fit-content!important;
}

/* Keep Single Link destination choices and route summary from occupying the same floor. */
.v14-route-field:has(.v14-destinations.is-visible) .v14-route-result{bottom:4.8rem}
.v14-route-field:has(.v14-destinations.is-visible){padding-bottom:4.5rem}

/* The Single Link state already explains that every SETU can open it; remove the redundant product note. */
.profile-system-locked .profile-product-recommendation.is-feature{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* Final safe-area collage for Physical SETU. No duplicated corner, no clipping, no hidden top-right product. */
.difference-device[data-state="physical"] .difference-products{z-index:4!important;overflow:visible!important}
.difference-device[data-state="physical"] .difference-products img{
  width:7.15rem!important;height:8.65rem!important;border-width:6px!important;
  object-position:center!important;z-index:4!important;
}
.difference-device[data-state="physical"] .difference-products img:nth-child(1){left:2.5%!important;right:auto!important;top:4%!important;bottom:auto!important;transform:rotate(-4deg)!important}
.difference-device[data-state="physical"] .difference-products img:nth-child(2){left:auto!important;right:3%!important;top:4%!important;bottom:auto!important;transform:rotate(3deg)!important}
.difference-device[data-state="physical"] .difference-products img:nth-child(3){left:6%!important;right:auto!important;top:auto!important;bottom:3%!important;transform:rotate(3deg)!important}
.difference-device[data-state="physical"] .difference-products img:nth-child(4){left:auto!important;right:5%!important;top:auto!important;bottom:3%!important;transform:rotate(-3deg)!important}
.difference-device[data-state="physical"] .difference-state-card{position:relative!important;z-index:7!important}

/* Normal first-set sections are content driven. Viewport binding is reserved for the homepage profile interaction only. */
.v14-main section{height:auto!important;min-height:0!important}
.v14-how-hero,.v14-about-hero,.v14-contact-hero{padding-block:clamp(5rem,8vw,8rem)!important}



/* ===== Source baseline: home-system.css ===== */
/*
 * SETU homepage shared system.
 * This file is homepage-only and intentionally does not style CMS or customer-dashboard surfaces.
 */

/* Public loading state is defined in the v52 system block below. */
/* One shared header composition. */
.site-header .header-inner {
  width: min(var(--public-shell), calc(100% - 2 * var(--public-page-gutter)));
  margin-inline: auto;
  grid-template-columns: 1fr auto 1fr;
  gap: clamp(1.5rem, 3vw, 3rem);
}
.site-header .brand { justify-self:start; }
.site-header .brand img { width:var(--public-header-logo-width); }
.site-header .desktop-nav { justify-self:center; gap:var(--public-header-nav-gap); }
.site-header .header-actions { justify-self:end; gap:.82rem; }
.site-header .header-activate { padding-inline:.35rem; }
.site-header .header-shop { min-height:var(--public-control-height-sm); padding-inline:1.05rem; }

/* Shared public text roles. */
.site-header :is(.desktop-nav, .header-actions),
.home-v10-global .drawer-nav,
.home-v10-global .footer-nav-block,
.home-v10-global .footer-bottom {
  font-size: var(--public-nav-text);
}


/* Compact Profiles navigation layer. */
.mega-profiles-compact {
  width: min(var(--public-shell), calc(100% - 2 * var(--public-page-gutter)));
  margin-inline: auto;
  display:grid;
  grid-template-columns:minmax(13rem,.52fr) minmax(34rem,1.48fr);
  gap:clamp(2rem,4vw,4rem);
  align-items:start;
  padding-block:1.35rem 1.45rem;
}
.mega-profiles-compact-intro h2 {
  max-width:15ch;
  margin-top:var(--public-space-2);
  font-size:clamp(1.45rem,1.8vw,1.9rem);
  line-height:var(--public-leading-heading);
}
.mega-profiles-compact-intro p {
  max-width:34ch;
  margin-top:var(--public-space-3);
  color:var(--public-copy);
  font-size:var(--public-text-base);
  line-height:var(--public-leading-body);
}
.mega-profiles-compact-links {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:var(--public-border-width) solid var(--public-line);
}
.mega-profiles-compact-links > a {
  display:grid;
  grid-template-columns:1.55rem 1fr auto;
  gap:var(--public-space-3);
  min-height:var(--public-mega-item-min-height);
  padding:.9rem .95rem;
  border-right:var(--public-border-width) solid var(--public-line);
  background:var(--public-surface);
  transition:background var(--public-duration-fast), transform var(--public-duration-fast), box-shadow var(--public-duration-fast);
}
.mega-profiles-compact-links > a:last-child { border-right:0; }
.mega-profiles-compact-links > a:hover,
.mega-profiles-compact-links > a:focus-visible {
  background:var(--public-brand-faint);
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(31,67,113,.07);
}
.mega-profiles-compact-links > a > span { color:var(--public-brand); font-size:var(--public-text-label); font-weight:var(--public-weight-strong); }
.mega-profiles-compact-links strong { display:block; font-size:var(--public-text-base); font-weight:var(--public-weight-medium); }
.mega-profiles-compact-links small { display:block; margin-top:var(--public-space-1); color:var(--public-copy); font-size:var(--public-text-base); line-height:var(--public-leading-body); }
.mega-profiles-compact-links i { align-self:start; color:var(--public-brand); font-style:normal; margin-left:var(--public-space-2); }
.mega-profiles-compact-foot {
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--public-space-5);
  padding-top:var(--public-space-3);
  color:var(--public-copy);
  font-size:var(--public-text-base);
}
.mega-profiles-compact-foot .inline-action { flex:0 0 auto; }

/* Product mega preview layers always sit below the persistent title/description treatment. */
.mega-product-visual .mega-preview-layer { z-index:1; }
.mega-product-visual .mega-visual-copy { z-index:4; pointer-events:none; }

/* One public CTA-link language everywhere on Home. */
.home-v10-global main .inline-action:not(.light),
.home-v10-global .mega-layer .inline-action:not(.light) {
  display:inline-flex;
  align-items:center;
  width:max-content;
  gap:var(--public-action-gap);
  color:var(--public-brand);
  font-size:var(--public-action-text);
  font-weight:var(--public-weight-medium);
  line-height:1.2;
}
.home-v10-global .inline-action svg {
  width:var(--public-icon-md);
  height:var(--public-icon-md);
  flex:none;
  transition:transform var(--public-duration-fast) var(--public-ease-out);
}
.home-v10-global .inline-action:hover svg,
.home-v10-global .inline-action:focus-visible svg { transform:translateX(var(--public-link-arrow-shift)); }
.home-v10-global .inline-action.light { color:var(--public-on-brand); }

/* Scroll-story copy stays readable; progress belongs to the scene, never a copy column. */

.gesture-copy { position:relative; }



.scene-progress--owned i {
  display:block;
  width:var(--public-progress-line-width);
  height:var(--public-progress-line-height);
  background:#d5e0ed;
  transition:width var(--public-duration-medium) var(--public-ease-out), background var(--public-duration-fast);
}
.scene-progress--owned i.active {
  width:var(--public-progress-line-active-width);
  background:var(--public-brand);
}


/* Domain-agnostic permanent path examples. */
.foundation-anchor strong,
.identity-handle strong { font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; }

/* Full-screen scene sealing. */
.home-v10-global .gesture-stage,
.home-v10-global .product-shelf { margin-bottom:0; }
.home-v10-global .gesture-sticky,
.home-v10-global .product-shelf-stage {
  box-sizing:border-box;
  min-height:var(--public-stage-height);
  height:var(--public-stage-height);
  border-bottom:0;
}
.home-v10-global .gesture-media,
.home-v10-global .gesture-copy { min-height:0; height:100%; }
.home-v10-global .gesture-media > img { height:100%; }





/* ===== v53 canonical public composition + identity loader ===== */
.home-v10-global {
  --public-container-width: min(var(--public-shell), calc(100vw - (2 * var(--public-page-gutter))));
  --public-container-left: max(var(--public-page-gutter), calc((100vw - var(--public-shell)) / 2));
}

.home-v10-global .container-wide,
.home-v10-global .site-header .header-inner,
.home-v10-global .footer-signal,
.home-v10-global .footer-core-v47,
.home-v10-global .footer-bottom-v47,
.home-v10-global .footer-free-rail .container-wide,
.home-v10-global .moments-header,
.home-v10-global .moments-grid,
.home-v10-global .optional-growth-grid,
.home-v10-global .shelf-header,
.home-v10-global .carousel-viewport {
  width: var(--public-container-width) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

/* Every scroll scene uses the same invisible homepage rails. Full-bleed media
   can overflow visually, but narrative, visual composition and progress resolve
   from this one canonical grid. */


.home-v10-global .gesture-sticky {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  width:var(--public-container-width) !important;
  max-width:none !important;
  margin-inline:auto !important;
  gap:clamp(2.4rem,4.2vw,5rem) !important;
  background:transparent !important;
}
.home-v10-global .gesture-copy,
.home-v10-global .gesture-media {
  width:100% !important;
  min-width:0 !important;
}


/* Scene progress shares the exact same invisible rails as section content. */




/* Full-bleed sections retain atmosphere, while their semantic content stays on
   the shared rails. */
.home-v10-global .final-video-content {
  width:var(--public-container-width) !important;
  max-width:none !important;
  margin-inline:auto !important;
}
.home-v10-global .video-sound {
  right:var(--public-container-left) !important;
}

/* ===== v54 initial-loader behavior ===== */
.home-v10-global .setu-home-loader {
  position: fixed;
  inset: 0;
  z-index: 100000;
  width: 100vw;
  height: 100dvh;
  min-height: 100vh;
  display: grid;
  place-items: center;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .36s var(--public-ease-out), visibility 0s linear .36s;
}
.home-v10-global .setu-home-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* ===== v55 collected public UI refinements ===== */
/* Header and its mega panels are one continuous surface. */
.home-v10-global .site-header,
.home-v10-global .mega-panel {
  background: rgba(245, 248, 252, .985) !important;
}
.home-v10-global .mega-panel {
  backdrop-filter: blur(18px);
}

/* Profiles mega menu stays compact and avoids a large empty lower field. */
.home-v10-global #mega-profiles {
  padding-block: .9rem 1rem !important;
}
.home-v10-global #mega-profiles .mega-profiles-compact {
  padding-block: .6rem .7rem !important;
  row-gap: .7rem !important;
}
.home-v10-global #mega-profiles .mega-profiles-compact-foot {
  padding-top: .45rem !important;
}




/* Footer rail uses a quiet hover state without the cheap underline accent. */
.home-v10-global .footer-free-rail span::after {
  content: none !important;
  display: none !important;
}

/* ===== v56 light atmosphere for the long-form identity scenes ===== */
/* Reuse the same quiet rings / signal fields from the auth artwork so large
   light-theme negative space feels authored without becoming extra content. */










/* ===== v58 canonical public scene systems ===== */
/*
   There are two intentionally different scene families on the homepage:
   1) split-story: full-bleed photographic media half + copy half.
   2) contained-story: container-bound interactive composition + copy.

   Within each family, mirrored scenes use the exact same DOM/CSS system.
   Direction is the only layout modifier.
*/

/* Shared copy support/meta language across both scene families. */
.home-v10-global .scene-support {
  display: block;
  width: fit-content;
  max-width: 30rem;
  margin-top: .8rem;
  color: #6f7f91;
  font-size: .78rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
}
.home-v10-global .scene-support:empty,
.home-v10-global .scene-support[hidden] { display: none !important; }
.home-v10-global .identity-support {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .65rem;
  margin-top: .95rem;
  text-transform: none;
  letter-spacing: normal;
}
.home-v10-global .identity-support .identity-handle { margin-top: 0 !important; }
.home-v10-global .identity-support .identity-mode { margin-top: 0 !important; }

/* ---------- A. Full-bleed mirrored split stories ---------- */
.home-v10-global .split-story {
  --scene-scroll-distance: 0px;
  position: relative;
  height: calc(var(--public-stage-height) + var(--scene-scroll-distance));
  min-height: var(--public-stage-height);
  color: var(--setu-ink);
  background: linear-gradient(180deg, #fbfdff 0%, #f6faff 100%);
  border-block: 1px solid rgba(58,141,255,.08);
}
.home-v10-global .split-story-stage {
  position: sticky !important;
  top: var(--header-height);
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  height: var(--public-stage-height) !important;
  min-height: var(--public-stage-height) !important;
  display: grid !important;
  gap: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
  isolation: isolate;
  background: transparent !important;
}
.home-v10-global .split-story-copy,
.home-v10-global .split-story-media {
  position: relative !important;
  z-index: 1;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  align-self: stretch !important;
}
.home-v10-global .split-story-copy {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  overflow: visible !important;
  background: linear-gradient(180deg, rgba(250,252,255,.98) 0%, rgba(244,249,255,.98) 52%, rgba(249,252,255,.98) 100%) !important;
  padding-top: clamp(2rem, 4vh, 3.25rem) !important;
  padding-bottom: clamp(6rem, 13vh, 9rem) !important;
}
.home-v10-global .split-story-copy::before,
.home-v10-global .split-story-copy::after {
  content: none !important;
  display: none !important;
}
.home-v10-global .split-story-copy > * { position: relative; z-index: 1; }
.home-v10-global .split-story-copy h2 { max-width: none; margin-top: var(--public-eyebrow-gap); }
.home-v10-global .split-story-copy > p { max-width: none; margin-top: var(--public-title-body-gap); font-size: 1rem; }
.home-v10-global .split-story-copy .inline-action { margin-top: var(--public-body-action-gap) !important; }
.home-v10-global .split-story-media {
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #eef5fd;
}
.home-v10-global .split-story-media > img[data-step-image] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity .45s var(--ease-standard), transform .75s var(--ease-out);
}
.home-v10-global .split-story-media > img[data-step-image].active { opacity: 1; transform: scale(1); }

/* One restrained copy-side atmosphere, mirrored only by direction. */
.home-v10-global .split-story-stage::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  width: 44%;
  pointer-events: none;
  opacity: 1;
  background: linear-gradient(135deg, rgba(58,141,255,.085) 0%, rgba(58,141,255,.035) 46%, rgba(255,255,255,0) 92%);
}
.home-v10-global .split-story-stage::after {
  content: none !important;
  display: none !important;
}
.home-v10-global .split-story--media-right .split-story-stage::before { left: 0; right: auto; transform: none; }
.home-v10-global .split-story--media-left .split-story-stage::before { right: 0; left: auto; transform: scaleX(-1); }

@media (min-width: 861px) {
  .home-v10-global .split-story--media-right .split-story-stage {
    grid-template-columns: minmax(0, 44%) minmax(0, 56%) !important;
  }
  .home-v10-global .split-story--media-left .split-story-stage {
    grid-template-columns: minmax(0, 56%) minmax(0, 44%) !important;
  }
  .home-v10-global .split-story--media-right .split-story-copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding-left: var(--public-container-left) !important;
    padding-right: clamp(2.25rem, 4.6vw, 5.5rem) !important;
  }
  .home-v10-global .split-story--media-right .split-story-media {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .home-v10-global .split-story--media-left .split-story-media {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .home-v10-global .split-story--media-left .split-story-copy {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding-left: clamp(2.25rem, 4.6vw, 5.5rem) !important;
    padding-right: var(--public-container-left) !important;
  }
}

/* ---------- B. Container-bound mirrored interactive stories ---------- */
.home-v10-global .contained-story {
  --scene-scroll-distance: 0px;
  position: relative;
  height: calc(var(--public-stage-height) + var(--scene-scroll-distance));
  min-height: var(--public-stage-height);
  color: var(--setu-ink);
  background: linear-gradient(180deg, #fbfdff 0%, #f7faff 100%);
  border-block: 1px solid rgba(58,141,255,.07);
}
.home-v10-global .contained-story-stage {
  position: sticky;
  top: var(--header-height);
  width: 100%;
  height: var(--public-stage-height);
  min-height: var(--public-stage-height);
  display: grid;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
}
.home-v10-global .contained-story-grid {
  position: relative;
  z-index: 1;
  width: var(--public-container-width);
  max-width: none;
  height: 100%;
  margin-inline: auto;
  display: grid;
  gap: clamp(2.75rem, 5vw, 6.25rem);
  align-items: center;
}
.home-v10-global .contained-story-copy,
.home-v10-global .contained-story-media {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
}
.home-v10-global .contained-story-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  max-width: 33rem;
  padding-block: clamp(2.25rem, 5vh, 4rem);
}
.home-v10-global .contained-story-copy h2 {
  max-width: none;
  margin-top: var(--public-eyebrow-gap);
  font-size: var(--title-section);
  font-weight: var(--title-weight);
  color: var(--setu-ink);
}
.home-v10-global .contained-story-copy > p {
  max-width: none;
  margin-top: var(--public-title-body-gap);
  color: var(--setu-copy);
  font-size: 1rem;
  line-height: var(--public-leading-body);
}
.home-v10-global .contained-story-copy .inline-action { margin-top: var(--public-body-action-gap) !important; }
.home-v10-global .contained-story-media {
  align-self: center;
  height: min(63vh, 39rem);
  min-height: 31rem;
  overflow: hidden;
}

.home-v10-global .contained-story-copy::before,
.home-v10-global .contained-story-copy::after {
  content: none !important;
  display: none !important;
}
.home-v10-global .contained-story-copy > * { position: relative; z-index: 1; }

/* Contained atmosphere belongs to the scene canvas, never a visible layout box. */
.home-v10-global .contained-story-stage::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: 1;
  background: linear-gradient(125deg, rgba(58,141,255,.07) 0%, rgba(58,141,255,.026) 37%, rgba(255,255,255,0) 68%);
}
.home-v10-global .contained-story-stage::after {
  content: none !important;
  display: none !important;
}
.home-v10-global .contained-story--media-left .contained-story-stage::before { transform: scaleX(-1); }

@media (min-width: 861px) {
  .home-v10-global .contained-story--media-right .contained-story-grid {
    grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  }
  .home-v10-global .contained-story--media-left .contained-story-grid {
    grid-template-columns: minmax(0, 56fr) minmax(0, 44fr);
  }
  .home-v10-global .contained-story--media-right .contained-story-copy {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }
  .home-v10-global .contained-story--media-right .contained-story-media {
    grid-column: 2;
    grid-row: 1;
  }
  .home-v10-global .contained-story--media-left .contained-story-media {
    grid-column: 1;
    grid-row: 1;
  }
  .home-v10-global .contained-story--media-left .contained-story-copy {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
  }
}

/* Foundation media payload: scroll states stay unchanged, outer geometry is shared. */
.home-v10-global .foundation-stage.contained-story-media {
  background: transparent;
  border: 0;
  box-shadow: none;
  isolation: isolate;
}
.home-v10-global .foundation-profile-stack {
  left: 4% !important;
  top: 10% !important;
  width: 92% !important;
  height: 79% !important;
}
.home-v10-global .foundation-snapshot {
  border-width: 3px !important;
  border-radius: .55rem;
  box-shadow: 0 18px 48px rgba(31,67,113,.13) !important;
}
.home-v10-global .foundation-snapshot-identity { width: 66% !important; height: 68% !important; left: 0 !important; top: 0 !important; transform: rotate(-.25deg) !important; }
.home-v10-global .foundation-snapshot-contact { width: 55% !important; height: 27% !important; right: 0 !important; top: 8% !important; transform: rotate(.22deg) !important; }
.home-v10-global .foundation-snapshot-about { width: 52% !important; height: 39% !important; left: 25% !important; bottom: 0 !important; transform: rotate(-.15deg) !important; }
.home-v10-global .foundation-anchor { left: 2.5% !important; top: 7% !important; }

/* Identity media payload keeps the bounded editorial composition and its morph. */
.home-v10-global .identity-mosaic.contained-story-media {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  isolation: isolate;
}
.home-v10-global .identity-mosaic-glow { display: none !important; }
.home-v10-global .identity-snap { box-shadow: 0 18px 48px rgba(31,67,113,.12); }

/* Approved narrative scenes keep scroll choreography but never show progress UI. */
.home-v10-global .split-story .scene-progress--owned,
.home-v10-global .split-story [data-step-progress],
.home-v10-global .contained-story .scene-progress--owned,
.home-v10-global .contained-story [data-step-progress] { display: none !important; }

/* Optional-growth rows: hover is emphasis, not a different component. */
.home-v10-global .upgrade-row {
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(87,116,151,.13) !important;
  border-radius: 1.05rem !important;
  box-shadow: 0 8px 24px rgba(34,66,104,.035) !important;
  transition: transform .22s var(--ease-out), border-color .22s ease, box-shadow .22s ease, background-color .22s ease !important;
}
.home-v10-global .upgrade-row::before { content: none !important; display: none !important; }
.home-v10-global .upgrade-row:hover,
.home-v10-global .upgrade-row:focus-visible {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(58,141,255,.28) !important;
  box-shadow: 0 14px 34px rgba(39,81,132,.075) !important;
  transform: translateY(-1px) !important;
}
.home-v10-global .upgrade-row:hover .upgrade-icon,
.home-v10-global .upgrade-row:focus-visible .upgrade-icon { border-color: rgba(58,141,255,.28); background: rgba(244,249,255,.98); }
.home-v10-global .upgrade-row:hover .upgrade-arrow,
.home-v10-global .upgrade-row:focus-visible .upgrade-arrow { transform: translate(2px,-2px); color: var(--setu-blue); }

/* Loader: one official wordmark, one quiet glow, then the page. */
.home-v10-global .setu-home-loader {
  overflow: hidden;
  padding: 0 !important;
  background: radial-gradient(circle at 50% 49%, rgba(58,141,255,.105), transparent 13rem), #f8fbff !important;
}
.home-v10-global .setu-home-loader-stage {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.home-v10-global .setu-home-loader-stage::before,
.home-v10-global .setu-home-loader-stage::after { content: none !important; display: none !important; }
.home-v10-global .setu-home-loader-core {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: min(20rem, calc(100vw - 2 * var(--public-page-gutter)));
}
.home-v10-global .setu-home-loader-logo {
  width: clamp(7rem, 9vw, 9rem) !important;
  height: auto;
  opacity: 0;
  transform: translateY(.25rem) scale(.975);
  filter: drop-shadow(0 14px 30px rgba(58,141,255,.08));
  animation: setu-loader-wordmark-in .44s var(--public-ease-out) forwards;
}
@keyframes setu-loader-wordmark-in { to { opacity: 1; transform: none; } }



/* ===== v60 frontpage consistency fixes ===== */
.home-v10-global {
  --public-action-text: 1rem;
  --public-copy-gap: var(--public-title-body-gap);
  --public-link-gap-lg: var(--public-body-action-gap);
}

/* Header typography: one rem-based system only. */
.home-v10-global .site-header .desktop-nav > a,
.home-v10-global .site-header .nav-trigger,
.home-v10-global .site-header .header-activate,
.home-v10-global .site-header .header-signin {
  font-size: 1rem !important;
  line-height: 1.4 !important;
}
.home-v10-global .site-header .header-activate,
.home-v10-global .site-header .header-signin {
  white-space: nowrap;
}

/* Story copy rhythm: one eyebrow, then title, then text, then a more deliberate link gap. */
.home-v10-global .scene-support {
  display: none !important;
}
.home-v10-global .contained-story-copy h2,
.home-v10-global .split-story-copy h2 {
  max-width: none;
  margin-top: var(--public-eyebrow-gap);
}
.home-v10-global .contained-story-copy > p,
.home-v10-global .split-story-copy > p {
  margin-top: var(--public-copy-gap) !important;
}
.home-v10-global .contained-story-copy .inline-action,
.home-v10-global .split-story-copy .inline-action,
.home-v10-global .optional-growth-copy .inline-action {
  margin-top: var(--public-link-gap-lg) !important;
}

/* Contained stories must not clip the scene payload. */
.home-v10-global .contained-story-stage,
.home-v10-global .contained-story-grid,
.home-v10-global .contained-story-media,
.home-v10-global .foundation-stage,
.home-v10-global .identity-mosaic {
  overflow: visible !important;
}
.home-v10-global .contained-story-media {
  min-height: 33rem;
}
.home-v10-global .foundation-stage.contained-story-media,
.home-v10-global .identity-mosaic.contained-story-media {
  width: min(100%, 42rem);
  justify-self: end;
}
.home-v10-global .contained-story--media-left .foundation-stage.contained-story-media,
.home-v10-global .contained-story--media-left .identity-mosaic.contained-story-media {
  justify-self: start;
}
.home-v10-global .foundation-profile-stack {
  left: 0 !important;
  top: 8% !important;
  width: 100% !important;
  height: 82% !important;
}
.home-v10-global .foundation-anchor {
  left: 1.75% !important;
  top: 5% !important;
}
.home-v10-global .identity-mosaic .identity-snap {
  will-change: transform, opacity;
}

/* Optional-growth hover should clearly feel interactive without becoming a different component. */
.home-v10-global .upgrade-row {
  background: rgba(255,255,255,0.82) !important;
  border-color: rgba(87,116,151,0.14) !important;
  box-shadow: 0 10px 28px rgba(34,66,104,0.04) !important;
  transition: transform .24s var(--ease-out), border-color .24s ease, box-shadow .24s ease, background-color .24s ease !important;
}
.home-v10-global .upgrade-row:hover,
.home-v10-global .upgrade-row:focus-visible {
  background: rgba(245,250,255,0.98) !important;
  border-color: rgba(58,141,255,0.42) !important;
  box-shadow: 0 18px 42px rgba(39,81,132,0.11) !important;
  transform: translateY(-3px) !important;
}
.home-v10-global .upgrade-row:hover .upgrade-icon,
.home-v10-global .upgrade-row:focus-visible .upgrade-icon {
  border-color: rgba(58,141,255,0.34) !important;
  background: rgba(234,244,255,0.98) !important;
  box-shadow: 0 10px 20px rgba(58,141,255,0.09);
}
.home-v10-global .upgrade-row:hover .upgrade-arrow,
.home-v10-global .upgrade-row:focus-visible .upgrade-arrow {
  transform: translate(4px,-4px);
  color: var(--setu-blue);
}

/* Direction alternation: same component system, only direction changes. */
@media (min-width: 861px) {
  .home-v10-global .contained-story--media-left .contained-story-grid {
    grid-template-columns: minmax(0, 56fr) minmax(0, 44fr);
  }
  .home-v10-global .contained-story--media-right .contained-story-grid {
    grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  }
  .home-v10-global .contained-story--media-left .contained-story-copy {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
  }
  .home-v10-global .contained-story--media-left .contained-story-media {
    grid-column: 1;
    grid-row: 1;
  }
  .home-v10-global .contained-story--media-right .contained-story-copy {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }
  .home-v10-global .contained-story--media-right .contained-story-media {
    grid-column: 2;
    grid-row: 1;
  }
}

.home-v10-global .split-story-copy > .scene-support { display: none !important; }
.home-v10-global .identity-support { display:flex !important; }

/* Shared public-story typography contract. */
.home-v10-global main p { font-size: 1rem; }
.home-v10-global :is(.hero-copy,.split-story-copy,.contained-story-copy,.optional-growth-copy) > .section-kicker + :is(h1,h2) {
  margin-top: var(--public-eyebrow-gap) !important;
}
.home-v10-global .contained-story-copy > .section-kicker + .scene-support {
  margin-top: var(--public-eyebrow-gap) !important;
}
.home-v10-global .contained-story-copy > .scene-support + h2 {
  margin-top: var(--public-eyebrow-gap) !important;
}
.home-v10-global main p + :is(.inline-action,.hero-actions,.button-row,.final-video-actions,.open-actions) {
  margin-top: var(--public-body-action-gap) !important;
}

/* ===== v70 light narrative polish: identity hierarchy + tonal zoning ===== */

/* One canonical public eyebrow. It is a label, not a second headline. */
.home-v10-global main .section-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  color: var(--setu-blue) !important;
  font-size: var(--public-text-label) !important;
  font-weight: var(--public-weight-medium) !important;
  line-height: 1.25 !important;
  letter-spacing: var(--public-tracking-label) !important;
  text-transform: uppercase !important;
}
.home-v10-global main .section-kicker::before { display: none !important; }
.home-v10-global main .section-kicker.light { color: var(--setu-blue) !important; }

/* Identity/address context is one compact component below the single eyebrow. */
.home-v10-global .story-identity-chip {
  width: fit-content;
  min-width: 9rem;
  margin-top: 1.25rem;
  padding: .72rem .95rem .7rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .18rem;
  border-left: 2px solid var(--setu-blue);
  background: rgba(241,247,255,.92);
  box-shadow: 0 10px 28px rgba(31,67,113,.055);
  backdrop-filter: blur(10px);
}
.home-v10-global .story-identity-chip small {
  color: var(--setu-muted);
  font-size: .72rem;
  font-weight: var(--public-weight-medium);
  line-height: 1.25;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.home-v10-global .story-identity-chip strong {
  color: var(--setu-ink);
  font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size: .98rem;
  font-weight: var(--public-weight-medium);
  line-height: 1.35;
}
.home-v10-global .story-identity-state {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  margin-top: .42rem;
  color: #5f7894;
  font-size: .76rem;
  font-weight: var(--public-weight-medium);
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}
.home-v10-global .story-identity-state::before {
  content: "";
  width: .38rem;
  height: .38rem;
  flex: none;
  border-radius: 50%;
  background: var(--setu-blue);
  box-shadow: 0 0 0 .2rem rgba(58,141,255,.1);
}
.home-v10-global .story-identity-chip + h2 { margin-top: 1.45rem !important; }
.home-v10-global .foundation-anchor,
.home-v10-global .identity-support,
.home-v10-global .identity-handle,
.home-v10-global .identity-mode:not(.story-identity-state) { display: none !important; }

/* Normal readable copy stays 16px; the scene column, not the paragraph, owns wrapping. */
.home-v10-global :is(.hero-copy,.split-story-copy,.contained-story-copy,.optional-growth-copy) > p {
  width: auto !important;
  max-width: none !important;
  font-size: 1rem !important;
  line-height: var(--public-leading-body) !important;
}
.home-v10-global :is(.hero-copy,.split-story-copy,.contained-story-copy,.optional-growth-copy) :is(.inline-action,.button) {
  font-size: 1rem !important;
}
.home-v10-global :is(.hero-copy,.split-story-copy,.contained-story-copy,.optional-growth-copy) > p + :is(.inline-action,.hero-actions,.button-row,.open-actions) {
  margin-top: var(--public-body-action-gap) !important;
}

/* Keep the complete homepage in the same light SETU family. Use tonal zones, not decorative objects. */
.home-v10-global .split-story,
.home-v10-global .moments,
.home-v10-global .contained-story {
  color: var(--setu-ink) !important;
}
.home-v10-global .split-story { background: #f8fbff !important; }
.home-v10-global .moments {
  background: linear-gradient(180deg, #f6f9fe 0%, #fbfdff 100%) !important;
  border-top: 1px solid rgba(58,141,255,.07);
}
.home-v10-global .moments .moments-header h2 { color: var(--setu-ink) !important; }
.home-v10-global .moments .moments-header p { color: var(--setu-copy) !important; font-size: 1rem !important; }
.home-v10-global .moments .section-kicker { color: var(--setu-blue) !important; }

/* Make contained media feel confident without changing the shared 44/56 scene geometry. */
.home-v10-global .foundation-stage.contained-story-media,
.home-v10-global .identity-mosaic.contained-story-media {
  width: min(100%, 44rem);
}

/* ===== v71 visual atmosphere only =====
   Baseline: v70. This layer does not change layout, spacing, sizing, content,
   scroll distance, sticky behavior, media geometry or interaction logic.
   It only adds quiet SETU-themed background motifs into existing whitespace. */

.home-v10-global {
  --setu-atmosphere-blue: rgba(58, 141, 255, .22);
  --setu-atmosphere-blue-soft: rgba(58, 141, 255, .13);
  --setu-atmosphere-blue-faint: rgba(58, 141, 255, .075);
  --setu-atmosphere-slate: rgba(86, 98, 112, .10);
  --setu-atmosphere-dots: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='%233a8dff' fill-opacity='.42'%3E%3Ccircle cx='8' cy='8' r='1.4'/%3E%3Ccircle cx='24' cy='8' r='1.4'/%3E%3Ccircle cx='40' cy='8' r='1.4'/%3E%3Ccircle cx='56' cy='8' r='1.4'/%3E%3Ccircle cx='72' cy='8' r='1.4'/%3E%3Ccircle cx='88' cy='8' r='1.4'/%3E%3Ccircle cx='8' cy='24' r='1.4'/%3E%3Ccircle cx='24' cy='24' r='1.4'/%3E%3Ccircle cx='40' cy='24' r='1.4'/%3E%3Ccircle cx='56' cy='24' r='1.4'/%3E%3Ccircle cx='72' cy='24' r='1.4'/%3E%3Ccircle cx='88' cy='24' r='1.4'/%3E%3Ccircle cx='8' cy='40' r='1.4'/%3E%3Ccircle cx='24' cy='40' r='1.4'/%3E%3Ccircle cx='40' cy='40' r='1.4'/%3E%3Ccircle cx='56' cy='40' r='1.4'/%3E%3Ccircle cx='72' cy='40' r='1.4'/%3E%3Ccircle cx='88' cy='40' r='1.4'/%3E%3Ccircle cx='8' cy='56' r='1.4'/%3E%3Ccircle cx='24' cy='56' r='1.4'/%3E%3Ccircle cx='40' cy='56' r='1.4'/%3E%3Ccircle cx='56' cy='56' r='1.4'/%3E%3Ccircle cx='72' cy='56' r='1.4'/%3E%3Ccircle cx='88' cy='56' r='1.4'/%3E%3Ccircle cx='8' cy='72' r='1.4'/%3E%3Ccircle cx='24' cy='72' r='1.4'/%3E%3Ccircle cx='40' cy='72' r='1.4'/%3E%3Ccircle cx='56' cy='72' r='1.4'/%3E%3Ccircle cx='72' cy='72' r='1.4'/%3E%3Ccircle cx='88' cy='72' r='1.4'/%3E%3Ccircle cx='8' cy='88' r='1.4'/%3E%3Ccircle cx='24' cy='88' r='1.4'/%3E%3Ccircle cx='40' cy='88' r='1.4'/%3E%3Ccircle cx='56' cy='88' r='1.4'/%3E%3Ccircle cx='72' cy='88' r='1.4'/%3E%3Ccircle cx='88' cy='88' r='1.4'/%3E%3C/g%3E%3C/svg%3E");
  --setu-atmosphere-qr: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='112' height='112' viewBox='0 0 112 112'%3E%3Cg fill='none' stroke='%233a8dff' stroke-opacity='.34' stroke-width='3'%3E%3Crect x='6' y='6' width='28' height='28' rx='2'/%3E%3Crect x='12' y='12' width='16' height='16' rx='1'/%3E%3Crect x='78' y='6' width='28' height='28' rx='2'/%3E%3Crect x='84' y='12' width='16' height='16' rx='1'/%3E%3Crect x='6' y='78' width='28' height='28' rx='2'/%3E%3Crect x='12' y='84' width='16' height='16' rx='1'/%3E%3Cpath d='M47 9h8v8h8v8h-8v8h-8v-8h-8v-8h8zM68 44h10v10H68zM47 48h8v8h8v8h-8v8h-8v-8h-8v-8h8zM82 64h8v8h8v8h-8v8h-8v-8h-8v-8h8zM46 84h10v10H46zM63 94h8v8h-8z'/%3E%3C/g%3E%3C/svg%3E");
  --setu-atmosphere-graph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='100' viewBox='0 0 180 100'%3E%3Cpath d='M10 78 L44 58 L76 66 L112 31 L148 45 L170 22' fill='none' stroke='%233a8dff' stroke-opacity='.34' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cg fill='%233a8dff' fill-opacity='.46'%3E%3Ccircle cx='10' cy='78' r='3'/%3E%3Ccircle cx='44' cy='58' r='3'/%3E%3Ccircle cx='76' cy='66' r='3'/%3E%3Ccircle cx='112' cy='31' r='3'/%3E%3Ccircle cx='148' cy='45' r='3'/%3E%3Ccircle cx='170' cy='22' r='3'/%3E%3C/g%3E%3C/svg%3E");
  --setu-atmosphere-triangle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='110' viewBox='0 0 120 110'%3E%3Cpath d='M60 8 L110 96 H10 Z' fill='none' stroke='%233a8dff' stroke-opacity='.28' stroke-width='1.4'/%3E%3Cpath d='M60 30 L90 84 H30 Z' fill='none' stroke='%233a8dff' stroke-opacity='.13' stroke-width='1.2'/%3E%3C/svg%3E");
}

/* Hero: light signal texture only. */
.home-v10-global .home-hero::before,
.home-v10-global .home-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
}
.home-v10-global .home-hero::before {
  left: clamp(1rem, 4vw, 4.5rem);
  top: clamp(6rem, 12vh, 9rem);
  width: 8rem;
  height: 8rem;
  background-image: var(--setu-atmosphere-dots);
  background-size: 7.5rem 7.5rem;
  opacity: .72;
}
.home-v10-global .home-hero::after {
  right: clamp(1rem, 4vw, 4rem);
  bottom: clamp(2rem, 6vh, 4.5rem);
  width: 12rem;
  height: 7rem;
  background-image: var(--setu-atmosphere-graph);
  background-size: 12rem auto;
  opacity: .78;
}
.home-v10-global .home-hero .hero-grid { position: relative; z-index: 1; }

/* Container-bound identity stories: QR, graph and dots live in the canvas only. */
.home-v10-global .contained-story-stage::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    var(--setu-atmosphere-dots),
    var(--setu-atmosphere-qr),
    var(--setu-atmosphere-graph),
    radial-gradient(circle at 80% 24%, rgba(58,141,255,.065), transparent 24%);
  background-repeat: no-repeat;
  background-size: 6.5rem 6.5rem, 6rem 6rem, 10rem auto, 100% 100%;
  background-position: 7% 78%, 48% 18%, 44% 82%, center;
  opacity: .82;
  transform: none !important;
}
.home-v10-global .contained-story--media-left .contained-story-stage::before {
  background-position: 93% 78%, 52% 18%, 56% 82%, center;
}
.home-v10-global .contained-story-grid { position: relative; z-index: 1; }

/* Full-photo split story: motifs stay on the copy side and never touch media. */
.home-v10-global .split-story-copy::before,
.home-v10-global .split-story-copy::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
}
.home-v10-global .split-story-copy::before {
  width: 7rem;
  height: 7rem;
  top: 10%;
  right: clamp(1rem, 4vw, 4rem);
  background-image: var(--setu-atmosphere-triangle);
  background-size: 7rem auto;
  opacity: .68;
}
.home-v10-global .split-story-copy::after {
  width: 9rem;
  height: 9rem;
  left: clamp(1rem, 4vw, 4rem);
  bottom: 8%;
  background-image: var(--setu-atmosphere-dots);
  background-size: 7.5rem 7.5rem;
  opacity: .62;
}
.home-v10-global .split-story-copy > * { position: relative; z-index: 1; }

/* Product rail: quiet QR + dot signal around the shelf, no layout changes. */
.home-v10-global .product-shelf-stage::before,
.home-v10-global .product-shelf-stage::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
}
.home-v10-global .product-shelf-stage::before {
  left: 2.5%;
  bottom: 7%;
  width: 6rem;
  height: 6rem;
  background-image: var(--setu-atmosphere-qr);
  background-size: 5.5rem 5.5rem;
  opacity: .58;
}
.home-v10-global .product-shelf-stage::after {
  right: 3%;
  top: 17%;
  width: 7rem;
  height: 7rem;
  background-image: var(--setu-atmosphere-dots);
  background-size: 6.5rem 6.5rem;
  opacity: .62;
}
.home-v10-global .product-shelf-stage > * { position: relative; z-index: 1; }

/* Moments and optional-growth get a low-key graph / QR accent in unused edges. */
.home-v10-global .moments::before,
.home-v10-global .optional-growth::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
}
.home-v10-global .moments::before {
  right: 3%;
  top: 8%;
  width: 11rem;
  height: 7rem;
  background-image: var(--setu-atmosphere-graph);
  background-size: 11rem auto;
  opacity: .56;
}
.home-v10-global .optional-growth::before {
  left: 3%;
  bottom: 9%;
  width: 6.5rem;
  height: 6.5rem;
  background-image: var(--setu-atmosphere-qr);
  background-size: 6rem 6rem;
  opacity: .48;
}
.home-v10-global .moments > *,
.home-v10-global .optional-growth > * { position: relative; z-index: 1; }

/* Keep the motifs environmental, not interactive. */
@media (prefers-reduced-motion: no-preference) {
  .home-v10-global .home-hero::after,
  .home-v10-global .contained-story-stage::before,
  .home-v10-global .split-story-copy::before,
  .home-v10-global .product-shelf-stage::before,
  .home-v10-global .moments::before {
    animation: setu-atmosphere-drift 16s ease-in-out infinite alternate;
  }
}
@keyframes setu-atmosphere-drift {
  from { translate: 0 0; }
  to { translate: 0 -10px; }
}
