/* ============================================================
   INDEX PAGE · flagship homepage components
   Builds on base.css. Adds: services trio grid, brief proof
   strip, why-us 4-card pattern.
   ============================================================ */

/* ============================================================
   HERO · cta meta row directly under the button
   ============================================================ */
.hero-cta .cta-meta-row{margin-top:clamp(.5rem,.4rem + .35vw,1rem);color:var(--fg-dim);font-size:11px}
.hero-cta .cta-meta-row .pip{box-shadow:0 0 8px var(--teal),0 0 18px oklch(0.88 0.085 178 / 0.45)}
@media (max-width:520px){
  .hero-cta .cta-meta-row{font-size:10px;letter-spacing:.12em;flex-wrap:wrap;justify-content:center;gap:8px}
  .hero-cta .cta-meta-row .sep{display:none}
}

/* ---------- BRIEF PROOF (cream) ---------- */
.proof-brief{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.85rem,.7rem + .5vw,1.25rem);max-width:74rem;margin:0 auto}
@media (max-width:900px){.proof-brief{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.proof-brief{grid-template-columns:1fr}}
.proof-brief-item{padding:clamp(1.4rem,1rem + 1vw,2rem) clamp(1.1rem,.9rem + .6vw,1.5rem);background:var(--bg);border:1px solid var(--rule-strong);border-radius:18px;position:relative;overflow:hidden;transition:transform .42s var(--ease),border-color .42s var(--ease),box-shadow .42s var(--ease);text-align:left;display:flex;flex-direction:column;gap:14px;min-height:11rem}
.proof-brief-item::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--teal-grad);background-size:200% 100%;animation:hl-shimmer 4.6s var(--ease-out-quart) infinite}
.proof-brief-item:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:0 16px 38px -22px rgba(20,25,43,0.16)}
.proof-brief-glyph{width:28px;height:28px;color:var(--navy);transition:color .35s var(--ease),transform .42s var(--ease)}
.proof-brief-item:hover .proof-brief-glyph{color:var(--ink);transform:rotate(6deg) scale(1.06)}
.proof-brief-num{font-size:clamp(2.4rem,1.8rem + 1.6vw,3.4rem);line-height:.94;color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-weight:800;margin-top:auto}
.proof-brief-num em{font-style:normal;color:var(--navy-2);font-size:.42em;margin-left:4px;font-weight:500;vertical-align:.3em}
.proof-brief-label{font-size:11.5px;color:var(--navy);line-height:1.55;letter-spacing:.04em;font-weight:500}
.proof-brief-cap{font-size:10px;color:var(--navy-2);text-transform:uppercase;letter-spacing:.2em;font-weight:var(--fw-mono);margin-top:6px}

/* ---------- SERVICES TRIO (cosmic) ---------- */
.trio-wrap{position:relative}
.trio-wrap .mini-stargate{display:block}
.trio{display:grid;grid-template-columns:1fr;gap:clamp(1rem,.75rem + 1vw,1.75rem);max-width:78rem;margin:clamp(2rem,1.4rem + 1.4vw,3.25rem) auto 0;position:relative;z-index:2}

/* Trio variants — same .servizi-panel base, different accent dot */
.trio .servizi-panel-num::after{box-shadow:0 0 12px currentColor}
.trio .servizi-panel--01 .servizi-panel-num::after{background:var(--teal);color:var(--teal)}
.trio .servizi-panel--02 .servizi-panel-num::after{background:oklch(0.84 0.15 75);color:oklch(0.84 0.15 75)}
.trio .servizi-panel--03 .servizi-panel-num::after{background:oklch(0.78 0.12 280);color:oklch(0.78 0.12 280)}
.trio .servizi-panel--01 .servizi-badge{color:var(--teal);filter:drop-shadow(0 0 10px oklch(0.88 0.085 178 / 0.45))}
.trio .servizi-panel--02 .servizi-badge{color:oklch(0.84 0.15 75);filter:drop-shadow(0 0 10px oklch(0.84 0.15 75 / 0.45))}
.trio .servizi-panel--03 .servizi-badge{color:oklch(0.78 0.12 280);filter:drop-shadow(0 0 10px oklch(0.78 0.12 280 / 0.45))}

/* dual-metric inside trio panel */
.metric-pair{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}
.metric-pair .metric{margin-top:0;flex:1 1 14rem;min-width:10rem}

/* "more services coming" closing tile — the extensibility hint */
.trio-more{padding:clamp(1.5rem,1.1rem + 1vw,2.25rem);border:1px dashed var(--fg-dim);border-radius:24px;color:var(--fg-3);text-align:center;font-size:13.5px;line-height:1.6;background:rgba(14,18,33,0.32);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .4s var(--ease),color .4s var(--ease)}
.trio-more:hover{border-color:var(--fg-2);color:var(--fg-2)}
.trio-more b{color:var(--fg);font-weight:700}

