/* ==========================================================================
   AURA FINANCIAL — Design System v2
   Editorial, minimal, expensive. True-black canvas, warm ivory, one pink accent.
   ========================================================================== */

:root{
  --bg:          #070708;
  --bg-raise:    #0c0c0e;
  --bg-raise-2:  #121215;
  --line:        rgba(244,242,238,0.08);
  --line-strong: rgba(244,242,238,0.16);
  --ink:         #f4f2ee;
  --ink-dim:     #948f8b;
  --ink-faint:   #605b58;
  --accent:      #ff4fa8;
  --accent-deep: #c3266f;
  --accent-wash: rgba(255,79,168,0.09);
  --success:     #7fc39a;

  /* Back-compat aliases (older inline styles) */
  --bg-void:            var(--bg);
  --bg-surface:         var(--bg-raise);
  --glass:              transparent;
  --border-glass:       var(--line);
  --border-glass-hover: var(--accent);
  --aura-violet:        var(--accent-deep);
  --aura-violet-bright: var(--accent);
  --aura-pink:          var(--accent);
  --text-primary:       var(--ink);
  --text-muted:         var(--ink-dim);
  --success-green:      var(--success);
  --gradient:           var(--accent);

  --serif: 'Fraunces', ui-serif, Georgia, serif;
  --sans:  'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --mono:  'IBM Plex Mono', ui-monospace, monospace;
  --ease:  cubic-bezier(.16,1,.3,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--accent);color:#12060c;}

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-0.018em;
  line-height:1.08;
}
.mono{font-family:var(--mono);}
a{color:inherit;}
img{max-width:100%;}

.wrap{max-width:1140px;margin:0 auto;padding:0 36px;}
section{padding:clamp(84px,10vw,164px) 0;position:relative;}

.eyebrow{
  font-family:var(--mono);
  font-size:0.69rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--ink-dim);
  display:inline-flex;
  align-items:center;
  gap:11px;
}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--accent);display:inline-block;}

/* Cursor glow */
.cursor-glow{
  position:fixed;top:0;left:0;width:560px;height:560px;
  border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle, rgba(255,79,168,0.075) 0%, transparent 70%);
  transform:translate(-50%,-50%);
  transition:opacity .5s ease;
  opacity:0;
}
@media(min-width:881px){ .cursor-glow.active{opacity:1;} }

/* ---------- REVEAL ANIMATIONS ---------- */
.reveal{
  opacity:0;transform:translateY(26px);filter:blur(6px);
  transition:opacity 1s var(--ease), transform 1s var(--ease), filter 1s var(--ease);
}
.reveal.in{opacity:1;transform:translateY(0);filter:blur(0);}
.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}
.reveal-delay-3{transition-delay:.24s;}
.reveal-delay-4{transition-delay:.32s;}
.reveal-delay-5{transition-delay:.4s;}

.fade-up{opacity:0;transform:translateY(22px);filter:blur(5px);animation:fadeUp 1.05s var(--ease) forwards;}
@keyframes fadeUp{to{opacity:1;transform:translateY(0);filter:blur(0);}}

/* Hairline that draws itself in */
.rule{height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease);}
.rule.in{transform:scaleX(1);}

/* ---------- NAV ---------- */
nav{
  position:sticky;top:0;z-index:100;
  background:rgba(7,7,8,0.72);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--line);
}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;max-width:1140px;}
.logo{
  font-family:var(--sans);font-weight:600;font-size:0.92rem;
  letter-spacing:0.15em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);
}
.logo-mark{width:21px;height:21px;flex-shrink:0;color:var(--accent);display:block;}
.logo span{color:var(--ink-dim);font-weight:400;}
.nav-links{display:flex;gap:34px;list-style:none;}
.nav-links a{color:var(--ink-dim);text-decoration:none;font-size:0.85rem;font-weight:400;transition:color .25s;position:relative;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--accent);transition:width .35s var(--ease);}
.nav-links a:hover{color:var(--ink);}
.nav-links a:hover::after{width:100%;}
.nav-cta-wrap{display:flex;align-items:center;gap:20px;}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 30px;border-radius:1px;
  font-weight:500;font-size:0.84rem;text-decoration:none;letter-spacing:0.03em;
  cursor:pointer;border:1px solid transparent;
  transition:transform .35s var(--ease), border-color .3s ease, background .3s ease, color .3s ease, box-shadow .4s ease;
  white-space:nowrap;position:relative;
}
.btn-primary{background:var(--accent);color:#14060d;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 34px rgba(255,79,168,0.28);}
.btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--line-strong);}
.btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);}
.btn-white{background:var(--ink);color:#0c0c0e;}
.btn-white:hover{transform:translateY(-2px);background:var(--accent);color:#14060d;}
.btn-sm{padding:11px 22px;font-size:0.78rem;}

/* ---------- HERO ---------- */
.hero{padding-top:clamp(96px,13vw,168px);padding-bottom:0;position:relative;text-align:left;overflow:hidden;}
.glow{
  position:absolute;top:-220px;left:14%;
  width:820px;height:560px;
  background:radial-gradient(ellipse at center, rgba(255,79,168,0.13) 0%, rgba(255,79,168,0.04) 42%, transparent 70%);
  filter:blur(70px);z-index:0;pointer-events:none;
}
.hero-inner{position:relative;z-index:1;max-width:1140px;margin:0 auto;}
.hero h1{
  font-size:clamp(2.7rem,6.6vw,5.4rem);
  margin:30px 0 32px;font-weight:400;letter-spacing:-0.028em;
  max-width:21ch;text-wrap:balance;
}
.hero h1 .accent{color:var(--accent);font-style:italic;}
.hero p.sub{font-size:1.09rem;color:var(--ink-dim);max-width:52ch;margin:0 0 46px;font-weight:350;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}

/* ---------- STATS ---------- */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:clamp(72px,9vw,116px);border-top:1px solid var(--line);
}
.stat-cell{padding:34px 24px 0 0;text-align:left;position:relative;}
.stat-cell:first-child::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--accent);}
.stat-num{font-family:var(--serif);font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:400;color:var(--ink);letter-spacing:-0.02em;}
.stat-label{color:var(--ink-faint);font-size:0.73rem;margin-top:10px;font-family:var(--mono);letter-spacing:0.06em;text-transform:uppercase;}

/* ---------- SECTION HEADS ---------- */
.section-head{max-width:620px;margin:0 0 66px;text-align:left;}
.section-head h2{font-size:clamp(1.95rem,3.7vw,2.9rem);margin-top:22px;font-weight:400;}
.section-head p{color:var(--ink-dim);margin-top:18px;font-size:1.01rem;font-weight:350;}

/* ---------- CARDS / GRID ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.card{
  background:var(--bg);
  padding:40px 34px 38px;
  transition:background .4s ease;
  position:relative;
}
.card::after{content:"";position:absolute;top:0;left:0;width:0;height:1px;background:var(--accent);transition:width .5s var(--ease);}
.card:hover{background:var(--bg-raise);}
.card:hover::after{width:100%;}
.card-icon{width:19px;height:19px;margin-bottom:26px;color:var(--accent);}
.card-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.3;}
.card h3{font-size:1.1rem;margin-bottom:11px;font-weight:400;}
.card p{color:var(--ink-dim);font-size:0.91rem;font-weight:350;}
.card a{color:var(--ink);font-size:0.8rem;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:6px;margin-top:20px;border-bottom:1px solid var(--line-strong);padding-bottom:3px;transition:border-color .25s,color .25s;letter-spacing:0.02em;}
.card a:hover{color:var(--accent);border-color:var(--accent);}

/* ---------- COMPENSATION LADDER ---------- */
.comp-section{background:var(--bg-raise);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ladder{max-width:660px;margin:0;display:flex;flex-direction:column-reverse;}
.rung{
  display:flex;align-items:baseline;justify-content:space-between;
  padding:22px 0;border-top:1px solid var(--line);
  position:relative;transition:padding-left .4s var(--ease);
}
.rung:hover{padding-left:10px;}
.rung .pct{font-family:var(--serif);font-weight:400;font-size:1.35rem;letter-spacing:-0.02em;}
.rung .title{color:var(--ink-dim);font-size:0.83rem;font-family:var(--mono);letter-spacing:0.03em;}
.rung.top{border-top-color:var(--accent);}
.rung.top .pct{color:var(--accent);font-size:1.6rem;}

/* ---------- TECH GRID ---------- */
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.tech-card{
  background:var(--bg);
  padding:38px 32px;
  min-height:230px;
  display:flex;flex-direction:column;justify-content:space-between;
  transition:background .4s ease;
}
.tech-card:hover{background:var(--bg-raise);}
.tech-mock{
  flex:1;border-bottom:1px solid var(--line);
  margin-bottom:24px;position:relative;overflow:hidden;min-height:74px;
}
.tech-mock::after{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(180deg, transparent 0px, transparent 23px, var(--line) 23px, var(--line) 24px);
  opacity:.55;
}
.tech-card h3{font-size:1.02rem;margin-bottom:9px;font-weight:400;}
.tech-card p{color:var(--ink-dim);font-size:0.88rem;font-weight:350;}

/* ---------- SPLIT ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center;}
.split h2{font-size:clamp(1.85rem,3.5vw,2.6rem);margin-bottom:22px;font-weight:400;}
.split p{color:var(--ink-dim);margin-bottom:28px;font-weight:350;}
.visual-panel{
  border:1px solid var(--line);
  height:380px;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  background:var(--bg-raise);
}
.visual-panel .ring{
  width:190px;height:190px;border-radius:50%;
  border:1px solid var(--line-strong);
  position:absolute;
  animation:breathe 7s ease-in-out infinite;
}
.visual-panel .ring:nth-child(2){width:290px;height:290px;border-color:var(--line);animation-delay:-2.3s;}
.visual-panel .ring:nth-child(3){
  width:104px;height:104px;
  background:radial-gradient(circle, rgba(255,79,168,0.32), transparent 72%);
  border:none;filter:blur(1px);animation-delay:-4.6s;
}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.85;}50%{transform:scale(1.07);opacity:1;}}

ul.check-list{list-style:none;}
ul.check-list li{display:flex;align-items:flex-start;gap:14px;margin-bottom:15px;color:var(--ink-dim);font-size:0.93rem;font-weight:350;}
ul.check-list li::before{content:"";width:5px;height:5px;margin-top:9px;border-radius:50%;background:var(--accent);flex-shrink:0;}

/* ---------- MARQUEE ---------- */
.marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:30px 0;position:relative;}
.marquee-wrap::before,.marquee-wrap::after{
  content:"";position:absolute;top:0;bottom:0;width:140px;z-index:2;pointer-events:none;
}
.marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.marquee-wrap::after{right:0;background:linear-gradient(270deg,var(--bg),transparent);}
.marquee{display:flex;width:max-content;animation:marquee 38s linear infinite;}
.marquee-group{display:flex;align-items:center;}
.marquee span{
  font-family:var(--serif);font-size:1.12rem;color:var(--ink-faint);
  padding:0 44px;white-space:nowrap;letter-spacing:0.005em;
}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- TESTIMONIALS ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.testi-card{background:var(--bg);padding:38px 34px;transition:background .4s ease;}
.testi-card:hover{background:var(--bg-raise);}
.testi-quote{font-family:var(--serif);font-size:1.12rem;color:var(--ink);margin-bottom:28px;font-weight:400;line-height:1.42;letter-spacing:-0.01em;}
.testi-who{display:flex;align-items:center;gap:14px;}
.avatar{width:2px;height:32px;background:var(--accent);flex-shrink:0;}
.testi-name{font-size:0.85rem;font-weight:500;}
.testi-meta{font-size:0.73rem;color:var(--ink-faint);font-family:var(--mono);letter-spacing:0.03em;}

