/* ═══════════════════════════════════════════════
   ARAVENTIS — shared styles, all pages
   ═══════════════════════════════════════════════ */
:root{
  --ink:      #0D0D0D;
  --ink-2:    #121210;
  --line:     rgba(240,237,230,.09);
  --ivory:    #F0EDE6;
  --muted:    #8E8A80;
  --gold:     #C9A55C;
  --gold-hi:  #D8B76F;

  --font-display: "Archivo", sans-serif;
  --font-body:    "Manrope", sans-serif;
  --font-mono:    "JetBrains Mono", monospace;

  --w: min(1180px, calc(100% - 2.5rem));
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }

body{
  background:var(--ink);
  color:var(--ivory);
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
strong{ font-weight:600; color:var(--ivory); }
.mono{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.gold{ color:var(--gold); }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:2px; }

/* page transition veil */
#page{ opacity:0; transition:opacity .4s ease; }
#page.is-visible{ opacity:1; }

/* ── type helpers ── */
.display{
  font-family:var(--font-display);
  font-variation-settings:"wdth" 121;
  font-weight:850;
  text-transform:uppercase;
  line-height:1.02;
  letter-spacing:-.01em;
}
.h-xl{ font-size:clamp(2.6rem, 7.4vw, 6.4rem); line-height:.98; }
.h-lg{ font-size:clamp(2.1rem, 4.6vw, 3.7rem); }
.h-md{ font-size:clamp(1.6rem, 3.2vw, 2.5rem); line-height:1.06; }

.eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted);
  display:flex; align-items:center; gap:.65rem;
}
.eyebrow__tick{ width:1.6rem; height:1px; background:var(--gold); display:inline-block; flex:none; }

.lede{ color:var(--muted); font-size:1.1rem; max-width:38rem; }

/* ── buttons ── */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-display);
  font-variation-settings:"wdth" 110;
  font-weight:700; font-size:.95rem; letter-spacing:.02em;
  padding:1rem 2.1rem;
  border:1px solid transparent;
  border-radius:2px;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
  will-change:transform;
}
.btn--gold{ background:var(--gold); color:#0D0D0D; }
.btn--gold:hover{ background:var(--gold-hi); }
.btn--ghost{ border-color:var(--line); color:var(--ivory); font-size:.85rem; padding:.7rem 1.4rem; }
.btn--ghost:hover{ border-color:var(--gold); color:var(--gold); }

/* ═══════════════ NAV ═══════════════ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.05rem clamp(1.25rem, 4vw, 3rem);
  transition:background .35s ease, backdrop-filter .35s ease, border-color .35s ease;
  border-bottom:1px solid transparent;
}
.nav.is-scrolled{ background:rgba(13,13,13,.84); backdrop-filter:blur(12px); border-color:var(--line); }
.nav__brand{ display:flex; align-items:center; gap:.8rem; z-index:2; }
.nav__mark{ width:2.05rem; height:auto; }
.nav__word{
  font-family:var(--font-display);
  font-variation-settings:"wdth" 122;
  font-weight:600; font-size:1rem; letter-spacing:.34em; text-transform:uppercase;
}
.nav__links{
  display:flex; align-items:center; gap:2.2rem;
  list-style:none;
}
.nav__link{
  font-family:var(--font-mono);
  font-size:.74rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted);
  transition:color .25s ease;
  position:relative;
}
.nav__link:hover{ color:var(--ivory); }
.nav__link.is-active{ color:var(--gold); }
.nav__link.is-active::after{
  content:""; position:absolute; left:.15rem; right:.15rem; bottom:.1rem;
  height:1px; background:var(--gold);
}
.nav__right{ display:flex; align-items:center; gap:1.2rem; z-index:2; }

/* burger */
.nav__burger{
  display:none;
  background:none; border:0; cursor:pointer;
  width:2.2rem; height:2.2rem;
  position:relative; z-index:2;
}
.nav__burger span{
  position:absolute; left:.3rem; right:.3rem; height:1.5px;
  background:var(--ivory);
  transition:transform .3s ease, opacity .3s ease, top .3s ease;
}
.nav__burger span:nth-child(1){ top:.72rem; }
.nav__burger span:nth-child(2){ top:1.35rem; }
.nav--open .nav__burger span:nth-child(1){ top:1.05rem; transform:rotate(45deg); }
.nav--open .nav__burger span:nth-child(2){ top:1.05rem; transform:rotate(-45deg); }

/* mobile menu overlay */
.menu{
  position:fixed; inset:0; z-index:55;
  background:rgba(13,13,13,.97);
  display:flex; flex-direction:column; justify-content:center;
  padding:0 clamp(1.5rem, 8vw, 4rem);
  opacity:0; pointer-events:none;
  transition:opacity .35s ease;
}
.nav--open ~ .menu, .menu.is-open{ opacity:1; pointer-events:auto; }
.menu__list{ list-style:none; display:flex; flex-direction:column; gap:1.4rem; }
.menu__link{
  font-family:var(--font-display);
  font-variation-settings:"wdth" 121;
  font-weight:850; text-transform:uppercase;
  font-size:clamp(2rem, 9vw, 3rem); line-height:1;
  color:var(--ivory);
}
.menu__link.is-active{ color:var(--gold); }
.menu__contact{ margin-top:3rem; }

/* ═══════════════ HERO (Home) ═══════════════ */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; align-items:center;
  overflow:hidden;
}
.hero__falcon{
  position:absolute; right:-6%; top:12%;
  width:min(58vw, 780px);
  opacity:.05;
  pointer-events:none;
  will-change:transform;
}
.hero__inner{ width:var(--w); margin-inline:auto; padding-top:5rem; position:relative; z-index:2; }
.hero__eyebrow{ margin-bottom:2rem; opacity:0; }
.hero__h1{ max-width:16ch; }
.hero__h1 em{ font-style:normal; color:var(--gold); }
.line-mask{ display:block; overflow:hidden; padding-block:.04em; }
.line{ display:block; transform:translateY(110%); }
.hero__sub{ max-width:34rem; margin-top:2.2rem; color:var(--muted); font-size:1.1rem; opacity:0; }
.hero__cta-row{ margin-top:2.6rem; display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap; opacity:0; }
.hero__cta-note{ letter-spacing:.1em; }

