:root{
  --bg:#050505;
  --text:#f5f5f5;
  --muted:rgba(255,255,255,.72);
  --line:rgba(255,255,255,.08);
  --blue:#8ec5ff;
  --violet:#b4a2ff;
  --mint:#8ef2dc;
  --nav-h:78px;
  --wrap:min(1280px, calc(100vw - 44px));
}
*{box-sizing:border-box;margin:0;padding:0}
html{height:100%;scroll-behavior:smooth;scroll-snap-type:y mandatory;overflow-x:hidden;overscroll-behavior:none}
body{
  min-height:100%;
  background:#040404;
  color:var(--text);
  font-family:"Inter Tight", system-ui, sans-serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:#fff;color:#050505}
strong{color:#fff;font-weight:800}
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:100; height:var(--nav-h);
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  padding:0 34px; background:rgba(4,4,4,.92); border-bottom:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(14px);
}
.client-login,.menu{
  color:rgba(255,255,255,.76); font-size:14px; font-weight:900; letter-spacing:5px;
  text-transform:uppercase; text-decoration:none; white-space:nowrap;
}
.brand{color:#fff;font-family:"Montserrat", sans-serif;font-size:24px;font-weight:900;letter-spacing:12px;white-space:nowrap}
.menu{justify-self:end;display:inline-flex;align-items:center;gap:16px;background:transparent;border:0;cursor:pointer}
.hamburger{display:inline-flex;flex-direction:column;justify-content:space-between;width:26px;height:16px}
.hamburger span{display:block;height:2px;width:100%;border-radius:999px;background:#fff}
.snap-section{
  position:relative; min-height:100svh; padding-top:var(--nav-h);
  scroll-snap-align:start; scroll-snap-stop:always; overflow:hidden;
}
.section-grid{
  position:absolute; inset:var(--nav-h) 0 0 0;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:36px 36px; opacity:.54;
  mask-image:radial-gradient(circle at center, #000 40%, transparent 90%);
  -webkit-mask-image:radial-gradient(circle at center, #000 40%, transparent 90%);
  pointer-events:none;
}
.hero,.section-dark{
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.09) 0%, rgba(255,255,255,.02) 30%, transparent 58%),
    radial-gradient(circle at 18% 48%, rgba(255,255,255,.025), transparent 30%),
    radial-gradient(circle at 82% 52%, rgba(255,255,255,.02), transparent 32%),
    linear-gradient(180deg, #050505 0%, #060606 52%, #040404 100%);
}
.section-dark{border-top:1px solid rgba(255,255,255,.08)}
.hero-shell,.section-wrap{
  position:relative; z-index:2; width:var(--wrap);
  min-height:calc(100svh - var(--nav-h)); margin:0 auto;
}
.hero-shell{display:grid;place-items:center}
.hero-copy{position:relative;width:min(980px, calc(100% - 520px));text-align:center}
.orbit{
  position:absolute; left:50%; top:-132px; width:500px; height:280px; transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.04); border-radius:50%;
}
.orbit::before,.orbit::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.03);border-radius:50%}
.orbit::before{inset:34px 54px}
.orbit::after{inset:74px 112px}
.hero-dot{
  position:absolute; left:50%; top:-20px; width:9px; height:9px; transform:translateX(-50%);
  border-radius:50%; background:#fff; box-shadow:0 0 20px rgba(255,255,255,.75), 0 0 44px rgba(255,255,255,.25);
  animation:pulse 2.4s ease-in-out infinite;
}
h1,h2,.phase-copy h2,.ace-card h3,.compare-badge,.section-btn,.btn{font-family:"Montserrat", sans-serif}
h1{
  font-size:clamp(58px, 6.35vw, 108px); line-height:.96; letter-spacing:-.075em; font-weight:900;
  text-transform:uppercase; text-shadow:0 0 24px rgba(255,255,255,.17);
}
h1 span{white-space:nowrap}
.hero-subtitle,.lead{
  color:var(--muted); font-size:clamp(20px, 1.45vw, 28px); line-height:1.48; letter-spacing:-.02em;
}
.hero-subtitle{max-width:930px;margin:24px auto 0}
.cta-row,.section-buttons{display:flex;flex-wrap:wrap;gap:18px}
.cta-row{justify-content:center;margin-top:36px}
.btn{
  position:relative; min-width:360px; height:74px; padding:0 30px; border-radius:8px;
  display:inline-flex; align-items:center; justify-content:center; text-decoration:none;
  text-transform:uppercase; font-size:18px; font-weight:900; letter-spacing:-.02em;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; white-space:nowrap;
}
.btn:hover,.section-btn:hover{transform:translateY(-2px)}
.btn-primary{color:#050505;background:linear-gradient(180deg, #fff 0%, #ededed 100%);box-shadow:0 0 36px rgba(255,255,255,.16), inset 0 1px 0 rgba(255,255,255,.95)}
.btn-secondary{color:#fff;background:rgba(255,255,255,.015);border:1px solid rgba(255,255,255,.50)}
.hero-glow-line{width:420px;height:1px;margin:36px auto 0;background:linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);box-shadow:0 0 30px rgba(255,255,255,.35)}
.metric-card{
  position:absolute; width:220px; min-height:332px; padding:24px 22px 22px; border-radius:24px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.01)), rgba(5,5,5,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 22px 70px rgba(0,0,0,.48);
  backdrop-filter:blur(12px);
}
.metric-left{left:4px;top:50%;transform:translateY(-16%)}
.metric-right{right:0;top:50%;transform:translateY(-4%)}
.metric-card h3,.board-top,.small-caps{
  color:rgba(255,255,255,.40); font-size:13px; font-weight:900; letter-spacing:.03em; text-transform:uppercase;
}
.small-label{margin-top:24px;color:rgba(255,255,255,.40);font-size:13px;font-weight:700}
.small-label.compact{margin-top:10px}
.big-number{margin-top:4px;color:rgba(255,255,255,.82);font-size:27px;font-weight:900;letter-spacing:-.05em}
.metric-svg{display:block;width:100%;height:110px;margin-top:10px}
.metric-svg.small{width:110px;height:68px;margin-top:10px;margin-left:auto}
.metric-svg.profit{width:108px;height:84px;margin-top:6px;margin-left:auto}
.card-divider{width:100%;height:1px;margin:10px 0 14px;background:rgba(255,255,255,.12)}
.line-anim{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.55s ease forwards}
.line-anim.slow{animation-duration:1.9s}
.bar{transform-box:fill-box;transform-origin:bottom;animation:grow .8s cubic-bezier(.16,1,.3,1) both}
.section-wrap{display:grid;align-items:center;padding:28px 0 34px}
.eyebrow,.phase-index{
  display:inline-flex;align-items:center;gap:14px;color:rgba(255,255,255,.62);font-size:12px;
  font-weight:900;letter-spacing:5px;text-transform:uppercase;
}
.eyebrow::before,.phase-index::before{content:"";width:42px;height:1px;background:rgba(255,255,255,.25)}
h2{
  font-size:clamp(44px, 5vw, 80px); line-height:.96; letter-spacing:-.075em;
  font-weight:900; text-transform:uppercase; text-shadow:0 0 22px rgba(255,255,255,.12);
}
.lead{max-width:840px;margin-top:20px}
.lead.left{text-align:left}
.lead.center{text-align:center;margin-inline:auto}
.ace-intro{grid-template-columns:minmax(0, 1.08fr) 380px;gap:28px}
.copy-col{min-width:0}
.ace-cards{margin-top:28px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch}
.ace-card{
  min-width:0;padding:20px 18px;border:1px solid rgba(255,255,255,.12);
  border-radius:24px;background:linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}
.ace-letter{
  display:grid;place-items:center;width:56px;height:56px;border-radius:18px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);font-family:"Montserrat", sans-serif;font-size:32px;font-weight:900;
}
.ace-card h3{margin-top:16px;font-size:24px;line-height:1;letter-spacing:-.05em}
.ace-card p{margin-top:12px;color:var(--muted);font-size:16px;line-height:1.48}
.ace-arrow{align-self:center;color:rgba(255,255,255,.46);font-size:28px;font-weight:900}
.mascot-panel{
  position:relative;min-height:480px;border-radius:28px;border:1px solid rgba(255,255,255,.12);
  background:radial-gradient(circle at 50% 18%, rgba(255,255,255,.09), transparent 36%),linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.01)),rgba(5,5,5,.78);
  overflow:hidden;
}
.mascot-panel.tight{min-height:520px}
.mascot-panel::before{
  content:"ACE";position:absolute;left:50%;top:52%;transform:translate(-50%, -50%);
  font-family:"Montserrat", sans-serif;font-size:118px;font-weight:900;letter-spacing:-.10em;color:rgba(255,255,255,.035);
}
.explain-card{
  position:absolute;left:22px;right:22px;bottom:22px;padding:20px 18px;border-radius:20px;
  border:1px solid rgba(255,255,255,.11);background:rgba(3,3,3,.76);
}
.explain-card .title{color:#fff;font-family:"Montserrat", sans-serif;font-size:14px;font-weight:900;letter-spacing:4px;text-transform:uppercase}
.explain-card p,.explain-card li{color:var(--muted);font-size:15px;line-height:1.45}
.explain-card p + ul{margin-top:10px}
.explain-card ul{padding-left:18px}
.mascot{position:absolute;filter:drop-shadow(0 18px 38px rgba(0,0,0,.52))}
.mascot-large{width:170px;height:250px;left:50%;top:72px;transform:translateX(-50%)}
.mascot-mid{width:210px;height:300px;left:10%;bottom:18px}
.mascot-small{width:132px;height:194px;right:28px;bottom:22px}
.mascot-note{position:relative;width:70px;height:100px;flex:0 0 auto}
.mascot .head,.mascot .body,.mascot .arm,.mascot .leg{
  position:absolute;background:radial-gradient(circle at 38% 34%, #ffffff 0%, #f3f3f3 48%, #dcdcdc 100%);
}
.mascot .head{left:50%;top:0;width:46%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%}
.mascot .body{left:50%;top:34%;width:42%;height:34%;transform:translateX(-50%);border-radius:48% 48% 42% 42% / 56% 56% 40% 40%}
.mascot .arm{top:40%;width:11%;height:22%;border-radius:999px}
.mascot .leg{top:66%;width:12%;height:22%;border-radius:999px}
.mascot .arm-left{left:29%;transform-origin:top center}
.mascot .arm-right{right:29%;transform-origin:top center}
.mascot .leg-left{left:40%;transform:rotate(12deg)}
.mascot .leg-right{right:40%;transform:rotate(-12deg)}
.mascot .arm-left.down{transform:rotate(16deg)}
.mascot .arm-right.down{transform:rotate(-16deg)}
.mascot .arm-right.up{transform:rotate(-64deg)}
.mascot .arm-right.forward{transform:rotate(-86deg)}
.mascot .arm-left.forward{transform:rotate(76deg)}
.mascot .arm-left.wide{transform:rotate(72deg)}
.mascot .arm-right.wide{transform:rotate(-72deg)}
.mascot .mouth{
  position:absolute;left:50%;top:22%;width:12%;height:5%;transform:translateX(-50%);
  border-bottom:4px solid #111;border-radius:0 0 100px 100px;
}
.mascot.wave::after,.mascot.point-right::after{
  content:"";position:absolute;right:-10px;top:64px;width:54px;height:54px;
  border-top:3px solid rgba(255,255,255,.85);border-right:3px solid rgba(255,255,255,.85);
  border-radius:0 100% 0 0;transform:rotate(18deg);opacity:.85;
}
.mascot.wave::before,.mascot.point-right::before{
  content:"";position:absolute;right:24px;top:82px;width:20px;height:20px;
  border:3px solid rgba(255,255,255,.8);border-color:rgba(255,255,255,.8) transparent transparent rgba(255,255,255,.8);
  border-radius:50%;transform:rotate(45deg);
}
.section-buttons{margin-top:24px}
.section-btn{
  min-width:248px;min-height:58px;padding:0 22px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;text-transform:uppercase;font-size:15px;font-weight:900;letter-spacing:-.02em;white-space:nowrap;
  transition:transform .22s ease, box-shadow .22s ease;
}
.section-btn.filled{color:#fff;border:1px solid rgba(255,255,255,.56);background:rgba(255,255,255,.02)}
.section-btn.ghost{color:rgba(255,255,255,.84);border:1px solid transparent;background:transparent}
.center-buttons{justify-content:center}
.phase-layout{grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);gap:32px}
.phase-layout.reverse{grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr)}
.phase-copy p{margin-top:20px;color:var(--muted);font-size:clamp(19px,1.33vw,24px);line-height:1.48}
.phase-copy h2{margin-top:16px}
.chip-grid{margin-top:24px;display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:12px}
.chip-grid span{
  min-height:52px;padding:0 16px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.10);
  border-radius:14px;background:rgba(255,255,255,.02);color:rgba(255,255,255,.82);font-size:15px;font-weight:700;
}
.visual-stage{
  position:relative;min-height:470px;border-radius:28px;border:1px solid rgba(255,255,255,.10);
  background:radial-gradient(circle at 50% 20%, rgba(255,255,255,.08), transparent 34%),linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.008)),rgba(5,5,5,.68);
  overflow:hidden;
}
.pointer-curve{
  position:absolute;left:38%;top:36%;width:100px;height:90px;border-top:3px solid rgba(255,255,255,.80);
  border-right:3px solid rgba(255,255,255,.80);border-radius:0 100% 0 0;transform:rotate(20deg);
}
.pointer-curve::after{
  content:"";position:absolute;right:-2px;top:-6px;width:14px;height:14px;border-top:3px solid rgba(255,255,255,.80);
  border-right:3px solid rgba(255,255,255,.80);transform:rotate(45deg);
}
.info-board{
  position:absolute;right:20px;top:20px;bottom:20px;width:370px;padding:22px;border-radius:28px;
  border:1px solid rgba(255,255,255,.11);background:linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.01)),rgba(5,5,5,.8);
}
.board-top{display:flex;align-items:center;justify-content:space-between}
.board-card{padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(3,3,3,.68)}
.board-card-wide{margin-top:18px}
.board-grid{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.board-card strong,.funnel-item strong{display:block;color:#fff;font-size:16px;font-weight:800;line-height:1.2}
.board-card small,.funnel-item small{display:block;margin-top:6px;color:rgba(255,255,255,.58);font-size:13px;line-height:1.35}
.board-bars{margin-top:16px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.board-bars span{height:10px;border-radius:999px;background:rgba(255,255,255,.16)}
.funnel-list{margin-top:22px;display:grid;gap:12px}
.funnel-item{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;
  border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(3,3,3,.68);
}
.dot{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 18px rgba(255,255,255,.55)}
.idx{color:rgba(255,255,255,.40);font-size:12px;font-weight:900}
.scale-bars{margin-top:18px;height:96px;display:flex;align-items:end;gap:10px}
.scale-bars span{flex:1;border-radius:8px 8px 0 0;background:linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.04))}
.scale-bars span:nth-child(1){height:28%}
.scale-bars span:nth-child(2){height:44%}
.scale-bars span:nth-child(3){height:56%}
.scale-bars span:nth-child(4){height:70%}
.scale-bars span:nth-child(5){height:88%}
.guarantee-layout{grid-template-columns:minmax(0, 1.06fr) 360px;gap:28px}
.guarantee-box{
  margin-top:24px;padding:28px 28px 22px;border-radius:28px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}
.guarantee-quote{color:#fff;font-size:clamp(22px, 1.95vw, 34px);line-height:1.48;letter-spacing:-.03em}
.guarantee-foot{color:var(--muted);font-size:18px;line-height:1.46}
.comparison-wrap{align-content:center}
.comparison-stage{margin-top:30px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:stretch}
.compare-card{
  min-width:0;padding:24px;border-radius:28px;border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.01)), rgba(5,5,5,.74);
}
.compare-card.us{
  background:
    radial-gradient(circle at 10% 0%, rgba(142,197,255,.08), transparent 34%),
    radial-gradient(circle at 90% 100%, rgba(142,242,220,.07), transparent 40%),
    radial-gradient(circle at 50% 0%, rgba(180,162,255,.08), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    rgba(5,5,5,.74);
}
.vs-pill{
  align-self:center;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.74);
  font-family:"Montserrat", sans-serif;font-size:22px;font-weight:900;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);
}
.compare-badge{
  display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 18px;border-radius:999px;
  font-size:24px;font-weight:900;letter-spacing:-.05em;
}
.badge-us{border:1px solid rgba(255,255,255,.12);background:linear-gradient(90deg, rgba(142,197,255,.10), rgba(180,162,255,.10), rgba(142,242,220,.10))}
.badge-them{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
.crown{position:relative;width:32px;height:18px;display:inline-block}
.crown span{
  position:absolute;bottom:3px;width:8px;border-radius:999px 999px 2px 2px;
  background:linear-gradient(180deg, var(--blue), var(--violet) 50%, var(--mint));
}
.crown span:nth-child(1){left:0;height:12px}
.crown span:nth-child(2){left:12px;height:18px}
.crown span:nth-child(3){right:0;height:12px}
.crown::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:999px;background:linear-gradient(90deg, var(--blue), var(--violet), var(--mint))}
.compare-list{list-style:none;display:grid;gap:13px;margin-top:22px}
.compare-list li{position:relative;padding-left:24px;color:var(--muted);font-size:17px;line-height:1.45}
.compare-list li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:2px;background:rgba(255,255,255,.38)}
.compare-note{
  margin-top:22px;padding:16px 18px;border-radius:20px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.02);
  display:flex;align-items:center;gap:16px;
}
.compare-note p{color:var(--muted);font-size:16px;line-height:1.45}
.final-wrap{justify-items:center;align-content:center}
.final-panel{
  margin-top:30px;width:min(860px, 100%);padding:24px;border-radius:28px;border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;
}
.final-copy p{color:var(--muted);font-size:18px;line-height:1.45}
.btn.premium{margin-top:16px;min-width:340px}
.scarcity{margin-top:12px;color:rgba(255,255,255,.68);font-size:15px;font-weight:700}
@keyframes pulse{0%,100%{opacity:.8;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.22)}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes grow{from{transform:scaleY(.15);opacity:.2}to{transform:scaleY(1);opacity:1}}
.reveal{opacity:0;transform:translateY(20px);filter:blur(4px);transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1), filter .8s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}
@media (max-width: 1450px){
  :root{--wrap:min(1240px, calc(100vw - 34px))}
  .hero-copy{width:min(900px, calc(100% - 440px))}
  .metric-card{width:206px}
}
@media (max-width: 1260px){
  .brand{font-size:20px;letter-spacing:10px}
  .hero-copy{width:min(840px, calc(100% - 400px))}
  .metric-card{transform:scale(.92)}
  .metric-left{transform:translateY(-16%) scale(.92);transform-origin:left center}
  .metric-right{transform:translateY(-4%) scale(.92);transform-origin:right center}
  .ace-intro,.guarantee-layout,.phase-layout,.phase-layout.reverse{grid-template-columns:1fr}
  .mascot-panel,.guarantee-layout .mascot-panel{max-width:420px;width:100%;justify-self:center}
  .visual-stage{min-height:450px}
  .info-board{width:340px}
  .phase-layout.reverse .visual-stage{order:2}
}
@media (max-width: 1080px){
  .site-header{grid-template-columns:1fr auto;gap:16px}
  .client-login{display:none}
  .brand{justify-self:start}
  .hero-shell{grid-template-columns:1fr;align-content:center;gap:16px;padding:18px 0}
  .hero-copy{width:min(900px,100%);order:1;padding-inline:20px}
  .metric-card{position:relative;width:min(100%, 440px);min-height:auto;margin-inline:auto;transform:none !important;top:auto;left:auto;right:auto}
  .metric-left{order:2}
  .metric-right{order:3}
  .orbit{display:none}
  .ace-cards{grid-template-columns:1fr}
  .ace-arrow{display:none}
  .comparison-stage{grid-template-columns:1fr}
  .vs-pill{justify-self:center}
}
@media (max-width: 760px){
  :root{--nav-h:70px;--wrap:min(100vw - 20px, 640px)}
  .site-header{height:var(--nav-h);padding:0 14px}
  .brand{font-size:15px;letter-spacing:6px}
  .menu{font-size:12px;letter-spacing:3px;gap:10px}
  .snap-section{padding-top:var(--nav-h)}
  .section-grid{inset:var(--nav-h) 0 0 0}
  h1{font-size:clamp(42px, 13vw, 64px);line-height:1;letter-spacing:-.06em}
  h1 span{white-space:normal}
  .hero-subtitle,.lead,.phase-copy p{font-size:17px;line-height:1.42}
  .btn{min-width:0;width:100%;height:66px;font-size:16px}
  .cta-row,.section-buttons{flex-direction:column}
  .section-btn{min-width:0;width:100%;min-height:58px;white-space:normal;text-align:center}
  .hero-glow-line{width:240px}
  h2{font-size:clamp(38px, 11vw, 56px)}
  .chip-grid{grid-template-columns:1fr}
  .visual-stage{min-height:560px;padding-bottom:20px}
  .info-board{position:relative;right:auto;top:auto;bottom:auto;width:auto;margin:130px 14px 14px}
  .mascot-mid{width:134px;height:194px;left:50%;top:18px;bottom:auto;transform:translateX(-50%)}
  .mascot-small{width:110px;height:162px;right:50%;transform:translateX(50%);bottom:18px}
  .pointer-curve{display:none}
  .compare-note{flex-direction:column;align-items:flex-start}
  .final-panel{grid-template-columns:1fr;text-align:center}
  .btn.premium{width:100%;min-width:0}
}
@media (max-height: 860px) and (min-width: 1090px){
  :root{--nav-h:72px}
  .site-header{height:var(--nav-h)}
  .snap-section{padding-top:var(--nav-h)}
  .section-grid{inset:var(--nav-h) 0 0 0}
  h1{font-size:clamp(54px, 5.7vw, 92px)}
  .hero-subtitle{font-size:18px}
  .btn{height:66px}
  .metric-card{width:200px;padding:20px 18px;min-height:314px}
  .hero-copy{width:min(900px, calc(100% - 430px))}
  .section-wrap{padding:20px 0 24px}
  h2{font-size:clamp(40px,4.6vw,68px)}
  .lead,.phase-copy p{font-size:17px}
  .ace-card{padding:18px 16px}
  .ace-card h3{font-size:21px}
  .ace-card p{font-size:15px}
  .visual-stage{min-height:430px}
  .mascot-panel{min-height:450px}
}