/* ---------- WHY US 4-card (cream) — engineered tile feel ---------- */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.9rem,.75rem + .8vw,1.4rem);max-width:68rem;margin:clamp(2rem,1.5rem + 1.6vw,3.25rem) auto 0}
@media (max-width:680px){.why-grid{grid-template-columns:1fr}}
.why-item{
  padding:clamp(1.4rem,1.1rem + .9vw,1.85rem);
  background:
    radial-gradient(ellipse 80% 100% at 100% 100%, oklch(0.88 0.085 178 / 0.22), transparent 65%),
    radial-gradient(ellipse 60% 80% at 0% 0%, oklch(0.92 0.05 178 / 0.16), transparent 70%),
    linear-gradient(155deg, #FCFCFA 0%, #FCFCFA 100%);
  border:1px solid var(--rule);border-radius:18px;
  display:flex;flex-direction:column;gap:14px;
  transition:border-color .42s var(--ease),transform .42s var(--ease-out-expo),box-shadow .42s var(--ease),background .55s var(--ease);
  position:relative;overflow:hidden;isolation:isolate;
  box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 0 0 1px rgba(20,25,43,0.02)
}
.why-item:nth-child(2){
  background:
    radial-gradient(ellipse 80% 100% at 0% 100%, oklch(0.84 0.15 75 / 0.18), transparent 65%),
    radial-gradient(ellipse 60% 80% at 100% 0%, oklch(0.92 0.05 178 / 0.12), transparent 70%),
    linear-gradient(155deg, #FCFCFA 0%, #FCFCFA 100%);
  box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 0 0 1px rgba(20,25,43,0.02)
}
.why-item:nth-child(3){
  background:
    radial-gradient(ellipse 80% 100% at 100% 100%, oklch(0.78 0.12 280 / 0.18), transparent 65%),
    radial-gradient(ellipse 60% 80% at 0% 0%, oklch(0.92 0.05 178 / 0.12), transparent 70%),
    linear-gradient(155deg, #FCFCFA 0%, #FCFCFA 100%);
  box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 0 0 1px rgba(20,25,43,0.02)
}
.why-item:nth-child(4){
  background:
    radial-gradient(ellipse 80% 100% at 0% 100%, oklch(0.84 0.10 200 / 0.20), transparent 65%),
    radial-gradient(ellipse 60% 80% at 100% 0%, oklch(0.92 0.05 178 / 0.12), transparent 70%),
    linear-gradient(155deg, #FCFCFA 0%, #FCFCFA 100%);
  box-shadow:0 1px 0 rgba(255,255,255,0.7) inset,0 0 0 1px rgba(20,25,43,0.02)
}
/* corner accent bracket — top-right */
.why-item::before{
  content:"";position:absolute;top:14px;right:14px;width:18px;height:18px;
  border-top:1.5px solid var(--navy-3);border-right:1.5px solid var(--navy-3);
  transition:border-color .55s var(--ease),width .5s var(--ease),height .5s var(--ease)
}
/* shimmer rail — bottom this time, complements the bracket */
.why-item::after{
  content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;
  background:var(--teal-grad);background-size:200% 100%;
  transform:scaleX(0);transform-origin:left;
  transition:transform .55s var(--ease-out-expo)
}
.why-item:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(20,25,43,0.18),0 0 0 1px oklch(0.88 0.085 178 / 0.28)}
.why-item:hover::before{border-color:var(--ink);width:22px;height:22px}
.why-item:hover::after{transform:scaleX(1)}
.why-glyph{width:34px;height:34px;color:var(--navy);transition:color .35s var(--ease),transform .42s var(--ease)}
.why-item:hover .why-glyph{color:var(--ink);transform:rotate(-6deg) scale(1.08)}
.why-item h3{font-size:clamp(1.05rem,.95rem + .35vw,1.25rem);color:var(--ink);letter-spacing:-.014em;line-height:1.25;font-weight:700}
.why-item h3 em{font-style:normal;color:var(--navy);font-variation-settings:var(--fv-accent-lg);position:relative;isolation:isolate}
.why-item h3 em::after{content:"";position:absolute;left:-.02em;right:-.02em;bottom:.06em;height:.28em;background:var(--teal-grad);z-index:-1;opacity:.78}
.why-item p{font-size:13.5px;color:var(--navy);line-height:1.62}
.why-item p b{color:var(--ink);font-weight:700}

/* CTA-meta below hero — discrete row with calendly cue */
.cta-meta-row{display:inline-flex;align-items:center;gap:14px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim);font-weight:var(--fw-mono);margin-top:20px}
.cta-meta-row .pip{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal);animation:pulse 2.6s var(--ease) infinite}
.cta-meta-row .sep{opacity:.4}

/* ============================================================
   SERVICES INDEX — magazine rows, scales to 20+
   Each row: number · accent stripe · name+promise · metrics · arrow
   ============================================================ */
.services-section{position:relative;overflow:hidden}
.services-index-wrap{max-width:84rem;margin:clamp(2rem,1.4rem + 1.4vw,3.25rem) auto 0;position:relative;z-index:2}
.services-index{display:flex;flex-direction:column;gap:clamp(.75rem,.5rem + .6vw,1.25rem)}

.service-row{display:grid;grid-template-columns:auto 4px 1fr auto auto;gap:clamp(1.1rem,.8rem + .9vw,1.85rem);padding:clamp(1.45rem,1.1rem + 1.1vw,2.15rem) clamp(.8rem,.5rem + .6vw,1.4rem);align-items:center;position:relative;transition:padding-left .55s var(--ease-out-expo),background .4s var(--ease),opacity .45s var(--ease),filter .45s var(--ease);overflow:hidden;color:var(--fg)}
.service-row::before{content:"";position:absolute;left:0;top:0;bottom:0;right:0;background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.06),transparent 70%);opacity:0;transition:opacity .55s var(--ease)}
.service-row:hover::before{opacity:1}
.service-row:hover{padding-left:clamp(1.4rem,1.1rem + 1.2vw,2.2rem)}

