@font-face{
  font-family:"Merriweather";
  src:url("../../fonts/merriweather/Merriweather_24pt-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Merriweather";
  src:url("../../fonts/merriweather/Merriweather_24pt-Italic.ttf") format("truetype");
  font-weight:400;
  font-style:italic;
  font-display:swap;
}

@font-face{
  font-family:"Merriweather";
  src:url("../../fonts/merriweather/Merriweather_24pt-Bold.ttf") format("truetype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Merriweather";
  src:url("../../fonts/merriweather/Merriweather_24pt-BoldItalic.ttf") format("truetype");
  font-weight:700;
  font-style:italic;
  font-display:swap;
}

@font-face{
  font-family:"Merriweather";
  src:url("../../fonts/merriweather/Merriweather_24pt-Black.ttf") format("truetype");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Merriweather";
  src:url("../../fonts/merriweather/Merriweather_24pt-BlackItalic.ttf") format("truetype");
  font-weight:900;
  font-style:italic;
  font-display:swap;
}

@font-face{
  font-family:"Source Sans Pro";
  src:url("../../fonts/source-sans-pro/SourceSansPro-Regular.otf") format("opentype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Source Sans Pro";
  src:url("../../fonts/source-sans-pro/SourceSansPro-It.otf") format("opentype");
  font-weight:400;
  font-style:italic;
  font-display:swap;
}

@font-face{
  font-family:"Source Sans Pro";
  src:url("../../fonts/source-sans-pro/SourceSansPro-Semibold.otf") format("opentype");
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Source Sans Pro";
  src:url("../../fonts/source-sans-pro/SourceSansPro-SemiboldIt.otf") format("opentype");
  font-weight:600;
  font-style:italic;
  font-display:swap;
}

@font-face{
  font-family:"Source Sans Pro";
  src:url("../../fonts/source-sans-pro/SourceSansPro-Bold.otf") format("opentype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Source Sans Pro";
  src:url("../../fonts/source-sans-pro/SourceSansPro-BoldIt.otf") format("opentype");
  font-weight:700;
  font-style:italic;
  font-display:swap;
}

:root{
  --bg0:#ffffff;
  --bg1:#f7f6ff;
  --ink:#1a183d;
  --muted:rgba(26,24,61,.72);
  --faint:rgba(26,24,61,.10);
  --line:rgba(26,24,61,.14);
  --brand:#302f7b;
  --accent:#982789;
  --gold:#bf9e4f; /*#f1c17c;*/
  --blue:#302f7b;
  --radius:20px;
  --shadow:0 1px 2px rgba(26,24,61,.10), 0 14px 34px rgba(48,47,123,.14);
  --paper-shadow:0 1px 2px rgba(26,24,61,.10), 0 2px 8px rgba(48,47,123,.10);
  --container:1160px;
  --topbar-h:96px;
  --font-sans:"Source Sans Pro",Roboto,Helvetica,Arial;
  --font-serif:"Merriweather",serif;
  --font-body-sm:0.875rem;
  --chapter-gap-desktop:18px;
  --chapter-gap-tablet:16px;
  --chapter-gap-mobile:14px;
}

*{box-sizing:border-box}

 .paper-shadow{box-shadow: none; /*var(--paper-shadow)*/}

html,body{height:100%;}

body{
  margin:0;
  font-family: var(--font-sans);
  /* ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";*/
  /*color:var(--muted);*/
  /* background:
    radial-gradient(1100px 700px at 15% -10%, rgba(48,47,123,.14), transparent 60%),
    radial-gradient(900px 700px at 90% 5%, rgba(152,39,137,.10), transparent 58%),
    radial-gradient(1000px 800px at 35% 105%, rgba(241,193,124,.20), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  line-height:1.45;
  overflow: hidden;
  letter-spacing: 0.04em; */
}

h1,h2,h3,h4,h5,h6 /*, .topbar .btn, .topbar .cta-link /*.btn, .cta-link, .nav .nav-row--bottom a*/ {
  margin:0;
  font-family:var(--font-serif);
  color:var(--ink);
}

h1{
  font-size:clamp(2.75rem, 4vw, 5.75rem); /* h1 */
  line-height:1.1;
  letter-spacing:-0.02em;
}

h2{
  font-size:clamp(2rem, 3.2vw, 3rem);   /* h2 clamp(28px, 3.6vw, 48px)*/
  line-height:1.25;
  letter-spacing:-0.02em;
}

h3{
  font-size:clamp(1.15rem, 1.5vw, 1.25rem);   /* h2 */
  font-weight:900;
  color:var(--brand);
  letter-spacing:-0.02em;
  margin-bottom: 0.7rem;
}

p{
  margin: 0 0 0.75rem 0;
}
p, li {
  font-weight:500;
  line-height:1.4;
}

ul{
  list-style:none;
  padding:0;
  margin:0 0 0.5rem 0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

li{
  position:relative;
  padding-left:32px;
}

li strong {
  color: var(--brand);
  font-weight: 800;
}

/* Global bullet replacement with animated diamond */
.section ul li::before{
  content:"";
  position:absolute;
  top:2px;
  left:0;
  width:22px;
  height:23px;
  background:url("../images/menu-diamond.png") no-repeat center/contain;
  border:0;
  box-shadow:none;
  background-color:transparent;
  /*opacity:.7;*/
  transform:translateX(-6px);
  transition:opacity .35s ease, transform .35s ease;
}

.section ul li:hover::before,
.section ul li:focus-within::before{
  opacity:1;
  transform:translateX(0);
}

 html:not(.js) body{
  overflow:auto;
 }

a {
  color:var(--brand);
  text-decoration:none;
}
a:hover {
  text-decoration:none;
}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0;
  /*border-left: white solid 22px*/
}

.hero .container {
  border-left: none;
}

.topbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:60;
  padding: 8px 0;
  background:rgba(255,255,255,1);
  /*backdrop-filter:blur(14px);*/
  border-bottom: 1px rgba(0, 0, 0, 0.25) solid;
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.topbar-container{
  display:flex;
  flex-direction:row;
  align-items:stretch;
  gap:16px;
}

.topbar-container > .brand{
  display:flex;
  align-items:center;
  flex-shrink:0;
  align-self:stretch;
}

.topbar-content{
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
  min-width:0;
}
.topbar .btn, .topbar .cta-link {
  min-width: 140px;
  font-weight: 800;
}

.topbar .container{
  max-width:100%;
  padding:0 2vw;
  border-left:none;
}

body.hero-preroll-active.hero-preroll-fade .topbar{
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}

/* Show topbar only on hero; hide off-hero */
body:not(.hero-active) .topbar {
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
}

.topbar-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
}

.topbar-content .topbar-row--top{
  justify-content:flex-end;
  gap:16px;
}

.topbar-content .topbar-row--top .nav-social{
  margin-right:16px;
}

.topbar-content .topbar-row--top .button-group{
  flex-shrink:0;
}

.topbar-content .topbar-row--bottom{
  justify-content:flex-end;
  flex-wrap:wrap;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  letter-spacing:.4px;
}

.brand img{
  width:clamp(140px, 16vw, 220px);
  height:auto;
  max-width:100%;
  display:block;
}

.brand-mark{
  width:12px;
  height:12px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(48,47,123,1), rgba(152,39,137,1) 62%, rgba(241,193,124,1));
  box-shadow:0 0 0 6px rgba(48,47,123,.06);
}

.nav{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:var(--font-body-sm);
}

.nav a{
  padding:8px 0 8px 10px;
  border-radius:12px;
}
.nav a:hover{background:rgba(48,47,123,.06);text-decoration:none}

.nav .nav-row--top {
  background-color:rgba(47, 47, 135, 0.15);
  padding: 4px 10px;
  margin-top: -12px;
  margin-bottom: 4px;
}
.nav .nav-row--top a {
  font-size: 0.68rem;
  font-weight: 600;
}
.topbar-row--bottom a{
  font-size:0.85rem;
  font-weight:600;
  text-transform:uppercase;
  padding:8px 12px;
  letter-spacing:0.02em;
  white-space:nowrap;
  border-radius:12px;
  color:var(--muted);
  text-decoration:none;
  transition:background 0.2s ease, color 0.2s ease;
}

.topbar-row--bottom a:hover{
  background:rgba(48,47,123,.06);
  color:var(--ink);
  text-decoration:none;
}

.nav--stacked{
  display:none;
}

.nav-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.nav-row--top{
  justify-content:center;
}

.nav-row--bottom{
  justify-content:center;
}

.nav-social{
  display:flex;
  align-items:center;
  gap:8px;
}

.nav-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid var(--brand);
  transition:background 0.2s ease, border-color 0.2s ease;
}

.nav-social a:hover{
  background:rgba(48,47,123,.06);
  border-color:var(--accent);
}

.nav-social svg{
  width:18px;
  height:18px;
  fill:var(--brand);
}

.btn, .cta-link{
  appearance:none;
  border:1px solid transparent;
  border-radius:14px;
  padding:12px 14px;
  font-weight:700;
  cursor:pointer;
  font-size:0.78rem;
  min-width:180px;
  text-align:center;
  transition:transform .08s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.button-group{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  /*flex: 1 1 100%;*/
}

.button-group--left{
  justify-content:flex-start;
}

.button-group--center{
  justify-content:center;
}

.button-group--right{
  justify-content:flex-end;
}

.button-group--spaced{
  margin-top:18px;
}

.button-group--spaced-lg{
  margin-top:24px;
}

.button-group--spaced-sm{
  margin-top:12px;
}

.button-group--tight{
  margin-top:0;
}

.cta-link-row{
  display:flex;
  margin-top:12px;
}

.cta-inline-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}

.cta-inline-row--left{
  justify-content:flex-start;
}

.cta-link-row--left{
  justify-content:flex-start;
}

.cta-link-row--center{
  justify-content:center;
}

.cta-link{
  align-items:center;
  text-align: center;
 /* gap:6px;
  font-weight:800;
  font-size:14px;
  padding:10px 14px;
  border-radius:14px;*/
  border:1px solid rgba(47,47,135,.35);
  min-width:180px;
  color:#2f2f87;
  background:transparent;
}

.btn:active{transform:translateY(1px)}

.btn-primary{
  background:linear-gradient(135deg, #2f2f87, #2f2f87);
  color:#ffffff;
}

.btn-primary:hover{
  background:linear-gradient(135deg, #2f2f87, #bc167b);
}

.topbar .btn[data-open-lead][data-lead-title="January Offer"]{
  background:linear-gradient(135deg, #f1c17c, #f1c17c);
  color:var(--ink);
}

.topbar .btn[data-open-lead][data-lead-title="January Offer"]:hover{
  background:linear-gradient(135deg, #f1c17c, #e0ad63);
}

.btn-secondary{
  background:rgba(47,47,135,.08);
  border-color:rgba(47,47,135,.25);
  color:var(--ink);
}

.btn-ghost{
  background:transparent;
  border-color:rgba(48,47,123,.42);
  color:rgba(48,47,123,1);
}

.shell /* , body */{
  height:100vh;
  /* position: relative; */
  overflow-y: auto;
  overflow-x: hidden;
  scroll-snap-type:none;
  scroll-behavior:smooth;
  /*padding-bottom: 100vh;*/
}

.section{
  min-height:100vh;
  /* scroll-snap-align:start;*/
  display:flex;
  align-items:flex-start;
  padding:120px 0 64px;
}

.section:not(.hero){
  position:sticky;
  top:var(--stick-top);
  z-index:var(--slide, 0);
  background:#ffffff;
  border-top:1px solid rgba(26,24,61,.10);
  box-shadow:0 -4px 15px rgba(26,24,61,.12);
  min-height:100vh;
  height:auto;
  padding:0;
  align-items:stretch;
}

.section#chapter-7{
  position:relative;
  top:auto;
  padding-bottom: 0;
  z-index:var(--slide, 0);
} 

.section:not(.hero) > .container{
  width:100%;
}

.section:not(.hero) .fade{
  max-height:none;
  overflow:visible;
}

.shell .section:nth-of-type(1){--slide:1}
.shell .section:nth-of-type(2){--slide:2}
.shell .section:nth-of-type(3){--slide:3}
.shell .section:nth-of-type(4){--slide:4}
.shell .section:nth-of-type(5){--slide:5}
.shell .section:nth-of-type(6){--slide:6}
.shell .section:nth-of-type(7){--slide:7}
.shell .section:nth-of-type(8){--slide:8}
.shell .section:nth-of-type(9){--slide:9}
.shell .section:nth-of-type(10){--slide:10}

/* body .section:nth-of-type(1){--slide:1}
body .section:nth-of-type(2){--slide:2}
body .section:nth-of-type(3){--slide:3}
body .section:nth-of-type(4){--slide:4}
body .section:nth-of-type(5){--slide:5}
body .section:nth-of-type(6){--slide:6}
body .section:nth-of-type(7){--slide:7}
body .section:nth-of-type(8){--slide:8}
body .section:nth-of-type(9){--slide:9}
body .section:nth-of-type(10){--slide:10} */

.section.hero{
  position:relative;
  height:100vh;
  padding:0;
  align-items:stretch;
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.05) contrast(1.02);
  pointer-events:none;
}

.hero-shade{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 560px at 30% 40%, rgba(255,255,255,.22), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.38) 48%, rgba(255,255,255,.52));
  pointer-events:none;
}

.hero-intro{
  position:absolute;
  inset:0;
  z-index:3;
  display:none;
  pointer-events:none;
}

body.hero-intro-active .hero-intro{
  display:flex;
}

body.hero-intro-active .hero-video,
body.hero-intro-active .hero-sparks,
body.hero-intro-active .hero-inner{
  opacity:0;
}

body.hero-intro-active .hero-inner{
  pointer-events:none;
}

.hero-intro .hero-intro-container{
  display:flex;
  justify-content:center;
  align-items:center;
}

.hero-intro .box{
  transform-style:preserve-3d;
  animation:heroIntroSpin 7s ease-in-out infinite alternate;
}

.hero-intro .box span{
  text-transform:uppercase;
  line-height:0.76em;
  position:absolute;
  color:#fff;
  font-size:3.5em;
  white-space:nowrap;
  font-weight:bold;
  padding:0px 10px;
  transform-style:preserve-3d;
  transform:translate(-50%, -50%) rotateX(calc(var(--i) * 22.5deg)) translateZ(109px);
}

.hero-intro .box span i{
  font-style:initial;
}

.hero-intro .box span i:nth-child(1){
  color:#5c5fc4;
}

.hero-intro .box span i:nth-child(2){
  color:#c4c15c;
}

@keyframes heroIntroSpin{
  0%{transform:perspective(500px) rotateX(0deg) rotate(5deg)}
  100%{transform:perspective(50px) rotateX(360deg) rotate(5deg)}
}

.hero-sparks{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:4;
}

.hero-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}