/* ---------- FAQ ---------- */
.faq-list{max-width:760px;margin:0;}
.faq-item{border-bottom:1px solid var(--line);padding:28px 0;cursor:pointer;transition:padding-left .4s var(--ease);}
.faq-item:hover{padding-left:8px;}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:24px;font-weight:400;font-size:1.06rem;font-family:var(--serif);}
.faq-q .plus{font-family:var(--mono);color:var(--accent);transition:transform .35s var(--ease);font-size:1rem;flex-shrink:0;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;color:var(--ink-dim);font-size:0.93rem;transition:max-height .45s var(--ease);font-weight:350;}
.faq-item.open .faq-a{max-height:260px;margin-top:18px;}

/* ---------- FINAL CTA ---------- */
.final-cta{
  border:1px solid var(--line);
  padding:clamp(64px,9vw,116px) 44px;
  text-align:center;position:relative;overflow:hidden;
  background:var(--bg-raise);
}
.final-cta::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(560px,80%);height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
}
.final-cta h2{color:var(--ink);font-size:clamp(2.05rem,4.2vw,3rem);margin-bottom:20px;font-weight:400;}
.final-cta p{color:var(--ink-dim);margin-bottom:38px;font-size:1.01rem;font-weight:350;}
.final-cta .hero-ctas{justify-content:center;}

/* ---------- FOOTER ---------- */
footer{padding:96px 0 46px;border-top:1px solid var(--line);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:68px;}
.footer-col h4{font-size:0.69rem;color:var(--ink-faint);margin-bottom:20px;letter-spacing:0.14em;font-family:var(--mono);}
.footer-col a{display:block;color:var(--ink-dim);text-decoration:none;font-size:0.89rem;margin-bottom:13px;transition:color .25s;}
.footer-col a:hover{color:var(--accent);}
.footer-bottom{border-top:1px solid var(--line);padding-top:28px;display:flex;justify-content:space-between;color:var(--ink-faint);font-size:0.73rem;flex-wrap:wrap;gap:10px;font-family:var(--mono);letter-spacing:0.03em;}

/* ---------- STICKY MOBILE CTA ---------- */
.mobile-sticky{display:none;}

/* ---------- MOBILE NAV ---------- */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:20px;height:1px;background:var(--ink);margin:5px 0;transition:.25s;}
.mobile-menu{
  display:none;
  position:fixed;inset:70px 0 0 0;z-index:99;
  background:rgba(7,7,8,0.98);backdrop-filter:blur(20px);
  padding:36px 24px 120px;overflow-y:auto;
}
.mobile-menu.open{display:flex;flex-direction:column;gap:24px;}
.mobile-menu a{color:var(--ink);text-decoration:none;font-size:1.22rem;font-family:var(--serif);font-weight:400;}
.mobile-menu .btn{margin-top:14px;width:100%;}

@media(max-width:880px){
  .nav-toggle{display:block;}
}

/* ---------- PAGE HERO (interior) ---------- */
.page-hero{padding:clamp(80px,10vw,124px) 0 clamp(48px,6vw,66px);text-align:left;position:relative;overflow:hidden;}
.page-hero .glow{width:660px;height:420px;top:-200px;left:8%;}
.page-hero h1{font-size:clamp(2.2rem,5.2vw,3.6rem);margin:22px 0 20px;position:relative;z-index:1;font-weight:400;max-width:20ch;}
.page-hero p.sub{font-size:1.01rem;color:var(--ink-dim);max-width:56ch;margin:0;position:relative;z-index:1;font-weight:350;}

/* ---------- BREADCRUMB ---------- */
.breadcrumb{font-family:var(--mono);font-size:0.71rem;color:var(--ink-faint);letter-spacing:0.08em;margin-bottom:24px;position:relative;z-index:1;text-transform:uppercase;}
.breadcrumb a{color:var(--ink-faint);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:var(--accent);}

/* ---------- COMPARISON TABLE ---------- */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.compare-table{width:100%;min-width:640px;border-collapse:collapse;border-top:1px solid var(--line);}
.compare-table th, .compare-table td{padding:20px 24px;text-align:left;border-bottom:1px solid var(--line);font-size:0.89rem;}
.compare-table th{font-family:var(--mono);font-size:0.66rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--ink-faint);font-weight:400;}
.compare-table td{color:var(--ink-dim);font-weight:350;}
.compare-table td.yes{color:var(--success);font-weight:500;}
.compare-table td.aura-col{background:var(--accent-wash);color:var(--ink);font-weight:400;}
.compare-table th.aura-col{background:var(--accent-wash);color:var(--accent);}

/* ---------- CARRIER GRID ---------- */
.carrier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.carrier-card{background:var(--bg);padding:32px 20px;text-align:left;transition:background .35s;}
.carrier-card:hover{background:var(--bg-raise);}
.carrier-card .mark{
  width:32px;height:32px;margin:0 0 18px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-weight:400;color:var(--accent);font-size:0.72rem;
  border:1px solid var(--line-strong);border-radius:50%;letter-spacing:0.02em;
}
.carrier-card h4{font-size:0.9rem;margin-bottom:6px;font-weight:400;font-family:var(--sans);}
.carrier-card .tag{font-family:var(--mono);font-size:0.63rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.07em;}

/* ---------- PILLS ---------- */
.pill{
  display:inline-block;padding:8px 17px;
  border:1px solid var(--line-strong);
  font-size:0.74rem;color:var(--ink-dim);margin:4px 6px 4px 0;font-family:var(--mono);
  letter-spacing:0.04em;transition:border-color .25s,color .25s;
}
.pill:hover{border-color:var(--accent);color:var(--accent);}

/* ---------- FILTER BUTTONS ---------- */
.filter-row{display:flex;gap:10px;justify-content:flex-start;margin-bottom:52px;flex-wrap:wrap;}
.filter-btn{
  padding:11px 22px;border:1px solid var(--line-strong);
  background:transparent;color:var(--ink-dim);font-size:0.81rem;cursor:pointer;
  transition:.25s;font-family:var(--sans);letter-spacing:0.02em;
}
.filter-btn.active{border-color:var(--accent);color:var(--accent);}
.filter-btn:hover{border-color:var(--accent);color:var(--ink);}

/* ---------- TEAM CARDS ---------- */
.team-card{text-align:left;}
.team-photo{
  width:56px;height:56px;border-radius:50%;margin:0 0 20px;
  border:1px solid var(--line-strong);
}
.team-card h4{font-size:1rem;margin-bottom:6px;font-weight:400;}
.team-card .role{font-family:var(--mono);font-size:0.65rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:14px;}
.team-card p{font-size:0.87rem;color:var(--ink-dim);font-weight:350;}