/* ===== V3 COMPACT FIXES: logo, full viewport sections and visible hero cards ===== */
:root{
  --nav-h:68px;
  --wrap:min(1220px, calc(100vw - 56px));
}

.site-header{
  height:var(--nav-h);
  padding:0 32px;
}

.brand-logo{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  justify-self:center;
  transform:none;
  text-decoration:none;
  filter:drop-shadow(0 0 18px rgba(255,255,255,.16));
}

.brand-logo img{
  width:52px;
  height:52px;
  display:block;
  object-fit:contain;
  border-radius:14px;
}

.snap-section{
  min-height:100svh;
  padding-top:var(--nav-h);
}

.section-grid{inset:var(--nav-h) 0 0 0;}

.hero-shell,
.section-wrap{
  min-height:calc(100svh - var(--nav-h));
}

.section-wrap{
  padding:18px 0 20px;
}

.hero-copy{
  width:min(900px, calc(100% - 430px));
  margin-inline:auto;
}

h1{
  font-size:clamp(52px, 5.55vw, 92px);
  line-height:.95;
  letter-spacing:-.072em;
}

.hero-subtitle{
  margin-top:20px;
  font-size:clamp(17px, 1.16vw, 21px);
  line-height:1.35;
}

.cta-row{margin-top:28px;gap:20px;}

.btn{
  min-width:330px;
  height:62px;
  font-size:16px;
  border-radius:8px;
}

.hero-glow-line{
  width:360px;
  margin-top:26px;
}

.orbit{
  top:-112px;
  width:430px;
  height:240px;
}

.hero-dot{top:-12px;}

.metric-card{
  width:190px;
  min-height:286px;
  padding:18px 18px 16px;
  border-radius:20px;
}

.metric-left{
  left:10px;
  top:50%;
  transform:translateY(-50%);
}

.metric-right{
  right:10px;
  top:50%;
  transform:translateY(-50%);
}

.metric-card h3,
.small-caps{
  font-size:11px;
}

.small-label{
  margin-top:18px;
  font-size:12px;
}

.big-number{
  font-size:23px;
}

.metric-svg{
  height:88px;
  margin-top:8px;
}

.metric-svg.small{
  width:96px;
  height:52px;
}

.metric-svg.profit{
  width:94px;
  height:64px;
}

.card-divider{margin:8px 0 12px;}

h2{
  font-size:clamp(38px, 4.25vw, 62px);
  line-height:.96;
}

.lead,
.phase-copy p{
  font-size:clamp(16px, 1.05vw, 19px);
  line-height:1.40;
}

.lead{margin-top:16px;}

.eyebrow,
.phase-index{
  font-size:11px;
  letter-spacing:4px;
}

.ace-intro{
  grid-template-columns:minmax(0, 1fr) 330px;
  gap:24px;
}

.ace-cards{
  margin-top:22px;
  gap:12px;
}

.ace-card{
  padding:17px 15px;
  border-radius:20px;
}

.ace-letter{
  width:46px;
  height:46px;
  border-radius:14px;
  font-size:26px;
}

.ace-card h3{
  margin-top:13px;
  font-size:19px;
  letter-spacing:-.045em;
}

.ace-card p{
  margin-top:9px;
  font-size:14px;
  line-height:1.35;
}

.ace-card strong{
  font-size:inherit;
  line-height:inherit;
  font-family:inherit;
}

.ace-arrow{font-size:22px;}

.mascot-panel{
  min-height:410px;
  border-radius:24px;
}

.mascot-panel.tight{min-height:430px;}

.mascot-panel::before{
  font-size:92px;
}

.mascot-large{
  width:138px;
  height:206px;
  top:46px;
}

.mascot-mid{
  width:168px;
  height:245px;
}

.mascot-small{
  width:108px;
  height:160px;
}

.explain-card{
  left:18px;
  right:18px;
  bottom:18px;
  padding:16px 15px;
  border-radius:18px;
}

.explain-card .title{font-size:12px;letter-spacing:3px;}
.explain-card p,
.explain-card li{font-size:13px;line-height:1.35;}

.section-buttons{
  margin-top:18px;
  gap:12px;
}

.section-btn{
  min-width:210px;
  min-height:50px;
  padding:0 18px;
  border-radius:15px;
  font-size:13px;
  line-height:1.15;
  text-align:center;
}

.phase-layout,
.phase-layout.reverse{
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:28px;
}

.phase-copy h2{margin-top:14px;}
.phase-copy p{margin-top:16px;}

.chip-grid{
  margin-top:20px;
  gap:10px;
}

.chip-grid span{
  min-height:46px;
  padding:0 14px;
  font-size:13px;
  border-radius:13px;
}

.visual-stage{
  min-height:390px;
  border-radius:24px;
}

.info-board{
  width:330px;
  right:16px;
  top:16px;
  bottom:16px;
  padding:18px;
  border-radius:24px;
}

.board-card{
  padding:15px;
  border-radius:15px;
}

.board-card-wide{margin-top:14px;}
.board-grid{gap:12px;margin-top:12px;}
.board-card strong,
.funnel-item strong{font-size:14px;}
.board-card small,
.funnel-item small{font-size:12px;line-height:1.3;}

.funnel-list{
  margin-top:18px;
  gap:10px;
}

.funnel-item{
  padding:12px 14px;
  border-radius:14px;
}

