/* ==========================================================================
   FLOWMYWORK — UNIFIED AURUM DESIGN SYSTEM
   Consolidated from the six page designs into one shared stylesheet.
   Sections below are labelled by original page of origin; selectors are
   deduplicated so each rule appears exactly once.
   ========================================================================== */


/* -------------------- ACCESSIBILITY: SKIP LINK -------------------- */
.skip-link{ position:absolute; left:12px; top:-60px; z-index:1000; background:var(--navy); color:#fff; padding:12px 20px; border-radius:0 0 10px 10px; font-weight:700; font-size:14px; text-decoration:none; transition:top 160ms ease; box-shadow:0 8px 24px rgba(0,0,0,.3); }
.skip-link:focus{ top:0; outline:2px solid var(--gold-light); outline-offset:2px; }
:focus-visible{ outline:2px solid var(--gold-light); outline-offset:2px; }

/* -------------------- CORE DESIGN SYSTEM + HOME PAGE (base tokens, nav, buttons, sections, cards, reveal/tilt, testimonials, diagnostic) -------------------- */

:root{
  --ivory:#FDFBF5;
  --ivory-2:#F6F0E2;
  --paper:#FFFFFF;

  --navy:#0C1E3C;
  --navy-2:#1C335B;
  --navy-plum:#2E1F58;
  --navy-teal:#123055;

  --blue:#3366CC;
  --electric:#3DA9FC;
  --electric-ice:#8FE1FF;
  --sky:#A0D8EF;
  --sky-tint:#EAF6FC;

  --gold:#E89B2F;
  --gold-light:#F4C869;
  --gold-deep:#935C0C;
  --gold-tint:#FCEFD8;
  --gold-glow: rgba(232,155,47,.42);

  --ink:#12162A;
  --ink-muted:#4C5570;
  --ink-faint:#636C82;

  --ink-on-navy:#F4F1FE;
  --ink-on-navy-muted: rgba(244,241,254,.72);
  --ink-on-navy-faint: rgba(244,241,254,.58);

  --line: rgba(18,22,42,.12);
  --line-strong: rgba(18,22,42,.22);

  --glass-dark: rgba(255,255,255,.05);
  --glass-dark-strong: rgba(255,255,255,.09);
  --glass-dark-border: rgba(255,255,255,.14);
  --glow-blue: rgba(143,225,255,.5);
  --glow-gold: rgba(244,200,105,.55);

  --grad-navy-lively: linear-gradient(155deg, var(--navy) 0%, var(--navy-plum) 48%, var(--navy-teal) 78%, var(--navy-2) 100%);
  --grad-mesh: radial-gradient(1000px 600px at 12% -10%, rgba(61,169,252,.28), transparent 60%),
               radial-gradient(900px 700px at 92% 8%, rgba(232,155,47,.18), transparent 55%),
               radial-gradient(1000px 800px at 50% 115%, rgba(46,31,88,.5), transparent 60%);
  --grad-gold: linear-gradient(120deg, var(--gold-light) 0%, var(--gold) 55%, var(--gold-deep) 100%);
  --grad-blue: linear-gradient(120deg, var(--electric) 0%, var(--blue) 55%, var(--electric-ice) 100%);
  --grad-mix: linear-gradient(100deg, var(--gold-light) 0%, var(--electric) 55%, var(--sky) 100%);

  --shadow-blue: 0 0 40px rgba(61,169,252,.25), 0 24px 60px rgba(12,20,40,.22);
  --shadow-gold: 0 0 40px var(--gold-glow), 0 24px 60px rgba(12,20,40,.22);
  --shadow-soft: 0 20px 46px rgba(20,24,46,.14), 0 4px 12px rgba(20,24,46,.08);
  --shadow-lift: 0 30px 70px rgba(12,10,30,.5), 0 4px 14px rgba(12,10,30,.35);

  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-accent:'Instrument Serif','Playfair Display', Georgia, serif;

  --wrap:1240px;
  --wrap-narrow:900px;
  --ease: 280ms cubic-bezier(.4,0,.2,1);
  --ease-spring: 550ms cubic-bezier(.2,1.5,.35,1);
}
@media (min-width:1440px){ :root{ --wrap:1440px; --wrap-narrow:1040px; } }
@media (min-width:1800px){ :root{ --wrap:1680px; --wrap-narrow:1160px; } }
@media (min-width:2200px){ :root{ --wrap:1920px; --wrap-narrow:1280px; } }
@media (min-width:2800px){ :root{ --wrap:2200px; --wrap-narrow:1400px; } }
@media (min-width:3400px){ :root{ --wrap:2440px; --wrap-narrow:1500px; } }
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0; font-family:var(--font-body); color:var(--ink); background:var(--ivory);
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{ color:var(--ink); font-weight:700; letter-spacing:-0.015em; margin:0; line-height:1.15; text-wrap:balance; }
.section--navy h1, .section--navy h2, .section--navy h3, .section--navy h4{ color:#fff; }
p{ margin:0; }
a{ color:var(--blue); text-decoration:none; transition:color var(--ease); }
a:hover{ color:var(--gold-deep); }
.section--navy a{ color:var(--electric-ice); }
.section--navy a:hover{ color:var(--gold-light); }
img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
ul,ol{ margin:0; }
::selection{ background:var(--gold); color:#fff; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible{
  outline:2px solid var(--gold-deep); outline-offset:3px; border-radius:4px;
}
.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 32px; position:relative; }
.wrap--narrow{ max-width:var(--wrap-narrow); margin:0 auto; padding:0 32px; position:relative; }
em{ font-family:var(--font-accent); font-style:italic; font-weight:400; }
.grad-gold{ background:var(--grad-gold); background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:sweep 7s ease-in-out infinite; }
.grad-blue{ background:var(--grad-blue); background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:sweep 7s ease-in-out infinite; }
.grad-mix{ background:var(--grad-mix); background-size:220% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:sweep 7s ease-in-out infinite; }
@keyframes sweep{ 0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;} }
.view{ display:none; }
.view.active{ display:block; animation:fadeIn 400ms ease; }
@keyframes fadeIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }
.scrollbar{ position:fixed; top:0; left:0; height:3px; width:0%; background:var(--grad-gold); z-index:200; box-shadow:0 0 12px rgba(232,155,47,.6); }
.nav{ position:sticky; top:0; z-index:100; background:linear-gradient(100deg, rgba(12,30,60,.86) 0%, rgba(46,31,88,.86) 60%, rgba(28,51,91,.86) 100%); backdrop-filter:blur(18px) saturate(150%); -webkit-backdrop-filter:blur(18px) saturate(150%); border-bottom:1px solid var(--glass-dark-border); transition:border-color var(--ease), background var(--ease); }
.nav.scrolled{ border-bottom-color:var(--glow-gold); box-shadow:0 10px 30px rgba(12,10,30,.25); }
.nav__inner{ max-width:var(--wrap); margin:0 auto; padding:0 32px; height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand{ display:flex; align-items:center; gap:13px; cursor:pointer; }
.brand__mark{ height:54px; width:auto; filter:drop-shadow(0 0 10px rgba(232,155,47,.4)); }
.brand__word{ font-weight:600; font-style:italic; font-size:27px; color:#fff; letter-spacing:-0.02em; }
.nav__links{ display:flex; align-items:center; gap:30px; }
.nav__link{ color:rgba(255,255,255,.82); font-size:15px; font-weight:500; padding:8px 2px; position:relative; }
.nav__link::after{ content:""; position:absolute; left:0; right:0; bottom:2px; height:2px; background:var(--grad-gold); transform:scaleX(0); transform-origin:left; transition:transform var(--ease); }
.nav__link:hover{ color:#fff; }
.nav__link:hover::after{ transform:scaleX(1); }
.nav__link.is-current{ color:#fff; cursor:default; }
.nav__link.is-current::after{ transform:scaleX(1) !important; }
.nav__cta{ position:relative; display:inline-flex; align-items:center; padding:11px 22px; font-weight:700; font-size:14.5px; border-radius:999px; color:var(--navy); background:var(--grad-gold); background-size:180% auto; box-shadow:var(--shadow-gold); transition:background-position var(--ease), transform var(--ease); white-space:nowrap; }
.nav__cta:hover{ background-position:100% 0; transform:translateY(-1px) scale(1.02); }
.nav__burger{ display:none; width:40px; height:40px; align-items:center; justify-content:center; border-radius:8px; }
.nav__burger:hover{ background:var(--glass-dark); }
.nav__burger span{ display:block; width:20px; height:2px; background:#fff; position:relative; }
.nav__burger span::before,.nav__burger span::after{ content:""; position:absolute; left:0; width:20px; height:2px; background:#fff; transition:transform var(--ease); }
.nav__burger span::before{ top:-6px; }
.nav__burger span::after{ top:6px; }
.nav__burger[aria-expanded="true"] span{ background:transparent; }
.nav__burger[aria-expanded="true"] span::before{ top:0; transform:rotate(45deg); }
.nav__burger[aria-expanded="true"] span::after{ top:0; transform:rotate(-45deg); }
.nav__mobile-panel{ display:none; flex-direction:column; gap:2px; background:linear-gradient(160deg, var(--navy), var(--navy-plum)); padding:10px 20px 22px; }
.nav__mobile-panel.open{ display:flex; }
.nav__mobile-panel a{ color:rgba(255,255,255,.85); font-size:16px; font-weight:500; padding:13px 4px; border-bottom:1px solid var(--glass-dark-border); }
.nav__mobile-panel .nav__cta{ margin-top:14px; justify-content:center; }
@media (max-width:1040px){ .nav__links{ display:none; } .nav__cta{ display:none; } .nav__burger{ display:flex; } }
.btn{ position:relative; display:inline-flex; align-items:center; gap:9px; font-weight:700; border-radius:14px; overflow:hidden; isolation:isolate; }
.btn::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg, transparent 20%, rgba(255,255,255,.4) 50%, transparent 80%); transform:translateX(-120%); transition:transform 700ms ease; }
.btn:hover::before{ transform:translateX(120%); }
.btn-primary{ padding:17px 30px; font-size:16px; color:var(--navy); background:var(--grad-gold); background-size:180% auto; box-shadow:var(--shadow-gold); transition:box-shadow var(--ease), transform var(--ease), background-position var(--ease); }
.btn-primary:hover{ transform:translateY(-2px) scale(1.015); box-shadow:0 24px 54px var(--gold-glow); background-position:100% 0; }
.btn-primary--blue{ background:var(--grad-blue); color:#08152e; box-shadow:var(--shadow-blue); }
.btn-primary--blue:hover{ box-shadow:0 24px 54px rgba(61,169,252,.45); }
.btn-outline{ padding:16px 28px; font-size:16px; color:var(--navy); border:1.5px solid var(--line-strong); background:rgba(255,255,255,.6); backdrop-filter:blur(6px); transition:all var(--ease); }
.btn-outline:hover{ border-color:var(--gold-deep); background:#fff; box-shadow:0 0 24px rgba(232,155,47,.18); }
.section--navy .btn-outline{ color:#fff; border-color:var(--glass-dark-border); background:var(--glass-dark); }
.section--navy .btn-outline:hover{ border-color:var(--glow-gold); background:var(--glass-dark-strong); }
.btn-link{ color:var(--blue); font-weight:700; font-size:16px; text-decoration:underline; text-underline-offset:4px; border-radius:0; }
.btn-link::before{ display:none; }
.btn-link:hover{ color:var(--gold-deep); }
.section--navy .btn-link{ color:var(--electric-ice); }
.section--navy .btn-link:hover{ color:var(--gold-light); }
.tilt3d{ position:relative; transform-style:preserve-3d; will-change:transform; transition:transform var(--ease-spring), box-shadow var(--ease); }
.tilt3d::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:2; background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.18), transparent 55%); opacity:0; transition:opacity var(--ease); }
.tilt3d:hover::after{ opacity:1; }
.tilt3d-light{ position:relative; transform-style:preserve-3d; will-change:transform; transition:transform var(--ease-spring), box-shadow var(--ease), border-color var(--ease); }
.tilt3d-light::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:2; background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), rgba(232,155,47,.32), transparent 62%); opacity:0; transition:opacity var(--ease); }
.tilt3d-light:hover::after{ opacity:1; }
.tilt3d-light:hover{ box-shadow:0 26px 56px rgba(185,116,15,.28), 0 6px 18px rgba(20,24,46,.14), 0 0 0 1px var(--gold-deep) inset; }
section{ padding:104px 0; position:relative; }
.section--light{ background:var(--ivory); }
.section--light-alt{ background:var(--ivory-2); }
.section--navy{ background:var(--grad-navy-lively); color:var(--ink-on-navy); }
.eyebrow{ display:inline-block; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; margin-bottom:16px; }
.eyebrow--lg{ font-size:17px; letter-spacing:.2em; }
.eyebrow--gold{ color:var(--gold-deep); }
.eyebrow--blue{ color:var(--blue); }
.section--navy .eyebrow--gold{ color:var(--gold-light); }
.section--navy .eyebrow--blue{ color:var(--electric-ice); }
.h2{ font-size:clamp(32px,3.6vw,48px); line-height:1.1; margin-bottom:20px; font-weight:700; letter-spacing:-0.026em; }
.h3{ font-size:clamp(21px,2vw,25px); font-weight:700; margin-bottom:12px; }
.lead{ font-size:18.5px; line-height:1.6; color:var(--ink-muted); max-width:700px; margin-bottom:40px; }
.section--navy .lead{ color:var(--ink-on-navy-muted); }
.hero{ position:relative; padding:80px 0 0; background:var(--grad-mesh), var(--grad-navy-lively); overflow:hidden; color:var(--ink-on-navy); }
.hero__grid{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .85fr; gap:44px; align-items:center; padding-bottom:64px; }
.hero__eyebrow{ display:inline-flex; align-items:center; gap:9px; padding:9px 18px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); color:#fff; font-size:13.5px; font-weight:600; border-radius:999px; margin-bottom:26px; backdrop-filter:blur(6px); }
.hero__eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--gold-light); box-shadow:0 0 10px var(--gold-light); animation:pulseDot 2s ease-in-out infinite; }
@keyframes pulseDot{ 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.5; transform:scale(1.4);} }
.hero__title{ font-size:clamp(38px,5.2vw,66px); line-height:1.03; font-weight:800; color:#fff; margin-bottom:24px; letter-spacing:-0.03em; max-width:16ch; }
.hero__sub{ font-size:18.5px; line-height:1.6; color:var(--ink-on-navy-muted); margin-bottom:36px; max-width:52ch; }
.hero__ctas{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.hero__stage{ position:relative; perspective:1200px; }
.hero__portrait{ position:relative; border-radius:26px; overflow:hidden; box-shadow:var(--shadow-lift); border:1px solid var(--glass-dark-border); aspect-ratio:4/4.6; transform-style:preserve-3d; transition:transform 200ms ease-out; will-change:transform; }
.hero__portrait img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.05) contrast(1.02); }
.hero__portrait::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(12,10,30,.85) 100%); }
.hero__portrait-tag{ position:absolute; left:18px; bottom:18px; right:18px; z-index:1; background:rgba(12,10,30,.55); backdrop-filter:blur(8px); border:1px solid var(--glass-dark-border); border-radius:14px; padding:14px 16px; color:#fff; font-size:13.5px; line-height:1.4; }
.hero__portrait-tag strong{ display:block; color:var(--gold-light); font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:4px; font-weight:700; }
.hero__badge{ position:absolute; top:-16px; right:-16px; width:78px; height:78px; border-radius:22px; background:var(--grad-gold); display:grid; place-items:center; box-shadow:var(--shadow-gold); z-index:3; transform:translateZ(60px); animation:floatY 4s ease-in-out infinite; }
.hero__badge span{ font-family:var(--font-body); font-weight:800; font-size:11px; color:var(--navy); text-align:center; line-height:1.2; }
.hero__chip{ position:absolute; left:-22px; bottom:30%; background:var(--glass-dark-strong); border:1px solid var(--glass-dark-border); backdrop-filter:blur(10px); border-radius:14px; padding:10px 14px; font-size:12.5px; color:#fff; box-shadow:var(--shadow-blue); transform:translateZ(40px); animation:floatY 5s ease-in-out infinite .5s; }
@keyframes floatY{ 0%,100%{ transform:translateZ(40px) translateY(0);} 50%{ transform:translateZ(40px) translateY(-10px);} }
@media (min-width:1440px){
  .hero__grid{ align-items:start; }
  .hero__eyebrow{ padding:11px 22px; font-size:14.5px; margin-bottom:32px; }
  .hero__title{ font-size:clamp(38px,5.2vw,88px); max-width:19ch; margin-bottom:30px; }
  .hero__sub{ font-size:20px; max-width:58ch; margin-bottom:44px; }
  .hero__ctas{ gap:30px; }
}
@media (min-width:1920px){
  .hero__title{ font-size:clamp(38px,5.2vw,100px); max-width:20ch; }
  .hero__sub{ font-size:21px; max-width:62ch; }
}
/* ---------------- HERO — thin, full-bleed landscape photo, cross-dissolved into the navy gradient ---------------- */
.hero--photo{ min-height:clamp(560px, 44vw, 720px); display:flex; flex-direction:column; justify-content:center; padding:72px 0 56px; }
.hero__bg{ position:absolute; inset:0; z-index:0; }
.hero__bg img{
  width:100%; height:100%; object-fit:cover; object-position:62% 40%;
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.5) 6%, rgba(0,0,0,.8) 14%, #000 22%);
  mask-image:linear-gradient(90deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.5) 6%, rgba(0,0,0,.8) 14%, #000 22%);
}
/* Capabilities hero (What We Do) — same system, own image anchor point since the
   illustration is centred rather than an off-centre landscape subject. */
.hero--capabilities .hero__bg img{ object-position:82% 38%; }
/* Pricing hero — engagement-model graphic (floating cards), anchored right so the
   card stack sits clear of the text column on every viewport. Title and sub are left
   on the shared .hero--photo sizing (no scoped override) so this hero's type is
   pixel-identical to Home and What We Do — only the copy column width is widened a
   little, since this headline runs shorter than the others and can use the room. */
.hero--pricing .hero__bg img{ object-position:66% 42%; }
.hero--pricing .hero__copy{ max-width:1160px; }
.hero--photo::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(180deg, rgba(9,16,34,.22) 0%, transparent 24%, transparent 76%, rgba(6,10,22,.35) 100%); }
.hero--photo .wrap{ position:relative; z-index:1; width:100%; }
.hero__copy{ position:relative; z-index:1; max-width:900px; padding:6px 0; }
.hero__copy::before{ content:""; position:absolute; z-index:-1; top:-48px; bottom:-48px; left:-100vw; right:-36px; background:linear-gradient(90deg, var(--navy) 0%, var(--navy) 52%, rgba(12,25,50,.55) 70%, transparent 90%); }
.hero--photo .hero__title, .hero--photo .hero__sub, .hero--photo .hero__eyebrow{ text-shadow:0 2px 18px rgba(4,8,20,.55); }
/* The photo-hero's text column now spans from the logo out to roughly under the "How We Work" /
   "Pricing" nav tabs, so the text and the photo each occupy a real, balanced share of the hero
   instead of leaving a plain, subject-less strip of sky/mountain between them. Font stays capped
   so the section keeps the thin, landscape proportions of the photo rather than stretching tall. */