/* ═══════════════ PAGE HERO (inner pages) ═══════════════ */
.pagehero{
  padding:clamp(9rem, 18vh, 12rem) 0 clamp(3rem, 6vw, 5rem);
  border-bottom:1px solid var(--line);
}
.pagehero__inner{ width:var(--w); margin-inline:auto; }
.pagehero__h1{ margin-top:1.4rem; max-width:14ch; }
.pagehero__lede{ margin-top:1.8rem; }

/* ═══════════════ SECTIONS (generic) ═══════════════ */
.section{ padding:clamp(4.5rem, 9vw, 7.5rem) 0; }
.section--tint{ background:var(--ink-2); border-block:1px solid var(--line); }
.section__inner{ width:var(--w); margin-inline:auto; }
.section__head{ max-width:44rem; }
.section__head .lede{ margin-top:1.6rem; }
.section__title{ margin-top:1.4rem; }

/* ═══════════════ HOME · PROBLEM ═══════════════ */
.problem__grid{
  margin-top:3.5rem;
  display:grid; grid-template-columns:repeat(3, 1fr);
  border-top:1px solid var(--line); border-left:1px solid var(--line);
}
.problem__cell{
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:2.2rem 1.8rem 2.4rem;
}
.problem__stamp{ color:var(--gold); letter-spacing:.16em; display:block; margin-bottom:1.1rem; }
.problem__cell h3{
  font-family:var(--font-display); font-variation-settings:"wdth" 116;
  font-weight:800; font-size:1.25rem; text-transform:uppercase; line-height:1.15;
}
.problem__cell p{ margin-top:.9rem; color:var(--muted); font-size:.97rem; }
.problem__close{ margin-top:2.6rem; max-width:44rem; color:var(--muted); font-size:1.1rem; }

/* ═══════════════ HOME · FLAGSHIP TEASER ═══════════════ */
.flag{ position:relative; overflow:hidden; }
.flag__inner{ width:var(--w); margin-inline:auto; position:relative; z-index:2; }
.flag__stamp{
  color:var(--gold);
  border:1px solid rgba(201,165,92,.35);
  border-radius:2px;
  padding:.25rem .6rem;
  display:inline-block;
  margin-bottom:1.6rem;
}
.flag__line{ max-width:24ch; }
.flag__body{ margin-top:1.8rem; max-width:36rem; color:var(--muted); font-size:1.1rem; }
.flag__link{
  display:inline-flex; align-items:center; gap:.6rem;
  margin-top:2.2rem;
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold);
}
.flag__link:hover{ color:var(--gold-hi); }