.scale-bars{height:72px;}

.guarantee-layout{
  grid-template-columns:minmax(0,1fr) 330px;
  gap:24px;
}

.guarantee-box{
  margin-top:18px;
  padding:22px 24px 18px;
  border-radius:24px;
}

.guarantee-quote{
  font-size:clamp(19px, 1.65vw, 27px);
  line-height:1.38;
}

.guarantee-foot{
  font-size:15px;
}

.comparison-stage{
  margin-top:22px;
  gap:16px;
}

.compare-card{
  padding:20px;
  border-radius:24px;
}

.compare-badge{
  min-height:44px;
  padding:0 15px;
  font-size:19px;
}

.vs-pill{
  width:58px;
  height:58px;
  font-size:18px;
}

.compare-list{
  margin-top:16px;
  gap:10px;
}

.compare-list li{
  font-size:14px;
  line-height:1.32;
}

.compare-note{
  margin-top:16px;
  padding:12px 14px;
}

.compare-note p{font-size:14px;}

.final-panel{
  margin-top:22px;
  padding:20px;
}

.final-copy p{font-size:16px;}

.scarcity{
  font-size:14px;
}

@media (max-height:860px) and (min-width:1090px){
  :root{--nav-h:64px;--wrap:min(1180px, calc(100vw - 70px));}
  .site-header{height:var(--nav-h);}
  .brand-logo{width:58px;height:58px;}
  .brand-logo img{width:46px;height:46px;border-radius:12px;}
  .client-login,.menu{font-size:12px;letter-spacing:4px;}
  h1{font-size:clamp(48px, 5vw, 82px);}
  .hero-subtitle{font-size:17px;margin-top:18px;}
  .btn{height:58px;min-width:310px;font-size:15px;}
  .metric-card{width:178px;min-height:268px;padding:16px;}
  .metric-svg{height:78px;}
  .metric-svg.small{height:46px;}
  .metric-svg.profit{height:56px;}
  h2{font-size:clamp(36px, 3.9vw, 56px);}
  .lead,.phase-copy p{font-size:16px;line-height:1.35;}
  .section-wrap{padding:14px 0 16px;}
  .ace-intro{grid-template-columns:minmax(0,1fr) 310px;}
  .ace-card{padding:14px;}
  .ace-card p{font-size:13px;line-height:1.30;}
  .mascot-panel{min-height:370px;}
  .mascot-panel.tight{min-height:390px;}
  .mascot-large{width:120px;height:184px;top:38px;}
  .visual-stage{min-height:350px;}
  .info-board{width:310px;padding:16px;}
  .guarantee-layout{grid-template-columns:minmax(0,1fr) 310px;}
  .guarantee-quote{font-size:clamp(18px, 1.45vw, 24px);line-height:1.34;}
  .compare-list li{font-size:13px;}
  .section-btn{min-height:46px;}
}

@media (max-width:1260px){
  .brand-logo{width:58px;height:58px;}
  .brand-logo img{width:48px;height:48px;}
}

@media (max-width:1080px){
  .hero-copy{width:min(900px,100%);}
  .metric-card{width:min(100%, 380px);}
  .metric-right,.metric-left{transform:none;}
  .phase-layout,.phase-layout.reverse{grid-template-columns:1fr;}
}

@media (max-width:760px){
  :root{--nav-h:64px;--wrap:min(100vw - 20px,640px);}
  .brand-logo{justify-self:start;width:52px;height:52px;}
  .brand-logo img{width:42px;height:42px;}
  .site-header{padding:0 14px;}
  .hero-copy{padding-inline:8px;}
  h1{font-size:clamp(38px, 11.6vw, 56px);}
  .hero-subtitle,.lead,.phase-copy p{font-size:16px;}
  .info-board{width:auto;}
}


/* ===== V4 FIXES: remove mascots, fill gaps, tighten hero ===== */
.hero-copy{
  width:min(800px, calc(100% - 500px));
}

h1{
  font-size:clamp(48px, 4.95vw, 84px);
}

.hero-subtitle{
  max-width:760px;
  margin-top:18px;
  font-size:clamp(17px, 1.06vw, 20px);
  line-height:1.38;
}

.hero-subtitle strong{
  font-weight:900;
}

.metric-card{
  width:178px;
  min-height:272px;
  padding:16px 16px 14px;
}

.metric-left{left:14px;}
.metric-right{right:14px;}
.big-number{font-size:21px;}
.metric-svg{height:82px;}
.metric-svg.small{width:98px;height:58px;}
.metric-svg.profit{width:96px;height:76px;}

.mascot, .mascot-note{display:none !important;}

.mascot-panel{
  min-height:320px;
  display:block;
  padding:20px;
}

.mascot-panel.tight{
  min-height:360px;
}

.mascot-panel::before{
  top:34%;
  font-size:96px;
}

.mascot-panel .explain-card{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.visual-stage{
  padding:20px;
  display:flex;
  align-items:center;
}

.pointer-curve{display:none;}

.visual-stage .info-board{
  position:relative;
  inset:auto;
  width:100%;
  margin:0;
}

.compare-note{
  display:block;
  padding:18px 22px;
}

.final-panel{
  grid-template-columns:1fr;
}

.final-copy{
  text-align:center;
}

@media (max-width: 1450px){
  .hero-copy{width:min(760px, calc(100% - 420px));}
}

@media (max-width: 1260px){
  .hero-copy{width:min(760px, calc(100% - 390px));}
  .metric-card{width:168px; min-height:258px;}
}

@media (max-width: 1080px){
  .hero-copy{width:min(900px, 100%);}
  .metric-card{width:min(100%, 380px); min-height:auto;}
  .mascot-panel, .mascot-panel.tight{min-height:auto;}
  .visual-stage{padding:14px; display:block;}
}

@media (max-width: 760px){
  .hero-copy{padding-inline:10px;}
  h1{font-size:clamp(38px, 11vw, 56px);}
  .hero-subtitle{font-size:16px; max-width:100%;}
  .metric-card{width:min(100%, 340px);}
  .mascot-panel::before{font-size:72px; top:24%;}
}


/* ===== V5 HERO + CTA FIXES ===== */

/* Desktop hero becomes a real 3-column composition:
   left metric / main copy / right metric. This prevents cards from covering the headline. */
.hero-shell{
  display:grid;
  grid-template-columns:180px minmax(0, 1fr) 180px;
  gap:clamp(26px, 4vw, 70px);
  align-items:center;
  justify-items:center;
  padding-inline:8px;
}

.hero-copy{
  grid-column:2;
  width:100%;
  max-width:1040px;
  overflow:visible;
}

.metric-card{
  position:relative;
  inset:auto;
  transform:none !important;
  align-self:center;
  justify-self:center;
  width:180px;
  min-height:272px;
}

.metric-left{
  grid-column:1;
}

.metric-right{
  grid-column:3;
}

h1{
  max-width:1040px;
  margin-inline:auto;
  font-size:clamp(46px, 5.05vw, 86px);
  line-height:.96;
}

.hero-subtitle{
  max-width:820px;
}

.orbit{
  top:-108px;
}

.hero-dot{
  top:-10px;
}

/* Stronger CTA system across all inner sections */
.section-buttons{
  gap:18px;
  align-items:center;
}

.section-btn{
  min-width:270px;
  min-height:64px;
  padding:0 26px;
  border-radius:10px;
  font-size:16px;
  box-shadow:0 0 22px rgba(255,255,255,.045);
}

.section-btn.filled{
  color:#050505;
  border:1px solid rgba(255,255,255,.88);
  background:linear-gradient(180deg, #ffffff 0%, #ececec 100%);
  box-shadow:
    0 0 34px rgba(255,255,255,.14),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(0,0,0,.18);
}

.section-btn.ghost{
  color:#fff;
  border:1px solid rgba(255,255,255,.56);
  background:rgba(255,255,255,.018);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 24px rgba(255,255,255,.035);
}

.section-btn.filled:hover{
  box-shadow:
    0 0 44px rgba(255,255,255,.18),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(0,0,0,.18);
}

.section-btn.ghost:hover{
  border-color:rgba(255,255,255,.78);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 30px rgba(255,255,255,.055);
}

/* Guarantee section: keep the buttons aligned and visible */
.guarantee-layout .section-buttons{
  margin-top:24px;
}

.guarantee-layout .section-btn{
  min-width:286px;
}

/* Keep comparison and guarantee compact inside Chrome 100% viewport */
.guarantee-quote{
  font-size:clamp(21px, 1.65vw, 29px);
  line-height:1.38;
}

.guarantee-box{
  padding:24px 26px 20px;
}

.comparison-stage{
  margin-top:24px;
}

.compare-card{
  padding:22px;
}

.compare-list{
  gap:11px;
}

.compare-list li{
  font-size:16px;
}

/* Medium desktops */
@media (max-width: 1450px){
  .hero-shell{
    grid-template-columns:168px minmax(0, 1fr) 168px;
    gap:clamp(22px, 3vw, 48px);
  }

  .metric-card{
    width:168px;
    min-height:258px;
  }

  h1{
    font-size:clamp(44px, 4.75vw, 78px);
  }

  .hero-subtitle{
    max-width:760px;
  }
}

/* Tablet/mobile: stack without overlap */
@media (max-width: 1080px){
  .hero-shell{
    grid-template-columns:1fr;
    gap:18px;
  }

  .hero-copy{
    grid-column:auto;
    order:1;
    width:min(900px, 100%);
  }

  .metric-card{
    width:min(100%, 380px);
    min-height:auto;
  }

  .metric-left{
    grid-column:auto;
    order:2;
  }

  .metric-right{
    grid-column:auto;
    order:3;
  }

  h1{
    font-size:clamp(44px, 8vw, 76px);
  }
}

@media (max-width: 760px){
  .section-btn{
    min-width:0;
    width:100%;
  }

  h1{
    font-size:clamp(38px, 11vw, 56px);
  }
}


/* ===== V6 FIXES: hero cards outside headline + horizontal phase CTAs ===== */

/* The hero needs a wider layout than the compact internal sections.
   This keeps the side metric cards outside the headline area. */
.hero .hero-shell{
  width:min(1560px, calc(100vw - 140px));
  grid-template-columns:190px minmax(0, 1fr) 190px;
  gap:clamp(64px, 5vw, 112px);
}

.hero .hero-copy{
  grid-column:2;
  width:100%;
  max-width:980px;
  z-index:4;
}

.hero .metric-card{
  z-index:2;
  width:184px;
  min-height:270px;
}

.hero h1{
  max-width:980px;
  font-size:clamp(44px, 4.55vw, 78px);
  line-height:.96;
  letter-spacing:-.073em;
}

.hero .hero-subtitle{
  max-width:760px;
}

/* Keep the left and right cards visually separated from the main headline */
.hero .metric-left{
  justify-self:start;
}

.hero .metric-right{
  justify-self:end;
}

/* Phase buttons must remain side-by-side on desktop */
.phase-layout .section-buttons{
  display:flex;
  flex-wrap:nowrap;
  gap:16px;
  align-items:center;
}

.phase-layout .section-btn{
  min-width:0;
  width:calc(50% - 8px);
  max-width:310px;
  min-height:58px;
  padding:0 16px;
  font-size:14px;
  letter-spacing:-.03em;
  white-space:nowrap;
}

/* ACE intro buttons can also stay horizontal when there is enough space */
.ace-intro .section-buttons{
  flex-wrap:nowrap;
}

.ace-intro .section-btn{
  min-width:240px;
}

/* On lower-height desktops, do not shrink the hero wrapper too much */
@media (max-height:860px) and (min-width:1090px){
  .hero .hero-shell{
    width:min(1560px, calc(100vw - 140px));
    grid-template-columns:184px minmax(0, 1fr) 184px;
    gap:clamp(58px, 4.8vw, 104px);
  }

  .hero h1{
    font-size:clamp(42px, 4.45vw, 74px);
  }

  .hero .metric-card{
    width:178px;
    min-height:258px;
  }

  .phase-layout .section-btn{
    min-height:54px;
    font-size:13px;
  }
}

/* Medium widths: keep cards away while preserving the title */
@media (max-width:1450px){
  .hero .hero-shell{
    width:min(1320px, calc(100vw - 90px));
    grid-template-columns:170px minmax(0, 1fr) 170px;
    gap:clamp(42px, 4vw, 72px);
  }

  .hero h1{
    font-size:clamp(40px, 4.35vw, 66px);
    max-width:840px;
  }

  .hero .hero-copy{
    max-width:840px;
  }

  .hero .metric-card{
    width:166px;
    min-height:250px;
  }
}

/* Tablet and mobile: stack cards below the copy */
@media (max-width:1080px){
  .hero .hero-shell{
    width:var(--wrap);
    grid-template-columns:1fr;
    gap:18px;
  }

  .hero .hero-copy{
    grid-column:auto;
    width:min(900px, 100%);
    max-width:900px;
  }

  .hero .metric-card{
    width:min(100%, 380px);
    min-height:auto;
    justify-self:center;
  }

  .phase-layout .section-buttons,
  .ace-intro .section-buttons{
    flex-wrap:wrap;
  }

  .phase-layout .section-btn{
    width:auto;
    min-width:240px;
  }
}

@media (max-width:760px){
  .phase-layout .section-buttons,
  .ace-intro .section-buttons{
    flex-direction:column;
  }

  .phase-layout .section-btn,
  .ace-intro .section-btn{
    width:100%;
    max-width:none;
    min-width:0;
  }
}


/* ===== V7: reduce clutter, distinguish info blocks vs buttons ===== */

/* ACE intro side summary: less text, more signal */
#ace-system .mascot-panel{
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

#ace-system .explain-card{
  position: relative;
  inset: auto;
  width: 100%;
  max-width: 320px;
  padding: 18px 18px 16px;
}

#ace-system .explain-card .title{
  margin-bottom: 10px;
}