.service-row-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--fg-dim);font-weight:500;align-self:center;padding-top:4px;position:relative;z-index:2}
.service-row-side{align-self:stretch;background:var(--fg-out);border-radius:2px;transition:background .45s var(--ease),box-shadow .45s var(--ease),width .45s var(--ease);position:relative;z-index:2}
.service-row:hover .service-row-side{width:6px}
.service-row--01:hover .service-row-side{background:oklch(0.88 0.085 178);box-shadow:0 0 14px oklch(0.88 0.085 178 / 0.55)}
.service-row--02:hover .service-row-side{background:oklch(0.84 0.15 75);box-shadow:0 0 14px oklch(0.84 0.15 75 / 0.55)}
.service-row--03:hover .service-row-side{background:oklch(0.78 0.12 280);box-shadow:0 0 14px oklch(0.78 0.12 280 / 0.55)}

.service-row-body{display:flex;flex-direction:column;gap:8px;min-width:0;position:relative;z-index:2}
.service-row-name{font-size:clamp(1.55rem,1.1rem + 1.4vw,2.5rem);line-height:1.05;color:var(--fg);letter-spacing:-.024em;font-weight:700;display:flex;align-items:baseline;gap:.32em;flex-wrap:wrap;transition:text-shadow .55s var(--ease-out-expo)}
.service-row-name em{font-style:normal;color:var(--fg-2);font-variation-settings:var(--fv-accent-lg);transition:color .35s var(--ease)}
.service-row:hover .service-row-name em{color:var(--fg)}
.service-row-promise{font-size:clamp(.96rem,.88rem + .3vw,1.1rem);color:var(--fg-2);line-height:1.55;max-width:58ch}

.service-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-family:var(--font-mono);font-size:11px;color:var(--fg-3);text-align:right;letter-spacing:.04em;line-height:1.4;font-weight:500;position:relative;z-index:2;white-space:nowrap}
.service-row-meta strong{color:var(--fg-2);font-weight:600}

.service-row-arrow{width:34px;height:18px;color:var(--fg-3);transition:color .35s var(--ease),transform .55s var(--ease-out-expo);position:relative;z-index:2;flex-shrink:0}
.service-row:hover .service-row-arrow{color:var(--fg);transform:translateX(8px)}

/* hover-recede · the row you're pointing at lights up, the others step back */
.services-index:has(.service-row:hover) .service-row:not(:hover){opacity:.55;filter:saturate(.7)}
.services-index:has(.service-row:hover) .services-more{opacity:.6;filter:saturate(.7);transition:opacity .45s var(--ease),filter .45s var(--ease)}
/* horizontal scan-line sweep on the hovered row, per-variant tint */
.service-row::after{content:"";position:absolute;left:-12%;top:0;bottom:0;width:14%;background:linear-gradient(90deg,transparent 0%,oklch(0.95 0.06 178 / 0.18) 40%,oklch(0.95 0.06 178 / 0.45) 50%,oklch(0.95 0.06 178 / 0.18) 60%,transparent 100%);mix-blend-mode:screen;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity .25s var(--ease)}
.service-row:hover::after{opacity:1;animation:scan-sweep 1.1s var(--ease-out-quart) 1}
.service-row--02:hover::after{background:linear-gradient(90deg,transparent 0%,oklch(0.92 0.13 75 / 0.18) 40%,oklch(0.92 0.13 75 / 0.45) 50%,oklch(0.92 0.13 75 / 0.18) 60%,transparent 100%)}
.service-row--03:hover::after{background:linear-gradient(90deg,transparent 0%,oklch(0.85 0.12 280 / 0.18) 40%,oklch(0.85 0.12 280 / 0.45) 50%,oklch(0.85 0.12 280 / 0.18) 60%,transparent 100%)}
@keyframes scan-sweep{0%{transform:translateX(0)}100%{transform:translateX(900%)}}
@media (prefers-reduced-motion:reduce){
  .services-index:has(.service-row:hover) .service-row:not(:hover){opacity:1;filter:none}
  .services-index:has(.service-row:hover) .services-more{opacity:1;filter:none}
  .service-row:hover::after{animation:none;opacity:0}
}

@media (max-width:880px){
  .service-row{grid-template-columns:auto 4px 1fr auto;gap:14px;padding-block:1.5rem}
  .service-row-meta{display:none}
}
@media (max-width:520px){
  .service-row{grid-template-columns:4px 1fr auto}
  .service-row-num{display:none}
  .service-row-name{font-size:1.55rem;font-weight:700}
}

