.container{width:min(calc(100% - 56px),var(--max));margin:0 auto}
.container--narrow{width:min(calc(100% - 56px),740px);margin:0 auto}

/* Nav / page shell */
nav{
  position:fixed;
  top:10px;
  left:0;
  right:0;
  z-index:100;
  padding:7px 12px;
  transition:transform 0.3s ease, opacity 0.2s ease;
}
nav.nav--hidden[data-menu-open="false"]{
  transform:translateY(-110%);
  opacity:0;
}
nav[data-menu-open="true"]{
  transform:translateY(0);
  opacity:1;
}
.nav-shell{
  max-width:1200px;
  margin:0 auto;
  background:rgba(255,255,255,0.55);
  border:1px solid rgba(214,214,220,0.80);
  border-radius:20px;
  padding:4px;
  backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:56px;
  padding:8px 16px;
  background:rgba(251,251,252,0.96);
  border-radius:15px;
  gap:24px;
}
.nav-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--text);
  cursor:pointer;
  white-space:nowrap;
  min-width:max-content;
  min-height:var(--nav-pill-height);
}
.nav-logo-mark{
  display:block;
  font-size:0.95rem;
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--text);
  line-height:1;
}
.nav-logo-sep{
  display:block;
  font-size:0.68rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--muted);
  font-family:var(--sans);
  line-height:1;
  padding-top:1px;
}
.nav-logo::before{
  content:'';
  display:block;
  width:6px;
  height:6px;
  border-radius:50%;
  flex-shrink:0;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,0.55);
  animation:pulse-green 2s ease-in-out infinite;
}
@keyframes pulse-green{
  0%   { box-shadow:0 0 0 0 rgba(34,197,94,0.55); background:#22c55e; }
  50%  { box-shadow:0 0 0 5px rgba(34,197,94,0); background:#4ade80; }
  100% { box-shadow:0 0 0 0 rgba(34,197,94,0); background:#22c55e; }
}
.nav-links{
  display:flex;
  align-items:center;
  gap:6px;
}
.nav-link{
  display:inline-flex;
  align-items:center;
  min-height:var(--nav-pill-height);
  padding:0 12px;
  border-radius:5px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:0.82rem;
  font-weight:500;
  letter-spacing:0.01em;
  line-height:1;
  white-space:nowrap;
  transition:color var(--tr), background var(--tr);
}
.nav-link:hover{
  color:var(--text);
  background:rgba(61,79,168,0.06);
}
.nav-link.active{
  color:var(--accent);
  background:rgba(61,79,168,0.09);
}
.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--nav-pill-height);
  margin-left:8px;
  padding:0 16px;
  border:1px solid rgba(200,200,210,0.9);
  border-radius:999px;
  background:#ffffff;
  color:var(--text);
  cursor:pointer;
  font-family:var(--sans);
  font-size:0.8rem;
  font-weight:600;
  letter-spacing:0.01em;
  line-height:1;
  white-space:nowrap;
  transition:background var(--tr);
}
.nav-cta:hover{background:#f1f1f4}
.nav-toggle{
  display:none;
  appearance:none;
  background:rgba(255,255,255,0.82);
  border:1px solid rgba(28,30,42,0.10);
  color:rgba(28,30,42,0.70);
  border-radius:8px;
  min-width:var(--nav-pill-height);
  min-height:var(--nav-pill-height);
  padding:0;
  cursor:pointer;
  line-height:0;
  transition:background var(--tr), border-color var(--tr);
}
.nav-toggle:hover{
  background:rgba(255,255,255,0.96);
  border-color:rgba(28,30,42,0.18);
}
.nav-toggle svg{
  display:block;
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  fill:none;
  transition:opacity 0.15s;
}

.page{
  display:none;
  padding-top:62px;
}
.page.active{display:block}

/* Shared sections */
.section{
  padding:88px 0;
  position:relative;
}
.section:nth-child(even){
  background:
    radial-gradient(ellipse 70% 50% at 85% 50%, rgba(195,175,255,0.08) 0%, transparent 65%),
    rgba(250,249,255,0.40);
}
.section:nth-child(odd){
  background:
    radial-gradient(ellipse 60% 50% at 15% 50%, rgba(175,205,255,0.08) 0%, transparent 65%),
    rgba(250,249,255,0.28);
}
.section-header{margin-bottom:56px}
.eyebrow{
  font-family:var(--mono);
  font-size:0.68rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:12px;
  display:flex;align-items:center;gap:8px;
}
.eyebrow::before{
  content:'';
  display:block;width:20px;height:1px;
  background:var(--accent);flex-shrink:0;
}
.section-title{
  font-family:var(--serif);
  font-size:clamp(1.7rem,2.6vw,2.3rem);
  line-height:1.08;
  letter-spacing:-0.025em;
  margin-bottom:14px;
  font-weight:700;
}
.section-body{
  font-size:0.95rem;font-weight:300;
  color:var(--text2);
  max-width:56ch;line-height:1.75;
}
.divider{height:1px;background:var(--line)}
.section-header-grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;margin-bottom:40px}
.section-header-cta{white-space:nowrap;margin-bottom:4px}

.page-header{padding:64px 0 40px;border-bottom:1px solid var(--line)}

/* Footer */
footer{border-top:1px solid var(--line);padding:44px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.footer-name{font-family:var(--mono);font-size:0.78rem;color:var(--muted);letter-spacing:0.06em}
.footer-links{display:flex;gap:24px;font-size:0.82rem;font-weight:300;color:var(--muted)}
.footer-links a:hover,.footer-links span:hover{color:var(--text2)}

@media (max-width: 860px){
  :root{--nav-offset:98px}
  nav{padding:7px 8px}
  .nav-inner{
    gap:12px;
    padding:8px 12px;
  }
  .nav-logo{min-width:0}
  .nav-logo-mark{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .nav-logo-sep{display:none}
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .nav-shell{position:relative}
  .nav-links{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    padding:10px;
    border:1px solid rgba(255,255,255,0.90);
    border-radius:14px;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(22px) saturate(160%);
    -webkit-backdrop-filter:blur(22px) saturate(160%);
    box-shadow:0 8px 32px rgba(80,80,160,0.12), inset 0 1px 0 rgba(255,255,255,1);
  }
  nav[data-menu-open="true"] .nav-links{display:flex}
  .nav-links .nav-link{
    display:flex;
    min-height:44px;
    padding:0 14px;
  }
  .nav-cta{
    min-height:44px;
    margin-left:0;
    border-radius:8px;
    text-align:center;
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  nav{transition:none}
}

@media (max-width: 600px){
  .container{width:calc(100% - 32px)}
  .section-header-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
}