.ace-mini-flow{
  list-style: none;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.ace-mini-flow li{
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  background: rgba(255,255,255,.02);
}

.ace-mini-flow li strong{
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
}

.ace-mini-flow li span{
  color: var(--text);
  font-size: 14px;
  line-height: 1.3;
}

/* Phase text: less width and a bit cleaner */
.phase-copy p{
  max-width: 620px;
}

/* Make phase support items clearly informational, not clickable buttons */
.chip-grid{
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}

.chip-grid span{
  position: relative;
  min-height: 0;
  padding: 12px 14px 12px 36px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.015);
  color: rgba(255,255,255,.82);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  box-shadow: none;
}

.chip-grid span::before{
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.70);
  transform: translateY(-50%);
  opacity: .8;
}

/* Buttons must visually dominate over support items */
.phase-layout .section-buttons,
.guarantee-layout .section-buttons,
.comparison-wrap .section-buttons,
.ace-intro .section-buttons{
  margin-top: 24px;
  gap: 14px;
}

.section-btn{
  min-height: 58px;
  font-size: 15px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 12px 26px rgba(0,0,0,.24);
}

.section-btn.filled{
  box-shadow:
    0 0 0 1px rgba(255,255,255,.14),
    0 16px 36px rgba(255,255,255,.10),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(0,0,0,.18);
}

.section-btn.ghost{
  background: rgba(255,255,255,.02);
  border-color: rgba(255,255,255,.36);
}

/* Slightly simplify visual boards by reducing excess surface emphasis */
.visual-stage{
  min-height: 370px;
}

.info-board{
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

.board-card{
  background: rgba(0,0,0,.42);
}

/* Comparison: keep concise and readable */
.compare-list{
  margin-top: 18px;
}

.compare-list li{
  font-size: 15px;
  line-height: 1.35;
}

/* Responsive cleanup */
@media (max-width: 1080px){
  .chip-grid{
    grid-template-columns: 1fr;
  }

  #ace-system .mascot-panel{
    min-height: auto;
    padding: 0;
    display: block;
  }

  #ace-system .explain-card{
    max-width: 100%;
  }
}

@media (max-width: 760px){
  .section-btn{
    min-height: 56px;
    font-size: 14px;
  }

  .chip-grid span{
    padding: 11px 12px 11px 34px;
  }
}


/* ===== V8 FINAL: stronger visuals, less redundancy, clearer integration ===== */

:root{
  --panel-soft: rgba(255,255,255,.018);
  --panel-edge: rgba(255,255,255,.08);
}

.reveal.visible .phase-copy,
.reveal.visible .copy-col,
.reveal.visible .comparison-stage,
.reveal.visible .final-grid{
  animation: fadeLift .9s cubic-bezier(.16,1,.3,1) both;
}

.reveal-child{
  opacity: 0;
  transform: translateY(24px) scale(.985);
  filter: blur(6px);
  transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1), filter .8s cubic-bezier(.16,1,.3,1);
}

.reveal-child.is-live{
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}

.metric-card,
.info-board,
.compare-card,
.final-visual-card,
.availability-card,
.mascot-panel{
  overflow: hidden;
}

.metric-card::after,
.info-board::after,
.compare-card::after,
.final-visual-card::after,
.availability-card::after,
.mascot-panel::after{
  content: "";
  position: absolute;
  inset: -35% auto auto -10%;
  width: 55%;
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(255,255,255,.07), rgba(255,255,255,0) 70%);
  pointer-events: none;
  animation: driftGlow 9s ease-in-out infinite;
}

.info-board::before,
.final-visual-card::before,
.mascot-panel::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 28%),
    linear-gradient(90deg, transparent 0%, rgba(255,255,255,.03) 48%, transparent 100%);
  pointer-events: none;
}

.btn,
.section-btn{
  position: relative;
  overflow: hidden;
}

.btn::after,
.section-btn::after{
  content: "";
  position: absolute;
  top: -120%;
  left: -22%;
  width: 32%;
  height: 340%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform: rotate(18deg);
  transition: left .8s ease;
  pointer-events: none;
}

.btn:hover::after,
.section-btn:hover::after{
  left: 118%;
}

.btn:hover,
.section-btn:hover{
  transform: translateY(-2px);
}

#ace-system .ace-visual-panel{
  min-height: 350px;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 16px;
  padding: 22px;
}

.ace-flow-rail{
  position: relative;
  display: grid;
  gap: 12px;
  align-content: center;
}

.ace-flow-rail::before{
  content: "";
  position: absolute;
  left: 19px;
  top: 24px;
  bottom: 24px;
  width: 2px;
  background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.08));
}

.ace-node{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.02);
  backdrop-filter: blur(10px);
}

.node-letter{
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 800;
}

.node-copy strong{
  display: block;
  font-size: 14px;
  line-height: 1.1;
}

.node-copy small{
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  line-height: 1.2;
}

.ace-summary-strip{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
}

.summary-mini{
  padding: 12px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
  text-align: center;
}

.summary-mini strong{
  display: block;
  font-size: 13px;
  line-height: 1.1;
}

.summary-mini small{
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  letter-spacing: .02em;
}

.chip-grid{
  grid-template-columns: repeat(2, minmax(0,1fr));
  max-width: 620px;
  gap: 12px;
}

.chip-grid span{
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 12px 14px 12px 34px;
  background: rgba(255,255,255,.012);
  color: rgba(255,255,255,.74);
}

.chip-grid span::before{
  width: 7px;
  height: 7px;
  background: rgba(255,255,255,.52);
}

.phase-copy p,
.copy-col .lead{
  max-width: 610px;
}

.visual-stage{
  position: relative;
  border: 1px solid rgba(255,255,255,.05);
  background:
    radial-gradient(circle at 65% 20%, rgba(255,255,255,.06), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}

.visual-stage::before{
  content: "";
  position: absolute;
  inset: 10% auto auto 6%;
  width: 34%;
  aspect-ratio: 1;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.05);
  box-shadow:
    0 0 0 32px rgba(255,255,255,.015),
    0 0 0 64px rgba(255,255,255,.01);
  opacity: .55;
  pointer-events: none;
}

.info-board{
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
}

.board-card,
.funnel-item{
  transition: transform .45s ease, border-color .45s ease, background .45s ease;
}

.board-card:hover,
.funnel-item:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.05);
}

.board-bars span,
.scale-bars span{
  animation: riseBar 1.4s cubic-bezier(.16,1,.3,1) both;
  transform-origin: bottom center;
}

.board-bars span:nth-child(2),
.scale-bars span:nth-child(2){animation-delay:.08s;}
.board-bars span:nth-child(3),
.scale-bars span:nth-child(3){animation-delay:.16s;}
.scale-bars span:nth-child(4){animation-delay:.24s;}
.scale-bars span:nth-child(5){animation-delay:.32s;}

.funnel-item{
  position: relative;
}

.funnel-item::after{
  content: "";
  position: absolute;
  inset: auto 16px 0 16px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.10), transparent);
  opacity: .7;
}

.funnel-item:last-child::after{
  display: none;
}

.risk-panel{
  min-height: 370px;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 18px;
  padding: 20px;
}

.risk-transfer{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
}

.risk-side{
  padding: 14px 12px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  text-align: center;
}

.risk-label{
  display: block;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  letter-spacing: 2px;
  margin-bottom: 8px;
}

.risk-side strong{
  font-family: "Montserrat", sans-serif;
  font-size: 28px;
  line-height: 1;
}

.risk-arrow{
  font-size: 22px;
  color: rgba(255,255,255,.78);
  animation: pulseArrow 1.8s ease-in-out infinite;
}

.risk-points{
  display: grid;
  gap: 10px;
  align-content: start;
}

.risk-point{
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.018);
}

.risk-point strong{
  display: block;
  font-size: 14px;
  line-height: 1.15;
}

.risk-point small{
  display: block;
  margin-top: 5px;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  line-height: 1.3;
}

.compare-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    rgba(0,0,0,.30);
}

.compare-card.us{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 18px 40px rgba(0,0,0,.20);
}

.compare-card.them{
  opacity: .92;
}

.final-grid{
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .75fr);
  gap: 22px;
  align-items: stretch;
}

.final-copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}

.final-visual{
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 14px;
}

.final-visual-card{
  position: relative;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}

.mini-eyebrow{
  margin: 0 0 14px;
  font-size: 11px;
  letter-spacing: 3px;
  color: rgba(255,255,255,.65);
}

.final-ace-row{
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

.final-ace-row:first-of-type{
  border-top: 0;
}

.final-ace-row span{
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.035);
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  font-size: 17px;
}

.final-ace-row strong{
  display: block;
  font-size: 14px;
  line-height: 1.1;
}

.final-ace-row small{
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.68);
  font-size: 12px;
  line-height: 1.25;
}

.availability-card{
  position: relative;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.018);
  display: flex;
  align-items: center;
  gap: 14px;
}

.availability-card strong{
  font-family: "Montserrat", sans-serif;
  font-size: 34px;
  line-height: 1;
}

.availability-card small{
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.25;
  max-width: 140px;
}

.hero-shell{
  grid-template-columns: 170px minmax(0, 1fr) 170px;
  gap: clamp(20px, 3.2vw, 52px);
}

.metric-card{z-index: 1;}
.hero-copy{z-index: 2;}
.metric-left{justify-self: start;}
.metric-right{justify-self: end;}

.hero-subtitle{
  max-width: 820px;
  margin-inline: auto;
}

.section-buttons{
  flex-wrap: nowrap;
}

.phase-layout .section-buttons,
.guarantee-layout .section-buttons,
.comparison-wrap .section-buttons,
.ace-intro .section-buttons{
  max-width: 640px;
}

.section-btn{
  flex: 1 1 0;
}

.final-copy .btn{
  align-self: flex-start;
}

@keyframes driftGlow{
  0%,100%{ transform: translate3d(0,0,0) scale(1); opacity: .8; }
  50%{ transform: translate3d(8%, 6%, 0) scale(1.08); opacity: 1; }
}

@keyframes riseBar{
  0%{ transform: scaleY(.08); opacity: .35; }
  100%{ transform: scaleY(1); opacity: 1; }
}

@keyframes pulseArrow{
  0%,100%{ transform: translateX(0); opacity: .7; }
  50%{ transform: translateX(4px); opacity: 1; }
}

@keyframes fadeLift{
  from{ opacity: 0; transform: translateY(14px); }
  to{ opacity: 1; transform: translateY(0); }
}

@media (max-width: 1280px){
  .hero-shell{
    grid-template-columns: 156px minmax(0,1fr) 156px;
    gap: 20px;
  }
  .metric-card{
    width: 156px;
  }
}

@media (max-width: 1080px){
  .hero-shell{
    grid-template-columns: 1fr;
  }
  .metric-left,
  .metric-right{
    justify-self: center;
  }
  .section-buttons{
    flex-wrap: wrap;
  }
  .section-btn{
    flex: 1 1 240px;
  }
  .final-grid{
    grid-template-columns: 1fr;
  }
  .final-copy{
    text-align: center;
  }
  .final-copy .btn{
    align-self: center;
  }
  .chip-grid{
    grid-template-columns: 1fr;
    max-width: 100%;
  }
  #ace-system .ace-visual-panel{
    min-height: auto;
  }
}

@media (max-width: 760px){
  .section-buttons{
    flex-direction: column;
  }
  .section-btn{
    width: 100%;
    flex: none;
  }
  .hero-subtitle{
    max-width: 100%;
  }
  .risk-transfer{
    grid-template-columns: 1fr;
  }
  .risk-arrow{
    transform: rotate(90deg);
    justify-self: center;
  }
  .ace-summary-strip{
    grid-template-columns: 1fr;
  }
  .final-visual-card{
    padding: 18px;
  }
  .availability-card{
    justify-content: center;
  }
}


/* ===== V9 movement + hero fixes ===== */
.count{
  transition: color .35s ease, text-shadow .35s ease;
}
.count.count-settled{
  animation: settledGlow 3.2s ease-in-out infinite;
}
.metric-svg{
  overflow: visible;
}
.metric-svg-growth .metric-trend-line,
.metric-svg-target .target-line{
  stroke-dasharray: 280;
  stroke-dashoffset: 280;
  animation: drawMetricLine 2.8s ease forwards, metricLineFloat 6s ease-in-out infinite 2.8s;
}
.metric-svg-growth .metric-tip-glow{
  fill: rgba(172,255,212,.95);
  filter: drop-shadow(0 0 6px rgba(160,255,214,.65));
  animation: pulseTarget 1.9s ease-in-out infinite;
}
.metric-svg-target .target-ring{
  transform-origin: center;
  transform-box: fill-box;
}
.metric-svg-target .ring-a{
  animation: pulseRing 2.1s ease-out infinite;
}
.metric-svg-target .ring-b{
  animation: pulseRing 2.1s ease-out .45s infinite;
}
.metric-svg-target .target-core{
  filter: drop-shadow(0 0 7px rgba(255,255,255,.72));
  animation: targetBlink 1.6s ease-in-out infinite;
}
.metric-svg-target .target-core-glow{
  animation: targetGlow 2.4s ease-in-out infinite;
}
.metric-card .bar{
  animation: barLift 1.5s cubic-bezier(.16,1,.3,1) both;
  transform-origin: bottom center;
}
.metric-card .bar:nth-of-type(1){animation-delay:.04s}
.metric-card .bar:nth-of-type(2){animation-delay:.10s}
.metric-card .bar:nth-of-type(3){animation-delay:.16s}
.metric-card .bar:nth-of-type(4){animation-delay:.22s}
.metric-card .bar:nth-of-type(5){animation-delay:.28s}
.metric-card .bar:nth-of-type(6){animation-delay:.34s}
.metric-card .bar:nth-of-type(7){animation-delay:.40s}
.metric-card .bar:nth-of-type(8){animation-delay:.18s}

