/* ============ INTERIOR PAGE LAYOUT SHARED STYLES ============ */

.page{
  padding-top: 120px;
  min-height: 100vh;
}

/* Hero header used across most interior pages */
.page-head{
  padding: 40px 40px 80px;
  border-bottom: 1px solid var(--line);
  max-width: 1360px; margin: 0 auto;
}
.page-head__crumb{
  display:flex; align-items:center; gap:8px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.28em; color:var(--warm-2); text-transform:uppercase;
  margin-bottom:28px;
}
.page-head__crumb i{ width:6px; height:6px; border-radius:50%; background:var(--violet); }
.page-head__crumb b{ color:var(--ink); font-weight:500; }
.page-head__h{
  font-size: clamp(56px, 9vw, 160px);
  line-height: .9;
  letter-spacing: -0.045em;
  font-weight: 500;
  margin: 0 0 32px;
  max-width: 18ch;
}
.page-head__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet); }
.page-head__lead{
  display:grid; grid-template-columns: 1fr 1fr; gap: 40px;
  padding-top: 40px;
}
.page-head__lead-copy{
  font-size: 18px; line-height: 1.5; color: var(--ink-2); max-width: 44ch;
}
.page-head__lead-copy p + p{ margin-top: 16px; }
.page-head__meta{
  display:flex; flex-direction:column; gap:8px; align-items:flex-end; justify-content:flex-end;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color:var(--warm-2);
  text-align:right;
}
.page-head__meta b{ color:var(--ink); font-weight:500; }

/* Content section wrapper */
.section{
  padding: 100px 40px;
  max-width: 1360px; margin: 0 auto;
}
.section--dark{
  background:#0A0A0A; color:var(--ivory);
  max-width:none; padding-left: max(40px, calc((100vw - 1360px)/2 + 40px));
  padding-right: max(40px, calc((100vw - 1360px)/2 + 40px));
}
.section--tint{
  background: linear-gradient(180deg, var(--ivory) 0%, var(--ivory-2) 100%);
  max-width:none; padding-left: max(40px, calc((100vw - 1360px)/2 + 40px));
  padding-right: max(40px, calc((100vw - 1360px)/2 + 40px));
}
.section__label{
  display:flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.28em; color:var(--warm-2);
  margin-bottom:32px;
}
.section__label i{ width:6px; height:6px; border-radius:50%; background:var(--violet); }
.section--dark .section__label{ color:rgba(255,255,255,.5); }
.section__h{
  font-size: clamp(40px, 6vw, 96px);
  line-height: .95; letter-spacing: -0.035em; font-weight: 500;
  margin: 0 0 40px;
  max-width: 20ch;
}
.section__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color:var(--violet); }
.section--dark .section__h em{ color:var(--violet-soft); }

/* Prose (legal etc.) */
.prose{
  max-width: 700px; margin: 0 auto;
  font-size: 16px; line-height: 1.7; color: var(--ink-2);
}
.prose h2{
  margin: 60px 0 20px;
  font-size: 24px; line-height:1.2; letter-spacing:-.015em; font-weight:500; color: var(--ink);
}
.prose h2:first-child{ margin-top:0; }
.prose h3{
  margin: 40px 0 12px;
  font-size: 17px; font-weight:500; color: var(--ink);
}
.prose p, .prose ul, .prose ol{ margin: 0 0 16px; }
.prose ul, .prose ol{ padding-left: 22px; }
.prose li{ margin-bottom: 6px; }
.prose a{ color: var(--violet); text-decoration:underline; text-decoration-color:rgba(101,75,255,.35); text-underline-offset:3px; }
.prose a:hover{ text-decoration-color:var(--violet); }
.prose strong, .prose b{ color: var(--ink); font-weight:500; }
.prose hr{ border:0; border-top:1px solid var(--line); margin: 40px 0; }
.prose small{ font-family: var(--f-mono); font-size: 11px; letter-spacing:.16em; color: var(--warm-2); }
.prose code{ font-family: var(--f-mono); font-size:.9em; background: var(--ivory-2); padding: 2px 6px; border-radius: 4px; }

