:root {
  color-scheme: light;
  --paper: #f5f4ed;
  --white: #fffefa;
  --ink: #20271f;
  --muted: #6c7168;
  --green: #314b38;
  --green-deep: #24372b;
  --lime: #d3e56c;
  --orange: #e58b57;
  --line: #dedfd3;
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Trebuchet MS", Arial, sans-serif;
  --mono: "Courier New", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 85px; }
html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto !important; }
html.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
html.lenis.lenis-stopped { overflow: hidden; }
html.lenis.lenis-smooth iframe { pointer-events: none; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.section-wrap { width: min(1180px, calc(100% - 88px)); margin-inline: auto; }
.section-pad { padding-block: 112px; }
.site-header { height: 82px; padding-inline: max(44px, calc((100% - 1180px) / 2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(32,39,31,.1); background: rgba(245,244,237,.94); position: sticky; inset-block-start: 0; z-index: 20; backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 700; letter-spacing: -.8px; }
.brand-light { font-weight: 400; color: #777d71; }
.brand-mark { width: 31px; height: 31px; display: grid; place-items: center; color: var(--paper); background: var(--green); border-radius: 50%; font: italic 600 22px var(--serif); }
.site-nav { display: flex; align-items: center; gap: 38px; font-size: 12px; font-weight: 500; }
.site-nav > a:not(.nav-cta) { color: #555b52; transition: color .2s ease; }
.site-nav > a:not(.nav-cta):hover { color: var(--green); }
.nav-cta { padding: 12px 16px; border: 1px solid #c6cabe; border-radius: 3px; }
.nav-cta span { padding-left: 9px; }
.motion-toggle {
    display: none;
    padding: 10px 12px;
    border: 1px solid #c6cabe;
    border-radius: 3px;
    color: #374b3a;
    background: transparent;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}
.motion-toggle:hover, .motion-toggle[aria-pressed="true"] { border-color: #9eac92; background: rgba(255,255,255,.55); }
.menu-toggle { display: none; }
.hero { position: relative; min-height: 642px; display: grid; grid-template-columns: 48% 52%; align-items: center; padding-top: 24px; padding-bottom: 57px; }
.hero-copy { position: relative; z-index: 2; padding-bottom: 14px; }
.eyebrow { margin: 0 0 22px; color: #71776b; font: 10px var(--mono); letter-spacing: .11em; text-transform: uppercase; }
.eyebrow-dot { width: 7px; height: 7px; display: inline-block; margin-right: 8px; border-radius: 100%; background: #d28a54; vertical-align: 1px; }
h1, h2, h3, p { margin-top: 0; }
.hero h1 { margin-bottom: 23px; font-size: clamp(58px, 7vw, 91px); line-height: .96; letter-spacing: -.075em; font-weight: 500; }
h1 em, h2 em { color: var(--green); font-family: var(--serif); font-weight: 500; letter-spacing: -.055em; }
.hero-intro { max-width: 430px; margin-bottom: 29px; color: #686e63; font-size: 14px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; gap: 26px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 21px; min-height: 48px; padding: 0 20px; border: 1px solid transparent; border-radius: 2px; font-size: 11px; font-weight: 600; cursor: pointer; transition: transform .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { color: white; background: var(--green); }
.button-dark:hover { background: var(--green-deep); }
.text-link { font-size: 11px; font-weight: 600; }
.text-link span { margin-left: 6px; color: var(--green); }
.hero-note { display: flex; align-items: center; gap: 12px; margin-top: 50px; color: #777d71; }
.note-icon { color: #d08b52; font-size: 22px; }
.hero-note p { margin: 0; font-size: 10px; line-height: 1.7; }
.hero-note strong { color: var(--ink); font-weight: 600; }
.hero-art { position: relative; height: 500px; overflow: hidden; background: #e2e8d6; isolation: isolate; }
.art-sun { position: absolute; top: 54px; right: 68px; width: 135px; aspect-ratio: 1; background: #efb16e; border-radius: 50%; }
.art-hill { position: absolute; bottom: -108px; width: 125%; height: 300px; border-radius: 50% 50% 0 0; }
.art-hill-back { left: -18%; bottom: -65px; background: #a7ba9b; transform: rotate(-12deg); }
.art-hill-front { right: -20%; bottom: -129px; height: 315px; background: #60795e; transform: rotate(12deg); }
.art-house { position: absolute; bottom: 60px; left: 18%; width: 51%; height: 236px; }
.house-wall { position: absolute; z-index: 1; bottom: 0; right: 0; width: 77%; height: 155px; background: #f4edcf; box-shadow: 8px 11px 22px rgba(40,57,43,.12); }
.house-roof { position: absolute; z-index: 2; top: 27px; right: -2%; width: 84%; height: 100px; background: #53694f; clip-path: polygon(0 100%, 50% 0, 100% 100%); }
.house-window { position: absolute; top: 37px; width: 37px; height: 49px; background: #8fb0a4; border: 4px solid #dbdbbe; }
.window-one { left: 25px; }.window-two { right: 26px; }
.house-door { position: absolute; bottom: 0; left: 95px; width: 35px; height: 76px; background: #af805b; }
.solar-array { position: absolute; z-index: 3; left: -17px; top: 95px; width: 155px; height: 61px; display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(3, 1fr); transform: rotate(-13deg); border: 3px solid #dfe4da; background: #30475a; box-shadow: 0 7px 10px #50694d55; }
.solar-array i { border-right: 1px solid #8da1a7; border-bottom: 1px solid #8da1a7; background: linear-gradient(135deg,#405a68,#2e4352); }
.art-stamp { position: absolute; top: 32px; left: 27px; width: 105px; height: 105px; padding: 13px; display: flex; flex-direction: column; justify-content: space-between; color: var(--green-deep); border: 1px solid #76866c; border-radius: 50%; transform: rotate(-12deg); }
.art-stamp span { font: 8px var(--mono); letter-spacing: .12em; }
.art-stamp strong { font: 10px/1.1 var(--mono); letter-spacing: .05em; }
.art-stamp i { position: absolute; right: 10px; bottom: 11px; color: #d28a54; font-style: normal; font-size: 15px; }
.art-caption { position: absolute; right: 20px; bottom: 15px; color: white; font: 9px var(--mono); letter-spacing: .06em; }
.scroll-hint { position: absolute; bottom: 19px; left: 0; display: flex; align-items: center; gap: 11px; color: #888d82; font: 9px var(--mono); letter-spacing: .12em; }
.scroll-hint span { width: 22px; height: 1px; background: var(--green); }
.intro-strip { color: var(--paper); background: var(--green); }
.strip-inner { min-height: 108px; display: flex; align-items: center; }
.strip-star { margin-right: 26px; color: var(--lime); font-size: 32px; }
.strip-inner p { margin: 0; font: 25px var(--serif); }
.strip-inner p em { color: var(--lime); }
.strip-caption { margin-left: auto; color: #d0d5c9; font: 9px var(--mono); letter-spacing: .09em; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 51px; }
.section-heading .eyebrow { margin-bottom: 19px; }
h2 { margin-bottom: 0; font-size: clamp(42px, 5vw, 59px); line-height: 1.05; letter-spacing: -.065em; font-weight: 500; }
.heading-aside { max-width: 340px; margin: 0 0 5px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.bundle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bundle-card { position: relative; min-height: 390px; padding: 25px 27px 22px; overflow: hidden; background: #eeeee5; }
.bundle-featured { background: #e4e9d8; }
.bundle-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 34px; }
.bundle-number, .bundle-type { color: #7d8277; font: 9px var(--mono); letter-spacing: .12em; }
.bundle-icon { width: 37px; height: 37px; display: grid; place-items: center; color: var(--green); border: 1px solid #c4cbb9; border-radius: 50%; font: 21px var(--serif); }
.icon-sun { font-size: 18px; }.icon-work { font: 20px var(--sans); }
.bundle-type { margin-bottom: 13px; }
.bundle-card h3 { margin-bottom: 14px; font-size: 26px; line-height: 1.05; font-weight: 500; letter-spacing: -.045em; }
.bundle-desc { max-width: 255px; min-height: 62px; margin-bottom: 21px; color: #70766b; font-size: 11px; line-height: 1.7; }
.bundle-spec { padding-top: 12px; border-top: 1px solid #d5d7cb; }
.bundle-spec > span { display: block; margin-bottom: 7px; color: #8b8e82; font: 8px var(--mono); letter-spacing: .1em; }
.bundle-spec strong { font-size: 16px; font-weight: 600; }
.bundle-spec i { color: #73796e; font-size: 10px; font-style: normal; font-weight: 400; }
.bundle-link { position: absolute; right: 26px; bottom: 22px; left: 27px; padding-top: 13px; border-top: 1px solid #d5d7cb; font-size: 10px; font-weight: 600; }
.bundle-link span { float: right; color: var(--green); }
.card-scribble { position: absolute; top: 102px; right: 15px; color: #77845e; font: 9px/1.3 var(--mono); transform: rotate(9deg); }
.bundle-disclaimer { margin: 20px 0 0; color: #85897e; font-size: 10px; line-height: 1.6; }
.match-section { padding-block: 94px; color: var(--paper); background: var(--green-deep); }
.match-inner { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 78px; }
.eyebrow-light { color: #c5cfb8; }
.match-copy h2 { margin-bottom: 20px; font-size: 53px; }
.match-copy h2 em { color: var(--lime); }
.match-copy > p:not(.eyebrow) { max-width: 350px; margin-bottom: 25px; color: #cad0c4; font-size: 12px; line-height: 1.85; }
.match-aside { color: #d6dbcd; font: 9px var(--mono); }
.match-aside span { margin-right: 8px; color: var(--lime); font-size: 17px; vertical-align: -2px; }
.quiz-card { min-height: 352px; padding: 25px 28px 19px; color: var(--ink); background: var(--white); }
.quiz-progress { display: flex; justify-content: space-between; color: #7b8075; font: 9px var(--mono); letter-spacing: .1em; }
.quiz-step-count { color: #8b9086; }
.progress-track { height: 2px; margin-top: 13px; background: #e8e9df; }
.progress-fill { width: 33.333%; height: 100%; display: block; background: #788e5b; transition: width .25s ease; }
.quiz-content { min-height: 237px; padding-top: 24px; }
.quiz-question { margin-bottom: 6px; font-size: 21px; letter-spacing: -.04em; font-weight: 500; }
.quiz-subtitle { margin-bottom: 16px; color: #7a7f75; font-size: 10px; }
.quiz-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.quiz-option { min-height: 49px; padding: 10px 12px; text-align: left; color: #565d53; border: 1px solid #e1e3d9; background: #fff; cursor: pointer; font-size: 10px; transition: border .15s, background .15s; }
.quiz-option:hover, .quiz-option.selected { color: var(--green-deep); border-color: #83916f; background: #f1f3ea; }
.quiz-option span { float: right; color: #90978b; }
.quiz-footer { display: flex; align-items: center; min-height: 42px; border-top: 1px solid #e6e7de; }
.quiz-hint { flex: 1; color: #8b8f85; font: 8px var(--mono); letter-spacing: .08em; }
.quiz-next { min-height: 37px; padding-inline: 14px; font-size: 9px; }
.quiz-next:disabled { opacity: .43; cursor: not-allowed; transform: none; }
.quiz-back { margin-right: 17px; padding: 7px 0; border: 0; color: #646a60; background: none; cursor: pointer; font-size: 10px; }
.quiz-result { padding-top: 3px; }
.result-tag { margin-bottom: 7px; color: #798563; font: 8px var(--mono); letter-spacing: .1em; }
.quiz-result h3 { margin: 0 0 7px; font-size: 25px; font-weight: 500; letter-spacing: -.04em; }
.quiz-result p { max-width: 410px; margin-bottom: 10px; color: #70766b; font-size: 10px; line-height: 1.65; }
.result-range { margin-bottom: 14px; font: 11px var(--mono); }
.quiz-result a { display: inline-flex; gap: 10px; padding: 10px 13px; color: white; background: var(--green); font-size: 9px; font-weight: 600; }
.result-disclaimer { display: block; margin-top: 9px; color: #90948a; font-size: 8px; }
.approach .section-heading { margin-bottom: 57px; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 47px; }
.step { position: relative; min-height: 190px; padding-top: 19px; border-top: 1px solid #d8dace; }
.step > span { position: absolute; top: 20px; right: 0; color: #92978d; font: 9px var(--mono); }
.step-icon { width: 40px; height: 40px; display: grid; place-items: center; margin-bottom: 23px; color: var(--green); border: 1px solid #c7cdbc; border-radius: 50%; font: 19px var(--serif); }
.step h3 { margin-bottom: 10px; font-size: 16px; font-weight: 600; letter-spacing: -.03em; }
.step p { max-width: 300px; margin-bottom: 0; color: #777d72; font-size: 11px; line-height: 1.75; }
.payment-band { overflow: hidden; color: var(--paper); background: #df8d5d; }
.payment-inner { position: relative; min-height: 420px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.payment-copy { position: relative; z-index: 1; max-width: 400px; padding-block: 68px; }
.payment-copy .eyebrow { color: #e0e9f1; }
.payment-copy h2 { margin-bottom: 18px; font-size: 54px; }
.payment-copy h2 em { color: #f6e5bb; }
.payment-copy > p:not(.eyebrow) { margin-bottom: 22px; color: #603e2e; font-size: 12px; line-height: 1.8; }
.button-outline { min-height: 42px; color: var(--paper); border-color: rgba(255,255,255,.62); font-size: 10px; }
.button-outline:hover { background: rgba(255,255,255,.1); }
.payment-note { display: block; max-width: 280px; margin-top: 15px; color: #6e4937; font-size: 9px; line-height: 1.6; }
.payment-orbit { position: absolute; top: 50%; right: 10%; width: 310px; aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.58); border-radius: 50%; color: #f8e6c6; transform: translateY(-50%) rotate(-12deg); }
.payment-orbit::before, .payment-orbit::after { position: absolute; inset: 20px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; content: ""; }
.payment-orbit::after { inset: -18px; border-color: rgba(255,255,255,.23); }
.payment-orbit span { z-index: 1; font: 19px/.98 var(--serif); letter-spacing: .09em; }
.payment-orbit i { position: absolute; top: 45px; right: 48px; color: #fff5d5; font-size: 23px; font-style: normal; }
.payment-decoration { position: absolute; top: 45px; right: -30px; display: flex; flex-direction: column; gap: 13px; color: #784b34; font: 8px var(--mono); letter-spacing: .13em; transform: rotate(90deg) translateX(100%); transform-origin: top right; }
.contact-section { display: grid; grid-template-columns: 1fr .8fr; gap: 100px; }
.contact-copy h2 { margin-bottom: 19px; font-size: 54px; }
.contact-copy > p:not(.eyebrow) { max-width: 350px; color: #71776c; font-size: 12px; line-height: 1.8; }
.contact-detail { display: flex; align-items: center; gap: 13px; margin-top: 38px; color: #7c8277; font: 8px/1.7 var(--mono); letter-spacing: .04em; }
.contact-detail strong { color: #30372e; font: 10px var(--sans); letter-spacing: 0; }
.contact-icon { color: #c88956; font-size: 25px; }
.contact-form { display: flex; flex-direction: column; }
.contact-form label { margin: 0 0 8px; color: #777d71; font: 8px var(--mono); letter-spacing: .1em; }
.contact-form label:not(:first-child) { margin-top: 18px; }
.contact-form label span { color: #9c9f96; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 11px 0; color: var(--ink); border: 0; border-bottom: 1px solid #d6d8cc; border-radius: 0; outline: 0; background: transparent; font-size: 11px; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--green); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #a1a49b; }
.contact-form textarea { resize: vertical; }
.contact-submit { align-self: flex-start; margin-top: 25px; }
.form-note { min-height: 15px; margin: 11px 0 0; color: #858a7e; font-size: 9px; line-height: 1.5; }
.site-footer { color: #e9ebe1; background: var(--green-deep); }
.footer-main { min-height: 145px; display: flex; align-items: center; justify-content: space-between; }
.brand-footer { color: white; }
.brand-footer .brand-mark { color: var(--green); background: var(--lime); }
.brand-footer .brand-light { color: #c3ccbd; }
.footer-main > p { margin: 0; font: 14px/1.5 var(--serif); }
.footer-main > p span { color: #b7c1b2; font-size: 11px; }
.footer-top { color: #c6cec1; font: 8px var(--mono); letter-spacing: .12em; }
.footer-bottom { min-height: 48px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.14); color: #aeb8a9; font: 8px var(--mono); letter-spacing: .07em; }

@media (max-width: 900px) {
  .section-wrap { width: min(100% - 48px, 700px); }
  .site-header { padding-inline: 24px; }
  .site-nav { gap: 20px; }
  .hero { min-height: 570px; grid-template-columns: 1fr 1fr; }
  .hero-art { height: 425px; }
  .hero h1 { font-size: 67px; }
  .art-house { left: 11%; transform: scale(.86); transform-origin: bottom left; }
  .match-inner { gap: 35px; }
  .match-copy h2 { font-size: 45px; }
  .contact-section { gap: 50px; }
  .payment-orbit { right: 4%; width: 270px; }
}
@media (max-width: 680px) {
  html { scroll-padding-top: 70px; }
  .section-wrap { width: calc(100% - 40px); }
  .section-pad { padding-block: 76px; }
  .site-header { height: 68px; padding-inline: 20px; }
  .brand { font-size: 17px; }
  .brand-mark { width: 28px; height: 28px; }
  .menu-toggle { width: 37px; height: 37px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid #d1d4c9; border-radius: 50%; background: transparent; }
  .menu-toggle span { width: 14px; height: 1px; background: var(--ink); }
  .site-nav { position: absolute; top: 67px; right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: 10px 20px 18px; border-bottom: 1px solid var(--line); background: var(--paper); }
  .site-nav.is-open { display: flex; flex-direction: column; }
  .site-nav > a:not(.nav-cta) { padding: 13px 0; border-bottom: 1px solid #e2e3da; }
  .nav-cta { margin-top: 12px; text-align: center; }
  .hero { min-height: 0; display: flex; flex-direction: column; align-items: stretch; padding-top: 49px; padding-bottom: 65px; }
  .hero-copy { padding: 0; }
  .eyebrow { margin-bottom: 17px; font-size: 9px; }
  .hero h1 { margin-bottom: 17px; font-size: clamp(59px, 16vw, 78px); }
  .hero-intro { max-width: 400px; margin-bottom: 20px; font-size: 12px; }
  .hero-actions { gap: 19px; }
  .button { min-height: 45px; padding-inline: 15px; gap: 12px; font-size: 10px; }
  .hero-note { margin-top: 25px; }
  .hero-art { height: 350px; margin-top: 31px; }
  .art-sun { top: 44px; right: 42px; width: 103px; }
  .art-house { bottom: 44px; left: 13%; transform: scale(.81); transform-origin: bottom left; }
  .art-stamp { top: 23px; left: 20px; width: 87px; height: 87px; padding: 10px; }
  .art-stamp strong { font-size: 8px; }
  .art-caption { font-size: 8px; }
  .scroll-hint { bottom: 20px; }
  .strip-inner { min-height: 88px; }
  .strip-star { margin-right: 15px; font-size: 24px; }
  .strip-inner p { font-size: 18px; }
  .strip-caption { display: none; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 19px; margin-bottom: 31px; }
  h2 { font-size: 45px; }
  .heading-aside { max-width: 420px; font-size: 11px; }
  .bundle-grid { grid-template-columns: 1fr; gap: 10px; }
  .bundle-card { min-height: 355px; padding: 21px 22px; }
  .bundle-top { margin-bottom: 25px; }
  .bundle-desc { min-height: 0; margin-bottom: 21px; }
  .bundle-link { right: 22px; left: 22px; }
  .card-scribble { right: 31px; }
  .bundle-disclaimer { font-size: 9px; }
  .match-section { padding-block: 69px; }
  .match-inner { grid-template-columns: 1fr; gap: 29px; }
  .match-copy h2 { font-size: 45px; }
  .match-copy > p:not(.eyebrow) { font-size: 11px; }
  .quiz-card { min-height: 350px; padding: 20px 16px 14px; }
  .quiz-content { min-height: 235px; }
  .quiz-question { font-size: 19px; }
  .quiz-option { min-height: 48px; padding: 9px; font-size: 9px; }
  .quiz-footer { gap: 8px; }
  .quiz-hint { font-size: 7px; }
  .quiz-next { padding-inline: 10px; white-space: nowrap; }
  .approach .section-heading { margin-bottom: 35px; }
  .steps-grid { grid-template-columns: 1fr; gap: 22px; }
  .step { min-height: 150px; }
  .step-icon { margin-bottom: 14px; }
  .payment-inner { min-height: 590px; display: block; }
  .payment-copy { padding-block: 57px 22px; }
  .payment-copy h2 { font-size: 47px; }
  .payment-orbit { top: auto; right: 50%; bottom: 16px; width: 220px; transform: translateX(50%) rotate(-12deg); }
  .payment-orbit span { font-size: 15px; }
  .payment-orbit::before { inset: 14px; }
  .payment-orbit::after { inset: -13px; }
  .payment-decoration { display: none; }
  .contact-section { grid-template-columns: 1fr; gap: 40px; }
  .contact-copy h2 { font-size: 46px; }
  .contact-copy > p:not(.eyebrow) { font-size: 11px; }
  .contact-detail { margin-top: 25px; }
  .footer-main { min-height: 180px; align-items: flex-start; flex-wrap: wrap; gap: 12px; padding-block: 28px; }
  .footer-main > p { order: 3; width: 100%; }
  .footer-top { align-self: center; }
  .footer-bottom { min-height: 60px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

body { background: #e9ebef; }
.site-header { width: min(1340px, calc(100% - 64px)); height: 70px; margin: 18px auto 16px; padding: 0 22px; border: 1px solid rgba(255,255,255,.82); border-radius: 17px; background: rgba(250,250,252,.82); box-shadow: 0 10px 30px rgba(34,42,52,.08); }
.window-controls { display: flex; gap: 7px; align-items: center; margin-right: 17px; }
.window-controls span { width: 11px; height: 11px; border-radius: 50%; background: #ff6259; box-shadow: inset 0 0 0 1px #e35048; }
.window-controls span:nth-child(2) { background: #ffbd2e; box-shadow: inset 0 0 0 1px #e4a51e; }
.window-controls span:nth-child(3) { background: #28c840; box-shadow: inset 0 0 0 1px #1eaa35; }
.site-header .brand { white-space: nowrap; }
.site-nav { gap: 8px; margin-left: auto; }
.site-nav > a:not(.nav-cta) { padding: 10px 13px; border-radius: 9px; }
.site-nav > a:not(.nav-cta):hover { color: #233d2e; background: #edf0e9; }
.nav-cta { margin-left: 9px; padding: 11px 15px; border-color: #e0e1e6; border-radius: 10px; background: rgba(255,255,255,.66); }
.desktop-status { display: flex; gap: 7px; align-items: center; margin-left: 15px; color: #747b85; font-size: 10px; }
.desktop-status span { color: #6a8f4c; }
.ios-status, .ios-tabbar { display: none; }
.hero { position: relative; width: min(1340px, calc(100% - 64px)); min-height: 620px; height: min(760px, calc(100svh - 125px)); margin: 0 auto; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: 26px; background: #527a83; box-shadow: 0 20px 55px rgba(31,43,48,.15); }
.hero-art { position: absolute; inset: 0; height: auto; overflow: hidden; background: #4a777f; }
.hero-photo { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 47%; }
.hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(13,25,28,.47),rgba(17,34,36,.12) 65%,rgba(17,34,36,.08)),linear-gradient(0deg,rgba(15,27,28,.34),transparent 30%); }
.photo-caption { position: absolute; right: 27px; bottom: 23px; left: 27px; display: flex; justify-content: space-between; color: rgba(255,255,255,.87); font: 8px var(--mono); letter-spacing: .12em; }
.photo-caption b { margin-left: 7px; font-size: 12px; }
.hero-copy { position: absolute; z-index: 2; top: 50%; left: clamp(28px,6.8%,90px); width: min(480px, 42%); padding: 31px 32px 26px; border: 1px solid rgba(255,255,255,.72); border-radius: 22px; background: rgba(250,250,249,.79); box-shadow: 0 18px 50px rgba(21,38,40,.16); backdrop-filter: blur(25px) saturate(1.25); transform: translateY(-50%); }
.hero-copy .eyebrow { margin-bottom: 17px; }
.hero h1 { margin-bottom: 17px; font-size: clamp(54px, 5.2vw, 75px); }
.hero-intro { margin-bottom: 20px; font-size: 13px; line-height: 1.7; }
.hero-actions { gap: 17px; }
.button { border-radius: 10px; }
.hero-note { margin-top: 22px; }
.scroll-hint { display: none; }
.intro-strip { margin-top: 20px; border: 1px solid rgba(255,255,255,.25); background: #314b38; }
.strip-inner { min-height: 92px; }
.strip-star { font-size: 26px; }
.strip-inner p { font-size: 23px; }
.section-heading { align-items: center; }
.bundle-card { min-height: 432px; padding: 179px 23px 24px; overflow: hidden; border: 1px solid #fff; border-radius: 19px; background: rgba(255,255,255,.7); box-shadow: 0 12px 30px rgba(54,63,54,.05); }
.bundle-featured { background: rgba(245,248,237,.92); }
.bundle-image { position: absolute; top: 0; left: 0; width: 100%; height: 151px; display: block; object-fit: cover; object-position: center 55%; }
.bundle-top { margin-bottom: 25px; }
.bundle-icon { background: rgba(255,255,255,.8); }
.bundle-desc { min-height: 0; }
.bundle-link { right: 23px; left: 23px; }
.match-section { background: #293d31; }
.quiz-card { border: 1px solid rgba(255,255,255,.8); border-radius: 17px; box-shadow: 0 15px 40px rgba(13,22,17,.14); }
.quiz-option { border-radius: 10px; }
.quiz-next { border-radius: 10px; }
.step { padding: 19px; border: 1px solid #fff; border-radius: 17px; background: rgba(255,255,255,.45); }
.step > span { top: 20px; right: 19px; }
.step-icon { background: rgba(255,255,255,.48); }
.payment-band { background: #d98558; }
.contact-form input, .contact-form select, .contact-form textarea { padding: 13px 15px; border: 1px solid #dfe1e6; border-radius: 10px; background: rgba(255,255,255,.62); }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #728b69; box-shadow: 0 0 0 3px #718d6923; }
.contact-form label:not(:first-child) { margin-top: 16px; }
.site-footer { margin-top: 0; }

@media (max-width: 900px) {
  .site-header { width: calc(100% - 36px); padding-inline: 15px; }
  .window-controls { gap: 5px; margin-right: 10px; }
  .window-controls span { width: 9px; height: 9px; }
  .site-nav { gap: 2px; }
  .site-nav > a:not(.nav-cta) { padding-inline: 8px; font-size: 10px; }
  .desktop-status { display: none; }
  .hero { width: calc(100% - 36px); min-height: 560px; }
  .hero-copy { width: min(430px, 52%); padding: 24px; }
  .hero h1 { font-size: clamp(50px, 7vw, 66px); }
  .hero-art { height: auto; }
  .bundle-card { padding-top: 171px; }
  .bundle-image { height: 145px; }
}

@media (max-width: 680px) {
  body { background: #f2f2f7; }
  .ios-status { position: sticky; top: 0; z-index: 32; height: 29px; display: flex; align-items: center; justify-content: space-between; padding-inline: 22px; color: #17191c; background: rgba(242,242,247,.96); font: 600 12px var(--sans); }
  .ios-status-icons { font-size: 9px; letter-spacing: 1px; }
  .site-header { position: sticky; top: 29px; z-index: 30; width: 100%; height: 58px; margin: 0; padding: 0 19px; border: 0; border-bottom: 1px solid #dfe0e5; border-radius: 0; background: rgba(250,250,252,.92); box-shadow: none; }
  .window-controls, .desktop-status { display: none; }
  .site-header .brand { gap: 8px; font-size: 17px; }
  .brand-mark { width: 28px; height: 28px; }
  .menu-toggle { width: 37px; height: 37px; display: flex; border: 1px solid #dedfe4; border-radius: 50%; background: rgba(255,255,255,.65); }
  .site-nav { position: absolute; top: 57px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 10px 20px 16px; border: 1px solid #dedfe4; border-radius: 0 0 16px 16px; background: rgba(250,250,252,.97); box-shadow: 0 15px 30px #22222218; }
  .site-nav.is-open { display: flex; }
  .site-nav > a:not(.nav-cta) { padding: 14px 5px; border-bottom: 1px solid #e6e7eb; font-size: 13px; }
  .site-nav .nav-cta { margin: 12px 0 0; padding: 12px; font-size: 12px; }
  .hero { width: calc(100% - 20px); height: min(730px, calc(100svh - 177px)); min-height: 575px; margin-top: 10px; border-radius: 24px; }
  .hero-art { height: auto; }
  .hero-photo { object-position: 54% center; }
  .hero-scrim { background: linear-gradient(0deg,rgba(14,26,28,.66),rgba(14,26,28,.06) 80%),linear-gradient(90deg,rgba(14,26,28,.08),transparent); }
  .photo-caption { right: 15px; bottom: 14px; left: 15px; font-size: 6px; }
  .hero-copy { top: auto; right: 13px; bottom: 42px; left: 13px; width: auto; padding: 21px 19px 18px; border-radius: 18px; background: rgba(250,250,249,.87); box-shadow: 0 15px 35px rgba(17,30,31,.18); transform: none; }
  .hero-copy .eyebrow { margin-bottom: 12px; font-size: 8px; }
  .hero h1 { margin-bottom: 11px; font-size: clamp(45px, 13vw, 59px); }
  .hero-intro { margin-bottom: 14px; font-size: 11px; line-height: 1.6; }
  .hero-actions { gap: 14px; }
  .hero-actions .button { min-height: 42px; padding-inline: 13px; font-size: 9px; }
  .hero-actions .text-link { font-size: 9px; }
  .hero-note { display: none; }
  .scroll-hint { display: none; }
  .intro-strip { margin-top: 13px; }
  .strip-inner { min-height: 75px; }
  .strip-star { margin-right: 12px; font-size: 21px; }
  .strip-inner p { font-size: 16px; }
  .section-pad { padding-block: 67px; }
  .section-heading { gap: 14px; }
  h2 { font-size: 43px; }
  .bundle-grid { grid-template-columns: 1fr; gap: 15px; }
  .bundle-card { min-height: 410px; padding: 178px 20px 22px; border-radius: 19px; }
  .bundle-image { height: 152px; }
  .bundle-link { right: 20px; left: 20px; }
  .card-scribble { right: 28px; }
  .match-section { padding-block: 63px; }
  .quiz-card { border-radius: 16px; }
  .quiz-option { border-radius: 10px; }
  .approach .section-heading { margin-bottom: 28px; }
  .steps-grid { gap: 13px; }
  .step { min-height: 143px; padding: 17px; border-radius: 15px; }
  .step-icon { width: 34px; height: 34px; margin-bottom: 12px; }
  .payment-inner { min-height: 575px; }
  .contact-section { gap: 32px; }
  .contact-form input, .contact-form select, .contact-form textarea { padding: 13px; }
  .contact-submit { width: 100%; min-height: 49px; justify-content: space-between; }
  .footer-main { min-height: 165px; }
  .footer-bottom { padding-bottom: 6px; }
  body { padding-bottom: calc(75px + env(safe-area-inset-bottom)); }
  .ios-tabbar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 35; height: calc(65px + env(safe-area-inset-bottom)); display: flex; align-items: flex-start; justify-content: space-around; padding: 7px 8px env(safe-area-inset-bottom); border-top: 1px solid rgba(208,209,215,.85); background: rgba(250,250,252,.91); box-shadow: 0 -7px 25px #2833440a; backdrop-filter: blur(20px) saturate(1.5); }
  .ios-tabbar a { min-width: 65px; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 2px 6px; color: #82848a; }
  .ios-tabbar a[aria-current="page"] { color: #527148; }
  .ios-tabbar a > span { height: 24px; font: 21px/1.1 var(--sans); }
  .ios-tabbar small { font-size: 9px; }
}

:root {
  --paper: #f1f4f7;
  --white: #fbfcfe;
  --ink: #192634;
  --muted: #727f8d;
  --green: #426c96;
  --green-deep: #14283b;
  --lime: #a9d8ff;
  --orange: #8198ad;
  --line: #d9e1e9;
  --sans: "Avenir Next", "Segoe UI", Arial, sans-serif;
}

html { scroll-padding-top: 92px; }
body { overflow-x: hidden; background: var(--paper); color: var(--ink); }
body::before { position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 8% 30%,rgba(204,222,239,.5),transparent 40%),radial-gradient(ellipse at 95% 77%,rgba(216,226,238,.4),transparent 34%); content: ""; }
.site-header { position: sticky; top: 16px; width: min(1240px, calc(100% - 64px)); height: 68px; margin: 16px auto 18px; padding: 0 16px 0 21px; border: 1px solid rgba(255,255,255,.86); border-radius: 17px; background: rgba(248,250,253,.82); box-shadow: 0 12px 35px rgba(32,54,76,.09); backdrop-filter: blur(20px) saturate(1.3); }
.window-controls, .desktop-status, .ios-status, .ios-tabbar { display: none !important; }
.site-header .brand { white-space: nowrap; }
.brand-mark { color: #f4f7ee; background: var(--green-deep); }
.site-nav { gap: 5px; margin-left: auto; }
.site-nav > a:not(.nav-cta) { padding: 11px 13px; border-radius: 9px; color: #536273; font-size: 11px; }
.site-nav > a:not(.nav-cta):hover { color: var(--green-deep); background: rgba(211,226,240,.68); }
.nav-cta { margin-left: 9px; padding: 12px 15px; border-color: rgba(73,107,141,.22); border-radius: 10px; background: rgba(255,255,255,.63); }
.hero { position: relative; width: min(1440px, calc(100% - 48px)); height: clamp(640px, 76vw, 820px); min-height: 640px; max-height: 840px; margin: 0 auto; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.7); border-radius: 27px; background: #18334c; box-shadow: 0 28px 75px rgba(27,48,70,.2); isolation: isolate; }
.hero-art { position: absolute; inset: 0; height: auto; overflow: hidden; background: #244b65; }
.hero-photo { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center 49%; transform: scale(1.08); }
@supports (animation-timeline: view()) {
  .hero-photo { animation: hero-parallax linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
}
.hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(12,26,42,.84) 0%,rgba(16,35,54,.68) 28%,rgba(26,52,73,.24) 68%,rgba(20,41,61,.1) 100%),linear-gradient(0deg,rgba(13,29,44,.48),transparent 34%); }
.photo-caption { right: 30px; bottom: 25px; left: 30px; display: flex; justify-content: space-between; color: rgba(245,249,255,.8); font: 8px var(--mono); letter-spacing: .15em; }
.photo-caption b { margin-left: 9px; color: var(--lime); font-size: 13px; }
.hero-copy { position: absolute; top: 49%; left: clamp(38px, 8.2%, 118px); width: min(600px, 52%); padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; transform: translateY(-50%); animation: rise-in .9s cubic-bezier(.2,.8,.2,1) both; }
.hero-copy .eyebrow { margin-bottom: 25px; color: rgba(239,246,253,.8); }
.eyebrow-dot { width: 7px; height: 7px; background: var(--lime); box-shadow: 0 0 12px #a9d8ff83; }
.hero h1 { margin-bottom: 23px; color: #f5f8fc; font-size: clamp(64px, 7vw, 92px); line-height: .97; letter-spacing: -.085em; }
.hero h1 em { color: var(--lime); }
.hero-intro { max-width: 440px; margin-bottom: 27px; color: rgba(238,245,251,.8); font-size: 16px; line-height: 1.7; }
.hero-actions { gap: 21px; }
.button { min-height: 49px; padding-inline: 19px; border-radius: 11px; font-size: 11px; }
.button-dark { color: #152b3e; background: var(--lime); box-shadow: 0 8px 22px rgba(169,216,255,.2); }
.button-dark:hover { background: #c8e8ff; box-shadow: 0 12px 28px rgba(169,216,255,.28); }
.text-link { color: #f5f8ee; }
.text-link span { color: var(--lime); }
.hero-note { display: none; }
.scroll-hint { bottom: 29px; left: 30px; display: flex; color: rgba(239,245,233,.79); font: 8px var(--mono); letter-spacing: .15em; }
.scroll-hint span { width: 27px; background: var(--lime); }
.intro-strip { margin-top: 22px; background: #1d3852; }
.strip-inner { min-height: 101px; }
.strip-star { color: var(--lime); }
.strip-inner p { font: 26px var(--serif); }
.strip-caption { color: rgba(228,239,250,.72); }
.bundles.section-pad, .approach.section-pad, .contact-section.section-pad { padding-block: 123px; }
.section-heading { align-items: flex-end; margin-bottom: 54px; }
.eyebrow { color: #718078; font-size: 9px; }
h2 { color: #17261d; font-size: clamp(48px, 5.2vw, 66px); line-height: 1.03; letter-spacing: -.075em; }
h2 em { color: #557a56; }
.heading-aside { max-width: 355px; color: #6f7a72; font-size: 12px; }
.bundle-grid { gap: 17px; }
.bundle-card { min-height: 477px; padding: 199px 25px 24px; border: 1px solid rgba(255,255,255,.8); border-radius: 21px; background: rgba(255,255,255,.67); box-shadow: 0 16px 42px rgba(29,48,35,.055); transition: transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s; }
.bundle-card:hover { transform: translateY(-8px); border-color: #c4d7b6; box-shadow: 0 25px 54px rgba(29,48,35,.13); }
.bundle-featured { background: rgba(255,255,255,.67); }
.bundle-image { position: absolute; top: 0; left: 0; width: 100%; height: 169px; display: block; object-fit: cover; object-position: center 55%; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.bundle-card:hover .bundle-image { transform: scale(1.04); }
.bundle-top { margin-bottom: 24px; }
.bundle-icon { background: rgba(255,255,255,.74); }
.bundle-desc { min-height: 62px; color: #707b72; }
.bundle-link { right: 25px; left: 25px; border-color: #dce3d8; }
.bundle-disclaimer { max-width: 920px; color: #7d877f; }
.match-section { position: relative; overflow: hidden; color: #f2f7fc; background: radial-gradient(ellipse at 82% 10%,#345675 0%,transparent 42%),#13263a; }
.match-section::before { position: absolute; top: -180px; right: -120px; width: 470px; aspect-ratio: 1; border: 1px solid rgba(186,221,250,.16); border-radius: 50%; box-shadow: 0 0 0 32px rgba(186,221,250,.04),0 0 0 80px rgba(186,221,250,.028),0 0 0 140px rgba(186,221,250,.02); content: ""; }
.match-inner { position: relative; z-index: 1; gap: 72px; }
.eyebrow-light { color: #b7c9dc; }
.match-copy h2 { color: #f5f8fc; font-size: clamp(48px,5.2vw,65px); }
.match-copy h2 em { color: var(--lime); }
.match-copy > p:not(.eyebrow) { color: #bdcbd9; font-size: 13px; }
.match-aside { color: #d6e0ea; }
.match-aside span { color: var(--lime); }
.quiz-card { min-height: 374px; padding: 27px 29px 19px; border: 1px solid rgba(255,255,255,.88); border-radius: 19px; background: rgba(248,250,245,.96); box-shadow: 0 28px 80px rgba(0,0,0,.2); }
.quiz-content { min-height: 251px; }
.quiz-option { border-color: #e3e9df; border-radius: 11px; transition: transform .18s,border-color .18s,background .18s; }
.quiz-option:hover { transform: translateY(-2px); }
.quiz-option:hover, .quiz-option.selected { color: #1d3828; border-color: #8da981; background: #eff5e9; }
.progress-track { overflow: hidden; border-radius: 4px; background: #e7ece3; }
.progress-fill { border-radius: inherit; background: linear-gradient(90deg,#4c7250,#acd46f); }
.quiz-next, .quiz-result a { border-radius: 10px; }
.steps-grid { gap: 18px; }
.step { min-height: 210px; padding: 21px; border: 1px solid rgba(255,255,255,.85); border-radius: 19px; background: rgba(255,255,255,.52); transition: transform .3s,box-shadow .3s; }
.step:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(35,51,39,.08); }
.step > span { top: 22px; right: 22px; }
.step-icon { background: rgba(255,255,255,.7); }
.step p { color: #6f7c72; }
.payment-band { position: relative; background: linear-gradient(112deg,#506c87,#7890a6 57%,#5f7a94); }
.payment-inner { min-height: 465px; }
.payment-copy h2 { color: #f7f9fc; }
.payment-copy h2 em { color: #c6e4fb; }
.payment-copy > p:not(.eyebrow) { color: rgba(26,42,58,.85); }
.payment-orbit { border-color: rgba(255,251,229,.75); }
.payment-orbit::before { border-color: rgba(255,251,229,.45); }
.payment-orbit::after { border-color: rgba(255,251,229,.27); }
.contact-form input, .contact-form select, .contact-form textarea { padding: 13px 15px; border: 1px solid #e0e6dd; border-radius: 10px; background: rgba(255,255,255,.7); font-size: 12px; transition: border-color .2s,box-shadow .2s; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #829fbb; box-shadow: 0 0 0 3px #7193b223; }
.contact-form label:not(:first-child) { margin-top: 16px; }
.site-footer { background: #13263a; }
.footer-top:hover { color: var(--lime); }
.form-note { font-size: 10px; }

.motion-ready .scroll-motion { animation: none; opacity: var(--scroll-opacity, 1); translate: var(--scroll-x, 0px) var(--scroll-y, 0px); scale: var(--scroll-scale, 1); }
.motion-ready .hero-photo { transform: scale(1.2) translate3d(0, var(--scroll-parallax-y, -10%), 0); }
@keyframes rise-in { from { opacity: 0; translate: 0 17px; } to { opacity: 1; translate: 0 0; } }
@keyframes pulse-glow { 50% { box-shadow: 0 0 16px 3px rgba(214,239,141,.5); } }

@media (max-width: 900px) {
  .site-header { width: calc(100% - 36px); padding-inline: 15px; }
  .site-nav { gap: 2px; }
  .site-nav > a:not(.nav-cta) { padding-inline: 9px; font-size: 10px; }
  .motion-toggle { padding: 9px 10px; font-size: 9px; }
  .hero { width: calc(100% - 36px); height: 660px; min-height: 600px; }
  .hero-copy { left: 6%; width: min(520px,64%); }
  .hero h1 { font-size: clamp(61px,8.5vw,86px); }
  .match-inner { gap: 36px; }
  .bundle-card { padding-top: 185px; }
  .bundle-image { height: 155px; }
  .contact-section { gap: 55px; }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 72px; }
  body { background: var(--paper); }
  .site-header { top: 8px; width: calc(100% - 24px); height: 58px; margin: 8px auto 12px; padding: 0 14px; border: 1px solid rgba(255,255,255,.85); border-radius: 15px; box-shadow: 0 9px 26px rgba(24,44,32,.08); }
  .site-header .brand { gap: 8px; font-size: 16px; }
  .brand-mark { width: 27px; height: 27px; }
  .menu-toggle { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; gap: 4px; border: 1px solid #dfe5dc; border-radius: 50%; background: rgba(255,255,255,.8); }
  .menu-toggle span { width: 13px; height: 1.5px; background: #23392b; }
  .motion-toggle { padding: 8px 9px; border-radius: 99px; font-size: 8px; }
  .site-nav { top: 57px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 10px 15px 15px; border: 1px solid #e4e9e1; border-radius: 14px; background: rgba(249,251,246,.97); box-shadow: 0 16px 32px rgba(24,44,32,.14); }
  .site-nav.is-open { display: flex; }
  .site-nav > a:not(.nav-cta) { padding: 13px 7px; border-bottom: 1px solid #e9eee7; font-size: 12px; }
  .site-nav .nav-cta { margin: 11px 0 0; padding: 12px; text-align: center; font-size: 11px; }
  .hero { width: calc(100% - 16px); height: min(790px, calc(100svh - 106px)); min-height: 660px; max-height: none; margin: 0 auto; border-radius: 23px; }
  .hero-photo { object-position: 55% center; transform: scale(1.08); }
  .hero-scrim { background: linear-gradient(180deg,rgba(10,22,36,.76) 0%,rgba(14,29,45,.6) 46%,rgba(15,35,52,.12) 82%),linear-gradient(0deg,rgba(10,22,36,.72),transparent 40%),linear-gradient(90deg,rgba(11,27,42,.2),transparent); }
  .photo-caption { right: 13px; bottom: 13px; left: 13px; font-size: 6px; letter-spacing: .1em; }
  .hero-copy { top: 74px; right: 19px; bottom: auto; left: 19px; width: auto; padding: 0; transform: none; }
  .hero-copy .eyebrow { margin-bottom: 18px; font-size: 8px; }
  .hero h1 { margin-bottom: 17px; font-size: clamp(58px,15vw,80px); }
  .hero h1 em { font-size: .78em; }
  .hero-intro { max-width: 390px; margin-bottom: 19px; color: rgba(241,246,236,.81); font-size: 14px; line-height: 1.6; }
  .hero-actions { gap: 17px; }
  .hero-actions .button { min-height: 45px; padding-inline: 14px; font-size: 9px; }
  .hero-actions .text-link { font-size: 10px; }
  .scroll-hint { display: none; }
  .intro-strip { margin-top: 13px; }
  .strip-inner { min-height: 77px; }
  .strip-star { margin-right: 12px; font-size: 21px; }
  .strip-inner p { font-size: 16px; }
  .strip-caption { display: none; }
  .bundles.section-pad, .approach.section-pad, .contact-section.section-pad { padding-block: 77px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 17px; margin-bottom: 31px; }
  .section-heading .eyebrow { margin-bottom: 15px; }
  h2 { font-size: clamp(43px,11vw,56px); }
  .heading-aside { max-width: 430px; font-size: 11px; }
  .bundle-grid { grid-template-columns: 1fr; gap: 14px; }
  .bundle-card { min-height: 445px; padding: 198px 21px 23px; border-radius: 19px; }
  .bundle-image { height: 170px; }
  .bundle-card h3 { font-size: 28px; }
  .bundle-desc { min-height: 0; }
  .bundle-link { right: 21px; left: 21px; }
  .card-scribble { right: 25px; }
  .bundle-disclaimer { font-size: 9px; }
  .match-section { padding-block: 70px; }
  .match-inner { grid-template-columns: 1fr; gap: 29px; }
  .match-copy h2 { font-size: 49px; }
  .match-copy > p:not(.eyebrow) { max-width: 440px; font-size: 11px; }
  .quiz-card { min-height: 363px; padding: 20px 16px 14px; border-radius: 16px; }
  .quiz-content { min-height: 250px; padding-top: 21px; }
  .quiz-question { font-size: 19px; }
  .quiz-option { min-height: 48px; padding: 9px; font-size: 9px; }
  .quiz-next { padding-inline: 10px; white-space: nowrap; }
  .approach .section-heading { margin-bottom: 30px; }
  .steps-grid { grid-template-columns: 1fr; gap: 12px; }
  .step { min-height: 151px; padding: 17px; border-radius: 16px; }
  .step > span { top: 19px; right: 18px; }
  .step-icon { width: 35px; height: 35px; margin-bottom: 14px; }
  .step p { font-size: 10px; }
  .payment-inner { min-height: 585px; display: block; }
  .payment-copy { padding-block: 59px 17px; }
  .payment-copy h2 { font-size: 49px; }
  .payment-orbit { right: 50%; bottom: 12px; width: 214px; transform: translateX(50%) rotate(-12deg); }
  .payment-orbit span { font-size: 15px; }
  .payment-decoration { display: none; }
  .contact-section { grid-template-columns: 1fr; gap: 34px; }
  .contact-copy h2 { font-size: 49px; }
  .contact-copy > p:not(.eyebrow) { font-size: 11px; }
  .contact-detail { margin-top: 22px; }
  .contact-form input, .contact-form select, .contact-form textarea { padding: 13px; }
  .contact-submit { width: 100%; min-height: 48px; justify-content: space-between; }
  .footer-main { min-height: 176px; align-items: flex-start; flex-wrap: wrap; gap: 11px; padding-block: 27px; }
  .footer-main > p { order: 3; width: 100%; }
  .footer-top { align-self: center; }
  .footer-bottom { min-height: 57px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  :root:not(.motion-enabled) *, :root:not(.motion-enabled) *::before, :root:not(.motion-enabled) *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  :root:not(.motion-enabled) .motion-ready .scroll-motion { opacity: 1; transform: none; translate: none; scale: none; }
  :root:not(.motion-enabled) .hero-copy, :root:not(.motion-enabled) .photo-caption { animation: none !important; }
  :root:not(.motion-enabled) .hero-photo { animation: none !important; transform: scale(1.015) !important; }
}
:root.motion-enabled:not(.lenis) { scroll-behavior: smooth !important; }
:root.motion-disabled { scroll-behavior: auto !important; }

.eyebrow { color: #536258; font-size: 11px; }
.hero .eyebrow { color: #f0f5fa; }
.photo-caption { color: #fff; font-size: 10px; text-shadow: 0 1px 4px rgba(8,20,32,.8); }
.scroll-hint { color: #fff; font-size: 10px; }
.strip-caption { color: #f0f5fa; font-size: 10px; }
.heading-aside { color: #4f5e54; font-size: 14px; }
.bundle-number, .bundle-type { color: #536258; font-size: 11px; }
.bundle-desc { color: #4f5e54; font-size: 13px; }
.bundle-spec > span { color: #536258; font-size: 10px; }
.bundle-spec i { color: #536258; font-size: 11px; }
.bundle-link { color: #24372b; font-size: 12px; }
.card-scribble { color: #526647; font-size: 10px; }
.bundle-disclaimer { color: #536258; font-size: 12px; }
.match-copy > p:not(.eyebrow) { color: #e0eaf3; font-size: 14px; }
.match-aside { color: #edf3f8; font-size: 11px; }
.quiz-progress { color: #515c52; font-size: 10px; }
.quiz-step-count { color: #515c52; }
.quiz-subtitle, .quiz-result p { color: #515c52; font-size: 13px; }
.quiz-option { color: #36443b; font-size: 12px; }
.quiz-option span { color: #515c52; }
.quiz-hint { color: #515c52; font-size: 10px; }
.quiz-next { font-size: 12px; }
.quiz-next:disabled { color: #465348; background: #e2e8df; box-shadow: none; opacity: 1; }
.quiz-back { color: #465348; font-size: 12px; }
.result-tag, .result-disclaimer { color: #515c52; font-size: 11px; }
.quiz-result a { font-size: 12px; }
.step > span { color: #536258; font-size: 10px; }
.step p { color: #4f5e54; font-size: 13px; }
.payment-band { background: linear-gradient(112deg,#294764,#3d5c78 57%,#304d69); }
.payment-copy > p:not(.eyebrow) { color: #f2f6fa; font-size: 14px; }
.payment-note { color: #e1eaf2; font-size: 12px; }
.payment-decoration { color: #e1eaf2; font-size: 10px; }
.contact-copy > p:not(.eyebrow) { color: #4f5e54; font-size: 14px; }
.contact-detail { color: #536258; font-size: 10px; }
.contact-detail strong { color: #24372b; font-size: 12px; }
.contact-form label { color: #4f5e54; font-size: 11px; }
.contact-form label span { color: #536258; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #59645d; opacity: 1; }
.form-note { color: #536258; font-size: 12px; }
.footer-bottom { color: #e0e8ef; font-size: 10px; }
.footer-top { font-size: 12px; }

@media (max-width: 680px) {
  .site-nav > a:not(.nav-cta) { font-size: 13px; }
  .hero .eyebrow { font-size: 10px; }
  .hero-actions .button, .hero-actions .text-link { font-size: 12px; }
  .photo-caption { font-size: 9px; }
  .heading-aside { font-size: 13px; }
  .bundle-disclaimer { font-size: 12px; }
  .match-copy > p:not(.eyebrow), .contact-copy > p:not(.eyebrow) { font-size: 14px; }
  .quiz-option { font-size: 12px; }
  .step p { font-size: 13px; }
  .contact-form label { font-size: 11px; }
  .footer-bottom { font-size: 10px; }
}

.bundle-card { display: flex; flex-direction: column; }
.bundle-spec { margin-bottom: 12px; }
.bundle-link { position: relative; right: auto; bottom: auto; left: auto; display: block; flex: 0 0 auto; margin-top: auto; }
.scroll-hint { display: none; }

@media (max-width: 680px) {
  .payment-inner { min-height: 0; display: flex; flex-direction: column; align-items: stretch; }
  .payment-copy { order: 1; padding: 59px 0 0; }
  .payment-orbit { position: relative; top: auto; right: auto; bottom: auto; order: 2; align-self: center; width: 190px; flex: 0 0 auto; margin: 31px auto 38px; transform: rotate(-12deg); }
}