.hero .metric-card{
  backdrop-filter: blur(14px);
}
.hero .metric-left{ transform: translateX(-10px); }
.hero .metric-right{ transform: translateX(10px); }
.hero .metric-left,
.hero .metric-right{
  animation: heroSideFloat 6.5s ease-in-out infinite;
}
.hero .metric-right{ animation-delay: .8s; }
.hero-subtitle strong{
  text-shadow: 0 0 14px rgba(255,255,255,.10);
}
.orbit{
  animation: orbitDrift 9s ease-in-out infinite;
}
.hero-dot{
  animation: dotPulse 2.3s ease-in-out infinite;
}
.hero-glow-line{
  animation: glowSweep 5.4s ease-in-out infinite;
}
.floating-motion{
  animation: softFloat 7s ease-in-out infinite;
  animation-delay: var(--float-delay, 0s);
}
.ace-flow-rail::before{
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(175,255,218,.38), rgba(255,255,255,.08));
  animation: railPulse 4.2s ease-in-out infinite;
}
.ace-node{
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 10px 28px rgba(0,0,0,.12);
}
.ace-node:nth-child(1){animation: nodeBreathe 5s ease-in-out infinite}
.ace-node:nth-child(2){animation: nodeBreathe 5s ease-in-out .5s infinite}
.ace-node:nth-child(3){animation: nodeBreathe 5s ease-in-out 1s infinite}
.summary-mini{
  transition: transform .35s ease, border-color .35s ease, background .35s ease;
  animation: summaryPop 6s ease-in-out infinite;
}
.summary-mini:nth-child(2){animation-delay:.3s}
.summary-mini:nth-child(3){animation-delay:.6s}
.summary-mini:hover{
  transform: translateY(-3px);
  border-color: rgba(255,255,255,.18);
}
.info-board,
.compare-card,
.final-visual-card,
.risk-panel,
.ace-visual-panel{
  box-shadow: 0 18px 50px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.02);
}

@keyframes settledGlow{
  0%,100%{ text-shadow: 0 0 12px rgba(150,255,200,.12); }
  50%{ text-shadow: 0 0 24px rgba(150,255,200,.30); }
}
@keyframes drawMetricLine{
  to{ stroke-dashoffset: 0; }
}
@keyframes metricLineFloat{
  0%,100%{ opacity: .88; }
  50%{ opacity: 1; }
}
@keyframes pulseTarget{
  0%,100%{ transform: scale(1); opacity: .86; }
  50%{ transform: scale(1.18); opacity: 1; }
}
@keyframes pulseRing{
  0%{ opacity: .20; transform: scale(.92); }
  60%{ opacity: .68; transform: scale(1.08); }
  100%{ opacity: .15; transform: scale(1.22); }
}
@keyframes targetBlink{
  0%,100%{ opacity: .92; }
  45%{ opacity: .45; }
  60%{ opacity: 1; }
}
@keyframes targetGlow{
  0%,100%{ opacity: .55; }
  50%{ opacity: 1; }
}
@keyframes barLift{
  from{ transform: scaleY(.06); opacity: .35; }
  to{ transform: scaleY(1); opacity: 1; }
}
@keyframes heroSideFloat{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-6px); }
}
@keyframes orbitDrift{
  0%,100%{ transform: translateY(0) scale(1); opacity: .82; }
  50%{ transform: translateY(-6px) scale(1.02); opacity: 1; }
}
@keyframes dotPulse{
  0%,100%{ transform: scale(1); opacity: .88; }
  50%{ transform: scale(1.18); opacity: 1; }
}
@keyframes glowSweep{
  0%,100%{ opacity: .55; transform: scaleX(.95); }
  50%{ opacity: .92; transform: scaleX(1.02); }
}
@keyframes softFloat{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-5px); }
}
@keyframes railPulse{
  0%,100%{ opacity: .8; }
  50%{ opacity: 1; }
}
@keyframes nodeBreathe{
  0%,100%{ transform: translateY(0); border-color: rgba(255,255,255,.10); }
  50%{ transform: translateY(-3px); border-color: rgba(180,255,220,.18); }
}
@keyframes summaryPop{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-3px); }
}

@media (prefers-reduced-motion: reduce){
  .floating-motion,
  .hero .metric-left,
  .hero .metric-right,
  .metric-svg-growth .metric-trend-line,
  .metric-svg-target .target-line,
  .metric-svg-target .ring-a,
  .metric-svg-target .ring-b,
  .metric-svg-target .target-core,
  .metric-svg-target .target-core-glow,
  .metric-svg-growth .metric-tip-glow,
  .metric-card .bar,
  .count.count-settled,
  .orbit,
  .hero-dot,
  .hero-glow-line,
  .ace-flow-rail::before,
  .ace-node,
  .summary-mini{
    animation: none !important;
  }
}


/* ===== V10 refinements ===== */
.hero .metric-left,
.hero .metric-right,
.floating-motion{
  animation: none !important;
}

.ace-visual-panel{
  display: grid;
  grid-template-rows: auto auto;
  gap: 16px;
  padding: 24px;
}

.ace-flow-rail,
.ace-summary-strip{
  display: none !important;
}

.ace-sequence-board{
  display: grid;
  gap: 12px;
}

.ace-step-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.ace-step-main{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.ace-step-card .node-letter{
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
}

.ace-step-card .node-copy strong{
  font-size: 15px;
}

.ace-step-card .node-copy small{
  font-size: 12px;
  color: rgba(255,255,255,.72);
}

.ace-step-tag{
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.82);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ace-outcome-strip{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.outcome-pill{
  min-width: 0;
  padding: 14px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
}

.outcome-pill strong{
  display: block;
  font-size: 13px;
  line-height: 1.15;
}

.outcome-pill small{
  display: block;
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.35;
  color: rgba(255,255,255,.62);
}

.outcome-pill.accent{
  border-color: rgba(172,255,212,.18);
  background: linear-gradient(180deg, rgba(120,255,176,.07), rgba(255,255,255,.02));
}

.availability-card{
  justify-content: flex-start;
  gap: 12px;
  padding: 16px 18px;
}

.availability-status{
  display: block;
  width: 100%;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.slots-count{
  min-width: 34px;
  transition: color .35s ease, text-shadow .35s ease;
}

.slots-label{
  max-width: none;
}

.slots-count.slots-live{
  color: hsl(126 76% 70%);
  text-shadow: 0 0 14px rgba(130,255,180,.24);
}

/* remove the previous float/breathe feel from visual modules */
.ace-node,
.summary-mini,
.hero .metric-left,
.hero .metric-right{
  transform: none !important;
}

@media (max-width: 900px){
  .ace-outcome-strip{
    grid-template-columns: 1fr;
  }
  .ace-step-card{
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ===== V11 polish ===== */
:root{
  --accent-blue: #8ec5ff;
  --accent-violet: #b4a2ff;
  --accent-green: #86f0ac;
}

.metric-tip-glow{
  fill: rgba(178,255,216,.85);
  filter: drop-shadow(0 0 8px rgba(140,255,196,.50));
}

.metric-svg-growth marker path{
  vector-effect: non-scaling-stroke;
}

.hero .metric-card .big-number .count.count-settled{
  transition: color .35s ease, text-shadow .35s ease;
}

/* make hero arrow feel integrated */
.metric-svg-growth{
  overflow: visible;
}

/* richer, clearer ACE overview */
#ace-system .lead{
  max-width: 860px;
}

.ace-card{
  position: relative;
  overflow: hidden;
}

.ace-card::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:2px;
  border-radius:999px;
  opacity:.88;
}

.ace-card:nth-of-type(1)::before{background:linear-gradient(90deg, rgba(142,197,255,.85), transparent 80%);}
.ace-card:nth-of-type(2)::before{background:linear-gradient(90deg, rgba(180,162,255,.85), transparent 80%);}
.ace-card:nth-of-type(3)::before{background:linear-gradient(90deg, rgba(134,240,172,.88), transparent 80%);}

.ace-card:nth-of-type(1) .ace-letter,
.ace-step-card:nth-child(1) .node-letter,
.final-ace-row:nth-child(2) > span,
.outcome-pill:nth-child(1){box-shadow: inset 0 0 0 1px rgba(142,197,255,.18);}

.ace-card:nth-of-type(2) .ace-letter,
.ace-step-card:nth-child(2) .node-letter,
.final-ace-row:nth-child(3) > span,
.outcome-pill:nth-child(2){box-shadow: inset 0 0 0 1px rgba(180,162,255,.18);}

.ace-card:nth-of-type(3) .ace-letter,
.ace-step-card:nth-child(3) .node-letter,
.final-ace-row:nth-child(4) > span,
.outcome-pill:nth-child(3){box-shadow: inset 0 0 0 1px rgba(134,240,172,.18);}

.ace-step-card:nth-child(1){border-color:rgba(142,197,255,.14); background:linear-gradient(180deg, rgba(142,197,255,.06), rgba(255,255,255,.02));}
.ace-step-card:nth-child(2){border-color:rgba(180,162,255,.14); background:linear-gradient(180deg, rgba(180,162,255,.06), rgba(255,255,255,.02));}
.ace-step-card:nth-child(3){border-color:rgba(134,240,172,.14); background:linear-gradient(180deg, rgba(134,240,172,.06), rgba(255,255,255,.02));}

.ace-step-card:nth-child(1) .ace-step-tag{border-color:rgba(142,197,255,.20); color:rgba(201,227,255,.92);}
.ace-step-card:nth-child(2) .ace-step-tag{border-color:rgba(180,162,255,.20); color:rgba(225,215,255,.92);}
.ace-step-card:nth-child(3) .ace-step-tag{border-color:rgba(134,240,172,.20); color:rgba(212,255,225,.92);}

.outcome-pill:nth-child(1){background:linear-gradient(180deg, rgba(142,197,255,.07), rgba(255,255,255,.02));}
.outcome-pill:nth-child(2){background:linear-gradient(180deg, rgba(180,162,255,.07), rgba(255,255,255,.02));}
.outcome-pill:nth-child(3){background:linear-gradient(180deg, rgba(134,240,172,.08), rgba(255,255,255,.02));}

.outcome-pill strong{
  margin-bottom:2px;
}

/* make buttons clearer versus info pills */
.section-btn{
  min-width: 272px;
  min-height: 60px;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}

.section-btn.filled{
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(235,235,235,.94));
  color:#080808;
  border:1px solid rgba(255,255,255,.85);
  box-shadow: 0 16px 28px rgba(255,255,255,.08), 0 14px 28px rgba(0,0,0,.24);
}

.section-btn.ghost{
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}

.section-btn.ghost:hover,
.section-btn.ghost:focus-visible{
  border-color: rgba(255,255,255,.44);
  box-shadow: 0 10px 24px rgba(255,255,255,.06);
}

/* clearer final cta */
.scarcity{
  max-width: 430px;
  color: rgba(255,255,255,.76);
}

.final-visual-card{
  overflow:hidden;
}

.final-ace-row{
  position:relative;
  padding-left: 2px;
}

.final-ace-row::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  border-radius:999px;
  opacity:.65;
}

.final-ace-row:nth-child(2)::before{background:rgba(142,197,255,.8);}
.final-ace-row:nth-child(3)::before{background:rgba(180,162,255,.8);}
.final-ace-row:nth-child(4)::before{background:rgba(134,240,172,.85);}

.final-ace-row > span{
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

.availability-card{
  background: linear-gradient(180deg, rgba(134,240,172,.06), rgba(255,255,255,.02));
  border-color: rgba(134,240,172,.16);
}

.availability-status{
  min-height: 16px;
}

.slots-count{
  min-width: 48px;
}

/* add subtle accent colors through phase visuals */
.visual-stage .mini-card:nth-child(1),
.visual-stage .stat-block:nth-child(1){
  border-color: rgba(142,197,255,.14);
  background: linear-gradient(180deg, rgba(142,197,255,.05), rgba(255,255,255,.02));
}
.visual-stage .mini-card:nth-child(2),
.visual-stage .stat-block:nth-child(2){
  border-color: rgba(180,162,255,.14);
  background: linear-gradient(180deg, rgba(180,162,255,.05), rgba(255,255,255,.02));
}
.visual-stage .mini-card:nth-child(3),
.visual-stage .stat-block:nth-child(3),
.visual-stage .progress-bars span,
.visual-stage .bars-growth span{
  border-color: rgba(134,240,172,.16);
}

/* mobile clarity */
@media (max-width: 900px){
  .section-btn{
    min-width: 100%;
  }
}


/* ===== V12: more color in key parts, still premium/subtle ===== */

/* Global color utility through section headings */
#arquitectura-digital .phase-index,
#arquitectura-digital .board-top span:first-child{
  color: rgba(177,218,255,.82);
}

#conversion-psicologica .phase-index,
#conversion-psicologica .board-top span:first-child{
  color: rgba(218,207,255,.84);
}

#escala-predecible .phase-index,
#escala-predecible .board-top span:first-child{
  color: rgba(192,255,214,.84);
}

#garantia-mafiosa .eyebrow{
  color: rgba(255,187,187,.82);
}

#comparison .eyebrow{
  color: rgba(204,224,255,.80);
}

#final-cta .eyebrow{
  color: rgba(188,255,211,.84);
}

/* Colored guide line before section labels */
#arquitectura-digital .phase-index::before{
  background: linear-gradient(90deg, transparent, rgba(142,197,255,.92));
  box-shadow: 0 0 14px rgba(142,197,255,.22);
}

#conversion-psicologica .phase-index::before{
  background: linear-gradient(90deg, transparent, rgba(180,162,255,.92));
  box-shadow: 0 0 14px rgba(180,162,255,.22);
}

#escala-predecible .phase-index::before{
  background: linear-gradient(90deg, transparent, rgba(134,240,172,.92));
  box-shadow: 0 0 14px rgba(134,240,172,.22);
}

#garantia-mafiosa .eyebrow::before{
  background: linear-gradient(90deg, transparent, rgba(255,140,140,.78));
  box-shadow: 0 0 14px rgba(255,140,140,.18);
}

#comparison .eyebrow::before{
  background: linear-gradient(90deg, transparent, rgba(142,197,255,.74), rgba(180,162,255,.70));
  box-shadow: 0 0 14px rgba(142,197,255,.14);
}