/* "more" disclaimer row — extensibility hint */
.services-more{
  display:grid;grid-template-columns:auto 4px 1fr auto;gap:clamp(1.1rem,.8rem + .9vw,1.85rem);
  padding:clamp(1.25rem,1rem + .9vw,1.85rem) clamp(1.2rem,.85rem + 1vw,2rem);
  align-items:center;color:var(--fg-3);font-size:13px;line-height:1.55;
  background:linear-gradient(120deg,rgba(252,252,250,0.012) 0%,rgba(252,252,250,0.003) 100%);
  border:1px dashed rgba(252,252,250,0.16);border-radius:18px;margin-top:.85rem;
  position:relative;overflow:hidden;
  transition:border-color .45s var(--ease),background .45s var(--ease)
}
.services-more::before{
  content:"";position:absolute;left:0;top:50%;width:60%;height:1px;
  background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.16),transparent);
  pointer-events:none
}
.services-more:hover{border-color:rgba(252,252,250,0.28);background:linear-gradient(120deg,rgba(252,252,250,0.02) 0%,rgba(252,252,250,0.006) 100%)}
.services-more-num{
  font-family:var(--font-display);font-style:italic;font-size:22px;
  color:var(--fg-2);font-variation-settings:"wght" 500,"wdth" 96,"opsz" 24,"GRAD" 0;
  align-self:center;line-height:1;
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--rule-dark-strong);border-radius:50%;
  background:rgba(252,252,250,0.025)
}
.services-more-side{align-self:stretch;background:transparent;border-left:1px dashed rgba(252,252,250,0.12);width:0;border-radius:0}
.services-more p{font-size:14px;color:var(--fg-2);max-width:62ch;line-height:1.62}
.services-more a{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .25s var(--ease)}
.services-more a:hover{text-decoration-color:var(--fg)}
.services-more-spacer{display:block}
@media (max-width:520px){
  .services-more{grid-template-columns:auto 1fr;padding:1.25rem 1.25rem}
  .services-more-side,.services-more-spacer{display:none}
}

/* ============================================================
   PROOF HERO CARD · final-stage hero card refinements
   - subtle inner cosmic-tinted hairline at bottom
   - gentle "running" axis on the giant number
   - sub-stamp anchor in the top-right (HERO STAT)
   ============================================================ */
.proof-wrap .proof-hero{
  background:
    radial-gradient(ellipse 80% 100% at 90% 110%,oklch(0.94 0.05 178 / 0.32),transparent 60%),
    linear-gradient(165deg,rgba(252,252,250,1) 0%,rgba(252,252,250,.98) 60%,oklch(0.94 0.05 178 / 0.18) 100%);
  box-shadow:0 0 0 1px var(--rule-strong) inset,0 14px 40px -28px rgba(20,25,43,.18)
}
/* hairline horizon below the giant number to anchor the lockup */
.proof-wrap .proof-hero-num{
  padding-bottom:clamp(.55rem,.4rem + .4vw,1rem);
  border-bottom:1px dashed var(--rule);
  position:relative
}
.proof-wrap .proof-hero-num::after{
  content:"";position:absolute;left:0;bottom:-1px;width:42px;height:2px;
  background:var(--teal);box-shadow:0 0 10px oklch(0.88 0.085 178 / 0.55);border-radius:2px
}
/* tighter top — the 200M deserves more presence */
.proof-wrap .proof-hero-top{margin-bottom:0}

/* ============================================================
   PROOF STACK · final-stage rebalance (home only — scoped under .proof-wrap)
   - bigger numbers, breathable type, clean unit suffix on its own line
   - per-item alpha tag (a/b/c) bottom-right · editorial index feel
   - left rail accent (teal on hover) inherited from base.css
   ============================================================ */
.proof-wrap .proof-item{padding-left:clamp(1.55rem,1.1rem + 1vw,2.15rem);padding-right:clamp(1.4rem,1.05rem + .8vw,1.95rem);grid-template-columns:auto 1fr;align-items:start;gap:clamp(1.1rem,.85rem + .6vw,1.45rem);min-height:7rem}
.proof-wrap .proof-item .proof-glyph{align-self:center;width:34px;height:34px}
.proof-wrap .proof-item .proof-mid{gap:6px}
.proof-wrap .proof-num{
  display:flex;align-items:baseline;gap:.18em;flex-wrap:wrap;
  font-size:clamp(2.05rem,1.5rem + 1.4vw,3.1rem);line-height:.94;
  letter-spacing:-.038em;color:var(--ink);
  font-variation-settings:"wght" 800,"wdth" 94,"opsz" 96,"GRAD" 26
}
.proof-wrap .proof-num em{
  font-style:normal;color:var(--navy-2);
  font-size:.32em;font-variation-settings:"wght" 540,"wdth" 90,"opsz" 14,"GRAD" -10;
  letter-spacing:.08em;text-transform:lowercase;margin-left:.18em;
  vertical-align:.35em;line-height:1.2;white-space:nowrap
}
.proof-wrap .proof-num-prefix{
  font-size:.5em;color:var(--navy-3);font-variation-settings:"wght" 540,"wdth" 88,"opsz" 14,"GRAD" -20;
  vertical-align:.35em;margin-right:.05em
}
.proof-wrap .proof-num-suffix{
  font-size:.5em;color:var(--navy-2);font-variation-settings:"wght" 540,"wdth" 88,"opsz" 14,"GRAD" -10;
  vertical-align:.5em;margin-left:.04em;letter-spacing:0
}
.proof-wrap .proof-label{font-size:13px;color:var(--navy);line-height:1.55;max-width:36ch;letter-spacing:.005em}