/* ---------- FORMS ---------- */
.form-group{margin-bottom:26px;}
.form-group label{display:block;font-size:0.68rem;color:var(--ink-faint);margin-bottom:11px;font-family:var(--mono);letter-spacing:0.1em;text-transform:uppercase;}
.form-group input, .form-group select, .form-group textarea{
  width:100%;padding:13px 2px;
  background:transparent;border:none;border-bottom:1px solid var(--line-strong);
  color:var(--ink);font-family:var(--sans);font-size:1rem;
  transition:border-color .3s;border-radius:0;
}
.form-group textarea{resize:vertical;}
.form-group select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23948f8b' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:16px;}
.form-group select option{background:var(--bg-raise-2);color:var(--ink);}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{
  outline:none;border-color:var(--accent);
}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.error-text{color:#e58a9f;font-size:0.73rem;margin-top:9px;display:none;font-family:var(--mono);letter-spacing:0.03em;}
.form-group.invalid input, .form-group.invalid select, .form-group.invalid textarea{border-color:#e58a9f;}
.form-group.invalid .error-text{display:block;}

/* ---------- CHOICE CARDS ---------- */
.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.choice-card{
  background:var(--bg);padding:22px 16px;text-align:center;cursor:pointer;transition:.25s;font-size:0.88rem;
}
.choice-card:hover{background:var(--bg-raise);}
.choice-card.selected{background:var(--accent-wash);color:var(--accent);}

/* ---------- MULTI-STEP FORM SHELL ---------- */
.form-shell{
  max-width:620px;margin:0 auto;
  border:1px solid var(--line);
  padding:clamp(34px,5vw,56px);
  background:var(--bg-raise);
}
.progress-track{height:1px;background:var(--line);margin-bottom:44px;position:relative;}
.progress-fill{height:1px;background:var(--accent);width:20%;transition:width .5s var(--ease);position:absolute;top:0;left:0;}
.step-label{font-family:var(--mono);font-size:0.67rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:10px;}
.form-step{display:none;}
.form-step.active{display:block;animation:fadeUp .6s var(--ease);}
.form-step h3{font-size:1.45rem;margin-bottom:32px;font-weight:400;}
.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:36px;gap:16px;}
.back-link{color:var(--ink-faint);text-decoration:none;font-size:0.85rem;cursor:pointer;background:none;border:none;font-family:var(--sans);transition:color .25s;}
.back-link:hover{color:var(--ink);}
.summary-row{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:0.89rem;}
.summary-row span:first-child{color:var(--ink-faint);font-family:var(--mono);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;flex-shrink:0;}
.summary-row span:last-child{text-align:right;}
.success-box{text-align:center;padding:20px 0;}
.success-icon{
  width:54px;height:54px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);
  display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:1.3rem;
}
.calendly-placeholder{
  margin-top:28px;border:1px dashed var(--line-strong);
  padding:46px 22px;text-align:center;color:var(--ink-faint);font-size:0.85rem;
}

/* ---------- Live proof toast ---------- */
.proof-toast{
  position:fixed;left:26px;bottom:26px;z-index:150;
  background:var(--bg-raise-2);border:1px solid var(--line-strong);
  padding:15px 19px;font-size:0.81rem;color:var(--ink-dim);
  display:flex;align-items:center;gap:11px;max-width:290px;
  transform:translateY(130%);opacity:0;transition:transform .7s var(--ease), opacity .7s var(--ease);
}
.proof-toast.show{transform:translateY(0);opacity:1;}
.proof-toast .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.proof-toast strong{color:var(--ink);font-weight:500;}
@media(max-width:880px){.proof-toast{display:none;}}

/* ---------- RESPONSIVE ---------- */
@media(max-width:880px){
  .wrap{padding:0 24px;}
  .nav-links{display:none;}
  nav .wrap{height:70px;}
  .nav-cta-wrap .btn{display:none;}
  .logo{font-size:0.82rem;letter-spacing:0.12em;gap:10px;}
  .logo-mark{width:19px;height:19px;}
  .hero h1{max-width:100%;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .stat-cell{padding:26px 16px 24px 0;}
  .stat-cell:nth-child(n+3){border-top:1px solid var(--line);}
  .grid-3, .tech-grid, .testi-grid{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;gap:40px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px;}
  body{padding-bottom:80px;}
  .mobile-sticky{
    display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;
    background:rgba(7,7,8,0.95);backdrop-filter:blur(16px);
    border-top:1px solid var(--line);
    padding:14px 20px;
  }
  .mobile-sticky .btn{width:100%;}
  .carrier-grid{grid-template-columns:repeat(2,1fr);}
  .compare-table{font-size:0.8rem;}
  .compare-table th, .compare-table td{padding:14px 12px;}
  .form-row-2, .choice-row{grid-template-columns:1fr;}
  .filter-row{overflow-x:auto;}
  .visual-panel{height:300px;}
  .marquee-wrap::before,.marquee-wrap::after{width:60px;}
}

@media(prefers-reduced-motion:reduce){
  .fade-up, .reveal{animation:none;opacity:1;transform:none;filter:none;transition:none;}
  html{scroll-behavior:auto;}
  .marquee{animation:none;}
  .visual-panel .ring{animation:none;}
  .rule{transform:scaleX(1);}
}

:focus-visible{outline:1px solid var(--accent);outline-offset:3px;}

/* ==========================================================================
   v3 — RICH MOTION LAYER
   ========================================================================== */

/* ---------- Film grain ---------- */
body::after{
  content:"";position:fixed;inset:-50%;z-index:250;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:0.028;
  animation:grain 9s steps(10) infinite;
}
@keyframes grain{
  0%,100%{transform:translate(0,0);}
  10%{transform:translate(-3%,-6%);}
  30%{transform:translate(4%,2%);}
  50%{transform:translate(-5%,7%);}
  70%{transform:translate(6%,-4%);}
  90%{transform:translate(-2%,3%);}
}

/* ---------- Scroll progress ---------- */
.scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:400;
  background:linear-gradient(90deg,var(--accent-deep),var(--accent));
  box-shadow:0 0 12px rgba(255,79,168,0.55);
}

/* ---------- Smart-hiding nav ---------- */
nav{transition:transform .5s var(--ease);}
nav.nav-hide{transform:translateY(-100%);}

/* ---------- Drifting hero glow ---------- */
.glow{animation:glow-drift 14s ease-in-out infinite alternate;}
@keyframes glow-drift{
  from{transform:translate(0,0) scale(1);}
  to{transform:translate(70px,34px) scale(1.12);}
}

/* ---------- Word-stagger headlines ---------- */
.w{display:inline-block;opacity:0;transform:translateY(0.65em) rotate(1.5deg);filter:blur(5px);
   transition:opacity .7s var(--ease), transform .7s var(--ease), filter .7s var(--ease);}
.words-in .w{opacity:1;transform:translateY(0) rotate(0);filter:blur(0);}

/* ---------- Shimmering accent ---------- */
.hero h1 .accent, .page-hero h1 .accent{
  background:linear-gradient(100deg,var(--accent) 20%,#ffa7d3 42%,var(--accent) 60%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--accent);
  animation:shimmer 5.5s linear infinite;
}
@keyframes shimmer{from{background-position:200% 0;}to{background-position:-20% 0;}}

/* ---------- Ladder bars that grow ---------- */
.rung{isolation:isolate;}
.rung::before{
  content:"";position:absolute;left:0;top:0;bottom:0;z-index:-1;
  background:linear-gradient(90deg,var(--accent-wash),transparent);
  width:var(--bar,0%);
  transform:scaleX(0);transform-origin:left;
  transition:transform 1.2s var(--ease);
}
.ladder .rung:nth-child(1){--bar:46%;}
.ladder .rung:nth-child(2){--bar:57%;}
.ladder .rung:nth-child(3){--bar:68%;}
.ladder .rung:nth-child(4){--bar:79%;}
.ladder .rung:nth-child(5){--bar:90%;}
.ladder .rung:nth-child(6){--bar:100%;}
.ladder.in .rung::before{transform:scaleX(1);}
.ladder.in .rung:nth-child(1)::before{transition-delay:.05s;}
.ladder.in .rung:nth-child(2)::before{transition-delay:.15s;}
.ladder.in .rung:nth-child(3)::before{transition-delay:.25s;}
.ladder.in .rung:nth-child(4)::before{transition-delay:.35s;}
.ladder.in .rung:nth-child(5)::before{transition-delay:.45s;}
.ladder.in .rung:nth-child(6)::before{transition-delay:.55s;}
.ladder.in .rung:nth-child(7)::before{transition-delay:.65s;}
.ladder.in .rung:nth-child(8)::before{transition-delay:.75s;}

/* ---------- Card tilt + cursor spotlight ---------- */
.card, .tech-card, .testi-card, .carrier-card{
  transform-style:preserve-3d;
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transition:background .4s ease, transform .25s ease;
  position:relative;overflow:hidden;
}
.card::before, .tech-card::before, .testi-card::before, .carrier-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%), rgba(255,79,168,0.07), transparent 65%);
  opacity:0;transition:opacity .4s ease;
}
.card:hover::before, .tech-card:hover::before, .testi-card:hover::before, .carrier-card:hover::before{opacity:1;}
.card > *, .tech-card > *, .testi-card > *, .carrier-card > *{position:relative;z-index:1;}
.card::after{z-index:2;}

/* ---------- Button sheen + magnetic ---------- */
.btn{overflow:hidden;will-change:transform;}
.btn-primary::after, .btn-white::after{
  content:"";position:absolute;top:0;bottom:0;left:-80%;width:50%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,0.45),transparent);
  transform:skewX(-20deg);transition:left .6s var(--ease);
}
.btn-primary:hover::after, .btn-white:hover::after{left:130%;}