/* ═══════════════ HOME · EXPLORE TEASERS ═══════════════ */
.explore{ border-top:1px solid var(--line); }
.explore__grid{
  display:grid; grid-template-columns:repeat(3, 1fr);
  border-left:1px solid var(--line);
}
.explore__card{
  border-right:1px solid var(--line);
  padding:3rem 2rem 3.2rem;
  display:flex; flex-direction:column; gap:1.1rem;
  transition:background .3s ease;
  position:relative;
}
.explore__card:hover{ background:var(--ink-2); }
.explore__card h3{
  font-family:var(--font-display); font-variation-settings:"wdth" 121;
  font-weight:850; text-transform:uppercase; font-size:1.6rem;
}
.explore__card p{ color:var(--muted); font-size:.97rem; flex:1; }
.explore__cue{
  font-family:var(--font-mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold);
}

/* ═══════════════ SERVICES · SYSTEM (pinned set-piece) ═══════════════ */
.system{ position:relative; }
.system__stage-wrap{ position:relative; }
.system__viewport{
  min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  overflow:hidden;
  position:relative;
}
.system__inner{ width:var(--w); margin-inline:auto; position:relative; }
.system__panels{ position:relative; min-height:22rem; }
.system__panel{
  position:absolute; inset:0;
  opacity:0;
  display:flex; flex-direction:column; justify-content:center;
}
.system__panel.is-first{ opacity:1; }
.system__idx{ color:var(--gold); letter-spacing:.2em; display:block; margin-bottom:1.2rem; }
.system__word{
  font-family:var(--font-display); font-variation-settings:"wdth" 121;
  font-weight:850; text-transform:uppercase;
  font-size:clamp(3rem, 9vw, 7rem); line-height:.95;
}
.system__desc{ margin-top:1.6rem; max-width:34rem; color:var(--muted); font-size:1.08rem; }
.system__progress{
  display:flex; gap:.5rem;
  margin-top:3rem;
}
.system__seg{ height:2px; flex:1; background:var(--line); position:relative; overflow:hidden; }
.system__seg::after{
  content:""; position:absolute; inset:0;
  background:var(--gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform .4s ease;
}
.system__seg.is-done::after{ transform:scaleX(1); }
/* mobile fallback: stacked */
.system__stack{ display:none; }

/* ═══════════════ SERVICES · LIST ═══════════════ */
.svc__grid{
  margin-top:3.5rem;
  display:grid; grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line); border-left:1px solid var(--line);
}
.svc{
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:2.4rem 2rem 2.6rem;
}
.svc__tag{ color:var(--gold); letter-spacing:.16em; display:block; margin-bottom:1rem; }
.svc h3{
  font-family:var(--font-display); font-variation-settings:"wdth" 118;
  font-weight:800; text-transform:uppercase;
  font-size:1.3rem; line-height:1.12;
}
.svc p{ margin-top:.9rem; color:var(--muted); font-size:.97rem; }

/* ═══════════════ STUB PAGES ═══════════════ */
.stub{
  min-height:70svh;
  display:flex; align-items:center;
}
.stub__inner{ width:var(--w); margin-inline:auto; }
.stub__note{ margin-top:1.6rem; }