/* per-item alphabetical tag floating bottom-right */
.proof-wrap .proof-item-tag{
  position:absolute;right:clamp(.9rem,.7rem + .5vw,1.25rem);bottom:clamp(.7rem,.55rem + .35vw,.95rem);
  width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-brace);font-style:italic;font-size:13px;color:var(--navy-3);
  border:1px solid var(--rule-strong);border-radius:50%;
  transition:color .42s var(--ease),border-color .42s var(--ease),background .42s var(--ease)
}
.proof-wrap .proof-item:hover .proof-item-tag{color:var(--ink);border-color:var(--ink);background:oklch(0.88 0.085 178 / 0.18)}

@media (max-width:520px){
  .proof-wrap .proof-num{font-size:1.95rem}
  .proof-wrap .proof-num em{font-size:.32em;display:inline-block;margin-top:0}
  .proof-wrap .proof-label{font-size:12.5px}
}

/* ============================================================
   SERVICES INDEX · final-stage premium rows
   - per-row tinted left wash (teal/amber/violet)
   - mini iconography (service-row-glyph) framed in a soft tile
   - service-row-tag eyebrow (Engineering / Operations / Acquisition)
   - hover: row name shifts, glyph rotates, accent stripe fills
   ============================================================ */

/* update grid to include glyph slot */
.service-row{
  grid-template-columns:auto 4px auto 1fr auto auto;
  border-radius:20px;
  border:1px solid var(--rule-dark);
  background:
    linear-gradient(125deg,rgba(252,252,250,0.035) 0%,rgba(252,252,250,0.012) 45%,rgba(252,252,250,0.005) 100%),
    rgba(14,18,33,0.45);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:background .55s var(--ease),border-color .55s var(--ease),padding-left .55s var(--ease-out-expo),box-shadow .55s var(--ease)
}
/* subtle hairline at top — depth without weight */
.service-row{box-shadow:inset 0 1px 0 rgba(252,252,250,.05)}
.service-row::before{
  background:linear-gradient(90deg,oklch(0.88 0.085 178 / 0.14) 0%,oklch(0.88 0.085 178 / 0.05) 35%,transparent 70%);
  border-radius:inherit
}
.service-row--02::before{background:linear-gradient(90deg,oklch(0.84 0.15 75 / 0.16) 0%,oklch(0.84 0.15 75 / 0.05) 35%,transparent 70%)}
.service-row--03::before{background:linear-gradient(90deg,oklch(0.78 0.12 280 / 0.18) 0%,oklch(0.78 0.12 280 / 0.05) 35%,transparent 70%)}
.service-row:hover{border-color:var(--rule-dark-strong);box-shadow:0 28px 64px -28px rgba(0,0,0,.6),inset 0 1px 0 rgba(252,252,250,.08)}
/* per-variant accent border on hover */
.service-row--01:hover{border-color:oklch(0.88 0.085 178 / 0.4)}
.service-row--02:hover{border-color:oklch(0.84 0.15 75 / 0.4)}
.service-row--03:hover{border-color:oklch(0.78 0.12 280 / 0.4)}

/* glyph tile */
.service-row-glyph{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:clamp(48px,2.6rem + 1.8vw,72px);height:clamp(48px,2.6rem + 1.8vw,72px);
  border:1px solid var(--rule-dark-strong);border-radius:14px;
  background:linear-gradient(155deg,rgba(252,252,250,0.06) 0%,rgba(252,252,250,0.02) 100%);
  box-shadow:inset 0 1px 0 rgba(252,252,250,.08),0 6px 18px -10px rgba(0,0,0,.5);
  position:relative;z-index:2;
  color:var(--fg-2);
  transition:color .45s var(--ease),border-color .45s var(--ease),background .45s var(--ease),transform .55s var(--ease-out-expo)
}
.service-row-glyph svg{width:62%;height:62%;display:block;transition:transform .6s var(--ease-out-expo)}
.service-row--01:hover .service-row-glyph{color:oklch(0.88 0.085 178);border-color:oklch(0.88 0.085 178 / 0.55);background:oklch(0.88 0.085 178 / 0.06)}
.service-row--02:hover .service-row-glyph{color:oklch(0.84 0.15 75);border-color:oklch(0.84 0.15 75 / 0.55);background:oklch(0.84 0.15 75 / 0.06)}
.service-row--03:hover .service-row-glyph{color:oklch(0.78 0.12 280);border-color:oklch(0.78 0.12 280 / 0.55);background:oklch(0.78 0.12 280 / 0.06)}
.service-row:hover .service-row-glyph{transform:translateY(-2px) rotate(-3deg)}
.service-row:hover .service-row-glyph svg{transform:scale(1.06)}