/* ---------- Hero grid + orbit visual ---------- */
.hero-grid{display:grid;grid-template-columns:1.12fr 0.88fr;gap:56px;align-items:center;}
.hero-visual{position:relative;height:500px;z-index:1;}
.orbit-center{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  color:var(--accent);
  animation:orbit-pulse 4.5s ease-in-out infinite;
}
.orbit-center svg{width:88px;height:88px;display:block;filter:drop-shadow(0 0 26px rgba(255,79,168,0.5));}
@keyframes orbit-pulse{0%,100%{transform:translate(-50%,-50%) scale(1);}50%{transform:translate(-50%,-50%) scale(1.06);}}
.orbit-ring{
  position:absolute;top:50%;left:50%;border-radius:50%;
  border:1px dashed var(--line-strong);
  translate:-50% -50%;
}
.orbit-ring.r1{width:230px;height:230px;animation:spin 26s linear infinite;}
.orbit-ring.r2{width:360px;height:360px;animation:spin 44s linear infinite reverse;border-style:solid;border-color:var(--line);}
.orbit-ring.r3{width:470px;height:470px;animation:spin 70s linear infinite;opacity:.6;}
@keyframes spin{to{rotate:360deg;}}
.orbit-dot{
  position:absolute;top:-4px;left:50%;width:7px;height:7px;margin-left:-3.5px;
  border-radius:50%;background:var(--accent);
  box-shadow:0 0 12px rgba(255,79,168,0.8);
}
.chip{
  position:absolute;
  background:var(--bg-raise-2);border:1px solid var(--line-strong);
  padding:11px 16px;font-family:var(--mono);font-size:0.72rem;color:var(--ink-dim);
  letter-spacing:0.04em;white-space:nowrap;z-index:2;
  animation:chip-float 6s ease-in-out infinite;
  box-shadow:0 14px 34px rgba(0,0,0,0.45);
}
.chip strong{color:var(--accent);font-weight:500;margin-right:6px;}
.chip.c1{top:12%;left:4%;animation-delay:0s;}
.chip.c2{top:24%;right:0%;animation-delay:-2s;}
.chip.c3{bottom:20%;left:0%;animation-delay:-4s;}
.chip.c4{bottom:8%;right:8%;animation-delay:-1s;}
@keyframes chip-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

/* ---------- Path timeline ---------- */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;position:relative;padding-top:34px;}
.timeline::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--line);
}
.timeline::after{
  content:"";position:absolute;top:0;left:0;height:1px;width:100%;
  background:linear-gradient(90deg,var(--accent-deep),var(--accent));
  transform:scaleX(0);transform-origin:left;
  transition:transform 1.8s var(--ease) .2s;
}
.timeline.in::after{transform:scaleX(1);}
.t-step{position:relative;}
.t-step::before{
  content:"";position:absolute;top:-37px;left:0;width:7px;height:7px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 0 0 rgba(255,79,168,0.5);
  opacity:0;transition:opacity .3s ease;
}
.timeline.in .t-step::before{opacity:1;animation:dot-pulse 3s ease-out infinite;}
.timeline.in .t-step:nth-child(1)::before{transition-delay:.3s;animation-delay:.3s;}
.timeline.in .t-step:nth-child(2)::before{transition-delay:.7s;animation-delay:1s;}
.timeline.in .t-step:nth-child(3)::before{transition-delay:1.1s;animation-delay:1.7s;}
.timeline.in .t-step:nth-child(4)::before{transition-delay:1.5s;animation-delay:2.4s;}
@keyframes dot-pulse{0%{box-shadow:0 0 0 0 rgba(255,79,168,0.45);}70%{box-shadow:0 0 0 12px rgba(255,79,168,0);}100%{box-shadow:0 0 0 0 rgba(255,79,168,0);}}
.t-num{font-family:var(--mono);font-size:0.68rem;color:var(--accent);letter-spacing:0.14em;margin-bottom:14px;display:block;}
.t-step h3{font-size:1.05rem;margin-bottom:10px;font-weight:400;}
.t-step p{color:var(--ink-dim);font-size:0.89rem;font-weight:350;}

/* ---------- Comp calculator ---------- */
.calc{
  border:1px solid var(--line);background:var(--bg-raise);
  display:grid;grid-template-columns:1.1fr 0.9fr;
  margin-top:8px;
}
.calc-left{padding:clamp(34px,5vw,54px);border-right:1px solid var(--line);}
.calc-right{padding:clamp(34px,5vw,54px);display:flex;flex-direction:column;justify-content:center;gap:26px;background:radial-gradient(420px at 80% 20%, rgba(255,79,168,0.06), transparent 70%);}
.calc-label{font-family:var(--mono);font-size:0.68rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:14px;display:block;}
.calc-value{font-family:var(--serif);font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:30px;letter-spacing:-0.02em;}
.calc-range{
  -webkit-appearance:none;appearance:none;width:100%;height:2px;
  background:linear-gradient(90deg,var(--accent) var(--fill,8%),var(--line-strong) var(--fill,8%));
  outline:none;cursor:pointer;
}
.calc-range::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;
  background:var(--accent);border:5px solid #14060d;
  box-shadow:0 0 0 1px var(--accent), 0 0 18px rgba(255,79,168,0.5);
  transition:transform .2s ease;
}
.calc-range::-webkit-slider-thumb:hover{transform:scale(1.15);}
.calc-range::-moz-range-thumb{
  width:12px;height:12px;border-radius:50%;background:var(--accent);border:none;
  box-shadow:0 0 18px rgba(255,79,168,0.5);
}
.calc-scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:0.64rem;color:var(--ink-faint);margin-top:12px;letter-spacing:0.04em;}
.calc-out .calc-big{
  font-family:var(--serif);font-size:clamp(2.6rem,5vw,3.8rem);color:var(--accent);
  letter-spacing:-0.03em;line-height:1;
}
.calc-out .calc-sub{color:var(--ink-dim);font-size:0.86rem;margin-top:8px;font-weight:350;}
.calc-note{font-family:var(--mono);font-size:0.66rem;color:var(--ink-faint);letter-spacing:0.03em;border-top:1px solid var(--line);padding-top:18px;}

/* ---------- Back to top ---------- */
.to-top{
  position:fixed;right:26px;bottom:26px;z-index:180;
  width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line-strong);background:rgba(12,12,14,0.85);backdrop-filter:blur(10px);
  color:var(--ink-dim);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .4s ease, transform .4s var(--ease), border-color .25s, color .25s;
}
.to-top.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.to-top:hover{border-color:var(--accent);color:var(--accent);}
.to-top svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;}

/* ---------- Footer watermark ---------- */
footer{position:relative;overflow:hidden;}
footer::before{
  content:"AURA";position:absolute;bottom:-0.33em;left:50%;transform:translateX(-50%);
  font-family:var(--serif);font-weight:500;font-size:clamp(9rem,24vw,20rem);
  line-height:1;color:transparent;-webkit-text-stroke:1px rgba(244,242,238,0.045);
  pointer-events:none;user-select:none;white-space:nowrap;
}
footer .wrap{position:relative;z-index:1;}

/* ---------- Marquee pause on hover ---------- */
.marquee-wrap:hover .marquee{animation-play-state:paused;}
.marquee span{transition:color .3s ease;cursor:default;}
.marquee span:hover{color:var(--accent);}

/* ---------- FAQ answer style ---------- */
.faq-a{border-left:1px solid var(--accent-wash);padding-left:0;transition:max-height .45s var(--ease), padding-left .45s var(--ease);}
.faq-item.open .faq-a{padding-left:18px;border-left:1px solid var(--accent);}

/* ---------- Responsive for new components ---------- */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:8px;}
  .hero-visual{height:380px;margin-top:26px;}
  .orbit-ring.r3{display:none;}
  .orbit-ring.r2{width:300px;height:300px;}
}
@media(max-width:880px){
  .timeline{grid-template-columns:1fr;gap:34px;padding-top:0;padding-left:26px;}
  .timeline::before,.timeline::after{top:0;bottom:0;left:0;right:auto;width:1px;height:auto;}
  .timeline::after{background:linear-gradient(180deg,var(--accent-deep),var(--accent));transform:scaleY(0);transform-origin:top;}
  .timeline.in::after{transform:scaleY(1);}
  .t-step::before{top:6px;left:-29.5px;}
  .calc{grid-template-columns:1fr;}
  .calc-left{border-right:none;border-bottom:1px solid var(--line);}
  .to-top{bottom:92px;right:18px;}
  .hero-visual{height:330px;}
  .chip.c1{left:0;}
  .chip.c4{right:0;}
}

@media(prefers-reduced-motion:reduce){
  body::after{animation:none;}
  .glow{animation:none;}
  .w{opacity:1;transform:none;filter:none;transition:none;}
  .hero h1 .accent, .page-hero h1 .accent{animation:none;}
  .orbit-ring, .orbit-center, .chip{animation:none;}
  .rung::before{transition:none;transform:scaleX(1);}
  .timeline::after{transition:none;}
  .btn-primary::after, .btn-white::after{display:none;}
  nav{transition:none;}
}

/* ==========================================================================
   v4 — CHAPTER ARCHITECTURE / CONDENSED DISPLAY
   ========================================================================== */

