button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}input,select,textarea{width:100%;min-width:0;border:1px solid #a7bacb;border-radius:5px;background:#fff;color:var(--ink);padding:12px 14px;line-height:1.5;font-size:1rem}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:8px;font-size:.9375rem;line-height:1.5;font-weight:500}label input,label textarea,label select{font-weight:400}input::placeholder,textarea::placeholder{color:#6b7b89;opacity:1}form{display:grid;gap:22px}h4{font-family:var(--display);font-size:1rem;font-weight:600}.small,.field-help{font-size:.8125rem;line-height:1.6}.muted,.field-help{color:var(--muted)}.header-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.theme-toggle{border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--ink);padding:10px 14px;font-size:.875rem;white-space:nowrap;min-height:42px}.theme-toggle:hover{border-color:var(--blue)}.secondary{color:var(--ink);background:transparent;border:1px solid #9eb3c5;box-shadow:none}.secondary:hover{background:#dce8f1}.danger{background:#923c37;color:white;border:1px solid #923c37}.danger:hover{background:#7b2d29}.compact{min-height:42px;padding:9px 14px;font-size:.875rem}.error{border-left:3px solid #b1443c;background:#fcebe8;color:#812e28;padding:14px 17px;line-height:1.6;border-radius:3px}.notice{border:1px solid #bccddd;background:#e8f0f6;color:#36556f;padding:14px 17px;border-radius:5px;line-height:1.6;font-size:.875rem}.pricing .section-heading h2{margin-top:18px}.tariff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tariff-card{background:#fff;border:1px solid #cfdde8;border-radius:8px;padding:25px 22px;display:flex;flex-direction:column;min-width:0}.tariff-card .eyebrow{font-size:.75rem;letter-spacing:.035em;min-height:42px}.tariff-card h3{font-size:1.7rem;letter-spacing:-.03em;margin:13px 0 18px}.tariff-card>p.muted{min-height:108px;font-size:1rem}.tariff-price{font:500 1.65rem/1.2 var(--display);margin-top:27px;min-height:64px;letter-spacing:-.035em}.tariff-lessons{font-size:.9375rem;min-height:74px;color:var(--muted);margin-top:12px}.tariff-card ul{padding-left:17px;font-size:.9375rem;line-height:1.65;display:grid;gap:10px;margin:24px 0}.tariff-card details{margin-top:auto;margin-bottom:20px;border-top:1px solid var(--line)}.tariff-card summary{font-size:.875rem;padding-block:14px;display:list-item;list-style:revert}.tariff-card details h4{margin:12px 0 5px}.tariff-card details p{font-size:.875rem;padding:0 0 14px}.tariff-card>.button{justify-content:center;text-align:center;font-size:.875rem;padding-inline:12px}.tariff-card.featured{background:#e0eaf3;border-top:3px solid #b9865d;padding-top:23px}.cost-note{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:24px;max-width:850px}.application-section{display:grid;grid-template-columns:.85fr 1.3fr;gap:80px;align-items:start}.application-intro h2{margin:18px 0 26px}.application-intro>p:not(.eyebrow){margin-bottom:20px;color:var(--muted)}.application-panel{padding:32px;background:#fff;border:1px solid #cbdce9;border-radius:9px;min-width:0}.form-steps{display:flex;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:25px;font-size:.8125rem;color:var(--muted)}.form-steps [aria-current]{color:var(--ink);font-weight:600}.application-panel .notice{margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.application-panel #application-fields{display:grid;gap:22px}.selection-summary{padding:17px 20px;background:#eff4f8;border-radius:5px;border-left:2px solid #bd8d67}.selection-summary strong{font-family:var(--display);font-size:1.125rem;font-weight:500}.selection-summary p{margin-top:6px;font-size:.875rem;color:var(--muted)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:23px}.form-actions .primary{flex:1}.check{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;font-size:.875rem;line-height:1.6;gap:12px}.check input{width:19px;height:19px;flex:0 0 19px;margin:3px 0 0;accent-color:#2d5a7c}.check a{text-decoration:underline;text-underline-offset:3px}.application-panel .check{margin-top:24px}.review-data{display:grid;grid-template-columns:minmax(110px,.55fr) minmax(0,1fr);column-gap:25px;row-gap:12px;font-size:.9375rem;line-height:1.6}.review-data dt{color:var(--muted)}.review-data dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.application-panel h3{font-size:1.7rem;margin-bottom:24px}.success-mark{display:grid;place-items:center;width:52px;height:52px;border:1px solid #63816a;color:#406847;border-radius:50%;font-size:1.6rem;margin-bottom:25px}#application-success>p{margin-bottom:22px}.badge,.test-badge{display:inline-block;width:fit-content;font-size:.8125rem;padding:4px 10px;border-radius:20px;background:#dce8f1;color:#315776;line-height:1.6}.test-badge{background:#f3e3d4;color:#785035}.legal-page{padding-block:55px 90px;max-width:850px}.legal-page h1{font-size:clamp(2rem,4vw,3.2rem);margin:35px 0}.legal-page h2{font-size:1.7rem;margin:35px 0 17px}.legal-page p{margin-bottom:20px}.legal-page .review-data{margin-top:25px}.admin-page{background:var(--bg)}.admin-header{padding:22px 40px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px}.admin-main{max-width:1450px;margin:auto;padding:44px 40px 90px}.admin-main h1{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.03em;line-height:1.2}.login-panel{max-width:480px;margin:40px auto;background:#fff;padding:38px;border:1px solid var(--line);border-radius:9px}.login-panel h1{margin:16px 0}.login-panel form{margin:28px 0}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:24px}.admin-title h1{margin-top:14px}.admin-nav{display:flex;flex-wrap:wrap;gap:8px;padding:25px 0;border-bottom:1px solid var(--line);margin-bottom:27px}.admin-nav button{padding:12px 18px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:5px;font-size:.9375rem}.admin-nav button[aria-current]{background:#214668;color:#fff}.filters{display:grid;grid-template-columns:1.5fr repeat(2,1fr);gap:16px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:24px;align-items:end}.filters .button{justify-content:center}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:25px 0}.list-heading p{max-width:780px}.application-row{display:grid;grid-template-columns:1fr 1.1fr .9fr;gap:28px;width:100%;text-align:left;border:1px solid var(--line);background:white;color:var(--ink);padding:22px 25px;border-radius:5px;margin-bottom:10px;transition:border-color .2s}.application-row:hover{border-color:var(--blue)}.application-row>div{display:flex;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere}.application-row strong{font-size:1.0625rem;font-weight:500}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:25px;font-size:.875rem}.empty-state{padding:45px;border:1px dashed #a4bacb;border-radius:6px;color:var(--muted);text-align:center}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.editor{background:#fff;border:1px solid var(--line);border-radius:7px;padding:30px;display:grid;gap:21px}.editor h2{font-size:1.65rem;letter-spacing:-.025em}.editor>.button{justify-content:center}.editor>p{font-size:.9375rem}.editor input[type=number]{max-width:240px}.settings-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.checklist{display:grid;gap:16px;padding-left:20px;line-height:1.6}.detail-dialog,.confirm-dialog{width:min(850px,calc(100% - 32px));max-height:90dvh;border:1px solid #819bb0;border-radius:10px;padding:30px;background:#fff;color:var(--ink);overflow-y:auto}.confirm-dialog{width:min(500px,calc(100% - 32px))}.confirm-dialog h2{font-size:1.6rem;margin-bottom:20px}dialog::backdrop{background:#07182ccc;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:start;gap:24px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.dialog-top h2{font-size:1.8rem;overflow-wrap:anywhere}.state-form{padding-block:25px;border-block:1px solid var(--line);margin:30px 0}.state-form select{max-width:280px}.state-form .button,.note-form .button{justify-self:start}.note-form{margin:20px 0 30px}.note-card{background:#edf3f8;padding:15px;border-radius:4px;margin:15px 0;white-space:pre-wrap;overflow-wrap:anywhere}.note-card span{display:block;margin-top:8px}.history-list{padding-left:20px;display:grid;gap:12px;font-size:.875rem;color:var(--muted);line-height:1.6;margin-bottom:30px}#admin-message{margin-bottom:25px}#application-detail h3{font-size:1.4rem}.button.danger{justify-content:center}#detail-error{margin-top:20px}
/* A complete navy theme, including forms and administrative surfaces. */
html[data-theme=dark]{color-scheme:dark;--bg:#102338;--ink:#edf3f8;--muted:#b9cad9;--blue:#acd0ed;--copper:#efbd93;--line:#adc7dd2e;background:var(--bg);color:var(--ink)}
[data-theme=dark] .header-contact,[data-theme=dark] .secondary,[data-theme=dark] .theme-toggle{color:var(--ink);border-color:#8ba9c35c}
[data-theme=dark] .header-contact:hover,[data-theme=dark] .secondary:hover{background:#2e4b65}
[data-theme=dark] .primary{background:#deb18a;color:#172c40;border-color:transparent;box-shadow:none}[data-theme=dark] .primary:hover{background:#f1c49d}
[data-theme=dark] .hero-description,[data-theme=dark] .hero-subline,[data-theme=dark] .hero-topline .micro,[data-theme=dark] .cube-stage figcaption{color:#b9cad9}
[data-theme=dark] .cube-stage{background:radial-gradient(ellipse at 55% 45%,#3e63804d,transparent 70%)}[data-theme=dark] .hero-cube{filter:drop-shadow(0 20px 20px #0004)}
[data-theme=dark] .foundation,[data-theme=dark] .track,[data-theme=dark] .tariff-card,[data-theme=dark] .application-panel,[data-theme=dark] .login-panel,[data-theme=dark] .filters,[data-theme=dark] .editor,[data-theme=dark] .application-row,[data-theme=dark] .reviews-grid article,[data-theme=dark] dialog{background:#172e45;border-color:#afc6dc2b;color:var(--ink)}
[data-theme=dark] .foundation-lessons article,[data-theme=dark] .selection-summary,[data-theme=dark] .progression,[data-theme=dark] .note-card{background:#203b53;border-color:#b5cce02a;color:var(--ink)}
[data-theme=dark] .foundation-intro .lead,[data-theme=dark] .foundation-bottom>p,[data-theme=dark] .track ul,[data-theme=dark] .track-top .micro,[data-theme=dark] .teacher-copy .lead{color:#c9dbea}
[data-theme=dark] .lesson-number,[data-theme=dark] .track-number,[data-theme=dark] .track-featured .track-number{color:#e5b78e}
[data-theme=dark] .track-featured,[data-theme=dark] .tariff-card.featured{background:#264863;border-color:#7294b04a}[data-theme=dark] .track-featured h3{color:#d7e8f5}
[data-theme=dark] .teacher-section,[data-theme=dark] .contact-panel{background:#28465e;border-color:#aec4d839;--copper:#efbd93}[data-theme=dark] .teacher-copy h2 span{color:#acd0ed}
[data-theme=dark] .contact-copy>p,[data-theme=dark] .contact-note,[data-theme=dark] .footer-bottom{color:#c4d5e3}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#10273b;border-color:#738fa8;color:#edf3f8}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#a1b6c7}
[data-theme=dark] .notice{background:#233f57;color:#cce0f0;border-color:#6e91ad70}[data-theme=dark] .error{background:#482c30;color:#ffd5d0;border-color:#f5998f}
[data-theme=dark] .badge{background:#3c5f7a;color:#e5f2fb}[data-theme=dark] .test-badge{background:#574334;color:#f4d4b8}[data-theme=dark] .admin-nav button[aria-current]{background:#deb18a;color:#172c40}
[data-theme=dark] .success-mark{border-color:#a4c4a9;color:#c4e1c9}[data-theme=dark] .danger{background:#a64a43;color:white}
@media(max-width:1200px){.header{flex-wrap:wrap;padding-block:20px}.header nav{order:3;width:100%;justify-content:center}.tariff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tariff-card>p.muted{min-height:55px}.tariff-lessons{min-height:48px}.tariff-price{min-height:40px}.application-section{gap:45px}.application-panel{padding:27px}}
@media(max-width:900px){.application-section{grid-template-columns:1fr;gap:32px}.application-intro{max-width:600px}.tariff-card>p.muted{min-height:82px}.application-panel{padding:30px}.settings-layout{grid-template-columns:1fr}.editor-grid{gap:18px}.editor{padding:24px}.admin-header,.admin-main{padding-inline:25px}.filters{grid-template-columns:1fr 1fr}.application-row{gap:20px}.header-tools{gap:10px}.header nav{padding-top:12px}.hero-proof{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.header{gap:15px}.header-tools{width:100%;justify-content:space-between}.header-tools .header-contact{max-width:none}.header nav{column-gap:24px;row-gap:10px;font-size:.875rem}.hero-proof{grid-template-columns:1fr}.tariff-grid{grid-template-columns:1fr}.tariff-card{padding:28px}.tariff-card .eyebrow,.tariff-card>p.muted,.tariff-lessons,.tariff-price{min-height:0}.tariff-card h3{font-size:1.875rem}.tariff-price{font-size:1.85rem;margin-top:23px}.tariff-card>.button{min-height:50px}.application-panel{padding:23px}.form-grid{grid-template-columns:1fr}.form-steps{gap:16px;font-size:.8125rem}.review-data{grid-template-columns:1fr;gap:4px}.review-data dd{margin-bottom:13px}.application-panel h3{font-size:1.5rem}.form-actions{gap:12px}.form-actions button{width:100%}.admin-header{padding:20px;flex-wrap:wrap}.admin-main{padding:30px 20px 65px}.admin-title{align-items:start;flex-direction:column;gap:18px}.admin-nav{gap:6px}.admin-nav button{font-size:.875rem;padding:10px 12px}.login-panel{padding:25px;margin-top:15px}.filters{grid-template-columns:1fr;padding:20px}.application-row{grid-template-columns:1fr;padding:22px;gap:17px}.application-row>div{gap:6px}.editor-grid{grid-template-columns:1fr}.list-heading{align-items:flex-start}.list-heading p{font-size:.875rem}.list-heading button{flex-shrink:0}.pagination{gap:12px;font-size:.8125rem}.detail-dialog,.confirm-dialog{padding:22px;max-height:94dvh}.dialog-top{gap:15px}.dialog-top h2{font-size:1.5rem}.dialog-top button{font-size:.8125rem;padding:8px 10px}.legal-page h1{font-size:2rem}.legal-page h2{font-size:1.5rem}.state-form .button,.note-form .button{width:100%}.admin-main h1{font-size:2rem}.theme-toggle{font-size:.875rem}.tariff-card summary{min-height:48px}}
.teacher-layout,.teacher-facts,.teacher-sign,.foundation-intro,.faq-heading,.application-intro{min-width:0}
@media(max-width:380px){.teacher-facts{grid-template-columns:1fr}.teacher-sign{max-width:100%}}
/* Content-led grids also adapt when the reader enlarges text. */
.tariff-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.tracks{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.foundation-lessons{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.tariff-card,.track,.foundation-lessons article,.application-panel,.editor,.review-data,.contact-panel{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:900px){.tracks{grid-template-columns:1fr}}
@media(max-width:680px){.header .brand-symbol{display:block}.header .brand-type{font-size:1rem}}

/* Fixed-price programs: clear format, complete price and scope at a glance. */
body{overflow-wrap:anywhere}
.tariff-grid{gap:18px;align-items:stretch}
.tariff-card{padding:28px 24px;border-radius:14px;box-shadow:0 10px 32px #19395605;transition:border-color .2s,box-shadow .2s}
.tariff-card:hover{border-color:#87a5bc;box-shadow:0 14px 36px #1939560c}
.tariff-card.featured{border:1px solid #9ab2c7;border-top:3px solid var(--copper);padding-top:26px}
.tariff-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px}
.tariff-format{font-size:.8125rem;font-weight:500;line-height:1.4;padding:7px 11px;border:1px solid var(--line);border-radius:30px}
.tariff-number{font:500 .875rem var(--display);color:var(--muted);font-variant-numeric:tabular-nums}
.tariff-audience{font-size:.8125rem;line-height:1.5;color:var(--muted);min-height:2.5rem}
.tariff-card h3{font-size:1.85rem;line-height:1.15;min-height:4.4rem;margin:10px 0 16px;hyphens:none;overflow-wrap:normal}
.tariff-card>p.muted{font-size:.9375rem;line-height:1.65;min-height:7.7rem}
.tariff-pricing{padding:22px 0 20px;margin-top:18px;border-top:1px solid var(--line)}
.tariff-price-label,.tariff-price-note{font-size:.8125rem;line-height:1.5;color:var(--muted)}
.tariff-price{font:550 clamp(2rem,2.8vw,2.85rem)/1.2 var(--display);letter-spacing:-.055em;margin:8px 0 6px;min-height:0;white-space:normal;font-variant-numeric:lining-nums}
.tariff-lessons{font-size:.9375rem;font-weight:500;line-height:1.6;min-height:3.1rem;margin-top:0;color:var(--ink)}
.tariff-card ul{list-style:none;padding-left:0;margin:24px 0 28px;gap:14px;font-size:.875rem;line-height:1.6}
.tariff-card li{position:relative;padding-left:19px}
.tariff-card li::before{content:'+';position:absolute;left:0;color:var(--copper);font-weight:600}
.tariff-card>.button{font-size:.875rem;min-height:52px;border-radius:7px}
.tariff-card summary{font-size:.875rem;line-height:1.6}
.pricing-booking-note{font-size:.9375rem;line-height:1.7;margin-top:28px;color:var(--ink);max-width:850px}
.pricing .cost-note{margin-top:10px}
[data-theme=dark] .tariff-card{box-shadow:none}
[data-theme=dark] .tariff-card.featured{border-top-color:var(--copper)}
[data-theme=dark] .tariff-card:hover{border-color:#88a8c1}
@media(max-width:680px){
 .tariff-card{padding:26px 24px}
 .tariff-card.featured{padding-top:24px}
 .tariff-card h3,.tariff-card>p.muted,.tariff-audience,.tariff-lessons{min-height:0}
 .tariff-card h3{font-size:1.9rem;margin-bottom:14px}
 .tariff-top{margin-bottom:20px}
 .tariff-price{font-size:2.65rem}
 .tariff-pricing{margin-top:22px}
 .hero-proof{grid-template-columns:minmax(0,1fr)}
 .hero-proof>div{min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}
 .hero-copy,.section-heading>*{min-width:0}
 h1,h2,.tariff-card h3{overflow-wrap:anywhere}
 .footer-top{flex-wrap:wrap;gap:20px}
}