/* ═══════════════ FOOTER ═══════════════ */
.footer{ border-top:1px solid var(--line); padding:3.2rem 0 2.6rem; }
.footer__inner{
  width:var(--w); margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;
}
.footer__brand{ display:flex; align-items:center; gap:.7rem; }
.footer__mark{ width:1.7rem; }
.footer__word{
  font-family:var(--font-display); font-variation-settings:"wdth" 122;
  font-weight:600; font-size:.85rem; letter-spacing:.3em; text-transform:uppercase;
}
.footer__contact{ text-transform:none; letter-spacing:.04em; }
.footer__nav{ display:flex; gap:1.6rem; list-style:none; }
.footer__nav a{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.footer__nav a:hover{ color:var(--ivory); }

/* ═══════════════ REVEAL DEFAULTS ═══════════════ */
[data-reveal]{ opacity:0; transform:translateY(28px); will-change:transform,opacity; }

/* ═══════════════ RESPONSIVE — full device range ═══════════════
   Breakpoints: ≤380 small phones · ≤520 phones · ≤767 large phones
   768–1024 tablets · ≥1025 laptop/desktop · height guards for landscape */

/* safe areas (notched phones) */
.nav{
  padding-left:max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-left));
  padding-right:max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-right));
  padding-top:max(1.05rem, env(safe-area-inset-top));
}
.menu{
  padding-top:env(safe-area-inset-top);
  padding-bottom:max(2rem, env(safe-area-inset-bottom));
  overflow-y:auto;
}
.footer{ padding-bottom:max(2.6rem, env(safe-area-inset-bottom)); }

/* comfortable tap targets on all touch-reachable links */
.nav__link, .footer__nav a{ display:inline-block; padding:.55rem .15rem; margin:-.4rem 0; }
.menu__link{ display:inline-block; padding:.35rem 0; }
.flag__link, .explore__cue{ padding:.4rem 0; }

/* ── tablets (768–1024): keep the pinned System, tighten grids ── */
@media (max-width: 1024px){
  .nav__links{ gap:1.5rem; }
  .svc{ padding:2rem 1.6rem 2.2rem; }
  .explore__card{ padding:2.5rem 1.7rem 2.7rem; }
}

/* ── below 901px: burger nav ── */
@media (max-width: 900px){
  .nav__links{ display:none; }
  .nav__burger{ display:block; }
  .nav__cta{ display:none; }
}

/* ── tablet portrait / large phones (≤860): reflow grids ── */
@media (max-width: 860px){
  .problem__grid{ grid-template-columns:1fr; }
  .explore__grid{ grid-template-columns:1fr; }
  .explore__card{ border-bottom:1px solid var(--line); }
  .svc__grid{ grid-template-columns:1fr; }
}

/* ── phones (≤767): pinned System → stacked sequence ── */
@media (max-width: 767px){
  .system__stage-wrap{ display:none; }
  .system__stack{ display:block; }
  .system__stack .system__panelstack{ padding:2.6rem 0; border-bottom:1px solid var(--line); }
  .system__stack .system__panelstack:last-child{ border-bottom:0; }
  .pagehero{ padding-top:clamp(7.5rem, 16vh, 9rem); }
}

/* ── phones (≤520) ── */
@media (max-width: 520px){
  body{ font-size:1rem; }
  :root{ --w: calc(100% - 2rem); }
  .nav__word{ letter-spacing:.22em; font-size:.9rem; }
  .nav__mark{ width:1.8rem; }
  .hero__falcon{ right:-28%; top:20%; width:110vw; opacity:.04; }
  .hero__h1{ font-size:clamp(2.35rem, 11.5vw, 3rem); }
  .hero__cta-row{ gap:1.1rem; }
  .btn--gold{ width:100%; max-width:22rem; }
  .problem__cell{ padding:1.8rem 1.4rem 2rem; }
  .svc{ padding:1.8rem 1.4rem 2rem; }
  .flag__line{ max-width:none; }
  .footer__inner{ flex-direction:column; align-items:flex-start; gap:1.4rem; }
}

/* ── small phones (≤380): iPhone SE / mini ── */
@media (max-width: 380px){
  .hero__h1{ font-size:2.15rem; }
  .h-lg{ font-size:1.85rem; }
  .nav__word{ display:none; } /* mark alone — word returns in the menu */
  .explore__card h3{ font-size:1.4rem; }
}

/* ── short viewports (landscape phones): stop the hero overflowing ── */
@media (max-height: 520px) and (orientation: landscape){
  .hero{ min-height:auto; padding:6.5rem 0 4rem; }
  .menu{ justify-content:flex-start; padding-top:5.5rem; }
  .menu__link{ font-size:1.6rem; }
  .menu__list{ gap:.7rem; }
  .menu__contact{ margin-top:1.4rem; }
}

/* ── touch devices: neutralise sticky hovers, hover effects only where hover exists ── */
@media (hover: none){
  .explore__card:hover{ background:transparent; }
  .btn--gold:hover{ background:var(--gold); }
  .btn--ghost:hover{ border-color:var(--line); color:var(--ivory); }
  .nav__link:hover{ color:var(--muted); }
  .nav__link.is-active:hover{ color:var(--gold); }
}
.explore__card:active{ background:var(--ink-2); }
.btn--gold:active{ background:var(--gold-hi); }