:root{
  --serif:'Anton', 'Arial Narrow', sans-serif;   /* display repointed */
  --script:'Permanent Marker', cursive;
  --paper:#efece7;
  --paper-ink:#161412;
  --paper-dim:#6d675f;
  --paper-line:rgba(22,20,18,0.12);
}

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:0.015em;
  line-height:1.04;
  text-transform:uppercase;
}
.hero h1{letter-spacing:0.01em;max-width:none;}
.hero h1 .accent, .page-hero h1 .accent, h2 .accent{
  -webkit-text-fill-color:currentColor;
  background:var(--accent);
  color:#16060e;
  font-style:normal;
  animation:none;
  padding:0.02em 0.18em 0.06em;
  display:inline-block;
  box-shadow:0 10px 40px rgba(255,79,168,0.35);
}

/* Brush-script accent word */
.script{
  font-family:var(--script);
  text-transform:none;
  color:var(--accent);
  display:inline-block;
  transform:rotate(-4deg);
  filter:drop-shadow(0 0 24px rgba(255,79,168,0.55));
  letter-spacing:0;
}
.hero-headline{position:relative;}
.hero-headline .script{
  font-size:1.16em;
  margin:-0.18em -0.05em;
  position:relative;z-index:2;
}

/* Quiet the old serif niceties under Anton */
.testi-quote{font-family:var(--sans);font-size:0.95rem;font-weight:400;line-height:1.55;letter-spacing:0;}
.faq-q{font-family:var(--sans);font-weight:500;}
.marquee span{font-family:var(--mono);font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;}
.rung .pct{letter-spacing:0.02em;}
footer::before{-webkit-text-stroke:1px rgba(244,242,238,0.06);font-family:var(--serif);}

/* ---------- CHAPTERS ---------- */
.chapter{
  min-height:92vh;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  padding:110px 0;
  border-top:1px solid var(--line);
}
.chapter-tag{
  position:absolute;top:34px;left:34px;z-index:5;
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(12,12,14,0.82);border:1px solid var(--line-strong);
  backdrop-filter:blur(8px);
  padding:9px 18px;border-radius:999px;
  font-family:var(--mono);font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-dim);
}
.chapter-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);}
.chapter-bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.chapter-card{
  position:relative;z-index:3;
  max-width:760px;width:calc(100% - 48px);
  background:rgba(10,10,12,0.72);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,79,168,0.28);
  border-radius:18px;
  box-shadow:0 40px 120px rgba(0,0,0,0.55), inset 0 0 60px rgba(255,79,168,0.03);
  padding:clamp(44px,6vw,72px) clamp(28px,5vw,64px);
  text-align:center;
}
.chapter-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--mono);font-size:0.72rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--accent);
  margin-bottom:26px;
}
.chapter-eyebrow .ico{
  width:30px;height:30px;border-radius:50%;
  border:1px solid rgba(255,79,168,0.5);
  display:inline-flex;align-items:center;justify-content:center;
}
.chapter-eyebrow .ico svg{width:13px;height:13px;stroke:var(--accent);fill:none;stroke-width:1.6;}
.chapter-card h2{font-size:clamp(2rem,4.6vw,3.4rem);margin-bottom:22px;}
.chapter-card h2 .accent{box-shadow:0 14px 44px rgba(255,79,168,0.4);}
.chapter-card p{color:var(--ink-dim);font-size:1rem;max-width:56ch;margin:0 auto;font-weight:350;}
.chapter-card .btn{margin-top:30px;}

/* Chapter background flavors (all CSS/SVG — no photography) */
.bg-guilloche{
  background:
    radial-gradient(900px at 75% 30%, rgba(255,79,168,0.08), transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340' viewBox='0 0 340 340'%3E%3Cg fill='none' stroke='%23f4f2ee' stroke-opacity='0.05' stroke-width='0.7'%3E%3Ccircle cx='170' cy='170' r='40'/%3E%3Ccircle cx='170' cy='170' r='70'/%3E%3Ccircle cx='170' cy='170' r='100'/%3E%3Ccircle cx='170' cy='170' r='130'/%3E%3Ccircle cx='170' cy='170' r='160'/%3E%3Ccircle cx='0' cy='0' r='40'/%3E%3Ccircle cx='0' cy='0' r='70'/%3E%3Ccircle cx='0' cy='0' r='100'/%3E%3Ccircle cx='0' cy='0' r='130'/%3E%3Ccircle cx='340' cy='0' r='40'/%3E%3Ccircle cx='340' cy='0' r='70'/%3E%3Ccircle cx='340' cy='0' r='100'/%3E%3Ccircle cx='340' cy='0' r='130'/%3E%3Ccircle cx='0' cy='340' r='40'/%3E%3Ccircle cx='0' cy='340' r='70'/%3E%3Ccircle cx='0' cy='340' r='100'/%3E%3Ccircle cx='0' cy='340' r='130'/%3E%3Ccircle cx='340' cy='340' r='40'/%3E%3Ccircle cx='340' cy='340' r='70'/%3E%3Ccircle cx='340' cy='340' r='100'/%3E%3Ccircle cx='340' cy='340' r='130'/%3E%3C/g%3E%3C/svg%3E");
}
.bg-grid{
  background:
    radial-gradient(700px at 25% 70%, rgba(255,79,168,0.07), transparent 60%),
    linear-gradient(rgba(244,242,238,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244,242,238,0.03) 1px, transparent 1px);
  background-size:auto, 56px 56px, 56px 56px;
}
.bg-diag{
  background:
    radial-gradient(800px at 80% 20%, rgba(255,79,168,0.08), transparent 65%),
    repeating-linear-gradient(-45deg, rgba(244,242,238,0.025) 0 1px, transparent 1px 18px);
}
.bg-tiles{overflow:hidden;}
.tile-wall{
  position:absolute;inset:-8% -4%;
  display:grid;grid-template-columns:repeat(6,1fr);gap:18px;
  transform:rotate(-4deg) scale(1.06);
  opacity:0.5;filter:blur(0.5px);
}
.tile-wall .tile{
  border:1px solid var(--line-strong);border-radius:12px;
  background:linear-gradient(160deg, rgba(24,24,27,0.9), rgba(12,12,14,0.9));
  min-height:110px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);
  box-shadow:0 18px 50px rgba(0,0,0,0.5);
}
.tile-wall .tile:nth-child(4n){color:rgba(255,79,168,0.55);border-color:rgba(255,79,168,0.3);}
.chapter .veil{position:absolute;inset:0;background:radial-gradient(1200px at 50% 55%, transparent 30%, rgba(7,7,8,0.82) 100%);z-index:1;}

/* ---------- LIGHT BANDS ---------- */
.band-light{
  background:var(--paper);color:var(--paper-ink);
  padding:clamp(80px,10vw,150px) 0;position:relative;overflow:hidden;
  border-top:1px solid var(--line);
}
.band-light .eyebrow{color:var(--paper-dim);}
.band-light h2, .band-light h3{color:var(--paper-ink);}
.band-light p{color:var(--paper-dim);}
.band-light.band-slim{padding:clamp(56px,7vw,96px) 0;}
.why-lockup{text-align:center;position:relative;z-index:1;}
.why-lockup .small{font-family:var(--serif);font-size:clamp(1.6rem,4vw,3rem);letter-spacing:0.04em;color:var(--paper-ink);text-transform:uppercase;display:block;}
.why-lockup .big{
  font-family:var(--serif);font-size:clamp(3rem,9vw,7rem);line-height:0.95;
  color:var(--accent);text-transform:uppercase;display:inline-flex;align-items:center;gap:0.18em;
}
.why-lockup .big svg{width:0.82em;height:0.82em;}
.why-lockup .tag{font-family:var(--mono);letter-spacing:0.5em;font-size:0.8rem;color:var(--paper-dim);margin-top:14px;display:block;text-transform:uppercase;}
.band-light .guilloche-lt{
  position:absolute;inset:0;opacity:0.5;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340' viewBox='0 0 340 340'%3E%3Cg fill='none' stroke='%23161412' stroke-opacity='0.06' stroke-width='0.7'%3E%3Ccircle cx='170' cy='170' r='40'/%3E%3Ccircle cx='170' cy='170' r='80'/%3E%3Ccircle cx='170' cy='170' r='120'/%3E%3Ccircle cx='170' cy='170' r='160'/%3E%3Ccircle cx='0' cy='0' r='60'/%3E%3Ccircle cx='0' cy='0' r='110'/%3E%3Ccircle cx='340' cy='0' r='60'/%3E%3Ccircle cx='340' cy='0' r='110'/%3E%3Ccircle cx='0' cy='340' r='60'/%3E%3Ccircle cx='0' cy='340' r='110'/%3E%3Ccircle cx='340' cy='340' r='60'/%3E%3Ccircle cx='340' cy='340' r='110'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- COMPARISON CARDS (light band) ---------- */
.vs-head{text-align:center;max-width:800px;margin:0 auto clamp(48px,6vw,72px);}
.vs-head h2{font-size:clamp(2.2rem,5.4vw,4rem);line-height:1.06;}
.vs-head h2 .accent{box-shadow:0 16px 44px rgba(255,79,168,0.35);}
.vs-head p{margin-top:18px;font-size:0.95rem;}
.vs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.vs-card{
  background:#141216;color:var(--ink);
  border-radius:16px;padding:26px 24px 22px;
  box-shadow:0 24px 60px rgba(22,20,18,0.28);
  transition:transform .35s var(--ease), box-shadow .35s ease;
}
.vs-card:hover{transform:translateY(-6px);box-shadow:0 34px 80px rgba(22,20,18,0.38);}
.vs-card .vs-title{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.vs-card .vs-title .ico{
  width:34px;height:34px;border-radius:9px;flex-shrink:0;
  background:rgba(255,79,168,0.12);border:1px solid rgba(255,79,168,0.35);
  display:flex;align-items:center;justify-content:center;
}
.vs-card .vs-title .ico svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:1.6;}
.vs-card .vs-title h3{font-size:1.05rem;letter-spacing:0.04em;}
.vs-row{
  border:1px solid var(--line-strong);border-radius:9px;
  padding:11px 14px;margin-bottom:10px;
  font-size:0.85rem;color:var(--ink-dim);
  display:flex;align-items:baseline;gap:10px;
}
.vs-row .lbl{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);flex-shrink:0;}
.vs-row.win{
  border-color:rgba(255,79,168,0.45);
  background:rgba(255,79,168,0.08);
  color:var(--ink);margin-bottom:0;
}
.vs-row.win .lbl{color:var(--accent);}
.vs-row .x{color:var(--ink-faint);}
.vs-row.win .ck{color:var(--accent);}