/* Feature grid */
.feats{
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 2px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 40px;
}
.feat{
  background: var(--ivory);
  padding: 36px 32px;
  display:flex; flex-direction:column; gap:12px;
  min-height: 240px;
}
.feat__num{ font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color:var(--warm-2); }
.feat__h{
  font-size: 22px; line-height:1.15; letter-spacing:-.02em; font-weight:500; margin: 0;
}
.feat__p{ font-size:14px; line-height:1.5; color:var(--ink-2); margin: auto 0 0; max-width:32ch; }
.section--dark .feats{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.06); }
.section--dark .feat{ background:#0A0A0A; }
.section--dark .feat__p{ color:rgba(255,255,255,.65); }
.section--dark .feat__h{ color:#fff; }
@media (max-width:900px){ .feats{ grid-template-columns:1fr; } }

/* Two column split */
.split{
  display:grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items:center;
}
.split--wide{ grid-template-columns: 1.2fr 1fr; }
@media (max-width:900px){ .split, .split--wide{ grid-template-columns:1fr; gap:40px; } }

/* CTA banner (used at bottom of interior pages) */
.cta-banner{
  background: #0A0A0A; color: var(--ivory);
  padding: 120px 40px;
  text-align: center;
  position:relative; overflow:hidden;
}
.cta-banner::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(ellipse at 50% 20%, rgba(101,75,255,.25), transparent 60%);
  pointer-events:none;
}
.cta-banner__h{
  position:relative;
  font-size: clamp(48px, 7vw, 120px); line-height:.9; letter-spacing:-.04em; font-weight:500;
  margin: 0 0 24px; max-width: 20ch; margin-left:auto; margin-right:auto;
}
.cta-banner__h em{ font-family:var(--f-display); font-style:italic; font-weight:400; color: var(--lime); }
.cta-banner__p{
  position:relative; max-width:52ch; margin: 0 auto 40px;
  font-size: 17px; color: rgba(255,255,255,.7);
}
.cta-banner__actions{
  position:relative; display:inline-flex; gap:14px; flex-wrap:wrap; justify-content:center;
}

/* Editorial list rows */
.list-rows{
  border-top:1px solid var(--line);
}
.list-rows li{
  list-style:none;
  display:grid; grid-template-columns: 60px 1.4fr 2fr 60px; gap: 24px; align-items:center;
  padding: 28px 8px;
  border-bottom:1px solid var(--line);
  transition: background .3s, padding .3s;
}
.list-rows li:hover{ background: var(--ivory-2); padding-left: 20px; }
.list-rows .lr__num{ font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color:var(--warm-2); }
.list-rows .lr__title{ font-size: clamp(20px, 2.2vw, 32px); font-weight:500; letter-spacing:-.015em; }
.list-rows .lr__desc{ font-size:15px; color:var(--ink-2); }
.list-rows .lr__arrow{ text-align:right; color:var(--warm-2); transition: color .3s, transform .3s; }
.list-rows li:hover .lr__arrow{ color:var(--violet); transform:translateX(6px) rotate(-45deg); }

/* Big number strip */
.stats{
  display:grid; grid-template-columns: repeat(4,1fr); gap: 0;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding: 40px 0; margin-top: 40px;
}
.stat{ padding: 0 24px; border-right: 1px solid var(--line); }
.stat:last-child{ border-right: 0; }
.stat b{ display:block; font-size: clamp(40px, 5vw, 72px); line-height:1; letter-spacing:-.03em; font-weight:500; margin-bottom: 12px; }
.stat span{ display:block; font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color:var(--warm-2); text-transform:uppercase; }
@media (max-width:900px){ .stats{ grid-template-columns:1fr 1fr; gap: 24px; } .stat{ border-right:0; padding: 12px 0; } }

/* Timeline / step list */
.steps{
  display: grid; grid-template-columns: 1fr; gap: 0;
  border-top: 1px solid var(--line);
  margin-top: 40px;
}
.step-row{
  display:grid; grid-template-columns: 80px 1fr 2fr; gap: 40px; align-items: start;
  padding: 40px 0;
  border-bottom: 1px solid var(--line);
}
.step-row__num{
  font-family: var(--f-display); font-style: italic; font-size: 64px; line-height:1; color: var(--warm); font-weight:400;
}
.step-row__title{
  font-size: 28px; line-height:1.1; letter-spacing:-.02em; font-weight:500; margin: 0;
}
.step-row__desc{
  font-size: 16px; line-height:1.6; color: var(--ink-2); margin: 0;
}
@media (max-width:900px){ .step-row{ grid-template-columns:1fr; gap: 12px; padding: 32px 0; } .step-row__num{ font-size: 40px; } }

/* Card grid */
.cards{
  display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;
}
.card{
  padding: 32px 28px; border-radius: 20px; background: var(--ivory-2);
  display: flex; flex-direction: column; gap: 14px;
  min-height: 240px;
  transition: transform .4s var(--e-out), background .3s;
}
.card:hover{ transform: translateY(-4px); background: #fff; }
.card__label{ font-family: var(--f-mono); font-size:10px; letter-spacing:.24em; color: var(--warm-2); }
.card__h{ font-size: 22px; line-height:1.15; letter-spacing:-.02em; font-weight:500; margin:0; }
.card__p{ font-size: 14px; line-height:1.5; color: var(--ink-2); margin: auto 0 0; }
@media (max-width:900px){ .cards{ grid-template-columns:1fr; } }

/* Value pair — small stat next to copy */
.pairs{
  display:grid; grid-template-columns: repeat(2,1fr); gap: 60px;
}
.pair{
  padding-top: 28px; border-top: 1px solid var(--line);
}
.pair__label{ font-family:var(--f-mono); font-size:11px; letter-spacing:.24em; color: var(--warm-2); text-transform: uppercase; }
.pair__h{ font-size: 28px; line-height:1.1; letter-spacing:-.02em; font-weight:500; margin: 12px 0 8px; }
.pair__p{ font-size: 15px; color: var(--ink-2); }

/* Ambient decor */
.ambient-orbs{
  position: absolute; inset: 0; pointer-events:none; overflow:hidden;
}
.ambient-orbs::before, .ambient-orbs::after{
  content:""; position:absolute; border-radius:50%; filter: blur(80px);
}
.ambient-orbs::before{
  width: 50vw; height:50vw; top: -20%; left: -10%;
  background: radial-gradient(circle, rgba(101,75,255,.18), transparent 60%);
}
.ambient-orbs::after{
  width: 40vw; height:40vw; bottom: -20%; right: -10%;
  background: radial-gradient(circle, rgba(199,255,58,.10), transparent 60%);
}