.spark{
  position:absolute;
  left:50%;
  top:42%;
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(241,193,124,1);
  box-shadow:0 0 0 5px rgba(241,193,124,.16);
  opacity:0;
  transform:translate(-50%,-50%) scale(.6);
  animation:spark 900ms ease-out forwards;
}

@keyframes spark{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}
  12%{opacity:1}
  100%{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.22)}
}

.hero-inner{
  position:relative;
  z-index:2;
  height:100vh;
  display:flex;
  flex-direction: column;
  justify-content: center;
  max-width: unset;
}

.hero-content{
  width:100vw;
  padding:0;
  margin:0 auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:1;
}

.hero-title{
  width: 60%;
  margin: 0 auto 40px;
  font-size:clamp(44px, 6vw, 92px);
  line-height:1.1;
  letter-spacing:-.02em;
  text-align:center;
  min-height:3.2em;
  position:relative;
  font-family: "Merriweather", serif;
}

.hero-line{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  -webkit-text-stroke: 1px rgba(255,255,255,.32);
  text-shadow:
    0 10px 40px rgba(48,47,123,.18),
    0 2px 16px rgba(152,39,137,.10);
  opacity:0;
  transform:translateY(0);
  transition:opacity 520ms cubic-bezier(0.2, 0.8, 0.2, 1), transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.hero-line[data-hero-active="true"]{opacity:1}

.hero-line[data-hero-active="true"]{
  background: linear-gradient(90deg, var(--ink), var(--brand), var(--ink));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: rgba(26, 24, 61, 0.85);
  background-repeat: no-repeat;
  background-size: 80%;
  animation: heroShine 9s linear 1;
}

.hero-line[data-hero-exit="true"]{
  opacity:0;
  transform:translateY(-14px);
}

 @media (prefers-reduced-motion: reduce){
  .hero-line{
    transition:opacity 520ms ease;
  }
  .hero-line[data-hero-exit="true"]{
    transform:none;
  }
 }

@keyframes heroShine {
  0% {
    background-position-x: -500%;
  }
  100% {
    background-position-x: 500%;
  }
}

.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;justify-content:center}

