@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f7f7ef;--ink:#153e3a;--green:#245c50;--muted:#66746a;--line:#daddd1;--orange:#c76744;--light:#eaf0e5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{max-width:1280px;padding:26px 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:2px;font-size:17px;line-height:1.3}.brand-icon{background:var(--ink);color:var(--paper);font-size:38px;line-height:50px;width:50px;text-align:center;border-radius:50%;letter-spacing:-5px}.brand-icon span{color:#d5e4a5}.brand-sub{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}nav{display:flex;gap:30px;font-size:13px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.button{border:0;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 23px;border-radius:5px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#143e35;transform:translateY(-1px)}.button span{font-size:20px}.button.small{padding:10px 19px;font-size:12px}main>section{max-width:1184px;padding:88px 0;margin:auto}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;padding-top:70px;padding-bottom:76px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 22px}.dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:8px}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500;line-height:1.18;letter-spacing:-.025em;margin:0}h1{font-size:clamp(42px,4.4vw,63px)}em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.intro{color:var(--muted);font-size:16px;line-height:1.8;margin:27px 0}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.text-link{font-size:13px;font-weight:600}.hero-notes{display:flex;gap:20px;font-size:10px;margin-top:25px;color:var(--muted)}.hero-art{position:relative;padding:28px 20px 45px;background:#e7ecdf;border-radius:50% 50% 7px 7px;min-height:515px;background-image:radial-gradient(#b6c2ac 1px,transparent 1px);background-size:16px 16px}.paper{background:#fffef6;padding:27px 29px 23px;box-shadow:0 13px 30px #26462b15;transform:rotate(-4deg);margin-top:20px}.paper-top,.card-meta{display:flex;justify-content:space-between;font-size:8px;font-weight:700;letter-spacing:1.1px;border-bottom:1px solid var(--line);padding-bottom:17px;gap:15px}.math-sketch{background:repeating-linear-gradient(0deg,transparent,transparent 23px,#dbdfd44a 24px),repeating-linear-gradient(90deg,transparent,transparent 23px,#dbdfd44a 24px);margin:15px 0 20px}.math-sketch svg{width:100%;height:160px}.math-sketch text{font-size:12px;fill:var(--ink)}.math-sketch .hand{font-family:Georgia,serif;fill:var(--orange);font-style:italic}.paper h2{font-size:27px;letter-spacing:-1px}.paper p{font-size:12px;color:var(--muted)}.paper-bottom{border-top:1px solid var(--line);padding-top:15px;display:flex;align-items:center;gap:10px;font-size:10px}.check{color:var(--green);font-size:20px}.sticky{position:absolute;right:-20px;bottom:65px;background:#e8edb4;padding:22px 25px;font-family:Georgia,serif;font-size:19px;font-style:italic;line-height:1.3;transform:rotate(7deg);box-shadow:0 5px 14px #0000000a}.art-caption{position:absolute;bottom:15px;left:32px;font-size:8px;letter-spacing:1.4px}.ribbon{background:var(--ink);color:#e7ecdf;display:flex;justify-content:center;gap:70px;padding:20px;font-size:12px}.ribbon span:before{content:'✳';margin-right:20px;color:#c9d7a1}.section-head{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:40px}h2{font-size:39px}.section-head>p{font-size:13px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.steps article{border-top:1px solid var(--line);padding-top:23px}.step-num{font-size:9px;letter-spacing:1.6px;color:var(--orange);font-weight:700}.steps h3{font-size:21px;letter-spacing:-.7px;margin:20px 0 14px}.steps p{font-size:13px;color:var(--muted);max-width:310px}.assessment{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.assessment>div>p:not(.eyebrow){color:var(--muted);font-size:13px}.calm-note{display:flex;gap:18px;align-items:center;margin-top:32px}.calm-note>span{font-size:39px;color:var(--orange)}.calm-note p{font-size:12px;color:var(--muted)}.test-card{background:#fffefa;border:1px solid var(--line);padding:34px;border-radius:8px;box-shadow:0 6px 20px #22382405}.card-meta{font-size:9px;color:var(--muted)}.test-card h3{font-size:23px;letter-spacing:-.8px;margin-top:25px}.test-card p{font-size:13px;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin:23px 0 8px}select,textarea{width:100%;padding:12px;border:1px solid #bcc8b8;border-radius:4px;background:#fffefa;color:var(--ink)}.test-card .button{width:100%;margin-top:20px}.fine{font-size:11px!important;color:var(--muted);line-height:1.6}.test-card .fine{margin-bottom:0}.pill{padding:6px 13px;font-size:9px;letter-spacing:1px;border:1px solid var(--line);border-radius:30px}.report-layout{display:grid;grid-template-columns:1.1fr 1fr;background:var(--light);padding:40px;gap:65px;border-radius:8px}.report-card{background:#fffefa;border:1px solid var(--line);padding:29px;border-radius:5px}.report-card h3{font-size:26px;letter-spacing:-1px;margin:25px 0}.skill{display:flex;justify-content:space-between;gap:15px;font-size:11px;padding:13px 0;border-top:1px solid var(--line)}.skill span:last-child{color:var(--green);font-size:10px}.next-step{margin-top:16px;background:#eff1e6;padding:17px}.next-step .eyebrow{font-size:8px;margin:0 0 7px}.next-step>p:last-child{font-size:11px;margin:0}.report-follow{align-self:center}.mini-icon{font-size:33px}.report-follow h3{font-size:31px;letter-spacing:-1px;margin:10px 0 20px}.report-follow p{font-size:13px;max-width:340px;color:var(--muted)}.report-follow .text-link{display:block;margin-top:20px;font-size:11px}.contact-section{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;border-bottom:1px solid var(--line)}.contact-heading{padding-top:35px}.contact-heading>p:last-child{color:var(--muted);font-size:13px}.contact-card{border:1px solid var(--line);background:#fffefa;border-radius:8px;padding:29px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:22px;margin-bottom:25px}.tabs button{padding:0 0 13px;border:0;background:none;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--ink);font-weight:700}.contact-card h3{font-size:24px;letter-spacing:-.7px}.contact-card p{font-size:12px;color:var(--muted)}.setup-message{display:flex;gap:15px;background:#f1f2e8;border-radius:5px;padding:17px;margin:23px 0}.setup-message>span{font-size:25px}.setup-message strong{font-size:12px}.setup-message p{font-size:11px;margin:5px 0 0}.checkbox{font-weight:400;display:flex;gap:8px;align-items:center;margin-bottom:24px}.reasons label{font-weight:400;border:1px solid var(--line);padding:11px 10px;margin:8px 0;border-radius:4px;display:flex;gap:8px;align-items:start}input{accent-color:var(--green)}.contact-card textarea{font-size:12px;margin-bottom:15px}.contact-card .button{width:100%}#draft-area{margin-top:25px;border-top:1px solid var(--line);padding-top:15px}h4{margin:0;font-size:14px}.outline-button{border:1px solid var(--green);background:transparent;padding:9px 15px;border-radius:4px;color:var(--ink);font-size:12px}#copy-status{font-size:11px;padding-left:10px}.teacher{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center}.teacher-mark{background:#dce4d6;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border-radius:180px 180px 5px 5px;overflow:hidden}.teacher-mark>span:first-child{font-family:Georgia,serif;font-size:95px;font-style:italic;letter-spacing:-12px;z-index:1}.teacher-mark svg{width:80%;position:absolute;bottom:35px;opacity:.3}.teacher-mark>span:last-child{font-size:8px;letter-spacing:2px;text-align:center;margin-top:20px}.teacher p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:410px}.teacher .text-link{display:block;margin-top:25px}.faq{border-top:1px solid var(--line);max-width:820px!important}.faq h2{margin-bottom:35px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;font-size:14px}.faq details p{font-size:13px;color:var(--muted);max-width:700px}.closing{text-align:center;background:var(--light);max-width:none!important;padding:70px 20px!important}.closing h2{font-size:47px}.closing .button{margin-top:30px}footer{max-width:1280px;padding:30px 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted)}footer .brand{font-size:11px;display:block;letter-spacing:1px}footer .brand span{display:block;font-size:7px;margin-top:5px}.progress{height:4px;background:var(--light);margin:25px 0}.progress span{display:block;height:100%;background:var(--green)}.options{display:grid;gap:10px;margin:22px 0}.option{padding:11px 14px;background:#fffefa;border:1px solid var(--line);text-align:left;border-radius:4px;color:var(--ink);font-size:14px}.option[aria-pressed=true]{background:var(--light);border-color:var(--green);box-shadow:inset 3px 0 var(--green)}.quiz-buttons{display:flex;gap:10px}.quiz-buttons .button{margin-top:0}.quiz-buttons .outline-button{white-space:nowrap}.result-row{padding:15px 0;border-bottom:1px solid var(--line)}.result-row strong{font-size:12px}.result-row p{font-size:12px;margin:5px 0}.result-cta{background:var(--light);padding:18px;margin-top:20px}.result-cta h4{font-size:16px}.result-cta .button{font-size:12px}.restart{margin-top:16px!important} [hidden]{display:none!important}
@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:100px}}@media(max-width:1250px){main>section{margin-left:45px;margin-right:45px}.closing{margin:0}.hero{gap:35px}.sticky{right:-10px}.hero-notes{gap:12px}.ribbon{gap:30px}.assessment,.contact-section{gap:45px}}@media(max-width:800px){header{padding:20px 24px}nav{display:none}.brand{font-size:14px}.brand-icon{font-size:29px;width:40px;line-height:40px}.brand-sub{font-size:7px}.button.small{font-size:11px;padding:9px 12px}main>section{margin:0 24px;padding:55px 0}.hero{grid-template-columns:1fr;gap:35px;padding-top:45px}.hero h1{font-size:48px}.hero-art{max-width:440px;width:100%;margin:0 auto;min-height:490px}.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:20px 24px;font-size:10px}.ribbon span:before{margin-right:9px}.section-head{display:block}.section-head>p{margin-top:22px}.steps{grid-template-columns:1fr;gap:15px}.steps article{padding-top:18px}.steps h3{margin-top:12px}.steps p{max-width:none}.assessment,.report-layout,.contact-section,.teacher{grid-template-columns:1fr;gap:30px}.test-card{padding:24px}.report-layout{padding:22px;gap:30px}.report-card{padding:21px}.section-head .pill{display:inline-block;margin-top:18px}.report-follow h3{font-size:29px}.contact-heading{padding-top:0}.contact-card{padding:22px}.teacher-mark{min-height:280px;max-width:370px;width:100%;margin:auto}.teacher h2{font-size:35px}.teacher p:not(.eyebrow){max-width:none}.closing{margin:0!important;padding:55px 24px!important}.closing h2{font-size:37px}h2{font-size:33px}footer{padding:27px 24px;flex-wrap:wrap;gap:15px}footer>span{width:100%}.desktop{display:none}.hero-notes{font-size:9px;flex-wrap:wrap}.intro{font-size:15px}.eyebrow{font-size:9px}.report-follow .button{width:100%}.skill{font-size:10px}.card-meta{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.report-explanation{color:var(--muted);font-size:13px;max-width:720px;margin-bottom:25px}
/* Scheduling and shared progress preview */
.portal-section{border-top:1px solid var(--line)}.portal-notice{background:#ebeee1;border-radius:7px;padding:17px 21px;display:flex;align-items:center;gap:18px;margin-bottom:24px}.portal-notice p{font-size:11px;color:var(--muted);margin:0;flex:1}.portal-notice .pill{white-space:nowrap}.subtle-button{background:none;border:0;color:var(--green);text-decoration:underline;text-underline-offset:4px;font-size:11px;white-space:nowrap;padding:6px}.role-switch{display:flex;gap:8px;margin-bottom:23px}.role-switch button{border:1px solid var(--line);padding:12px 27px;background:transparent;color:var(--ink);border-radius:5px;font-weight:600;font-size:13px}.role-switch button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}#portal-content{background:#f0f2e8;border:1px solid var(--line);border-radius:8px;padding:30px}.portal-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:25px}.portal-top .eyebrow{font-size:9px;margin-bottom:9px}.portal-top h3{font-size:28px;letter-spacing:-1px}.portal-top p:last-child{font-size:12px;color:var(--muted);margin-bottom:0}.portal-nav{display:flex;gap:6px;border-bottom:1px solid #d0d8ca;margin-bottom:26px;overflow-x:auto}.portal-nav button{border:0;border-bottom:2px solid transparent;white-space:nowrap;background:none;padding:12px 17px;color:var(--muted);font-size:12px}.portal-nav button[aria-pressed=true]{color:var(--ink);font-weight:700;border-bottom-color:var(--green)}.portal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.portal-stats article{padding:20px;background:#fffefa;border:1px solid var(--line);border-radius:6px}.portal-stats article>span{font-size:11px;color:var(--muted);display:block}.portal-stats strong{font-family:'Manrope',sans-serif;display:block;font-size:30px;margin-top:8px;letter-spacing:-1px;font-weight:500}.portal-stats strong.money{font-size:26px}.portal-stats small{font-size:14px;color:var(--muted)}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dashboard-card{padding:26px;background:#fffefa;border:1px solid var(--line);border-radius:6px;min-width:0}.dashboard-card h3{font-size:21px;letter-spacing:-.7px;margin-bottom:15px}.dashboard-card p{font-size:12px;color:var(--muted)}.dashboard-card .eyebrow{font-size:9px}.task-check{font-size:12px;font-weight:400;margin:15px 0;display:flex;gap:10px;align-items:start}.task-check input{margin-top:5px;flex-shrink:0}.task-read{padding:12px 0;border-bottom:1px solid var(--line)}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.card-heading h3{margin:0}.table-scroll{overflow-x:auto}.portal-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.portal-table th{font-size:10px;letter-spacing:.4px;color:var(--muted);font-weight:500;background:#f2f4ed}.portal-table th,.portal-table td{padding:16px 13px;border-bottom:1px solid var(--line)}.portal-table small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.portal-table select{font-size:11px;padding:8px;min-width:110px}.status{display:inline-block;padding:4px 9px;font-size:10px;border-radius:20px;background:#eceee7;white-space:nowrap}.status.attended,.status.paid,.status.confirmed{color:#285d4b;background:#e5f0e5}.status.absent{color:#9c503e;background:#f4e7df}.status.pending{color:#85622d;background:#f4edd8}.status.cancelled{color:#6b706b;background:#ecece8}.booking-row,.payment-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:19px 0}.booking-row strong,.payment-row strong{font-size:12px}.booking-row p,.payment-row p{font-size:11px;margin:5px 0 9px}.payment-action{text-align:right;display:grid;gap:10px}.payment-action>strong{font-size:21px;font-weight:500}.payment-action .outline-button{font-size:11px}.payment-note{border-left:3px solid #b6c5a6;background:#f1f3e8;padding:16px 19px;margin-top:22px}.payment-note strong{font-size:12px}.payment-note p{font-size:11px;margin:6px 0 0;color:var(--muted)}.notification-settings{display:flex;gap:15px;margin:23px 0}.notification-settings>div{border:1px solid var(--line);padding:15px;display:grid;gap:9px;flex:1}.notification-settings strong{font-size:12px}.notice-row{padding:17px 0;border-top:1px solid var(--line)}.notice-row strong{font-size:12px}.notice-row p{margin:5px 0}.portal-alert{border:1px solid #b8caae;background:#e3eddb;padding:12px 16px;border-radius:4px;font-size:12px}.empty-state{padding:40px 15px;text-align:center}.empty-state>span{font-size:40px;color:#8f9f87}.empty-state h4{margin-top:12px}.availability-check{display:flex;gap:6px;align-items:center;font-weight:400;font-size:11px;margin:0}.booking-preview-note .pill{font-size:8px}.booking-preview-note p{font-size:11px}.calendar{margin-top:23px}.calendar-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.calendar-head strong{font-size:12px}.calendar-head>span{font-size:9px;color:var(--muted)}.calendar-days{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:17px}.calendar-days button{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:5px;padding:8px}.calendar-days span{font-size:9px}.calendar-days strong{font-family:'Manrope',sans-serif;font-weight:600;font-size:19px;line-height:1.6}.calendar-days button[aria-pressed=true],.time-slots button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.calendar-days button:disabled{text-decoration:line-through}.calendar-date{font-size:11px!important;margin:20px 0 9px!important;font-weight:600}.time-slots{display:flex;gap:10px;flex-wrap:wrap;min-height:45px;margin-bottom:15px}.time-slots button{padding:10px 16px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);font-size:13px}.time-slots small{font-size:9px;margin-left:7px}.calendar>.button{width:100%;font-size:12px}.calendar .checkbox{font-size:11px;margin:17px 0}.portal-dialog{border:1px solid var(--line);border-radius:9px;background:#fffefa;color:var(--ink);padding:0;width:min(520px,calc(100% - 30px));max-height:90dvh;box-shadow:0 30px 100px #153e3a44}.portal-dialog::backdrop{background:#16362f77;backdrop-filter:blur(3px)}.dialog-top{padding:15px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-top p{margin:0;font-size:11px;color:var(--muted)}.dialog-close{border:0;background:none;color:var(--ink);font-size:27px;padding:0 6px;line-height:1}.dialog-body{padding:27px}.dialog-body h3{font-size:26px;letter-spacing:-1px}.dialog-body>p{font-size:13px;color:var(--muted)}.dialog-body>.button{width:100%;margin-top:20px}.demo-label{font-size:9px!important;letter-spacing:1.6px;color:var(--orange)!important;font-weight:700}.booking-summary{margin:25px 0;padding:16px;background:#f1f3e9}.booking-summary p{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:10px 0;margin:0;border-bottom:1px solid var(--line)}.booking-summary p:last-child{border:0}.booking-summary span{color:var(--muted)}.booking-summary strong{text-align:right;font-weight:500}.success-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:26px;color:var(--green);background:var(--light);margin-bottom:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.portal-notice{flex-wrap:wrap;gap:12px}.portal-notice p{flex-basis:100%;order:3}.portal-notice .subtle-button{margin-left:auto}.role-switch button{padding:10px 22px}#portal-content{padding:18px}.portal-top h3{font-size:23px}.portal-top .pill{font-size:8px}.portal-stats{grid-template-columns:1fr 1fr;gap:10px}.portal-stats article{padding:15px}.portal-stats article>span{font-size:10px}.portal-stats strong{font-size:27px}.portal-stats strong.money{font-size:23px}.portal-grid{grid-template-columns:1fr;gap:15px}.dashboard-card{padding:19px}.portal-nav button{padding:10px 12px;font-size:11px}.card-heading{align-items:start;flex-direction:column}.payment-row{align-items:start;flex-direction:column;gap:13px}.payment-action{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;flex-wrap:wrap}.payment-action>.fine{display:block}.portal-table th,.portal-table td{padding:12px 8px;font-size:11px}.portal-table th{font-size:9px}.portal-table select{min-width:95px}.calendar-days{grid-template-columns:repeat(4,1fr)}.dialog-body{padding:22px}.calendar-head{align-items:start;flex-direction:column;gap:3px}.booking-summary p{font-size:11px}.notification-settings{flex-direction:column}.portal-top{align-items:start}}
.meeting-benefits{list-style:none;padding:6px 0;margin:20px 0}.meeting-benefits li{font-size:13px;margin:13px 0;display:flex;align-items:center;gap:12px}.meeting-benefits li:before{content:'✓';color:var(--green)}#public-calendar>.button{margin-top:14px}.calendar-back{margin-top:16px}.portal-choices{display:grid;grid-template-columns:1fr 1fr;gap:24px}.portal-choice{display:flex;align-items:center;gap:22px;padding:32px;background:#fffefa;border:1px solid var(--line);border-radius:7px;color:var(--ink);text-align:left;transition:border-color .2s,box-shadow .2s}.portal-choice:hover{border-color:var(--green);box-shadow:0 5px 20px #153e3a08}.choice-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--light);font-size:24px}.portal-choice strong{display:block;font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-.5px;font-size:23px}.portal-choice small{display:block;font-size:12px;color:var(--muted);margin-top:8px}.choice-arrow{font-size:24px;margin-left:auto}.entry-note{margin-top:18px}.workspace-toolbar{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}.preview-info{font-size:10px;color:var(--muted);max-width:300px;text-align:right}.preview-info summary{cursor:pointer}.preview-info p{font-size:11px;text-align:left}.workspace-toolbar .subtle-button{text-decoration:none;padding-left:0}footer [data-role=teacher]{margin-left:auto;text-decoration:none;font-size:10px}.portal-dialog .button:disabled{transform:none}.portal-top .pill{font-size:8px}.portal-top{margin-bottom:16px}.portal-nav{margin-bottom:22px}.portal-top h3{font-size:25px}.dashboard-card .calendar{margin-top:15px}
@media(max-width:800px){.portal-choices{grid-template-columns:1fr;gap:13px}.portal-choice{padding:23px;gap:17px}.portal-choice strong{font-size:21px}.portal-choice small{font-size:11px}.choice-icon{height:42px;width:42px}.workspace-toolbar{gap:12px}.preview-info{max-width:170px}.workspace-toolbar>.subtle-button{font-size:10px}footer [data-role=teacher]{margin-left:0}.meeting-benefits li{font-size:12px}}

.booking-step-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.booking-step-head>span{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.booking-step-head button{text-decoration:none;padding:0}.booking-single-step{grid-template-columns:1fr}.booking-single-step>.dashboard-card{max-width:560px;width:100%;margin:auto}

.completion-mark{height:48px;width:48px;border-radius:50%;background:var(--light);color:var(--green);display:grid;place-items:center;font-size:25px;margin-top:27px}.completion-copy{margin:18px 0 23px!important}.completion-benefit{margin-top:10px!important;text-align:center}.summary-download{width:100%;margin-top:15px;padding:13px}.completion-links{border-top:1px solid var(--line);margin-top:22px;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.completion-links a{font-size:11px}.completion-links button{font-size:10px}.completion-preview{margin-top:15px!important}#pdf-status:empty{display:none}

.answer-review{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.answer-review>summary{font-size:13px;color:var(--green);cursor:pointer;font-weight:600}.answer-review-item{padding:20px 0;border-bottom:1px solid var(--line)}.answer-review-item:last-child{border-bottom:0}.answer-review-item h4{font-size:12px;letter-spacing:.2px}.answer-review-item>p{font-size:12px!important}.answer-review-item dl{font-size:11px;margin:14px 0}.answer-review-item dl>div{display:flex;gap:15px;justify-content:space-between;margin:8px 0}.answer-review-item dt{color:var(--muted)}.answer-review-item dd{margin:0;text-align:right;max-width:65%}.answer-review-item .answer-explanation{background:var(--light);padding:13px;border-radius:4px;font-size:11px!important}.answer-review-item a{font-size:10px}.answer-review>p{font-size:11px!important}
/* Mini test, personal feedback, digital resources, and family support. */
.feedback-section,.family-section{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:85px;border-top:1px solid var(--line)}.feedback-section>div>p:not(.eyebrow),.family-section>div>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:470px}.feedback-section .button,.family-section .button{margin-top:15px}.feedback-note{padding:36px 38px;background:#e8eddf;border-radius:7px}.feedback-note h3{font-size:28px;letter-spacing:-1px;margin:13px 0 19px}.feedback-note>p{font-size:13px;color:var(--muted)}.contact-channels{display:flex;gap:10px;margin:25px 0 17px}.contact-channels span{border:1px solid #c5d2bd;border-radius:20px;padding:5px 15px;font-size:10px}.resources-section{border-top:1px solid var(--line)}#product-list{display:grid;gap:28px}.product-card{display:grid;grid-template-columns:.65fr 1fr;gap:65px;background:#fffefa;border:1px solid var(--line);padding:38px;border-radius:8px;align-items:center}.product-cover{background:#e6ebdd;border-radius:5px;position:relative;padding:22px 40px;max-height:440px;overflow:hidden}.product-cover img{width:100%;display:block;box-shadow:0 8px 20px #153e3a17;transform:rotate(-3deg);max-height:375px;object-fit:contain}.product-format{position:absolute;right:15px;bottom:15px;background:var(--green);color:white;font-size:10px;letter-spacing:1px;padding:4px 12px;border-radius:3px}.product-info h3{font-size:34px;letter-spacing:-1.2px;margin-bottom:21px}.product-info>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:460px}.product-tags{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:var(--green);margin:24px 0}.product-tags>span:before{content:'✓';margin-right:5px}.product-price{display:flex;align-items:center;gap:14px;margin:25px 0}.product-price strong{font-family:Manrope,sans-serif;font-size:31px;font-weight:500;letter-spacing:-1px}.product-price>span{font-size:10px;color:var(--muted)}.product-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.product-actions .outline-button{padding:13px 18px;font-size:12px}.product-actions .button{font-size:12px;padding:12px 18px}.shop-footnote{margin-top:20px}.family-plan{padding:33px 37px;background:#fffefa;border:1px solid var(--line);border-radius:7px}.family-plan>div{display:flex;align-items:center;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.family-plan strong{font-family:Georgia,serif;font-style:italic;font-size:52px;font-weight:400;min-width:36px;line-height:1}.family-plan span{font-size:13px;max-width:230px}.family-plan>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:22px}.experience-dialog input:not([type=checkbox]),.dashboard-card input:not([type=checkbox]){width:100%;padding:11px 12px;border:1px solid #bcc8b8;border-radius:4px;background:#fffefa;color:var(--ink);font-size:12px}.experience-dialog .checkbox{align-items:start;font-size:11px;line-height:1.6;font-weight:400}.experience-dialog .checkbox input{margin-top:4px;flex-shrink:0}.experience-dialog form>.button{width:100%;margin-top:15px;font-size:12px}.optional-contact{margin-top:0}.optional-contact span{font-size:9px!important;white-space:nowrap}.experience-dialog textarea{font-size:11px;line-height:1.7}.experience-dialog>p{font-size:12px}.example-addresses{display:grid;gap:7px;font-size:10px;color:var(--muted);padding-top:15px;border-top:1px solid var(--line);margin-top:20px;overflow-wrap:anywhere}.parent-plan-note{padding:15px;background:var(--light);font-size:12px;margin:20px 0}.bank-example{background:#f7e7dc;border-left:3px solid var(--orange);padding:16px;margin:20px 0}.bank-example strong{font-size:11px;color:#a34d30}.bank-example p{font-size:11px;color:var(--muted);margin-bottom:0}.bank-details{display:grid;gap:8px;padding:18px;background:#f0f2e7;margin:20px 0}.bank-details>span{font-size:10px;color:var(--muted);margin-top:9px}.bank-details strong{font-size:13px;font-weight:500}.bank-details code{font-family:monospace;font-size:12px;overflow-wrap:anywhere}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-product-list{margin-top:25px}.admin-product-list>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.admin-product-list>div>span{font-size:11px;color:var(--muted)}#product-upload-form>.button{margin-top:20px}.request-row{display:flex;gap:25px;justify-content:space-between;padding:22px 0;border-top:1px solid var(--line)}.request-row>div{max-width:65%}.request-row strong{font-size:13px}.request-row p{font-size:11px}.request-row>label{margin:0}.request-row select{font-size:11px;padding:9px}.generated-cover{min-height:300px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;color:var(--ink)}.generated-cover>strong{font-size:28px;font-weight:500;line-height:1.3}.generated-cover>span{font-size:10px;letter-spacing:1px}.completion-meeting{display:block;text-align:center;font-size:11px;margin:15px 0 22px}.family-plan .eyebrow{font-size:9px}
@media(max-width:800px){.feedback-section,.family-section{grid-template-columns:1fr;gap:30px}.feedback-note{padding:26px}.feedback-note h3{font-size:26px}.product-card{grid-template-columns:1fr;gap:27px;padding:24px}.product-cover{max-height:330px;padding:18px 50px}.product-cover img{max-height:295px}.product-info h3{font-size:28px}.product-info>p:not(.eyebrow){font-size:12px}.product-price strong{font-size:28px}.product-actions{gap:12px}.product-actions .button,.product-actions .outline-button{width:100%;justify-content:space-between;text-align:center}.product-tags{gap:8px;font-size:9px}.family-plan{padding:26px}.family-plan strong{font-size:44px}.request-row{flex-direction:column;gap:12px}.request-row>div{max-width:100%}.request-row label{max-width:200px}.optional-contact{flex-wrap:wrap}.optional-contact span{margin-left:20px}.bank-details code{font-size:10px}.admin-product-list>div{flex-direction:column;gap:5px}.form-pair{gap:13px}}
.workshop-section{border-top:1px solid var(--line)}.workshop-tabs{display:flex;gap:10px;margin-bottom:20px}.workshop-tabs button{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid var(--line);border-radius:5px;background:transparent;font-size:12px;color:var(--ink)}.workshop-tabs button span{font-size:9px;color:var(--muted)}.workshop-tabs button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.workshop-tabs button[aria-pressed=true] span{color:#bccdbb}.workshop-board{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fffefa}.workshop-question{padding:34px}.workshop-question .eyebrow{font-size:8px}.workshop-formula{font-family:Georgia,serif;font-size:33px;margin:28px 0 19px;line-height:1.35}.workshop-question>p:not(.eyebrow){font-size:13px}.workshop-controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px;align-items:center}.workshop-controls .outline-button{font-size:11px}.workshop-controls .subtle-button{font-size:10px}.workshop-hint{font-size:12px;background:#f2f1dd;padding:16px;border-radius:4px;margin-top:18px;color:#6f613d}.workshop-checkpoint{margin-top:30px;border-top:1px solid var(--line);padding-top:23px}.workshop-checkpoint h4{font-size:13px;line-height:1.6}.workshop-options{display:grid;gap:9px;margin-top:15px}.workshop-options button,.practice-options button{background:transparent;border:1px solid #d1d8ca;color:var(--ink);padding:12px;text-align:left;border-radius:4px;font-size:12px}.workshop-options button[aria-pressed=true],.practice-options button[aria-pressed=true]{background:#e5edde;border-color:var(--green);box-shadow:inset 3px 0 var(--green)}.workshop-feedback{font-size:11px;color:var(--muted);margin-top:14px;min-height:38px}.workshop-solution{padding:30px;background:#edf1e6;border-left:1px solid var(--line)}.workshop-solution-head{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;color:var(--muted);border-bottom:1px solid #d1dac8;padding-bottom:16px;margin-bottom:23px}.solution-empty{text-align:center;padding:50px 5px;color:var(--muted)}.solution-empty>span{font-size:45px;color:#829b75}.solution-empty h3{font-size:23px;line-height:1.4;letter-spacing:-.6px;margin:18px 0 12px;color:var(--ink)}.solution-empty p{font-size:12px;max-width:270px;margin:auto}.workshop-solution>.button{width:100%;margin-top:15px;font-size:12px}.solution-step{display:flex;align-items:start;gap:15px;margin-bottom:25px}.solution-number{height:24px;min-width:24px;border:1px solid #bbcab1;border-radius:50%;text-align:center;line-height:23px;font-size:10px}.solution-step h4{font-size:11px;line-height:1.5}.solution-step p{font-size:11px;color:var(--muted);margin:8px 0 0}.solution-step p.solution-formula{font-family:Georgia,serif;font-size:22px;color:var(--ink);line-height:1.5;min-height:33px}.workshop-practice{border-top:1px solid #cbd7c2;padding-top:20px;margin-top:10px}.workshop-practice .eyebrow{font-size:8px;margin-bottom:13px}.workshop-practice h4{font-size:12px;line-height:1.7}.practice-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.practice-options button{font-family:Georgia,serif;font-size:17px;background:#fffefa;padding:9px 16px}.workshop-practice>p{font-size:11px;color:var(--muted)}.workshop-practice .outline-button{display:inline-block;margin-top:12px;font-size:10px}.workshop-method{margin-top:22px!important;font-size:9px!important}.workshop-package{display:flex;align-items:center;justify-content:space-between;gap:35px;background:#e9eddf;border:1px solid var(--line);padding:27px 32px;border-radius:7px;margin-top:25px}.workshop-package .pill{font-size:8px}.workshop-package h3{font-size:23px;letter-spacing:-.6px;margin:18px 0 13px}.workshop-package p{font-size:12px;max-width:620px;color:var(--muted)}.workshop-package>.outline-button{white-space:nowrap;font-size:11px}.workshop-solution #finish-writing{margin-top:12px;font-size:10px}
@media(max-width:800px){.workshop-board{grid-template-columns:1fr}.workshop-question{padding:24px}.workshop-solution{padding:24px;border-left:0;border-top:1px solid var(--line)}.workshop-tabs{gap:8px}.workshop-tabs button{font-size:11px;padding:11px 13px;gap:8px;flex:1;justify-content:center}.workshop-formula{font-size:29px;margin-top:22px}.workshop-package{flex-direction:column;align-items:start;padding:24px;gap:15px}.workshop-package>.outline-button{width:100%;text-align:center}.solution-empty{padding:30px 0}.workshop-checkpoint{margin-top:22px}.solution-step p.solution-formula{font-size:20px}.workshop-controls{gap:8px}.workshop-controls .subtle-button{font-size:9px}}
/* Separate pages and shared navigation */
.site-header{position:relative;gap:23px}.site-header nav{gap:20px}.site-header nav a{font-size:12px;white-space:nowrap}.site-header nav a[aria-current=page]{color:var(--green);text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}.menu-toggle{display:none;background:none;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:8px 13px;font-size:12px}body:not([data-page="index.html"]) main>section:first-child{border-top:0;padding-top:60px}body:not([data-page="index.html"]) main{min-height:65vh}.home-paths{border-top:1px solid var(--line);padding-top:42px!important;padding-bottom:55px!important}.home-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.home-path-grid>a{display:block;padding:23px 0;border-top:1px solid var(--line)}.home-path-grid>a>span{font-size:9px;letter-spacing:1.5px;color:var(--orange)}.home-path-grid h2{font-size:24px;letter-spacing:-.7px;margin:17px 0 14px}.home-path-grid p{font-size:12px;color:var(--muted);max-width:290px}.home-path-grid b{display:block;margin-top:20px;font-size:11px;font-weight:500;color:var(--green)}.home-path-grid>a:hover h2{text-decoration:underline;text-underline-offset:5px}footer>a:not(.brand){font-size:10px;color:var(--muted)}
@media(max-width:1100px){.site-header{padding:23px 28px;flex-wrap:wrap}.site-header nav{order:3;width:100%;justify-content:center;padding-top:15px;border-top:1px solid var(--line);margin-top:5px;gap:25px}.header-account{margin-left:auto}}
@media(max-width:800px){.site-header{padding:18px 24px;gap:12px;flex-wrap:nowrap}.site-header .brand{margin-right:auto}.menu-toggle{display:block}.site-header .header-account{display:none}.site-header nav{display:none;position:absolute;left:16px;right:16px;top:76px;width:auto;background:#fffefa;z-index:20;border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 30px #153e3a17;padding:10px;margin:0}.site-header nav.menu-open{display:flex;flex-direction:column;gap:0}.site-header nav a{display:block;padding:13px 15px;font-size:13px}.site-header nav a[aria-current=page]{background:var(--light);border-radius:4px;text-decoration:none}.home-path-grid{grid-template-columns:1fr;gap:0}.home-path-grid>a{padding:24px 0}.home-path-grid h2{margin:12px 0;font-size:24px}.home-path-grid p{max-width:none}.home-path-grid b{margin-top:13px}body:not([data-page="index.html"]) main>section:first-child{padding-top:40px}.home-paths{padding-top:30px!important}.site-header .brand-sub{font-size:7px}footer{align-items:start}}

.site-header nav .nav-account{display:none}@media(max-width:800px){.site-header nav .nav-account{display:block;border-top:1px solid var(--line)}}
.parent-progress{display:flex;gap:9px;margin-bottom:24px}.parent-progress span{width:29px;height:29px;line-height:28px;border:1px solid var(--line);border-radius:50%;text-align:center;font-size:11px;color:var(--muted)}.parent-progress span.active{background:var(--green);border-color:var(--green);color:#fff}.parent-progress span.done{background:var(--light);color:var(--green)}.parent-question{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:24px 0 0;min-width:0}.parent-question>label{margin-top:0;line-height:1.8}.parent-question-number{display:inline-block;font-size:9px;color:var(--orange);letter-spacing:1px;margin-right:8px}.parent-question textarea{margin-top:5px}.parent-priorities legend{font-size:12px;font-weight:600;line-height:1.8;padding:0 0 8px}.parent-priority{display:flex;align-items:start;gap:10px;font-size:12px;font-weight:400;margin:9px 0;padding:11px 12px;border:1px solid var(--line);border-radius:4px}.parent-priority input{margin-top:4px}.parent-priority:has(input:checked){background:var(--light);border-color:var(--green)}.parent-priority:has(input:disabled){opacity:.5}.parent-step-buttons{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:24px;flex-wrap:wrap}.parent-step-buttons .button{margin-left:auto;font-size:12px}.parent-step-buttons .outline-button{font-size:11px}.form-error{font-size:11px;color:#a34d30}.form-error:empty{display:none}.parent-form-demo{border-top:1px solid var(--line);padding-top:15px;margin-top:22px}.parent-summary{padding:20px;background:var(--light);margin:24px 0}.parent-summary h4{font-size:12px;margin-top:20px}.parent-summary h4:first-child{margin-top:0}.parent-summary p{font-size:12px;color:var(--muted)}.parent-answer-summary{border-top:1px solid var(--line);padding-top:15px;font-size:12px}.parent-answer-summary summary{cursor:pointer;color:var(--green)}.parent-answer-summary>div{padding:14px 0;border-bottom:1px solid var(--line)}.parent-answer-summary h4{font-size:11px;line-height:1.8}.parent-answer-summary p{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}.parent-follow-through{border-top:1px solid var(--line)}.parent-process{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.parent-process li{padding-top:19px;border-top:1px solid var(--line)}.parent-process li>span{font-size:10px;letter-spacing:1px;color:var(--orange)}.parent-process h3{font-size:20px;letter-spacing:-.6px;margin:18px 0 13px}.parent-process p{font-size:12px;color:var(--muted)}.parent-month-end{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.parent-month-end p{font-size:13px;color:var(--muted);max-width:450px}.month-end-agenda{padding:27px 32px 27px 53px;background:var(--light);border-radius:7px;margin:0}.month-end-agenda li{padding:14px 0;border-bottom:1px solid #d2dbc8;font-size:12px}.month-end-agenda li:last-child{border:0}.month-end-agenda strong{display:block;font-weight:600}.month-end-agenda span{display:block;font-size:11px;color:var(--muted);margin-top:6px}@media(max-width:800px){.parent-process{grid-template-columns:1fr;gap:15px;margin-top:30px}.parent-month-end{grid-template-columns:1fr;gap:28px}.parent-month-end h2{font-size:31px}.month-end-agenda{padding:20px 25px 20px 43px}.parent-step-buttons .button{padding:13px 17px}.parent-step-buttons .outline-button{padding:11px 12px}.parent-summary{padding:18px}.parent-question{margin-top:20px}.parent-question>label{font-size:12px}.parent-priorities legend{font-size:12px}}

.monthly-note-row{padding:18px 0;border-bottom:1px solid var(--line)}.monthly-note-row h4{font-size:12px;line-height:1.8}.monthly-note-row p{font-size:12px;white-space:pre-wrap}#monthly-note-form .button{margin-top:20px}#monthly-note-form textarea{font-size:12px;line-height:1.8}
.topic-back-bar{max-width:1184px;margin:35px auto 0}.topic-back-bar .outline-button{font-size:12px}#topic-catalog>section,#topic-lesson>section{max-width:1184px;margin:auto;padding:60px 0 80px;border-top:0}#topic-catalog>section{min-height:70vh}.home-path-grid{grid-template-columns:1fr 1fr}.product-actions [data-try-workshop]{width:100%}.product-actions [data-try-workshop]+a{flex:1}.topic-back-bar+.workshop-section{padding-top:30px!important}@media(max-width:1250px){#topic-catalog>section,#topic-lesson>section,.topic-back-bar{margin-left:45px;margin-right:45px}}@media(max-width:800px){#topic-catalog>section,#topic-lesson>section{margin:0 24px;padding-top:40px}.topic-back-bar{margin:25px 24px 0}.home-path-grid{grid-template-columns:1fr}}
#portal-content.teacher-desk{background:transparent;border:0;padding:0}.desk-heading{display:flex;justify-content:space-between;gap:25px;align-items:start;margin-bottom:35px}.desk-heading h2{font-size:34px;letter-spacing:-1px}.desk-heading p{font-size:15px;color:var(--muted);margin-bottom:0}.desk-preview{font-size:12px;color:var(--muted);max-width:180px}.desk-layout{display:grid;grid-template-columns:220px 1fr;gap:35px;align-items:start}.desk-menu{display:grid;gap:8px}.desk-menu>button{border:0;background:transparent;text-align:left;padding:15px 17px;border-radius:5px;font-size:15px;color:var(--ink)}.desk-menu>button[aria-current=page]{background:var(--green);color:white}.desk-site-links{border-top:1px solid var(--line);padding:18px 10px;margin-top:12px;font-size:14px}.desk-site-links summary{cursor:pointer}.desk-site-links a{display:block;font-size:13px;padding-top:14px}.desk-body{min-width:0}.desk-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.desk-section-heading h3{font-size:27px;letter-spacing:-.7px}.desk-section-heading>span{font-size:14px;color:var(--muted)}#student-search{width:100%;border:1px solid var(--line);border-radius:5px;background:#fffefa;padding:14px 17px;font-size:15px;color:var(--ink);margin-bottom:20px}.student-list{display:grid;gap:13px}.student-row{width:100%;display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:7px;padding:22px;background:#fffefa;color:var(--ink);text-align:left}.student-row:hover{border-color:var(--green)}.student-avatar{width:46px;height:46px;border-radius:50%;background:var(--light);display:grid;place-items:center;font-size:14px;flex-shrink:0}.student-person{display:grid;gap:5px;flex:1}.student-person strong{font-size:18px;font-weight:500}.student-person>span{font-size:13px;color:var(--muted)}.student-payment-tag{font-size:12px;padding:5px 10px;border-radius:20px}.student-payment-tag.unpaid{background:#f3e9d8;color:#84652d}.student-payment-tag.paid{background:#e4efdf;color:var(--green)}.desk-back{border:0;background:none;color:var(--green);font-size:14px;padding:0;margin-bottom:24px}.student-profile{display:flex;align-items:center;gap:18px;margin-bottom:25px}.student-profile h3{font-size:28px;letter-spacing:-.8px}.student-profile p{font-size:14px;color:var(--muted);margin:6px 0 0}.student-detail-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:25px;overflow-x:auto}.student-detail-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:14px;padding:12px 14px;white-space:nowrap}.student-detail-tabs button[aria-pressed=true]{border-bottom-color:var(--green);color:var(--ink)}.desk-card{background:#fffefa;border:1px solid var(--line);border-radius:7px;padding:27px}.desk-card>h4,.desk-card form>h4{font-size:17px;margin:0 0 23px}.desk-card p{font-size:14px;white-space:pre-wrap}.desk-lesson-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:20px 0}.desk-lesson-list>div>span{display:grid;gap:7px;font-size:14px}.desk-lesson-list>div>span>span{color:var(--muted)}.desk-lesson-list select{width:140px;font-size:14px}.desk-payment{padding:20px 0;border-top:1px solid var(--line)}.desk-payment-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.desk-payment-summary>strong{font-size:24px;font-weight:500}.desk-payment-summary>div>strong{font-size:16px;font-weight:500}.desk-payment-summary p{font-size:13px;color:var(--muted);margin-bottom:0}.payment-two-buttons{display:flex;gap:12px}.payment-two-buttons button{border:1px solid var(--line);padding:12px 25px;background:transparent;color:var(--ink);border-radius:5px;font-size:15px}.payment-two-buttons [data-paid=yes][aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.payment-two-buttons [data-paid=no][aria-pressed=true]{background:#f5e9dc;border-color:#c9a17c;color:#80552c}.desk-draft-button{margin-top:17px;border:0;background:none;padding:0;color:var(--green);font-size:14px;text-decoration:underline;text-underline-offset:4px}.desk-parent-contact{display:grid;gap:7px;font-size:14px;margin-bottom:30px}.desk-card textarea{font-size:14px;line-height:1.8}.desk-card label{font-size:14px}.desk-card form>.button{margin-top:20px}.desk-notice{background:var(--light);border-radius:5px;padding:14px 18px;margin-top:0;font-size:14px}.desk-availability{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.desk-availability summary{font-size:15px;cursor:pointer}.desk-availability label{display:flex;gap:12px;align-items:center;font-weight:400;font-size:14px;margin:18px 0}.desk-calendar-row{display:grid;gap:6px;padding:17px 0;border-top:1px solid var(--line);font-size:14px}.desk-reminder textarea{font-size:14px;line-height:1.8}.desk-reminder .draft-not-sent{background:var(--light);padding:13px;border-radius:4px;font-size:14px}.desk-reminder [role=status]{font-size:14px}.teacher-desk .dashboard-card .fine{font-size:13px!important}.teacher-desk .dashboard-card{font-size:14px}.teacher-desk .dashboard-card h3{font-size:25px}.teacher-desk .payment-note{margin-top:15px}.teacher-desk .request-row select{font-size:14px}.teacher-desk .dashboard-card label{font-size:14px}
@media(max-width:800px){.desk-heading{flex-direction:column;gap:13px;margin-bottom:24px}.desk-heading h2{font-size:28px}.desk-preview{max-width:none}.desk-layout{grid-template-columns:1fr;gap:25px}.desk-menu{grid-template-columns:1fr 1fr;gap:7px}.desk-menu>button{padding:12px;font-size:13px;border:1px solid var(--line)}.desk-site-links{grid-column:1/-1;padding:14px 4px;margin:0}.student-row{padding:17px 14px;gap:12px;flex-wrap:wrap}.student-person strong{font-size:17px}.student-person>span{font-size:12px}.student-payment-tag{margin-left:58px;order:4}.student-row>span:last-child{margin-left:auto}.desk-card{padding:20px}.student-profile h3{font-size:25px}.student-detail-tabs button{font-size:13px;padding:12px 10px}.desk-payment-summary{align-items:start}.desk-payment-summary>strong{font-size:23px}.payment-two-buttons button{flex:1;padding:12px;font-size:15px}.desk-lesson-list>div{align-items:start;flex-direction:column;gap:12px}.desk-lesson-list select{width:100%}.desk-draft-button{font-size:13px}.desk-section-heading h3{font-size:25px}}

/* Keep smaller headings legible and form controls consistent across browsers. */
h3{letter-spacing:-.015em;line-height:1.35}
.desk-card>h3,.teacher-desk .dashboard-card h3{font-size:26px;letter-spacing:-.015em;line-height:1.4;margin-bottom:18px;word-spacing:normal}
select{appearance:none;-webkit-appearance:none;display:block;min-height:48px;line-height:1.5;padding:12px 42px 12px 14px;background-color:#fffefa;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23153e3a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;color:var(--ink);text-overflow:ellipsis}
.portal-table select,.desk-lesson-list select,.teacher-desk .request-row select{padding:12px 42px 12px 14px;min-width:155px;min-height:48px;font-size:14px;flex-shrink:0}
.desk-lesson-list>div{position:relative;flex-wrap:wrap}
.desk-card,.dashboard-card,.contact-card,.test-card{min-width:0}
input:not([type=checkbox]):not([type=radio]),textarea,select{max-width:100%}
.workshop-package{display:block;padding:24px 28px}
.workshop-package h3{letter-spacing:-.015em;line-height:1.4}
@media(max-width:800px){.desk-card>h3,.teacher-desk .dashboard-card h3{font-size:24px}.desk-lesson-list select{width:100%}}

/* Readable spacing and predictable controls throughout the interface. */
h1,h2,h3,h4{letter-spacing:normal;word-spacing:normal;overflow-wrap:break-word}
.desk-heading h2,.desk-section-heading h3,.student-profile h3,.desk-card>h3,.teacher-desk .dashboard-card h3{letter-spacing:normal;word-spacing:normal;line-height:1.4}
select{height:auto;white-space:normal;overflow:visible;text-overflow:clip;letter-spacing:normal;word-spacing:normal}
.desk-lesson-list select,.portal-table select,.teacher-desk .request-row select{width:auto;min-width:180px;max-width:100%;padding-right:44px}
.request-row>*,.form-pair>*,.product-info{min-width:0}
.workshop-entry{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px;border:1px solid var(--line);border-radius:8px;background:var(--light);margin-bottom:55px}
.workshop-entry h3,.pdf-section-heading h3{font-size:27px;line-height:1.4;letter-spacing:normal}
.workshop-entry p:not(.eyebrow),.pdf-section-heading p{font-size:15px;color:var(--muted)}
.workshop-entry .eyebrow{margin-bottom:12px}.workshop-entry .button{flex-shrink:0}.pdf-section-heading{margin-bottom:25px}
@media(max-width:800px){.workshop-entry{align-items:start;flex-direction:column;padding:24px;gap:16px}.desk-lesson-list select,.teacher-desk .request-row select{width:100%;min-width:0}}

.guide-next{margin-top:32px;border-top:1px solid var(--line);padding-top:28px}.guide-next h3{font-size:24px;letter-spacing:normal}.guide-next p{font-size:15px;color:var(--muted);max-width:700px}

/* Custom vector monogram: independent of the loaded typeface. */
.brand-icon{display:block;width:50px;height:50px;flex-shrink:0;border-radius:0;background:transparent;letter-spacing:normal}.brand{gap:13px}

.brand-icon{width:54px;height:54px}

/* Topic-by-topic catalog: compact cards instead of full-width product sections. */
.catalog-intro{font-size:16px;color:var(--muted);max-width:690px;margin:-8px 0 22px}.catalog-demo-note{border-left:3px solid #a9be72;padding:12px 17px;font-size:13px;color:var(--muted);background:#edf0e5;margin-bottom:30px;border-radius:0 5px 5px 0}
.catalog-toolbar{display:flex;align-items:start;justify-content:space-between;gap:22px}.catalog-filters{display:flex;flex-wrap:wrap;gap:8px}.catalog-filters button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:24px;padding:9px 15px;font-size:13px;min-height:42px}.catalog-filters [aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.catalog-count{font-size:13px;color:var(--muted);white-space:nowrap;margin:10px 0}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.catalog-grid .product-card{display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;overflow:hidden}.catalog-grid .product-cover{height:230px;max-height:none;border-radius:0;padding:22px 55px;background:#e8ecdf}.catalog-grid .product-cover img{height:240px;width:100%;object-fit:contain;object-position:top;transform:rotate(-3deg)}.catalog-grid .product-format{font-size:9px;bottom:13px;right:13px}.catalog-grid .product-info{padding:25px;display:flex;flex-direction:column;flex:1}.catalog-grid .product-info .eyebrow{margin-bottom:12px;font-size:10px;letter-spacing:1px}.catalog-grid .product-info h3{font-size:23px;line-height:1.35;letter-spacing:normal;margin-bottom:13px}.catalog-grid .product-info>p:not(.eyebrow){font-size:14px;line-height:1.7}.catalog-grid .product-tags{display:flex;flex-wrap:wrap;gap:8px;font-size:11px}.catalog-grid .catalog-plan{font-size:12px!important;background:#f2f2e9;padding:12px;border-radius:4px}.catalog-grid .product-price{margin:20px 0}.catalog-grid .product-price strong{font-size:27px}.catalog-grid .product-price span{font-size:11px}.catalog-grid .product-actions{display:grid;gap:11px;margin-top:auto;padding-top:20px}.catalog-grid .product-actions .button,.catalog-grid .product-actions .outline-button{width:100%;font-size:13px;text-align:center;padding:12px}.catalog-grid .subtle-button{font-size:12px;padding:6px 0;text-align:left}
@media(max-width:1050px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-toolbar{flex-direction:column;gap:8px}}@media(max-width:600px){.catalog-grid{grid-template-columns:1fr}.catalog-grid .product-cover{height:220px;padding:20px 65px}.catalog-filters{gap:7px}.catalog-filters button{font-size:12px;padding:8px 12px}.catalog-intro{font-size:15px}.catalog-demo-note{font-size:12px}}

.catalog-grid .product-price{display:flex;align-items:flex-start;flex-direction:column;gap:5px}.catalog-grid .product-price span{line-height:1.6}.catalog-grid .product-price strong{line-height:1.2}

.pack-preview{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px;background:var(--light);border:1px solid var(--line);border-radius:8px;margin:25px 0 24px}.pack-preview h3{font-size:27px;letter-spacing:normal}.pack-preview .eyebrow{margin-bottom:12px}.pack-preview p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:630px}.pack-preview .button{flex-shrink:0}.pack-preview-note{font-size:12px;color:var(--green)}.catalog-supplement{font-size:12px!important;color:var(--green)!important}.pack-contents{padding-left:22px;font-size:15px;line-height:1.9}@media(max-width:700px){.pack-preview{flex-direction:column;align-items:start;padding:23px}.pack-preview h3{font-size:24px}}
/* Book recommendations: ordinary links, no shop or checkout. */
.book-resources .section-head{margin-bottom:28px}.resource-demo-note{font-size:14px;color:var(--muted);margin-bottom:30px;max-width:760px}.book-resource-card{display:grid;grid-template-columns:.75fr 1fr;gap:60px;padding:38px;background:#fffefa;border:1px solid var(--line);border-radius:9px;align-items:center}.resource-art{position:relative;background:#e5eadc;min-height:350px;border-radius:6px;display:grid;place-items:center;padding:35px;overflow:hidden}.resource-book{width:205px;min-height:275px;padding:30px 24px 30px 33px;background:#fffdf3;box-shadow:-7px 0 0 #d1d8bf,13px 15px 25px #153e3a15;transform:rotate(-5deg);display:flex;flex-direction:column;gap:22px;border-left:3px solid #daddd1}.resource-book>span{font-size:10px;letter-spacing:1px}.resource-book>strong{font-size:23px;font-weight:500;letter-spacing:1px}.resource-book-lines{height:70px;background:repeating-linear-gradient(0deg,transparent,transparent 16px,#d2dbc6 17px,#d2dbc6 18px);margin:0 0 8px}.resource-art-caption{position:absolute;bottom:12px;font-size:11px;color:var(--muted)}.resource-meta{display:flex;align-items:center;flex-wrap:wrap;gap:13px;font-size:12px;color:var(--green);margin-bottom:25px}.resource-example-badge{border:1px solid var(--line);padding:4px 10px;border-radius:20px}.resource-publisher{font-size:14px;color:var(--muted);margin:0 0 9px}.resource-info h3{font-size:31px;line-height:1.3;letter-spacing:normal}.resource-note{font-size:15px;color:var(--muted);margin:22px 0 26px}.resource-link-note{font-size:12px;color:var(--muted);line-height:1.7;margin:15px 0 0}.resource-help{margin-top:35px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:30px}.resource-help h3{font-size:23px;letter-spacing:normal}.resource-help p{font-size:14px;color:var(--muted);margin-bottom:0}.resource-help a{flex-shrink:0}.resource-admin-list{margin-top:30px}.resource-admin-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line);font-size:14px}#resource-form>.button{margin-top:20px}
@media(max-width:800px){.book-resource-card{grid-template-columns:1fr;gap:28px;padding:24px}.resource-art{min-height:300px}.resource-book{min-height:230px;width:180px;padding:23px 20px 23px 27px;gap:18px}.resource-book>strong{font-size:21px}.resource-info h3{font-size:26px}.resource-meta{margin-bottom:18px}.resource-help{flex-direction:column;align-items:start;gap:18px}.resource-help h3{font-size:21px}.resource-admin-list>div{align-items:start;flex-direction:column;gap:12px}}

.public-launch-note{max-width:1100px;margin:2rem auto;padding:1rem 1.3rem;border:1px solid #cbd4c5;border-radius:8px;background:#e9eddf;font-size:1rem;line-height:1.6}.home-path-grid{grid-template-columns:1fr}.home-path-grid>a{max-width:760px}

.contact-channels{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.contact-channels>span,.contact-channels>.instagram-contact{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:9px 17px;border:1px solid #becdb4;border-radius:24px;font-size:15px;line-height:1.4;text-decoration:none}.contact-channels>.instagram-contact{background:#245e51;color:#fff;border-color:#245e51}.contact-channels>.instagram-contact:hover{background:#17483e}.contact-channels>.instagram-contact>span{padding:0;border:0;color:inherit}.contact-delivery-note{max-width:48ch;margin-top:18px}

/* Grade-specific mini tests */
#question-title{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.55;letter-spacing:normal;word-spacing:normal;margin:24px 0}
.question-figure{margin:20px 0 26px;padding:14px;background:#fffef8;border:1px solid #daddd1;border-radius:10px;text-align:center}
.question-figure svg{display:block;width:100%;max-width:400px;height:auto;margin:auto}
.question-figure figcaption{font-size:12px;color:#66746a;margin:4px 0 0}
.solution-steps{list-style:none;padding:14px 18px;margin:16px 0;background:#f0f3e9;border-radius:8px}
.solution-steps li{margin:8px 0;line-height:1.65;font-variant-numeric:lining-nums;letter-spacing:normal}
.test-source-note{max-width:1100px;margin:0 auto 64px;padding:0 24px;color:#66746a;font-size:14px;line-height:1.7}
.test-source-note summary{cursor:pointer;color:#245e51}.test-source-note p{font-size:14px}.test-source-note a{text-underline-offset:4px}
.answer-review-item .question-figure{max-width:420px}
#quiz .option{white-space:normal;overflow-wrap:anywhere;line-height:1.55;text-align:left}

/* Compact completion and consistent homepage heading */
.hero h1{font-family:'Manrope',sans-serif;font-size:clamp(32px,3.2vw,44px);line-height:1.28;font-weight:500;letter-spacing:normal}
.hero h1 em{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:normal;line-height:inherit}
#quiz .summary-download{margin:24px 0 0;padding:16px 20px;font-size:15px}
#quiz .summary-caption{margin:8px 0 22px;text-align:center}
#pdf-status:empty{display:none}
.completion-followup{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.completion-followup>.outline-button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:13px 18px;text-align:left;font-size:14px}
.completion-followup>.subtle-button{font-size:12px}

.review-open{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:14px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--green);font-size:14px;text-align:left}
.answer-review-dialog{width:min(760px,calc(100% - 32px));max-width:760px;height:min(820px,85vh);height:min(820px,85dvh);max-height:85dvh;padding:0;border:1px solid var(--line);border-radius:14px;background:#fffefa;color:var(--ink);overflow:hidden;box-shadow:0 22px 90px #153e3a30}
.answer-review-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.answer-review-dialog::backdrop{background:#153e3a88}
.review-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:none;width:100%;margin:0;padding:20px 28px;border-bottom:1px solid var(--line);background:#fffefa}
.review-dialog-heading h2{font-size:24px;line-height:1.3;margin:0}
.review-dialog-close{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:28px;line-height:1}
.review-dialog-scroll{overflow-y:auto;overscroll-behavior:contain;padding:0 28px 28px;scrollbar-gutter:stable}
.review-dialog-scroll .answer-review-item{padding:26px 0;border-bottom:1px solid var(--line)}
.review-dialog-scroll .answer-review-item:last-child{border-bottom:0}
.review-dialog-scroll .answer-review-item h4{font-size:17px;line-height:1.5}
.review-dialog-scroll .answer-review-item p,.review-dialog-scroll .answer-review-item dd,.review-dialog-scroll .solution-steps{font-size:15px;line-height:1.7}
.review-dialog-scroll .answer-review-item dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.review-dialog-scroll .answer-review-item dt{font-size:12px;color:var(--muted)}
.review-dialog-scroll .answer-review-item dd{margin:5px 0 0}
.review-dialog-scroll .answer-review-item .question-figure{max-width:420px;margin:18px auto}
@media(max-width:600px){.answer-review-dialog{width:calc(100% - 20px);height:90dvh;max-height:90dvh;border-radius:10px}.review-dialog-heading{padding:16px 18px}.review-dialog-scroll{padding:0 18px 22px}.review-dialog-heading h2{font-size:21px}.review-dialog-scroll .answer-review-item dl{grid-template-columns:1fr}}

/* Shared lead typography for home and mini test */
.hero h1,.assessment>div:first-child>h2{font-family:'Manrope',sans-serif;font-size:clamp(32px,3vw,40px);line-height:1.28;font-weight:500;letter-spacing:normal}
.hero h1 em,.assessment>div:first-child>h2 em{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:normal;line-height:inherit}
.hero .intro,.assessment>div:first-child>p:not(.eyebrow){font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.8}
.test-score{text-align:center;padding:24px 0 4px}
.test-score>strong{display:block;font-family:'Manrope',sans-serif;font-size:56px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums}
.test-score>strong>span{font-size:26px;color:var(--muted)}
#quiz .test-score>p{font-size:14px;margin:8px 0 0}
#quiz .score-context{text-align:center;margin:6px 0 4px}

.hero-art .math-sketch svg{height:auto;display:block}.paper .hero-math-note{font-size:12px;line-height:1.6;color:var(--green);margin:0 0 22px}.hero-art .math-sketch{margin-bottom:12px}

.draft-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:14px;margin:18px 0 10px}.draft-actions>.outline-button,.draft-actions>.text-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;margin:0;padding:12px 18px;font-size:14px;line-height:1.4;border:1px solid var(--green);border-radius:5px}.draft-actions>.text-link{background:var(--green);color:#fff;text-decoration:none}.draft-actions>.text-link:hover{background:var(--ink)}#draft-area #copy-status{display:block;padding:0;margin-top:8px}@media(max-width:480px){.draft-actions{flex-direction:column;gap:12px}.draft-actions>a,.draft-actions>button{width:100%}}

/* Balanced homepage: contain the illustration rather than stretching it to the column. */
body[data-page="index.html"] .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding-top:44px;padding-bottom:48px}
body[data-page="index.html"] .hero>div:first-child{max-width:510px}
body[data-page="index.html"] .hero-art{width:100%;max-width:450px;justify-self:end;min-height:0;padding:20px 18px 36px}
body[data-page="index.html"] .paper{margin-top:8px;padding:23px 25px 20px;transform:rotate(-3deg)}
body[data-page="index.html"] .math-sketch{margin:12px 0 8px}
body[data-page="index.html"] .math-sketch svg{width:100%;max-height:185px}
body[data-page="index.html"] .paper h2{font-size:24px;line-height:1.25;margin:12px 0}
body[data-page="index.html"] .paper .hero-math-note{margin-bottom:16px;font-size:11px}
body[data-page="index.html"] .paper p{margin:10px 0;font-size:11px;line-height:1.6}
body[data-page="index.html"] .paper-bottom{padding-top:10px;margin-top:12px}
body[data-page="index.html"] .sticky{font-size:16px;right:-8px;bottom:47px;padding:14px 17px}
body[data-page="index.html"] .art-caption{left:22px;bottom:11px;font-size:7px}
body[data-page="index.html"] .intro{margin:22px 0;max-width:450px}
body[data-page="index.html"] .hero-notes{margin-top:20px;flex-wrap:wrap;gap:10px 18px}
@media(max-width:800px){body[data-page="index.html"] .hero{grid-template-columns:1fr;gap:30px;padding-top:32px;padding-bottom:36px}body[data-page="index.html"] .hero-art{justify-self:center;max-width:390px}body[data-page="index.html"] .hero>div:first-child{max-width:none}body[data-page="index.html"] .intro br{display:none}}

.booking-month-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.booking-month-head button{border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);width:38px;height:38px}.booking-month-head h4{font-size:17px;text-transform:capitalize}.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.booking-days>span{text-align:center;font-size:12px;padding:8px 0;color:var(--muted)}.booking-days>button,.booking-time-grid>button,.availability-hours>button{border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);min-height:44px;padding:10px;text-decoration:none}.booking-days>button:hover:not(:disabled){background:var(--light);border-color:var(--green)}.booking-days>button:disabled{opacity:.25;text-decoration:none}.selected-booking-date{margin:20px 0;font-size:18px}.booking-time-grid,.availability-hours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.booking-time-grid [aria-pressed=true],.availability-hours [aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}#availability-date{padding:12px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:transparent;width:100%}.booking-time-grid>p{grid-column:1/-1}@media(max-width:480px){.booking-time-grid,.availability-hours{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-days{gap:4px}.booking-days>button{padding:8px 2px}}

.live-booking-page{max-width:850px;padding:56px 24px}.live-booking-page h2{font-size:32px;line-height:1.35}.live-booking-page>p{font-size:16px}.booking-when{padding:20px;background:var(--light);font-size:23px!important;border-radius:8px}.booking-when span{font-size:13px;color:var(--muted)}.booking-notification-box{padding:20px 0;margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-update{padding:18px 0;border-bottom:1px solid var(--line)}.booking-update p{margin:8px 0;font-size:14px}.booking-admin-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0;padding-bottom:18px;border-bottom:1px solid var(--line)}.booking-admin-tabs button{padding:12px 16px;border:1px solid var(--line);background:transparent;border-radius:5px;color:var(--ink)}.booking-admin-tabs [aria-pressed=true]{background:var(--green);color:#fff}.real-request-card{padding:24px;border:1px solid var(--line);border-radius:8px;background:#fffefa;margin:18px 0}.real-request-card>div:first-child{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.real-request-card strong{font-size:20px}.request-state{font-size:13px;color:var(--green)}#meeting-request-form input:not([type=checkbox]),.live-booking-page input:not([type=checkbox]){width:100%;border:1px solid var(--line);border-radius:5px;padding:12px;background:#fffefa;color:var(--ink);font:inherit}.live-booking-page>.button,.live-booking-page>.outline-button{margin:8px 12px 8px 0}.live-booking-page>.text-link{display:block;margin:18px 0}#meeting-request-form>.button{margin-top:16px}.real-request-card form .button{margin-top:20px}

/* One spacing rhythm for the public pages. */
:root{--section-space:56px;--column-space:64px;--content-space:24px}
body main>section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
body[data-page="index.html"] .hero,.assessment,.feedback-section,.contact-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--column-space);align-items:start;position:relative}
body[data-page="index.html"] .hero{padding-top:var(--section-space);padding-bottom:var(--section-space);gap:var(--column-space)}
body[data-page="index.html"] .hero>div:first-child{padding-top:18px}
body[data-page="index.html"] .hero-art{justify-self:center}
.hero .eyebrow,.assessment>div:first-child>.eyebrow,.feedback-section>div:first-child>.eyebrow,.contact-heading>.eyebrow{margin-bottom:var(--content-space)}
body[data-page="index.html"] .intro{margin-top:var(--content-space);margin-bottom:var(--content-space)}
.contact-heading{padding-top:0}
.feedback-section{border-bottom:1px solid var(--line)}
.assessment::before,.contact-section::before{display:none}
.feedback-note{padding:32px}
.test-card,.contact-card{padding:32px}
@media(max-width:1000px) and (min-width:801px){:root{--column-space:40px}}
@media(max-width:800px){
 :root{--section-space:36px;--column-space:28px}
 body[data-page="index.html"] .hero,.assessment,.feedback-section,.contact-section{grid-template-columns:1fr;gap:var(--column-space)}
 body[data-page="index.html"] .hero{padding-top:var(--section-space);padding-bottom:var(--section-space)}
 body[data-page="index.html"] .hero>div:first-child{padding-top:0}
 .assessment::before,.contact-section::before{display:none}
 .assessment>.test-card,.contact-section>.contact-card,.feedback-section>.feedback-note{position:relative;margin-top:12px}
 .assessment>.test-card::before,.contact-section>.contact-card::before,.feedback-section>.feedback-note::before{content:"";position:absolute;top:-22px;left:0;right:0;height:1px;background:var(--line)}
 .test-card,.contact-card,.feedback-note{padding:24px}
}

/* Consistent navigation on every page. */
html{scrollbar-gutter:stable}
.site-header{display:grid;grid-template-columns:260px minmax(0,1fr) 140px;gap:24px;min-height:113px}
.site-header nav{justify-content:center;gap:20px;width:auto;order:initial;padding:0;margin:0;border:0}
.site-header .header-account{width:140px;margin:0;justify-self:end;justify-content:space-between}
.account-options{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}
.account-options article{padding:28px;border:1px solid var(--line);border-radius:10px;background:#fffefa}
.account-options h3{font-size:24px}.account-options p{color:var(--muted)}
@media(max-width:1100px) and (min-width:801px){.site-header{grid-template-columns:220px minmax(0,1fr) 120px;padding:23px 28px;gap:14px}.site-header nav{gap:14px}.site-header .header-account{width:120px;padding:14px}.site-header .brand{font-size:15px}.site-header .brand-sub{font-size:8px}}
@media(max-width:800px){.site-header{display:flex;min-height:88px}.site-header .header-account{display:none}.site-header nav{position:absolute;top:76px;left:16px;right:16px;background:#fffefa;padding:10px;border:1px solid var(--line);margin:0}.site-header nav.menu-open{display:flex;gap:0}.account-options{grid-template-columns:1fr}}

.chat-message{padding:18px 22px;margin:14px 0;background:var(--light);border-radius:10px;max-width:90%}.chat-message.from-teacher{margin-left:auto;background:#fffefa;border:1px solid var(--line)}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.chat-message small{color:var(--muted)}#chat-form{margin-top:28px}#chat-history{max-height:520px;overflow-y:auto}

/* Match the mini-test name field to the class selector. */
#test-name{display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid #bcc8b8;border-radius:4px;background:#fffefa;color:var(--ink);font:inherit;line-height:1.5;box-shadow:none;appearance:none;-webkit-appearance:none}#test-name::placeholder{color:var(--muted);opacity:.75}#test-name:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-color:var(--green)}

.google-calendar-connection{border:1px solid var(--line);background:var(--light);padding:24px;border-radius:8px;margin:24px 0 32px}.google-calendar-connection h4{margin:0;font-size:18px}

.account-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 40px}.account-quick-actions>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:15px 22px;margin:0;border-radius:6px;font-size:15px;line-height:1.4;font-weight:600}.account-quick-actions>a span{font-size:20px}
#booking-status{max-width:780px;padding-top:56px;padding-bottom:64px}.appointment-summary{padding:36px;background:#fffefa;border:1px solid var(--line);border-radius:12px}.appointment-summary>.eyebrow{margin:0 0 16px}.appointment-summary>h2{font-size:32px;line-height:1.25}.appointment-time{margin:28px 0;background:var(--light);border-radius:8px;padding:22px 24px}.appointment-time>strong{display:block;font-size:20px;font-weight:600}.appointment-time>div{display:flex;align-items:center;gap:16px;margin-top:8px}.appointment-time span{font-size:25px;line-height:1.3}.appointment-time small{font-size:13px;color:var(--muted)}.appointment-note{font-size:15px;color:var(--muted);margin:0 0 24px}.appointment-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px}.appointment-actions>.button,.appointment-calendar>summary{min-height:52px;padding:13px 20px;font-size:15px;border-radius:6px;line-height:24px}.appointment-calendar{border:0!important;margin:0!important;padding:0!important;min-width:185px}.appointment-calendar>summary{display:flex;justify-content:space-between;gap:24px;align-items:center;list-style:none;border:1px solid var(--green);color:var(--green);cursor:pointer;font-weight:600}.appointment-calendar>summary::-webkit-details-marker{display:none}.calendar-choices{display:grid;gap:0;margin-top:8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);overflow:hidden}.calendar-choices>a,.calendar-choices>button{display:block;padding:12px 16px;text-align:left;border:0;background:none;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}.calendar-choices>a:hover,.calendar-choices>button:hover{background:var(--light)}.appointment-more{margin:28px 0 0!important;padding:18px 0 0!important;border:0!important;border-top:1px solid var(--line)!important}.appointment-more>summary{font-size:14px;color:var(--muted);cursor:pointer}.appointment-more-content{padding-top:20px;display:grid;gap:16px}.appointment-option>.outline-button{min-height:44px;padding:10px 16px;font-size:14px;line-height:1.5}.appointment-option>p:empty{display:none}.appointment-option>p{margin:8px 0 0}.appointment-cancel{background:none;border:0;color:#98543f;padding:6px 0;font-size:14px;justify-self:start}.appointment-history{border:0!important;padding:8px 0 0!important;margin:0!important}.appointment-history>summary{font-size:14px;color:var(--muted)}
@media(max-width:650px){.account-quick-actions{grid-template-columns:1fr;gap:10px}.account-quick-actions>a{min-height:52px;padding:13px 18px}.appointment-summary{padding:24px 20px}.appointment-summary>h2{font-size:27px}.appointment-time{padding:18px}.appointment-time>div{flex-wrap:wrap;gap:6px 14px}.appointment-actions{display:grid;grid-template-columns:1fr}.appointment-calendar{width:100%}.appointment-actions>.button{width:100%}}

/* Personal feedback requests. */
#booking-teacher .feedback-request-card{padding:26px 28px;margin-top:20px;border:1px solid var(--line);border-radius:10px;background:#fffefa;box-shadow:none}
#booking-teacher .feedback-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;max-width:none;padding:0;margin:0;border:0}
.feedback-card-head h4{font-family:Manrope,sans-serif;font-size:21px;font-weight:600;line-height:1.35;margin:0 0 6px;overflow-wrap:anywhere}.feedback-card-head time{font-size:12px;color:var(--muted);line-height:1.5}.feedback-state{display:inline-flex;align-items:center;gap:7px;border-radius:20px;padding:5px 11px;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.6;background:var(--light);color:var(--green)}.feedback-state.is-new:before{content:'';width:6px;height:6px;background:var(--orange);border-radius:50%}.feedback-state.is-contacted{background:#f0f1eb;color:var(--muted)}.feedback-contact{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;margin:24px 0}.feedback-contact dt{font-size:12px;color:var(--muted);margin-bottom:4px}.feedback-contact dd{font-size:16px;line-height:1.5;margin:0;overflow-wrap:anywhere}.feedback-followup{font-size:12px!important;color:var(--muted);margin:0 0 18px}.feedback-card-bottom{display:flex!important;align-items:flex-start;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px}.feedback-notes{flex:1;min-width:0;border:0!important;margin:0!important;padding:0!important}.feedback-notes>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;padding:10px 0;font-size:14px;font-weight:500;cursor:pointer;max-width:210px}.feedback-notes>summary::-webkit-details-marker{display:none}.feedback-notes[open]>summary>span{transform:rotate(45deg)}.feedback-notes>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;color:var(--muted);margin:12px 0 0}.feedback-complete{min-height:42px;padding:10px 16px;font-size:13px;line-height:20px;gap:20px;flex-shrink:0}.feedback-complete span{font-size:16px}.feedback-result:empty{display:none}.feedback-result{font-size:13px;margin:14px 0 0}
@media(max-width:600px){#booking-teacher .feedback-request-card{padding:20px}.feedback-contact{grid-template-columns:1fr;gap:14px;margin:20px 0}.feedback-card-head h4{font-size:19px}.feedback-card-head{gap:12px}.feedback-state{font-size:11px;padding:4px 9px}.feedback-card-bottom{flex-wrap:wrap}.feedback-notes{flex-basis:100%}.feedback-complete{width:100%;justify-content:center}}

.result-feedback-link{appearance:none;border:0;background:none;padding:10px 0;color:var(--green);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.result-feedback-link:hover{text-decoration:underline;text-underline-offset:5px}

.quiz-completed .completion-mark{width:40px;height:40px;font-size:22px;margin-top:18px}.quiz-completed #result-title{margin:16px 0 0}.quiz-completed #result-title:focus:not(:focus-visible){outline:none}.quiz-completed .test-score{padding:16px 0 0}.quiz-completed .test-score>strong{font-size:48px}.quiz-completed .test-score>p{margin:4px 0 0}.quiz-completed .score-context{margin:8px 0 18px}.quiz-completed .summary-download{min-height:50px;padding:13px 20px}.quiz-completed .summary-caption{margin:8px 0 12px}.quiz-completed .completion-followup{margin-top:14px;padding-top:16px;gap:10px}.quiz-completed .completion-followup>p{margin:0}.quiz-completed #test-share-area:empty{display:none}.quiz-completed [hidden]{display:none!important}.personal-report-card{background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:32px}.personal-report-card h3{font-size:22px;margin-top:28px}.report-topic-list>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.report-topic-list span{color:var(--muted)}.teacher-report-note{background:var(--light);padding:20px;border-radius:8px;margin:26px 0}.teacher-report-note h3{margin-top:0}.teacher-report-note p{white-space:pre-wrap}.teacher-report-form{margin-top:24px;padding:22px;background:var(--light);border-radius:8px}.teacher-report-form>button{margin-top:18px}@media(max-width:600px){.personal-report-card{padding:22px}.report-topic-list>div{flex-direction:column;gap:4px}}

.automatic-report>p{color:var(--muted);font-size:15px}.automatic-observations{display:grid;gap:14px;margin-top:22px}.automatic-observations article{padding:18px 20px;background:var(--light);border-radius:7px}.automatic-observations h4{font-size:16px;margin:0 0 7px}.automatic-observations p{font-size:14px;line-height:1.8;margin:0}.report-next-steps{padding-left:22px}.report-next-steps li{padding:8px 0 12px 6px}.report-next-steps p{font-size:14px;color:var(--muted);margin:6px 0}.report-count-details{margin-top:24px}.report-count-details summary{font-size:14px;cursor:pointer}.report-meeting-cta{padding:24px;background:var(--light);border-radius:8px;margin:28px 0}.report-meeting-cta h3{margin-top:0}.report-meeting-cta p{font-size:14px;color:var(--muted)}.report-meeting-cta .button{margin-top:8px}

.weekly-lesson-summary{margin:22px 0 28px!important}.weekly-lesson-summary>summary{font-size:16px;font-weight:600;cursor:pointer}.weekly-calendar-scroll{overflow-x:auto;padding:18px 0 10px;max-width:100%}.weekly-calendar{min-width:680px;border:1px solid var(--line);border-radius:9px;background:#fffefa;overflow:hidden}.weekly-calendar-head{display:grid;grid-template-columns:60px repeat(7,minmax(0,1fr));background:var(--light);border-bottom:1px solid var(--line);height:44px;align-items:center;text-align:center;font-size:12px}.weekly-calendar-head>span{color:var(--muted);font-size:11px}.weekly-calendar-head>strong{font-weight:600}.weekly-calendar-body{display:grid;grid-template-columns:60px repeat(7,minmax(0,1fr));height:648px;margin:16px 0;position:relative}.weekly-hour-axis{position:relative}.weekly-hour-axis>span{position:absolute;right:10px;transform:translateY(-50%);font-size:10px;line-height:1;color:var(--muted);font-variant-numeric:tabular-nums}.weekly-day-column{position:relative;border-left:1px solid #e6e8de;background:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent 72px)}.weekly-lesson{position:absolute;left:4px;right:4px;padding:5px 5px;border-radius:5px;border-left:3px solid;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:1px;line-height:1.3}.weekly-lesson>strong{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekly-lesson>span{font-size:9px;white-space:nowrap;letter-spacing:-.2px;font-variant-numeric:tabular-nums}.lesson-color-0{background:#e1eee7;color:#245c50;border-color:#49866e}.lesson-color-1{background:#f5e9db;color:#835a32;border-color:#bd8d58}.lesson-color-2{background:#e9e6f3;color:#66517e;border-color:#9580ae}.weekly-calendar-key{display:flex;gap:20px;flex-wrap:wrap;margin:14px 0 0;font-size:12px;color:var(--muted)}.weekly-calendar-key>span{display:inline-flex;align-items:center;gap:7px}.weekly-calendar-key i{display:inline-block;width:10px;height:10px;border-radius:3px;border:1px solid}
.teacher-calendar-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:4px 0 20px}.calendar-week-navigation{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-week-navigation>h3{font-size:20px}.calendar-week-navigation>.outline-button{padding:6px 14px;min-height:38px;font-size:22px;line-height:24px}.teacher-calendar-settings{margin:0!important;padding:0!important;border:0!important;position:relative}.teacher-calendar-settings>summary{cursor:pointer;border:1px solid var(--line);border-radius:5px;padding:8px 12px;font-size:13px;white-space:nowrap}.teacher-calendar-settings>div{position:absolute;right:0;z-index:8;width:310px;padding:20px;background:#fffefa;border:1px solid var(--line);box-shadow:0 8px 26px #153e3a12;border-radius:7px}.teacher-calendar-settings p{font-size:13px;overflow-wrap:anywhere}.teacher-calendar-settings .outline-button{font-size:12px;padding:10px 14px}.teacher-calendar-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.teacher-calendar-legend>span{display:flex;align-items:center;gap:6px}.teacher-calendar-legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.legend-lesson{background:#78a08a}.legend-meeting{background:#8b8dc4}.legend-busy{background:#b3b8b2}.teacher-calendar-legend>button{margin-left:auto;border:0;background:none;padding:5px;color:var(--green)}.teacher-editable-calendar{min-width:740px}.teacher-editable-calendar .weekly-calendar-head{height:60px}.weekly-calendar-head strong>small{display:block;font-size:17px;font-weight:500;line-height:1.4}.weekly-calendar-head .calendar-today{color:var(--orange)}.teacher-editable-calendar .weekly-lesson{z-index:2;font-family:inherit;text-align:left;cursor:pointer;min-width:0;box-shadow:none}.calendar-event-lesson{background:#e1eee7;color:#245c50;border-color:#49866e}.calendar-event-meeting{background:#eceaf8;color:#5b5387;border-color:#9188bd}.calendar-event-busy{background:#e9ebe7;color:#677066;border-color:#a6ada4}.calendar-empty-slot{position:absolute;left:0;right:0;width:100%;border:0;background:transparent;padding:0;cursor:pointer;border-radius:0}.calendar-empty-slot:hover{background:#eaf0e599}.calendar-empty-slot:focus-visible{outline:2px solid var(--green);outline-offset:-2px;z-index:3}.calendar-editor-dialog{width:min(480px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:26px;border:1px solid var(--line);border-radius:12px;background:#fffefa;color:var(--ink);box-shadow:0 20px 70px #153e3a25}.calendar-editor-dialog::backdrop{background:#153e3a55}.calendar-editor-dialog h3{font-size:22px}.calendar-editor-dialog .dialog-top{margin-bottom:20px}.calendar-editor-dialog input:not([type=checkbox]),.calendar-editor-dialog select{display:block;width:100%;padding:11px 12px;min-height:44px;border:1px solid #bcc8b8;background:#fffefa;border-radius:5px;color:var(--ink)}.calendar-editor-dialog label{display:block;font-size:13px;font-weight:500;margin:14px 0}.calendar-editor-times{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calendar-editor-dialog .checkbox{display:flex;align-items:center;gap:10px}.calendar-editor-dialog .draft-actions{margin-top:22px}.calendar-delete{color:#98543f}.calendar-editor-dialog [role=status]{font-size:13px;margin-bottom:0}@media(max-width:700px){.teacher-calendar-toolbar{flex-direction:column}.calendar-week-navigation{gap:9px}.calendar-week-navigation>h3{font-size:17px}.teacher-calendar-settings>div{right:auto;left:0;max-width:calc(100vw - 80px)}.teacher-calendar-legend{gap:12px}.teacher-calendar-legend>button{margin-left:0}.calendar-editor-dialog{padding:20px}}
.teacher-editable-calendar .weekly-calendar-body{height:864px}.teacher-editable-calendar .weekly-day-column{background:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent 96px)}.teacher-editable-calendar .calendar-event-meeting{padding:2px 4px;gap:0}.teacher-editable-calendar .calendar-event-meeting>strong{font-size:10px}.teacher-editable-calendar .calendar-event-meeting>span{font-size:9px}
/* Three-color visual system: forest, ivory, copper. */
:root{--paper:#f8f7f2;--ink:#183f38;--green:#24594c;--muted:#67736b;--line:#dddcd2;--orange:#aa5234;--light:#edf1e9;--copper:#aa5234;--copper-soft:#f4e6dc;--surface:#fffefa;--ease-out:cubic-bezier(.22,1,.36,1)}
body{background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#e6b99d;color:var(--ink)}
.site-header{position:sticky;top:0;z-index:40;background:rgba(248,247,242,.9);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);transition:box-shadow .3s ease,border-color .3s ease}
.site-header.header-scrolled{box-shadow:0 8px 24px #183f3809;border-bottom-color:#cecfc3}
.site-header nav a{transition:color .2s ease}.site-header nav a[aria-current=page]{text-decoration-color:var(--copper);text-underline-offset:9px}
.site-header .header-account{border-radius:9px}.brand-icon{border-radius:14px!important}
h1,h2,h3{letter-spacing:-.025em;text-wrap:balance}p{overflow-wrap:break-word}
.button,.outline-button{transition:background .22s ease,color .22s ease,border-color .22s ease,box-shadow .25s ease,transform .3s var(--ease-out);border-radius:8px}
.button{background:var(--green)}.button:hover{background:#193f35;box-shadow:0 8px 20px #183f3815;transform:translateY(-2px)}.button:active,.outline-button:active{transform:translateY(0) scale(.985)}
.button>span,.outline-button>span{transition:transform .3s var(--ease-out)}.button:hover>span,.outline-button:hover>span{transform:translateX(3px)}.summary-download:hover>span{transform:translateY(3px)}
.outline-button:hover{background:var(--light);border-color:var(--green)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
input:not([type=checkbox]):not([type=radio]),select,textarea{transition:border-color .2s ease,box-shadow .2s ease;background-color:var(--surface)}
input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{outline:0;border-color:var(--green);box-shadow:0 0 0 3px #24594c14}
.hero{gap:clamp(32px,5vw,72px)}.hero .eyebrow{color:var(--copper)}.hero h1{font-size:clamp(34px,3.8vw,48px);line-height:1.2;letter-spacing:-.035em}.hero .intro{font-size:16px;line-height:1.85;max-width:470px}.hero-art{background-color:#e8eee3;border-radius:28px;background-image:radial-gradient(#aabb9d 1px,transparent 1px);box-shadow:inset 0 0 60px #f8f7f299}.hero-art .paper{border-radius:7px;box-shadow:0 20px 45px #183f3810}.sticky{background:var(--copper-soft);color:#81432d;border-radius:4px;box-shadow:0 10px 24px #81432d0a}.dot{background:var(--copper)}
.hero-notes{gap:18px}.hero-notes>span{color:var(--muted)}
.test-card,.contact-card,.report-card,.parent-summary,.account-options article,.personal-report-card,.appointment-summary{border-radius:16px;background:var(--surface);border-color:var(--line);box-shadow:0 8px 30px #183f3804}
.contact-note{background:var(--copper-soft);border-radius:16px}.contact-note .mini-icon{color:var(--copper)}.contact-note .instagram-contact{border-radius:8px}.calm-note>span,.step-num{color:var(--copper)}
.teacher-mark{background:var(--light);border-radius:20px}.home-path-grid>a{transition:border-color .25s ease}.home-path-grid>a>span{color:var(--copper)}
.completion-mark{background:var(--light);color:var(--green)}.test-score>strong{letter-spacing:-.04em}.quiz-completed .card-meta>span{color:var(--copper)}
.report-meeting-cta{background:var(--copper-soft);border-radius:12px}.report-meeting-cta h3{color:var(--ink)}.automatic-observations article{border-radius:10px}.teacher-report-note{border-radius:10px}
.booking-admin-tabs{gap:10px;flex-wrap:wrap}.booking-admin-tabs button{border-radius:8px;transition:background .2s ease,color .2s ease}.booking-admin-tabs button[aria-pressed=true]{background:var(--green);color:#fffefa}.feedback-state.is-new{background:var(--copper-soft);color:#81432d}.feedback-state.is-new:before{background:var(--copper)}
.portal-dialog,.calendar-editor-dialog{border-radius:16px;box-shadow:0 24px 90px #183f3826}.portal-dialog::backdrop,.calendar-editor-dialog::backdrop{background:#183f384d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
footer{border-top-color:var(--line)}
@media(hover:hover) and (pointer:fine){.home-path-grid>a:hover{border-top-color:var(--copper)}.account-options article:hover{box-shadow:0 16px 36px #183f380b;transform:translateY(-3px)}.account-options article{transition:transform .4s var(--ease-out),box-shadow .4s ease}.hero-art .paper{transition:transform .8s var(--ease-out)}.hero-art:hover .paper{transform:rotate(-2deg) translateY(-4px)}}
@media(prefers-reduced-motion:no-preference){
@keyframes site-enter{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
body main>section:first-child{animation:site-enter .6s var(--ease-out) both}
@keyframes panel-enter{from{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
dialog[open]{animation:panel-enter .25s var(--ease-out) both}
.motion-reveal{transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.motion-reveal.reveal-waiting{opacity:0;transform:translateY(18px)}.motion-reveal.reveal-visible{opacity:1;transform:none}
@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.16s}::view-transition-new(root){animation-duration:.22s}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-reveal.reveal-waiting{opacity:1;transform:none}}
@media(max-width:800px){.site-header{background:rgba(248,247,242,.96)}.site-header nav{background:var(--surface);border-radius:12px;box-shadow:0 16px 36px #183f3814}.hero-art{border-radius:20px}.hero h1{font-size:clamp(32px,7vw,42px)}.contact-note,.test-card,.contact-card{border-radius:12px}}
/* Cinematic home: visible copper, scroll-led mathematical storytelling. */
body[data-page="index.html"]{overflow-x:clip}
body[data-page="index.html"] .hero{position:relative;max-width:1264px;min-height:700px;padding:62px 40px 78px;gap:64px;isolation:isolate}
body[data-page="index.html"] .hero:before{content:'';position:absolute;z-index:-1;inset:36px -36px 32px 48%;background:#aa5234;border-radius:38px;transform:rotate(-3deg);box-shadow:0 30px 80px #aa523418}
body[data-page="index.html"] .hero>div:first-child{position:relative;z-index:2}
body[data-page="index.html"] .hero h1{font-size:clamp(38px,4.6vw,59px);line-height:1.12;letter-spacing:-.045em}
body[data-page="index.html"] .hero h1 em{font-family:inherit;font-style:normal;color:var(--copper)}
body[data-page="index.html"] .hero .intro{max-width:420px;margin:25px 0 28px}
body[data-page="index.html"] .hero .actions{gap:20px}
body[data-page="index.html"] .hero-art{background:transparent;box-shadow:none;min-height:0;padding:26px 14px 42px;border-radius:24px;perspective:1200px}
body[data-page="index.html"] .hero-art .paper{background:#fffaf0;border-radius:13px;transform:rotateY(var(--pointer-x,0deg)) rotateX(var(--pointer-y,0deg)) rotate(-5deg);transition:transform .7s var(--ease-out);box-shadow:0 28px 70px #4e251f30;border:1px solid #fffaf044}
body[data-page="index.html"] .hero-art .sticky{right:-12px;bottom:53px;background:#183f38;color:#fffaf0;border-radius:8px;padding:19px 22px;transform:rotate(5deg);box-shadow:0 14px 24px #40201824}
body[data-page="index.html"] .hero-art .art-caption{color:#fff5e7;bottom:6px;font-size:8px}
body[data-page="index.html"] .hero .button{border-radius:30px;padding:17px 24px}.hero .text-link{font-size:13px}
.math-story{position:relative;max-width:none;padding:0!important;margin:60px 0 0;overflow:clip;background:#f1dfcf;color:var(--ink)}
.math-story-sticky{max-width:1184px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:center;padding:64px 32px}
.story-copy>.eyebrow{color:var(--copper);margin-bottom:36px}.story-chapter{margin-bottom:36px}.story-number{display:block;font-size:11px;letter-spacing:2px;color:var(--copper);margin-bottom:20px;font-weight:600}.story-chapter h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.045em;line-height:1.08}.story-chapter p{font-size:16px;line-height:1.8;max-width:355px;color:#6d6158;margin:24px 0 0}
.story-stage-controls{display:none;gap:10px;margin-top:30px}.story-stage-controls button{background:transparent;border:1px solid #aa523433;color:#aa5234;width:44px;height:38px;border-radius:24px;font-size:12px;transition:color .25s,background .25s}.story-stage-controls button[aria-pressed=true]{background:var(--copper);color:#fffaf0;border-color:var(--copper)}
.story-visual{position:relative;min-width:0;isolation:isolate;perspective:1400px}.story-orbit{position:absolute;z-index:-1;inset:-36px;background:#aa5234;border-radius:40%;transform:rotate(13deg);opacity:.95}
.story-visual-card{position:relative;background:#fffaf1;border:1px solid #fffaf177;border-radius:22px;padding:30px;min-height:440px;box-shadow:0 35px 70px #663b241c;transform:scale(var(--scene-scale,1)) rotate(-3deg);transition:transform .6s var(--ease-out)}
.story-card-meta{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #d9cebf;padding-bottom:18px;font-size:8px;letter-spacing:1.5px;font-weight:700}.story-panel-label{font-size:9px;letter-spacing:1.7px;color:var(--copper);font-weight:700;margin:24px 0 16px}.story-demonstration h3{font-size:37px;line-height:1.12;letter-spacing:-.04em}.story-triangle{width:100%;height:auto;max-height:250px;color:var(--green);overflow:visible}.story-triangle .triangle-outline{fill:#edf1e988;stroke:var(--green);stroke-width:2.5;stroke-linejoin:round}.story-triangle .triangle-height{stroke:var(--copper);stroke-width:3;stroke-dasharray:170;stroke-dashoffset:0}.story-triangle circle{fill:var(--copper)}.story-triangle text{font-size:18px;fill:var(--ink);font-family:Manrope,sans-serif}.story-triangle .story-equation{font-size:17px;font-weight:600;fill:var(--copper)}.story-math-caption{font-size:14px;line-height:1.65;color:var(--muted);margin:18px 0 0}.story-report-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.story-report-row b{font-size:11px;color:var(--copper);font-weight:500}.story-teacher-monogram{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fffaf0;font-size:28px;margin:24px 0}.story-meeting-duration{color:var(--copper);font-size:12px;font-weight:600;margin:20px 0 0}.story-demonstration+.story-demonstration{margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}
.home-finale{position:relative;isolation:isolate;overflow:hidden;max-width:1184px;margin:76px auto!important;padding:64px 40px!important;border-radius:28px;background:var(--green);color:#fffaf0;text-align:center}.home-finale>.eyebrow{color:#ecc5a8}.home-finale h2{font-size:clamp(42px,5vw,66px);line-height:1.08;letter-spacing:-.05em}.home-finale h2 em{color:#edb68f;font-style:normal;font-family:inherit}.home-finale>p:not(.eyebrow){color:#d6e0d5;font-size:16px;margin:24px 0 30px}.home-finale .actions{justify-content:center;gap:24px}.home-finale .finale-primary{background:#efba94;color:#3f3023;border-radius:30px}.home-finale .finale-primary:hover{background:#f7cbaa}.finale-secondary{font-size:14px;color:#fffaf0}.finale-secondary span{margin-left:10px}.finale-glow{position:absolute;inset:auto -100px -210px auto;z-index:-1;width:440px;height:440px;border:80px solid #aa523455;border-radius:50%;filter:blur(2px)}
@media(prefers-reduced-motion:no-preference){
.cinematic-enabled .math-story.story-interactive{height:265svh;min-height:1800px;overflow:visible}.cinematic-enabled .math-story-sticky{position:sticky;top:100px;min-height:calc(100svh - 110px);padding:40px 32px}.story-interactive .story-chapters{position:relative;min-height:265px}.story-interactive .story-chapter{position:absolute;inset:0;opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .7s var(--ease-out);margin:0;pointer-events:none}.story-interactive[data-stage="0"] [data-chapter="0"],.story-interactive[data-stage="1"] [data-chapter="1"],.story-interactive[data-stage="2"] [data-chapter="2"]{opacity:1;transform:none;pointer-events:auto}.story-interactive .story-stage-controls{display:flex}.story-interactive .story-visual-card{height:445px}.story-interactive .story-demonstration{position:absolute;top:62px;left:30px;right:30px;opacity:0;transform:translateY(22px) scale(.97);transition:opacity .5s ease,transform .8s var(--ease-out);margin:0!important;padding:0!important;border:0!important;pointer-events:none}.story-interactive[data-stage="0"] [data-story-panel="0"],.story-interactive[data-stage="1"] [data-story-panel="1"],.story-interactive[data-stage="2"] [data-story-panel="2"]{opacity:1;transform:none;pointer-events:auto}.story-interactive .triangle-height{stroke-dashoffset:calc(170 - 170 * min(1, var(--story-progress,0) * 8))}.story-interactive .story-orbit{transform:rotate(calc(13deg + var(--story-progress,0) * 28deg)) scale(calc(1 - var(--story-progress,0) * .1));border-radius:calc(40% - var(--story-progress,0) * 15%)}
.cinematic-enabled .site-header:after{content:'';position:absolute;bottom:-1px;left:0;height:2px;width:100%;background:var(--copper);transform:scaleX(var(--reading-progress,0));transform-origin:left;transition:transform .1s linear}
}
@media(max-width:1000px){body[data-page="index.html"] .hero{padding:48px 32px;gap:32px;min-height:620px}body[data-page="index.html"] .hero:before{right:-10px;left:50%;border-radius:24px}.math-story-sticky{gap:44px}.story-visual-card{padding:24px}.story-orbit{inset:-20px}.home-finale{margin:44px 24px!important}}
@media(max-width:700px){body[data-page="index.html"] .hero{grid-template-columns:1fr;padding:38px 24px 48px;gap:28px}body[data-page="index.html"] .hero:before{inset:auto 12px 20px;height:48%;transform:rotate(-2deg);border-radius:24px}body[data-page="index.html"] .hero h1{font-size:42px;max-width:450px}body[data-page="index.html"] .hero .intro{font-size:15px}body[data-page="index.html"] .hero-art{max-width:430px;margin:0 auto;width:100%;padding:16px 18px 38px}body[data-page="index.html"] .hero-art .paper h2{font-size:25px}body[data-page="index.html"] .hero-art .sticky{right:0;font-size:17px}.hero-notes{flex-wrap:wrap;gap:8px 15px}.math-story{margin-top:24px}.math-story-sticky{grid-template-columns:1fr;padding:38px 24px;gap:24px}.story-copy>.eyebrow{margin-bottom:14px}.story-chapter h2{font-size:34px}.story-chapter p{font-size:14px;line-height:1.65;margin-top:12px;max-width:100%}.story-number{margin-bottom:10px;font-size:10px}.story-visual{max-width:370px;width:100%;margin:auto}.story-card-meta{font-size:7px;padding-bottom:12px}.story-visual-card{padding:20px;min-height:345px}.story-panel-label{font-size:8px;margin:16px 0 8px}.story-triangle{max-height:190px}.story-math-caption{font-size:12px;margin-top:12px}.story-demonstration h3{font-size:29px}.story-report-row{padding:11px 0;font-size:12px}.story-teacher-monogram{width:56px;height:56px;font-size:23px;margin:16px 0}.story-stage-controls{margin-top:16px}.story-stage-controls button{width:36px;height:29px;font-size:10px}.story-orbit{inset:-10px;border-radius:20px}.home-finale{padding:44px 24px!important;margin:32px 16px!important;border-radius:20px}.home-finale h2{font-size:43px}.home-finale .actions{flex-direction:column;gap:20px}}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){.cinematic-enabled .math-story.story-interactive{height:300svh;min-height:1800px}.cinematic-enabled .math-story-sticky{top:86px;min-height:0;height:calc(100svh - 90px);max-height:850px;padding:24px;gap:18px;align-content:center}.story-interactive .story-chapters{min-height:170px}.story-interactive .story-visual-card{height:310px;min-height:310px}.story-interactive .story-demonstration{top:48px;left:20px;right:20px}.story-interactive .story-triangle{max-height:170px}.story-interactive .story-math-caption{font-size:11px}}
@media(max-height:720px) and (max-width:700px) and (prefers-reduced-motion:no-preference){.story-copy>.eyebrow{display:none}.story-interactive .story-chapters{min-height:142px}.story-chapter h2{font-size:28px}.story-interactive .story-visual-card{height:265px;min-height:265px}.story-interactive .story-triangle{max-height:140px}.story-interactive .story-demonstration{top:44px}.story-interactive .story-math-caption{margin-top:6px}.story-stage-controls{margin-top:6px}.story-panel-label{margin-top:12px}.story-report-row{padding:9px 0}.story-teacher-monogram{margin:10px 0;width:42px;height:42px;font-size:19px}.story-demonstration h3{font-size:25px}}
