@charset "UTF-8";
:root{--ink:#173e35;--muted:#66786e;--green:#285e4c;--border:#e0e7dd;--paper:#f8faf4;--lime:#dce9b4;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #759d39;outline-offset:4px}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,4.4vw,64px);line-height:1.08;letter-spacing:-2.6px;font-weight:650}h2{font-size:25px;line-height:1.25;letter-spacing:-.6px}h3{font-size:21px;line-height:1.3}p{color:var(--muted)}.academy-header{max-width:1320px;margin:auto;padding:25px 50px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--border)}.academy-brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:650;line-height:1.3;min-width:0}.academy-brand>span:last-child{overflow-wrap:anywhere}.academy-brand small{display:block;font-size:8px;letter-spacing:2px;font-weight:500;margin-top:7px}.academy-mark{display:grid;place-items:center;background:var(--green);color:white;border-radius:13px;width:47px;height:47px;font:700 40px/1 Georgia,serif;flex-shrink:0;padding-bottom:7px}.academy-header nav{display:flex;align-items:center;gap:27px;font-size:13px;flex-shrink:0}.academy-header form{margin:0}.button{border:1px solid var(--green);border-radius:9px;padding:13px 20px;background:var(--green);color:white;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:13px;cursor:pointer;line-height:1.5}.button:hover{background:#204d3f}.button svg{width:17px;height:17px}.button.small{padding:9px 17px}.button.secondary{background:white;color:var(--ink);border-color:#ccd9c8}.button.secondary:hover{background:#eef3e6}.button.full{width:100%}.text-button{border:0;padding:0;background:none;cursor:pointer;color:var(--ink);font-size:13px}.text-link{font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px}.academy-main{max-width:1220px;padding:0 50px 70px;margin:auto;min-height:70vh}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;margin-bottom:20px;color:#6b825e}.school-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center;padding:80px 0 65px}.school-hero p{font-size:16px;line-height:1.8;max-width:475px;margin-bottom:29px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px}.learning-art{position:relative;height:400px;display:flex;align-items:center;justify-content:center}.art-orbit{position:absolute;width:335px;height:335px;border:1px solid #d5dfc6;border-radius:50%;box-shadow:0 0 0 34px #e5edda77,0 0 0 67px #ebf1e044}.learning-note{position:relative;transform:rotate(-6deg);width:280px;height:287px;padding:36px;background:#e2ecbc;border-radius:12px;box-shadow:18px 23px 0 #c8d9b13b,0 20px 50px #294e3212;display:flex;flex-direction:column}.learning-note .eyebrow{font-size:7px;letter-spacing:1.6px;color:#536d40}.learning-note strong{font-size:37px;line-height:1.2;letter-spacing:-1px}.note-lines{margin-top:29px;display:grid;gap:9px}.note-lines i{display:block;height:4px;border-radius:3px;background:#a8c07d66;width:70%}.note-lines i:nth-child(2){width:50%}.note-lines i:nth-child(3){width:60%}.note-check{position:absolute;right:21px;bottom:25px;width:49px;height:49px;display:grid;place-items:center;background:var(--green);color:white;border-radius:50%}.spark{position:absolute;font-size:51px;z-index:1;font-family:Georgia,serif;font-weight:400}.spark.one{right:25px;top:18px;color:#6b8e47}.spark.two{left:6px;bottom:49px;color:#a8bb7c;transform:rotate(12deg)}.art-label{position:absolute;bottom:0;font-size:10px;color:#7e8c73}.school-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;padding:30px 0 65px}.school-values article{border-top:1px solid #ccd8c3;padding:var(--card-padding,26px);min-width:0;display:flex;flex-direction:column;align-items:flex-start}.school-values .tile-icon{flex:none}.tile-icon{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:12px;background:#eaf1dc;color:#506d37;margin-bottom:20px}.school-values h2{font-size:20px;letter-spacing:-.4px;margin:0 0 14px}.school-values p{font-size:13px;margin:0;max-width:none}.returning{display:flex;justify-content:space-between;align-items:center;gap:40px;background:#eaf0df;border:1px solid #dee7cf;border-radius:var(--radius);padding:35px 40px}.returning .eyebrow{margin-bottom:11px}.returning h2{margin-bottom:13px}.returning p{font-size:14px;max-width:570px;margin:0}.returning .button{flex-shrink:0}.academy-footer{max-width:1220px;margin:auto;padding:25px 50px 35px;border-top:1px solid var(--border);display:flex;align-items:center;gap:25px;font-size:12px;color:var(--muted)}.academy-footer strong{color:var(--ink)}.academy-footer small{margin-left:auto;font-size:10px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding:85px 0}.auth-intro h1{font-size:49px;letter-spacing:-1.8px;max-width:380px}.auth-intro p{font-size:16px;max-width:360px;margin-bottom:35px}.auth-card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:35px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:550;margin-bottom:18px}.field input{background:#fcfdfa;border:1px solid #d6dfd0;border-radius:7px;padding:12px 14px;font-size:14px;color:var(--ink);min-width:0;width:100%}.field>span{display:none}.form-hint{font-size:11px;line-height:1.7;margin:0 0 20px}.auth-links{margin-top:25px;padding-top:20px;border-top:1px solid var(--border);display:grid;gap:12px;font-size:12px}.auth-links>a{text-decoration:underline;text-underline-offset:3px}.auth-links p{font-size:11px;margin:0}.notice{margin:22px 0;padding:16px 20px;border:1px solid #d0dfb8;background:#ecf4df;border-radius:9px;font-size:13px}.notice.error{background:#fff3ef;border-color:#eccfc2;color:#8c3f28}.my-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:65px 0 35px}.my-heading h1{font-size:53px;margin-bottom:15px}.my-heading .eyebrow{margin-bottom:14px}.my-heading p{margin:0}.account-chip{display:inline-flex;align-items:center;gap:9px;font-size:12px;padding:12px 17px;border:1px solid #dce5d4;border-radius:30px;background:#eef3e6}.account-chip svg{width:17px;height:17px}.empty-card{padding:45px;text-align:center;background:white;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:30px}.empty-card p{max-width:580px;margin:0 auto 25px;font-size:14px}.empty-card h2{font-size:26px}.empty-card .tile-icon{margin-bottom:18px}.empty-card.compact{padding:25px}.empty-card.compact p{margin:0 auto}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px}.section-title h2{margin:0;font-size:25px}.section-title>span{font-size:12px;color:var(--muted)}.person-courses{margin-bottom:42px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.course-card{border:1px solid var(--border);background:white;border-radius:14px;overflow:hidden}.course-cover{height:150px;position:relative;display:flex;align-items:center;justify-content:center;background:#e3ebd1;color:#739052}.course-cover.online{background:#d8eae4;color:#589281}.course-cover.hybrid{background:#eee7d7;color:#a58e57}.course-cover>svg{width:62px;height:62px;stroke-width:1}.course-cover>span{position:absolute;top:17px;left:18px;padding:3px 10px;border-radius:20px;background:#ffffffa6;font-size:10px;color:var(--ink)}.course-body{padding:24px}.course-body h3{margin:14px 0 10px}.course-body>p{font-size:12px;margin-bottom:24px;min-height:20px}.status{display:inline-flex;font-size:10px;color:#7a8073;background:#f0f2ed;padding:4px 9px;border-radius:5px}.status.available{background:#eaf2db;color:#56763a}.course-body p.access-note{font-size:12px;background:#f5f7f0;border-radius:7px;padding:12px;margin:0;min-height:49px}.account-note{display:flex;gap:20px;flex-wrap:wrap;align-items:center;padding:25px 0;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.account-note a{margin-left:auto;text-decoration:underline;text-underline-offset:4px}.back-link{display:inline-block;margin:40px 0 35px}.course-heading{margin-bottom:35px}.course-heading h1{font-size:48px;max-width:850px}.course-heading .eyebrow{margin-bottom:14px}.course-heading p{margin-bottom:8px}
@media(max-width:1000px){.academy-header{padding:23px 30px}.academy-main{padding:0 30px 50px}.school-hero{gap:15px}.learning-art{transform:scale(.88)}.school-hero h1{font-size:49px}.hero-actions{gap:18px}.school-values{gap:18px}.returning{padding:30px}.returning h2{font-size:23px}.returning .button{max-width:210px}.auth-layout{gap:40px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-footer{padding:25px 30px}.auth-intro h1{font-size:43px}}
@media(max-width:700px){.academy-header{padding:18px 20px;flex-wrap:wrap;gap:19px}.academy-header nav{width:100%;gap:24px;font-size:12px;justify-content:space-between}.academy-brand{font-size:18px}.academy-main{padding:0 22px 40px}.school-hero{grid-template-columns:1fr;padding:45px 0 20px;gap:0}.school-hero h1{font-size:47px;letter-spacing:-1.9px}.school-hero p{font-size:15px}.learning-art{height:330px;transform:scale(.83);margin:-5px 0 -10px}.school-values{grid-template-columns:1fr;padding:22px 0 35px;gap:25px}.school-values article{padding:var(--card-padding,22px)}.school-values p{max-width:none}.school-values .tile-icon{float:none;margin:0 0 18px}.school-values h2{font-size:19px;margin-bottom:9px}.returning{flex-direction:column;align-items:flex-start;gap:24px;padding:26px}.returning .button{max-width:none}.academy-footer{padding:25px 22px;flex-direction:column;align-items:flex-start;gap:8px}.academy-footer small{margin:0}.auth-layout{grid-template-columns:1fr;gap:25px;padding:40px 0 15px}.auth-intro h1{font-size:39px;max-width:none}.auth-intro p{max-width:none;font-size:14px;margin-bottom:20px}.auth-intro .eyebrow{margin-bottom:15px}.auth-card{padding:25px}.my-heading{padding:40px 0 30px;flex-direction:column;align-items:flex-start}.my-heading h1{font-size:43px}.course-grid{grid-template-columns:1fr}.course-cover{height:140px}.section-title{align-items:flex-start}.section-title h2{font-size:23px}.section-title>span{white-space:nowrap;padding-top:4px}.empty-card{padding:30px 23px}.empty-card h2{font-size:24px}.account-note{align-items:flex-start;flex-direction:column;gap:8px}.account-note a{margin:0}.course-heading h1{font-size:38px;letter-spacing:-1.4px}}

.booking-choice{border:0;padding:0;margin:0 0 25px}.booking-choice legend{font-size:13px;font-weight:650;margin-bottom:12px}.booking-choice label{display:inline-flex;align-items:center;gap:8px;margin:0 18px 10px 0;font-size:13px}.booking-choice input{accent-color:#285e4c}.child-fields{padding:22px 0;margin:8px 0 20px;border-top:1px solid #e0e7dd;border-bottom:1px solid #e0e7dd}.child-fields h2{font-size:20px}form:has(input[name=booking_for][value=self]:checked) .child-fields{display:none}.child-entry{padding:15px;border:1px solid #e0e7dd;border-radius:8px;margin:15px 0}.child-entry legend{font-size:12px;font-weight:600}.additional-child summary{font-size:12px;cursor:pointer;color:#285e4c;margin:14px 0}.additional-child>.additional-child{margin-left:0}.auth-layout:has(.booking-choice){align-items:start;padding-top:45px;gap:60px}.auth-layout:has(.booking-choice) .auth-intro{position:sticky;top:40px}.name-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.name-pair .field{min-width:0}.child-fields{padding:18px 0}.child-entry{padding:12px}.child-entry .field{margin-bottom:8px}@media(max-width:700px){.auth-layout:has(.booking-choice){gap:25px;padding-top:35px}.auth-layout:has(.booking-choice) .auth-intro{position:static}}@media(max-width:430px){.name-pair{grid-template-columns:1fr;gap:0}}
.academy-tabs{display:flex;gap:1.5rem;flex-wrap:wrap;margin:1.5rem 0}.academy-tabs a{font-weight:700;color:var(--ink,#18332e)}.course-body progress{width:100%;accent-color:#306b55}

.child-contact-settings{margin:1rem 0;padding:1rem;border:1px solid #dce5df;border-radius:12px}.child-email-toggle,.communication-choice{display:flex;gap:.6rem;align-items:baseline;margin:.7rem 0}.child-email-toggle input,.communication-choice input{width:auto;flex:none}.child-contact-settings:not(:has(.child-email-toggle input:checked)) .child-email-fields{display:none}

.school-manage-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;margin:35px 0}.manage-menu{display:flex;flex-direction:column;gap:6px;align-self:start;position:sticky;top:18px}.manage-menu a{padding:12px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:var(--surface,#fff)}.manage-body{min-width:0}.manage-body .page-heading{margin:0 0 25px}.manage-body h1{font-size:38px;letter-spacing:-1.2px}.manage-body .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manage-body .card{margin-bottom:22px;padding:24px}.manage-body .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field select{font:inherit;padding:12px;border:1px solid var(--border);border-radius:7px;width:100%}.preview-fields{border:0;margin:0;padding:0;min-width:0}.preview-banner{border:2px solid var(--ink)}button:disabled{opacity:.65;cursor:default}.manage-body .section-heading{gap:15px;flex-wrap:wrap}.manage-body .settings-layout{grid-template-columns:180px minmax(0,1fr)}.academy-header nav{flex-wrap:wrap}.academy-main:has(.school-manage-shell){max-width:1500px}.academy-main .auth-card:has([name=username]){margin:35px 0;max-width:760px}
@media(max-width:950px){.school-manage-shell{grid-template-columns:1fr}.manage-menu{position:static;flex-direction:row;flex-wrap:wrap}.manage-body .module-grid{grid-template-columns:1fr}.manage-body .settings-layout{grid-template-columns:1fr}}@media(max-width:520px){.manage-body .form-grid{grid-template-columns:1fr}.academy-header nav{gap:14px}.manage-body .card{padding:18px}}


.manage-menu{display:block;position:sticky;top:20px;align-self:start}.manage-group{border:1px solid var(--border);background:var(--surface,#fff);border-radius:12px;margin-bottom:12px;overflow:hidden}.manage-group>summary{font-weight:650;font-size:14px;padding:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}.manage-group>summary::-webkit-details-marker{display:none}.manage-group>summary::after{content:"+";font-size:18px;line-height:1.2}.manage-group[open]>summary::after{content:"−"}.manage-group[open]>summary{border-bottom:1px solid var(--border)}.manage-children{padding:8px}.manage-children a{display:block;margin:3px 0;border:0;background:transparent;border-radius:7px;padding:11px 12px;font-size:13px}.manage-children a[aria-current=page]{background:var(--accent,#dce9b4);color:var(--accent-ink,#173e35);font-weight:700}.manage-children a:hover{background:var(--paper,#f8faf4)}.manage-children .form-hint{padding:10px;margin:0}.school-settings-content{min-width:0}.manage-group summary:focus-visible{outline:3px solid var(--green);outline-offset:-4px}@media(max-width:950px){.manage-menu{display:block;position:static}.manage-group{margin-bottom:10px}}@media(min-width:951px){.school-manage-shell{grid-template-columns:235px minmax(0,1fr)}}

.public-catalog{margin-top:clamp(35px,4vw,55px)}.academy-logo{display:block;max-width:min(240px,24vw);width:auto;height:auto;max-height:58px;object-fit:contain;object-position:left center;flex:0 1 auto}.academy-brand .academy-logo{border-radius:0;background:transparent}.academy-brand-name{overflow-wrap:anywhere}.we-branding{margin:0 0 24px;padding:18px;background:var(--surface,#fff);border:1px solid var(--border,#ddd);border-radius:12px}.we-branding h2{font-size:18px;margin-bottom:8px}.we-branding .form-hint{margin:8px 0 12px}.we-branding .field{margin:12px 0}.we-brand-preview{display:block;max-width:100%;max-height:100px;object-fit:contain;object-position:left center;margin:12px 0;background:var(--paper,#f8faf4);padding:8px;border-radius:8px}.we-brand-preview[hidden]{display:none}.we-branding select,.we-branding input[type=file]{max-width:100%;font:inherit}
.mobile-nav-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 13px;border:1px solid var(--border,#d8dfdf);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#173e35);font:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap}.mobile-nav-toggle:focus-visible{outline:3px solid #759d39;outline-offset:3px}
@media(max-width:760px){nav.responsive-nav>.mobile-nav-toggle{display:flex!important}nav.responsive-nav.is-collapsed>:not(.mobile-nav-toggle){display:none!important}nav.responsive-nav:not(.is-collapsed){flex-direction:column!important;align-items:stretch!important;gap:4px!important}nav.responsive-nav:not(.is-collapsed)>a,nav.responsive-nav:not(.is-collapsed)>form{width:100%;padding:11px 12px;border-radius:8px}nav.responsive-nav:not(.is-collapsed)>form button{width:100%;text-align:left}.academy-header{position:relative;flex-wrap:nowrap!important;gap:10px!important}.academy-brand{flex:1 1 auto;max-width:calc(100% - 60px);font-size:16px}.academy-brand .academy-logo{max-width:min(180px,38vw)}.academy-header nav.responsive-nav{position:absolute;z-index:40;right:18px;top:50%;transform:translateY(-50%);width:auto!important;gap:0!important;justify-content:flex-end!important;font-size:13px!important}.academy-header nav.responsive-nav:not(.is-collapsed){top:calc(100% - 7px);transform:none;width:min(290px,calc(100vw - 36px))!important;padding:9px;background:var(--surface,#fff);border:1px solid var(--border,#d8dfdf);border-radius:12px;box-shadow:0 14px 32px #173e3520}.academy-header nav.responsive-nav:not(.is-collapsed)>a,.academy-header nav.responsive-nav:not(.is-collapsed)>form{display:flex;align-items:center;min-height:42px}.manage-menu.responsive-nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}.manage-menu.responsive-nav>.mobile-nav-toggle{align-self:flex-start}.settings-nav.responsive-nav:not(.is-collapsed),.billing-tabs.responsive-nav:not(.is-collapsed){flex-direction:column!important;align-items:stretch!important}.settings-nav.responsive-nav:not(.is-collapsed)>a,.billing-tabs.responsive-nav:not(.is-collapsed)>a{flex:0 0 auto;text-align:left}}
/* School identity must remain readable beside navigation and on small screens. */
.academy-header{min-height:100px;height:auto;flex-wrap:wrap}
.academy-header .academy-brand{flex:1 1 340px;min-width:0;max-width:100%;height:auto;white-space:normal;overflow:visible;letter-spacing:normal}
.academy-brand-name{display:block;min-width:0;white-space:normal;overflow:visible;overflow-wrap:anywhere;line-height:1.4}
.academy-header .academy-brand small{white-space:normal;overflow-wrap:anywhere}
.academy-header .academy-logo{flex:0 1 auto;min-width:0}
.academy-header>nav{margin-left:auto}
/* Hover and keyboard focus use matching foreground/background colors. */
.manage-children a{color:var(--ink,#173e35)}
.manage-children a:is(:hover,:focus-visible){background:var(--paper,#f8faf4);color:var(--ink,#173e35);text-decoration:underline;text-underline-offset:3px}
.manage-children a[aria-current=page]:is(:hover,:focus-visible){background:var(--accent,#dce9b4);color:var(--accent-ink,#173e35)}
@media(max-width:760px){.academy-header .academy-brand{flex:1 1 auto;max-width:calc(100% - 92px)}.academy-header .academy-brand:has(.academy-logo):has(.academy-brand-name){flex-wrap:wrap}.academy-header .academy-brand:has(.academy-logo) .academy-brand-name{flex-basis:100%}}