/* ── very wide screens: cap line lengths, breathe ── */
@media (min-width: 1600px){
  :root{ --w: min(1280px, calc(100% - 5rem)); }
  body{ font-size:1.125rem; }
}

/* ═══════════════ REDUCED MOTION ═══════════════ */
@media (prefers-reduced-motion: reduce){
  [data-reveal], .hero__eyebrow, .hero__sub, .hero__cta-row{ opacity:1 !important; transform:none !important; }
  .line{ transform:none !important; }
  #page{ opacity:1 !important; transition:none; }
  .system__panel{ position:static; opacity:1 !important; margin-bottom:3rem; }
}

/* ═══════════════ WORK — case studies ═══════════════ */
.workwrap{ position:relative; }
.caserail{
  position:sticky; top:38vh;
  float:left; width:0; overflow:visible;
  display:flex; flex-direction:column; gap:1.1rem;
  margin-left:clamp(1.5rem, 2.5vw, 3rem);
}
.caserail__item{ white-space:nowrap; }
.caserail__item{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); opacity:.45;
  transition:opacity .3s ease, color .3s ease;
}
.caserail__item.is-live{ opacity:1; color:var(--gold); }

.case{ padding:clamp(4.5rem, 9vw, 7.5rem) 0; border-bottom:1px solid var(--line); }
.case:last-of-type{ border-bottom:0; }
.case__inner{ width:var(--w); margin-inline:auto; }
.case__label{ color:var(--gold); letter-spacing:.2em; display:block; margin-bottom:1.2rem; }
.case__title{ max-width:16ch; }
.case__cols{
  margin-top:3rem;
  display:grid; grid-template-columns:repeat(3, 1fr); gap:2.5rem;
}
.case__col h3{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ivory); font-weight:500;
  padding-bottom:.9rem; margin-bottom:1.1rem;
  border-bottom:1px solid var(--line);
}
.case__col p{ color:var(--muted); font-size:.99rem; }

.tiles{
  margin-top:3.2rem;
  display:grid; grid-template-columns:repeat(4, 1fr);
  border-top:1px solid var(--line); border-left:1px solid var(--line);
}
.tiles--3{ grid-template-columns:repeat(3, 1fr); }
.tile{
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:1.9rem 1.5rem 2rem;
}
.tile__head{
  font-family:var(--font-display); font-variation-settings:"wdth" 118;
  font-weight:800; text-transform:uppercase; font-size:1.28rem; line-height:1.1;
  color:var(--gold);
}
.tile__sub{ display:block; margin-top:.7rem; color:var(--muted); font-size:.92rem; line-height:1.5; }

/* the flagship timeline (signature moment) */
.timeline{ margin-top:4.5rem; }
.timeline__h3{ max-width:22ch; }
.timeline__track{ position:relative; margin-top:3.2rem; padding-left:clamp(2rem, 6vw, 4.5rem); }
.timeline__rail{ position:absolute; left:.35rem; top:.4rem; bottom:.4rem; width:1px; background:var(--line); }
.timeline__rail-fill{ position:absolute; inset:0 0 auto 0; height:0%; background:linear-gradient(var(--gold), rgba(201,165,92,.25)); }
.tl-item{ position:relative; max-width:34rem; padding-bottom:3rem; }
.tl-item:last-child{ padding-bottom:.5rem; }
.tl-item::before{
  content:""; position:absolute;
  left:calc(-1 * clamp(2rem, 6vw, 4.5rem) + .35rem - 4px);
  top:.45rem; width:9px; height:9px; border-radius:50%;
  background:var(--ink); border:1px solid var(--gold);
}
.tl-item__stamp{ color:var(--gold); letter-spacing:.16em; display:block; margin-bottom:.7rem; }
.tl-item__body{ color:var(--muted); }
.tl-item__payoff{
  font-family:var(--font-display); font-variation-settings:"wdth" 118;
  font-weight:850; text-transform:uppercase; line-height:1.08;
  font-size:clamp(1.7rem, 3.6vw, 2.8rem);
  margin-bottom:.8rem;
}
.work__disclaimer{
  border-top:1px solid var(--line);
  padding:3rem 0 1rem;
}
.work__disclaimer p{
  width:var(--w); margin-inline:auto;
  max-width:44rem; color:var(--muted); font-size:.95rem;
}