.section-inner{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  align-items:center;
  padding: 0 40px;
  isolation: isolate;
}

.section:not(.hero) .section-inner{
  padding: 75px 6.5rem 0 5.5rem;
  /*border-bottom: red 2px solid;*/
  min-height: 100vh;
  gap:unset;
}

.section-inner[data-panel-open="false"]{
  grid-template-columns:1fr;
}

.section-inner > .concierge-trigger{
  grid-column:1 / -1 !important;
}

.kicker{
  display:inline-flex;
  align-items:center;
  /*gap:10px; */
  font-size:1rem;
  font-weight: 300;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#302f7b;
}
.kicker > img {
    width: 35px;
    height: 45px;
}

.kicker-line{
  width:36px;
  height:1px;
  background:rgba(26,24,61,.22);
}

.footer{
  padding: 75px 6.5rem;
  border-top:1px solid rgba(48,47,123,.12);
  background:#ffffff;
  position: relative;
  z-index:8;
}

.footer-top{
  display:grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap:24px;
  align-items:start;
  min-height: 200px;
}

.footer-brand img{
  width:clamp(170px, 18vw, 260px);
  height:auto;
  max-width:100%;
  display:block;
}

.footer-heading{
  margin:0;
  font-size:var(--font-body-sm);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(26,24,61,.82);
}