/* per-row tag eyebrow */
.service-row-tag{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fg-3);font-variation-settings:var(--fv-mono);
  padding:4px 11px;border:1px solid var(--rule-dark-strong);border-radius:999px;
  width:fit-content;background:rgba(252,252,250,0.04);
  transition:color .45s var(--ease),border-color .45s var(--ease),background .45s var(--ease)
}
.service-row-tag::before{
  content:"";display:inline-block;width:5px;height:5px;border-radius:50%;
  background:currentColor;transition:background .45s var(--ease),box-shadow .45s var(--ease)
}
.service-row--01:hover .service-row-tag{color:oklch(0.88 0.085 178);border-color:oklch(0.88 0.085 178 / 0.4)}
.service-row--01:hover .service-row-tag::before{background:oklch(0.88 0.085 178);box-shadow:0 0 8px oklch(0.88 0.085 178)}
.service-row--02:hover .service-row-tag{color:oklch(0.84 0.15 75);border-color:oklch(0.84 0.15 75 / 0.4)}
.service-row--02:hover .service-row-tag::before{background:oklch(0.84 0.15 75);box-shadow:0 0 8px oklch(0.84 0.15 75)}
.service-row--03:hover .service-row-tag{color:oklch(0.78 0.12 280);border-color:oklch(0.78 0.12 280 / 0.4)}
.service-row--03:hover .service-row-tag::before{background:oklch(0.78 0.12 280);box-shadow:0 0 8px oklch(0.78 0.12 280)}

/* boost service number + side rail */
.service-row-num{
  font-family:var(--font-display);font-style:italic;
  font-size:clamp(13px,11px + .15vw,15px);color:var(--fg-3);
  padding-top:0;align-self:start;letter-spacing:.06em;
  font-variation-settings:"wght" 500,"wdth" 96,"opsz" 18,"GRAD" 0;
  line-height:1;margin-top:6px;
  position:relative
}
.service-row-num::after{
  content:"";display:block;width:14px;height:1px;background:currentColor;
  margin-top:7px;opacity:.45;
  transition:width .55s var(--ease-out-expo),background .45s var(--ease)
}
.service-row--01:hover .service-row-num::after{background:oklch(0.88 0.085 178);opacity:1;width:22px}
.service-row--02:hover .service-row-num::after{background:oklch(0.84 0.15 75);opacity:1;width:22px}
.service-row--03:hover .service-row-num::after{background:oklch(0.78 0.12 280);opacity:1;width:22px}
.service-row:hover .service-row-num{color:var(--fg-2)}
.service-row-side{width:3px}
.service-row-name{font-size:clamp(1.45rem,1.05rem + 1.3vw,2.35rem);letter-spacing:-.026em}

@media (max-width:880px){
  .service-row{grid-template-columns:auto 4px auto 1fr auto;gap:14px}
  .service-row-glyph{width:48px;height:48px}
}
@media (max-width:640px){
  .service-row{grid-template-columns:4px auto 1fr auto;gap:12px}
  .service-row-num{display:none}
  .service-row-glyph{width:42px;height:42px;border-radius:12px}
}
@media (max-width:520px){
  .service-row{grid-template-columns:4px 1fr auto;padding:1.4rem 0.4rem}
  .service-row-glyph{display:none}
}

/* ============================================================
   WHY-US · final-stage premium cards
   - colored corner-tab per card (P-01..P-04)
   - aurora wash on hover, deeper shadow
   - tagline slug at the bottom for editorial closure
   ============================================================ */
.why-grid{gap:clamp(1rem,.8rem + 1vw,1.6rem)}
.why-item{
  padding:clamp(1.55rem,1.2rem + 1vw,2.15rem);
  border-radius:22px;
  background:
    radial-gradient(ellipse 90% 110% at 110% 110%,oklch(0.94 0.05 178 / 0.22),transparent 55%),
    linear-gradient(155deg,rgba(252,252,250,1) 0%,rgba(252,252,250,.985) 55%,oklch(0.94 0.05 178 / 0.06) 100%);
  border:1px solid var(--rule-strong);
  gap:18px;min-height:14rem;
  box-shadow:0 1px 0 rgba(252,252,250,.7) inset,0 8px 22px -18px rgba(20,25,43,.12)
}
/* override the small bracket — replace with a richer corner ribbon */
.why-item::before{
  content:"";position:absolute;top:0;right:0;width:78px;height:78px;
  background:
    linear-gradient(135deg,transparent 50%,oklch(0.88 0.085 178 / 0.18) 50%,oklch(0.88 0.085 178 / 0.34) 70%,oklch(0.88 0.085 178 / 0.10) 88%,transparent 100%);
  -webkit-mask:linear-gradient(135deg,transparent 50%,black 50%);
  mask:linear-gradient(135deg,transparent 50%,black 50%);
  border:none;border-top-right-radius:22px;
  transition:opacity .55s var(--ease),width .5s var(--ease),height .5s var(--ease);
  opacity:.55
}
.why-item:hover::before{opacity:1;width:96px;height:96px}
/* shimmer rail at the bottom — keeps */
.why-item::after{height:2px}
.why-item:hover{border-color:var(--ink);transform:translateY(-4px);box-shadow:0 24px 56px -22px rgba(20,25,43,0.22),0 0 0 1px oklch(0.88 0.085 178 / 0.34)}

