.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.shell-header { position:sticky; z-index:50; top:0; padding-top:.85rem; pointer-events:none; transition:padding var(--duration-medium) var(--ease-out); }
.shell-nav { min-height:4.2rem; display:flex; align-items:center; gap:clamp(.75rem,1.6vw,1.5rem); padding:.65rem .8rem .65rem 1rem; color:var(--color-text); background:rgba(247,248,245,.78); border:1px solid rgba(var(--color-ink-rgb),.1); border-radius:var(--radius-md); box-shadow:0 .45rem 1.8rem rgba(var(--color-ink-rgb),.04), inset 0 1px 0 rgba(255,255,255,.72); -webkit-backdrop-filter:blur(14px) saturate(110%); backdrop-filter:blur(14px) saturate(110%); pointer-events:auto; transition:min-height var(--duration-medium) var(--ease-out),background var(--duration-medium),box-shadow var(--duration-medium),border-color var(--duration-medium); }
.shell-header.is-scrolled { padding-top:.4rem; }.shell-header.is-scrolled .shell-nav { min-height:3.7rem; background:rgba(247,248,245,.91); border-color:rgba(var(--color-ink-rgb),.14); box-shadow:0 .65rem 2rem rgba(var(--color-ink-rgb),.1), inset 0 1px 0 rgba(255,255,255,.84); }
.shell-brand { flex:0 0 auto; display:grid; grid-template-columns:1.9rem auto; grid-template-rows:repeat(2,auto); column-gap:.56rem; align-items:center; color:var(--color-ink); font-family:var(--font-display); line-height:.9; text-decoration:none; }.shell-brand span { grid-row:span 2; width:1.9rem; aspect-ratio:1; display:grid; place-items:center; color:var(--color-signal-strong); border:1px solid currentColor; font:600 .55rem/1 var(--font-body); letter-spacing:-.06em; }.shell-brand b,.shell-brand em { font-size:.67rem; font-style:normal; letter-spacing:-.04em; }.shell-brand em { color:var(--color-text-muted); font-weight:600; }
.desktop-nav { position:relative; display:flex; align-items:center; gap:clamp(.55rem,1.25vw,1.1rem); margin-left:auto; }.desktop-nav a { position:relative; min-height:2.75rem; display:inline-flex; align-items:center; color:var(--color-text-muted); font:600 .75rem/1 var(--font-body); text-decoration:none; transition:color var(--duration-fast) var(--ease-out); }.desktop-nav a::after { content:""; position:absolute; bottom:.42rem; left:0; width:100%; height:1px; background:var(--color-signal); transform:scaleX(0); transform-origin:left; transition:transform var(--duration-medium) var(--ease-out); }.desktop-nav a:hover,.desktop-nav a:focus-visible,.desktop-nav a.is-active { color:var(--color-ink); }.desktop-nav a.is-active::after { transform:scaleX(1); }.nav-signal { position:absolute; bottom:.15rem; left:0; width:5px; height:5px; border-radius:50%; background:var(--color-signal); box-shadow:0 0 0 3px rgba(var(--color-signal-rgb),.12); transform:translateX(var(--signal-x,0)); transition:transform 420ms var(--ease-out),opacity var(--duration-fast); pointer-events:none; }.desktop-nav.has-external-active .nav-signal { opacity:0; }.nav-cta { flex:0 0 auto; min-height:2.5rem; padding:.65rem .78rem; font-size:.7rem; }.nav-cta.is-active,.mobile-menu__cta.is-active { background:var(--color-signal); box-shadow:0 0 0 2px rgba(var(--color-signal-rgb),.18); }.menu-toggle { display:none; }
.button { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:2.9rem; padding:.78rem 1rem; overflow:hidden; border:1px solid transparent; border-radius:var(--radius-sm); font:700 .78rem/1 var(--font-display); letter-spacing:-.02em; text-decoration:none; transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-medium),border-color var(--duration-medium),background var(--duration-medium); }.button::before { content:""; position:absolute; inset:0; opacity:0; background:linear-gradient(105deg,transparent 33%,rgba(255,255,255,.42) 50%,transparent 67%); transform:translateX(-105%); transition:transform var(--duration-slow) var(--ease-out),opacity var(--duration-fast); }.button span { position:relative; transition:transform var(--duration-fast) var(--ease-out); }.button:hover,.button:focus-visible { transform:translateY(-2px); }.button:hover::before,.button:focus-visible::before { opacity:.4; transform:translateX(105%); }.button:hover span,.button:focus-visible span { transform:translateX(3px); }.button--primary { color:#fff; background:var(--color-signal-strong); box-shadow:0 .55rem 1.2rem rgba(var(--color-signal-rgb),.14); }.button--primary:hover,.button--primary:focus-visible { background:var(--color-signal); }
.mobile-menu { position:fixed; z-index:70; inset:0; display:grid; align-items:start; padding:0; visibility:hidden; pointer-events:none; }.mobile-menu::before { content:""; position:absolute; inset:0; opacity:0; background:rgba(var(--color-ink-rgb),.42); transition:opacity 360ms var(--ease-out); }.mobile-menu__surface { position:relative; width:100%; min-height:min(43rem,100svh); display:flex; flex-direction:column; padding:clamp(1.25rem,5vw,2rem) var(--gutter) max(1.25rem, env(safe-area-inset-bottom)); color:var(--color-surface); background:linear-gradient(145deg,rgba(16,44,59,.98),rgba(7,23,37,.99)); border-bottom:1px solid rgba(255,255,255,.15); box-shadow:0 1.8rem 4rem rgba(0,0,0,.26); transform:translateY(-105%); transition:transform 400ms var(--ease-out); }.mobile-menu.is-open { visibility:visible; pointer-events:auto; }.mobile-menu.is-open::before { opacity:1; }.mobile-menu.is-open .mobile-menu__surface { transform:translateY(0); }.mobile-menu__head { display:flex; align-items:center; justify-content:space-between; }.mobile-menu__head .micro-label { color:#8ed6cc; }.menu-close,.menu-toggle { width:44px; height:44px; display:grid; place-items:center; padding:0; color:inherit; background:transparent; border:1px solid currentColor; border-radius:var(--radius-sm); cursor:pointer; }.menu-close { color:rgba(255,255,255,.78); font-size:1.75rem; line-height:1; }.mobile-menu__links { display:grid; gap:.1rem; margin-top:clamp(2.8rem,8vh,5rem); }.mobile-menu__links a { min-height:3.55rem; display:flex; align-items:center; gap:1rem; color:rgba(255,255,255,.78); border-bottom:1px solid rgba(255,255,255,.13); font:600 clamp(1.6rem,6vw,2.25rem)/1 var(--font-display); letter-spacing:-.05em; text-decoration:none; transition:color var(--duration-fast),padding var(--duration-fast) var(--ease-out); }.mobile-menu__links small { min-width:1.4rem; color:#8ed6cc; font:600 .6rem/1 var(--font-body); letter-spacing:.07em; }.mobile-menu__links a:hover,.mobile-menu__links a:focus-visible,.mobile-menu__links a.is-active { padding-left:.4rem; color:#fff; }.mobile-menu__cta { width:100%; margin-top:auto; }.mobile-menu__field { position:absolute; right:var(--gutter); bottom:8rem; width:9rem; height:5rem; opacity:.38; pointer-events:none; }.mobile-menu__field::before,.mobile-menu__field::after { content:""; position:absolute; background:rgba(142,214,204,.5); }.mobile-menu__field::before { top:1.7rem; left:0; width:7rem; height:1px; }.mobile-menu__field::after { top:0; right:2rem; width:1px; height:1.7rem; }.mobile-menu__field span { position:absolute; width:5px; aspect-ratio:1; border-radius:50%; background:#8ed6cc; }.mobile-menu__field span:nth-child(1){left:0;top:1.55rem}.mobile-menu__field span:nth-child(2){left:6.8rem;top:1.55rem}.mobile-menu__field span:nth-child(3){right:1.84rem;top:-.16rem}.mobile-menu__field i { position:absolute; left:3rem; top:1.35rem; width:5px; aspect-ratio:1; background:#8ed6cc; animation:menu-signal 7s linear infinite; animation-play-state:paused; }.mobile-menu.is-open .mobile-menu__field i { animation-play-state:running; }
.shell-section { position:relative; min-height:clamp(24rem,50vw,38rem); display:grid; align-items:center; padding-block:var(--section-space); background:var(--color-surface); scroll-margin-top:5.2rem; }.shell-section + .shell-section:not(.shell-dark):not(.shell-transition-dark) { border-top:1px solid rgba(var(--color-ink-rgb),.07); }.shell-soft { min-height:clamp(20rem,38vw,30rem); background:var(--color-paper); }.shell-dark,.shell-transition-dark,.shell-connect { color:var(--color-surface); background:linear-gradient(145deg,var(--color-ink-soft),var(--color-ink) 72%); }.shell-dark .micro-label,.shell-transition-dark .micro-label,.shell-connect .micro-label { color:#8ed6cc; }.shell-grid-zone::before { content:""; position:absolute; inset:0; opacity:.22; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px); background-size:5.5rem 5.5rem; mask-image:linear-gradient(90deg,black,transparent 76%); }.shell-transition-dark { min-height:clamp(23rem,44vw,32rem); background:radial-gradient(circle at 84% 20%,rgba(var(--color-signal-rgb),.16),transparent 25rem),linear-gradient(145deg,var(--color-ink-soft),var(--color-ink) 72%); }.shell-connect { min-height:clamp(25rem,48vw,35rem); background:radial-gradient(circle at 72% 35%,rgba(var(--color-signal-rgb),.17),transparent 24rem),linear-gradient(145deg,var(--color-ink-soft),var(--color-ink) 72%); }.shell-placeholder-block { position:relative; z-index:1; display:grid; gap:var(--space-4); }.shell-placeholder-block h2 { max-width:18ch; }.shell-opening { min-height:calc(100svh - 5rem); overflow:hidden; padding-top:var(--space-12); }.shell-opening__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(19rem,.8fr); align-items:center; gap:clamp(2.5rem,8vw,9rem); }.shell-opening__grid > div { display:grid; gap:var(--space-6); }.shell-placeholder { color:var(--color-text-muted); font-size:var(--text-body-lg); }.shell-field { width:100%; max-width:31rem; justify-self:end; }.shell-field > g > path { stroke:var(--color-line-strong); stroke-width:1.1; }.shell-field .shell-field__path { stroke:var(--color-signal); stroke-width:2; }.shell-field__dots circle { fill:var(--color-signal); opacity:.7; }.shell-field__node { fill:rgba(var(--color-signal-rgb),.13); stroke:var(--color-signal); stroke-width:1.5; }.shell-field__core,.shell-field__signal { fill:var(--color-signal); }.shell-field__pulse { fill:none; stroke:var(--color-signal); stroke-width:1; opacity:.5; animation:decision-pulse 3.6s var(--ease-standard) infinite; transform-box:fill-box; transform-origin:center; }