#final-cta .eyebrow::before{
  background: linear-gradient(90deg, transparent, rgba(134,240,172,.85));
  box-shadow: 0 0 14px rgba(134,240,172,.20);
}

/* Phase title glow by stage */
#arquitectura-digital h2{
  text-shadow: 0 0 24px rgba(142,197,255,.10), 0 0 12px rgba(255,255,255,.10);
}

#conversion-psicologica h2{
  text-shadow: 0 0 24px rgba(180,162,255,.12), 0 0 12px rgba(255,255,255,.10);
}

#escala-predecible h2{
  text-shadow: 0 0 24px rgba(134,240,172,.10), 0 0 12px rgba(255,255,255,.10);
}

#garantia-mafiosa h2{
  text-shadow: 0 0 24px rgba(255,130,130,.09), 0 0 12px rgba(255,255,255,.10);
}

/* Color-coded support items per phase */
#arquitectura-digital .chip-grid span{
  border-color: rgba(142,197,255,.12);
  background: linear-gradient(180deg, rgba(142,197,255,.045), rgba(255,255,255,.012));
}

#arquitectura-digital .chip-grid span::before{
  background: rgba(142,197,255,.82);
  box-shadow: 0 0 12px rgba(142,197,255,.24);
}

#conversion-psicologica .chip-grid span{
  border-color: rgba(180,162,255,.13);
  background: linear-gradient(180deg, rgba(180,162,255,.045), rgba(255,255,255,.012));
}

#conversion-psicologica .chip-grid span::before{
  background: rgba(180,162,255,.82);
  box-shadow: 0 0 12px rgba(180,162,255,.24);
}

#escala-predecible .chip-grid span{
  border-color: rgba(134,240,172,.13);
  background: linear-gradient(180deg, rgba(134,240,172,.05), rgba(255,255,255,.012));
}

#escala-predecible .chip-grid span::before{
  background: rgba(134,240,172,.86);
  box-shadow: 0 0 12px rgba(134,240,172,.26);
}

/* Visual boards: colored accents without breaking monochrome identity */
#arquitectura-digital .info-board{
  border-color: rgba(142,197,255,.14);
  box-shadow:
    0 18px 50px rgba(0,0,0,.20),
    inset 0 0 0 1px rgba(142,197,255,.05);
}

#arquitectura-digital .board-card-wide{
  border-color: rgba(142,197,255,.16);
  background: linear-gradient(180deg, rgba(142,197,255,.055), rgba(0,0,0,.32));
}

#arquitectura-digital .board-bars span{
  background: linear-gradient(90deg, rgba(142,197,255,.38), rgba(255,255,255,.12));
  box-shadow: 0 0 12px rgba(142,197,255,.10);
}

#conversion-psicologica .info-board{
  border-color: rgba(180,162,255,.14);
  box-shadow:
    0 18px 50px rgba(0,0,0,.20),
    inset 0 0 0 1px rgba(180,162,255,.05);
}

#conversion-psicologica .funnel-item{
  border-color: rgba(180,162,255,.11);
}

#conversion-psicologica .funnel-item:nth-child(1) .dot{
  background: rgba(142,197,255,.94);
  box-shadow: 0 0 18px rgba(142,197,255,.34);
}

#conversion-psicologica .funnel-item:nth-child(2) .dot{
  background: rgba(180,162,255,.94);
  box-shadow: 0 0 18px rgba(180,162,255,.34);
}

#conversion-psicologica .funnel-item:nth-child(3) .dot{
  background: rgba(255,210,160,.90);
  box-shadow: 0 0 18px rgba(255,210,160,.22);
}

#conversion-psicologica .funnel-item:nth-child(4) .dot{
  background: rgba(134,240,172,.94);
  box-shadow: 0 0 18px rgba(134,240,172,.32);
}

#conversion-psicologica .funnel-item .idx{
  color: rgba(218,207,255,.72);
}

#escala-predecible .info-board{
  border-color: rgba(134,240,172,.14);
  box-shadow:
    0 18px 50px rgba(0,0,0,.20),
    inset 0 0 0 1px rgba(134,240,172,.055);
}

#escala-predecible .board-card-wide{
  border-color: rgba(134,240,172,.16);
  background: linear-gradient(180deg, rgba(134,240,172,.055), rgba(0,0,0,.30));
}

#escala-predecible .scale-bars span{
  background: linear-gradient(180deg, rgba(134,240,172,.34), rgba(255,255,255,.045));
  box-shadow: 0 -4px 18px rgba(134,240,172,.055);
}

#escala-predecible .scale-bars span:nth-child(1){
  background: linear-gradient(180deg, rgba(142,197,255,.22), rgba(255,255,255,.035));
}

#escala-predecible .scale-bars span:nth-child(2){
  background: linear-gradient(180deg, rgba(142,197,255,.26), rgba(255,255,255,.035));
}

#escala-predecible .scale-bars span:nth-child(3){
  background: linear-gradient(180deg, rgba(180,162,255,.28), rgba(255,255,255,.04));
}

#escala-predecible .scale-bars span:nth-child(4),
#escala-predecible .scale-bars span:nth-child(5){
  background: linear-gradient(180deg, rgba(134,240,172,.34), rgba(255,255,255,.045));
}

/* Guarantee: risk transfer is clearer */
#garantia-mafiosa .guarantee-box{
  border-color: rgba(255,150,150,.14);
  background:
    radial-gradient(circle at 12% 0%, rgba(255,120,120,.055), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
}

#garantia-mafiosa .guarantee-quote strong{
  color: #ffffff;
  text-shadow: 0 0 14px rgba(255,255,255,.10);
}

#garantia-mafiosa .risk-side.yours{
  border-color: rgba(255,120,120,.18);
  background: linear-gradient(180deg, rgba(255,120,120,.075), rgba(255,255,255,.015));
}

#garantia-mafiosa .risk-side.ours{
  border-color: rgba(134,240,172,.22);
  background: linear-gradient(180deg, rgba(134,240,172,.085), rgba(255,255,255,.015));
}

#garantia-mafiosa .risk-side.yours strong{
  color: rgba(255,150,150,.92);
  text-shadow: 0 0 16px rgba(255,120,120,.20);
}

#garantia-mafiosa .risk-side.ours strong{
  color: rgba(134,240,172,.98);
  text-shadow: 0 0 16px rgba(134,240,172,.24);
}

#garantia-mafiosa .risk-arrow{
  color: rgba(214,255,229,.95);
  text-shadow: 0 0 12px rgba(134,240,172,.20);
}

#garantia-mafiosa .risk-point:nth-child(1){
  border-color: rgba(142,197,255,.13);
}

#garantia-mafiosa .risk-point:nth-child(2){
  border-color: rgba(180,162,255,.13);
}

#garantia-mafiosa .risk-point:nth-child(3){
  border-color: rgba(134,240,172,.14);
}

/* Comparison: stronger contrast between us and the rest */
.compare-card.us{
  border-color: rgba(134,240,172,.18);
  background:
    radial-gradient(circle at 15% 0%, rgba(134,240,172,.075), transparent 32%),
    radial-gradient(circle at 85% 100%, rgba(142,197,255,.055), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}

.compare-card.us .compare-list li::before{
  background: rgba(134,240,172,.95);
  box-shadow: 0 0 10px rgba(134,240,172,.28);
}

.compare-card.them{
  border-color: rgba(255,255,255,.075);
  background:
    radial-gradient(circle at 85% 0%, rgba(255,120,120,.035), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,.010));
}

.compare-card.them .compare-list li::before{
  background: rgba(255,150,150,.45);
}

/* Final section: availability and installed stack */
#final-cta .final-panel{
  border-color: rgba(134,240,172,.12);
  background:
    radial-gradient(circle at 78% 30%, rgba(134,240,172,.045), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.014));
}

#final-cta .final-visual-card{
  border-color: rgba(142,197,255,.12);
}

#final-cta .availability-card{
  border-color: rgba(134,240,172,.22);
  box-shadow: 0 0 26px rgba(134,240,172,.055), inset 0 0 0 1px rgba(134,240,172,.035);
}

#final-cta .slots-count.slots-live{
  color: rgba(134,240,172,1);
  text-shadow: 0 0 20px rgba(134,240,172,.36);
}

/* Keep it tasteful on small screens */
@media (max-width: 760px){
  #garantia-mafiosa .risk-side strong,
  #final-cta .slots-count{
    text-shadow: none;
  }
}


/* ===== V13: color intensity 8/10, login modal, form page ===== */

/* Reduce color intensity slightly without removing stage identity */
#arquitectura-digital .chip-grid span,
#conversion-psicologica .chip-grid span,
#escala-predecible .chip-grid span,
#arquitectura-digital .board-card-wide,
#escala-predecible .board-card-wide,
#garantia-mafiosa .guarantee-box,
#final-cta .final-panel,
.compare-card.us,
.compare-card.them{
  filter: saturate(.82);
}

#arquitectura-digital .phase-index::before,
#conversion-psicologica .phase-index::before,
#escala-predecible .phase-index::before,
#garantia-mafiosa .eyebrow::before,
#comparison .eyebrow::before,
#final-cta .eyebrow::before{
  opacity: .78;
  box-shadow: none;
}

#arquitectura-digital h2,
#conversion-psicologica h2,
#escala-predecible h2,
#garantia-mafiosa h2{
  text-shadow: 0 0 14px rgba(255,255,255,.08);
}

#conversion-psicologica .funnel-item .dot,
#arquitectura-digital .chip-grid span::before,
#conversion-psicologica .chip-grid span::before,
#escala-predecible .chip-grid span::before,
.compare-card.us .compare-list li::before,
#final-cta .slots-count.slots-live{
  box-shadow: none !important;
}

#garantia-mafiosa .risk-side.yours strong,
#garantia-mafiosa .risk-side.ours strong,
#final-cta .slots-count.slots-live{
  text-shadow: none;
}

/* Client login modal */
.client-modal{
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
}

.client-modal.is-open{
  opacity: 1;
  pointer-events: auto;
}

.client-modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(10px);
}

.client-modal__card{
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  padding: 34px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 20% 0%, rgba(142,197,255,.055), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(5,5,5,.96);
  box-shadow: 0 34px 90px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
}

.client-modal__close{
  position: absolute;
  top: 14px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.035);
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.client-modal__eyebrow,
.form-eyebrow{
  color: rgba(255,255,255,.58);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.client-modal__card h2{
  font-family: "Montserrat", sans-serif;
  font-size: clamp(32px, 4vw, 48px);
  line-height: .95;
  letter-spacing: -.06em;
  margin-bottom: 16px;
}

.client-modal__card p{
  color: rgba(255,255,255,.72);
  font-size: 18px;
  line-height: 1.45;
}

.client-modal__actions{
  display: flex;
  gap: 14px;
  margin-top: 24px;
}

.client-modal__actions .section-btn{
  min-width: 0;
  flex: 1;
}

/* Form page */
.form-page{
  min-height: 100svh;
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.075), transparent 40%),
    linear-gradient(180deg, #050505, #030303);
  color: var(--text);
}

.form-main{
  position: relative;
  min-height: 100svh;
  padding: calc(var(--nav-h) + 48px) 24px 48px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.form-main::before{
  content: "";
  position: absolute;
  inset: var(--nav-h) 0 0 0;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 36px 36px;
  opacity: .50;
  mask-image: radial-gradient(circle at center, #000 40%, transparent 90%);
  -webkit-mask-image: radial-gradient(circle at center, #000 40%, transparent 90%);
}

.audit-form-shell{
  position: relative;
  z-index: 2;
  width: min(1120px, 100%);
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 24px;
  align-items: stretch;
}

.audit-form-copy,
.audit-form-card{
  border: 1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),
    rgba(5,5,5,.76);
  border-radius: 30px;
  backdrop-filter: blur(14px);
}

.audit-form-copy{
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.audit-form-copy h1{
  font-family: "Montserrat", sans-serif;
  font-size: clamp(40px, 5vw, 74px);
  line-height: .94;
  letter-spacing: -.075em;
  text-transform: uppercase;
}

.audit-form-copy p{
  margin-top: 18px;
  color: rgba(255,255,255,.72);
  font-size: 19px;
  line-height: 1.45;
}

.form-mini-stack{
  margin-top: 28px;
  display: grid;
  gap: 10px;
}

.form-mini-stack span{
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.76);
  background: rgba(255,255,255,.018);
  font-weight: 700;
}

.audit-form-card{
  padding: 28px;
}

.audit-form{
  display: grid;
  gap: 18px;
}

.form-field{
  display: grid;
  gap: 9px;
}

.form-field label,
.capital-title{
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
}

.form-field input,
.form-field textarea{
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(0,0,0,.35);
  color: #fff;
  padding: 16px 16px;
  font: inherit;
  outline: none;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.form-field textarea{
  min-height: 120px;
  resize: vertical;
}

.form-field input:focus,
.form-field textarea:focus{
  border-color: rgba(134,240,172,.38);
  background: rgba(255,255,255,.025);
  box-shadow: 0 0 0 4px rgba(134,240,172,.055);
}

.capital-options{
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

.capital-option{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.018);
  cursor: pointer;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}

.capital-option:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.22);
}

.capital-option input{
  margin-top: 5px;
  accent-color: #86f0ac;
}

.capital-option strong{
  display: block;
  margin-bottom: 4px;
}

.capital-option span{
  color: rgba(255,255,255,.70);
  font-size: 15px;
  line-height: 1.35;
}

.capital-option.is-qualified{
  border-color: rgba(134,240,172,.22);
  background: linear-gradient(180deg, rgba(134,240,172,.055), rgba(255,255,255,.018));
}

.capital-option.is-low{
  border-color: rgba(255,150,150,.16);
}

.form-submit{
  width: 100%;
  min-height: 68px;
  margin-top: 6px;
}

.form-status{
  min-height: 22px;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 1.4;
}

.form-status.success{
  color: rgba(134,240,172,.95);
}

.form-status.warning{
  color: rgba(255,190,150,.95);
}

.form-back{
  display: inline-flex;
  margin-top: 18px;
  color: rgba(255,255,255,.62);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: .02em;
}

@media (max-width: 900px){
  .client-modal__actions{
    flex-direction: column;
  }

  .audit-form-shell{
    grid-template-columns: 1fr;
  }

  .audit-form-copy,
  .audit-form-card{
    padding: 24px;
  }
}


/* ===== V14: form QA polish ===== */

/* Remove the native white fieldset border around the capital options */
.capital-field{
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-inline-size: 0;
}

.capital-title{
  display: block;
  max-width: 100%;
  margin: 0 0 12px;
  padding: 0;
  line-height: 1.28;
}

/* Cleaner form proportions */
.audit-form-shell{
  align-items: center;
}

.audit-form-copy h1{
  font-size: clamp(34px, 4.35vw, 62px);
  line-height: .96;
}

.audit-form-copy p{
  font-size: 18px;
}

.audit-form-card{
  position: relative;
  overflow: hidden;
}

.audit-form-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 100% 0%, rgba(134,240,172,.05), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(142,197,255,.035), transparent 34%);
  pointer-events: none;
}