/* head: number tag + glyph */
.why-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.why-num{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-display);font-variation-settings:var(--fv-mono);
  font-size:10px;letter-spacing:.22em;color:var(--navy-3);text-transform:uppercase;
  padding:5px 11px;border:1px solid var(--rule-strong);border-radius:999px;
  background:rgba(47,65,93,0.04);
  transition:color .45s var(--ease),border-color .45s var(--ease),background .45s var(--ease)
}
.why-num::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--navy-3);
  transition:background .45s var(--ease),box-shadow .45s var(--ease)
}
.why-item:hover .why-num{color:var(--ink);border-color:var(--ink);background:oklch(0.88 0.085 178 / 0.14)}
.why-item:hover .why-num::before{background:var(--teal);box-shadow:0 0 10px oklch(0.88 0.085 178 / 0.7)}

.why-glyph{margin-left:auto}

/* heading scale — bolder, more confident */
.why-item h3{font-size:clamp(1.25rem,1.05rem + .6vw,1.55rem);line-height:1.18;letter-spacing:-.02em}

/* tagline at bottom */
.why-tagline{
  margin-top:auto;display:inline-flex;align-items:center;gap:9px;
  padding-top:clamp(.85rem,.65rem + .5vw,1.15rem);
  border-top:1px dashed var(--rule);
  font-family:var(--font-brace);font-style:italic;font-weight:500;
  font-size:14px;color:var(--navy);
  letter-spacing:.005em;line-height:1.3
}
.why-tagline::before{
  content:"";display:inline-block;width:18px;height:1px;background:var(--teal);
  box-shadow:0 0 6px oklch(0.88 0.085 178 / 0.5);
  transition:width .55s var(--ease-out-expo)
}
.why-item:hover .why-tagline::before{width:32px}

@media (max-width:680px){
  .why-item{min-height:0}
  .why-num{font-size:9.5px;padding:4px 9px}
  .why-tagline{font-size:13px}
}

/* ============================================================
   MANIFESTO · editorial typographic list on cosmic dark (home only)
   - large outline-stroked numerals (display font), prominent teal NO. label
   - left teal rail accent per row, drama in DEFAULT state (no hover dependency)
   - hairline rules between rows, no boxy cards
   ============================================================ */
.nofare-wrap{position:relative;isolation:isolate}
/* dramatic NIENTE backdrop word — restored, big, behind only the section head */
.nofare-wrap .nofare-backdrop{
  display:block;
  position:absolute;top:clamp(-.5rem,-.2rem + 0.5vw,1rem);left:50%;transform:translateX(-50%);
  pointer-events:none;z-index:0;user-select:none;
  font-family:var(--font-display);font-style:normal;
  font-size:clamp(8rem,5rem + 11vw,18rem);line-height:.78;letter-spacing:-.08em;
  font-variation-settings:"wght" 880,"wdth" 90,"opsz" 96,"GRAD" 28;
  -webkit-text-stroke:1.4px var(--fg-out);color:transparent;
  white-space:nowrap;opacity:.95
}
.nofare-wrap > .container{position:relative;z-index:2}

.nofare-wrap .nofare-list{border-top-color:var(--rule-dark-strong)}
.nofare-wrap .nofare-item{
  border-bottom:1px solid var(--rule-dark);
  align-items:baseline;background:transparent;
  padding-left:clamp(1rem,.7rem + .8vw,1.6rem);position:relative
}
/* teal vertical rail on the left of every row — drama in default state */
.nofare-wrap .nofare-item::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:2px;height:55%;background:var(--teal);opacity:.7;
  box-shadow:0 0 12px oklch(0.88 0.085 178 / 0.55);
  transition:height .55s var(--ease-out-expo),opacity .42s var(--ease);
  display:block
}
.nofare-wrap .nofare-item:hover{border-bottom-color:var(--fg-2);background:transparent;box-shadow:none}
.nofare-wrap .nofare-item:hover::before{height:78%;opacity:1}

/* stamp: small mono "No." caps + giant outline display numeral */
.nofare-wrap .nofare-stamp{
  position:static;font-size:0;line-height:.85;
  display:flex;align-items:baseline;
  padding:0;border:none;background:transparent;border-radius:0
}
.nofare-wrap .nofare-stamp::before{
  content:"No.";font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  font-variation-settings:"wght" 700,"wdth" 96,"opsz" 14,"GRAD" 0;
  color:var(--teal);margin-right:.65em;align-self:flex-start;padding-top:.7em;opacity:.9
}
.nofare-wrap .nofare-stamp em{
  font-family:var(--font-display);font-style:normal;
  font-size:clamp(2.8rem,2rem + 2vw,4.25rem);line-height:.85;letter-spacing:-.045em;
  /* outline-stroked numeral — pops in default state, fills on hover */
  -webkit-text-stroke:1.4px var(--fg-2);color:transparent;
  font-variation-settings:"wght" 760,"wdth" 92,"opsz" 96,"GRAD" -8;
  display:inline-block;
  transition:color .42s var(--ease),-webkit-text-stroke-color .42s var(--ease)
}
.nofare-wrap .nofare-item:hover .nofare-stamp em{color:var(--fg);-webkit-text-stroke-color:var(--fg)}
.nofare-wrap .nofare-item:hover .nofare-stamp::before{opacity:1}