.footer-text, .footer-links {
  margin-top:12px;
  display:grid;
  gap:0;
  color:rgba(26,24,61,.72);
  font-size: 0.8rem;
}

.footer-text a{
  color:inherit;
}

.footer-links a{
  padding:2px 0;
}

.footer-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  height: 100%;
  padding-top: 0;
}

.footer-social{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top: 0;
}

.footer-social-btn{
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(48,47,123,.14);
}

.footer-social-btn svg{
  width:18px;
  height:18px;
  fill:var(--gold);
}

.footer-meta{
  display:grid;
  gap:8px;
  justify-items:end;
  color:rgba(26,24,61,.62);
  font-size:var(--font-body-sm);
}

.footer-logos{
 /* margin-top:34px;
  padding-top:22px;
  border-top:1px solid rgba(48,47,123,.12); */
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

.footer-logos img{
  height:clamp(72px, 6.5vw, 118px);
  width:auto;
  max-width:100%;
  display:block;
  filter:grayscale(0%);
  opacity:.92;
}

.footer img[alt="Sapphire Education"]{
  width:clamp(160px, 18vw, 260px);
  height:auto;
  max-width:100%;
  display:block;
}


.section-inner .title{
  margin: 0 0 0.4rem 0;
  color: #bf9e4f;
}

.title .glow{
  background:linear-gradient(135deg, rgba(48,47,123,1), rgba(152,39,137,1), rgba(241,193,124,1));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 20px 80px rgba(48,47,123,.12);
}

.pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 0;
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 11px;
  border-radius:999px;
  background:rgba(48,47,123,.05);
  border:1px solid rgba(48,47,123,.12);
  color:rgba(26,24,61,.86);
  font-size:var(--font-body-sm);
}