.audit-form{
  position: relative;
  z-index: 1;
}

/* Better visual hierarchy in radio options */
.capital-options{
  gap: 14px;
}

.capital-option{
  position: relative;
  min-height: 92px;
  align-items: center;
  border-color: rgba(255,255,255,.10);
}

.capital-option input{
  width: 18px;
  height: 18px;
  margin-top: 0;
}

.capital-option:has(input:checked){
  transform: translateY(-1px);
  border-color: rgba(134,240,172,.34);
  background:
    radial-gradient(circle at 0% 0%, rgba(134,240,172,.09), transparent 36%),
    rgba(255,255,255,.022);
  box-shadow: 0 0 0 1px rgba(134,240,172,.045), 0 14px 30px rgba(0,0,0,.22);
}

.capital-option.is-low:has(input:checked){
  border-color: rgba(255,150,150,.30);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,150,150,.07), transparent 36%),
    rgba(255,255,255,.018);
  box-shadow: 0 0 0 1px rgba(255,150,150,.035), 0 14px 30px rgba(0,0,0,.22);
}

.capital-option strong{
  font-size: 18px;
}

.capital-option span{
  font-size: 16px;
}

/* Inputs feel more premium and less heavy */
.form-field input,
.form-field textarea{
  border-color: rgba(255,255,255,.11);
  background: rgba(0,0,0,.28);
}

.form-field input::placeholder,
.form-field textarea::placeholder{
  color: rgba(255,255,255,.34);
}

/* Submit button separated from options */
.form-submit{
  margin-top: 10px;
}

/* Compact view for shorter laptop screens */
@media (max-height: 780px) and (min-width: 901px){
  .form-main{
    padding-top: calc(var(--nav-h) + 28px);
    padding-bottom: 28px;
    place-items: start center;
  }

  .audit-form-copy,
  .audit-form-card{
    padding: 24px;
  }

  .audit-form-copy h1{
    font-size: clamp(32px, 4vw, 54px);
  }

  .audit-form-copy p{
    font-size: 16px;
  }

  .form-mini-stack{
    margin-top: 20px;
  }

  .form-mini-stack span{
    padding: 10px 12px;
  }

  .audit-form{
    gap: 14px;
  }

  .form-field textarea{
    min-height: 96px;
  }

  .capital-option{
    min-height: 78px;
    padding: 14px;
  }

  .form-submit{
    min-height: 62px;
  }
}

@media (max-width: 900px){
  .audit-form-shell{
    align-items: stretch;
  }

  .audit-form-copy h1{
    font-size: clamp(36px, 12vw, 58px);
  }

  .capital-option{
    min-height: auto;
  }
}


/* ===== V16 MOBILE FINAL: full responsive polish ===== */

/* Global mobile safety */
html,
body{
  max-width: 100%;
}

body{
  overflow-x: hidden;
}

img,
svg,
video{
  max-width: 100%;
}

/* Make snap less aggressive on touch devices */
@media (hover: none) and (pointer: coarse){
  html{
    scroll-snap-type: y proximity;
  }

  .snap-section{
    scroll-snap-stop: normal;
  }
}