.nofare-wrap .nofare-text{
  grid-column:auto;
  font-size:clamp(.96rem,.88rem + .22vw,1.08rem);line-height:1.58;color:var(--fg-2);
  font-variation-settings:"wght" 460,"wdth" 96,"opsz" 18,"GRAD" 0;
  max-width:44ch
}
.nofare-wrap .nofare-text b{
  display:block;margin-bottom:.45rem;color:var(--fg);
  font-size:1.1em;letter-spacing:-.016em;
  font-variation-settings:"wght" 740,"wdth" 96,"opsz" 24,"GRAD" 22
}

@media (max-width:760px){
  .nofare-wrap .nofare-stamp em{font-size:2.4rem;-webkit-text-stroke-width:1.2px}
  .nofare-wrap .nofare-backdrop{font-size:7rem;top:-.5rem}
}

/* ============================================================
   FINAL CTA · atmospheric closure
   ============================================================ */
.final-cta{padding-block:clamp(5rem,3.5rem + 3vw,7.5rem)}
.final-cta-rings{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(86vw,920px);height:auto;pointer-events:none;z-index:0;
  color:var(--navy);opacity:.28;
  /* fade out the CENTER so the rings sit only as an outer halo, not behind the headline */
  mask-image:radial-gradient(ellipse 36% 42% at center,transparent 0%,transparent 55%,black 95%);
  -webkit-mask-image:radial-gradient(ellipse 36% 42% at center,transparent 0%,transparent 55%,black 95%)
}
.final-cta-rings .rings{transform-origin:500px 500px;animation:stargate-rot 240s linear infinite}
.final-cta-rings .counter-rings{transform-origin:500px 500px;animation:stargate-counter 320s linear infinite}
.final-cta>.container{position:relative;z-index:2}

.final-cta-eyebrow{
  display:inline-flex;align-items:center;gap:11px;
  padding:7px 16px;border:1px solid var(--rule-strong);border-radius:999px;
  background:rgba(252,252,250,0.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  color:var(--navy);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  font-variation-settings:var(--fv-mono);
  margin-bottom:clamp(1.1rem,.85rem + .8vw,1.75rem)
}
.final-cta-eyebrow .pulse-pip{
  width:6px;height:6px;border-radius:50%;background:var(--teal);
  box-shadow:0 0 8px var(--teal),0 0 16px oklch(0.88 0.085 178 / 0.5);
  animation:pulse 2.6s var(--ease) infinite
}

.final-cta-promise{
  list-style:none;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;
  margin-top:clamp(1rem,.8rem + .6vw,1.5rem);
  padding:0;font-size:12px;color:var(--navy);
  font-variation-settings:"wght" 540,"wdth" 96,"opsz" 14,"GRAD" 5
}
.final-cta-promise li{display:inline-flex;align-items:center;gap:8px}
.final-cta-promise .check{
  display:inline-flex;align-items:center;justify-content:center;
  width:14px;height:14px;border-radius:50%;
  background:oklch(0.88 0.085 178 / 0.32);color:var(--ink);
  font-family:var(--font-display);font-size:11px;line-height:1;
  font-variation-settings:"wght" 800,"wdth" 96,"opsz" 14,"GRAD" 22
}
@media (max-width:520px){
  .final-cta-promise{flex-direction:column;align-items:center;gap:8px}
}


/* ============================================================
   FAQ (cosmic) · three per-service groups inside .nofare-wrap
   ============================================================ */
.faq-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,1.2rem + 1.2vw,2.8rem);max-width:78rem;margin:clamp(2rem,1.4rem + 1.4vw,3.25rem) auto 0;position:relative;z-index:2}
@media (max-width:980px){.faq-groups{grid-template-columns:1fr;max-width:44rem}}
.faq-group{border-top:1px solid var(--rule-dark-strong);padding-top:clamp(1.2rem,1rem + .6vw,1.8rem)}
.faq-group-title{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3);font-variation-settings:"wght" 700,"wdth" 96,"opsz" 14;margin:0 0 clamp(1.1rem,.9rem + .5vw,1.6rem)}
.faq-group-title .dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px oklch(0.88 0.085 178 / 0.6)}
.faq-item{padding:clamp(.9rem,.75rem + .4vw,1.3rem) 0 clamp(1rem,.85rem + .4vw,1.4rem) clamp(1rem,.7rem + .8vw,1.6rem);border-bottom:1px solid var(--rule-dark);position:relative}
.faq-item::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:55%;background:var(--teal);opacity:.7;box-shadow:0 0 12px oklch(0.88 0.085 178 / 0.55);transition:height .55s var(--ease-out-expo),opacity .42s var(--ease)}
.faq-item:hover::before{height:78%;opacity:1}
.faq-q{font-size:clamp(1rem,.92rem + .25vw,1.15rem);line-height:1.35;color:var(--fg);font-variation-settings:"wght" 660,"wdth" 96,"opsz" 24;margin:0 0 .55em;letter-spacing:-.01em}
.faq-a{font-size:clamp(.92rem,.86rem + .18vw,1.02rem);line-height:1.62;color:var(--fg-2);font-variation-settings:"wght" 440,"wdth" 96,"opsz" 18;margin:0;max-width:46ch}
