*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
:root{
  --navy:#28316E;
  --navy-deep:#1C2333;
  --gold:#EFB017;
  --red:#B8341B;
  --ink:#1C2333;
  --soft:#F5F6F9;
  --white:#FFFFFF;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,sans-serif;
  --wrap:1240px;
}
body{
  margin:0;font-family:var(--sans);color:var(--ink);
  background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0;color:var(--navy)}
p{margin:0 0 1rem;overflow-wrap:break-word}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(18px,5vw,48px);width:100%}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-weight:600;font-size:.95rem;
  padding:.85rem 1.6rem;border-radius:2px;border:2px solid transparent;
  cursor:pointer;transition:transform .2s,background .2s,color .2s,box-shadow .2s;
  letter-spacing:.01em;line-height:1;text-align:center;
}
.btn-lg{padding:1.05rem 2.2rem;font-size:1.05rem}
.btn-block{width:100%}
.btn-gold{background:var(--gold);color:var(--navy-deep)}
.btn-gold:hover{background:#d99e0a;transform:translateY(-2px);box-shadow:0 8px 20px rgba(239,176,23,.35)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#1f2757;transform:translateY(-2px);box-shadow:0 8px 20px rgba(40,49,110,.3)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.btn-ghost-navy{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost-navy:hover{background:var(--navy);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(40,49,110,.25)}

.eyebrow{
  display:inline-block;font-family:var(--sans);font-weight:600;
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.6rem;
}
.split-navy .eyebrow,.conversion-band .eyebrow{color:var(--gold)}

/* Sunburst decorative mark */
.sunburst-mark{
  display:block;width:42px;height:42px;margin-bottom:1.2rem;
  background:radial-gradient(circle,var(--gold) 30%,transparent 32%);
  position:relative;
}
.sunburst-mark::before{
  content:"";position:absolute;inset:-8px;border-radius:50%;
  background:conic-gradient(from 0deg,var(--gold) 0 4deg,transparent 4deg 22deg,var(--gold) 22deg 26deg,transparent 26deg 44deg,var(--gold) 44deg 48deg,transparent 48deg 66deg,var(--gold) 66deg 70deg,transparent 70deg 88deg,var(--gold) 88deg 92deg,transparent 92deg 110deg,var(--gold) 110deg 114deg,transparent 114deg 132deg,var(--gold) 132deg 136deg,transparent 136deg 154deg,var(--gold) 154deg 158deg,transparent 158deg 176deg,var(--gold) 176deg 180deg,transparent 180deg 198deg,var(--gold) 198deg 202deg,transparent 202deg 220deg,var(--gold) 220deg 224deg,transparent 224deg 242deg,var(--gold) 242deg 246deg,transparent 246deg 264deg,var(--gold) 264deg 268deg,transparent 268deg 286deg,var(--gold) 286deg 290deg,transparent 290deg 308deg,var(--gold) 308deg 312deg,transparent 312deg 330deg,var(--gold) 330deg 334deg,transparent 334deg 352deg,var(--gold) 352deg 356deg,transparent 356deg 360deg);
  -webkit-mask:radial-gradient(circle,transparent 42%,#000 44%);
          mask:radial-gradient(circle,transparent 42%,#000 44%);
}

/* Utility bar */
.utility{background:var(--navy-deep);color:#c8d2dc;font-size:.82rem}
.utility-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;flex-wrap:wrap}
.utility-contact a{color:#c8d2dc;transition:color .2s}
.utility-contact a:hover{color:#fff}
.utility-contact .sep{margin:0 .6rem;color:#5a6480}
.utility-social{display:flex;gap:.8rem}
.utility-social a{color:#c8d2dc;transition:color .2s}
.utility-social a:hover{color:var(--gold)}

/* Header */
.header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 rgba(28,35,51,.08);transition:box-shadow .3s}
.header.scrolled{box-shadow:0 6px 24px rgba(28,35,51,.12)}
.header-inner{display:flex;align-items:center;gap:1.5rem;padding:1rem 0;transition:padding .3s}
.header.scrolled .header-inner{padding:.6rem 0}
.logo img{height:38px;width:auto;transition:height .3s}
.header.scrolled .logo img{height:32px}
.nav{margin-left:auto}
.nav-list{list-style:none;display:flex;gap:1.4rem;margin:0;padding:0;align-items:center}
.nav-list>li>a{
  font-size:.92rem;font-weight:500;color:var(--navy-deep);
  padding:.5rem 0;position:relative;display:inline-flex;align-items:center;gap:.25rem;transition:color .2s;
}
.nav-list>li>a::after{content:"";position:absolute;left:0;bottom:.15rem;height:2px;width:0;background:var(--gold);transition:width .25s}
.nav-list>li>a:hover::after,.nav-list>li>a.active::after{width:100%}
.nav-list>li>a.active{color:var(--navy)}
.caret{font-size:.7rem;color:var(--gold)}
.has-sub{position:relative}
.sub{
  list-style:none;margin:0;padding:.5rem 0;position:absolute;top:100%;left:0;
  min-width:230px;background:#fff;box-shadow:0 12px 32px rgba(28,35,51,.16);
  border-top:3px solid var(--gold);border-radius:0 0 4px 4px;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:5;
}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0)}
.sub li a{display:block;padding:.55rem 1.2rem;font-size:.88rem;color:var(--navy-deep);transition:.2s}
.sub li a:hover{background:var(--soft);color:var(--navy)}
.header-actions{display:flex;align-items:center;gap:.8rem}
.icon-btn{background:none;border:none;cursor:pointer;color:var(--navy);padding:.3rem;display:inline-flex;align-items:center}
.menu-toggle{display:none;flex-direction:column;gap:5px;width:32px}
.menu-toggle span{display:block;height:2px;width:24px;background:var(--navy);transition:.3s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.search-panel{background:var(--soft);border-top:1px solid #e3e6ee;padding:1rem 0}
.search-panel form{display:flex;gap:.6rem;max-width:520px}
.search-panel input{flex:1;min-width:0;padding:.75rem 1rem;border:1px solid #c4cade;border-radius:2px;font-family:var(--sans);font-size:.95rem}

/* Mobile menu */
.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(340px,85vw);background:var(--navy);color:#fff;z-index:200;padding:5.5rem 1.6rem 2rem;overflow-y:auto;box-shadow:-8px 0 30px rgba(0,0,0,.3)}
.mobile-menu ul{list-style:none;margin:0;padding:0}
.mobile-menu>nav>ul>li{border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-menu a{display:block;color:#fff;padding:.85rem 0;font-weight:500}
.mobile-menu .m-sub ul{padding-left:1rem;margin-bottom:.5rem}
.mobile-menu .m-sub ul a{font-size:.88rem;color:#c8d2dc;padding:.5rem 0}
.mobile-menu .btn{margin-top:1.5rem}

/* Hero */
.hero{background:var(--soft);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:0;left:0;width:45%;height:100%;background:#fff;z-index:0}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding:clamp(3rem,6vw,5.5rem) 0;position:relative;z-index:1}
.hero-copy{min-width:0}
.hero-copy h1{font-size:clamp(2.1rem,4.4vw,3.3rem);letter-spacing:-.01em}
.hero-sub{font-size:clamp(1.05rem,1.6vw,1.2rem);color:#414a63;margin:1.4rem 0 2rem;max-width:34ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem}
.hero-trust{margin-top:2rem;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;color:#5a6480}
.hero-trust strong{color:var(--navy)}
.hero-media{position:relative;min-width:0}
.hero-media img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 38%;border-radius:6px;box-shadow:0 30px 60px rgba(28,35,51,.28)}
.hero-card{
  position:absolute;bottom:-24px;left:-24px;background:var(--navy);color:#fff;
  padding:1.3rem 1.5rem;border-radius:6px;max-width:230px;
  box-shadow:0 18px 40px rgba(28,35,51,.35);border-left:4px solid var(--gold);
}
.hero-card-num{display:block;font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--gold);line-height:1}
.hero-card-label{display:block;font-size:.82rem;margin-top:.4rem;color:#d6dbec}

/* Testimonial */
.testimonial-section{padding:clamp(3.5rem,6vw,5.5rem) 0;background:#fff}
.testimonial{margin:0;position:relative;max-width:900px;margin-inline:auto;padding-left:clamp(2rem,6vw,4rem)}
.quote-mark{position:absolute;left:0;top:-1.5rem;font-family:var(--serif);font-size:6rem;color:var(--gold);line-height:1}
.testimonial blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.4;color:var(--navy);font-weight:500}
.testimonial figcaption{margin-top:1.5rem;display:flex;flex-direction:column;gap:.15rem}
.testimonial figcaption strong{color:var(--navy-deep);font-size:1.05rem}
.testimonial figcaption span{color:#5a6480;font-size:.92rem}

/* Mission */
.mission-section{background:var(--navy);color:#fff;padding:clamp(3rem,5vw,4.5rem) 0;position:relative;overflow:hidden}
.mission-section::before{
  content:"";position:absolute;top:50%;right:-90px;transform:translateY(-50%);
  width:340px;height:340px;border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg,rgba(239,176,23,.18) 0 3deg,transparent 3deg 15deg,rgba(239,176,23,.18) 15deg 18deg,transparent 18deg 30deg,rgba(239,176,23,.18) 30deg 33deg,transparent 33deg 45deg,rgba(239,176,23,.18) 45deg 48deg,transparent 48deg 60deg,rgba(239,176,23,.18) 60deg 63deg,transparent 63deg 75deg,rgba(239,176,23,.18) 75deg 78deg,transparent 78deg 90deg,rgba(239,176,23,.18) 90deg 93deg,transparent 93deg 105deg,rgba(239,176,23,.18) 105deg 108deg,transparent 108deg 120deg,rgba(239,176,23,.18) 120deg 123deg,transparent 123deg 135deg,rgba(239,176,23,.18) 135deg 138deg,transparent 138deg 150deg,rgba(239,176,23,.18) 150deg 153deg,transparent 153deg 165deg,rgba(239,176,23,.18) 165deg 168deg,transparent 168deg 180deg,rgba(239,176,23,.18) 180deg 183deg,transparent 183deg 195deg,rgba(239,176,23,.18) 195deg 198deg,transparent 198deg 210deg,rgba(239,176,23,.18) 210deg 213deg,transparent 213deg 225deg,rgba(239,176,23,.18) 225deg 228deg,transparent 228deg 240deg,rgba(239,176,23,.18) 240deg 243deg,transparent 243deg 255deg,rgba(239,176,23,.18) 255deg 258deg,transparent 258deg 270deg,rgba(239,176,23,.18) 270deg 273deg,transparent 273deg 285deg,rgba(239,176,23,.18) 285deg 288deg,transparent 288deg 300deg,rgba(239,176,23,.18) 300deg 303deg,transparent 303deg 315deg,rgba(239,176,23,.18) 315deg 318deg,transparent 318deg 330deg,rgba(239,176,23,.18) 330deg 333deg,transparent 333deg 345deg,rgba(239,176,23,.18) 345deg 348deg,transparent 348deg 360deg);
  -webkit-mask:radial-gradient(circle,transparent 30%,#000 32%);mask:radial-gradient(circle,transparent 30%,#000 32%);
}
.mission{margin:0;text-align:center;font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.35;color:#fff;max-width:22ch;margin-inline:auto;font-weight:500;position:relative;z-index:1}

/* Problems */
.problems-section{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--soft)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:3rem;flex-wrap:wrap}
.section-head h2{font-size:clamp(2rem,4vw,2.9rem)}
.section-head-cta{display:flex;gap:.8rem;flex-wrap:wrap}
.problems-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.problem-card{
  background:#fff;padding:2rem 1.8rem;border-radius:6px;
  box-shadow:0 4px 20px rgba(28,35,51,.06);border-top:3px solid transparent;
  transition:transform .25s,box-shadow .25s,border-color .25s;min-width:0;
}
.problem-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(28,35,51,.14);border-top-color:var(--gold)}
.p-icon{display:inline-flex;color:var(--gold);margin-bottom:1.2rem;background:rgba(40,49,110,.05);padding:.7rem;border-radius:8px}
.problem-card h3{font-size:1.25rem;color:var(--navy);margin-bottom:.6rem}
.problem-card h3 span{display:block;font-size:.95rem;color:#5a6480;font-weight:500;font-family:var(--sans)}
.problem-card p{margin:0;color:#414a63;font-size:.95rem}

/* Quote bands */
.quote-band{padding:clamp(4rem,8vw,6.5rem) 0;text-align:center}
.quote-band blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:1.32;font-weight:500;max-width:24ch;margin-inline:auto}
.quote-band cite{display:block;margin-top:1rem;font-style:normal;font-family:var(--sans);font-weight:600;font-size:1rem;letter-spacing:.03em}
.quote-band-image{color:#fff;background-size:cover;background-position:center;position:relative}
.quote-band-image cite{color:var(--gold)}
.quote-book{display:inline-block;margin-top:1.8rem;color:var(--gold);font-weight:600;font-size:.95rem;transition:.2s}
.quote-book:hover{color:#fff}
.quote-band-soft{background:var(--soft);color:var(--navy)}
.quote-band-soft cite{color:var(--red)}
.quote-band-navy{background:var(--navy);color:#fff}
.quote-band-navy cite{color:var(--gold)}

/* Split sections */
.split-section{padding:clamp(3.5rem,7vw,6rem) 0;background:#fff}
.split-navy{background:var(--navy);color:#fff}
.split-navy h2{color:#fff}
.split-navy p{color:#d6dbec}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.split-media{min-width:0}
.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;box-shadow:0 24px 50px rgba(28,35,51,.2)}
.split-navy .split-media img{box-shadow:0 24px 50px rgba(0,0,0,.35)}
.split-copy{min-width:0}
.split-copy h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-bottom:1rem}
.split-copy p{font-size:1.05rem;max-width:44ch;margin-bottom:1.8rem}

/* FALC */
.falc-section{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--soft)}
.falc-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.falc-mark{background:#fff;border-radius:8px;padding:2.5rem;box-shadow:0 20px 50px rgba(28,35,51,.1);display:flex;justify-content:center;min-width:0}
.falc-mark img{max-width:320px;width:100%}
.falc-copy{min-width:0}
.falc-copy h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:1rem}
.falc-intro{font-weight:600;color:var(--navy);margin-bottom:1.4rem}
.falc-list{list-style:none;margin:0 0 2rem;padding:0}
.falc-list li{position:relative;padding-left:2rem;margin-bottom:1.1rem;color:#414a63;font-size:1rem}
.falc-list li::before{content:"";position:absolute;left:0;top:.45rem;width:12px;height:12px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 4px rgba(239,176,23,.2)}

/* Press */
.press-section{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--navy);color:#fff}
.press-section h2{color:#fff}
.press-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.press-copy{min-width:0}
.press-copy h2{font-size:clamp(1.9rem,3.8vw,2.8rem);margin-bottom:1rem}
.press-copy p{color:#d6dbec;font-size:1.1rem;margin-bottom:1.8rem}
.press-media{min-width:0}
.press-media img{width:100%;border-radius:6px;box-shadow:0 24px 50px rgba(0,0,0,.35)}

/* Conversion band */
.conversion-band{background:var(--gold);color:var(--navy-deep);padding:clamp(4rem,7vw,6rem) 0;text-align:center}
.conversion-inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.conversion-band h2{font-size:clamp(2.1rem,4.5vw,3.2rem);color:var(--navy-deep)}
.conversion-band p{font-size:1.15rem;margin:1rem 0 2rem;color:#4a3d10}
.sunburst-mark.light{margin-bottom:1.5rem}

/* Newsletter */
.newsletter-section{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--soft)}
.newsletter-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.newsletter-copy{min-width:0}
.newsletter-copy h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:1rem}
.newsletter-copy p{color:#414a63;font-size:1.05rem;max-width:48ch}
.micro-benefit{color:var(--navy);font-weight:600;display:flex;align-items:center;gap:.5rem}
.micro-benefit span{color:var(--gold);font-size:1.2rem}
.newsletter-form-wrap{background:#fff;padding:clamp(1.8rem,3vw,2.6rem);border-radius:8px;box-shadow:0 20px 50px rgba(28,35,51,.1);border-top:4px solid var(--gold);min-width:0}
.field{margin-bottom:1.2rem}
.field label{display:block;font-weight:600;font-size:.9rem;color:var(--navy);margin-bottom:.4rem}
.field input{width:100%;padding:.85rem 1rem;border:1px solid #c4cade;border-radius:3px;font-family:var(--sans);font-size:1rem;background:var(--soft)}
.field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(239,176,23,.3);background:#fff}

/* Focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,.btn:focus-visible{
  outline:3px solid var(--gold);outline-offset:2px;
}

/* Footer */
.footer{background:var(--navy-deep);color:#c8d2dc}
.footer-prompt{background:var(--navy)}
.footer-prompt-inner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.6rem 0;flex-wrap:wrap}
.footer-prompt p{margin:0;font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.4rem);color:#fff}
.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;padding:3rem 0 2rem;align-items:start}
.footer-brand img{max-width:150px;background:#fff;padding:.8rem;border-radius:4px}
.footer-contact{display:flex;flex-direction:column;gap:.5rem}
.footer-contact a{color:#c8d2dc;transition:color .2s}
.footer-contact a:hover{color:var(--gold)}
.footer-social{display:flex;gap:.8rem;margin-top:.5rem}
.footer-social a{color:#c8d2dc;transition:color .2s}
.footer-social a:hover{color:var(--gold)}
.footer-links{display:flex;flex-direction:column;gap:.5rem}
.footer-links a{color:#c8d2dc;transition:color .2s}
.footer-links a:hover{color:var(--gold)}
.footer-copy{border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0;font-size:.85rem;color:#8f98b3}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Responsive */
@media (max-width:960px){
  .nav,.book-btn,.search-toggle{display:none}
  .menu-toggle{display:flex}
  .header-actions{margin-left:auto}
  .problems-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:840px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero::before{display:none}
  .hero-media{order:-1}
  .hero-card{left:16px;bottom:-20px;max-width:200px}
  .split-grid,.falc-grid,.press-grid,.newsletter-grid{grid-template-columns:1fr}
  .split-reverse .split-copy{order:1}
  .split-reverse .split-media{order:2}
  .press-media{order:-1}
  .falc-mark{order:-1}
  .section-head{align-items:flex-start}
}
@media (max-width:560px){
  .problems-grid{grid-template-columns:1fr}
  .utility{font-size:.76rem}
  .utility-inner{justify-content:center;text-align:center;gap:.4rem .6rem}
  .utility-contact .sep{display:inline}
  .footer-main{grid-template-columns:1fr;gap:1.6rem}
  .footer-prompt-inner{flex-direction:column;align-items:flex-start}
  .hero-copy h1{font-size:1.9rem}
  .hero-copy .sunburst-mark{margin-bottom:.8rem}
  .btn{width:100%;justify-content:center}
  .hero-cta,.section-head-cta{flex-direction:column;align-items:stretch}
  .search-panel form{flex-direction:column}
  .search-panel .btn{width:100%}
  .mission-section::before{width:220px;height:220px;right:-70px}
}