@font-face {
  font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/libre-baskerville-600-italic.woff') format('woff');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/montserrat-400.woff') format('woff');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('assets/fonts/montserrat-500.woff') format('woff');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/montserrat-600.woff') format('woff');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('assets/fonts/montserrat-700.woff') format('woff');
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/sora-600.woff') format('woff');
}

/* Brand system from the approved Sora / Libre Baskerville Figma option. */
:root {
  color-scheme: only light;
  --font-body: 'Montserrat', Arial, Helvetica, sans-serif;
  --font-heading: 'Sora', Arial, Helvetica, sans-serif;
  --font-highlight: 'Libre Baskerville', Georgia, serif;
  --forest: #012e33;
  --deep: #01262a;
  --ink: #012e33;
  --cream: #f3f5f4;
  --white: #f3f5f4;
  --green: #15c27e;
  --middle-green: #64d558;
  --lime: #d2ef23;
  --muted: #536760;
  --line: #d6e0db;
  --brand-gradient: linear-gradient(90deg, var(--green) 0%, var(--middle-green) 50%, var(--lime) 100%);
  --radius: 5px;
}
body {font-family:var(--font-body);font-weight:400;line-height:1.7}
h1,h2,h3,.brand,.booking-brand {font-family:var(--font-heading);font-weight:600;letter-spacing:0}
h1,h2 {line-height:1.25}
em,.serif {font-family:var(--font-highlight);font-style:italic;font-weight:600}
.eyebrow,.partners .eyebrow {font-family:var(--font-body);font-weight:400;text-transform:uppercase;letter-spacing:.12em}
.brand {letter-spacing:.035em}
.brand-symbol {width:46px;height:48px;object-fit:contain}
.hero-centered .hero-copy {max-width:1100px;padding:80px 0 88px}
.hero-centered .eyebrow {margin-bottom:22px;font-size:10px}
.hero-centered h1 {max-width:1100px;font-size:clamp(45px,5.3vw,70px);line-height:1.28;letter-spacing:0;font-weight:600}
.hero-heading-intro,.hero-heading-result {display:block}
.hero-centered h1 em {font-size:1.142857em;line-height:inherit}
.dark-section h1 em,.dark-section h2 em {
  color:var(--lime);
  background-image:var(--brand-gradient);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  padding-right:.08em;
}
.hero-centered h1 em {background-image:linear-gradient(90deg,var(--lime),var(--middle-green) 50%,var(--green))}
.hero-centered .hero-sub {max-width:730px;font-size:16px;line-height:1.8;color:#d7e4dd}
.hero-proof {display:inline-block;max-width:100%;padding:12px 22px;margin-bottom:28px;border:1px solid #64d55855;border-radius:5px;background:#15c27e0a}
.hero-proof p {font-size:11px;font-weight:600;letter-spacing:.055em;color:var(--cream)}
.hero-proof small {display:block;margin-top:4px;font-size:10px;color:#c6d8cf;letter-spacing:0}
.proof-note {font-size:10px;line-height:1.6;color:var(--muted);margin:-10px 0 25px;text-align:center}
.draft-banner {font-family:var(--font-body);background:var(--lime);color:var(--forest)}
.button:not(.button-dark),.button.button-dark {
  font-family:var(--font-heading);
  font-weight:600;
  color:var(--forest);
  background:var(--brand-gradient);
  background-size:150% 100%;
  background-position:0% 50%;
  border:1px solid transparent;
  border-radius:var(--radius);
  animation:cta-color-flow 8s ease-in-out infinite;
  box-shadow:0 8px 25px #012e331c;
}
.button:hover,.button.button-dark:hover {color:var(--forest);background-image:var(--brand-gradient);border-color:#012e3320;box-shadow:0 12px 30px #012e3328}
.button:focus-visible,.button-dark:focus-visible {outline:3px solid var(--forest);outline-offset:5px}
.dark-section .button:focus-visible {outline-color:var(--cream)}
.site-header .button {box-shadow:0 5px 24px #15c27e18}
.hero-centered .button {font-size:15px;min-height:65px;padding:19px 31px;box-shadow:0 10px 35px #15c27e25}
.hero-centered .button:hover {box-shadow:0 12px 42px #64d55835}
.story-copy h2 {font-size:clamp(36px,4.2vw,58px);font-weight:600;line-height:1.3}
.story-copy .section-text {max-width:670px;color:#d7e4dd}
.story-cta>p {font-size:12px;color:#d7e4dd}
.stats-layout {grid-template-columns:.85fr 1.5fr;gap:45px}
.stats article>span {font-family:var(--font-heading);font-weight:600;letter-spacing:-.035em;font-size:clamp(28px,3.2vw,44px)}
.stats p {font-size:11px;line-height:1.7}
.stats small {color:#c1d5ca;font-size:10px;line-height:1.6}
.service h3 {font-size:19px;line-height:1.4;font-weight:600}
.service p {font-size:13px}
.stats-layout h2 {font-size:31px;line-height:1.3}
.why-heading {max-width:780px;margin:0 auto 45px;text-align:center}
.why-heading .eyebrow {justify-content:center}
.why-heading h2 {font-size:clamp(36px,4.3vw,58px)}
.why-heading .section-text {max-width:590px;margin:24px auto 0;color:#d7e4dd}
.switch-table-wrap {max-width:950px;margin-inline:auto;border:1px solid #f3f5f426;border-radius:7px;overflow:hidden}
.switch-table {width:100%;border-collapse:collapse;table-layout:fixed;text-align:left;font-size:14px}
.switch-table th {padding:23px 28px;font-family:var(--font-heading);font-weight:600;font-size:15px;color:#d7e4dd;background:#ffffff04}
.switch-table th:last-child {color:var(--lime);background:#64d5580d}
.switch-table td {padding:21px 28px;border-top:1px solid #f3f5f419;vertical-align:middle;line-height:1.7;color:#c7d8d0;overflow-wrap:break-word}
.switch-table td:last-child {font-weight:500;color:var(--cream);background:#64d5580d;border-left:1px solid #64d55830}
.switch-table td:last-child span {display:inline-block;margin-right:10px;color:var(--lime);font-size:17px}
.comparison-context {max-width:850px;margin:20px auto 0;text-align:center;font-size:11px;color:#c7d8d0;line-height:1.8}
.why-cta,.results-cta {margin-top:35px;text-align:center}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.case-story .case-result-line {font-size:17px;line-height:1.7;color:var(--forest);margin-top:22px}
.case-result-line strong {font-weight:600}
.case-metrics strong {font-family:var(--font-heading);font-weight:600}
.dashboard-card>strong {font-family:var(--font-heading);font-weight:600;font-size:24px}
.review blockquote {font-family:var(--font-highlight);font-weight:600;line-height:1.65}
.process-section h2 {max-width:1000px;font-size:clamp(34px,3.6vw,49px);line-height:1.35}
.process-grid h3 {font-size:21px;line-height:1.35}
.comparison li {align-items:center;gap:16px;min-width:0}
.comparison li>div {min-width:0}
.comparison li small {display:block;font-size:10px;line-height:1.6;margin-top:5px;color:var(--muted)}
.comparison .salary-source {flex-shrink:0;text-align:right;font-weight:600;color:var(--forest);text-decoration:underline;text-decoration-color:#012e3345;text-underline-offset:4px}
.salary-source small {font-weight:400;text-decoration:none}
.comparison-total strong {font-family:var(--font-heading);font-size:34px;font-weight:600;line-height:1.4;letter-spacing:-.025em}
.comparison-total strong>span {font-family:var(--font-body);font-size:12px;letter-spacing:0;display:block;font-weight:400}
#investment>.container>.placeholder-note {font-size:11px;line-height:1.9;max-width:1050px}
.comparison-featured .comparison-total strong {font-size:25px;letter-spacing:0}
.footer-main>p,.footer-main nav {color:#d0ddd5}
.footer-bottom {color:#c3d4cb}
@media(max-width:1100px) {
  .stats-layout {grid-template-columns:1fr;gap:35px}
  .stats-layout h2 {max-width:600px}
  .hero-centered h1 {font-size:clamp(45px,5.6vw,62px)}
  .hero-centered .hero-copy {padding:70px 0 78px}
}
@media(max-width:850px) {
  .brand-symbol {width:40px;height:42px}
  .hero-centered h1 {font-size:clamp(40px,6.4vw,54px)}
  .hero-centered .hero-sub {max-width:620px;font-size:15px}
  .comparison li {gap:12px}
  .comparison-total strong {font-size:29px}
}
@media(max-width:600px) {
  .hero-centered .hero-copy {padding:50px 0 60px}
  .hero-centered .eyebrow {font-size:9px;line-height:1.9;letter-spacing:.05em;margin-bottom:20px}
  .hero-centered h1 {font-size:clamp(29px,8.1vw,44px);line-height:1.35}
  .hero-centered h1 em {font-size:1.09em}
  .hero-proof {padding:11px 14px;margin-bottom:24px}
  .hero-proof p {font-size:9px;letter-spacing:.025em;line-height:1.9}
  .hero-proof small {font-size:9px}
  .hero-centered .hero-sub {font-size:14px;line-height:1.85;margin-top:24px}
  .hero-centered .button-row {flex-direction:column;gap:20px}
  .hero-centered .button {font-size:13px;min-height:58px;padding:17px 24px}
  .story-copy h2 {font-size:clamp(31px,8.3vw,40px);line-height:1.4}
  .story-copy .section-text {font-size:14px;line-height:1.85}
  .story-cta>p {font-size:11px}
  .partners-heading .eyebrow {font-size:8px}
  .proof-note {font-size:9px;margin-top:-7px}
  .stats {grid-template-columns:1fr;gap:22px}
  .stats article {padding:0 0 0 18px}
  .stats article>span {font-size:38px}
  .stats p {font-size:12px;margin-top:9px}
  .stats small {font-size:10px}
  .stats-layout h2 {font-size:30px}
  .service h3 {font-size:17px;line-height:1.45}
  .why-heading {margin-bottom:30px}
  .why-heading h2 {font-size:clamp(30px,8vw,39px);line-height:1.4}
  .switch-table {font-size:12px}
  .switch-table th {padding:18px 13px;font-size:12px;line-height:1.6}
  .switch-table td {padding:17px 13px}
  .switch-table td:last-child span {margin-right:5px;font-size:13px}
  .comparison-context {font-size:10px;text-align:left}
  .process-section h2 {font-size:clamp(29px,7.4vw,36px);line-height:1.4}
  .process-grid h3 {font-size:19px}
  .comparison li {font-size:12px}
  .comparison li small {font-size:9px}
  .comparison-total strong {font-size:31px}
  .comparison-featured .comparison-total strong {font-size:23px}
  .dashboard-card>strong {font-size:21px}
  .case-story .case-result-line {font-size:15px}
  .review blockquote {font-size:21px}
  .booking-layout h2 {font-size:clamp(31px,8.3vw,42px);line-height:1.4}
  .button {font-size:12px}
  .footer-main {grid-template-columns:1fr}
  .footer-main nav {grid-column:auto}
}
@media(prefers-reduced-motion:reduce) {
  .button:not(.button-dark),.button.button-dark {animation:none!important;background-size:100% 100%}
}
@media(forced-colors:active) {
  .dark-section h1 em,.dark-section h2 em {-webkit-text-fill-color:currentColor;background:none;color:CanvasText}
}