/* ═══════════════ ABOUT ═══════════════ */
.about-block{ max-width:46rem; }
.about-block + .about-block{ margin-top:4.5rem; }
.about-block h2{ margin-top:1.2rem; }
.about-block p{ margin-top:1.4rem; color:var(--muted); font-size:1.06rem; }
.about-block p strong{ color:var(--ivory); }
.standard{
  margin-top:2.6rem;
  display:grid; grid-template-columns:repeat(3, 1fr);
  border-top:1px solid var(--line); border-left:1px solid var(--line);
}
.standard__cell{
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:2rem 1.6rem 2.2rem;
}
.standard__idx{ color:var(--gold); letter-spacing:.18em; display:block; margin-bottom:1rem; }
.standard__cell h3{
  font-family:var(--font-display); font-variation-settings:"wdth" 118;
  font-weight:800; text-transform:uppercase; font-size:1.15rem; line-height:1.18;
}
.standard__cell p{ margin-top:.8rem; color:var(--muted); font-size:.94rem; }

/* ═══════════════ PRICING ═══════════════ */
.plans{
  margin-top:3.5rem;
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid var(--line);
}
.plan{ padding:2.8rem 2.4rem 3rem; }
.plan + .plan{ border-left:1px solid var(--line); }
.plan--growth{ background:var(--ink-2); }
.plan__name{
  font-family:var(--font-display); font-variation-settings:"wdth" 121;
  font-weight:850; text-transform:uppercase; font-size:1.7rem;
}
.plan__tag{ color:var(--gold); letter-spacing:.18em; display:block; margin-bottom:1.1rem; }
.plan__price{
  margin-top:1.6rem;
  font-family:var(--font-display); font-variation-settings:"wdth" 116;
  font-weight:850; font-size:clamp(1.8rem, 3.4vw, 2.6rem); line-height:1;
  color:var(--gold);
  font-variant-numeric:tabular-nums;
}
.plan__setup{ display:block; margin-top:.7rem; color:var(--muted); font-size:.95rem; }
.plan__list{ margin-top:1.8rem; list-style:none; }
.plan__list li{
  padding:.75rem 0; color:var(--muted); font-size:.97rem;
  border-bottom:1px solid var(--line);
  display:flex; gap:.8rem; align-items:baseline;
}
.plan__list li::before{ content:"—"; color:var(--gold); flex:none; }
.terms{
  margin-top:0;
  display:grid; grid-template-columns:repeat(3, 1fr);
  border:1px solid var(--line); border-top:0;
}
.term{
  border-right:1px solid var(--line);
  padding:2.1rem 1.8rem 2.3rem;
}
.term:last-child{ border-right:0; }
.term__head{
  font-family:var(--font-display); font-variation-settings:"wdth" 118;
  font-weight:800; text-transform:uppercase; font-size:1.12rem; line-height:1.15;
  color:var(--gold);
}
.term p{ margin-top:.8rem; color:var(--muted); font-size:.93rem; }