/* ---------- CARRIER MARQUEE WALL ---------- */
.carrier-lockup{text-align:center;margin-bottom:clamp(44px,6vw,64px);position:relative;z-index:1;}
.carrier-lockup h2{font-size:clamp(2.4rem,6.4vw,4.6rem);line-height:1.0;}
.carrier-lockup .script{font-size:1.2em;}
.carrier-badge{
  display:inline-flex;align-items:center;gap:10px;margin-top:26px;
  border:1px solid rgba(255,79,168,0.5);border-radius:999px;
  padding:12px 26px;
  font-family:var(--mono);font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);
}
.carrier-badge strong{color:var(--accent);font-weight:500;}
.logo-marquee{overflow:hidden;padding:12px 0;position:relative;}
.logo-marquee::before,.logo-marquee::after{
  content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
.logo-marquee::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.logo-marquee::after{right:0;background:linear-gradient(270deg,var(--bg),transparent);}
.logo-track{display:flex;width:max-content;gap:16px;animation:marquee 44s linear infinite;}
.logo-marquee.rev .logo-track{animation-direction:reverse;animation-duration:52s;}
.logo-marquee:hover .logo-track{animation-play-state:paused;}
.logo-cell{
  border:1px solid var(--line-strong);border-radius:12px;
  background:linear-gradient(160deg, rgba(22,22,25,0.9), rgba(12,12,14,0.9));
  padding:22px 34px;white-space:nowrap;
  font-family:var(--mono);font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-dim);
  transition:border-color .3s, color .3s;
}
.logo-cell:hover{border-color:var(--accent);color:var(--ink);}

/* ---------- TESTIMONIAL MARQUEE ---------- */
.review-marquee{overflow:hidden;padding:10px 0;position:relative;}
.review-marquee::before,.review-marquee::after{
  content:"";position:absolute;top:0;bottom:0;width:110px;z-index:2;pointer-events:none;
}
.band-light .review-marquee::before{left:0;background:linear-gradient(90deg,var(--paper),transparent);}
.band-light .review-marquee::after{right:0;background:linear-gradient(270deg,var(--paper),transparent);}
.review-track{display:flex;width:max-content;gap:18px;animation:marquee 58s linear infinite;}
.review-marquee.rev .review-track{animation-direction:reverse;animation-duration:66s;}
.review-marquee:hover .review-track{animation-play-state:paused;}
.review-card{
  width:340px;flex-shrink:0;
  background:#fff;color:var(--paper-ink);
  border:1px solid var(--paper-line);border-radius:14px;
  padding:22px 24px;
  box-shadow:0 14px 40px rgba(22,20,18,0.1);
}
.review-stars{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.review-stars .stars{color:var(--accent);letter-spacing:2px;font-size:0.85rem;}
.review-stars .vrf{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:#4c9a70;
}
.review-card p{font-size:0.87rem;color:#3d3934;line-height:1.55;margin-bottom:14px;}
.review-card .who{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.08em;color:var(--paper-dim);text-transform:uppercase;}

/* ---------- STEPPER (typeform-style final CTA) ---------- */
.stepper-section{position:relative;overflow:hidden;padding:clamp(90px,12vw,170px) 0;border-top:1px solid var(--line);}
.stepper-watermark{
  position:absolute;left:-4%;top:50%;transform:translateY(-50%) rotate(-8deg);
  font-family:var(--script);font-size:clamp(20rem,46vw,34rem);line-height:1;
  color:rgba(255,79,168,0.05);pointer-events:none;user-select:none;z-index:0;
}
.stepper-head{text-align:center;position:relative;z-index:1;margin-bottom:clamp(40px,5vw,60px);}
.stepper-head .kicker{
  display:inline-flex;align-items:center;gap:16px;
  font-family:var(--mono);font-size:0.7rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent);
  margin-bottom:20px;
}
.stepper-head .kicker::before,.stepper-head .kicker::after{content:"";width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--accent));}
.stepper-head .kicker::after{background:linear-gradient(270deg,transparent,var(--accent));}
.stepper-head h2{font-size:clamp(2.2rem,5.6vw,4rem);}
.stepper-head p{color:var(--ink-dim);margin-top:14px;font-size:0.92rem;}
.stepper{max-width:620px;margin:0 auto;position:relative;z-index:1;text-align:center;min-height:240px;}
.q-step{display:none;animation:fadeUp .55s var(--ease);}
.q-step.active{display:block;}
.q-label{font-family:var(--mono);font-size:0.66rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px;display:block;}
.q-title{font-family:var(--serif);font-size:clamp(1.4rem,3.2vw,2rem);text-transform:uppercase;letter-spacing:0.03em;margin-bottom:30px;}
.q-input{
  width:100%;max-width:440px;
  background:transparent;border:none;border-bottom:1px solid var(--line-strong);
  color:var(--ink);font-family:var(--sans);font-size:1.5rem;text-align:center;
  padding:10px 6px;outline:none;transition:border-color .3s;
}
.q-input:focus{border-color:var(--accent);}
.q-hint{font-family:var(--mono);font-size:0.66rem;color:var(--ink-faint);margin-top:16px;letter-spacing:0.08em;}
.q-hint kbd{border:1px solid var(--line-strong);border-radius:4px;padding:2px 7px;margin:0 3px;}
.q-choices{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.q-choice{
  border:1px solid var(--line-strong);border-radius:10px;
  background:transparent;color:var(--ink);
  padding:16px 34px;font-size:0.95rem;cursor:pointer;font-family:var(--sans);
  transition:border-color .25s, background .25s, transform .25s;
}
.q-choice:hover{border-color:var(--accent);transform:translateY(-2px);}
.q-choice.selected{border-color:var(--accent);background:var(--accent-wash);color:var(--accent);}
.q-error{color:#e58a9f;font-family:var(--mono);font-size:0.7rem;margin-top:14px;display:none;letter-spacing:0.06em;}
.stepper-nav{
  display:flex;align-items:center;justify-content:space-between;
  max-width:620px;margin:44px auto 0;position:relative;z-index:1;
}
.stepper-nav .snav{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:1px solid var(--line-strong);border-radius:999px;
  color:var(--ink-dim);font-family:var(--mono);font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;
  padding:12px 24px;cursor:pointer;transition:border-color .25s,color .25s,opacity .25s;
}
.stepper-nav .snav:hover{border-color:var(--accent);color:var(--ink);}
.stepper-nav .snav[disabled]{opacity:0.3;pointer-events:none;}
.step-dots{display:flex;gap:9px;}
.step-dots i{width:18px;height:2px;background:var(--line-strong);transition:background .3s, width .3s;}
.step-dots i.on{background:var(--accent);width:30px;}
.q-success .success-icon{margin-bottom:22px;}
.q-success h3{font-family:var(--serif);text-transform:uppercase;font-size:1.6rem;margin-bottom:12px;}
.q-success p{color:var(--ink-dim);font-size:0.92rem;}

/* ---------- Hero (v4 tweaks) ---------- */
.hero-headline{font-size:clamp(3rem,8.2vw,6.6rem);}
.hero-v4 .glow{left:auto;right:-10%;top:-160px;}
.hero-v4{text-align:center;}
.hero-v4 .hero-inner{max-width:980px;}
.hero-v4 p.sub{margin:26px auto 40px;}
.hero-v4 .hero-ctas{justify-content:center;}
.hero-v4 .stats{border-top:none;display:flex;justify-content:center;gap:clamp(28px,5vw,64px);margin-top:clamp(48px,6vw,72px);flex-wrap:wrap;}
.hero-v4 .stat-cell{padding:0;text-align:center;}
.hero-v4 .stat-cell:first-child::before{display:none;}
.hero-v4 .stat-num{font-size:clamp(1.8rem,3.2vw,2.7rem);}
.hero-v4 .sub .accent{color:var(--accent);font-weight:500;}

@media(max-width:880px){
  .vs-grid{grid-template-columns:1fr;}
  .chapter{min-height:76vh;}
  .chapter-tag{top:20px;left:20px;}
  .tile-wall{grid-template-columns:repeat(3,1fr);}
  .review-card{width:290px;}
  .stepper-watermark{font-size:22rem;opacity:0.6;}
  .hero-v4 .stats{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
}

@media(prefers-reduced-motion:reduce){
  .logo-track,.review-track{animation:none;}
}

/* ==========================================================================
   v5 — PRODUCTION REDESIGN: dark-only, 1240 grid, photography, overlap flow
   ========================================================================== */

:root{
  --editorial:'Fraunces', Georgia, serif;
  --graphite:#101014;
  --graphite-2:#16161b;
  --silver:#c9c6c0;
}

/* ---- Disciplined grid ---- */
.wrap{max-width:1240px;padding:0 clamp(24px,4vw,56px);}
nav .wrap{max-width:1240px;}
.hero p.sub, .page-hero p.sub{max-width:640px;}
.chapter-card p{max-width:620px;}
.section-head{max-width:680px;}

/* ---- Kill light bands: graphite instead ---- */
.band-light{
  background:linear-gradient(180deg,var(--graphite) 0%, #0b0b0e 100%);
  color:var(--ink);
  border-top:1px solid var(--line);
}
.band-light h2,.band-light h3{color:var(--ink);}
.band-light p{color:var(--ink-dim);}
.band-light .eyebrow{color:var(--ink-dim);}
.band-light .guilloche-lt{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340' viewBox='0 0 340 340'%3E%3Cg fill='none' stroke='%23f4f2ee' stroke-opacity='0.045' stroke-width='0.7'%3E%3Ccircle cx='170' cy='170' r='40'/%3E%3Ccircle cx='170' cy='170' r='80'/%3E%3Ccircle cx='170' cy='170' r='120'/%3E%3Ccircle cx='170' cy='170' r='160'/%3E%3Ccircle cx='0' cy='0' r='60'/%3E%3Ccircle cx='0' cy='0' r='110'/%3E%3Ccircle cx='340' cy='0' r='60'/%3E%3Ccircle cx='340' cy='0' r='110'/%3E%3Ccircle cx='0' cy='340' r='60'/%3E%3Ccircle cx='0' cy='340' r='110'/%3E%3Ccircle cx='340' cy='340' r='60'/%3E%3Ccircle cx='340' cy='340' r='110'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.7;
}
.why-lockup .small{color:var(--ink);}
.why-lockup .tag{color:var(--ink-faint);}
.vs-card{background:var(--graphite-2);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,0.4);}
.review-card{
  background:rgba(22,22,27,0.9);color:var(--ink);
  border:1px solid var(--line-strong);
  box-shadow:0 14px 40px rgba(0,0,0,0.4);
  backdrop-filter:blur(6px);
}
.review-card p{color:var(--ink-dim);}
.review-card .who{color:var(--ink-faint);}
.review-stars .vrf{color:#8fd7ae;}
.band-light .review-marquee::before{background:linear-gradient(90deg,var(--graphite),transparent);}
.band-light .review-marquee::after{background:linear-gradient(270deg,#0b0b0e,transparent);}

/* ---- Editorial accent word (replaces brush script) ---- */
.script, .accent-serif{
  font-family:var(--editorial);
  font-style:italic;
  font-weight:480;
  text-transform:none;
  color:var(--accent);
  display:inline;
  transform:none;
  filter:none;
  letter-spacing:-0.01em;
  text-shadow:0 0 44px rgba(255,79,168,0.4);
}
.hero-headline .script{font-size:0.96em;margin:0;position:static;}
.carrier-lockup .script{font-size:0.98em;}
.stepper-watermark{
  font-family:var(--editorial);font-style:italic;font-weight:500;
  color:rgba(255,79,168,0.05);
}

/* ---- Photography system ---- */
.photo-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.photo-bg img{
  width:100%;height:100%;object-fit:cover;
  filter:grayscale(0.35) saturate(0.75) contrast(1.06) brightness(0.6);
}
.photo-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(7,7,8,0.88) 0%, rgba(7,7,8,0.45) 38%, rgba(7,7,8,0.55) 70%, rgba(7,7,8,0.95) 100%),
    radial-gradient(900px at 70% 30%, rgba(255,79,168,0.1), transparent 60%);
}
.photo-bg.kenburns img{animation:kenburns 26s ease-in-out infinite alternate;}
@keyframes kenburns{from{transform:scale(1);}to{transform:scale(1.09) translate(-1.2%,1%);}}

.photo-frame{
  position:relative;border-radius:16px;overflow:hidden;
  border:1px solid var(--line-strong);
  box-shadow:0 40px 110px rgba(0,0,0,0.6);
}
.photo-frame img{
  display:block;width:100%;height:100%;object-fit:cover;
  filter:grayscale(0.3) saturate(0.8) contrast(1.05) brightness(0.78);
  transition:transform 6s var(--ease), filter 1s ease;
}
.photo-frame::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg, transparent 40%, rgba(7,7,8,0.75) 100%);
  pointer-events:none;
}
.photo-frame:hover img{transform:scale(1.04);filter:grayscale(0.1) saturate(0.9) contrast(1.05) brightness(0.85);}
.photo-frame .photo-tag{
  position:absolute;left:18px;bottom:16px;z-index:2;
  font-family:var(--mono);font-size:0.64rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--silver);
}

/* mask reveal */
.mask-reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1.3s var(--ease);}
.mask-reveal.in, .in .mask-reveal{clip-path:inset(0 0 0 0);}