.hero--photo .hero__eyebrow{ margin-bottom:20px; }
.hero--photo .hero__title{ font-size:clamp(36px, 4.4vw, 76px); line-height:1.08; max-width:17ch; margin-bottom:20px; }
.hero--photo .hero__sub{ font-size:19px; line-height:1.6; max-width:58ch; margin-bottom:28px; }
.hero--photo .hero__ctas{ gap:20px; }
@media (max-width:900px){
  .hero--photo{ min-height:580px; padding:76px 0 48px; justify-content:flex-start; }
  .hero__bg img{
    object-position:74% 50%;
    -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.3) 0%, rgba(0,0,0,.52) 14%, rgba(0,0,0,.8) 28%, #000 40%);
    mask-image:linear-gradient(180deg, rgba(0,0,0,.3) 0%, rgba(0,0,0,.52) 14%, rgba(0,0,0,.8) 28%, #000 40%);
  }
  .hero--capabilities .hero__bg img{ object-position:80% 22%; }
  .hero--pricing .hero__bg img{ object-position:76% 40%; }
  .hero--photo .hero__title{ max-width:none; font-size:clamp(30px,7.4vw,42px); margin-bottom:12px; }
  .hero--photo .hero__sub{ max-width:none; }
  .hero__copy{ max-width:none; padding-top:14px; }
  .hero__copy::before{ top:-80px; bottom:-24px; right:-9999px; background:linear-gradient(180deg, var(--navy) 0%, var(--navy) 40%, rgba(12,25,50,.55) 62%, transparent 84%); }
}
.trust{ position:relative; z-index:1; border-top:1px solid var(--glass-dark-border); background:rgba(255,255,255,.03); }
.trust__row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--glass-dark-border); }
.trust__item{ background:rgba(12,10,30,.35); padding:24px 26px; transition:background var(--ease), transform var(--ease); }
.trust__item:hover{ background:rgba(12,10,30,.55); transform:translateY(-2px); }
.trust__item .num{ font-weight:800; font-size:26px; letter-spacing:-0.02em; background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent; font-variant-numeric:tabular-nums; }
.trust__item .lbl{ font-size:13px; color:var(--ink-on-navy-faint); margin-top:4px; line-height:1.4; }
@media (max-width:820px){ .trust__row{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:1024px){ .hero__badge, .hero__chip{ display:none; } }
.problem__list{ list-style:none; padding:0; margin:0 0 40px 0; display:grid; grid-template-columns:repeat(2,1fr); gap:18px 30px; max-width:1020px; perspective:1000px; }
.problem__item{ display:flex; gap:16px; align-items:flex-start; padding:22px; background:var(--paper); border:1px solid var(--line); border-radius:16px; font-size:16.5px; line-height:1.55; color:var(--ink-muted); box-shadow:0 10px 26px rgba(20,24,46,.06); transition:transform var(--ease-spring), box-shadow var(--ease), border-color var(--ease); }
.problem__item:hover{ border-color:var(--gold-deep); border-width:1.5px; transform:translateY(-6px) scale(1.015); }
.problem__check{ flex-shrink:0; width:28px; height:28px; background:var(--gold-tint); border:1px solid rgba(232,155,47,.35); border-radius:9px; display:grid; place-items:center; color:var(--gold-deep); }
.problem__close{ padding:22px 28px; background:var(--grad-navy-lively); color:#fff; border-radius:14px; font-weight:800; font-size:17px; display:inline-block; box-shadow:var(--shadow-soft); }
.pivot__inner{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.pivot h2{ font-size:clamp(34px,4vw,52px); letter-spacing:-0.028em; line-height:1.1; margin-bottom:22px; }
.pivot p{ font-size:18px; line-height:1.65; color:var(--ink-on-navy-muted); margin-bottom:18px; max-width:52ch; }
.pivot__stamp{ display:inline-block; margin-top:14px; padding:16px 26px; border:1.5px solid var(--glow-gold); color:var(--gold-light); font-weight:700; font-size:16.5px; border-radius:999px; box-shadow:0 0 24px var(--gold-glow); position:relative; transform-style:preserve-3d; animation:stampFloat 4.5s ease-in-out infinite; transition:transform 400ms ease, box-shadow 400ms ease; }
.pivot__stamp:hover{ animation-play-state:paused; transform:translateY(-4px) rotateX(6deg) scale(1.03); box-shadow:0 0 40px var(--gold-glow), 0 20px 34px rgba(232,155,47,.28); }
@keyframes stampFloat{ 0%,100%{ transform:translateY(0) rotateZ(-0.4deg); } 50%{ transform:translateY(-5px) rotateZ(0.4deg); } }
.flipgrid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; perspective:1200px; }
.flipcard{ position:relative; height:108px; }
.flipcard-inner{ position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform 550ms cubic-bezier(.4,0,.2,1); }
.flipcard:hover .flipcard-inner, .flipcard:focus-within .flipcard-inner{ transform:rotateY(180deg); }
.flipcard-face{ position:absolute; inset:0; backface-visibility:hidden; border-radius:14px; padding:16px; display:flex; flex-direction:column; justify-content:center; gap:6px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); }
.flipcard-face .chip{ width:24px; height:24px; border-radius:7px; background:rgba(255,255,255,.1); display:grid; place-items:center; font-size:11px; font-weight:700; color:var(--electric-ice); }
.flipcard-face span.lbl{ font-size:13.5px; color:var(--ink-on-navy-faint); text-decoration:line-through; }
.flipcard-back{ transform:rotateY(180deg); background:rgba(232,155,47,.12); border-color:var(--glow-gold); }
.flipcard-back span{ font-size:12.5px; color:var(--ink-on-navy-muted); line-height:1.4; }
.pivot__final{ grid-column:1 / -1; padding:20px 22px; background:var(--grad-gold); background-size:220% 220%; color:var(--navy); border-radius:14px; font-weight:800; font-size:15px; display:flex; align-items:center; gap:12px; box-shadow:var(--shadow-gold); position:relative; overflow:hidden; transform-style:preserve-3d; animation:finalShimmer 6s ease-in-out infinite; transition:transform 400ms ease, box-shadow 400ms ease; }
.pivot__final::after{ content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(115deg, transparent, rgba(255,255,255,.55), transparent); transform:skewX(-20deg); animation:finalSweep 3.6s ease-in-out infinite; }
.pivot__final:hover{ transform:translateY(-5px) scale(1.02); box-shadow:0 0 46px var(--gold-glow), 0 26px 46px rgba(232,155,47,.3); }
.pivot__final .chip{ width:28px; height:28px; border-radius:8px; background:var(--navy); color:var(--gold-light); display:grid; place-items:center; font-size:12px; position:relative; z-index:1; }
.pivot__final span:last-child{ position:relative; z-index:1; }
@keyframes finalShimmer{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }
@keyframes finalSweep{ 0%{ left:-60%; } 55%,100%{ left:130%; } }
@media (max-width:900px){ .pivot__inner{ grid-template-columns:1fr; } }
@media (max-width:560px){ .flipgrid{ grid-template-columns:1fr; } }
.method__grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin-top:56px; perspective:1400px; align-items:stretch; }
.method__card{ position:relative; padding:28px 20px; background:var(--paper); border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 26px rgba(20,24,46,.06); transition:transform var(--ease-spring), box-shadow var(--ease), border-color var(--ease); }
.method__card:hover{ border-color:var(--gold-deep); box-shadow:var(--shadow-gold); z-index:2; }
.method__icon-wrap{ width:46px; height:46px; margin-bottom:14px; perspective:600px; }
.method__icon{ width:100%; height:100%; border-radius:12px; display:grid; place-items:center; background:var(--grad-navy-lively); color:#fff; transform-style:preserve-3d; transition:transform 600ms cubic-bezier(.4,0,.2,1); position:relative; }
.method__icon .face{ position:absolute; inset:0; display:grid; place-items:center; backface-visibility:hidden; }
.method__icon .face svg{ width:22px; height:22px; }
.method__icon .face.back{ transform:rotateY(180deg); background:var(--grad-gold); color:var(--navy); border-radius:12px; }
.method__card:hover .method__icon{ transform:rotateY(180deg); }
.method__num{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; background:var(--navy); color:var(--gold-light); font-weight:800; font-size:12px; border-radius:8px; position:absolute; top:20px; right:20px; }
.method__name{ font-size:14.5px; font-weight:700; color:var(--blue); letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px; }
.method__desc{ font-size:14.5px; line-height:1.55; color:var(--ink-faint); }
@media (max-width:1000px){ .method__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .method__grid{ grid-template-columns:1fr; } }
.caps__frame{ padding:26px 30px; background:var(--glass-dark); border-left:3px solid var(--gold); border-radius:0 14px 14px 0; color:var(--ink-on-navy-muted); font-size:17px; line-height:1.6; max-width:780px; margin-bottom:48px; }
.caps__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; perspective:1000px; }
.cap{ padding:32px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); border-radius:18px; }
.cap:hover{ border-color:var(--glow-gold); box-shadow:0 24px 50px rgba(12,10,30,.4); }
.cap__icon-wrap{ width:52px; height:52px; margin-bottom:18px; perspective:600px; }
.cap__icon{ width:100%; height:100%; border-radius:14px; display:grid; place-items:center; transform-style:preserve-3d; transition:transform 600ms cubic-bezier(.4,0,.2,1); position:relative; }
.cap:hover .cap__icon{ transform:rotateY(180deg); }
.cap__icon .face{ position:absolute; inset:0; display:grid; place-items:center; backface-visibility:hidden; border-radius:14px; }
.cap__icon .face.back{ transform:rotateY(180deg); }
.cap--blue .cap__icon .face{ background:var(--grad-blue); color:#08152e; box-shadow:0 10px 26px rgba(61,169,252,.35); }
.cap--gold .cap__icon .face{ background:var(--grad-gold); color:var(--navy); box-shadow:0 10px 26px var(--gold-glow); }
.cap__icon svg{ width:26px; height:26px; }
.cap__title{ font-size:19.5px; font-weight:700; color:#fff; margin-bottom:9px; letter-spacing:-0.01em; }
.cap__desc{ font-size:15.5px; line-height:1.6; color:var(--ink-on-navy-faint); }
@media (max-width:820px){ .caps__grid{ grid-template-columns:1fr; } }
.delivery__row{ display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:center; }
.delivery__visual{ padding:6px; background:var(--paper); border:1px solid var(--line); border-radius:22px; position:relative; overflow:hidden; box-shadow:0 10px 30px rgba(20,24,46,.08); }
.delivery__visual::before{ content:""; position:absolute; left:38px; top:56px; bottom:56px; width:2px; background:linear-gradient(180deg, var(--blue), var(--gold)); opacity:.5; }
.delivery__pulse{ position:absolute; left:33px; width:12px; height:12px; border-radius:50%; background:var(--gold); box-shadow:0 0 14px var(--gold); animation:travel 3.2s ease-in-out infinite; }
@keyframes travel{ 0%{ top:56px; opacity:0; } 10%{ opacity:1; } 90%{ opacity:1; } 100%{ top:calc(100% - 68px); opacity:0; } }
.delivery__step{ display:flex; gap:16px; padding:20px 22px; position:relative; z-index:1; }
.delivery__step-num{ flex-shrink:0; width:38px; height:38px; background:var(--grad-navy-lively); color:#fff; border-radius:11px; display:grid; place-items:center; font-weight:800; font-size:15px; box-shadow:0 8px 20px rgba(20,24,46,.25); }
.delivery__step-content h4{ font-size:16.5px; margin-bottom:4px; color:var(--ink); }
.delivery__step-content p{ color:var(--ink-faint); font-size:14.5px; margin:0; }
.delivery__content p{ color:var(--ink-muted); font-size:17px; line-height:1.65; margin-bottom:18px; }
@media (max-width:900px){ .delivery__row{ grid-template-columns:1fr; gap:36px; } }
.pricing__box{ max-width:960px; margin:0 auto; padding:2px; border-radius:28px; position:relative; overflow:hidden; box-shadow:var(--shadow-gold); }
.pricing__box::before{ content:""; position:absolute; inset:-40%; background:conic-gradient(from 0deg, var(--gold-light), var(--electric-ice), var(--gold-light), var(--electric-ice), var(--gold-light)); animation:rotateFoil 6s linear infinite; }
@keyframes rotateFoil{ to{ transform:rotate(360deg); } }
.pricing__box-inner{ position:relative; background:var(--grad-navy-lively); border-radius:26px; padding:52px 56px; text-align:center; margin:2px; }
.pricing__row{ display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:760px; margin:30px auto; perspective:900px; }
.pricing__card{ padding:28px 22px; background:var(--glass-dark); border-radius:16px; border:1px solid var(--glass-dark-border); transition:transform var(--ease-spring), border-color var(--ease); }
.pricing__card:hover{ transform:translateY(-6px) scale(1.02); border-color:var(--glow-gold); }
.pricing__card small{ display:block; color:var(--gold-light); font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px; }
.pricing__card strong{ display:block; font-size:27px; color:#fff; font-weight:800; letter-spacing:-0.02em; }
.pricing__note{ font-size:16px; color:var(--ink-on-navy-muted); margin-top:8px; max-width:620px; margin-left:auto; margin-right:auto; }
.pricing__excl{ font-size:13px; color:var(--ink-on-navy-faint); margin-top:18px; }
@media (max-width:640px){ .pricing__row{ grid-template-columns:1fr; } .pricing__box-inner{ padding:38px 22px; } }
.proof__wrap{ display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:start; }
.proof__cards{ display:flex; flex-direction:column; gap:16px; }
.proof__card{ display:flex; gap:16px; align-items:flex-start; padding:22px 24px; background:var(--paper); border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 26px rgba(20,24,46,.06); transition:transform var(--ease-spring), box-shadow var(--ease), border-color var(--ease); }
.proof__card:hover{ border-color:var(--gold-deep); box-shadow:var(--shadow-gold); }
.proof__card-icon{ flex:0 0 auto; width:44px; height:44px; border-radius:12px; background:var(--grad-navy-lively); color:var(--gold-light); display:grid; place-items:center; }
.proof__card-icon svg{ width:22px; height:22px; }
.proof__card p{ font-size:16px; color:var(--ink-muted); line-height:1.55; margin:0; padding-top:6px; }
@media (max-width:900px){ .proof__wrap{ grid-template-columns:1fr; gap:36px; } }
.honesty__box{ max-width:920px; margin:0 auto; padding:52px 56px; background:var(--grad-navy-lively); border-radius:8px 26px 26px 8px; border-left:5px solid var(--gold); box-shadow:0 30px 70px rgba(12,10,30,.35); }
.honesty__box .eyebrow{ color:var(--gold-light); }
.honesty__box h2{ color:#fff; }
.honesty__box p{ font-size:17px; line-height:1.7; color:var(--ink-on-navy-muted); margin-bottom:20px; }
.honesty__list{ list-style:none; padding:0; margin:0 0 20px 0; }
.honesty__list li{ position:relative; padding:12px 0 12px 34px; font-size:17px; line-height:1.6; color:var(--ink-on-navy-muted); border-bottom:1px solid var(--glass-dark-border); }
.honesty__list li:last-child{ border-bottom:0; }
.honesty__list li::before{ content:''; position:absolute; left:0; top:18px; width:16px; height:16px; border-radius:50%; background:rgba(232,155,47,.16); border:2px solid var(--gold-light); }
.honesty__list li::after{ content:''; position:absolute; left:4.5px; top:23px; width:7px; height:3.5px; border-left:2px solid var(--gold-light); border-bottom:2px solid var(--gold-light); transform:rotate(-45deg); }
.honesty__box p:last-child{ padding-top:20px; border-top:1px solid var(--glass-dark-border); font-family:var(--font-accent); font-style:italic; font-size:22px; color:#fff; line-height:1.4; font-weight:400; }
@media (max-width:640px){ .honesty__box{ padding:36px 24px; } }
.clients__intro{ max-width:760px; margin:0 auto 40px; text-align:center; }
.clients__intro .lead{ color:var(--ink-on-navy-muted); }
.clients__reach{ max-width:820px; margin:0 auto 36px; text-align:center; }
.clients__reach h3{ font-size:20px; font-weight:700; color:#fff; margin:0 0 12px; }
.clients__reach p{ font-size:16px; line-height:1.65; color:var(--ink-on-navy-muted); margin:0; }
.clients__flags{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin:26px 0 56px; }
.clients__flag{ display:inline-flex; align-items:center; gap:10px; padding:11px 20px; border-radius:999px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); color:#fff; font-size:14px; font-weight:600; letter-spacing:.01em; backdrop-filter:blur(6px); transition:border-color var(--ease), transform var(--ease); }
.clients__flag:hover{ border-color:var(--gold-light); transform:translateY(-2px); }
.clients__flag .flag-emoji{ font-size:19px; line-height:1; }
.clients__words{ text-align:center; margin-bottom:40px; }
.testi__grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; }
.testi__card{ position:relative; background:var(--paper); border-radius:22px; padding:36px 30px 30px; box-shadow:0 20px 50px rgba(8,14,32,.28); border:1px solid rgba(255,255,255,.06); transition:transform var(--ease-spring), box-shadow var(--ease); display:flex; flex-direction:column; }
.testi__card:hover{ transform:translateY(-6px); box-shadow:0 30px 64px rgba(8,14,32,.4); }
.testi__quote-mark{ position:absolute; top:22px; right:28px; font-family:var(--font-accent); font-style:italic; font-size:64px; line-height:1; color:var(--gold-tint); pointer-events:none; user-select:none; }
.testi__card--blue .testi__quote-mark{ color:var(--sky-tint); }
.testi__head{ display:flex; align-items:center; gap:16px; margin-bottom:20px; position:relative; z-index:1; }
.testi__avatar-ring{ flex-shrink:0; width:64px; height:64px; border-radius:50%; padding:3px; background:var(--grad-gold); position:relative; }
.testi__card--blue .testi__avatar-ring{ background:var(--grad-blue); }
.testi__avatar-ring img{ width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; border:2.5px solid #fff; background:#fff; }
.testi__flag-badge{ position:absolute; bottom:-3px; right:-3px; width:24px; height:24px; border-radius:50%; background:#fff; display:grid; place-items:center; font-size:13px; box-shadow:0 2px 8px rgba(20,24,46,.25); border:2px solid #fff; }
.testi__name{ font-size:16.5px; font-weight:700; color:var(--ink); line-height:1.3; }
.testi__meta{ font-size:13px; color:var(--ink-faint); margin-top:3px; line-height:1.4; }
.testi__text{ font-size:15.5px; line-height:1.62; color:var(--ink-muted); margin:0; position:relative; z-index:1; }
@media (max-width:980px){ .testi__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .testi__grid{ grid-template-columns:1fr; } .testi__quote-mark{ font-size:52px; top:18px; right:22px; } }
.faq__list{ max-width:860px; margin:0 auto; }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__q{ width:100%; padding:24px 0; display:flex; align-items:center; justify-content:space-between; text-align:left; font-size:17.5px; font-weight:600; color:var(--ink); gap:20px; }
.faq__q:hover{ color:var(--gold-deep); }
.faq__q-icon{ flex-shrink:0; width:32px; height:32px; background:var(--gold-tint); color:var(--gold-deep); border-radius:9px; display:grid; place-items:center; transition:transform 450ms cubic-bezier(.4,0,.2,1), background var(--ease), box-shadow var(--ease); transform-style:preserve-3d; }
.faq__item.open .faq__q-icon{ transform:rotateY(180deg); background:var(--grad-navy-lively); color:#fff; box-shadow:0 0 20px rgba(46,31,88,.4); }
.faq__a{ max-height:0; overflow:hidden; transition:max-height 320ms cubic-bezier(.4,0,.2,1); }
.faq__a-inner{ padding-bottom:24px; color:var(--ink-faint); font-size:16px; line-height:1.65; max-width:720px; }
.closing{ position:relative; overflow:hidden; background:radial-gradient(900px 500px at 50% 20%, rgba(232,155,47,.2), transparent 65%), var(--ivory-2); }
#confettiCanvas{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.closing__inner{ max-width:780px; margin:0 auto; text-align:center; position:relative; z-index:1; }
.closing h2{ font-size:clamp(34px,4vw,50px); margin-bottom:22px; letter-spacing:-0.025em; color:var(--ink); }
.closing p{ font-size:19px; color:var(--ink-muted); line-height:1.55; max-width:620px; margin:0 auto 36px; }
.foot{ background:var(--grad-navy-lively); color:var(--ink-on-navy-faint); padding:56px 0 36px; font-size:15px; }
.foot__inner{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:end; padding-bottom:32px; border-bottom:1px solid var(--glass-dark-border); }
.foot__brand{ display:flex; flex-direction:column; gap:16px; }
.foot__brand-lockup{ display:flex; align-items:center; gap:11px; }
.foot__mark{ height:34px; width:auto; filter:drop-shadow(0 0 8px rgba(232,155,47,.4)); }
.foot__wordmark{ color:#fff; font-weight:600; font-style:italic; font-size:21px; letter-spacing:-0.02em; }
.foot__tag{ color:var(--ink-on-navy-faint); font-size:14px; max-width:320px; line-height:1.5; }
.foot__meta{ text-align:right; }
.foot__meta a{ color:var(--ink-on-navy-muted); }
.foot__copy{ padding-top:22px; display:flex; justify-content:space-between; align-items:center; color:var(--ink-on-navy-faint); font-size:13px; flex-wrap:wrap; gap:8px; }
@media (max-width:640px){ .foot__inner{ grid-template-columns:1fr; text-align:left; } .foot__meta{ text-align:left; } }
.diag{ min-height:calc(100vh - 76px); background:var(--grad-mesh), var(--grad-navy-lively); padding:56px 0 100px; color:var(--ink-on-navy); }
.diag__wrap{ max-width:780px; margin:0 auto; padding:0 32px; perspective:1400px; }
.diag__back{ display:inline-flex; align-items:center; gap:8px; padding:9px 15px; background:var(--glass-dark); color:#fff; border:1px solid var(--glass-dark-border); border-radius:10px; font-size:14px; font-weight:500; margin-bottom:30px; transition:all var(--ease); }
.diag__back:hover{ border-color:var(--glow-gold); background:var(--glass-dark-strong); }
.diag-stage{ display:none; animation:fadeIn 320ms ease; }
.diag-stage.active{ display:block; }
.diag__intro-eyebrow{ display:inline-block; padding:8px 18px; background:var(--grad-gold); color:var(--navy); font-size:13px; font-weight:800; border-radius:9px; margin-bottom:22px; letter-spacing:.02em; }
.diag__intro h1{ font-size:clamp(32px,4vw,46px); line-height:1.1; margin-bottom:22px; letter-spacing:-0.025em; color:#fff; }
.diag__intro p{ font-size:17.5px; line-height:1.65; color:var(--ink-on-navy-muted); margin-bottom:20px; }
.diag__meta{ display:flex; gap:26px; flex-wrap:wrap; padding:20px 24px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); border-radius:14px; margin:28px 0 34px; }
.diag__meta-item{ display:flex; gap:10px; align-items:center; font-size:15px; color:var(--ink-on-navy-muted); }
.diag__meta-item svg{ color:var(--gold-light); flex-shrink:0; }
.diag__meta-item strong{ color:#fff; font-weight:700; }
.diag__progress{ display:flex; align-items:center; gap:16px; margin-bottom:38px; }
.diag__progress-bar{ flex:1; height:7px; background:var(--glass-dark-strong); border-radius:4px; overflow:hidden; }
.diag__progress-fill{ height:100%; background:var(--grad-mix); background-size:200% auto; border-radius:4px; transition:width 450ms cubic-bezier(.4,0,.2,1); animation:sweep 3s linear infinite; box-shadow:0 0 14px rgba(232,155,47,.5); }
.diag__progress-text{ font-size:13px; font-weight:600; color:var(--ink-on-navy-faint); letter-spacing:.05em; white-space:nowrap; }
.diag__question-card{ padding:46px 50px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); border-radius:24px; margin-bottom:22px; box-shadow:0 20px 50px rgba(12,10,30,.35); transform-style:preserve-3d; transform-origin:center; }
.diag__question-card.flipping{ animation:cardFlip 520ms ease; }
@keyframes cardFlip{ 0%{ transform:rotateY(0deg); } 48%{ transform:rotateY(88deg); opacity:.3; } 52%{ transform:rotateY(-88deg); opacity:.3; } 100%{ transform:rotateY(0deg); opacity:1; } }
.diag__q-dim{ display:inline-block; padding:6px 14px; background:var(--glass-dark-strong); color:var(--gold-light); font-size:12px; font-weight:700; border-radius:7px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:18px; }
.diag__q-text{ font-size:23px; line-height:1.3; color:#fff; font-weight:700; margin-bottom:30px; letter-spacing:-0.015em; }
.diag__options{ display:grid; gap:12px; }
.diag__option{ display:flex; align-items:center; justify-content:space-between; padding:17px 22px; background:var(--glass-dark); border:1.5px solid var(--glass-dark-border); border-radius:14px; transition:all var(--ease); font-size:16px; font-weight:500; color:var(--ink-on-navy-muted); text-align:left; width:100%; }
.diag__option:hover{ border-color:var(--glow-blue); background:var(--glass-dark-strong); transform:translateX(4px); }
.diag__option.selected{ border-color:var(--gold-light); background:var(--grad-gold); color:var(--navy); font-weight:700; box-shadow:0 0 26px var(--gold-glow); }
.diag__option-dot{ width:19px; height:19px; border-radius:50%; border:2px solid var(--glass-dark-border); transition:all var(--ease); flex-shrink:0; }
.diag__option:hover .diag__option-dot{ border-color:var(--electric-ice); }
.diag__option.selected .diag__option-dot{ border-color:var(--navy); background:var(--navy); }
.diag__nav-row{ display:flex; justify-content:space-between; margin-top:22px; }
.diag__nav-btn{ padding:11px 20px; background:var(--glass-dark); border:1.5px solid var(--glass-dark-border); color:var(--ink-on-navy-muted); border-radius:11px; font-size:15px; font-weight:500; transition:all var(--ease); }
.diag__nav-btn:hover:not(:disabled){ border-color:var(--glow-gold); color:#fff; }
.diag__nav-btn:disabled{ opacity:.4; cursor:not-allowed; }
.diag__result{ padding:2px; border-radius:26px; position:relative; overflow:hidden; box-shadow:var(--shadow-gold); margin-bottom:30px; }
.diag__result::before{ content:""; position:absolute; inset:-40%; background:conic-gradient(from 0deg, var(--gold-light), var(--electric-ice), var(--gold-light)); animation:rotateFoil 7s linear infinite; }
.diag__result-inner{ position:relative; margin:2px; background:var(--grad-gold); border-radius:24px; padding:46px 48px; color:var(--navy); }
.diag__score-band{ display:inline-block; padding:6px 14px; background:rgba(12,10,30,.14); color:var(--navy); font-size:12px; font-weight:800; border-radius:7px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:22px; }
.diag__score-huge{ display:flex; align-items:baseline; gap:8px; font-weight:900; margin-bottom:18px; letter-spacing:-0.04em; }
.diag__score-num{ font-size:96px; line-height:1; color:var(--navy); font-variant-numeric:tabular-nums; }
.diag__score-max{ font-size:30px; color:rgba(12,10,30,.5); font-weight:700; }
.diag__score-label{ font-family:var(--font-accent); font-style:italic; font-size:28px; color:var(--navy); font-weight:400; margin-bottom:22px; letter-spacing:-0.015em; }
.diag__score-desc{ font-size:16.5px; line-height:1.65; color:rgba(12,10,30,.8); max-width:620px; font-weight:500; }
.diag__score-desc + .diag__score-desc{ margin-top:14px; }
.diag__dims{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-bottom:30px; }
.diag__dim{ padding:20px 22px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); border-radius:16px; }
.diag__dim-label{ font-size:13px; font-weight:600; color:var(--ink-on-navy-faint); text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
.diag__dim-score{ display:flex; align-items:baseline; gap:4px; margin-bottom:12px; }
.diag__dim-num{ font-size:30px; font-weight:800; color:#fff; letter-spacing:-0.02em; }
.diag__dim-max{ font-size:14.5px; color:var(--ink-on-navy-faint); font-weight:500; }
.diag__dim-bar{ height:7px; background:var(--glass-dark-strong); border-radius:4px; overflow:hidden; }
.diag__dim-bar-fill{ height:100%; border-radius:4px; background:var(--grad-blue); box-shadow:0 0 10px rgba(61,169,252,.5); transition:width 800ms cubic-bezier(.4,0,.2,1) 200ms; width:0; }
.diag__priorities{ padding:38px 42px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); border-radius:20px; margin-bottom:30px; }
.diag__priorities h3{ font-size:21px; margin-bottom:20px; letter-spacing:-0.015em; color:#fff; }
.diag__priorities ol{ list-style:none; padding:0; margin:0; counter-reset:p; }
.diag__priorities li{ padding:18px 0 18px 48px; position:relative; border-bottom:1px solid var(--glass-dark-border); counter-increment:p; font-size:15.5px; line-height:1.55; color:var(--ink-on-navy-muted); }
.diag__priorities li:last-child{ border-bottom:0; }
.diag__priorities li::before{ content:counter(p); position:absolute; left:0; top:16px; width:30px; height:30px; background:var(--grad-gold); color:var(--navy); border-radius:9px; display:grid; place-items:center; font-weight:800; font-size:13.5px; }
.diag__form-card{ padding:42px 46px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); border-radius:24px; box-shadow:0 20px 50px rgba(12,10,30,.35); }
.diag__form-card h3{ font-size:25px; margin-bottom:12px; letter-spacing:-0.02em; color:#fff; }
.diag__form-card > p{ font-size:15.5px; color:var(--ink-on-navy-muted); line-height:1.6; margin-bottom:28px; }
.diag__form{ display:grid; gap:18px; }
.diag__field{ display:flex; flex-direction:column; gap:8px; }
.diag__field-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.diag__label{ font-size:14px; font-weight:600; color:#fff; }
.diag__label .req{ color:var(--gold-light); margin-left:2px; }
.diag__input, .diag__select{ padding:13px 15px; border:1.5px solid var(--glass-dark-border); border-radius:11px; font-family:inherit; font-size:15px; color:#fff; background:rgba(255,255,255,.04); transition:border-color var(--ease), box-shadow var(--ease); }
.diag__input::placeholder{ color:var(--ink-on-navy-faint); }
.diag__input:focus, .diag__select:focus{ outline:none; border-color:var(--gold-light); box-shadow:0 0 0 3px rgba(244,200,105,.2); }
.diag__select option{ background:var(--navy-plum); color:#fff; }
.diag__submit{ padding:16px 28px; background:var(--grad-gold); color:var(--navy); font-weight:800; font-size:16px; border-radius:13px; transition:all var(--ease); margin-top:4px; box-shadow:var(--shadow-gold); }
.diag__submit:hover:not(:disabled){ transform:translateY(-1px); box-shadow:0 18px 40px var(--gold-glow); }
.diag__submit:disabled{ opacity:.5; cursor:not-allowed; }
.diag__privacy{ font-size:13px; color:var(--ink-on-navy-faint); line-height:1.5; margin-top:4px; }
.diag__error{ padding:12px 16px; background:rgba(232,80,80,.14); color:#FFB4B4; border-left:3px solid #FF6B6B; border-radius:8px; font-size:14px; display:none; }
.diag__error.show{ display:block; }
.diag__success{ padding:58px 50px; background:var(--grad-gold); color:var(--navy); border-radius:24px; box-shadow:0 0 60px var(--gold-glow), 0 24px 60px rgba(12,10,30,.4); text-align:center; position:relative; overflow:hidden; }
.diag__success-icon{ width:70px; height:70px; background:rgba(12,30,60,.14); border-radius:50%; display:grid; place-items:center; margin:0 auto 22px; position:relative; }
.diag__success-icon svg{ color:var(--navy); width:38px; height:38px; }
.diag__success h2{ color:var(--navy); font-size:34px; margin-bottom:16px; letter-spacing:-0.025em; position:relative; }
.diag__success p{ font-size:17.5px; line-height:1.6; color:rgba(12,30,60,.8); max-width:560px; margin:0 auto 30px; position:relative; }
.diag__success-actions{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; position:relative; }
.diag__success .btn-primary{ background:var(--navy); color:var(--gold-light); box-shadow:0 14px 30px rgba(0,0,0,.3); }
.diag__success .btn-outline{ border-color:rgba(12,30,60,.35); color:var(--navy); background:rgba(255,255,255,.35); }
@media (max-width:1024px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__portrait{ max-width:360px; aspect-ratio:4/3.6; }
  .method__grid{ grid-template-columns:repeat(2,1fr); }
  .caps__grid{ grid-template-columns:1fr; }
  .delivery__row{ grid-template-columns:1fr; gap:40px; }
  .proof__wrap{ grid-template-columns:1fr; gap:40px; }
  .problem__list{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  .wrap, .wrap--narrow{ padding:0 20px; }
  section{ padding:72px 0; }
  .nav__inner{ padding:0 20px; height:64px; }
  .brand__mark{ height:42px; } .brand__word{ font-size:22px; }
  .hero{ padding-top:66px; }
  .hero__grid{ padding-bottom:48px; }
  .diag{ padding:36px 0 70px; }
  .diag__question-card{ padding:30px 22px; }
  .diag__q-text{ font-size:20px; }
  .diag__result-inner{ padding:34px 24px; }
  .diag__score-num{ font-size:68px; }
  .diag__dims{ grid-template-columns:1fr; }
  .diag__priorities{ padding:28px 22px; }
  .diag__form-card{ padding:30px 22px; }
  .diag__field-row{ grid-template-columns:1fr; }
  .diag__success{ padding:44px 24px; }
  .diag__success h2{ font-size:26px; }
  .pricing__box-inner{ padding:34px 18px; }
  .honesty__box{ padding:32px 20px; }
}
.reveal{ opacity:0; transform:translateY(24px); transition:opacity 700ms ease, transform 700ms ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .hero__badge, .hero__chip{ animation:none; }
  .flipcard-inner, .cap__icon, .diag__question-card{ transition:none; }
}

/* -------------------- ABOUT PAGE ADDITIONS (team cards, accordion FAQ, principal bio, values grid, video placeholders) -------------------- */

a:focus-visible, button:focus-visible{
  outline:2px solid var(--gold-deep); outline-offset:3px; border-radius:4px;
}
@media (max-width:1040px){ .nav__links{ display:none; } .nav__cta{ display:none; } .nav__burger{ display:flex; } }
.reveal-stagger > *{ opacity:0; transform:translateY(18px); transition:opacity 600ms ease, transform 600ms ease; }
.reveal-stagger.in > *{ opacity:1; transform:translateY(0); }
.reveal-stagger.in > *:nth-child(1){ transition-delay:0ms; }
.reveal-stagger.in > *:nth-child(2){ transition-delay:80ms; }
.reveal-stagger.in > *:nth-child(3){ transition-delay:160ms; }
.reveal-stagger.in > *:nth-child(4){ transition-delay:240ms; }
.hero__orbit{ position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.55; }
.hero__orbit span{ position:absolute; border-radius:50%; background:radial-gradient(circle, rgba(232,155,47,.55), transparent 70%); filter:blur(2px); animation:orbitFloat 9s ease-in-out infinite; }
.hero__orbit span:nth-child(1){ width:10px; height:10px; top:18%; left:8%; animation-delay:0s; }
.hero__orbit span:nth-child(2){ width:6px; height:6px; top:62%; left:15%; animation-delay:1.4s; background:radial-gradient(circle, rgba(143,225,255,.6), transparent 70%); }
.hero__orbit span:nth-child(3){ width:8px; height:8px; top:30%; left:92%; animation-delay:2.6s; }
.hero__orbit span:nth-child(4){ width:5px; height:5px; top:75%; left:88%; animation-delay:3.8s; background:radial-gradient(circle, rgba(143,225,255,.6), transparent 70%); }
.hero__orbit span:nth-child(5){ width:7px; height:7px; top:10%; left:55%; animation-delay:1s; }
@keyframes orbitFloat{ 0%,100%{ transform:translateY(0) scale(1); opacity:.5; } 50%{ transform:translateY(-22px) scale(1.3); opacity:1; } }
.hero__inner{ position:relative; z-index:1; max-width:820px; padding-bottom:60px; }
.underline-wrap{ position:relative; display:inline-block; }
.underline-draw{ position:absolute; left:-2%; bottom:-6px; width:104%; height:18px; overflow:visible; pointer-events:none; }
.underline-draw path{ fill:none; stroke:var(--gold); stroke-width:5; stroke-linecap:round; stroke-dasharray:1.05px; stroke-dashoffset:1.05px; pathLength:1; animation:drawUnderline 1100ms cubic-bezier(.4,0,.2,1) 1000ms forwards; }
@keyframes drawUnderline{ to{ stroke-dashoffset:0; } }
.hero__slogan{ font-size:20px; line-height:1.55; color:#fff; margin-bottom:16px; max-width:52ch; font-weight:600; }
.hero__positioning{ font-size:16.5px; line-height:1.6; color:var(--ink-on-navy-muted); margin-bottom:36px; max-width:58ch; }
/* About hero: this is the one page whose hero has no photo and no side band,
   so a centred 820px column left huge, symmetrical empty margins on wide
   screens. Widening the column (and the paragraph line-lengths that were
   capped independently in ch units) lets the same centred text actually
   fill the section, without changing anything else about the page. */
.hero--about .hero__inner{ max-width:1400px; }
.hero--about .hero__title{ max-width:22ch; }
.hero--about .hero__slogan{ max-width:74ch; }
.hero--about .hero__positioning{ max-width:80ch; }
.exist__grid{ display:grid; grid-template-columns:1fr; gap:56px; align-items:start; }
@media (min-width:980px){ .exist__grid{ grid-template-columns:1.15fr 0.85fr; } }
.exist__body p{ font-size:17.5px; line-height:1.72; color:var(--ink-muted); margin-bottom:20px; max-width:64ch; }
.pullquote{ position:relative; margin:36px 0; padding:34px 38px 30px 56px; background:var(--paper); border:1px solid var(--line); border-radius:4px 20px 20px 4px; border-left:4px solid var(--gold); box-shadow:0 20px 46px rgba(20,24,46,.09); }
.pullquote::before{ content:'\201C'; position:absolute; left:14px; top:2px; font-family:var(--font-accent); font-size:64px; line-height:1; color:var(--gold); opacity:.55; }
.pullquote p{ font-family:var(--font-accent); font-style:italic; font-size:22px; line-height:1.5; color:var(--ink); margin:0; max-width:none; }
.mission-band{ margin-top:8px; padding:32px 36px; background:var(--grad-navy-lively); border-radius:20px; box-shadow:0 24px 54px rgba(12,10,30,.28); }
.mission-band p{ color:#fff; font-size:19px; line-height:1.6; font-weight:600; margin:0; max-width:none; }
.hub{ position:relative; width:100%; max-width:340px; margin:0 auto; aspect-ratio:1/1; }
.hub svg{ width:100%; height:100%; overflow:visible; }
.hub-spoke{ stroke:url(#hubGrad); stroke-width:1.6; stroke-dasharray:6 7; opacity:.75; animation:hubFlow 2.6s linear infinite; }
.hub-spoke:nth-child(2){ animation-delay:.1s; }
.hub-spoke:nth-child(3){ animation-delay:.3s; }
.hub-spoke:nth-child(4){ animation-delay:.5s; }
.hub-spoke:nth-child(5){ animation-delay:.2s; }
.hub-spoke:nth-child(6){ animation-delay:.4s; }
.hub-spoke:nth-child(7){ animation-delay:.6s; }
@keyframes hubFlow{ to{ stroke-dashoffset:-26; } }
.hub-node{ fill:var(--paper); stroke:var(--line-strong); stroke-width:1.5; }
.hub-node-center{ fill:url(#hubCenterGrad); filter:drop-shadow(0 6px 16px rgba(232,155,47,.55)); animation:hubPulse 2.4s ease-in-out infinite; }
@keyframes hubPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.07); } }
.hub-cap{ text-align:center; margin-top:18px; font-size:13px; color:var(--ink-faint); font-weight:600; letter-spacing:.02em; }
.values__grid{ display:grid; grid-template-columns:1fr; gap:22px; margin-top:44px; }
@media (min-width:760px){ .values__grid{ grid-template-columns:1fr 1fr; } }
.value__item{ padding:30px 30px 32px; background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 26px rgba(20,24,46,.07); display:flex; flex-direction:column; gap:12px; transition:border-color var(--ease), box-shadow var(--ease), transform var(--ease-spring); }
.value__item:hover{ border-color:var(--gold-deep); box-shadow:0 30px 60px rgba(232,155,47,.2), 0 6px 18px rgba(20,24,46,.12); transform:translateY(-5px); }
.value__icon{ width:50px; height:50px; border-radius:14px; background:var(--gold-tint); border:1px solid rgba(232,155,47,.35); display:grid; place-items:center; color:var(--gold-deep); margin-bottom:4px; transition:background var(--ease), color var(--ease), transform var(--ease-spring), box-shadow var(--ease); }
.value__item:hover .value__icon{ background:var(--grad-gold); color:var(--navy); box-shadow:var(--shadow-gold); transform:scale(1.1) rotate(-5deg) translateZ(20px); }
.value__icon svg{ width:24px; height:24px; }
.value__icon svg path, .value__icon svg circle, .value__icon svg polyline, .value__icon svg line{ stroke-dasharray:90; stroke-dashoffset:90; }
.reveal-stagger.in .value__item:nth-child(1) svg *{ animation:iconDraw 900ms ease forwards .1s; }
.reveal-stagger.in .value__item:nth-child(2) svg *{ animation:iconDraw 900ms ease forwards .25s; }
.reveal-stagger.in .value__item:nth-child(3) svg *{ animation:iconDraw 900ms ease forwards .4s; }
.reveal-stagger.in .value__item:nth-child(4) svg *{ animation:iconDraw 900ms ease forwards .55s; }
@keyframes iconDraw{ to{ stroke-dashoffset:0; } }
.value__tag{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }
.value__item h3{ font-size:18px; font-weight:700; }
.value__item p{ font-size:15px; line-height:1.6; color:var(--ink-muted); }
.honesty__seal{ position:absolute; top:-24px; right:36px; width:82px; height:82px; border-radius:50%; background:var(--grad-gold); display:grid; place-items:center; box-shadow:var(--shadow-gold); border:3px dashed rgba(255,255,255,.55); transform:scale(0) rotate(-25deg); transition:transform 700ms cubic-bezier(.2,1.6,.4,1) 150ms; z-index:2; }
.reveal.in .honesty__seal{ transform:scale(1) rotate(-8deg); }
.honesty__seal svg{ width:32px; height:32px; color:var(--navy); }
@media (max-width:640px){ .honesty__seal{ width:64px; height:64px; top:-18px; right:20px; } .honesty__seal svg{ width:24px; height:24px; } }
.honesty__box h3{ color:#fff; font-size:21px; margin-bottom:16px; }
@media (max-width:640px){ .honesty__box{ padding:32px 24px; } }
.principal__grid{ display:grid; grid-template-columns:1fr; gap:48px; align-items:start; }
@media (min-width:960px){ .principal__grid{ grid-template-columns:1.1fr 0.9fr; } }
.principal__body p{ font-size:17.5px; line-height:1.72; color:var(--ink-muted); margin-bottom:20px; max-width:62ch; }
.principal__pullline{ margin-top:8px; padding-left:20px; border-left:3px solid var(--gold); font-family:var(--font-accent); font-style:italic; font-size:21px; line-height:1.5; color:var(--ink); max-width:58ch; }
.cred-card{ background:var(--paper); border:1px solid var(--line); border-radius:22px; overflow:hidden; box-shadow:var(--shadow-soft); }
.cred-card__head{ display:flex; align-items:center; gap:16px; padding:26px 26px 22px; background:var(--grad-navy-lively); }
.cred-card__photo{ width:64px; height:64px; border-radius:14px; overflow:hidden; flex-shrink:0; box-shadow:0 8px 20px rgba(0,0,0,.3); border:1px solid var(--glass-dark-border); }
.cred-card__photo img{ width:100%; height:100%; object-fit:cover; }
.cred-card__name{ color:#fff; font-weight:700; font-size:16.5px; line-height:1.3; }
.cred-card__role{ color:var(--gold-light); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-top:4px; }
.cred-card__list{ list-style:none; margin:0; padding:22px 26px 26px; display:flex; flex-direction:column; gap:16px; }
.cred-card__list li{ display:flex; gap:12px; align-items:flex-start; font-size:14.5px; line-height:1.55; color:var(--ink-muted); }
.cred-check{ flex-shrink:0; width:22px; height:22px; margin-top:1px; background:var(--gold-tint); border:1px solid rgba(232,155,47,.35); border-radius:7px; display:grid; place-items:center; color:var(--gold-deep); }
.journey__cap{ font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:28px; }
.journey{ position:relative; padding-top:7px; }
.journey::before{ content:""; position:absolute; top:13px; left:calc(10% ); right:calc(10%); height:0; border-top:2px dashed var(--line-strong); }
.journey__pulse{ position:absolute; top:7px; left:10%; width:14px; height:14px; margin-left:-7px; border-radius:50%; background:var(--grad-gold); box-shadow:0 0 14px var(--gold-glow), 0 0 3px rgba(255,255,255,.8); opacity:0; animation:journeyTravel 6s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes journeyTravel{ 0%{ left:10%; opacity:0; } 6%{ opacity:1; } 94%{ opacity:1; } 100%{ left:90%; opacity:0; } }
.journey__nodes{ display:flex; justify-content:space-between; position:relative; z-index:1; }
.journey__node{ display:flex; flex-direction:column; align-items:center; gap:11px; flex:1; }
.journey__node .dot{ width:14px; height:14px; border-radius:50%; background:var(--paper); border:2.5px solid var(--gold-deep); box-shadow:0 4px 10px rgba(20,24,46,.1); transition:transform var(--ease), background var(--ease); }
.journey__node:hover .dot{ background:var(--grad-gold); transform:scale(1.25); }
.journey__node .label{ font-size:12px; font-weight:700; color:var(--ink-faint); text-align:center; letter-spacing:.01em; }
@media (max-width:700px){ .journey__node .label{ font-size:10px; } .journey::before{ left:6%; right:6%; } }
.delivery3__wrap{ position:relative; }
.delivery3__track{ display:none; position:absolute; top:89px; left:16.6%; right:16.6%; height:0; border-top:2px solid var(--line-strong); z-index:0; }
@media (min-width:820px){ .delivery3__track{ display:block; } }
.delivery3__dot{ position:absolute; top:-5px; left:0; width:10px; height:10px; border-radius:50%; background:var(--grad-gold); box-shadow:0 0 10px var(--gold-glow); opacity:0; animation:deliveryRun 3.3s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes deliveryRun{ 0%{ left:0%; opacity:0; } 6%{ opacity:1; } 94%{ opacity:1; } 100%{ left:calc(100% - 10px); opacity:0; } }
.delivery3__grid{ position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:20px; margin-top:44px; }
@media (min-width:820px){ .delivery3__grid{ grid-template-columns:repeat(3,1fr); } }
.delivery3__item{ padding:28px 26px; background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 26px rgba(20,24,46,.06); transition:transform var(--ease-spring), box-shadow var(--ease), border-color var(--ease); }
.delivery3__item:hover{ transform:translateY(-6px); border-color:var(--gold-deep); box-shadow:var(--shadow-gold); }
.delivery3__num{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; background:var(--grad-navy-lively); color:#fff; font-weight:800; font-size:14px; border-radius:10px; margin-bottom:16px; }
.delivery3__item h3{ font-size:16.5px; margin-bottom:10px; }
.delivery3__item p{ font-size:14.5px; line-height:1.6; color:var(--ink-muted); }
.team__grid{ display:grid; grid-template-columns:1fr; gap:24px; margin-top:52px; align-items:start; }
@media (min-width:900px){ .team__grid{ grid-template-columns:repeat(3,1fr); } }
.team__card{ position:relative; background:var(--paper); border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:0 10px 26px rgba(20,24,46,.06); transition:box-shadow var(--ease), transform var(--ease-spring), border-color var(--ease); }
.team__card:hover{ transform:translateY(-6px); border-color:var(--gold-deep); box-shadow:var(--shadow-gold); }
.team__top{ width:100%; display:flex; gap:16px; padding:24px 24px 20px; align-items:center; text-align:left; }
.team__photo{ width:66px; height:66px; border-radius:15px; overflow:hidden; flex-shrink:0; box-shadow:0 8px 20px rgba(20,24,46,.2); }
.team__photo img{ width:100%; height:100%; object-fit:cover; }
.team__name{ font-size:16.5px; font-weight:700; letter-spacing:-0.01em; }
.team__role{ font-size:12px; color:var(--gold-deep); font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-top:4px; line-height:1.4; }
.team__expand-icon{ margin-left:auto; flex-shrink:0; width:26px; height:26px; border:1px solid var(--line-strong); border-radius:8px; display:grid; place-items:center; color:var(--ink-faint); transition:transform 400ms cubic-bezier(.4,0,.2,1), background var(--ease), color var(--ease), border-color var(--ease); }
.team__card.open .team__expand-icon{ transform:rotate(180deg); background:var(--grad-navy-lively); color:#fff; border-color:transparent; }
.team__detail{ max-height:0; overflow:hidden; transition:max-height 360ms cubic-bezier(.4,0,.2,1); }
.team__detail-inner{ padding:0 24px 24px; color:var(--ink-muted); font-size:14.5px; line-height:1.65; border-top:1px solid var(--line); padding-top:18px; margin:0 24px 24px; }
.team__link{ display:inline-flex; gap:7px; align-items:center; padding:8px 14px; border:1px solid var(--line-strong); border-radius:999px; font-size:13px; font-weight:600; color:var(--ink); margin-top:14px; transition:all var(--ease); }
.team__link:hover{ border-color:var(--gold-deep); color:var(--gold-deep); background:var(--gold-tint); }
.team__teaser{ border:1.5px dashed var(--line-strong); border-radius:20px; padding:30px 26px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; justify-content:center; min-height:100px; color:var(--ink-faint); background:var(--ivory); transition:border-color var(--ease), background var(--ease); }
.team__teaser:hover{ border-color:var(--gold-deep); background:var(--gold-tint); }
.team__teaser .icon{ width:40px; height:40px; border-radius:11px; background:var(--paper); border:1px solid var(--line-strong); color:var(--gold-deep); display:grid; place-items:center; }
.team__teaser p{ font-size:14px; line-height:1.55; }
.promise__grid{ display:grid; grid-template-columns:1fr; gap:1px; margin-top:44px; background:var(--glass-dark-border); border-radius:20px; overflow:hidden; border:1px solid var(--glass-dark-border); }
@media (min-width:760px){ .promise__grid{ grid-template-columns:1fr 1fr; } }
.promise__item{ position:relative; display:flex; gap:20px; align-items:flex-start; padding:30px 32px; background:rgba(12,10,30,.34); transition:background var(--ease); overflow:hidden; }
.promise__item:hover{ background:rgba(12,10,30,.55); }
.promise__item::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--grad-gold); transform:scaleY(0); transform-origin:top; transition:transform 420ms cubic-bezier(.4,0,.2,1); }
.promise__item:hover::before{ transform:scaleY(1); }
.promise__num{ flex-shrink:0; font-family:var(--font-accent); font-size:38px; line-height:1; color:var(--gold-light); font-weight:400; opacity:.9; }
.promise__item p{ font-size:17px; line-height:1.55; color:#fff; font-weight:600; margin:0; max-width:none; }
.closing__inner h2{ font-size:clamp(30px,3.6vw,42px); letter-spacing:-0.025em; color:var(--ink); max-width:15ch; }
.closing__inner p{ font-size:17px; color:var(--ink-muted); line-height:1.6; max-width:48ch; margin-top:14px; }
.closing__ctas{ display:flex; flex-wrap:wrap; gap:16px; }
.foot__nav{ display:flex; flex-wrap:wrap; gap:20px; justify-content:flex-end; }
.foot__nav a{ color:var(--ink-on-navy-muted); font-size:14.5px; cursor:pointer; }
.foot__nav a:hover{ color:var(--gold-light); }
@media (max-width:640px){ .foot__inner{ grid-template-columns:1fr; text-align:left; } .foot__nav{ justify-content:flex-start; } }
@media (max-width:768px){
  .wrap, .wrap--narrow{ padding:0 20px; }
  section{ padding:72px 0; }
  .nav__inner{ padding:0 20px; height:64px; }
  .brand__mark{ height:32px; } .brand__word{ font-size:19px; }
  .hero{ padding-top:56px; }
  .hero__inner{ padding-bottom:44px; }
  .closing__inner{ text-align:left; }
  .honesty__box{ margin-top:36px; }
  .pullquote{ padding:28px 24px 26px 44px; }
  .pullquote::before{ font-size:50px; left:10px; }
}
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-stagger > *{ opacity:1; transform:none; transition:none; }
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* -------------------- HOW WE WORK ADDITIONS (stepper, stage cards, cadence cards) -------------------- */

@property --stage-ring-ang{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
@media (max-width:1040px){ .nav__links{ display:none; } .nav__cta{ display:none; } .nav__burger{ display:flex; } }
.reveal-stagger.in > *:nth-child(5){ transition-delay:320ms; }
.reveal-stagger.in > *:nth-child(6){ transition-delay:400ms; }
.reveal-stagger.in > *:nth-child(7){ transition-delay:480ms; }
.reveal-stagger.in > *:nth-child(8){ transition-delay:560ms; }
@media (max-width:980px){ .hero__grid{ grid-template-columns:1fr; gap:8px; } }
.hero__seo-chip{ display:inline-flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.hero__seo-chip span{ padding:6px 14px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); border-radius:999px; font-size:12.5px; color:var(--ink-on-navy-muted); font-weight:600; }
.hero__loop{ display:flex; align-items:center; justify-content:center; }
.loop{ position:relative; width:100%; max-width:330px; aspect-ratio:1/1; }
.loop__ring{ position:absolute; inset:0; width:100%; height:100%; }
.loop__ring-arc{ animation: loopDash 16s linear infinite; }
@keyframes loopDash{ to{ stroke-dashoffset:-450; } }
.loop__spin{ position:absolute; inset:0; animation: loopSpin 13s linear infinite; }
@keyframes loopSpin{ to{ transform:rotate(360deg); } }
.loop__traveler{ position:absolute; top:0%; left:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; background:radial-gradient(circle, #fff, var(--gold-light)); box-shadow:0 0 18px 5px rgba(244,200,105,.6), 0 0 5px #fff; }
.loop__center{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:116px; height:116px; border-radius:50%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(6px); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:4px; animation:loopCenterPop 900ms cubic-bezier(.2,1.4,.4,1) 200ms backwards; }
@keyframes loopCenterPop{ 0%{ transform:translate(-50%,-50%) scale(.6); opacity:0; } 100%{ transform:translate(-50%,-50%) scale(1); opacity:1; } }
.loop__center strong{ font-size:18px; font-weight:800; color:#fff; }
.loop__center span{ font-size:10.5px; color:var(--ink-on-navy-faint); max-width:82px; line-height:1.3; }
.loop__node{ position:absolute; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; gap:5px; animation:nodePop 700ms cubic-bezier(.2,1.4,.4,1) backwards; }
@keyframes nodePop{ 0%{ opacity:0; transform:translate(-50%,-50%) scale(.4); } 100%{ opacity:1; transform:translate(-50%,-50%) scale(1); } }
.loop__node-num{ width:36px; height:36px; border-radius:50%; background:var(--paper); display:grid; place-items:center; font-weight:800; font-size:14.5px; color:var(--navy); box-shadow:0 6px 18px rgba(0,0,0,.3); transition:transform var(--ease-spring); }
.loop__node--blue .loop__node-num{ border:2.5px solid var(--electric); box-shadow:0 0 14px rgba(61,169,252,.5), 0 6px 16px rgba(0,0,0,.28); }
.loop__node--gold .loop__node-num{ border:2.5px solid var(--gold); box-shadow:0 0 14px var(--gold-glow), 0 6px 16px rgba(0,0,0,.28); }
.loop__node:hover .loop__node-num{ transform:scale(1.16); }
.loop__node-label{ font-size:11.5px; font-weight:700; color:#fff; white-space:nowrap; text-shadow:0 2px 6px rgba(0,0,0,.4); }
@media (max-width:980px){ .loop{ max-width:280px; margin:0 auto; } }
@media (max-width:480px){ .loop{ max-width:240px; } .loop__center{ width:92px; height:92px; } .loop__center strong{ font-size:15px; } .loop__center span{ font-size:9.5px; } .loop__node-num{ width:30px; height:30px; font-size:12px; } .loop__node-label{ font-size:9.5px; } }
/* How We Work hero — the 5-D loop diagram used to sit small and top-anchored next to a
   much taller text column (the shared .hero__grid switches to align-items:start at
   1440px+), leaving a large empty gap under and beside the circle, and the loop's own
   internal type (stage numbers, labels, centre caption) stayed fixed-size while the
   circle grew, so it read as illegible dots. Fix: give the visual column more of the
   row (grid ratio, not just a bigger circle), keep the row vertically centred at every
   width, size the loop up substantially, scale every piece of its internal type up to
   match, and step the headline/copy up a full notch so the text column reads as a real
   half of the hero rather than a small block with dead air around it. */
.hero--work .hero__grid{ grid-template-columns:1fr 1fr; column-gap:24px; align-items:center; }
/* Title and lead paragraph use the exact same size formula as the Home / What We Do
   hero (.hero--photo .hero__title / .hero__sub: clamp(36px,4.4vw,76px) and flat 19px)
   so the type reads consistently across every hero on the site — the loop graphic,
   not oversized copy, is what fills this hero's visual column. */
.hero--work .hero__title{ font-size:clamp(36px,4.4vw,76px); line-height:1.08; max-width:12ch; margin-bottom:24px; }
.hero--work .hero__slogan{ font-size:19px; line-height:1.6; max-width:52ch; margin-bottom:16px; }
.hero--work .hero__positioning{ font-size:16.5px; max-width:56ch; }
.hero--work .loop{ max-width:460px; }
.hero--work .loop__center{ width:150px; height:150px; }
.hero--work .loop__center strong{ font-size:23px; }
.hero--work .loop__center span{ font-size:13px; max-width:112px; }
.hero--work .loop__node-num{ width:46px; height:46px; font-size:18px; }
.hero--work .loop__node-label{ font-size:14.5px; }
@media (min-width:1440px){
  .hero--work .loop{ max-width:560px; }
  .hero--work .loop__center{ width:180px; height:180px; }
  .hero--work .loop__center strong{ font-size:27px; }
  .hero--work .loop__center span{ font-size:14.5px; max-width:130px; }
  .hero--work .loop__node-num{ width:54px; height:54px; font-size:21px; }
  .hero--work .loop__node-label{ font-size:16px; }
}
@media (min-width:1920px){
  .hero--work .loop{ max-width:640px; }
  .hero--work .loop__center{ width:206px; height:206px; }
  .hero--work .loop__center strong{ font-size:31px; }
  .hero--work .loop__center span{ font-size:16px; max-width:148px; }
  .hero--work .loop__node-num{ width:60px; height:60px; font-size:23px; }
  .hero--work .loop__node-label{ font-size:17.5px; }
}
@media (max-width:980px){ .hero--work .hero__grid{ grid-template-columns:1fr; } .hero--work .loop{ max-width:320px; } }
/* Same mobile clamp Home / What We Do switch to below 900px, so the headline matches
   there too instead of holding at the (larger) desktop formula's 36px floor. */
@media (max-width:900px){ .hero--work .hero__title{ font-size:clamp(30px,7.4vw,42px); max-width:none; margin-bottom:12px; } }
.method-intro{ max-width:760px; }
.method-intro p{ font-size:17.5px; line-height:1.72; color:var(--ink-muted); margin-bottom:20px; }
.stepper{ margin-top:44px; }
.stepper__row{ position:relative; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.stepper__track{ display:none; position:absolute; top:23px; height:0; z-index:0; }
.stepper__track--blue{ left:9%; width:41%; border-top:2px dashed rgba(61,169,252,.45); }
.stepper__track--gold{ left:50%; width:41%; border-top:2px dashed rgba(232,155,47,.5); }
.stepper__pulse-track{ display:none; position:absolute; top:23px; left:9%; right:9%; height:0; z-index:1; }
@media (min-width:700px){ .stepper__track{ display:block; } .stepper__pulse-track{ display:block; } .stepper__row{ flex-wrap:nowrap; } }
.stepper__pulse{ position:absolute; top:-6px; left:0; width:13px; height:13px; margin-top:-1px; border-radius:50%; background:var(--electric); box-shadow:0 0 14px rgba(61,169,252,.5), 0 0 3px rgba(255,255,255,.8); opacity:0; animation:stepperTravel 5s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes stepperTravel{
  0%{ left:0%; opacity:0; background:var(--electric); box-shadow:0 0 14px rgba(61,169,252,.5); }
  6%{ opacity:1; }
  48%{ background:var(--electric); box-shadow:0 0 14px rgba(61,169,252,.5); }
  52%{ background:var(--gold); box-shadow:0 0 14px var(--gold-glow); }
  94%{ opacity:1; background:var(--gold); }
  100%{ left:calc(100% - 13px); opacity:0; background:var(--gold); }
}
.stepper__chip{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:12px; flex:1; min-width:84px; }
.stepper__num{ width:46px; height:46px; border-radius:50%; background:var(--paper); border:2.5px solid var(--line-strong); color:var(--ink); font-weight:800; font-size:17px; display:grid; place-items:center; box-shadow:0 8px 20px rgba(20,24,46,.1); transition:transform var(--ease), background var(--ease), color var(--ease), border-color var(--ease); }
.stepper__chip--blue .stepper__num{ border-color:var(--electric); color:var(--electric); }
.stepper__chip--blue:hover .stepper__num{ background:var(--grad-blue); color:#fff; transform:scale(1.12); }
.stepper__chip--blue:hover .stepper__label{ color:var(--electric); }
.stepper__chip--gold .stepper__num{ border-color:var(--gold-deep); color:var(--gold-deep); }
.stepper__chip--gold:hover .stepper__num{ background:var(--grad-gold); color:var(--navy); transform:scale(1.12); }
.stepper__chip--gold:hover .stepper__label{ color:var(--gold-deep); }
.stepper__label{ font-size:13.5px; font-weight:700; color:var(--ink); text-align:center; transition:color var(--ease); }
.stepper__phases{ display:flex; gap:14px; flex-wrap:wrap; margin-top:32px; }
.stepper__phase{ display:flex; align-items:center; gap:10px; padding:14px 18px; background:var(--paper); border:1px solid var(--line); border-radius:12px; font-size:14px; color:var(--ink-muted); font-weight:600; min-width:220px; }
.stepper__phase .dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.stepper__phase .dot.sky{ background:var(--electric); box-shadow:0 0 8px rgba(61,169,252,.5); }
.stepper__phase .dot.gold{ background:var(--gold); box-shadow:0 0 8px var(--gold-glow); }
.stages{ position:relative; margin-top:56px; max-width:820px; }
.stages__spine{ position:absolute; top:4px; bottom:4px; left:27px; width:3px; background:var(--line); border-radius:3px; z-index:0; }
.stages__spine-fill{ position:absolute; top:0; left:0; width:100%; height:0%; background:linear-gradient(180deg, var(--electric) 0%, var(--electric-ice) 24%, var(--gold-light) 58%, var(--gold-deep) 100%); border-radius:3px; box-shadow:0 0 10px rgba(61,169,252,.4); transition:height 120ms linear; }
.stage-card{ position:relative; padding-left:70px; margin-bottom:56px; }
.stage-card:last-child{ margin-bottom:0; }
.stage-node{ position:absolute; left:27px; top:2px; transform:translateX(-50%); width:42px; height:42px; border-radius:50%; background:var(--paper); border:2.5px solid var(--line-strong); display:grid; place-items:center; font-weight:800; font-size:16px; color:var(--ink-faint); z-index:2; transition:all 420ms cubic-bezier(.2,1.4,.4,1); }
.stage-node.active.stage-node--blue{ background:var(--grad-blue); border-color:transparent; color:#fff; box-shadow:0 0 0 6px rgba(61,169,252,.18), var(--shadow-blue); transform:translateX(-50%) scale(1.08); }
.stage-node.active.stage-node--gold{ background:var(--grad-gold); border-color:transparent; color:var(--navy); box-shadow:0 0 0 6px rgba(232,155,47,.16), var(--shadow-gold); transform:translateX(-50%) scale(1.08); }
.stage-card__inner{ position:relative; background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:30px 32px; box-shadow:0 10px 26px rgba(20,24,46,.06), 0 0 20px 1px rgba(61,169,252,.22); animation:stageGlowPulse 3.4s ease-in-out infinite; transition:border-color var(--ease), transform var(--ease-spring); }
@keyframes stageGlowPulse{ 0%,100%{ box-shadow:0 10px 26px rgba(20,24,46,.06), 0 0 16px 0px rgba(61,169,252,.18); } 50%{ box-shadow:0 10px 26px rgba(20,24,46,.06), 0 0 30px 3px rgba(61,169,252,.38); } }
.stage-card__inner::before{ content:''; position:absolute; inset:-2px; border-radius:23px; padding:2px; background:conic-gradient(from var(--stage-ring-ang,0deg), var(--electric-ice), var(--electric), var(--blue), var(--electric), var(--electric-ice)); mask-image:linear-gradient(#fff 0 0), linear-gradient(#fff 0 0); mask-clip:content-box, border-box; mask-composite:exclude; animation:stageRingSpin 6s linear infinite; pointer-events:none; z-index:1; }
@keyframes stageRingSpin{ to{ --stage-ring-ang:360deg; } }
.stage-card__inner.is-blue:hover{ animation:none; border-color:var(--electric); box-shadow:var(--shadow-blue); }
.stage-card__inner.is-gold:hover{ animation:none; border-color:var(--gold-deep); box-shadow:var(--shadow-gold); }
.stage-card__head{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.stage-card__icon{ width:40px; height:40px; border-radius:12px; background:var(--gold-tint); border:1px solid rgba(232,155,47,.35); color:var(--gold-deep); display:grid; place-items:center; flex-shrink:0; transition:transform var(--ease-spring); }
.stage-card__inner.is-blue .stage-card__icon{ background:var(--sky-tint); border-color:rgba(61,169,252,.35); color:var(--electric); }
.stage-card__inner:hover .stage-card__icon{ transform:scale(1.12) rotate(-6deg); }
.stage-card:has(.stage-node.active) .stage-card__icon{ animation:iconPulseIn 600ms cubic-bezier(.2,1.4,.4,1); }
@keyframes iconPulseIn{ 0%{ transform:scale(.55) rotate(-16deg); opacity:.45; } 60%{ transform:scale(1.18) rotate(6deg); } 100%{ transform:scale(1) rotate(0); } }
.stage-card__icon svg{ width:20px; height:20px; }
.stage-card__name{ font-size:23px; font-weight:800; letter-spacing:-0.015em; }
.stage-card__tag{ margin-left:auto; padding:6px 13px; background:var(--ivory-2); border-radius:999px; font-size:12px; font-weight:700; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em; }
.stage-card__inner p{ font-size:15.5px; line-height:1.65; color:var(--ink-muted); margin-bottom:14px; }
.stage-card__inner p:last-of-type{ margin-bottom:18px; }
.stage-card__receive{ display:flex; gap:14px; align-items:flex-start; padding:16px 18px; background:var(--ivory-2); border-radius:14px; border-left:3px solid var(--gold); }
.stage-card__inner.is-blue .stage-card__receive{ border-left-color:var(--electric); }
.stage-card__receive-icon{ flex-shrink:0; width:30px; height:30px; border-radius:9px; background:var(--gold-tint); color:var(--gold-deep); display:grid; place-items:center; margin-top:1px; }
.stage-card__inner.is-blue .stage-card__receive-icon{ background:var(--sky-tint); color:var(--electric); }
.stage-card__receive-icon svg{ width:15px; height:15px; }
.stage-card__receive strong{ display:block; font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-deep); margin-bottom:4px; }
.stage-card__inner.is-blue .stage-card__receive strong{ color:var(--blue); }
.stage-card__receive span{ font-size:14.5px; line-height:1.55; color:var(--ink); }
@media (max-width:560px){ .stage-card{ padding-left:56px; } .stage-card__inner{ padding:24px 20px; } .stages__spine, .stage-node{ left:19px; } .stage-node{ width:36px; height:36px; font-size:14px; } .stage-card__name{ font-size:20px; } }
.cadence__grid{ display:grid; grid-template-columns:1fr; gap:22px; margin-top:44px; }
@media (min-width:760px){ .cadence__grid{ grid-template-columns:1fr 1fr; } }
.cadence__item{ padding:28px 28px 30px; background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 26px rgba(20,24,46,.06); display:flex; gap:18px; transition:border-color var(--ease), box-shadow var(--ease), transform var(--ease-spring); }
.cadence__item--gold:hover{ border-color:var(--gold-deep); box-shadow:0 30px 60px rgba(232,155,47,.18), 0 6px 18px rgba(20,24,46,.1); transform:translateY(-5px); }
.cadence__item--blue:hover{ border-color:var(--electric); box-shadow:0 30px 60px rgba(61,169,252,.18), 0 6px 18px rgba(20,24,46,.1); transform:translateY(-5px); }
.cadence__icon{ flex-shrink:0; width:48px; height:48px; border-radius:13px; background:var(--gold-tint); border:1px solid rgba(232,155,47,.35); display:grid; place-items:center; color:var(--gold-deep); transition:transform var(--ease-spring); }
.cadence__item--blue .cadence__icon{ background:var(--sky-tint); border-color:rgba(61,169,252,.35); color:var(--electric); }
.cadence__item:hover .cadence__icon{ transform:scale(1.14) rotate(-8deg); }
.cadence__icon svg{ width:23px; height:23px; }
.section--navy .cadence__item{ background:var(--glass-dark); border:1px solid var(--glass-dark-border); backdrop-filter:blur(10px); box-shadow:0 22px 50px rgba(6,10,24,.35); }
.section--navy .cadence__item--blue:hover{ border-color:var(--electric-ice); box-shadow:0 30px 64px rgba(61,169,252,.28), 0 8px 20px rgba(6,10,24,.4); }
.section--navy .cadence__item--gold:hover{ border-color:var(--gold-light); box-shadow:0 30px 64px rgba(232,155,47,.3), 0 8px 20px rgba(6,10,24,.4); }
.section--navy .cadence__item--blue .cadence__icon{ background:rgba(61,169,252,.16); border-color:rgba(143,225,255,.4); color:var(--electric-ice); }
.section--navy .cadence__item--gold .cadence__icon{ background:rgba(232,155,47,.18); border-color:rgba(244,200,105,.42); color:var(--gold-light); }
.section--navy .cadence__item p{ color:var(--ink-on-navy-muted); }
.cadence__item h3{ font-size:17px; margin-bottom:8px; }
.cadence__item p{ font-size:14.5px; line-height:1.6; color:var(--ink-muted); }
.faq__item.open:nth-child(odd){ border-left-color:var(--electric); }
.faq__item.open:nth-child(even){ border-left-color:var(--gold); }
@media (max-width:640px){ .foot__inner{ grid-template-columns:1fr; text-align:left; } .foot__nav{ justify-content:flex-start; } }
@media (max-width:768px){
  .wrap, .wrap--narrow{ padding:0 20px; }
  section{ padding:72px 0; }
  .nav__inner{ padding:0 20px; height:64px; }
  .brand__mark{ height:42px; } .brand__word{ font-size:22px; }
  .hero{ padding-top:56px; }
  .hero__inner{ padding-bottom:44px; }
  .closing__inner{ text-align:left; }
  .pullquote{ padding:28px 24px 26px 44px; }
  .pullquote::before{ font-size:50px; left:10px; }
  .stage-card__tag{ margin-left:0; }
}
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-stagger > *{ opacity:1; transform:none; transition:none; }
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* -------------------- WHAT WE DO ADDITIONS (capability table, capability detail cards, glow-frame) -------------------- */

@media (min-width:1440px){ :root{ --wrap:1440px; --wrap-narrow:1040px; } }
@media (min-width:1800px){ :root{ --wrap:1680px; --wrap-narrow:1160px; } }
@media (min-width:2200px){ :root{ --wrap:1920px; --wrap-narrow:1280px; } }
@media (min-width:2800px){ :root{ --wrap:2200px; --wrap-narrow:1400px; } }
@media (min-width:3400px){ :root{ --wrap:2440px; --wrap-narrow:1500px; } }
*{ box-sizing:border-box; }
ul{ margin:0; padding:0; }
@media (max-width:1040px){ .nav__links{ display:none; } .nav__cta{ display:none; } .nav__burger{ display:flex; } }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } }
.hstrip{ position:relative; z-index:1; border-top:1px solid var(--glass-dark-border); background:rgba(255,255,255,.03); }
.hstrip__row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--glass-dark-border); }
.hstrip__item{ background:rgba(12,10,30,.35); padding:24px 26px; transition:background var(--ease), transform var(--ease); }
.hstrip__item:hover{ background:rgba(12,10,30,.55); transform:translateY(-2px); }
.hstrip__item .tag{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-light); margin-bottom:6px; }
.hstrip__item .stat{ font-size:14.5px; color:#fff; font-weight:600; line-height:1.4; }
@media (max-width:900px){ .hstrip__row{ grid-template-columns:repeat(2,1fr); } }
.glance__panel{ position:relative; border-radius:22px; overflow:hidden; box-shadow:var(--shadow-lift); border:1px solid var(--glass-dark-border); background:rgba(255,255,255,.03); }
.glance__table{ width:100%; border-collapse:collapse; }
.glance__table thead th{ text-align:left; padding:18px 28px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-light); border-bottom:1px solid var(--glass-dark-border); background:rgba(0,0,0,.12); }
.glance__table thead th:last-child, .glance__table tbody td:last-child{ text-align:right; }
.glance__row{ cursor:pointer; transition:background var(--ease); }
.glance__row:hover{ background:rgba(255,255,255,.05); }
.glance__row:not(:last-child) td{ border-bottom:1px solid var(--glass-dark-border); }
.glance__table td{ padding:22px 28px; vertical-align:top; }
.glance__name{ display:flex; align-items:center; gap:14px; }
.glance__icon{ flex-shrink:0; width:38px; height:38px; border-radius:10px; display:grid; place-items:center; }
.glance__icon svg{ width:19px; height:19px; }
.glance__icon--blue{ background:var(--grad-blue); color:#08152e; box-shadow:0 8px 20px rgba(61,169,252,.3); }
.glance__icon--gold{ background:var(--grad-gold); color:var(--navy); box-shadow:0 8px 20px var(--gold-glow); }
.glance__name strong{ display:block; font-size:16.5px; font-weight:700; color:#fff; }
.glance__name span.arrow{ display:inline-flex; margin-left:4px; opacity:0; transform:translateX(-4px); transition:opacity var(--ease), transform var(--ease); color:var(--gold-light); }
.glance__row:hover .arrow{ opacity:1; transform:translateX(0); }
.glance__what{ font-size:14.5px; line-height:1.55; color:var(--ink-on-navy-muted); max-width:36ch; }
.glance__price{ font-size:15px; font-weight:700; color:#fff; white-space:nowrap; }
@media (max-width:820px){
  .glance__table thead{ display:none; }
  .glance__table, .glance__table tbody, .glance__table tr, .glance__table td{ display:block; width:100%; }
  .glance__table td{ padding:8px 22px; }
  .glance__row{ padding:16px 0; }
  .glance__what{ max-width:none; margin:8px 0 10px 52px; }
  .glance__price{ margin-left:52px; }
}
.detail__intro{ margin-bottom:48px; max-width:760px; }
.cap-sub{ margin-top:88px; padding-top:40px; border-top:1px solid var(--line); }
.cap-sub--first{ margin-top:0; padding-top:0; border-top:none; }
@media (max-width:640px){ .cap-sub{ margin-top:60px; padding-top:28px; } }
.detail__frame{ position:relative; border-radius:29px; isolation:isolate; }
.detail__frame::before{ content:""; position:absolute; inset:-3px; border-radius:inherit; z-index:0;
  background:conic-gradient(from 0deg, transparent 0deg, var(--gold-light) 30deg, var(--gold) 55deg, transparent 92deg, transparent 268deg, var(--gold) 305deg, var(--gold-light) 330deg, transparent 360deg);
  filter:blur(.6px); animation:frameSpin 8s linear infinite; will-change:transform; }
.detail__frame--blue::before{ background:conic-gradient(from 0deg, transparent 0deg, var(--electric-ice) 30deg, var(--electric) 55deg, transparent 92deg, transparent 268deg, var(--electric) 305deg, var(--electric-ice) 330deg, transparent 360deg); }
.detail__frame .detail__panel{ position:relative; z-index:1; }
@keyframes frameSpin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .detail__frame::before{ animation:none; } }
.detail__panel{ display:grid; grid-template-columns:.85fr 1.15fr; border-radius:26px; overflow:hidden; box-shadow:var(--shadow-soft); }
.detail__price{ background:var(--grad-navy-lively); color:#fff; padding:48px 42px; display:flex; flex-direction:column; gap:28px; position:relative; overflow:hidden; }
.detail__price::before{ content:""; position:absolute; top:-60px; right:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(232,155,47,.32), transparent 70%); pointer-events:none; }
.detail__panel--blue .detail__price::before{ background:radial-gradient(circle, rgba(61,169,252,.32), transparent 70%); }
.detail__glyph{ flex:1; display:flex; align-items:center; justify-content:center; min-height:88px; position:relative; z-index:1; }
.detail__glyph svg{ width:132px; height:132px; animation:glyphFloat 5s ease-in-out infinite; }
.detail__panel:not(.detail__panel--blue) .detail__glyph svg{ color:var(--gold-light); opacity:.22; }
.detail__panel--blue .detail__glyph svg{ color:var(--electric-ice); opacity:.22; }
@keyframes glyphFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
@media (prefers-reduced-motion: reduce){ .detail__glyph svg{ animation:none; } }
@media (max-width:900px){ .detail__glyph{ display:none; } }
.detail__led{ display:inline-flex; align-items:center; gap:10px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); padding:9px 16px; border-radius:999px; width:fit-content; position:relative; z-index:1; }
.detail__led-icon{ flex-shrink:0; width:26px; height:26px; border-radius:8px; display:grid; place-items:center; }
.detail__led-icon svg{ width:14px; height:14px; }
.detail__panel:not(.detail__panel--blue) .detail__led-icon{ background:var(--grad-gold); color:var(--navy); }
.detail__panel--blue .detail__led-icon{ background:var(--grad-blue); color:#08152e; }
.detail__led span.label{ font-size:13px; color:#fff; font-weight:600; }
.detail__amount{ font-weight:800; font-size:clamp(24px,2.6vw,32px); color:#fff; letter-spacing:-0.02em; position:relative; z-index:1; margin-top:24px; display:block; }
.detail__unit{ display:block; font-size:14px; color:var(--ink-on-navy-muted); margin-top:8px; font-weight:500; }
.detail__note{ font-size:13.5px; color:var(--ink-on-navy-faint); border-top:1px solid var(--glass-dark-border); padding-top:18px; position:relative; z-index:1; line-height:1.6; }
.detail__body{ background:var(--paper); padding:48px 46px; display:flex; flex-direction:column; gap:26px; }
.detail__body > p.lede{ font-size:17.5px; line-height:1.62; color:var(--ink-muted); margin:0; max-width:none; }
.detail__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.detail__list li{ display:flex; gap:14px; align-items:flex-start; font-size:15.5px; color:var(--ink); line-height:1.55; }
.detail__check{ flex-shrink:0; width:26px; height:26px; border-radius:8px; display:grid; place-items:center; margin-top:1px; }
.detail__panel:not(.detail__panel--blue) .detail__check{ background:var(--gold-tint); border:1px solid rgba(232,155,47,.35); color:var(--gold-deep); }
.detail__panel--blue .detail__check{ background:var(--sky-tint); border:1px solid rgba(51,102,204,.28); color:var(--blue); }
.detail__limit{ display:flex; gap:16px; align-items:flex-start; background:var(--ivory); border:1px dashed var(--line-strong); border-radius:14px; padding:20px 24px; color:var(--ink-muted); font-size:14.5px; line-height:1.55; }
.detail__limit svg{ flex-shrink:0; margin-top:2px; color:var(--gold-deep); }
@media (max-width:900px){ .detail__panel{ grid-template-columns:1fr; } .detail__body{ padding:38px 28px; } .detail__price{ padding:38px 28px; } }
.tech__grid{ display:flex; flex-direction:column; gap:22px; }
.tech__item{ display:flex; gap:18px; align-items:flex-start; }
.tech__num{ flex-shrink:0; width:34px; height:34px; border-radius:10px; background:var(--sky-tint); color:var(--blue); font-weight:800; font-size:14px; display:grid; place-items:center; }
.tech__item h4{ font-size:16.5px; font-weight:700; margin:0 0 6px; color:var(--ink); }
.tech__item p{ font-size:15px; line-height:1.6; color:var(--ink-muted); margin:0; }
.boundary__chips{ display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 30px; }
.boundary__chip{ display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); color:var(--ink-on-navy-muted); font-size:14px; font-weight:500; transition:border-color var(--ease), color var(--ease); }
.boundary__chip svg{ flex-shrink:0; color:rgba(244,241,254,.4); }
.boundary__chip:hover{ border-color:var(--gold-light); color:#fff; }
.honesty__box p.integrity{ padding-top:24px; border-top:1px solid var(--glass-dark-border); font-family:var(--font-accent); font-style:italic; font-size:22px; color:#fff; line-height:1.4; font-weight:400; margin:0; }
@media (max-width:640px){ .honesty__box{ padding:36px 24px; } }
@media (max-width:640px){ .foot__inner{ grid-template-columns:1fr; text-align:left; } .foot__nav{ justify-content:flex-start; } }
@media (max-width:768px){
  .wrap{ padding:0 20px; }
  section{ padding:72px 0; }
  .nav__inner{ padding:0 20px; height:64px; }
  .brand__mark{ height:42px; } .brand__word{ font-size:22px; }
  .pullquote{ padding:28px 24px 26px 44px; }
  .pullquote::before{ font-size:50px; left:10px; }
  .honesty__box{ padding:32px 20px; }
}

/* -------------------- INSIGHTS ADDITIONS (article cards, article template) -------------------- */

.section--navy h1,.section--navy h2,.section--navy h3,.section--navy h4{ color:#fff; }
@media (max-width:1040px){ .nav__links{ display:none; } .nav__cta{ display:none; } .nav__burger{ display:flex; } }
@media (max-width:980px){ .hero__grid{ grid-template-columns:1fr; gap:36px; } }
.hero__ai{ display:flex; align-items:center; justify-content:center; }
.ai-card{ position:relative; width:100%; max-width:380px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); border-radius:20px; padding:22px 22px 18px; backdrop-filter:blur(14px); box-shadow:0 30px 70px rgba(6,10,24,.4); animation:aiCardPop 800ms cubic-bezier(.2,1.4,.4,1) 150ms backwards; }
@keyframes aiCardPop{ 0%{ opacity:0; transform:translateY(18px) scale(.94); } 100%{ opacity:1; transform:translateY(0) scale(1); } }
.ai-card__head{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.ai-card__spark{ width:32px; height:32px; border-radius:9px; background:var(--grad-gold); display:grid; place-items:center; color:var(--navy); flex-shrink:0; animation:sparkPulse 2.6s ease-in-out infinite; }
.ai-card__spark svg{ width:17px; height:17px; }
@keyframes sparkPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(232,155,47,.5); } 50%{ box-shadow:0 0 0 9px rgba(232,155,47,0); } }
.ai-card__label{ font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#fff; }
.ai-card__label span{ display:block; font-size:10.5px; font-weight:500; letter-spacing:.02em; text-transform:none; color:var(--ink-on-navy-faint); margin-top:1px; }
.ai-card__dot{ width:7px; height:7px; border-radius:50%; background:var(--electric-ice); box-shadow:0 0 8px var(--electric-ice); margin-left:auto; animation:pulseDot 2s ease-in-out infinite; }
.ai-card__body{ min-height:104px; display:flex; align-items:center; }
.ai-card__snippet{ font-size:16.5px; line-height:1.5; color:#fff; font-weight:600; opacity:0; transform:translateY(8px); transition:opacity 480ms ease, transform 480ms ease; }
.ai-card__snippet.show{ opacity:1; transform:translateY(0); }
.ai-card__foot{ display:flex; align-items:center; gap:9px; margin-top:14px; padding-top:14px; border-top:1px solid var(--glass-dark-border); }
.ai-card__favicon{ width:20px; height:20px; border-radius:5px; flex-shrink:0; }
.ai-card__source{ font-size:12px; color:var(--ink-on-navy-faint); line-height:1.35; }
.ai-card__source strong{ display:block; color:#fff; font-weight:700; font-size:12.5px; opacity:0; transform:translateY(4px); transition:opacity 480ms ease, transform 480ms ease; }
.ai-card__source strong.show{ opacity:1; transform:translateY(0); }
@media (max-width:980px){ .ai-card{ max-width:420px; margin:0 auto; } }
.mission{ text-align:center; max-width:760px; margin:0 auto; }
.mission p{ font-family:var(--font-accent); font-style:italic; font-size:26px; line-height:1.5; color:var(--ink); }
.mission span{ display:block; margin-top:16px; font-family:var(--font-body); font-style:normal; font-size:15px; color:var(--ink-faint); font-weight:500; }
.clusters{ display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.cluster-chip{ display:flex; align-items:center; gap:9px; padding:11px 18px; background:var(--paper); border:1.5px solid var(--line); border-radius:999px; font-size:13.5px; font-weight:700; color:var(--ink-muted); transition:all var(--ease); }
.cluster-chip:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(20,24,46,.12); }
.cluster-chip .n{ width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-size:11px; font-weight:800; color:#fff; flex-shrink:0; }
.cluster-chip--blue .n{ background:var(--grad-blue); }
.cluster-chip--blue:hover{ border-color:var(--electric); color:var(--electric); }
.cluster-chip--gold .n{ background:var(--grad-gold); }
.cluster-chip--gold:hover{ border-color:var(--gold-deep); color:var(--gold-deep); }
.insights-list{ margin-top:50px; display:flex; flex-direction:column; gap:26px; }
.article-card{ position:relative; background:var(--paper); border:1.5px solid var(--line); border-radius:24px; box-shadow:0 14px 34px rgba(20,24,46,.07); overflow:hidden; transition:border-color var(--ease), box-shadow var(--ease); }
.article-card--blue:hover{ border-color:var(--electric); box-shadow:0 26px 60px rgba(61,169,252,.16); }
.article-card--gold:hover{ border-color:var(--gold-deep); box-shadow:0 26px 60px rgba(232,155,47,.16); }
.article-card.open{ border-color:var(--line-strong); }
.article-card--blue.open{ border-color:var(--electric); }
.article-card--gold.open{ border-color:var(--gold-deep); }
.article__bgnum{ position:absolute; top:-18px; right:14px; font-family:var(--font-accent); font-style:italic; font-size:110px; font-weight:400; color:var(--ink); opacity:.045; z-index:0; pointer-events:none; line-height:1; user-select:none; }
.article__head{ position:relative; z-index:1; width:100%; padding:32px 76px 30px 34px; display:flex; flex-direction:column; gap:12px; }
.article__head-top{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.article__cat{ padding:5px 13px; border-radius:999px; font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.article-card--blue .article__cat{ background:var(--sky-tint); color:var(--electric); }
.article-card--gold .article__cat{ background:var(--gold-tint); color:var(--gold-deep); }
.article__read{ font-size:12.5px; color:var(--ink-faint); font-weight:600; }
.article__title{ font-size:clamp(19px,2.1vw,24px); font-weight:800; letter-spacing:-0.01em; line-height:1.28; max-width:820px; }
.article__hook{ font-size:15.5px; line-height:1.62; color:var(--ink-muted); max-width:760px; }
.article__quote{ display:block; margin-top:4px; font-family:var(--font-accent); font-style:italic; font-size:18px; line-height:1.5; max-width:720px; padding-left:16px; border-left:3px solid; }
.article-card--blue .article__quote{ color:var(--blue); border-color:var(--electric); }
.article-card--gold .article__quote{ color:var(--gold-deep); border-color:var(--gold); }
.article__toggle-icon{ position:absolute; top:32px; right:32px; z-index:2; width:38px; height:38px; border-radius:11px; display:grid; place-items:center; transition:transform 450ms cubic-bezier(.4,0,.2,1), background var(--ease), box-shadow var(--ease); transform-style:preserve-3d; }
.article-card--blue .article__toggle-icon{ background:var(--sky-tint); color:var(--electric); }
.article-card--gold .article__toggle-icon{ background:var(--gold-tint); color:var(--gold-deep); }
.article-card.open .article__toggle-icon{ transform:rotateY(180deg); background:var(--grad-navy-lively); color:#fff; box-shadow:0 0 20px rgba(46,31,88,.4); }
.article__body{ max-height:0; overflow:hidden; transition:max-height 620ms cubic-bezier(.4,0,.2,1); position:relative; z-index:1; }
.article-card.open .article__body{ max-height:9000px; }
.article__body-inner{ padding:0 34px 40px; border-top:1px solid var(--line); padding-top:28px; }
.article__body h4{ font-size:17.5px; font-weight:800; letter-spacing:-0.01em; margin:26px 0 10px; color:var(--ink); }
.article__body h4:first-child{ margin-top:0; }
.article__body p{ font-size:15.5px; line-height:1.68; color:var(--ink-muted); margin-bottom:14px; }
.article__body ul{ margin:0 0 14px; padding-left:22px; }
.article__body ul li{ font-size:15.5px; line-height:1.6; color:var(--ink-muted); margin-bottom:7px; }
.article__body ol{ margin:0 0 14px; padding-left:22px; }
.article__body ol li{ font-size:15.5px; line-height:1.65; color:var(--ink-muted); margin-bottom:12px; }
.article__body ol li strong{ color:var(--ink); }
.article__lede{ font-size:16.5px; line-height:1.65; color:var(--ink); font-weight:600; margin-bottom:16px; padding:16px 20px; background:var(--ivory-2); border-radius:14px; }
.table-wrap{ overflow-x:auto; margin:22px 0 26px; border-radius:14px; border:1px solid var(--line); }
table.data-table{ width:100%; min-width:480px; border-collapse:collapse; font-size:14px; }
.data-table caption{ text-align:left; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); padding:12px 16px 0; }
.data-table th{ background:var(--ivory-2); text-align:left; padding:11px 16px; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); white-space:nowrap; }
.data-table td{ padding:12px 16px; border-top:1px solid var(--line); color:var(--ink-muted); vertical-align:top; }
.data-table tr:nth-child(even) td{ background:rgba(18,22,42,.015); }
.data-table td strong,.data-table td b{ color:var(--ink); }
.pill-req{ display:inline-block; padding:3px 9px; border-radius:999px; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.pill-req--yes{ background:var(--gold-tint); color:var(--gold-deep); }
.pill-req--no{ background:var(--sky-tint); color:var(--electric); }
.faq__item:last-child{ border-bottom:none; }
.article__cta-row{ margin-top:26px; padding-top:22px; border-top:1px dashed var(--line-strong); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.article__cta-row .src{ font-size:12.5px; color:var(--ink-faint); }
@media (max-width:640px){
  .article__head{ padding:26px 60px 24px 22px; }
  .article__toggle-icon{ right:20px; top:26px; width:32px; height:32px; }
  .article__body-inner{ padding:22px 22px 30px; }
  .article__bgnum{ font-size:72px; top:-8px; right:6px; }
}
@media (max-width:640px){ .foot__inner{ grid-template-columns:1fr; text-align:left; } .foot__nav{ justify-content:flex-start; } }
@media (max-width:768px){
  .wrap, .wrap--narrow{ padding:0 20px; }
  section{ padding:72px 0; }
  .nav__inner{ padding:0 20px; height:64px; }
  .brand__mark{ height:32px; } .brand__word{ font-size:19px; }
  .hero{ padding-top:56px; }
  .closing__inner{ text-align:left; }
  .mission p{ font-size:21px; }
}

/* ========================================================
   PRICING PAGE ADDITIONS
   ======================================================== */

/* ---------------- ADVISORY (light) ---------------- */
.advisory__panel{ display:grid; grid-template-columns:1fr; border-radius:26px; overflow:hidden; box-shadow:var(--shadow-soft); }
@media (min-width:900px){ .advisory__panel{ grid-template-columns:0.85fr 1.15fr; } }
.advisory__price{ background:var(--grad-navy-lively); color:#fff; padding:48px 44px; display:flex; flex-direction:column; justify-content:space-between; gap:30px; position:relative; overflow:hidden; }
.advisory__price::before{ content:""; position:absolute; top:-60px; right:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(232,155,47,.32), transparent 70%); pointer-events:none; }
.advisory__led{ display:inline-flex; align-items:center; gap:8px; background:var(--glass-dark); border:1px solid var(--glass-dark-border); padding:7px 14px 7px 10px; border-radius:999px; font-size:13px; color:#fff; width:fit-content; position:relative; z-index:1; }
.advisory__led .dot{ width:7px; height:7px; border-radius:50%; background:var(--gold-light); box-shadow:0 0 8px var(--gold-light); }
.advisory__amount{ font-weight:800; font-size:clamp(28px,3vw,36px); color:#fff; letter-spacing:-0.02em; position:relative; z-index:1; }
.advisory__unit{ display:block; font-size:14.5px; color:var(--ink-on-navy-muted); margin-top:8px; font-weight:500; }
.advisory__note{ font-size:13.5px; color:var(--ink-on-navy-faint); border-top:1px solid var(--glass-dark-border); padding-top:18px; position:relative; z-index:1; line-height:1.55; }
.advisory__body{ background:var(--paper); padding:48px 46px; display:flex; flex-direction:column; gap:26px; }
.advisory__body p{ font-size:18px; line-height:1.6; color:var(--ink-muted); }
.advisory__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:17px; }
.advisory__list li{ display:flex; gap:14px; align-items:flex-start; font-size:16px; color:var(--ink); line-height:1.55; }
.advisory__check{ flex-shrink:0; width:26px; height:26px; background:var(--gold-tint); border:1px solid rgba(232,155,47,.35); border-radius:8px; display:grid; place-items:center; color:var(--gold-deep); margin-top:1px; }

/* ---------------- MANAGED (light-alt) — fanned tier cards ---------------- */
.managed__head{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:28px; align-items:flex-end; margin-bottom:20px; }
.managed__price{ text-align:right; }
.managed__price .amount{ font-size:clamp(24px,2.6vw,30px); font-weight:800; color:var(--navy); letter-spacing:-0.02em; }
.managed__price .unit{ display:block; color:var(--ink-faint); font-size:14px; margin-top:4px; }
.tier__grid{ display:grid; grid-template-columns:1fr; gap:20px; margin-top:52px; perspective:1400px; }
@media (min-width:820px){ .tier__grid{ grid-template-columns:repeat(3,1fr); } }
.tier__card{ padding:30px 26px; background:var(--paper); border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 26px rgba(20,24,46,.06); display:flex; flex-direction:column; gap:12px; transition:transform var(--ease-spring), box-shadow var(--ease), border-color var(--ease); }
@media (min-width:820px){
  .tier__card:nth-child(1){ transform:translateY(6px) rotateZ(-1.2deg); }
  .tier__card:nth-child(2){ transform:translateY(-6px) rotateZ(0deg); }
  .tier__card:nth-child(3){ transform:translateY(6px) rotateZ(1.2deg); }
}
.tier__card:hover{ transform:translateY(-8px) rotateZ(0deg) scale(1.03) !important; border-color:var(--gold-deep); box-shadow:var(--shadow-gold); z-index:2; }
.tier__tag{ font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.tier__name{ font-size:20px; font-weight:700; }
.tier__desc{ font-size:15px; line-height:1.6; color:var(--ink-faint); }
.tier__note{ margin-top:34px; display:flex; gap:16px; align-items:flex-start; background:var(--paper); border:1px dashed var(--line-strong); border-radius:14px; padding:22px 26px; color:var(--ink-muted); font-size:15.5px; line-height:1.55; }
.tier__note svg{ flex-shrink:0; margin-top:2px; color:var(--gold-deep); }
.billing__note{ margin-top:20px; color:var(--ink-faint); font-size:14.5px; }

/* ---------------- QUOTED (light) ---------------- */
.quoted__grid{ display:grid; grid-template-columns:1fr; gap:22px; margin-top:44px; perspective:1400px; }
@media (min-width:760px){ .quoted__grid{ grid-template-columns:1fr 1fr; } }
.quoted__item{ padding:30px 30px 32px; background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 26px rgba(20,24,46,.07); display:flex; flex-direction:column; gap:12px; }
.quoted__item:hover{ border-color:var(--gold-deep); box-shadow:0 30px 60px rgba(232,155,47,.2), 0 6px 18px rgba(20,24,46,.12); }
.quoted__icon{ width:50px; height:50px; border-radius:14px; background:var(--gold-tint); border:1px solid rgba(232,155,47,.35); display:grid; place-items:center; color:var(--gold-deep); margin-bottom:4px; transition:background var(--ease), color var(--ease), transform var(--ease-spring), box-shadow var(--ease); }
.quoted__item:hover .quoted__icon{ background:var(--grad-gold); color:var(--navy); box-shadow:var(--shadow-gold); transform:scale(1.1) rotate(-5deg) translateZ(20px); }
.quoted__icon svg{ width:24px; height:24px; }
.quoted__tag{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }
.quoted__item h3{ font-size:18px; font-weight:700; }
.quoted__item p{ font-size:15px; line-height:1.6; color:var(--ink-muted); }
.quoted__callout{ margin-top:8px; color:var(--ink-muted); font-size:16px; line-height:1.6; border-left:3px solid var(--gold); padding-left:18px; max-width:70ch; }

/* ---------------- HOW IT STARTS (navy) — timeline ---------------- */
.timeline{ margin-top:56px; display:grid; grid-template-columns:1fr; gap:32px; position:relative; }
@media (min-width:760px){ .timeline{ grid-template-columns:repeat(3,1fr); } }
.timeline::before{ content:""; position:absolute; top:24px; left:0; right:0; height:1px; background:var(--glass-dark-border); display:none; }
@media (min-width:760px){ .timeline::before{ display:block; } }
.timeline__track{ position:absolute; top:24px; left:0; right:0; height:0; display:none; }
@media (min-width:760px){ .timeline__track{ display:block; } }
.timeline__dot{ position:absolute; top:-5px; left:0; width:11px; height:11px; border-radius:50%; background:var(--grad-gold); box-shadow:0 0 12px var(--gold-glow), 0 0 3px rgba(255,255,255,.7); opacity:0; animation:timelineRun 3.3s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes timelineRun{ 0%{ left:0%; opacity:0; } 6%{ opacity:1; } 94%{ opacity:1; } 100%{ left:calc(100% - 11px); opacity:0; } }
.tstep{ position:relative; }
.tstep__num{ font-weight:800; font-size:15px; color:var(--navy); background:var(--grad-gold); width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; margin-bottom:20px; box-shadow:var(--shadow-gold); transition:transform var(--ease-spring); }
.tstep:hover .tstep__num{ transform:scale(1.12) rotate(-6deg); }
.tstep h3{ color:#fff; font-size:19px; margin-bottom:9px; }
.tstep p{ color:var(--ink-on-navy-muted); font-size:15.5px; line-height:1.6; }
.pullquotes{ margin-top:60px; display:grid; grid-template-columns:1fr; gap:22px; }
@media (min-width:760px){ .pullquotes{ grid-template-columns:1fr 1fr; } }
.pullquotes div{ background:var(--glass-dark-strong); border:1.5px solid var(--glass-dark-border); border-radius:16px; padding:28px 30px; transition:border-color var(--ease), transform var(--ease-spring), box-shadow var(--ease), background var(--ease); }
.pullquotes div:hover{ border-color:var(--glow-gold); background:rgba(255,255,255,.1); transform:translateY(-5px); box-shadow:0 22px 48px rgba(12,10,30,.4); }
.pullquotes strong{ display:block; color:#fff; font-size:17px; margin-bottom:8px; letter-spacing:-0.01em; }
.pullquotes span{ color:var(--ink-on-navy-muted); font-size:15px; line-height:1.55; }
.starts__foot{ margin-top:30px; color:var(--ink-on-navy-faint); font-size:14px; }

/* ---------------- WRITTEN SCOPE (light) — animated foil-shimmer frame ---------------- */
.scope__frame{ margin-top:48px; padding:2px; border-radius:24px; position:relative; overflow:hidden; box-shadow:var(--shadow-gold); transition:box-shadow var(--ease); }
.scope__frame::before{ content:""; position:absolute; inset:-40%; background:conic-gradient(from 0deg, var(--gold-light), var(--electric-ice), var(--gold-light), var(--electric-ice), var(--gold-light)); animation:rotateFoil 6s linear infinite; }
.scope__frame:hover{ box-shadow:0 0 56px var(--gold-glow), 0 24px 60px rgba(12,20,40,.24); }
@keyframes rotateFoil{ to{ transform:rotate(360deg); } }
.scope__doc{ position:relative; margin:2px; background:var(--paper); border-radius:22px; overflow:hidden; }
.scope__head{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding:24px 34px; border-bottom:1px dashed var(--line-strong); background:var(--ivory-2); }
.scope__doctitle{ font-weight:700; font-size:16px; color:var(--navy); }
.scope__badge{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-deep); border:1px solid var(--gold-deep); border-radius:999px; padding:5px 14px; }
.scope__body{ padding:34px; display:grid; grid-template-columns:1fr; gap:0; }
@media (min-width:700px){ .scope__body{ grid-template-columns:1fr 1fr; gap:0 44px; } }
.scope__field{ display:flex; justify-content:space-between; gap:16px; padding:15px 0; border-bottom:1px solid var(--line); font-size:15.5px; }
.scope__field .k{ color:var(--ink-muted); }
.scope__field .v{ font-weight:600; color:var(--ink); text-align:right; }
.scope__copy{ padding:0 34px 34px; color:var(--ink-muted); font-size:17px; line-height:1.65; max-width:74ch; }
.scope__copy strong{ color:var(--ink); }

@media (max-width:768px){
  .advisory__price, .advisory__body{ padding:34px 24px; }
  .scope__head, .scope__body{ padding-left:22px; padding-right:22px; }
  .scope__copy{ padding-left:22px; padding-right:22px; }
}

@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-stagger > *{ opacity:1; transform:none; transition:none; }
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}