/* Ben-specific content, using Manatee's shared design system. */
:root { --blue:var(--navy); --blue-deep:var(--navy-deep); --teal:var(--aqua-deep); --blue-900:var(--navy); --blue-700:var(--navy-soft); --blue-500:var(--aqua-deep); --blue-300:var(--aqua-light); --blue-100:var(--aqua-pale); --blue-50:#f0fbfc; --sun-hover:var(--sun); --sun-dark:var(--sun-deep); }
h1,h2,.hero h1,.section-title,.compare-head h3 {text-transform:none;}
.site-header {background:#fff;}
.site-header .brand {order:0;}
.site-header .primary-nav {order:1;}
.site-header .nav-toggle {order:2;}
.contact-form .hp-field {display:none !important;}
@media(min-width:901px) {.mobile-cta,.mobile-cta.show {display:none;}}
.hero-copy { max-width:560px; }
/* Promotional composite: Ben teaching the original hero's swimmer. */
.hero {--hero-photo:url('images/hero-ben-girl-composite.webp');}
.hero h1 { font-family:var(--font-head); }
.hero .lede { max-width:25em; }
.hero .hero-actions { margin-bottom:0; }
.hero-trust { max-width:560px; }
.hero-trust small {font-size:.875rem;}
.site-header .nav-inner {max-width:1320px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.site-header .brand {position:static;transform:none;flex-shrink:0;}
.site-header .brand-mark {width:52px;height:52px;}
.site-header .brand-mark svg {width:100%;height:100%;}
.site-header .brand-text {font-size:2rem;}
.site-header .brand-text small {font-size:.85rem;}
.site-header .primary-nav {position:static;display:flex;align-items:center;gap:20px;width:auto;}
.site-header .nav-cta {white-space:nowrap;}
.contact .contact-inner {display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.contact-form {background:white;padding:32px;border-radius:var(--radius);box-shadow:var(--shadow);}
.contact-form label {color:var(--navy);}
.reviews-block {margin-top:56px;}
.transform-video {cursor:pointer;}
/* Parent proof must remain visible without relying on a scroll animation. */
html.js .video-card, html.js .testi-card {opacity:1;transform:none;}
html.js .transform-card.is-extra:not(.is-shown) {display:none;}
.more-wrap {text-align:center;margin:30px 0;}
.more-btn[hidden] {display:none;}
html:not(.js) .more-wrap {display:none;}
@media(max-width:1100px) and (min-width:901px) {
.site-header .primary-nav {gap:12px;font-size:.875rem;}
.site-header .nav-phone {display:none;}
}
@media(max-width:900px) {
.topbar {display:block;padding:10px 16px;text-align:center;font-size:.875rem;}
.site-header .nav-inner {padding:12px 20px;}
.site-header .primary-nav {position:fixed;display:flex;width:min(360px,88vw);top:0;right:0;bottom:0;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:92px 28px 30px;gap:22px;background:#fff;transform:translateX(110%);visibility:hidden;transition:transform .25s,visibility .25s;z-index:90;overflow-y:auto;}
.site-header .primary-nav.open {transform:translateX(0);visibility:visible;}
.nav-toggle {display:flex;z-index:100;}
.hero-copy {max-width:560px;}
.hero h1 {font-size:clamp(2.6rem,8.5vw,4rem);}
.hero .hero-trust {margin-top:24px;}
.contact .contact-inner {grid-template-columns:1fr;gap:30px;}
.hero-trust li {padding:4px 8px;gap:6px;}
.hero-trust .ic {width:22px;}
}
@media(max-width:420px) {
.hero h1 {font-size:2.7rem;}
.hero-trust {padding:12px 3px;}
.hero-trust li {flex-direction:column;align-items:flex-start;}
.contact-form {padding:24px 18px;}
}

/* Match Manatee's existing wave masks; each edge meets the next section. */
.frustration {--wave-to:#fff;}
.results {--wave-to:var(--aqua-pale);}
.compare, .program, .method {--wave-to:#fff;}
.why {--wave-to:var(--blue-50);}
.contact {--wave-to:#fff8e7;}
.faq {--wave-to:var(--navy);}
main > .wave-sep {border-top:0;border-bottom:0;}
.cred-list {border:0;}
.program-cta {border-left:0;}
.compare-head h3::after {content:none;}
.compare .section-title,
.compare .section-sub,
.compare .eyebrow,
.compare .compare-head h3,
.compare .compare-card li {color:#0a3045;text-shadow:none;}
.compare .compare-bad .compare-head {background:#ffe1dc;}

/* A simple horizontal logo lockup with no extra frosted strip or flourish. */
.site-header::before {content:none;}
.site-header {box-shadow:none;}
.site-header .nav-inner {min-height:88px;height:auto;}
.site-header .brand {flex-direction:row;align-items:center;gap:11px;}
.site-header .brand-mark {width:46px;height:46px;margin:0;padding:0;box-shadow:none;transform:none;border:0;background:none;}
.site-header .brand:hover .brand-mark {transform:none;}
.site-header .brand-mark svg {display:block;}
.site-header .brand-mark rect {fill:var(--navy);}
.site-header .brand-text {align-items:flex-start;text-align:left;font-size:1.8rem;line-height:1;font-weight:800;letter-spacing:-.025em;}
.site-header .brand-text small {font-size:.65rem;line-height:1.35;letter-spacing:.1em;margin-top:4px;}
.footer-brand .brand-mark {width:46px;height:46px;flex:none;}
@media(max-width:900px) {
 .site-header .nav-inner {min-height:78px;padding:10px 20px;}
 .site-header .brand-mark {width:42px;height:42px;}
 .site-header .brand-text {font-size:1.65rem;}
 .site-header .brand-text small {font-size:.6rem;}
 .site-header .primary-nav {left:auto;}
}