.pill-dot{
  width:22px;
  height:23px;
  background:url("../images/menu-diamond.png") no-repeat center/contain;
  border:0;
  box-shadow:none;
  background-color:transparent;
  opacity:.7;
  transform:translateX(-6px);
  transition:opacity .35s ease, transform .35s ease;
}

.pill:hover .pill-dot,
.pill:focus-within .pill-dot{
  opacity:1;
  transform:translateX(0);
}

.dense-grid{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.trust-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
.step-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
.check-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}

.trust-card,
.check-card{
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(48,47,123,.12);
  background:rgba(255,255,255,.78);
  box-shadow:0 1px 2px rgba(26,24,61,.08), 0 12px 28px rgba(48,47,123,.10);
}

.trust-card strong,
.check-card strong{
  display:block;
  font-size:var(--font-body-sm);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(26,24,61,.78);
  margin-bottom:10px;
}


.step-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(48,47,123,.12);
  background:rgba(48,47,123,.03);
  box-shadow:0 1px 2px rgba(26,24,61,.06), 0 10px 22px rgba(48,47,123,.08);
}

.step-num{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#ffffff;
  background:linear-gradient(135deg, rgba(48,47,123,1), rgba(152,39,137,1));
  box-shadow:0 16px 40px rgba(48,47,123,.18);
}