/* Tablet refinement */
@media (max-width: 1080px){
  :root{
    --wrap: min(100vw - 32px, 860px);
  }

  .site-header{
    height: 72px;
    padding: 0 18px;
    grid-template-columns: 1fr auto 1fr;
  }

  .client-login{
    display: inline-flex;
    font-size: 11px;
    letter-spacing: 3px;
  }

  .brand-logo img{
    width: 46px;
    height: 46px;
  }

  .menu{
    font-size: 11px;
    letter-spacing: 3px;
  }

  .hamburger{
    width: 24px;
    height: 15px;
  }

  .hero .hero-shell,
  .hero-shell{
    width: var(--wrap);
    grid-template-columns: 1fr;
    gap: 18px;
    align-content: center;
    padding: 22px 0 28px;
  }

  .hero-copy{
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
  }

  .hero .metric-card,
  .metric-card{
    position: relative;
    width: min(100%, 420px);
    min-height: auto;
    margin-inline: auto;
    inset: auto;
    transform: none !important;
  }

  .hero .metric-left,
  .hero .metric-right{
    justify-self: center;
  }

  .hero .metric-left{
    order: 2;
  }

  .hero .metric-right{
    order: 3;
  }

  .hero-copy{
    order: 1;
  }

  .hero h1{
    max-width: 100%;
    white-space: normal;
    overflow-wrap: normal;
  }

  .hero h1 span,
  h1 span{
    white-space: normal;
  }

  .section-wrap{
    width: var(--wrap);
    min-height: calc(100svh - var(--nav-h));
    padding: 28px 0;
  }

  .ace-intro,
  .phase-layout,
  .phase-layout.reverse,
  .guarantee-layout{
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .phase-layout.reverse .visual-stage{
    order: 2;
  }

  .phase-layout.reverse .phase-copy{
    order: 1;
  }

  .copy-col,
  .phase-copy{
    width: 100%;
  }

  .lead,
  .lead.left,
  .phase-copy p,
  .copy-col .lead{
    max-width: 100%;
  }

  .ace-cards{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .ace-arrow{
    display: none;
  }

  .visual-stage{
    min-height: auto;
    padding: 16px;
    display: block;
  }

  .visual-stage .info-board,
  .info-board{
    position: relative;
    inset: auto;
    width: 100%;
    min-height: auto;
    margin: 0;
  }

  .board-grid{
    grid-template-columns: 1fr;
  }

  .comparison-stage{
    grid-template-columns: 1fr;
  }

  .vs-pill{
    justify-self: center;
    width: 58px;
    height: 58px;
    font-size: 18px;
  }

  .final-grid{
    grid-template-columns: 1fr;
  }

  .final-copy{
    text-align: center;
    align-items: center;
  }

  .final-copy .btn{
    align-self: center;
  }
}

/* Mobile phones */
@media (max-width: 760px){
  :root{
    --nav-h: 66px;
    --wrap: min(100vw - 24px, 520px);
  }

  html{
    scroll-snap-type: none;
  }

  .snap-section{
    min-height: auto;
    padding-top: var(--nav-h);
    overflow: visible;
  }

  .section-grid{
    inset: var(--nav-h) 0 0 0;
    background-size: 28px 28px;
    opacity: .42;
  }

  .site-header{
    height: var(--nav-h);
    padding: 0 12px;
  }

  .client-login{
    font-size: 9px;
    letter-spacing: 2px;
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .brand-logo img{
    width: 42px;
    height: 42px;
  }

  .menu{
    font-size: 9px;
    letter-spacing: 2px;
    gap: 8px;
  }

  .hamburger{
    width: 22px;
    height: 14px;
  }

  .hero{
    min-height: 100svh;
  }

  .hero .hero-shell{
    min-height: calc(100svh - var(--nav-h));
    padding: 22px 0 24px;
    gap: 14px;
  }

  .orbit{
    display: none;
  }

  .hero-dot{
    top: -12px;
    width: 7px;
    height: 7px;
  }

  .hero h1{
    font-size: clamp(40px, 13vw, 62px);
    line-height: .94;
    letter-spacing: -.07em;
  }

  .hero-subtitle{
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.35;
    max-width: 100%;
  }

  .cta-row{
    width: 100%;
    margin-top: 24px;
    gap: 12px;
  }

  .btn{
    width: 100%;
    min-width: 0;
    height: 62px;
    font-size: 14px;
    border-radius: 12px;
    padding-inline: 18px;
    text-align: center;
  }

  .hero-glow-line{
    width: 70%;
    margin-top: 20px;
  }

  .hero .metric-card{
    width: min(100%, 330px);
    padding: 16px;
    border-radius: 20px;
  }

  .metric-card h3,
  .small-caps{
    font-size: 11px;
  }

  .small-label{
    margin-top: 14px;
    font-size: 12px;
  }

  .big-number{
    font-size: 24px;
  }

  .metric-svg{
    height: 78px;
    margin-top: 8px;
  }

  .metric-svg.small{
    width: 104px;
    height: 54px;
  }

  .metric-svg.profit{
    width: 100px;
    height: 64px;
  }

  .section-wrap{
    min-height: auto;
    padding: 48px 0;
  }

  .eyebrow,
  .phase-index{
    font-size: 10px;
    letter-spacing: 3px;
    gap: 10px;
  }

  .eyebrow::before,
  .phase-index::before{
    width: 34px;
  }

  h2{
    font-size: clamp(34px, 12vw, 54px);
    line-height: .96;
    letter-spacing: -.065em;
  }

  .lead,
  .phase-copy p{
    font-size: 16px;
    line-height: 1.42;
  }

  .ace-card{
    padding: 18px;
    border-radius: 20px;
  }

  .ace-card h3{
    font-size: 21px;
  }

  .ace-card p{
    font-size: 15px;
  }

  .ace-letter{
    width: 50px;
    height: 50px;
    font-size: 28px;
  }

  #ace-system .ace-visual-panel,
  .mascot-panel,
  .mascot-panel.tight{
    width: 100%;
    min-height: auto;
    padding: 16px;
    border-radius: 22px;
  }

  .ace-step-card{
    padding: 13px;
    border-radius: 17px;
    flex-direction: column;
    align-items: flex-start;
  }

  .ace-step-main{
    width: 100%;
  }

  .ace-step-tag{
    align-self: flex-start;
    font-size: 10px;
  }

  .ace-outcome-strip{
    grid-template-columns: 1fr;
  }

  .outcome-pill{
    padding: 13px;
  }

  .chip-grid{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .chip-grid span{
    min-height: 44px;
    font-size: 13px;
  }

  .section-buttons{
    width: 100%;
    flex-direction: column;
    gap: 12px;
    max-width: 100% !important;
  }

  .section-btn{
    width: 100%;
    min-width: 0;
    min-height: 58px;
    font-size: 13px;
    border-radius: 14px;
    text-align: center;
  }

  .visual-stage{
    border-radius: 22px;
    padding: 14px;
  }

  .info-board{
    padding: 18px;
    border-radius: 22px;
  }

  .board-card{
    padding: 15px;
    border-radius: 15px;
  }

  .board-card strong,
  .funnel-item strong{
    font-size: 15px;
  }

  .board-card small,
  .funnel-item small{
    font-size: 12px;
  }

  .board-bars{
    gap: 7px;
  }

  .funnel-item{
    grid-template-columns: auto 1fr;
    gap: 12px;
    padding: 13px;
  }

  .funnel-item .idx{
    grid-column: 2;
    justify-self: start;
  }

  .scale-bars{
    height: 78px;
    gap: 7px;
  }

  .guarantee-box{
    padding: 20px;
    border-radius: 22px;
  }

  .guarantee-quote{
    font-size: 19px;
    line-height: 1.36;
  }

  .guarantee-foot{
    font-size: 15px;
  }

  .risk-panel{
    min-height: auto;
    padding: 16px;
  }

  .risk-transfer{
    grid-template-columns: 1fr;
  }

  .risk-arrow{
    justify-self: center;
    transform: rotate(90deg);
  }

  .compare-card{
    padding: 18px;
    border-radius: 22px;
  }

  .compare-badge{
    min-height: 44px;
    font-size: 20px;
    padding: 0 14px;
  }

  .compare-list li{
    font-size: 14px;
  }

  .compare-note{
    padding: 15px;
  }

  .final-panel{
    padding: 18px;
    border-radius: 22px;
  }

  .final-copy{
    text-align: center;
  }

  .final-copy p{
    font-size: 16px;
  }

  .btn.premium{
    min-width: 0;
  }

  .final-visual-card{
    padding: 18px;
    border-radius: 20px;
  }

  .availability-card{
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }

  .availability-status{
    width: 100%;
  }

  .slots-count{
    font-size: 34px;
  }

  .client-modal{
    padding: 14px;
  }

  .client-modal__card{
    padding: 26px 20px 22px;
    border-radius: 22px;
  }

  .client-modal__card p{
    font-size: 16px;
  }

  .client-modal__actions{
    flex-direction: column;
  }

  .client-modal__actions .section-btn{
    width: 100%;
  }
}

/* Very small phones */
@media (max-width: 390px){
  :root{
    --wrap: min(100vw - 18px, 380px);
  }

  .client-login{
    max-width: 76px;
    letter-spacing: 1.5px;
  }

  .menu span:first-child{
    display: none;
  }

  .hero h1{
    font-size: clamp(34px, 12.8vw, 48px);
  }

  h2{
    font-size: clamp(31px, 11.5vw, 46px);
  }

  .btn,
  .section-btn{
    font-size: 12px;
  }

  .hero .metric-card{
    width: 100%;
  }
}

/* Form mobile */
@media (max-width: 760px){
  .form-main{
    min-height: auto;
    padding: calc(var(--nav-h) + 26px) 12px 36px;
    place-items: start center;
  }

  .audit-form-shell{
    width: 100%;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .audit-form-copy,
  .audit-form-card{
    padding: 20px;
    border-radius: 22px;
  }

  .audit-form-copy h1{
    font-size: clamp(36px, 12vw, 52px);
    line-height: .96;
  }

  .audit-form-copy p{
    font-size: 16px;
    line-height: 1.42;
  }

  .form-mini-stack{
    margin-top: 20px;
  }

  .form-mini-stack span{
    padding: 11px 12px;
    font-size: 14px;
  }

  .form-back{
    font-size: 14px;
  }

  .audit-form{
    gap: 15px;
  }

  .form-field label,
  .capital-title{
    font-size: 15px;
    line-height: 1.3;
  }

  .form-field input,
  .form-field textarea{
    padding: 14px;
    border-radius: 14px;
    font-size: 16px;
  }

  .form-field textarea{
    min-height: 110px;
  }

  .capital-options{
    gap: 10px;
  }

  .capital-option{
    grid-template-columns: auto 1fr;
    min-height: auto;
    padding: 14px;
    border-radius: 16px;
  }

  .capital-option strong{
    font-size: 16px;
  }

  .capital-option span{
    font-size: 14px;
  }

  .form-submit{
    min-height: 60px;
    font-size: 13px;
  }

  .form-status{
    font-size: 14px;
  }
}

@media (max-width: 390px){
  .audit-form-copy,
  .audit-form-card{
    padding: 16px;
  }

  .audit-form-copy h1{
    font-size: clamp(32px, 11.5vw, 44px);
  }
}


/* ===== V17: mobile natural scroll + form fits desktop viewport ===== */

/* Mobile/tablet: no forced section snapping. User controls scroll naturally. */
@media (max-width: 900px), (hover: none) and (pointer: coarse){
  html{
    scroll-snap-type: none !important;
    overscroll-behavior-y: auto;
  }

  .snap-section{
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
    min-height: auto;
  }

  main{
    overflow: visible;
  }
}

/* Desktop form: designed to fit inside Chrome at 100% without page scrolling. */
@media (min-width: 901px){
  body.form-page{
    overflow: hidden;
  }

  .form-main{
    height: 100svh;
    min-height: 100svh;
    padding: calc(var(--nav-h) + 18px) 24px 18px;
    place-items: center;
  }

  .audit-form-shell{
    width: min(1180px, 100%);
    max-height: calc(100svh - var(--nav-h) - 38px);
    grid-template-columns: .78fr 1.22fr;
    gap: 18px;
    align-items: stretch;
  }

  .audit-form-copy,
  .audit-form-card{
    padding: 22px;
    border-radius: 24px;
    min-height: 0;
  }

  .audit-form-copy{
    justify-content: center;
  }

  .audit-form-copy h1{
    font-size: clamp(36px, 3.65vw, 54px);
    line-height: .94;
  }

  .audit-form-copy p{
    margin-top: 14px;
    font-size: 15.5px;
    line-height: 1.35;
  }

  .form-eyebrow{
    font-size: 10px;
    letter-spacing: 3px;
    margin-bottom: 10px;
  }

  .form-mini-stack{
    margin-top: 18px;
    gap: 8px;
  }

  .form-mini-stack span{
    padding: 9px 12px;
    font-size: 13.5px;
    border-radius: 12px;
  }

  .form-back{
    margin-top: 14px;
    font-size: 13px;
  }

  .audit-form-card{
    display: flex;
    align-items: center;
  }

  .audit-form{
    width: 100%;
    gap: 11px;
  }

  .form-field{
    gap: 6px;
  }

  .form-field label,
  .capital-title{
    font-size: 14.5px;
    line-height: 1.18;
  }

  .form-field input,
  .form-field textarea{
    padding: 11px 14px;
    border-radius: 14px;
    font-size: 14.5px;
  }

  .form-field input{
    min-height: 46px;
  }

  .form-field textarea{
    min-height: 78px;
    max-height: 92px;
  }

  .capital-title{
    margin-bottom: 8px;
  }

  .capital-options{
    gap: 9px;
  }

  .capital-option{
    min-height: 64px;
    padding: 12px 14px;
    border-radius: 15px;
    gap: 12px;
  }

  .capital-option input{
    width: 16px;
    height: 16px;
  }

  .capital-option strong{
    font-size: 15.5px;
    margin-bottom: 2px;
  }

  .capital-option span{
    font-size: 13.5px;
    line-height: 1.28;
  }

  .form-submit{
    min-height: 56px;
    margin-top: 4px;
    font-size: 13px;
    border-radius: 12px;
  }

  .form-status{
    min-height: 18px;
    font-size: 13px;
    line-height: 1.25;
  }
}

/* Extra compression for laptop screens with less usable browser height. */
@media (min-width: 901px) and (max-height: 760px){
  .form-main{
    padding: calc(var(--nav-h) + 12px) 22px 12px;
  }

  .audit-form-shell{
    max-height: calc(100svh - var(--nav-h) - 24px);
    gap: 14px;
  }

  .audit-form-copy,
  .audit-form-card{
    padding: 18px;
  }

  .audit-form-copy h1{
    font-size: clamp(32px, 3.35vw, 48px);
  }

  .audit-form-copy p{
    font-size: 14px;
    line-height: 1.30;
  }

  .form-mini-stack{
    margin-top: 14px;
  }

  .form-mini-stack span{
    padding: 8px 10px;
    font-size: 12.5px;
  }

  .form-back{
    margin-top: 10px;
  }

  .audit-form{
    gap: 9px;
  }

  .form-field label,
  .capital-title{
    font-size: 13.5px;
  }

  .form-field input,
  .form-field textarea{
    padding: 9px 12px;
    font-size: 13.5px;
  }

  .form-field input{
    min-height: 40px;
  }

  .form-field textarea{
    min-height: 62px;
    max-height: 72px;
  }

  .capital-option{
    min-height: 56px;
    padding: 10px 12px;
  }

  .capital-option strong{
    font-size: 14.5px;
  }

  .capital-option span{
    font-size: 12.8px;
  }

  .form-submit{
    min-height: 50px;
  }
}


/* ===== V18: mobile hero cards + native scroll fix ===== */

/* Force native scroll on phones. This removes the "first swipe gets stuck" feeling. */
@media (max-width: 900px), (hover: none) and (pointer: coarse){
  html,
  body{
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  .snap-section,
  .hero,
  .section-dark{
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
  }
}

/* Mobile hero: cards become compact, readable, and no longer dominate the first screen. */
@media (max-width: 760px){
  .hero{
    min-height: auto;
  }

  .hero .hero-shell{
    min-height: auto;
    padding-top: 22px;
    padding-bottom: 34px;
    gap: 16px;
  }

  .hero-copy{
    margin-bottom: 6px;
  }

  .hero .metric-card{
    width: 100%;
    max-width: 360px;
    min-height: 0;
    padding: 18px 18px 16px;
    border-radius: 22px;
  }

  .hero .metric-card h3{
    font-size: 12px;
    letter-spacing: .02em;
  }

  .hero .small-label{
    margin-top: 16px;
    font-size: 13px;
  }

  .hero .big-number{
    font-size: 30px;
    line-height: 1;
  }

  .hero .metric-svg{
    width: 100%;
    height: 112px;
    margin-top: 8px;
  }

  .hero .metric-svg.small{
    width: 58%;
    height: 72px;
    margin-left: auto;
    margin-right: 0;
  }

  .hero .metric-svg.profit{
    width: 46%;
    height: 78px;
    margin-left: auto;
    margin-right: 0;
  }

  .hero .card-divider{
    margin: 12px 0 16px;
  }

  .hero .metric-left{
    order: 2;
  }

  .hero .metric-right{
    order: 3;
  }

  /* Avoid entering the next section while still reading hero cards. */
  #ace-system{
    padding-top: 88px;
  }

  #ace-system .section-wrap{
    padding-top: 58px;
  }
}

/* Extra compact metric cards for very small phones */
@media (max-width: 390px){
  .hero .metric-card{
    max-width: 100%;
    padding: 16px;
  }

  .hero .metric-svg{
    height: 98px;
  }

  .hero .metric-svg.small{
    height: 64px;
  }

  .hero .metric-svg.profit{
    height: 68px;
  }
}


/* ===== V19: Netlify Forms production readiness ===== */
.hidden-field{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  overflow:hidden !important;
}

.form-submit.is-loading{
  opacity:.72;
  pointer-events:none;
}

.form-status.error{
  color: rgba(255,150,150,.95);
}


/* ===== V20: Netlify Forms fix/fallback ===== */
.status-link{
  color: #fff;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.7);
  background: transparent;
  padding: 0;
  margin-left: 6px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.status-link:hover{
  opacity: .72;
}


/* ===== V18: Hero/Form CRO copy updates ===== */
.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 auto 18px;
  color:rgba(255,255,255,.66);
  font-size:clamp(10px,.78vw,12px);
  font-weight:900;
  letter-spacing:4px;
  text-transform:uppercase;
}
.hero-eyebrow::before,
.hero-eyebrow::after{
  content:"";
  width:34px;
  height:1px;
  background:rgba(255,255,255,.22);
}
.hero h1{
  font-size:clamp(42px, 4.35vw, 74px);
  line-height:.9;
  max-width:1180px;
}
.hero-subtitle{
  max-width:900px;
}
.hero-microcopy{
  margin:18px auto 0;
  color:rgba(255,255,255,.68);
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
}
@media (max-width: 900px){
  .hero-eyebrow{
    max-width:90%;
    margin-bottom:14px;
    letter-spacing:3px;
    text-align:center;
  }
  .hero-eyebrow::before,
  .hero-eyebrow::after{
    width:22px;
  }
  .hero h1{
    font-size:clamp(38px, 10vw, 58px);
    line-height:.94;
  }
  .hero-microcopy{
    max-width:92%;
    font-size:13px;
    line-height:1.35;
  }
}
@media (max-width: 520px){
  .hero-eyebrow{
    font-size:9px;
    letter-spacing:2px;
    gap:8px;
  }
  .hero-eyebrow::before,
  .hero-eyebrow::after{
    width:16px;
  }
  .hero h1{
    font-size:clamp(34px, 11.2vw, 50px);
  }
}

/* ===== V21: Hero headline overflow correction ===== */
.hero .hero-copy{
  max-width:1040px;
}
.hero h1{
  max-width:1040px;
  margin-inline:auto;
  font-size:clamp(40px, 3.55vw, 58px);
  line-height:.94;
  letter-spacing:-.07em;
}
.hero h1 span{
  white-space:normal;
  text-wrap:balance;
}
@media (max-width:1450px){
  .hero h1{
    font-size:clamp(38px, 4vw, 54px);
    max-width:920px;
  }
  .hero .hero-copy{
    max-width:920px;
  }
}
@media (max-width:900px){
  .hero h1{
    font-size:clamp(36px, 9.5vw, 56px);
    max-width:100%;
    line-height:.96;
  }
}

/* ===== V22: Hero title safe desktop fit ===== */
.hero .hero-copy{
  max-width:1180px;
}
.hero h1{
  max-width:1180px;
  font-size:clamp(40px, 3.35vw, 56px);
  line-height:.94;
}
.hero h1 span{
  white-space:normal;
}
@media (max-width:1450px){
  .hero .hero-copy{max-width:980px;}
  .hero h1{
    max-width:980px;
    font-size:clamp(38px, 3.9vw, 52px);
  }
}
@media (max-width:900px){
  .hero .hero-copy{max-width:100%;}
  .hero h1{
    max-width:100%;
    font-size:clamp(36px, 9.5vw, 56px);
  }
}

/* ===== V23: Hero 3-line headline fine adjustment ===== */
.hero h1{
  max-width:1180px;
  font-size:clamp(38px, 3.05vw, 50px);
  line-height:.94;
}
@media (min-width:1600px){
  .hero h1 span:first-child{
    white-space:nowrap;
    text-wrap:normal;
  }
}
@media (max-width:1450px){
  .hero h1{
    font-size:clamp(36px, 3.6vw, 48px);
  }
}
@media (max-width:900px){
  .hero h1{
    font-size:clamp(36px, 9.5vw, 56px);
  }
  .hero h1 span:first-child{
    white-space:normal;
  }
}

/* ===== V24: Force hero H1 into 3 desktop lines without touching other sections ===== */
.hero h1 span{
  display:block;
}
.hero h1 .headline-line-1{
  white-space:nowrap;
  font-size:.84em;
  letter-spacing:-.075em;
}
@media (max-width:1080px){
  .hero h1 .headline-line-1{
    white-space:normal;
    font-size:1em;
  }
}

/* ===== V25: definitive desktop 3-line headline lock ===== */
.hero h1{
  max-width:1220px;
}
.hero h1 span{
  display:block;
}
.hero h1 .headline-line-1{
  white-space:nowrap;
  font-size:.78em;
  letter-spacing:-.075em;
}
@media (max-width:1450px){
  .hero h1 .headline-line-1{
    font-size:.74em;
  }
}
@media (max-width:1080px){
  .hero h1 .headline-line-1{
    white-space:normal;
    font-size:1em;
  }
}

/* ===== V26: final headline presence bump, keeping 3 desktop lines ===== */
.hero h1{
  max-width:1220px;
  margin-inline:auto;
  font-size:clamp(42px, 3.45vw, 56px);
  line-height:.88;
}
.hero h1 span{
  display:block;
}
.hero h1 .headline-line-1{
  white-space:nowrap;
  font-size:.92em;
  letter-spacing:-.078em;
}
@media (max-width:1450px){
  .hero h1{
    max-width:1080px;
    font-size:clamp(40px, 3.7vw, 54px);
  }
  .hero h1 .headline-line-1{
    font-size:.82em;
  }
}
@media (max-width:1080px){
  .hero h1 .headline-line-1{
    white-space:normal;
    font-size:1em;
  }
}