/* ---- Section overlap + dissolves ---- */
.overlap-up{margin-top:clamp(-120px,-8vw,-60px);position:relative;z-index:6;}
.dissolve-bottom{position:relative;}
.dissolve-bottom::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:180px;z-index:2;pointer-events:none;
  background:linear-gradient(180deg, transparent, var(--bg));
}
.dissolve-top::before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:160px;z-index:2;pointer-events:none;
  background:linear-gradient(0deg, transparent, var(--bg));
}

/* ---- Hero v5: asymmetric ---- */
.hero-v5{padding:clamp(90px,11vw,150px) 0 0;position:relative;overflow:hidden;text-align:left;}
.hero-v5 .hero-grid5{
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:clamp(40px,5vw,72px);align-items:center;position:relative;z-index:2;
}
.hero-v5 .hero-headline{font-size:clamp(2.7rem,6.4vw,5.2rem);margin:26px 0 24px;}
.hero-v5 p.sub{margin:0 0 36px;}
.hero-v5 .proof-row{
  display:flex;gap:clamp(20px,2.6vw,40px);flex-wrap:wrap;
  margin-top:44px;padding-top:28px;border-top:1px solid var(--line);
}
.hero-v5 .proof-cell .stat-num{font-size:clamp(1.5rem,2.4vw,2.1rem);font-family:var(--serif);}
.hero-v5 .proof-cell .stat-label{font-size:0.66rem;margin-top:6px;}
.hero-portrait{
  position:relative;height:clamp(440px,52vw,600px);
  border-radius:18px;overflow:hidden;
  border:1px solid var(--line-strong);
  box-shadow:0 50px 140px rgba(0,0,0,0.65);
}
.hero-portrait img{
  width:100%;height:100%;object-fit:cover;object-position:50% 18%;
  filter:grayscale(0.35) saturate(0.75) contrast(1.08) brightness(0.72);
  animation:kenburns 30s ease-in-out infinite alternate;
}
.hero-portrait::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(210deg, transparent 30%, rgba(7,7,8,0.85) 100%),
             linear-gradient(0deg, rgba(255,79,168,0.12), transparent 40%);
}
.hero-portrait .floating-chip{
  position:absolute;z-index:3;
  background:rgba(12,12,15,0.82);backdrop-filter:blur(10px);
  border:1px solid var(--line-strong);border-radius:10px;
  padding:12px 16px;
  font-family:var(--mono);font-size:0.68rem;letter-spacing:0.08em;color:var(--ink-dim);
  box-shadow:0 16px 44px rgba(0,0,0,0.5);
}
.hero-portrait .floating-chip strong{display:block;font-family:var(--serif);font-size:1.25rem;color:var(--ink);letter-spacing:0.02em;margin-bottom:2px;}
.hero-portrait .floating-chip .up{color:var(--accent);}
.chip-tl{top:18px;left:18px;}
.chip-br{bottom:18px;right:18px;}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--line-strong);border-radius:999px;
  padding:8px 16px;font-family:var(--mono);font-size:0.64rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-dim);
}
.badge::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);}

/* ---- Chapter v5: photo backdrops + split variant ---- */
.chapter.has-photo .veil{
  background:radial-gradient(1100px at 50% 52%, rgba(7,7,8,0.25) 0%, rgba(7,7,8,0.88) 100%);
}
.chapter-split{
  display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  gap:clamp(32px,4vw,64px);align-items:center;
  position:relative;z-index:3;width:min(1240px, calc(100% - 48px));
  margin:0 auto;padding:0 clamp(0px,2vw,20px);
}
.chapter-split .chapter-card{width:100%;max-width:none;text-align:left;margin:0;}
.chapter-split .chapter-card p{margin:0 0 8px;}
.chapter-split .chapter-eyebrow{margin-bottom:20px;}
.chapter-split .side-photo{
  height:clamp(320px,40vw,480px);
}
.chapter .chapter-card{text-align:left;}
.chapter .chapter-card p{margin:0;}
.chapter .chapter-card .btn{margin-top:28px;}
.chapter-card{background:rgba(10,10,13,0.66);}

/* ---- Carrier logo wall: ready for real logo images ---- */
.logo-cell img{
  height:26px;width:auto;display:block;
  filter:grayscale(1) brightness(1.9) contrast(0.85) opacity(0.65);
  transition:filter .35s ease;
}
.logo-cell:hover img{filter:grayscale(1) brightness(2.6) contrast(0.9) opacity(0.95);}

