@font-face{font-family:Manrope;src:url("/vendor/fonts/files/manrope-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url("/vendor/fonts/files/manrope-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:SourceSerif;src:url("/vendor/fonts/files/source-serif-4-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
:root{--forest:#082b1f;--green:#0c6041;--cream:#f6f2e8;--paper:#fffdf8;--ink:#14231c;--muted:#647169;--line:#cfd8d2;--gold:#d6aa50;--sans:Manrope,Arial,sans-serif;--serif:SourceSerif,Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
h1,h2,h3,p,figure,blockquote{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.04em}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.skip-link{position:fixed;left:16px;top:10px;z-index:100;transform:translateY(-160%);padding:9px 13px;background:#fff;border:1px solid var(--forest);font-weight:600}
.skip-link:focus{transform:none}
.site-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:44px;width:min(1180px,calc(100% - 80px));min-height:82px;margin:0 auto}
.brand img{width:88px;height:47px;object-fit:contain}
.site-header nav{display:flex;justify-content:flex-end;gap:30px}
.site-header nav a,.family-link,.signin{color:var(--muted);font-size:.875rem;text-decoration:none}
.header-actions{display:flex;align-items:center;gap:22px}.family-link{text-decoration:underline;text-underline-offset:5px}.signin{padding:10px 17px;border:1px solid var(--forest);border-radius:3px;color:var(--forest)}
.hero,.page-section,.proof,.inquiry{width:min(1180px,calc(100% - 80px));margin:0 auto}
.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(540px,1.08fr);gap:56px;align-items:center;min-height:548px;padding:30px 0 40px}
.section-label{margin:0 0 14px;color:var(--green);font-size:.75rem;font-weight:600;letter-spacing:.15em}
.hero h1{max-width:590px;margin-bottom:22px;font-size:clamp(3.2rem,4.6vw,4.25rem);line-height:.95}
.hero-text{max-width:590px;margin-bottom:24px;color:var(--muted);font-size:1rem}
.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:12px 20px;border:1px solid transparent;border-radius:3px;font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer}
.button-primary{background:var(--forest);color:#fff}.text-link{color:var(--forest);font-size:.875rem;font-weight:600;text-underline-offset:5px}
.ownership-line{margin:18px 0 0;color:var(--muted);font-size:.84rem}.ownership-line strong{color:var(--ink)}
.screen-frame{margin:0;border:1px solid #aebdb4;border-radius:4px;background:var(--paper);overflow:hidden}.screen-bar{display:flex;min-height:40px;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.7rem;letter-spacing:.08em}.screen-frame figcaption{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.screen-frame figcaption strong{color:var(--ink);font-weight:600}.screen-crop{position:relative;overflow:hidden;contain:paint;background:#eef1ef}.screen-crop img{position:absolute;max-width:none}
.hero-screen .screen-crop{aspect-ratio:16/8.6}.screen-crop-director img{width:100%;left:0;top:0;transform:none}
.privacy-mask{position:absolute;z-index:2;left:3.5%;top:5%;display:flex;width:36%;min-height:36px;align-items:center;padding:5px 9px;border:1px solid #aebdb4;background:var(--paper);color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.08em}
.proof{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--forest);border-bottom:1px solid var(--forest)}.proof>div{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:baseline;padding:19px 24px;border-right:1px solid var(--line)}.proof>div:last-child{border-right:0}.proof strong{font-family:var(--serif);font-size:1.7rem;font-weight:500}.proof span{color:var(--muted);font-size:.78rem;line-height:1.35}
.page-section{padding:82px 0;border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(360px,.7fr);gap:74px;align-items:end;margin-bottom:38px}.section-heading h2{margin-bottom:0;font-size:clamp(2.55rem,4vw,3.7rem);line-height:1}.section-heading p{margin:0;color:var(--muted);font-size:.98rem}
.problem-list{border-top:1px solid var(--forest)}.problem-list article{display:grid;grid-template-columns:180px minmax(250px,.8fr) minmax(320px,1fr);gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}.problem-list h3{margin:0;font-family:var(--serif);font-size:1.5rem;font-weight:500}.problem-list p,.problem-list strong{margin:0;font-size:.9rem;line-height:1.5}.problem-list p{color:var(--muted)}.problem-list strong{font-weight:600}
.package-ledger{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--forest)}.package-ledger>div{display:grid;grid-template-columns:190px 1fr;gap:20px;min-height:108px;padding:22px;border-bottom:1px solid var(--line)}.package-ledger>div:nth-child(odd){border-right:1px solid var(--line)}.package-ledger>div:last-child{grid-column:1/-1;border-right:0}.package-ledger strong{font-family:var(--serif);font-size:1.15rem;font-weight:500;line-height:1.22}.package-ledger span{color:var(--muted);font-size:.88rem}
.view-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}.view-grid .screen-crop{aspect-ratio:2.05/1}.screen-crop-student img,.screen-crop-parent img{width:100%;left:0;top:0;transform:none}
.method{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(540px,1.18fr);gap:60px;align-items:center}.method h2{margin-bottom:18px;font-size:clamp(2.35rem,3.3vw,3.2rem);line-height:1}.method-copy>p:not(.section-label){color:var(--muted)}.method blockquote{margin:28px 0 0;padding:18px 0;border-top:1px solid var(--forest);border-bottom:1px solid var(--line)}.method blockquote strong,.method blockquote span{display:block}.method blockquote strong{margin-bottom:9px;font-family:var(--serif);font-size:1.3rem;font-weight:500}.method blockquote span{font-size:.88rem}.method-screen .screen-crop{aspect-ratio:2/1}.screen-crop-rule img{width:144%;left:0;top:0;transform:translate(-22%,-38.5%)}
.director-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--forest);border-bottom:1px solid var(--line)}.director-list article{padding:21px;border-right:1px solid var(--line)}.director-list article:last-child{border-right:0}.director-list strong,.director-list span{display:block}.director-list strong{margin-bottom:7px;font-family:var(--serif);font-size:1.25rem;font-weight:500}.director-list span{color:var(--muted);font-size:.87rem}.director-screen{width:100%;margin-top:30px}.director-screen .screen-crop{aspect-ratio:2.4/1}.screen-crop-director-detail img{width:100%;left:0;top:0;transform:none}.screen-crop-director-detail .privacy-mask{top:2%;width:31%;min-height:58px}
.book-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:13px;align-items:start}.book{display:grid;grid-template-rows:auto minmax(2.8em,auto);min-width:0;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;text-align:center}.book img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 5px 4px rgba(0,0,0,.13))}.book span{display:flex;min-height:2.8em;align-items:flex-start;justify-content:center;margin-top:9px;font-size:.875rem;line-height:1.3}.book:hover span,.book:focus-visible span{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.onboarding-steps{margin:0;padding:0;border-top:1px solid var(--forest);list-style:none}.onboarding-steps li{display:grid;grid-template-columns:52px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.onboarding-steps li>span{color:var(--green);font-size:.8rem;font-weight:600}.onboarding-steps li>div{display:grid;grid-template-columns:220px 1fr;gap:22px}.onboarding-steps strong{font-family:var(--serif);font-size:1.25rem;font-weight:500}.onboarding-steps p{margin:0;color:var(--muted);font-size:.9rem}
.inquiry{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(520px,1fr);gap:70px;padding:78px 0}.inquiry h2{margin-bottom:18px;font-size:clamp(2.55rem,4vw,3.6rem);line-height:1}.inquiry-copy>p:not(.section-label){color:var(--muted)}.inquiry-copy ul{margin:26px 0 0;padding-left:19px;color:var(--muted);font-size:.85rem}.inquiry-copy li+li{margin-top:8px}.inquiry-form{padding:28px;border:1px solid var(--forest);background:var(--paper)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inquiry-form label>span,.inquiry-form legend{display:block;margin-bottom:6px;color:var(--ink);font-size:.78rem;font-weight:600}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;min-height:45px;padding:10px 11px;border:1px solid #aebdb4;border-radius:2px;background:#fff;color:var(--ink)}.form-grid .wide{grid-column:1/-1}.inquiry-form fieldset{display:flex;gap:16px;margin:20px 0;padding:0;border:0}.inquiry-form fieldset legend{width:100%}.inquiry-form fieldset label{display:flex;align-items:center;gap:7px}.inquiry-form fieldset input,.consent input{width:auto;min-height:auto}.inquiry-form fieldset label>span,.consent>span{margin:0;font-weight:400}.message{display:block}.message small{color:var(--muted);font-weight:400}.consent{display:flex;gap:9px;align-items:flex-start;margin:16px 0}.form-status{min-height:22px;margin:11px 0 0;color:var(--green);font-size:.8rem}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:32px;padding:46px max(40px,calc((100% - 1180px)/2));background:var(--forest);color:#bdd0c5}.site-footer>div img{width:78px;margin-bottom:12px}.site-footer p{margin:0;font-size:.78rem}.site-footer nav{display:flex;gap:22px;align-items:start}.site-footer a{font-size:.78rem;text-decoration:none}.site-footer>p{grid-column:1/-1;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);color:#8fa99a}.mobile-inquiry{display:none}
.book-dialog{width:min(1040px,calc(100% - 40px));max-height:88vh;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}.book-dialog::backdrop{background:rgba(8,43,31,.62)}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--paper)}.dialog-head h2{margin:0;font-size:1.8rem}.dialog-head button{min-height:40px;padding:7px 13px;border:1px solid var(--forest);border-radius:3px;background:transparent;color:var(--forest);cursor:pointer}.preview-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:18px}.preview-pages img{width:100%;border:1px solid var(--line);background:#fff}
@media(min-width:981px) and (max-height:700px){.site-header{min-height:68px}.hero{min-height:0;padding:22px 0 26px}.hero h1{margin-bottom:15px;font-size:3.25rem}.hero-text{margin-bottom:16px;font-size:.92rem;line-height:1.48}.ownership-line{margin-top:11px}.hero-screen .screen-crop{aspect-ratio:16/7.4}}
@media(max-width:980px){.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{max-width:720px}.method,.inquiry{grid-template-columns:1fr}.book-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:820px){.section-heading{display:block}.section-heading p{margin-top:12px}.problem-list article{grid-template-columns:150px minmax(0,1fr);gap:20px}.problem-list strong{grid-column:2}}
@media(max-width:640px){html{scroll-padding-top:72px}.site-header{width:100%;min-height:72px;padding:0 18px;grid-template-columns:auto 1fr auto;gap:12px}.brand img{width:68px}.header-actions{justify-self:end;gap:12px}.family-link{font-size:.75rem}.signin{min-height:44px;padding:10px 12px}.hero,.page-section,.proof,.inquiry{width:calc(100% - 36px)}.hero{display:block;padding:24px 0 28px}.hero h1{font-size:2.38rem;line-height:.97}.hero-text{font-size:.94rem}.hero-actions{display:block}.hero-actions .button{width:100%;min-height:48px}.hero-actions .text-link{display:inline-block;margin-top:14px}.ownership-line{font-size:.8rem}.hero-screen{margin-top:21px}.hero-screen .screen-crop{height:215px;aspect-ratio:auto}.screen-crop-director img{width:100%;transform:none}.screen-frame figcaption{display:block}.screen-frame figcaption span{display:block;margin-top:3px}.proof{grid-template-columns:1fr}.proof>div{padding:13px 0;border-right:0;border-bottom:1px solid var(--line)}.proof>div:last-child{border-bottom:0}.proof strong{font-size:1.45rem}.page-section{padding:38px 0}.section-heading{display:block;margin-bottom:22px}.section-heading h2,.method h2,.inquiry h2{font-size:2.12rem}.section-heading p{margin-top:12px;font-size:.9rem}.problem-list article{display:block;padding:20px 0}.problem-list h3{margin-bottom:8px}.problem-list p{margin-bottom:10px}.package-ledger{grid-template-columns:1fr}.package-ledger>div,.package-ledger>div:last-child{display:block;grid-column:auto;padding:18px 0;border-right:0}.package-ledger strong,.package-ledger span{display:block}.package-ledger strong{margin-bottom:7px}.view-grid{display:grid;grid-auto-flow:column;grid-auto-columns:92%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory}.view-grid .screen-frame{scroll-snap-align:start}.view-grid .screen-crop{height:205px;aspect-ratio:auto}.screen-crop-student img,.screen-crop-parent img{width:100%;transform:none}.method{display:block}.method-screen{margin-top:24px}.method-screen .screen-crop{height:210px;aspect-ratio:auto}.screen-crop-rule img{width:195%;transform:translate(-34%,-38%)}.director-list{grid-template-columns:1fr}.director-list article{padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}.director-screen .screen-crop{height:220px;aspect-ratio:auto}.screen-crop-director-detail img{width:100%;transform:none}.book-grid{grid-template-columns:repeat(3,1fr);gap:18px 12px}.book span{font-size:.8rem}.onboarding-steps li{grid-template-columns:28px 1fr;gap:10px}.onboarding-steps p{grid-column:2;margin-top:4px}.inquiry{display:block;padding:40px 0 48px}.inquiry-form{margin-top:24px;padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.inquiry-form fieldset{display:grid;gap:9px}.site-footer{display:block;padding:28px 18px 78px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;margin:24px 0}.site-footer>p{padding-top:16px}.mobile-inquiry{position:fixed;z-index:50;left:12px;right:12px;bottom:12px;display:flex;min-height:48px;align-items:center;justify-content:center;border-radius:3px;background:var(--forest);color:#fff;font-size:.8rem;font-weight:600;text-decoration:none;box-shadow:0 7px 22px rgba(8,43,31,.25)}.preview-pages{grid-template-columns:1fr;padding:12px}}
@media(max-width:640px){
  .screen-crop-director img{width:100%;transform:none}
  .screen-crop-director-detail img{width:100%;transform:none}
  .privacy-mask{left:3%;top:4%;width:48%;min-height:36px;font-size:.75rem}
  .screen-crop-director-detail .privacy-mask{top:2%;width:48%;min-height:48px}
  .book span{font-size:.8rem}
  .onboarding-steps li>div{display:block}
  .onboarding-steps p{grid-column:auto;margin-top:4px}
.mobile-inquiry{display:none}
body:has(.book-dialog[open]) .mobile-inquiry{display:none!important}
  .mobile-inquiry.is-visible{display:flex}
}
.screen-bar{font-size:.75rem}
.message small{font-size:.75rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.inquiry-form input[aria-invalid="true"],.inquiry-form select[aria-invalid="true"],.inquiry-form textarea[aria-invalid="true"],.inquiry-form [data-programs][aria-invalid="true"]{border-color:#9c2f23}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.inquiry-form[aria-busy="true"]{opacity:.78}.inquiry-form button:disabled{cursor:wait;opacity:.72}
.form-status[data-state="validation-error"],.form-status[data-state="network-failure"],.form-status[data-state="rate-limited"]{color:#8b2a20}