.step-card strong{display:block;font-weight:900;margin-top:2px}

.checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(241,193,124,1);
  box-shadow:0 0 0 5px rgba(241,193,124,.18);
  transform:translateY(-50%);
}

.panel{
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,1), rgba(247,246,255,1));
  overflow:hidden;
}

.panel-title{display:grid;gap:2px}

.panel-toggle{
  border:1px solid var(--line);
  background:#2f2f87;
  color:#ffffff;
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
  font-weight:800;
  font-size:var(--font-body-sm);
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.panel-toggle:hover{
  background:linear-gradient(135deg, #2f2f87, #bc167b);
  color:#ffffff;
}

/* .js .shell .section aside.panel.fade {
  display:none;
} */

.panel-head{
  padding:14px 16px;
  border-bottom:1px solid rgba(26,24,61,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.panel-head strong{font-size:var(--font-body-sm);letter-spacing:.12em;text-transform:uppercase;color:rgba(26,24,61,.78)}

.panel-body{padding:16px}

html:not(.js) .panel-body[hidden]{
  display:block;
}

.lens-tabs{display:flex;flex-wrap:wrap;gap:10px}

.tab{
  border:1px solid var(--line);
  background:rgba(255,255,255,.85);
  color:rgba(48,47,123,1);
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
  font-weight:800;
  font-size:var(--font-body-sm);
}

.tab[aria-selected="true"]{
  border-color:rgba(241,193,124,.85);
  background:rgba(241,193,124,.35);
}

.lens-copy{margin-top:14px;color:rgba(26,24,61,.76)}

.included{
  margin-top:16px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(48,47,123,.12);
  background:rgba(48,47,123,.03);
}

.included strong{display:block;font-size:var(--font-body-sm);letter-spacing:.18em;text-transform:uppercase;color:rgba(26,24,61,.78);margin-bottom:8px}

.progress{
  position:fixed;
  left:18px;
  top:72px;
  z-index:55;
  width:10px;
  height:calc(100vh - 100px);
  border-radius:999px;
  background:rgba(48,47,123,.05);
  border:1px solid rgba(48,47,123,.12);
  overflow:hidden;
}

body.hero-active .progress{
  display:none;
}

.progress-bar{
  width:100%;
  height:0%;
  background:linear-gradient(180deg, rgba(48,47,123,1), rgba(152,39,137,1), rgba(241,193,124,1));
}

.section[data-tone="1"]{background:#ffffff}
.section[data-tone="2"]{background:#ffffff}
.section[data-tone="3"]{background:#ffffff}


/* Responsive padding for sections */
@media (max-width: 768px) {
  .section-inner {
    padding: 0 20px;
  }

  .footer-top{
    grid-template-columns:1fr;
    gap:18px;
  }

  .footer-right{
    align-items:flex-start;
  }

  .footer-meta{
    justify-items:start;
  }
}

@media (max-width: 480px) {
  .section-inner {
    padding: 0 15px;
  }
}

.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}

.modal-overlay[hidden]{display:none}

.modal-overlay{
  position:fixed;
  inset:0;
  z-index:120;
  background:rgba(48,47,123,.28);
  display:grid;
  place-items:center;
  padding:18px;
}

.modal{
  width:min(840px,100%);
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(48,47,123,.14);
  background:rgba(255,255,255,.98);
  box-shadow:var(--shadow);
  max-height:92vh;
  display:flex;
  flex-direction:column;
}

.modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid rgba(48,47,123,.12);
}

.modal-head h2{margin:0;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:rgba(26,24,61,.82)}

.icon-btn{
  background:transparent;
  color:rgba(48,47,123,1);
  border:1px solid rgba(48,47,123,.16);
  border-radius:14px;
  padding:10px 12px;
  cursor:pointer;
}

.modal-body{padding:16px;overflow:auto}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

label{display:grid;gap:6px;font-weight:800;font-size:var(--font-body-sm);color:rgba(26,24,61,.82)}

input,select,textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(48,47,123,.16);
  background:rgba(48,47,123,.04);
  color:var(--ink);
  outline:none;
}

input:focus,select:focus,textarea:focus{border-color:rgba(48,47,123,.55)}
textarea{min-height:96px;resize:vertical}

.helper{color:rgba(26,24,61,.66);font-size:var(--font-body-sm)}
.lead-offer{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:18px;background:radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 45%),linear-gradient(155deg,#2f2f87,#262f6a 60%,#1e2c5d);box-shadow:0 18px 32px rgba(20,24,58,.22)}
.lead-offer form{display:flex;flex-direction:column;gap:10px}
.lead-intro{margin:0;color:#f4f6ff;font-weight:600;line-height:1.5;font-size:0.95rem}
.lead-title{margin:0;color:#ffffff;font-size:clamp(15px,2.1vw,19px);font-weight:700;line-height:1.4;display:flex;align-items:center;gap:8px}
.lead-note{display:flex;align-items:center;gap:8px}
.lead-icon-inline{width:20px;height:20px;filter:brightness(0) invert(1);opacity:.88;flex-shrink:0}
.lead-offer .helper{color:rgba(239,243,255,.78)}
.lead-offer .helper strong{color:#ffffff}
.lead-offer label{color:rgba(255,255,255,.88);font-size:0.85rem}
.lead-offer input,.lead-offer select,.lead-offer textarea{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.18);color:#ffffff;padding:10px 12px;border-radius:12px}
.lead-offer input::placeholder,.lead-offer textarea::placeholder{color:rgba(236,240,255,.65)}
.lead-offer input:focus,.lead-offer select:focus,.lead-offer textarea:focus{border-color:rgba(255,255,255,.6)}
.lead-offer .btn-primary{box-shadow:0 12px 18px rgba(15,19,56,.24)}
.helper-promo{color:var(--gold);font-weight:700}
.helper-consult-link{color:var(--gold);font-weight:700;text-decoration:none;padding:2px 8px;border-radius:10px;border:1px solid transparent;transition:border-color .16s ease, background .16s ease}
.helper-consult-link:hover,.helper-consult-link:focus-visible{border-color:rgba(56,130,183,.6);background:rgba(56,130,183,.12)}
.helper-typing::after{content:"|";display:inline-block;margin-left:4px;animation:helper-cursor 1s steps(1) infinite}
.helper-typing{white-space:nowrap}
.helper-typing::after{vertical-align:baseline}

@keyframes helper-cursor{
  0%,50%{opacity:1}
  51%,100%{opacity:0}
}
.error{color:#ff6b6b;font-weight:900;margin:0 0 10px}

.step[hidden]{display:none}

.modal-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}

/* Large desktop - more spacing */
@media (min-width: 1400px){
  .topbar-container{
    gap:20px;
  }
  .topbar-content .topbar-row--bottom{
    gap:14px;
  }
  .topbar-content .topbar-row--bottom a{
    font-size:0.9rem;
    padding:8px 14px;
  }
}

/* Small desktop - compact */
@media (max-width: 1199px){
  .topbar-container > .brand img{
    width:clamp(120px, 14vw, 180px);
  }
  .topbar-container{
    gap:12px;
  }
  .topbar-content .topbar-row--bottom{
    gap:8px;
  }
  .topbar-content .topbar-row--bottom a{
    font-size:0.8rem;
    padding:8px 10px;
  }
  .topbar .btn{
    min-width:120px;
    font-size:0.75rem;
    padding:10px 12px;
  }
  :root{
    --topbar-h:88px;
  }
}

/* Section teaser copy - contextual, encouraging */
.section-teaser {
  color: var(--ink-light);
  font-size: 0.95rem;
  line-height: 1.6;
  font-style: italic;
  margin: 16px 0 20px 0;
  max-width: 600px;
}

/* Chapter banner - for Chapter 7 */
.chapter-banner {
  background: linear-gradient(135deg, rgba(48,47,123,0.04), rgba(152,39,137,0.04));
  border-left: 3px solid var(--brand);
  padding: 16px 20px;
  margin: 24px 0;
  border-radius: 4px;
}

.chapter-banner-content {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.chapter-banner-content strong {
  color: var(--ink);
  font-size: 1rem;
  font-weight: 700;
}

.chapter-banner-content span {
  color: var(--ink-light);
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Sincere info banner - premium, not salesy */
.info-banner {
  background: linear-gradient(135deg, rgba(48,47,123,0.03), rgba(152,39,137,0.03));
  border-top: 1px solid rgba(48,47,123,0.1);
  border-bottom: 1px solid rgba(48,47,123,0.1);
  padding: 20px 0;
  margin: 40px 0;
}

.info-banner-content {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  max-width: 800px;
  margin: 0 auto;
}

.info-banner-icon {
  font-size: 24px;
  flex-shrink: 0;
  opacity: 0.8;
}

.info-banner-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.info-banner-text strong {
  color: var(--ink);
  font-size: 1rem;
  font-weight: 700;
}

.info-banner-text span {
  color: var(--ink-light);
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Tablet - switch to hamburger */
@media (max-width: 1023px){
  .topbar{
    display:none;
  }
  .nav-fab{
    display:block;
  }
  :root{
    --topbar-h:64px;
  }
}

@media (max-width: 980px){
  h1{
    font-size:clamp(44px, 6vw, 92px);
    line-height:1.1;
    letter-spacing:-.02em;
  }
  
  .info-banner {
    padding: 16px 0;
    margin: 24px 0;
  }
  
  .info-banner-content {
    gap: 12px;
  }
  
  .info-banner-icon {
    font-size: 20px;
  }
  
  .section-teaser {
    font-size: 0.9rem;
    margin: 12px 0 16px 0;
  }
  
  .chapter-banner {
    padding: 14px 16px;
    margin: 16px 0;
  }
  h2{
    font-size:clamp(28px, 3.6vw, 48px);
    line-height:1.25;
    letter-spacing:-0.02em;
  }
  h3{
    font-size:1.25rem;
    font-weight:900;
    color:var(--brand);
    letter-spacing:-0.02em;
  }
  p,
  li{
    font-size:var(--font-body);
  }
  .section-inner{grid-template-columns:1fr}
  .hero-content{width:100%}
  .hero-title{min-height:3.6em}
  .progress{display:none}
}

@media (max-width: 720px){
  h1{
    font-size:clamp(44px, 6vw, 92px);
    line-height:1.1;
    letter-spacing:-.02em;
  }
  h2{
    font-size:clamp(28px, 3.6vw, 48px);
    line-height:1.25;
    letter-spacing:-0.02em;
  }
  h3{
    font-size:1.25rem;
    font-weight:900;
    color:var(--brand);
    letter-spacing:-0.02em;
  }
  p,
  li{
    font-size:var(--font-body);
  }
  :root{--topbar-h:64px}
  .form-row{grid-template-columns:1fr}
  .topbar-row{padding:12px 0}
  .hero-title{min-height:4.2em}
  .trust-grid{grid-template-columns:1fr}
  .step-grid{grid-template-columns:1fr}
  .check-grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion: reduce){
  .shell{scroll-behavior:auto}
  .fade{transition:none}
  .btn{transition:none}
}