/* ---- Interior page-hero photo option ---- */
.page-hero{overflow:hidden;}
.page-hero .photo-bg img{object-position:50% 35%;}
.page-hero.has-photo{padding:clamp(110px,13vw,170px) 0 clamp(64px,7vw,90px);}
.page-hero.has-photo .glow{display:none;}

/* ---- Split with photo panels on interior pages ---- */
.visual-panel.photo-frame{border:1px solid var(--line-strong);background:none;height:400px;}
.visual-panel.photo-frame .ring{display:none;}

/* ---- Parallax util ---- */
[data-parallax]{will-change:transform;}

/* ---- Density: alternate grid-3 into asym feature rows where flagged ---- */
.feature-rows .card{display:grid;grid-template-columns:44px 1fr auto;gap:20px;align-items:start;padding:26px 28px;}
.feature-rows .card .card-icon{margin:4px 0 0;}
.feature-rows .card a{margin-top:4px;white-space:nowrap;}
.feature-rows{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);}

/* ---- Responsive ---- */
@media(max-width:1024px){
  .hero-v5 .hero-grid5{grid-template-columns:1fr;gap:44px;}
  .hero-portrait{height:420px;}
  .chapter-split{grid-template-columns:1fr;}
  .chapter-split .side-photo{height:300px;order:-1;}
}
@media(max-width:880px){
  .overlap-up{margin-top:-40px;}
  .hero-v5 .proof-row{gap:22px;}
  .feature-rows .card{grid-template-columns:36px 1fr;}
  .feature-rows .card a{grid-column:2;}
}

@media(prefers-reduced-motion:reduce){
  .photo-bg.kenburns img,.hero-portrait img{animation:none;}
  .mask-reveal{clip-path:none;transition:none;}
  .photo-frame img{transition:none;}
}

/* v5.1 — let chapter photography breathe */
.chapter .photo-bg img{filter:grayscale(0.3) saturate(0.8) contrast(1.05) brightness(0.78);}
.chapter .photo-bg::after{
  background:linear-gradient(180deg, rgba(7,7,8,0.6) 0%, rgba(7,7,8,0.3) 45%, rgba(7,7,8,0.75) 100%);
}
.chapter.has-photo .veil{
  background:radial-gradient(1100px at 50% 52%, rgba(7,7,8,0.12) 0%, rgba(7,7,8,0.72) 100%);
}

/* v5.2 — no hollow grid cells; real carrier logos */
.carrier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:none;border:none;}
.carrier-card{
  background:var(--graphite-2);border:1px solid var(--line);border-radius:12px;
  transition:border-color .3s ease, background .3s ease, transform .3s var(--ease);
}
.carrier-card:hover{border-color:rgba(255,79,168,0.45);transform:translateY(-3px);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;background:none;border:none;}
.testi-card{background:var(--graphite-2);border:1px solid var(--line);border-radius:14px;}
@media(max-width:880px){.carrier-grid{grid-template-columns:repeat(2,1fr);}.testi-grid{grid-template-columns:1fr;}}

.clogo-wrap{
  width:44px;height:44px;margin:0 0 16px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line-strong);border-radius:10px;
  background:rgba(244,242,238,0.04);
  overflow:hidden;
}
.clogo{
  max-width:32px;max-height:32px;object-fit:contain;display:block;
  filter:grayscale(1) brightness(1.6) contrast(0.85) opacity(0.75);
  transition:filter .35s ease;
}
.carrier-card:hover .clogo{filter:grayscale(1) brightness(2.1) contrast(0.9) opacity(1);}
.logo-cell{display:inline-flex;align-items:center;gap:12px;}
.logo-cell img{
  height:22px;width:auto;max-width:70px;object-fit:contain;
  filter:grayscale(1) brightness(1.6) contrast(0.85) opacity(0.7);
  transition:filter .35s ease;
}
.logo-cell:hover img{filter:grayscale(1) brightness(2.2) contrast(0.9) opacity(1);}

/* v5.3 — official logo treatments */
.clogo-dark, .logo-cell img.dark{
  filter:grayscale(1) invert(1) brightness(1.15) contrast(0.9) opacity(0.8);
}
.carrier-card:hover .clogo-dark{filter:grayscale(1) invert(1) brightness(1.4) contrast(0.95) opacity(1);}
.logo-cell:hover img.dark{filter:grayscale(1) invert(1) brightness(1.5) contrast(0.95) opacity(1);}
.clogo-wrap{width:auto;min-width:44px;max-width:120px;padding:0 10px;}
.clogo{max-width:96px;}

/* ==========================================================================
   v6 — ONE-PAGE CINEMATIC STACK: pinned chapters, crossfade coverage, centered
   ========================================================================== */

/* body overflow-x:hidden breaks position:sticky descendants in some engines —
   move the clip to html and let body flow */
html{overflow-x:clip;}
body{overflow-x:visible;}

.stack{position:relative;}
.stack-panel{
  position:sticky;top:0;
  min-height:100vh;min-height:100svh;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  will-change:transform, filter;
}
.stack .chapter{border-top:none;padding:96px 0;}
.stack .chapter::after{
  content:"";position:absolute;left:0;right:0;top:0;height:140px;z-index:2;pointer-events:none;
  background:linear-gradient(180deg, rgba(7,7,8,0.85), transparent);
}

/* covered-panel dim/scale set via JS custom props */
.stack-panel{
  transform:scale(calc(1 - var(--cover, 0) * 0.06));
  filter:brightness(calc(1 - var(--cover, 0) * 0.55));
}

/* ---- Hero v6: centered ---- */
.hero-v6{padding:0;text-align:center;}
.hero-v6 .veil-hero{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(1000px at 50% 42%, rgba(7,7,8,0.2) 0%, rgba(7,7,8,0.82) 100%);
}
.hero-v6 .hero-center{position:relative;z-index:2;max-width:900px;padding-top:120px;padding-bottom:90px;}
.hero-v6 .hero-headline{font-size:clamp(2.9rem,7vw,5.8rem);margin:26px auto 24px;}
.hero-v6 p.sub{margin:0 auto 36px;}
.hero-v6 .hero-ctas{justify-content:center;}
.hero-v6 .hero-badges{justify-content:center;}
.hero-v6 .proof-row{justify-content:center;border-top:1px solid rgba(244,242,238,0.14);}
.hero-v6 .proof-cell{text-align:center;}

.scroll-cue{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;
  width:26px;height:42px;border:1px solid var(--line-strong);border-radius:14px;
  display:flex;justify-content:center;padding-top:8px;
}
.scroll-cue span{
  width:3px;height:9px;border-radius:2px;background:var(--accent);
  animation:cue 2.2s ease-in-out infinite;
}
@keyframes cue{0%,100%{transform:translateY(0);opacity:1;}55%{transform:translateY(12px);opacity:0.1;}}

/* ---- Centered chapter cards ---- */
.stack .chapter-card{text-align:center;margin:0 24px;}
.stack .chapter-card p{margin:0 auto;}
.stack .chapter-card .chapter-eyebrow{justify-content:center;}
.chapter-split{display:grid;}
.chapter-split .chapter-card{text-align:center;}
.chapter-split .chapter-card p{margin:0 auto 8px;}

/* anchor offset under sticky nav */
#why, #carriers, #stories, #apply{scroll-margin-top:70px;}

@media(max-width:880px){
  .stack-panel{min-height:100svh;}
  .stack .chapter{padding:80px 0;}
  .scroll-cue{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .stack-panel{position:relative;min-height:auto;transform:none;filter:none;}
  .scroll-cue span{animation:none;}
}

/* v6.1 — proof row flex under hero-v6 */
.hero-v6 .proof-row{
  display:flex;gap:clamp(28px,5vw,72px);flex-wrap:wrap;justify-content:center;
  margin-top:44px;padding-top:28px;border-top:1px solid rgba(244,242,238,0.14);
}
.hero-v6 .proof-cell .stat-num{font-size:clamp(1.5rem,2.4vw,2.1rem);font-family:var(--serif);}
.hero-v6 .proof-cell .stat-label{font-size:0.66rem;margin-top:6px;}

/* ==========================================================================
   v7 — SUPREME-ACCURATE SCROLL: no pinning. Normal flow + 1.12-scale image
   drift + deep gradient dissolves between sections.
   ========================================================================== */

/* Revert the sticky stack: normal document flow */
.stack-panel{
  position:relative;top:auto;
  transform:none !important;
  filter:none !important;
  will-change:auto;
}
.stack .chapter{padding:clamp(120px,16vh,200px) 0;min-height:100vh;}

/* Deep dissolves: every chapter melts into the page background top & bottom */
.stack .chapter::before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:24vh;z-index:2;pointer-events:none;
  background:linear-gradient(180deg, var(--bg) 0%, rgba(7,7,8,0.6) 45%, transparent 100%);
}
.stack .chapter::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;top:auto;height:24vh;z-index:2;pointer-events:none;
  background:linear-gradient(0deg, var(--bg) 0%, rgba(7,7,8,0.6) 45%, transparent 100%);
}
.hero-v6::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:22vh;z-index:2;pointer-events:none;
  background:linear-gradient(0deg, var(--bg) 0%, transparent 100%);
}

/* Filmic image drift (Supreme mechanic): img scaled 1.12, translateY set by JS */
.photo-bg img{
  transform:scale(1.12);
  will-change:transform;
}
.photo-bg.kenburns img{animation:none;}
.hero-portrait img{animation:none;}

@media(prefers-reduced-motion:reduce){
  .photo-bg img{transform:none;will-change:auto;}
}