/* ═══════════════ CONTACT ═══════════════ */
.contact__grid{
  margin-top:3.2rem;
  display:grid; grid-template-columns:1fr 1.4fr; gap:3rem;
  align-items:start;
}
.contact__note p{ color:var(--muted); margin-top:1.2rem; }
.contact__details{ margin-top:2.2rem; }
.contact__details a{ color:var(--gold); }
.embed{
  border:1px solid var(--line);
  background:var(--ink-2);
  min-height:680px;
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.embed__placeholder{ text-align:center; padding:2rem; }
.embed__placeholder .mono{ color:var(--gold); letter-spacing:.18em; }
.embed__placeholder p{ margin-top:1rem; color:var(--muted); font-size:.95rem; max-width:24rem; }

/* work/about/pricing/contact responsive */
@media (max-width: 1499px){ .caserail{ display:none; } }
@media (max-width: 860px){
  .case__cols{ grid-template-columns:1fr; gap:2rem; }
  .tiles, .tiles--3{ grid-template-columns:1fr 1fr; }
  .standard{ grid-template-columns:1fr; }
  .plans{ grid-template-columns:1fr; }
  .plan + .plan{ border-left:0; border-top:1px solid var(--line); }
  .terms{ grid-template-columns:1fr; }
  .term{ border-right:0; border-bottom:1px solid var(--line); }
  .term:last-child{ border-bottom:0; }
  .contact__grid{ grid-template-columns:1fr; }
  .embed{ min-height:620px; }
}
@media (max-width: 520px){
  .tiles, .tiles--3{ grid-template-columns:1fr; }
  .plan{ padding:2.2rem 1.6rem 2.4rem; }
}

/* live Calendly embed */
.embed--live{ display:block; min-height:0; padding:0; border:1px solid var(--line); }

/* Calendly: the iframe is cross-origin so its white page background can't be
   restyled — instead we crop it. Negative margins pull the widget outward past
   the container's overflow clip: the white top band and the card's rounded
   corners (which reveal white behind them) all fall outside the visible frame,
   leaving the dark calendar sitting flush on the page. */
.embed--live{
  overflow:hidden;
  background:var(--ink);
  border:1px solid var(--line);
}
.embed--live{ position:relative; }
.embed--live .calendly-inline-widget{
  width:calc(100% + 24px);
  margin:-66px -12px -14px;
}
@media (min-width: 861px){
  .embed--live .calendly-inline-widget{
    width:calc(100% + 40px);
    margin:-66px -20px -18px;
  }
}
/* Belt-and-braces: the white area isn't perfectly symmetric at every viewport
   width, so charcoal cover strips sit over the right and bottom edges.
   pointer-events:none lets clicks pass straight through to the calendar. */
.embed--live::after{
  content:""; position:absolute; top:0; right:0; bottom:0; width:64px;
  background:var(--ink); pointer-events:none;
}
.embed--live::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:44px;
  background:var(--ink); pointer-events:none; z-index:1;
}
@media (max-width: 860px){
  .embed--live::after{ width:14px; }
  .embed--live::before{ height:16px; }
}

/* ═══════════════ FAQ (Pricing) ═══════════════ */
.faqs{ margin-top:3rem; max-width:52rem; border-top:1px solid var(--line); }
.faq{ border-bottom:1px solid var(--line); }
.faq__q{
  cursor:pointer; list-style:none;
  padding:1.5rem 3rem 1.5rem 0;
  font-family:var(--font-display); font-variation-settings:"wdth" 116;
  font-weight:700; font-size:1.12rem; line-height:1.3;
  position:relative;
  transition:color .25s ease;
}
.faq__q::-webkit-details-marker{ display:none; }
.faq__q::after{
  content:"+"; position:absolute; right:.4rem; top:50%;
  transform:translateY(-50%);
  color:var(--gold); font-weight:400; font-size:1.5rem;
  transition:transform .3s ease;
}
.faq[open] .faq__q::after{ transform:translateY(-50%) rotate(45deg); }
.faq[open] .faq__q{ color:var(--gold); }
@media (hover:hover){ .faq__q:hover{ color:var(--gold); } }
.faq__a{ padding:0 3rem 1.7rem 0; color:var(--muted); max-width:46rem; }

/* ═══════════════ CAPTURE (Home) ═══════════════ */
.capture{ border-top:1px solid var(--line); }
.capture__inner{
  display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:center;
}
.capture__lede{ margin-top:1.2rem; color:var(--muted); max-width:32rem; }
.capture__hp{ position:absolute; left:-9999px; }
.capture__label{ display:block; margin-bottom:.7rem; letter-spacing:.16em; }
.capture__row{ display:flex; gap:.8rem; }
.capture__input{
  flex:1; min-width:0;
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:2px;
  padding:1rem 1.1rem;
  color:var(--ivory);
  font-family:var(--font-body); font-size:1rem;
  transition:border-color .25s ease;
}
.capture__input::placeholder{ color:var(--muted); opacity:.7; }
.capture__input:focus{ outline:none; border-color:var(--gold); }
.capture__btn{ flex:none; }
@media (max-width: 860px){
  .capture__inner{ grid-template-columns:1fr; gap:2rem; }
}
@media (max-width: 520px){
  .capture__row{ flex-direction:column; }
  .capture__btn{ width:100%; }
}
