/* Generated by scripts/build-site-theme.mjs; edit the source stylesheets. */
/* learning-space.css */
.learning-space-heading{margin:16px 0 30px}.learning-space-heading .eyebrow{font-size:12px;letter-spacing:.5px;margin:0 0 20px}.learning-space-heading h3{font-family:Manrope,"DM Sans",sans-serif;font-size:30px;line-height:1.3;margin:0 0 20px}.learning-space-heading>p:last-child{font-size:17px;line-height:1.7;margin:0;color:var(--muted)}.learning-space-toolbar{margin:24px 0 32px}.learning-space-destinations.portal-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 36px;width:100%}.learning-space-card.portal-tab{display:flex!important;flex-direction:column;align-items:flex-start;gap:14px;padding:24px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left;font-family:inherit;min-width:0;white-space:normal}.learning-space-card svg{flex:none}.learning-space-card:hover,.learning-space-card[aria-selected=true]{background:#edf0e6;color:var(--ink)}.learning-space-card:focus-visible{outline:2px solid #176b3a;outline-offset:3px}.learning-space-card-title{font-size:22px;font-weight:600;line-height:1.4}.learning-space-card-description{font-size:16px;font-weight:400;line-height:1.7;color:var(--muted)}.learning-space-card-wide{grid-column:1/-1}.learning-space-back{margin:0 0 18px}.portal-panel{scroll-margin-top:20px}.learning-toolkit-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.learning-toolkit-steps h4{font-size:17px;margin-bottom:8px}.learning-toolkit-steps p{font-size:15px;line-height:1.8}.learning-toolkit .detail-actions{flex-wrap:wrap}.learning-space-secondary-controls[hidden]{display:none!important}#students-portal[data-global-portal] [data-portal-panel="toolkit"]:not([hidden]){display:block!important}
@media(max-width:680px){.learning-space-heading h3{font-size:26px}.learning-space-heading>p:last-child{font-size:15px}.learning-space-destinations.portal-tabs{gap:10px}.learning-space-card.portal-tab{padding:16px 10px;gap:12px}.learning-space-card-title{font-size:17px}.learning-space-card-description{font-size:13px}.learning-space-card svg{width:25px;height:25px}.learning-toolkit-steps{grid-template-columns:1fr;gap:12px}.learning-space-card-wide .learning-space-card-description{font-size:14px}}
 .learning-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}.learning-document-card{min-width:0}.learning-document-preview{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/4;overflow:hidden;background:white;border:1px solid #dce1d7;border-radius:8px;box-shadow:0 5px 16px #193c3210;text-decoration:none}.learning-document-preview img{display:block;width:100%;height:100%;object-fit:contain}.learning-document-placeholder{padding:24px;text-align:center;color:var(--muted);font-size:14px}.learning-document-card h4{font-size:14px;line-height:1.5;margin:12px 0 4px;overflow-wrap:anywhere}.learning-document-card>p{font-size:12px;margin-top:0}.learning-document-closed{opacity:.45}.learning-level-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.learning-level-switches .portal-access-switch{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px}#learning-level-dialog select,#learning-level-dialog input{font-size:16px}#learning-level-dialog .detail-actions{justify-content:flex-end}@media(max-width:900px){.learning-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.learning-document-grid{gap:14px}.learning-document-card h4{font-size:13px}.learning-level-switches{grid-template-columns:1fr}}
.learning-exam-card{display:flex;flex-direction:column;gap:12px;align-items:flex-start;width:min(260px,100%);padding:0;margin:20px 0;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.learning-exam-card img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 16px #193c3210}.learning-exam-card span{font-size:15px;font-weight:600}.learning-exam-card:disabled{opacity:.4;cursor:default}.learning-exam-card:focus-visible{outline:2px solid #176b3a;outline-offset:5px}

.learning-space-destinations.portal-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:900px;margin:0}
.learning-space-card.portal-tab{min-height:128px;align-items:center;justify-content:center;text-align:center;gap:8px;padding:16px 12px;border:1px solid var(--line);border-radius:18px;background:#edf0e6}
.learning-space-card-title{font-size:16px;line-height:1.3}.learning-space-card-description{font-size:12px;line-height:1.4}.learning-space-card svg{width:30px;height:30px}
.learning-space-card-wide{grid-column:auto}
.learning-space-heading{margin:12px 0 18px}.learning-space-heading .eyebrow{margin-bottom:10px}.learning-space-heading h3{font-size:24px;margin-bottom:8px}.learning-space-heading>p:last-child{font-size:15px}.learning-space-toolbar{margin:16px 0 20px}
.student-contact-form{display:grid;gap:14px}.student-contact-form label{display:grid;gap:6px;font-size:14px}.student-contact-form input,.student-contact-form textarea{width:100%;box-sizing:border-box;font:inherit;padding:10px;border:1px solid var(--line);border-radius:6px}.student-contact-form button{justify-self:start}
@media(max-width:680px){.learning-space-destinations.portal-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learning-space-card.portal-tab{min-height:96px;padding:12px 8px;gap:8px}.learning-space-card-title{font-size:14px}.learning-space-card-description{display:none}.learning-space-card svg{width:28px;height:28px}.student-contact-form input,.student-contact-form textarea{font-size:16px}}

.instructor-overview{padding:0 0 1.5rem;border-bottom:1px solid #d7ddd4;margin-bottom:1.5rem}.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.instructor-overview h3{font-size:1.1rem;margin:1rem 0 .7rem}.overview-session{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.6rem 0}.instructor-overview>button{margin:.3rem .4rem .3rem 0}.overview-updated{font-size:.75rem;opacity:.7}.confirmation-session-details{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}.confirmation-session-details dd{margin:0;overflow-wrap:anywhere}.confirmation-session-details dt{font-weight:600}.learning-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin:1rem 0;font-size:.85rem}.learning-breadcrumbs button{font:inherit;background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer}.learning-document-card h4{overflow-wrap:anywhere;line-height:1.4}.learning-document-placeholder{background:linear-gradient(135deg,#fff,#edf0e6);border:1px solid #d5dccf;border-radius:3px;box-shadow:3px 4px 0 #e1e5dc;padding:1rem;text-align:center}[data-save-state=busy]{color:#56664f}[data-save-state=success]{color:#235637}[data-save-state=error]{color:#963c30}[data-save-state=local]{color:#805f24}[data-save-state=busy]::before{content:'';display:inline-block;width:.7rem;height:.7rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:.4rem;animation:save-spin 1s linear infinite}@keyframes save-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){[data-save-state=busy]::before{animation:none}}

#portal-calendar .calendar-day-blocked{opacity:.42;background:#e6e7e1!important}.learning-breadcrumbs[hidden]{display:none}

.booking-types{display:flex;flex-wrap:wrap;gap:10px;margin:1rem 0}.booking-types [aria-pressed=true]{background:#193c32;color:#fff}.booking-registration-form{display:grid;gap:14px}.booking-registration-form label,.booking-request-review label{display:grid;gap:6px}.booking-registration-form input,.booking-registration-form select,.booking-request-review select{width:100%;min-width:0;font:inherit;font-size:16px;padding:10px;box-sizing:border-box}.booking-payment-instructions{padding:12px;background:#edf0e6;font-size:.9rem;line-height:1.6;overflow-wrap:anywhere}.booking-request-card{border-bottom:1px solid #d7ddd4;padding:1rem 0}.booking-request-card h4{margin:.5rem 0}.booking-request-card p{margin:.5rem 0;overflow-wrap:anywhere}.booking-request-review{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.booking-request-review .detail-actions,.booking-request-review [role=status]{grid-column:1/-1}.booking-request-highlight{border-left:3px solid #176b3a;padding-left:12px}.booking-day-grid .calendar-day{min-height:90px}.booking-day-grid .calendar-slot{overflow-wrap:normal;font-size:11px;line-height:1.3}.booking-day-grid small{font-size:10px;line-height:1.3;overflow-wrap:anywhere}@media(max-width:680px){.booking-types{display:grid;grid-template-columns:1fr}.booking-day-grid .calendar-day{padding:5px 2px;min-height:84px}.booking-day-grid .calendar-slot{font-size:9px;padding:4px 1px;min-height:44px}.booking-request-review{grid-template-columns:1fr}.booking-registration-dialog{max-width:calc(100vw - 24px);box-sizing:border-box}}

.booking-registration-form label{margin:0}.booking-registration-form input,.booking-registration-form select{margin:0}.booking-registration-dialog p{margin:.65rem 0}.booking-registration-form{margin-top:14px;gap:12px}.learning-breadcrumbs{padding:0;min-height:0;justify-content:flex-start;box-shadow:none;position:static}

.booking-course-choice{display:grid;gap:6px;margin:1rem 0}.booking-course-choice[hidden]{display:none}.booking-course-choice select{font:inherit;font-size:16px;min-width:0;max-width:100%;padding:10px}.temporary-portal-uploads{max-width:100%;box-sizing:border-box;margin:16px 0}.temporary-portal-uploads .teacher-library-picker{max-width:100%;flex-wrap:wrap}.teacher-library-selection{overflow-wrap:anywhere;min-width:0;max-width:100%}

.learning-document-viewer{width:1100px!important;max-width:calc(100vw - 24px)!important;height:90dvh;max-height:90dvh!important;box-sizing:border-box;padding:16px!important;overflow:hidden!important}.learning-document-viewer[open]{display:flex;flex-direction:column;gap:12px}.learning-document-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.learning-document-viewer-bar h2{font-size:16px!important;line-height:1.4;margin:0!important;overflow-wrap:anywhere}.learning-document-viewer-bar button{flex-shrink:0}.learning-document-viewer-body{flex:1;min-height:0;overflow:auto;background:#eceee7;border-radius:6px}.learning-document-viewer-body iframe{width:100%;height:100%;display:block;border:0}.learning-document-viewer-body img{display:block;max-width:100%;height:auto;margin:auto}.learning-document-viewer-body audio,.learning-document-viewer-body video{display:block;width:100%;max-height:100%}.learning-document-preview{font:inherit;cursor:pointer}@media(max-width:680px){.learning-document-viewer{padding:10px!important;max-width:calc(100vw - 12px)!important;height:92dvh;max-height:92dvh!important}.learning-document-viewer-bar{align-items:flex-start}.learning-document-viewer-bar h2{font-size:14px!important}}

.monthly-learning-feature{margin:24px 0;padding:24px;border:1px solid var(--line);border-radius:12px;background:#edf0e6;max-width:760px}.monthly-learning-feature h4{font-size:24px;line-height:1.4;margin:12px 0}.monthly-learning-source{font-size:13px;color:var(--muted);line-height:1.7}.monthly-learning-feature .button{margin:14px 0;white-space:normal;text-align:center}#portal-monthly>p,#portal-monthly li{line-height:1.8}#portal-monthly>h4{margin:24px 0 12px}#portal-monthly ol{padding-left:22px;max-width:760px}@media(max-width:680px){.monthly-learning-feature{padding:18px}.monthly-learning-feature h4{font-size:21px}}
/* New public listening card and panel participate in the existing portal. */
#students-portal #portal-tab-monthly{display:flex!important}
#students-portal #portal-monthly:not([hidden]){display:block!important}
#portal-exams [hidden]{display:none!important}
/* A destination opens as its own view, above the footer, rather than below cards. */
#students-portal.learning-section-open .learning-space-destinations,
#students-portal.learning-section-open .learning-space-heading,
#students-portal.learning-section-open .student-install-row{display:none!important}
#students-portal.learning-section-open .learning-space-toolbar{margin:0}
#students-portal .learning-space-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}
#learning-level-dialog.portal-level-entry,#learning-level-dialog:not(dialog){max-width:520px;margin:20px 0;padding:20px;position:relative}
#portal-calendar .booking-inline-time{width:100%;font-size:11px;line-height:1.3;padding:6px 2px;margin:3px 0;min-height:32px;white-space:normal;overflow-wrap:normal}
#portal-calendar .booking-time-taken{background:#e3e5df;color:#626c64;cursor:default}
#portal-calendar .calendar-day-blocked .booking-inline-time{opacity:.35}
@media(max-width:680px){#portal-calendar .booking-inline-time{font-size:9px;padding:6px 0;min-height:36px;letter-spacing:-.2px}#portal-calendar .calendar-day{padding:5px 2px}}
#booking-registration-dialog [hidden]{display:none!important}
/* Horizontal destination cards, with an icon beside their text. */
#students-portal .learning-space-card.portal-tab{display:grid!important;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:16px;row-gap:4px;align-items:center;justify-content:start;text-align:left;min-height:90px;padding:18px 20px}
#students-portal .learning-space-card>svg{grid-column:1;grid-row:1/3}
#students-portal .learning-space-card-title{grid-column:2;grid-row:1;align-self:end}
#students-portal .learning-space-card-description{grid-column:2;grid-row:2;align-self:start}
#students-portal [data-learning-back]{border:0;background:transparent;color:#176b3a;box-shadow:none;font-size:30px;line-height:1;width:44px;height:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;margin:0 0 10px}
#students-portal [data-learning-back][hidden]{display:none!important}
@media(max-width:680px){#students-portal .learning-space-destinations{grid-template-columns:1fr}#students-portal .learning-space-card.portal-tab{min-height:74px;grid-template-columns:30px minmax(0,1fr);padding:14px 16px;column-gap:14px}#students-portal .learning-space-card-description{display:block;font-size:12px}#students-portal .learning-space-card-title{font-size:15px}}
.calendar-availability-window{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.calendar-availability-window>span{margin-right:auto}.calendar-slot-dimmed{opacity:.4}#calendar-slot-editor label{display:grid;gap:6px;margin:12px 0}#calendar-slot-editor input{font:inherit;font-size:16px;padding:10px;max-width:100%}
.clock-12-input{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;min-width:0}.clock-12-input select{min-width:0;width:100%;font:inherit;font-size:16px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fffef9}.mobile-clients-toggle{display:none!important}@media(max-width:680px){.mobile-clients-toggle{display:inline-flex!important}#admin-students-list:not(.clients-expanded)>:not(.admin-clients-heading){display:none!important}.admin-clients-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}}

.native-english-form{display:grid;gap:14px;max-width:720px;margin-top:18px}.native-english-form label{display:grid;gap:6px}.native-english-form input,.native-english-form textarea{width:100%;min-width:0;font:inherit;font-size:16px;box-sizing:border-box;padding:10px}.native-english-form fieldset{display:grid;gap:14px;border:0;padding:0;margin:0;min-width:0}.native-english-form fieldset:disabled{opacity:.55}#native-english-editor>[data-native-preview]{margin-top:20px}
.document-page-controls{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:10px;background:var(--cream,#faf9f5);border-bottom:1px solid var(--line,#d7ddd4)}.document-page-controls button{min-height:44px}.learning-document-viewer-body canvas{display:block;margin:auto}.overview-upcoming{margin:16px 0}.overview-upcoming summary{cursor:pointer;padding:10px 0;font-weight:600}.backup-controls{display:flex;flex-wrap:wrap;gap:10px}.backup-controls button{min-height:44px}.instructor-backups p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}@media(max-width:680px){.instructor-overview .overview-session{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:12px 0;border-bottom:1px solid var(--line,#d7ddd4)}.overview-session>button{justify-self:start;min-height:44px}.overview-session>span{font-size:13px;line-height:1.6}.overview-heading .button{min-height:44px}.document-page-controls{gap:6px;font-size:13px}.document-page-controls .button{padding:8px 10px}.backup-controls{flex-direction:column;align-items:flex-start}}

/* Laptop Learning Hub: eight destinations in two rows of four. */
@media(min-width:1024px){#students-portal .learning-space-destinations{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}#students-portal .learning-space-card.portal-tab{grid-template-columns:minmax(0,1fr);grid-template-rows:36px auto 1fr;row-gap:12px;column-gap:0;min-height:180px;align-items:start;align-content:start;padding:22px 18px}#students-portal .learning-space-card>svg{grid-column:1;grid-row:1}#students-portal .learning-space-card-title{grid-column:1;grid-row:2;align-self:start}#students-portal .learning-space-card-description{grid-column:1;grid-row:3;align-self:start}}


/* One aligned row of instructor shortcuts; installed-app visibility rules still apply. */
#admin-dashboard .admin-dashboard-heading .instructor-shortcuts{display:flex;align-items:stretch;gap:10px;margin-left:auto;flex-wrap:wrap}
#admin-dashboard .instructor-shortcuts :is(#phone-install-button,#instructor-french-button){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:110px;height:44px;min-height:44px;margin:0;padding:10px 14px;flex:none;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:.03em}
.instructor-overview[hidden]{display:none!important}
@media(max-width:680px){#admin-dashboard .admin-dashboard-heading .instructor-shortcuts{margin-left:0}}

/* Keep Real English text aligned with its icon at every card width. */
#students-portal #portal-tab-monthly>.learning-space-card-title,#students-portal #portal-tab-monthly>.learning-space-card-description{align-self:stretch;text-align:left}

.instructor-resource-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0;max-width:900px}.instructor-resource-form label{display:grid;gap:8px;min-width:0;font-size:14px}.instructor-resource-form input,.instructor-resource-form select{box-sizing:border-box;min-width:0;max-width:100%;font:inherit;font-size:16px;padding:10px;border:1px solid var(--line,#cbd6c7);border-radius:8px;background:#fffefa}.instructor-resource-form label:has(input[type=file]),.instructor-resource-form>p,.instructor-resource-form>.detail-actions{grid-column:1/-1}.instructor-resource-form [hidden]{display:none!important}.instructor-resource-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line,#cbd6c7)}.instructor-resource-row span{min-width:0;overflow-wrap:anywhere}.instructor-resource-row button{flex:none}.library-level-parts{display:grid;gap:28px;margin:24px 0}.library-level-part{min-width:0;border-top:1px solid var(--line,#cbd6c7);padding-top:18px}.library-level-part>h4{font-size:18px;margin:0 0 16px}.library-level-part .learning-document-grid{margin:0}@media(max-width:680px){.instructor-resource-form{grid-template-columns:minmax(0,1fr);gap:12px}.instructor-resource-form label:has(input[type=file]),.instructor-resource-form>p,.instructor-resource-form>.detail-actions{grid-column:auto}.instructor-resource-row{gap:10px}.instructor-resource-form .detail-actions{flex-wrap:wrap}}

.client-payment-reminder{max-width:230px}.client-payment-reminder>.button{white-space:normal;text-align:center;line-height:1.4}.client-payment-reminder-status{font-size:12px;line-height:1.5;overflow-wrap:anywhere;margin:8px 0 0}

.material-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.material-folder-grid .portal-level-button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-height:125px;padding:20px;text-align:left;white-space:normal;line-height:1.5;font-size:15px;border:1px solid #bdcbb3;background:#edf0e6;color:#193c32;border-radius:18px}.material-folder-icon{font-size:30px;line-height:1;color:#637c4c}.material-folder-grid+.button{margin-top:16px}@media(max-width:680px){.material-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.material-folder-grid .portal-level-button{padding:14px;min-height:120px;font-size:13px}.material-folder-icon{font-size:26px}}

/* Compact guides stay in the right corner instead of taking a content row. */
#portal-content [data-portal-panel],#portal-content .learning-space-heading{position:relative}
#portal-content [data-portal-panel]>.section-guide,#portal-content .dashboard-help-circle{position:absolute!important;right:0!important;top:0!important;float:none!important;display:grid!important;place-items:center!important;width:36px!important;height:36px!important;min-height:36px!important;max-width:36px!important;padding:0!important;margin:0!important;border:1px solid #bdcbb3!important;border-radius:50%!important;background:#edf0e6!important;font-size:19px!important;line-height:1!important;box-shadow:none!important;transform:none!important;z-index:1}
#portal-content .section-guide .guide-mark{display:block;font-size:inherit;line-height:1;font-weight:500;border:0;background:transparent;width:auto;height:auto}
#portal-content [data-portal-panel]>h3,#portal-content .learning-space-heading h3{padding-right:48px}
#students-portal.portal-session-active{padding-top:18px!important}#students-portal.portal-session-active #client-portal{margin-top:0!important;padding-top:0!important}#students-portal .learning-space-heading{margin-top:0!important;margin-bottom:18px!important}#students-portal .learning-space-toolbar{margin:12px 0 18px!important}#students-portal .learning-breadcrumbs{margin:0 0 12px!important}#students-portal #portal-monthly{padding-top:0!important;margin-top:0!important}#portal-monthly>h3{margin-top:0!important;margin-bottom:10px!important}#portal-monthly .real-english-layout{margin-top:16px!important}
#daily-mission .daily-challenge-extras{display:grid!important;grid-template-columns:minmax(0,1fr) 150px;gap:24px;max-width:650px;align-items:start;width:100%}#daily-mission .daily-encouragement{margin:0;text-align:center;max-width:150px;justify-self:end}#daily-mission .daily-encouragement svg{display:block;width:100%;height:auto}#daily-mission .daily-encouragement figcaption{font:italic 17px/1.45 Georgia,serif;margin-top:4px;color:#193c32}@media(max-width:680px){#daily-mission .daily-challenge-extras{grid-template-columns:minmax(0,1fr) 100px;gap:14px}#daily-mission .daily-encouragement figcaption{font-size:14px}#students-portal.portal-session-active{padding-top:12px!important}}
main>#students-portal.catalog.portal-session-active:not(#home){padding-top:16px!important}main>#students-portal #portal-content>[data-learning-back]:not([hidden]){min-height:32px!important;margin-bottom:8px!important;padding-top:2px!important;padding-bottom:2px!important}@media(max-width:680px){main>#students-portal.catalog.portal-session-active:not(#home){padding-top:10px!important}}

/* Compact client reminder; roomy hour/minute/period controls. */
#admin-students-list .admin-client-actions .client-payment-reminder{flex:0 1 160px;max-width:160px;min-width:120px}
#admin-students-list .admin-client-actions .client-payment-reminder>.button{flex:none;width:100%;min-height:32px;font-size:11px;line-height:1.35;padding:5px 9px;white-space:normal;gap:0}
#calendar-session-dialog{width:min(760px,calc(100vw - 24px));box-sizing:border-box}
#calendar-session-dialog #admin-session-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
#calendar-session-dialog #admin-session-form>label{min-width:0;display:grid;gap:8px;margin:0}
#calendar-session-dialog #admin-session-form>label:has(.clock-12-input){grid-column:1/-1}
#calendar-session-dialog .clock-12-input{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);gap:12px;width:100%;max-width:460px}
#calendar-session-dialog .clock-12-input select{width:100%;min-width:0;min-height:46px;padding:10px 8px;font-size:16px}
@media(max-width:680px){#admin-students-list .admin-clients-table td.admin-client-actions{flex-wrap:wrap!important}#calendar-session-dialog #admin-session-form{grid-template-columns:minmax(0,1fr);gap:16px}#calendar-session-dialog .clock-12-input{gap:8px;max-width:none}}

/* Keep all three client actions together at a compact, consistent size. */
#admin-students-list .admin-clients-table td.admin-client-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-start;gap:6px!important}
#admin-students-list .admin-clients-table td.admin-client-actions>.button,#admin-students-list .admin-clients-table td.admin-client-actions .client-payment-reminder>.button{flex:none!important;width:auto!important;min-width:0!important;min-height:30px!important;height:30px!important;padding:5px 9px!important;font-size:11px!important;line-height:1.3!important;white-space:nowrap!important;margin:0!important;gap:0!important}
#admin-students-list .admin-clients-table td.admin-client-actions>.client-payment-reminder{flex:0 0 auto!important;min-width:0!important;max-width:100px!important}
#admin-students-list .admin-clients-table td.admin-client-actions>.client-payment-reminder{display:flex;flex-direction:column;align-items:flex-start}

#admin-students-list .admin-client-inactive td:not(.admin-client-actions){opacity:.45}#admin-students-list .admin-client-inactive td:first-child::after{content:" · Inactive";font-size:11px;font-style:italic}#admin-students-list .admin-client-inactive .admin-client-actions{opacity:1}

.motivation-message-editor{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.motivation-message-editor form{display:grid;gap:14px;max-width:680px}.motivation-message-editor label{display:grid;gap:7px}.motivation-message-editor input,.motivation-message-editor textarea{font:inherit;font-size:16px;width:100%;min-width:0;padding:10px;border:1px solid #bdcbb3;border-radius:8px;box-sizing:border-box;background:#fffef9}.motivation-editor-preview{width:min(260px,100%);max-height:260px;object-fit:contain}.motivation-message-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.motivation-message-list .button{white-space:normal;text-align:left}

/* how-it-works.css */
/* Speak Boldly · an editorial learning journey, using the existing brand palette. */
#how.how-editorial{--how-ink:var(--ink,#193c32);--how-lime:#d5ed98;--how-paper:var(--cream,#faf9f4);max-width:1120px;margin:0 auto;padding-top:30px;color:var(--how-ink)}
#how.how-editorial .eyebrow{font-family:"DM Sans",sans-serif;font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.13em;margin:0 0 20px}
#how .how-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:20px 0 62px}
#how .how-hero h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(70px,7.5vw,104px);font-weight:400;line-height:.95;letter-spacing:-.065em;margin:24px 0 26px}
#how.how-editorial em{font-family:Georgia,"Times New Roman",serif;font-weight:400}
#how .how-hero h2 em{position:relative;display:inline-block;font-style:italic;letter-spacing:-.055em}
#how .how-hero h2 em:after{content:"";position:absolute;left:2%;right:-2%;bottom:-12px;height:9px;border-bottom:2px solid var(--how-ink);border-radius:50%;transform:rotate(-3deg)}
#how .how-hero-note{font-size:18px;line-height:1.7;max-width:300px;margin:32px 0 24px}
#how .how-main-action{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:13px;min-height:48px;padding:12px 20px;border-radius:50px}
#how .how-main-action>span{font-size:21px;line-height:1}
#how .how-hero-visual{position:relative;margin:0;padding:42px 12px 22px 24px;isolation:isolate}
#how .how-hero-visual:before{content:"";position:absolute;inset:25px 0 22px 5px;border:1px solid #bacbbf;border-radius:48% 48% 22px 22px;transform:rotate(5deg);z-index:-1}
#how .how-photo-frame{overflow:hidden;border-radius:48% 48% 18px 18px;background:#edf0e6;border:1px solid var(--how-ink);aspect-ratio:1.28;transform:rotate(-3deg)}
#how .how-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
#how .how-hero-visual figcaption{font-size:11px;letter-spacing:.06em;line-height:1.6;padding:19px 10px 0;text-align:center}
#how .how-speech-note{position:absolute;left:0;top:28px;padding:17px 22px;background:var(--how-lime);border:1px solid var(--how-ink);border-radius:50% 50% 50% 8px;transform:rotate(-9deg);font-family:Georgia,serif;font-size:20px;line-height:1.2;box-shadow:4px 5px 0 #193c3210}
#how .how-speech-note span,#how .how-speech-note strong{display:block;font-weight:400}
#how .how-speech-note strong{font-style:italic}
#how .how-star{position:absolute;right:-4px;top:0;width:85px;height:85px;color:var(--how-ink);transform:rotate(12deg)}
#how .how-star svg,#how .how-closing-star svg{width:100%;height:100%;display:block}
#how .how-photo-stamp{position:absolute;right:-1px;bottom:70px;background:var(--how-paper);border:1px solid var(--how-ink);padding:16px 20px;border-radius:5px;transform:rotate(7deg);font-size:11px;line-height:1.6;letter-spacing:.1em;font-weight:600}
#how .how-photo-stamp>span{font-size:30px;position:absolute;right:12px;top:9px}#how .how-photo-stamp{padding-right:48px}
#how .how-ribbon{overflow:hidden;margin:0 0 62px;padding:16px 0;transform:rotate(-1.2deg);background:var(--how-ink);color:var(--how-lime);border-top:1px solid var(--how-ink);border-bottom:1px solid var(--how-ink)}
#how .how-ribbon>div{display:flex;justify-content:space-around;align-items:center;gap:30px;white-space:nowrap;min-width:880px}
#how .how-ribbon span{font-family:Georgia,serif;font-size:31px;line-height:1.15;font-style:italic}#how .how-ribbon span:nth-child(even){font-size:21px}
#how .how-introduction{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:66px;padding:0 22px}
#how .how-introduction h3,#how .how-closing h3{font-family:Georgia,serif;font-weight:400;font-size:43px;line-height:1.08;letter-spacing:-.035em;margin:0}
#how .how-introduction>p{font-size:16px;line-height:1.9;margin:0;max-width:520px}
#how .how-journey-heading{display:grid;grid-template-columns:1fr auto;align-items:center;margin:0 0 25px;padding:24px 0 0;border-top:1px solid #cdd7cb}
#how .how-journey-heading .eyebrow{grid-column:1;margin-bottom:9px}
#how .how-journey-heading h3{font-family:Georgia,serif;font-weight:400;font-size:39px;line-height:1.1;letter-spacing:-.035em;margin:0}
#how .how-journey-heading>svg{grid-column:2;grid-row:1/3;width:135px;height:48px;align-self:end;margin-right:30px}
#how .how-guide.how-editorial-guide{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;margin:0}
#how .how-editorial-guide>.how-step{grid-column:span 2;border:0;border-radius:0;background:transparent;padding:24px 0 12px;box-shadow:none;min-width:0}
#how .how-editorial-guide>.how-step-1,#how .how-editorial-guide>.how-step-2{grid-column:span 3;padding:28px 30px 32px;border:1px solid #cbd6c7;border-radius:8px 50px 8px 8px;background:#edf0e6}
#how .how-editorial-guide>.how-step-2{border-radius:50px 8px 8px 8px;background:var(--how-paper)}
#how .how-step-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px}
#how .how-step-number{font-family:Georgia,serif;font-size:46px;font-weight:400;font-style:italic;line-height:1;color:var(--how-ink)}
#how .how-step-icon{width:44px;height:44px;flex:none;color:var(--how-ink)}
#how .how-step h3{font-family:"DM Sans",sans-serif;font-size:20px;font-weight:600;line-height:1.35;margin:0 0 18px;letter-spacing:-.02em;text-transform:none}
#how .how-step p,#how .how-step li{font-size:14px;line-height:1.85;margin:0 0 13px;max-width:none}
#how .how-step .button{font-size:12px;line-height:1.6;min-height:44px;white-space:normal;margin-top:12px;border-radius:30px;padding:12px 18px}
#how .how-editorial-guide>.how-step-policy{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;margin:10px 0;padding:42px 40px;background:var(--how-ink);color:var(--how-paper);border-radius:10px;position:relative;overflow:hidden}
#how .how-step-policy .how-step-top{max-width:270px}#how .how-step-policy .how-step-number,#how .how-step-policy .how-step-icon,#how .how-step-policy h3{color:var(--how-lime)}
#how .how-policy-heading>h3{font-size:14px;letter-spacing:.04em;line-height:1.6;text-transform:uppercase;max-width:250px}
#how .how-policy-heading .how-policy-note{font-family:Georgia,serif;font-size:clamp(37px,4vw,48px);line-height:1.15;font-weight:400;margin-top:32px;letter-spacing:-.035em}
#how .how-policy-content p,#how .how-policy-content li{color:var(--how-paper)}
#how .how-policy-content a{color:var(--how-lime);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
#how .how-policy-content ul{margin:22px 0;padding:16px 0 4px;border-top:1px solid #faf9f433;border-bottom:1px solid #faf9f433;list-style:none}
#how .how-policy-content li{position:relative;padding-left:19px;font-size:12px;font-weight:400;line-height:1.8;margin-bottom:12px}#how .how-policy-content li:before{content:"✳";position:absolute;left:0;color:var(--how-lime)}#how .how-policy-content li strong{font-weight:500}
#how .how-step-4,#how .how-step-5,#how .how-step-6{border-top:1px solid #cbd6c7!important;padding:25px 14px 18px!important}
#how .how-step-4 .how-step-top,#how .how-step-5 .how-step-top,#how .how-step-6 .how-step-top{padding-bottom:22px}
#how .how-step-4 .how-step-number,#how .how-step-5 .how-step-number,#how .how-step-6 .how-step-number{font-size:38px}
#how .how-closing{display:grid;grid-template-columns:75px 1fr auto;gap:28px;align-items:center;border-top:1px solid #cbd6c7;border-bottom:1px solid #cbd6c7;padding:38px 12px;margin:38px 0 0}
#how .how-closing-star{width:70px;height:70px;color:var(--how-ink)}#how .how-closing .eyebrow{margin-bottom:13px}
#how .how-closing h3{font-size:34px}#how .how-closing>.button{background:var(--how-lime);color:var(--how-ink);border:1px solid var(--how-ink);border-radius:40px;font-size:13px;padding:14px 18px;white-space:normal}
#how .page-signature{margin-top:30px}
@media(max-width:900px){#how .how-hero{gap:22px}#how .how-hero h2{font-size:76px}#how .how-hero-visual{padding-left:12px}#how .how-speech-note{font-size:17px;padding:14px 18px}#how .how-star{width:65px;height:65px}#how .how-introduction{gap:30px;padding:0}#how .how-introduction h3{font-size:36px}#how .how-editorial-guide>.how-step-policy{gap:30px;padding:30px}#how .how-step-4,#how .how-step-5,#how .how-step-6{grid-column:span 2}#how .how-closing{grid-template-columns:50px 1fr;gap:20px}#how .how-closing-star{width:50px;height:50px}#how .how-closing>.button{grid-column:2;justify-self:start}}
@media(max-width:680px){#how.how-editorial{padding-top:12px;max-width:100%}#how .how-hero{grid-template-columns:1fr;gap:20px;padding:10px 0 35px}#how .how-hero .eyebrow{font-size:10px;margin-bottom:18px}#how .how-hero h2{font-size:74px;line-height:.94;margin:18px 0 24px}#how .how-hero-note{font-size:16px;line-height:1.7;margin:28px 0 20px}#how .how-main-action{font-size:12px;min-height:46px;gap:25px;padding:11px 18px}#how .how-hero-visual{width:100%;max-width:430px;box-sizing:border-box;justify-self:center;padding:34px 12px 20px 12px;margin-top:8px}#how .how-photo-frame{aspect-ratio:1.27;border-radius:46% 46% 16px 16px}#how .how-speech-note{top:17px;left:1px;font-size:18px;padding:13px 18px}#how .how-star{right:2px;top:4px;width:60px;height:60px}#how .how-photo-stamp{font-size:9px;right:1px;bottom:50px;padding:12px 36px 12px 13px}#how .how-photo-stamp>span{font-size:24px;right:9px;top:7px}#how .how-hero-visual figcaption{font-size:10px;padding-top:18px}#how .how-ribbon{margin-bottom:37px;padding:13px 0}#how .how-ribbon>div{min-width:660px;gap:20px;justify-content:flex-start;padding-left:20px}#how .how-ribbon span{font-size:25px}#how .how-introduction{grid-template-columns:1fr;gap:20px;margin-bottom:38px}#how .how-introduction .eyebrow{font-size:10px;margin-bottom:14px}#how .how-introduction h3{font-size:39px}#how .how-introduction>p{font-size:14px;line-height:1.9}#how .how-journey-heading{grid-template-columns:1fr auto;padding-top:24px;margin-bottom:22px}#how .how-journey-heading .eyebrow{font-size:9px}#how .how-journey-heading h3{font-size:30px}#how .how-journey-heading>svg{width:65px;height:36px;margin-right:0}#how .how-guide.how-editorial-guide{grid-template-columns:minmax(0,1fr);gap:18px}#how .how-editorial-guide>.how-step{grid-column:1!important}#how .how-editorial-guide>.how-step-1,#how .how-editorial-guide>.how-step-2{padding:24px 22px 27px}#how .how-step h3{font-size:20px;margin-bottom:15px}#how .how-step p,#how .how-step li{font-size:14px;line-height:1.8}#how .how-step-number{font-size:42px}#how .how-step-top{margin-bottom:17px}#how .how-editorial-guide>.how-step-policy{grid-template-columns:minmax(0,1fr);gap:24px;margin:2px 0;padding:27px 23px}#how .how-policy-heading>h3{font-size:12px;max-width:none;margin-bottom:0}#how .how-policy-heading .how-policy-note{font-size:38px;margin-top:20px;margin-bottom:0}#how .how-policy-content p{font-size:13px;line-height:1.9}#how .how-policy-content li{font-size:12px}#how .how-step-4,#how .how-step-5,#how .how-step-6{padding:24px 3px 10px!important}#how .how-step-4 .how-step-top,#how .how-step-5 .how-step-top,#how .how-step-6 .how-step-top{padding-bottom:0}#how .how-closing{grid-template-columns:40px minmax(0,1fr);padding:26px 0;gap:16px;margin-top:20px}#how .how-closing-star{width:40px;height:40px}#how .how-closing h3{font-size:29px}#how .how-closing .eyebrow{font-size:9px;margin-bottom:12px}#how .how-closing>.button{font-size:12px;padding:12px 18px}#how .page-signature{margin-top:25px}}
@media(prefers-reduced-motion:no-preference){#how .how-photo-frame{transition:transform .3s ease}#how .how-hero-visual:hover .how-photo-frame{transform:rotate(-1deg)}}

#how .how-main-action>.how-arrow{width:20px;height:20px;flex:none}#how .how-photo-stamp>.how-arrow{position:absolute;width:25px;height:25px;right:12px;top:12px}#how .how-closing .how-arrow{width:17px;height:17px;margin-left:12px;vertical-align:middle}

/* Keep the ribbon flush with the content and show every word in full. */
#how .how-ribbon{width:100%;max-width:100%;transform:none;padding:18px 14px;overflow:visible;box-sizing:border-box}
#how .how-ribbon>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;width:100%;gap:12px;padding:0;white-space:normal;align-items:center;text-align:center}
#how .how-ribbon span,#how .how-ribbon span:nth-child(even){display:block;min-width:0;font-size:30px;line-height:1.2;font-family:Georgia,serif;font-style:italic}
@media(max-width:680px){#how .how-ribbon{padding:15px 8px}#how .how-ribbon>div{gap:6px}#how .how-ribbon span,#how .how-ribbon span:nth-child(even){font-size:clamp(15px,4.3vw,23px);line-height:1.3}}


/* Keep the first three steps concise while preserving readable text. */
#how .how-editorial-guide>.how-step-1,#how .how-editorial-guide>.how-step-2{padding:20px 22px 18px;border-radius:10px 30px 10px 10px}
#how .how-editorial-guide>.how-step-2{border-radius:30px 10px 10px 10px}
#how .how-editorial-guide>.how-step-policy{padding:24px;gap:28px;margin:0;border-radius:12px}
#how :is(.how-step-1,.how-step-2,.how-step-policy) .how-step-top{margin-bottom:12px;gap:14px}
#how :is(.how-step-1,.how-step-2,.how-step-policy) .how-step-icon{width:32px;height:32px}
#how :is(.how-step-1,.how-step-2,.how-step-policy) h3{font-size:18px;line-height:1.4;margin-bottom:12px}
#how :is(.how-step-1,.how-step-2,.how-step-policy) p{font-size:14px;line-height:1.7;margin-bottom:10px}
#how :is(.how-step-1,.how-step-2,.how-step-policy) p:last-child{margin-bottom:0}
#how .how-course-policies{margin-top:16px;border-top:1px solid #faf9f433;padding-top:12px}
#how .how-course-policies>summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.5;min-height:32px}
#how .how-course-policies .registration-policies{margin:10px 0 0}
@media(max-width:680px){#how .how-guide.how-editorial-guide{gap:14px}#how .how-editorial-guide>.how-step-1,#how .how-editorial-guide>.how-step-2{padding:18px}#how .how-editorial-guide>.how-step-policy{padding:20px 18px;gap:14px}#how .how-policy-heading>h3{font-size:18px;margin-bottom:0}}

/* vision.css */
#vision.vision-editorial{max-width:1120px;margin:0 auto;padding-top:35px;color:var(--ink,#193c32)}
#vision.vision-editorial .eyebrow{font-size:11px;font-weight:600;letter-spacing:.13em;margin:0 0 22px}
#vision .vision-heading{position:relative;display:block;height:auto;max-width:none;margin:0 0 42px;padding:0 110px 0 0;border:0}
#vision .vision-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,6.2vw,79px);line-height:1.02;letter-spacing:-.055em;font-weight:400;margin:0}
#vision.vision-editorial em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400}
#vision .vision-heading h2 em{display:inline-block;position:relative}
#vision .vision-heading h2 em:after{content:"";position:absolute;left:1%;right:0;bottom:-8px;border-bottom:2px solid var(--ink,#193c32);border-radius:50%;height:8px;transform:rotate(-1.5deg)}
#vision .vision-heading-star{position:absolute;right:30px;top:45px;width:82px;height:82px;transform:rotate(9deg)}
#vision .vision-heading-star svg,#vision .vision-need-band>div svg{display:block;width:100%;height:100%}
#vision .vision-story{max-width:none;margin:0}
#vision .vision-opening{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:center;margin-bottom:52px}
#vision .vision-opening-copy>p{font-size:15px;line-height:1.9;margin:0 0 24px}


#vision .vision-year-stamp{display:grid;grid-template-columns:1fr auto;max-width:245px;border:1px solid var(--ink,#193c32);padding:14px 18px;background:#d5ed98;border-radius:8px;transform:rotate(-3deg);margin:30px 0 8px}
#vision .vision-year-stamp>span{grid-column:1/-1;font-size:9px;letter-spacing:.12em;font-weight:600;margin-bottom:6px}
#vision .vision-year-stamp>strong{font-family:Georgia,serif;font-size:43px;line-height:1;font-weight:400}
#vision .vision-year-stamp>svg{width:75px;height:35px;align-self:center}
#vision .vision-gallery-frame{position:relative;border:1px solid var(--ink,#193c32);border-radius:24px;padding:29px 13px 14px;background:var(--cream,#faf9f4);min-width:0}
#vision .vision-gallery-label{position:absolute;left:18px;top:-18px;margin:0;padding:8px 15px;border:1px solid var(--ink,#193c32);border-radius:25px;transform:rotate(-4deg);background:#d5ed98;font-family:Georgia,serif;font-size:16px;line-height:1.2;font-style:italic}
#vision.vision-editorial .vision-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px;width:100%;max-width:none;margin:0;padding:0}
#vision.vision-editorial .vision-photos>figure{display:flex;flex-direction:column;min-width:0;margin:0;padding:0;border:0;box-shadow:none;background:transparent;transform:none}
#vision.vision-editorial .vision-photos img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border:1px solid #c4d0c0;border-radius:10px;box-sizing:border-box;transform:none}
#vision.vision-editorial .vision-photos figcaption{display:block;padding:8px 3px 0;margin:0;font-family:"DM Sans",sans-serif;text-align:left;color:var(--ink,#193c32);line-height:1.5;transform:none}
#vision .vision-program-name{display:block;font-size:11px;font-weight:600;line-height:1.5;margin-bottom:3px}
#vision .vision-photos figcaption small{display:block;font-size:9.5px;line-height:1.5;color:var(--muted,#667368);font-weight:400}
#vision .vision-need-band{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--ink,#193c32);color:var(--cream,#faf9f4);padding:36px 40px;border-radius:9px;margin:0 0 45px;transform:rotate(-.5deg)}
#vision .vision-need-band>p{font-size:14px;line-height:1.8;margin:0;max-width:690px}
#vision .vision-need-band strong{display:block;font-family:Georgia,serif;font-size:60px;font-style:italic;line-height:1.1;letter-spacing:-.04em;color:#d5ed98;font-weight:400;margin-top:6px}
#vision .vision-need-band>div{width:85px;height:85px;flex:none;color:#d5ed98}
#vision .vision-purpose{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:8px 12px 40px;border-bottom:1px solid #cbd6c7}
#vision .vision-purpose-community>p:first-child{font-family:Georgia,serif;font-size:30px;line-height:1.2;letter-spacing:-.03em;margin:0 0 20px}
#vision .vision-purpose-community>p{font-size:15px;line-height:1.85;margin:0}
#vision .vision-purpose-independence>p{font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1.4;letter-spacing:-.03em;margin:0}
#vision .vision-purpose-independence strong{font-weight:400;font-style:italic;box-shadow:inset 0 -.35em #d5ed98;box-decoration-break:clone;-webkit-box-decoration-break:clone}
#vision .vision-closing{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 12px 5px}
#vision .vision-closing>p{font-family:Georgia,serif;font-size:29px;line-height:1.15;letter-spacing:-.03em;margin:0}
#vision .vision-closing .button{display:inline-flex;align-items:center;gap:20px;padding:13px 19px;border:1px solid var(--ink,#193c32);border-radius:40px;background:#d5ed98;color:var(--ink,#193c32);font-size:13px;white-space:normal}
#vision .vision-closing .button svg{width:18px;height:18px;flex:none}
#vision.vision-editorial .page-signature{margin-top:32px}
@media(max-width:900px){#vision .vision-opening{gap:28px}#vision .vision-heading h2{font-size:64px}#vision .vision-purpose{gap:30px}#vision .vision-purpose-independence>p{font-size:28px}}
@media(max-width:680px){#vision.vision-editorial{padding-top:20px;max-width:100%}#vision .vision-heading{padding-right:0;margin-bottom:32px}#vision.vision-editorial .eyebrow{font-size:10px;margin-bottom:18px}#vision .vision-heading h2{font-size:52px;line-height:1.04;letter-spacing:-.05em}#vision .vision-heading-star{width:40px;height:40px;right:4px;top:-2px}#vision .vision-opening{grid-template-columns:minmax(0,1fr);gap:34px;margin-bottom:30px}#vision .vision-opening-copy>p{font-size:14px;line-height:1.9;margin-bottom:20px}#vision .vision-year-stamp{max-width:220px;margin:24px 0 4px;padding:12px 15px}#vision .vision-year-stamp>strong{font-size:38px}#vision .vision-gallery-frame{padding:26px 9px 12px;border-radius:20px}#vision .vision-gallery-label{font-size:15px;left:13px;top:-16px;padding:7px 12px}#vision.vision-editorial .vision-photos{gap:14px 9px}#vision.vision-editorial .vision-photos img{border-radius:7px}#vision.vision-editorial .vision-photos figcaption{padding:7px 1px 0}#vision .vision-program-name{font-size:10.5px;line-height:1.5}#vision .vision-photos figcaption small{font-size:9px;line-height:1.5}#vision .vision-need-band{gap:15px;padding:25px 21px;margin-bottom:31px}#vision .vision-need-band>p{font-size:12px;line-height:1.8}#vision .vision-need-band strong{font-size:45px;margin-top:7px}#vision .vision-need-band>div{width:43px;height:43px}#vision .vision-purpose{grid-template-columns:minmax(0,1fr);gap:27px;padding:0 1px 28px}#vision .vision-purpose-community>p:first-child{font-size:29px;margin-bottom:16px}#vision .vision-purpose-community>p{font-size:14px;line-height:1.9}#vision .vision-purpose-independence>p{font-size:29px;line-height:1.4}#vision .vision-closing{display:grid;grid-template-columns:minmax(0,1fr);gap:21px;padding:25px 1px 0}#vision .vision-closing>p{font-size:28px}#vision .vision-closing .button{justify-self:start;font-size:12px;gap:20px;padding:12px 18px}#vision.vision-editorial .page-signature{margin-top:29px}}

/* A quieter speech bubble and more breathing room for the final group photo. */
#vision .vision-year-bubble{position:relative;display:inline-flex;flex-direction:column;gap:2px;padding:20px 30px;margin:18px 0 22px;background:#edf0e6;border:1px solid var(--ink,#193c32);border-radius:48% 48% 48% 12px;font-family:Georgia,serif;font-size:24px;line-height:1.25;color:var(--ink,#193c32)}
#vision .vision-year-bubble:after{content:"";position:absolute;width:19px;height:19px;bottom:-10px;left:26px;transform:skewY(-18deg) rotate(30deg);background:#edf0e6;border-right:1px solid var(--ink,#193c32);border-bottom:1px solid var(--ink,#193c32)}
#vision .vision-year-bubble>em{font-size:28px}
#vision .vision-photos>figure:last-child img{object-position:20% center}
@media(max-width:680px){#vision .vision-year-bubble{font-size:21px;padding:18px 26px;margin:12px 0 18px}#vision .vision-year-bubble>em{font-size:25px}}

/* Open personal reflection. */
/* Keep the personal reflection open and editorial, rather than boxed. */
#vision .vision-need-band{background:transparent;color:var(--ink,#193c32);border-radius:0;transform:none;padding:30px 0;border-top:1px solid #cbd6c7;border-bottom:1px solid #cbd6c7;gap:28px}
#vision .vision-need-band strong{color:var(--ink,#193c32)}
#vision .vision-need-band>div{width:52px;height:52px;color:var(--ink,#193c32)}
@media(max-width:680px){#vision .vision-need-band{padding:25px 0;gap:18px}#vision .vision-need-band>div{width:35px;height:35px}}


/* A clean circular date seal, without a speech-bubble tail. */
#vision .vision-year-bubble{width:148px;height:148px;box-sizing:border-box;border:1px solid #193c32;border-radius:50%;padding:18px;margin:24px 0;background:transparent;display:flex;align-items:center;justify-content:center;text-align:center;gap:8px;transform:rotate(-7deg)}
#vision .vision-year-bubble:after{display:none}
#vision .vision-year-bubble>span{font:10px/1.5 sans-serif;letter-spacing:2px;text-transform:uppercase;max-width:100px}
#vision .vision-year-bubble>em{font:italic 27px/1.1 Georgia,serif;max-width:100px}

#vision .vision-plane{display:inline-block;width:27px;height:27px;color:#193c32;vertical-align:middle;margin-left:8px;transform:rotate(-8deg)}

#vision .vision-experience-line{font-size:13px;letter-spacing:.4px;margin:26px 0 12px;font-style:italic;color:#53685b}
#vision .vision-purpose-grid{grid-template-columns:1fr}

#vision.vision-editorial .vision-opening{display:block!important;margin-bottom:20px!important}#vision .vision-opening-copy{max-width:900px}#vision .vision-need-band{margin-top:0!important;margin-bottom:28px!important}#vision .vision-purpose{display:block!important;padding:0!important;margin-bottom:40px!important}#vision .vision-enrollment-promise{margin-bottom:24px}#vision .vision-enrollment-promise h3{font:400 30px/1.3 Georgia,serif;margin:0 0 14px}#vision .vision-enrollment-promise p{font-size:16px;line-height:1.8;margin:0}#vision .vision-purpose-community{display:grid!important;grid-template-columns:minmax(0,1fr) 240px!important;gap:30px;align-items:center}#vision .vision-purpose-community>p:first-child{font-family:inherit!important;font-size:17px!important;line-height:1.9!important;letter-spacing:normal!important;margin:0!important}#vision .vision-africa{position:static!important;width:100%!important;max-width:240px!important;margin:0!important;justify-self:end}#vision .vision-africa svg{display:block;width:100%;height:auto}#vision.vision-editorial .vision-gallery-frame{max-width:820px;margin:0 auto!important}#vision.vision-editorial .vision-photos{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}@media(max-width:680px){#vision .vision-enrollment-promise h3{font-size:25px}#vision .vision-enrollment-promise p{font-size:15px}#vision .vision-purpose-community{grid-template-columns:minmax(0,1fr) 110px!important;gap:14px}#vision .vision-purpose-community>p:first-child{font-size:14px!important;line-height:1.8!important}}
#vision .vision-purpose-community>p:first-child{grid-column:1!important;grid-row:1!important}#vision .vision-purpose-community>.vision-africa{grid-column:2!important;grid-row:1!important}

/* Small journey photos beside the opening story; need and access follow below. */
#vision.vision-editorial .vision-opening{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;gap:40px;align-items:start;margin-bottom:30px!important}
#vision.vision-editorial .vision-opening .vision-gallery-frame{width:100%;box-sizing:border-box;max-width:440px;margin:16px 0 0 auto!important;padding:25px 12px 14px}
#vision.vision-editorial .vision-opening .vision-photos{gap:14px 10px!important}
#vision.vision-editorial .vision-opening .vision-photos img{height:auto!important;aspect-ratio:4/3;object-fit:cover}
#vision.vision-editorial .vision-opening .vision-photos figcaption{font-size:10px}
@media(max-width:680px){#vision.vision-editorial .vision-opening{grid-template-columns:minmax(0,1fr)!important;gap:12px}#vision.vision-editorial .vision-opening .vision-gallery-frame{max-width:350px;margin:10px auto 0!important}#vision.vision-editorial .vision-opening .vision-photos img{aspect-ratio:4/3}}

/* entry-pages.css */
/* Three entry pages, three distinct compositions within the Speak Boldly palette. */
#quote,#join-team{position:relative;padding-top:58px}
#quote .upcoming-view-content,#join-team .upcoming-view-content{opacity:.65;filter:none}
#quote .upcoming-watermark,#join-team .upcoming-watermark{position:relative;inset:auto;transform:rotate(-5deg);display:table;margin:38px auto 12px;padding:12px 28px;border:2px solid #193c32;border-radius:50%;background:#d5ed98;color:#193c32;font:italic 28px Georgia,serif;letter-spacing:0;white-space:normal;pointer-events:none}
#quote .quote-editorial-title,#join-team .join-editorial-title{font:clamp(36px,4.5vw,66px)/1.08 Georgia,serif;letter-spacing:-2px;margin:18px 0 28px;color:#193c32}
#quote .quote-editorial-title em,#join-team .join-editorial-title em{font-weight:400}
#quote .quote-request-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:36px 0}
#quote .quote-popup-choice{position:relative;aspect-ratio:1;min-width:0;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border:1px solid #193c32;border-radius:0;background:#edf0e6;color:#193c32;text-align:left}
#quote .quote-popup-choice:nth-child(2){border-radius:50% 50% 0 0;background:#d5ed98}
#quote .quote-popup-choice:nth-child(3){border-radius:0 40px 0 40px;background:#faf9f4}
#quote .quote-popup-choice:nth-child(4){border-radius:40px 0 40px 0}
#quote .quote-tile-number{font-size:11px;letter-spacing:2px}
#quote .quote-tile-art{align-self:center;font:52px/1 Georgia,serif;white-space:nowrap}
#quote .quote-tile-label{font-size:clamp(14px,1.6vw,21px);font-weight:600;line-height:1.2;max-width:180px}
#join-team .join-sb-content{position:relative;max-width:none;padding-right:220px}
#join-team .join-sb-content>p{max-width:690px}
#join-team .join-orbit{position:absolute;right:10px;top:80px;display:flex;align-items:center;justify-content:center;width:170px;height:170px;border:1px solid #193c32;border-radius:50%;background:#d5ed98;transform:rotate(12deg);font:italic 29px/1.1 Georgia,serif;text-align:center}
#join-team .join-sb-steps{counter-reset:application;list-style:none;padding:0;margin:44px 0;max-width:760px}
#join-team .join-sb-steps>li{counter-increment:application;position:relative;padding:24px 0 26px 76px;border-top:1px solid #b9c9b9;min-height:85px}
#join-team .join-sb-steps>li:before{content:'0' counter(application);position:absolute;left:0;top:19px;font:italic 38px Georgia,serif;color:#193c32}
#join-team .join-sb-steps>li:last-child{border-bottom:1px solid #b9c9b9}
#join-team .join-sb-whatsapp-row{flex-wrap:wrap}
#students-portal .portal-area-choices{max-width:1000px;gap:56px;margin:48px auto 64px;padding:0 16px 28px}
#students-portal .portal-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:290px;padding:32px 36px;border:1px solid #193c32;border-radius:80px 80px 80px 12px;box-shadow:none;background:#edf0e6;transition:transform .2s,background .2s}
#students-portal .portal-choice[data-portal-area=admin]{border-radius:80px 80px 12px 80px;background:#d5ed98}
#students-portal .portal-choice:after{display:none}
#students-portal .portal-choice:hover{transform:translateY(-5px);background:#e5ebdb}
#students-portal .portal-choice:focus-visible{outline:3px solid #193c32;outline-offset:6px}
#students-portal .portal-bubble-kicker{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.5}
#students-portal .portal-bubble-art{font:70px/1 Georgia,serif;align-self:center}
#students-portal .portal-choice-label{font:clamp(25px,3vw,36px)/1.1 Georgia,serif;text-align:left}
@media(max-width:760px){
 #quote .quote-request-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #quote .quote-popup-choice{padding:15px}
 #quote .quote-tile-art{font-size:38px}
 #quote .quote-tile-label{font-size:16px}
 #quote .quote-editorial-title,#join-team .join-editorial-title{letter-spacing:-1px}
 #join-team .join-sb-content{padding-right:0}
 #join-team .join-orbit{position:relative;top:auto;right:auto;width:110px;height:110px;margin:28px 0;font-size:23px}
 #join-team .join-sb-steps>li{padding-left:58px}
 #students-portal .portal-area-choices{grid-template-columns:1fr;gap:28px;max-width:460px;margin:26px auto 32px;padding:0 4px 12px}
 #students-portal .portal-choice{min-height:215px;padding:26px 30px;border-radius:64px 64px 64px 10px}
 #students-portal .portal-choice[data-portal-area=admin]{border-radius:64px 64px 10px 64px}
 #students-portal .portal-bubble-art{font-size:52px}
}
@media(prefers-reduced-motion:reduce){#students-portal .portal-choice{transition:none}}

#quote .quote-popup-choice:nth-child(2) .quote-tile-number{align-self:center}
#quote .quote-tile-art svg{display:block;width:42px;height:42px}
#students-portal .portal-bubble-art svg{display:block;width:64px;height:64px}
#students-portal .portal-choice:hover{color:#193c32}

/* Quiet preview watermarks; quote options as four numbered paper tiles. */
#quote.upcoming-view,#join-team.upcoming-view{overflow:clip}
#quote .upcoming-view-content,#join-team .upcoming-view-content{opacity:.25;filter:grayscale(1)}
#quote .upcoming-watermark,#join-team .upcoming-watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:0;border-radius:0;transform:rotate(-12deg);background:transparent;color:rgba(25,60,50,.22);font:italic clamp(56px,9vw,112px)/1 Georgia,serif;letter-spacing:-2px;text-align:center;pointer-events:none}
#quote .quote-request-grid{gap:0;border-top:1px solid #193c32;border-bottom:1px solid #193c32}
#quote .quote-popup-choice,#quote .quote-popup-choice:nth-child(2),#quote .quote-popup-choice:nth-child(3),#quote .quote-popup-choice:nth-child(4){border:0;border-right:1px solid #193c32;border-radius:0;background:transparent;padding:24px;justify-content:space-between;aspect-ratio:1}
#quote .quote-popup-choice:last-child{border-right:0}
#quote .quote-tile-number,#quote .quote-popup-choice:nth-child(2) .quote-tile-number{align-self:flex-start;font:italic 48px/1 Georgia,serif;letter-spacing:-2px}
#quote .quote-tile-label{font:24px/1.15 Georgia,serif;font-weight:400}
#quote .quote-tile-label:after{content:'';display:block;width:35px;border-bottom:2px solid #193c32;margin-top:18px}
@media(max-width:760px){
 #quote .quote-popup-choice,#quote .quote-popup-choice:nth-child(2),#quote .quote-popup-choice:nth-child(3),#quote .quote-popup-choice:nth-child(4){padding:18px}
 #quote .quote-popup-choice:nth-child(2){border-right:0}
 #quote .quote-popup-choice:nth-child(-n+2){border-bottom:1px solid #193c32}
 #quote .quote-tile-label{font-size:20px}
 #quote .quote-tile-number{font-size:36px}
 #quote .upcoming-watermark,#join-team .upcoming-watermark{font-size:64px}
}

#quote .quote-request-grid{max-width:820px;margin:32px auto;gap:0}
@media(max-width:760px){#quote .quote-request-grid{max-width:300px}#quote .quote-popup-choice,#quote .quote-popup-choice:nth-child(2),#quote .quote-popup-choice:nth-child(3),#quote .quote-popup-choice:nth-child(4){padding:14px}#quote .quote-tile-label{font-size:18px}#quote .quote-tile-number,#quote .quote-popup-choice:nth-child(2) .quote-tile-number{font-size:30px}}

#quote .quote-request-grid{max-width:1000px}
#quote .quote-popup-choice{gap:14px;position:relative}
#quote .quote-tile-number{font-size:36px}
#quote .quote-tile-copy{display:block}
#quote .quote-tile-label{display:block}
#quote .quote-tile-label:after{display:none}
#quote .quote-tile-copy small{display:block;font-size:11px;line-height:1.6;margin-top:12px;max-width:180px;color:#53685b}
#quote .quote-mini-art{position:absolute;right:20px;top:22px;width:42px;height:38px;color:#193c32}
@media(max-width:760px){#quote .quote-request-grid{max-width:360px}#quote .quote-popup-choice,#quote .quote-popup-choice:nth-child(2),#quote .quote-popup-choice:nth-child(3),#quote .quote-popup-choice:nth-child(4){aspect-ratio:auto;min-height:195px;padding:14px}#quote .quote-mini-art{width:30px;height:28px;right:12px;top:16px}#quote .quote-tile-copy small{font-size:10px;margin-top:8px}#quote .quote-tile-label{font-size:18px}}

#join-team .join-orbit{border-radius:75% 12% 75% 12%;width:180px;height:170px;transform:rotate(-9deg);background:#d5ed98;border:1px solid #193c32}
@media(max-width:760px){#join-team .join-orbit{width:135px;height:128px;font-size:22px}}

#join-team .join-anatomical-heart{width:205px;height:265px;background:transparent;border:0;border-radius:0;transform:rotate(6deg);top:45px;right:0;display:block}
#join-team .join-anatomical-heart>svg{width:100%;height:100%;display:block}
#join-team .join-anatomical-heart>span{position:absolute;left:45px;top:124px;font-size:23px;line-height:1.15;transform:rotate(-6deg);background:#edf0e6;padding:5px 4px}
@media(max-width:760px){#join-team .join-anatomical-heart{position:relative;top:auto;right:auto;width:170px;height:215px;margin:20px auto 28px}#join-team .join-anatomical-heart>span{left:38px;top:103px;font-size:20px}}

/* program-assessment.css */
/* Course catalogue: editorial heading, clean comparison cards. */
#courses .courses-introduction{align-items:flex-end;padding-bottom:30px;border-bottom:1px solid #b9c9b9}
#courses .courses-heading h2{font:clamp(40px,5vw,66px)/1.05 Georgia,serif;letter-spacing:-2px;margin:20px 0 24px}
#courses .courses-heading h2 em{font-weight:400}
#courses .courses-subtitle{line-height:1.8;max-width:520px}
#courses .course-booking-note{border-left:1px solid #b9c9b9;padding-left:26px;max-width:260px}
#courses .course-fees-open{border-radius:0;background:transparent;border:0;padding:14px 0;text-align:left;line-height:1.6}
#courses .catalog-controls{align-items:center;margin:28px 0 34px}
#courses .filter{border-radius:3px;padding:10px 16px}
#courses #course-grid{gap:22px}
#courses #course-grid .course-card{border-radius:2px;border-color:#cbd3c5;background:transparent;box-shadow:none;position:relative}
#courses #course-grid .course-card:before{content:'';position:absolute;left:0;top:0;width:45px;height:3px;background:#193c32}
#courses #course-grid .course-body{padding:26px 23px}
#courses #course-grid .course-body h3{font:25px/1.2 Georgia,serif;letter-spacing:-.5px;margin:12px 0 20px}
#courses #course-grid .course-summary{line-height:1.8;font-size:13px}
#courses #course-grid .course-view-row .course-link{border-radius:2px;background:#edf0e6}
#courses #course-grid .course-pricing{padding-top:14px;border-top:1px solid #dedfd5}
/* Assessments: two facing folios, distinct illustrations and shared alignment. */
#placement .assessment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #b9c9b9;border-bottom:1px solid #b9c9b9}
#placement .assessment-options>article{position:relative;max-width:none;min-width:0;padding:0 40px 36px;border:0;border-radius:0;background:transparent;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start}
#placement .assessment-options>article:first-child{border-right:1px solid #b9c9b9}
#placement .assessment-visual{width:100%;height:180px;margin:0 0 30px;padding:20px 0 0;position:relative;border-bottom:1px solid #dedfd5}
#placement .assessment-folio{font-size:10px;letter-spacing:2px;font-weight:600}
#placement .level-stair{display:flex;align-items:flex-end;justify-content:space-between;gap:5px;height:110px;margin-top:12px}
#placement .level-stair>span{width:15%;height:32px;display:flex;align-items:center;justify-content:center;background:#edf0e6;border-top:1px solid #193c32;font:italic 18px Georgia,serif}
#placement .level-stair>span:nth-child(2){height:44px}
#placement .level-stair>span:nth-child(3){height:56px}
#placement .level-stair>span:nth-child(4){height:68px}
#placement .level-stair>span:nth-child(5){height:80px}
#placement .level-stair>span:nth-child(6){height:92px;background:#d5ed98}
#placement .learner-visual svg{display:block;width:100%;height:130px;max-width:360px;margin:0 auto}
#placement .assessment-option-title{font:clamp(29px,3vw,43px)/1.15 Georgia,serif;letter-spacing:-1px;margin:16px 0 20px}
#placement .assessment-options>article>.assessment-details{font-size:12px;color:#6b746e;line-height:1.8;margin-bottom:28px}
#placement .assessment-options>article>.button{margin-top:auto;border-radius:3px;width:auto;min-width:230px;max-width:100%;min-height:48px}
#placement .assessment-description{margin:0 0 18px}
@media(max-width:760px){
 #courses .courses-introduction{align-items:flex-start}
 #courses .course-booking-note{padding-left:16px;max-width:none;margin:0}
 #courses #course-grid .course-body{padding:20px 16px}
 #courses #course-grid .course-body h3{font-size:22px}
 #placement .assessment-options{grid-template-columns:1fr}
 #placement .assessment-options>article{padding:0 12px 30px}
 #placement .assessment-options>article:first-child{border-right:0;border-bottom:1px solid #b9c9b9;margin-bottom:25px}
 #placement .assessment-option-title{font-size:32px}
}

#courses .courses-heading{position:relative;padding-right:80px}
#courses .program-flower{position:absolute;right:0;top:24px;font-size:80px;line-height:1;color:#193c32;transform:rotate(12deg);font-family:Georgia,serif}
#placement .learner-visual:after{content:'';position:absolute;right:12px;top:42px;width:28px;height:28px;background:#d5ed98;border-radius:50% 50% 3px 50%;transform:rotate(20deg)}
#placement .placement-visual:after{content:'';position:absolute;right:0;top:18px;width:19px;height:19px;border:1px solid #193c32;transform:rotate(45deg)}
@media(max-width:760px){#courses .courses-heading{padding-right:52px}#courses .program-flower{font-size:49px;top:40px}}

/* typography.css */
/* One type family throughout the site, including forms and exported result cards. */
body,body *{font-family:"DM Sans",Arial,sans-serif!important}

/* home-editorial.css */
/* A single photographic cover, with navigation above and signature below. */
main:has(>#home:not([hidden])){padding-bottom:0}
main #home{overflow:clip}
main #home .hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:0;height:calc(100svh - 175px);padding:38px 6% 86px;margin:0;background:#193c32;color:#faf9f4;overflow:hidden}
#home .home-picture-and-reviews{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;margin:0;top:0;z-index:-2}
#home .home-picture-and-reviews:before,#home .home-picture-and-reviews:after{display:none}
#home .home-picture-and-reviews .coaching-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;top:0;transform:none;border:0;border-radius:0;box-shadow:none;background:#193c32}
main #home .home-picture-and-reviews .coaching-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
main #home .hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,39,31,.9) 0%,rgba(12,39,31,.7) 30%,rgba(12,39,31,.08) 75%),linear-gradient(0deg,rgba(12,39,31,.8),transparent 24%);pointer-events:none}
main #home .hero-copy{position:relative;padding:0;width:62%;z-index:1}
#home .home-kicker{font-size:9px;letter-spacing:2.4px;font-weight:600;color:#edf0e6;margin:0 0 23px}
main #home .hero-copy .home-slogan{position:static;top:0;color:#faf9f4;font-size:clamp(39px,5vw,72px);font-weight:400;line-height:1.1;letter-spacing:-2px;max-width:none;margin:0 0 23px}
#home .home-title-top,#home .home-title-main{font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:400;display:inline;margin:0;padding:0;white-space:normal}
#home .home-title-main{font-style:normal}
#home .home-title-top:after,#home .home-title-main:after{display:none}
#home .home-title-bottom{display:block;font-size:.68em;line-height:1.2;font-style:italic;margin-top:12px;letter-spacing:-1px}
#home .home-pricing-note{font-size:13px;line-height:1.8;margin:0 0 24px;padding:0;border:0;color:#faf9f4}
#home .home-pricing-note strong{font-weight:400}
#home .home-pricing-note strong:before{content:'+';display:inline-block;width:22px;color:#d5ed98}
#home .home-speech-links{position:static;display:flex;gap:10px;width:auto;margin:0;padding:0}
#home .home-speech-bubble,#home .home-speech-bubble:nth-child(2){position:relative;top:0;transform:none;min-width:0;width:auto;height:auto;padding:12px 17px;border:1px solid #ced6c4;border-radius:999px;background:#edf0e6;color:#193c32;box-shadow:none}
#home .home-speech-bubble .home-bubble-shape{display:none}
#home .home-speech-bubble>span{display:block;position:relative;font-size:13px;line-height:1.2;font-weight:600;white-space:nowrap}
#home .home-speech-bubble>span:after{display:none}
#home .home-speech-bubble:hover{background:#193c32;color:#fff}
#home .hero>.benefits{position:absolute;bottom:0;left:6%;right:6%;margin:0;padding:20px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;border-top:1px solid #faf9f44d;border-bottom:0;background:transparent;border-radius:0;color:#faf9f4;font-size:10px;line-height:1.6;z-index:1}
#home .hero>.benefits>span+span{border:0;padding:0}
main #home>.home-bottom-row{margin:0;padding:19px 6% 8px}
@media(max-width:680px){
 main #home .hero{height:calc(100svh - 150px);min-height:0;align-items:flex-end;padding:28px 6% 102px}
 main #home .hero-copy{width:100%}
 main #home .hero:before{background:linear-gradient(0deg,rgba(12,39,31,.97) 0%,rgba(12,39,31,.85) 39%,rgba(12,39,31,.12) 85%)}
 main #home .home-picture-and-reviews .coaching-photo img{object-position:55% center}
 #home .home-kicker{font-size:8px;letter-spacing:2px;margin:0 0 17px}
 main #home .hero-copy .home-slogan{font-size:clamp(31px,8.5vw,44px);line-height:1.12;letter-spacing:-1px;margin-bottom:18px}
 #home .home-title-bottom{font-size:.78em;margin-top:7px}
 #home .home-pricing-note{font-size:12px;line-height:1.65;margin-bottom:19px}
 #home .home-speech-bubble,#home .home-speech-bubble:nth-child(2){padding:12px 17px}
 #home .hero>.benefits{grid-template-columns:repeat(2,minmax(0,1fr));font-size:9px;gap:10px;padding:15px 0}
 main #home>.home-bottom-row{padding:15px 6% 7px}
}
@media(max-width:680px) and (max-height:740px){
 main #home .hero{padding-bottom:86px}
 #home .home-kicker{margin-bottom:12px}
 main #home .hero-copy .home-slogan{font-size:31px;margin-bottom:12px}
 #home .home-pricing-note{font-size:11px;line-height:1.5;margin-bottom:14px}
 #home .hero>.benefits{padding:12px 0;font-size:8px;gap:8px}
}

#home .home-title-main{color:#faf9f4}
#home .home-speech-links{justify-content:flex-start}

/* programs-intro.css */
/* Rounded filters and an open, asymmetric coaching introduction. */
#courses .filter{border-radius:999px;min-height:42px;padding:11px 18px}
#programs{position:relative;overflow:clip}
#programs .coaching-independence{position:relative;max-width:none!important;margin:0!important;padding:15px 34% 28px 0}
#programs .coaching-independence h3{font-size:clamp(32px,4.2vw,58px);font-weight:500;line-height:1.12;letter-spacing:-1.8px;margin:0 0 30px;max-width:800px}
#programs .coaching-independence>p{max-width:650px;line-height:1.9}
#programs .coaching-independence ul{list-style:none;counter-reset:promise;padding:0;margin:28px 0 32px;max-width:650px}
#programs .coaching-independence li{counter-increment:promise;position:relative;border-top:1px solid #c5cebd;padding:18px 0 18px 47px;font-size:14px;line-height:1.6}
#programs .coaching-independence li:before{content:'0' counter(promise);position:absolute;left:0;top:18px;font-style:italic;color:#677b64;font-size:18px}
#programs .coaching-independence li:last-child{border-bottom:1px solid #c5cebd}
#programs .program-intro-art{position:absolute;top:25px;right:0;width:29%;height:350px;color:#193c32;transform:rotate(8deg);pointer-events:none}
#programs .program-course-actions{margin-top:10px}
#programs .program-course-actions .button{border-radius:999px;min-height:48px;padding:14px 25px}
@media(max-width:760px){#programs .coaching-independence{padding:0 0 20px}#programs .coaching-independence h3{font-size:36px;padding-right:0}#programs .program-intro-art{position:relative;display:block;width:170px;height:170px;top:auto;right:auto;margin:24px auto}#programs .coaching-independence>p{font-size:14px}}

#programs .independence-highlight{font-weight:inherit;font-style:italic;background:linear-gradient(transparent 65%,#d5ed98 65%,#d5ed98 92%,transparent 92%);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 3px}

/* contact-editorial.css */
#contact.contact-section{position:relative;overflow:clip;background:transparent;padding:65px 6% 30px;min-height:650px}
#contact>.eyebrow{margin-bottom:28px}
#contact>h2{font-size:clamp(38px,4.7vw,64px);font-weight:500;line-height:1.12;letter-spacing:-2px;max-width:760px;margin:0 0 28px;position:relative;z-index:1}
#contact>h2 em{font-weight:500}
#contact>.intro{max-width:570px;margin:0 0 35px;font-size:16px;line-height:1.9}
#contact .contact-orbit{position:absolute;right:5%;top:130px;width:29%;max-width:330px;color:#193c32;transform:rotate(-8deg)}
#contact .contact-orbit svg{display:block;width:100%;height:auto}
#contact>.whatsapp-contact{border-radius:999px;min-height:52px;gap:35px;padding:15px 25px}
#contact>.whatsapp-contact:after{content:'→';font-size:20px}
#contact>.whatsapp-contact+p{border-top:1px solid #bdcab5;border-bottom:1px solid #bdcab5;max-width:570px;padding:24px 0;margin:30px 0 0;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
#contact .email-link{font-size:16px;text-underline-offset:5px}
#contact>.page-signature{margin-top:65px}
@media(max-width:760px){#contact.contact-section{padding-top:40px;min-height:0}#contact>h2{font-size:39px;letter-spacing:-1.3px}#contact .contact-orbit{position:relative;top:auto;right:auto;width:155px;margin:0 0 25px auto}#contact>.intro{font-size:15px}#contact>.page-signature{margin-top:45px}}

#contact .contact-whatsapp-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:20px 0}#contact .contact-whatsapp-actions .button{margin:0;max-width:100%;white-space:normal}#contact .contact-whatsapp-pending{font-size:11px;color:var(--muted);line-height:1.5}

/* student-polish.css */
/* Consistent type scale, quiet palette and compact page rhythm. */
main [data-view]>h2,main .courses-heading h2,main .quote-editorial-title,main .join-editorial-title,main #contact>h2{font-size:clamp(28px,3.6vw,45px)!important;line-height:1.16!important;letter-spacing:-1.1px!important}
main #how .how-hero-copy h2,main #vision .vision-hero h2,main #vision .vision-hero-copy h2{font-size:clamp(32px,4vw,51px)!important}
main #programs .coaching-independence h3{font-size:clamp(29px,3.6vw,45px)!important}
main #placement .assessment-option-title{font-size:clamp(26px,2.8vw,35px)!important}
main #courses #course-grid .course-body h3{font-size:21px}
main .catalog{padding-top:40px;padding-bottom:30px}
main #contact.contact-section{padding-top:42px;min-height:0}
main #how .how-hero{padding-top:34px;padding-bottom:30px}
main #vision .vision-hero{padding-top:32px;padding-bottom:30px}
main .page-signature{margin-top:30px}
main #placement .assessment-visual{height:145px;margin-bottom:20px}
main #placement .level-stair{height:86px}
main #placement .level-stair>span:nth-child(6){height:76px}
main #placement .learner-visual svg{height:105px}
main #placement .assessment-options>article{padding-bottom:28px}
main #quote .upcoming-watermark,main #join-team .upcoming-watermark{font-size:clamp(50px,8vw,95px)}
/* Show more of the complete photograph without enlarging its contents. */
main #home .home-picture-and-reviews .coaching-photo img{object-fit:contain;object-position:right center;background:#193c32}
#home .hero:before{background:linear-gradient(90deg,rgba(12,39,31,.94),rgba(12,39,31,.65) 35%,transparent 78%),linear-gradient(0deg,rgba(12,39,31,.8),transparent 25%)}
main #home .hero-copy .home-slogan{font-size:clamp(34px,4.3vw,60px)}
/* Small illustrations are secondary to the task, never answer hints. */
.learning-visual-note{display:flex;align-items:center;gap:14px;max-width:720px;padding:10px 15px;margin:0 0 18px;background:#edf0e6;border-left:2px solid #b8c8a6;color:#193c32;border-radius:0 28px 28px 0}
.learning-visual-note svg{width:50px;height:46px;flex:none}
.learning-visual-note span{font-size:12px;line-height:1.6;font-style:italic}
.learning-visual-note[data-art="1"]{border-radius:25px 0 25px 0;background:#f1f3e9}
.learning-visual-note[data-art="2"]{background:transparent;border:1px solid #c7d2bb;border-radius:4px}
.learning-visual-note[data-art="3"]{border-radius:0 34px 5px 0;background:#edf0e6}
.learning-visual-note[data-art="4"]{border:0;border-bottom:1px solid #c7d2bb;background:transparent;border-radius:0}
.learning-visual-note[data-art="5"]{border-radius:30px;border:1px solid #c7d2bb;background:#f1f3e9}
#learner-profile .learner-questions fieldset{padding:14px;margin:18px 0}
#learner-profile .learner-questions label{padding:8px;margin:7px 0}
#placement-form .placement-question{margin-top:18px;margin-bottom:18px}
#daily-mission>h3,#portal-monthly>h3{font-size:25px}
#daily-mission .daily-mission-reading,#daily-mission .daily-task-reading{background:#edf0e6}
#students-portal .portal-bubble-art svg{width:60px;height:60px}
@media(max-width:680px){
 main .catalog{padding-top:28px;padding-bottom:26px}
 main [data-view]>h2,main #contact>h2,main .quote-editorial-title,main .join-editorial-title{font-size:30px!important}
 main #how .how-hero-copy h2,main #vision .vision-hero h2,main #vision .vision-hero-copy h2{font-size:36px!important}
 main #programs .coaching-independence h3{font-size:31px!important}
 main #placement .assessment-option-title{font-size:28px!important}
 main #home .hero-copy .home-slogan{font-size:30px}
 .learning-visual-note{gap:10px;padding:8px 12px;margin-bottom:14px}
 .learning-visual-note svg{width:42px;height:38px}
 .learning-visual-note span{font-size:11px}
 main #home .home-picture-and-reviews .coaching-photo img{object-fit:cover;object-position:52% center}
}
@media(max-width:680px){main #home .home-picture-and-reviews .coaching-photo img{object-fit:contain;object-position:center top}}
main #vision .vision-heading h2{font-size:clamp(32px,4vw,51px)!important;line-height:1.15}
#students-portal .portal-choice-label{font-size:clamp(24px,2.6vw,32px)}
@media(max-width:680px){main #vision .vision-heading h2{font-size:36px!important}#students-portal .portal-choice-label{font-size:25px}}

/* Retain the full photographic layout; refine its lettering and speech links. */
#home .home-title-top{font-weight:400;letter-spacing:-1.4px}
#home .home-title-main{font-style:italic;font-weight:400;color:#faf9f4;letter-spacing:-1px}
#home .home-title-bottom{font-style:normal;font-size:.64em;letter-spacing:.1px;margin-top:14px}
#home .home-kicker{letter-spacing:2.8px}
#home .home-speech-links{gap:18px}
#home .home-speech-bubble,#home .home-speech-bubble:nth-child(2){position:relative;border-radius:17px 17px 17px 5px;background:#edf0e6;color:#193c32;min-height:43px;padding:12px 19px;isolation:isolate}
#home .home-speech-bubble:after{content:'';display:block;position:absolute;width:10px;height:10px;left:20px;bottom:-6px;background:inherit;border-right:1px solid #ced6c4;border-bottom:1px solid #ced6c4;transform:skewY(-15deg) rotate(35deg);z-index:-1}
#home .home-speech-bubble:nth-child(2){border-radius:17px 17px 5px 17px}
#home .home-speech-bubble:nth-child(2):after{left:auto;right:20px;transform:skewY(15deg) rotate(55deg)}
#home .home-speech-bubble:hover{background:#193c32;color:#faf9f4}
@media(max-width:680px){#home .home-title-bottom{font-size:.78em;margin-top:8px}#home .home-speech-links{gap:15px}#home .home-speech-bubble,#home .home-speech-bubble:nth-child(2){padding:12px 17px}}
/* Consistent rounded navigation and action controls across every view. */
main .button,dialog .button,main button.course-link,main .course-view-row .course-link,main .course-fees-open,main .program-course-actions .button{border-radius:999px!important}
/* Conversation links retain their speech-bubble silhouette. */
#home .home-speech-bubble{border-radius:17px 17px 17px 5px!important}
#home .home-speech-bubble:nth-child(2){border-radius:17px 17px 5px 17px!important}
/* Wider homepage view: retain the full image and reduce its scale. */
main #home .home-picture-and-reviews .coaching-photo img{object-fit:contain;object-position:right center;transform:scale(.88);transform-origin:right center}
@media(max-width:680px){main #home .home-picture-and-reviews .coaching-photo img{object-position:center top;transform:scale(.92);transform-origin:center top}}
main #home .home-picture-and-reviews .coaching-photo img{position:absolute;inset:0;min-width:0;min-height:0;max-height:100%;width:100%;height:100%;transform:scale(.96);transform-origin:right center}
@media(max-width:680px){main #home .home-picture-and-reviews .coaching-photo img{transform:scale(.96);transform-origin:center top}}
@media(min-width:681px){main #home .home-picture-and-reviews .coaching-photo img{mask-image:linear-gradient(90deg,transparent,#000 18%)}}

/* Naturally wide source photograph fills the existing rectangle. */
main #home .home-picture-and-reviews .coaching-photo img{object-fit:cover;object-position:center center;transform:none;mask-image:none;min-width:0;min-height:0;max-height:none;width:100%;height:100%}
@media(max-width:680px){main #home .home-picture-and-reviews .coaching-photo img{object-fit:cover;object-position:68% center;transform:none;mask-image:none}}

/* Balanced CEFR steps and breathing room above the assessment dividers. */
main #placement .assessment-visual{display:flex;flex-direction:column;height:160px;padding:16px 0 20px;gap:10px;box-sizing:border-box}
main #placement .assessment-folio{flex:none;line-height:1.3}
main #placement .level-stair{flex:none;height:92px;margin:0;gap:5px;align-items:flex-end}
main #placement .level-stair>span:nth-child(1){height:30px}
main #placement .level-stair>span:nth-child(2){height:42px}
main #placement .level-stair>span:nth-child(3){height:54px}
main #placement .level-stair>span:nth-child(4){height:66px}
main #placement .level-stair>span:nth-child(5){height:78px}
main #placement .level-stair>span:nth-child(6){height:90px}
main #placement .learner-visual svg{flex:none;width:100%;height:92px;max-height:92px;margin:0 auto}

/* Keep only the meaningful assessment illustrations. */
#placement .placement-visual:after,#placement .learner-visual:after{display:none;content:none}

/* dashboard-design.css */
#vision .vision-heading-star{display:none}
.learning-space-heading{margin:12px 0 24px}
.learning-space-heading h3,.admin-dashboard-heading>h3{font-size:clamp(27px,3vw,38px);font-weight:500;letter-spacing:-1px;margin:12px 0}
.learning-space-heading>p:last-child{font-size:15px}
#students-portal .learning-space-destinations{gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
#students-portal .learning-space-card{position:relative;min-height:150px;padding:22px 17px!important;border:1px solid #c2cfb8;border-radius:30px 30px 30px 7px;background:#edf0e6;color:#193c32;box-shadow:none;gap:10px}
#students-portal .learning-space-card:nth-child(4n+2){border-radius:42% 42% 10px 10px;background:#f1f3e9}
#students-portal .learning-space-card:nth-child(4n+3){border-radius:10px 36px 10px 36px;background:#faf9f4}
#students-portal .learning-space-card:nth-child(4n){border-radius:30px 30px 7px 30px;background:#edf0e6}
#students-portal .learning-space-card-title{font-size:17px;font-weight:600}
#students-portal .learning-space-card-description{font-size:12px;line-height:1.6}
#students-portal .learning-space-card svg{width:31px;height:31px}
#students-portal .learning-space-card:hover{background:#e1e9d5;border-color:#193c32}
.instructor-destination-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;width:100%;margin:24px 0 28px}
.instructor-destination-card{min-width:0;min-height:145px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:20px;background:#edf0e6;color:#193c32;border:1px solid #c2cfb8;border-radius:28px 28px 7px 28px;text-align:left}
.instructor-destination-card:nth-child(2){border-radius:42% 42% 8px 8px;background:#f1f3e9}
.instructor-destination-card:nth-child(3){border-radius:28px 28px 28px 7px;background:#faf9f4}
.instructor-destination-card:nth-child(4){border-radius:8px 32px 8px 32px}
.instructor-destination-card:nth-child(5){border-radius:32px;background:#f1f3e9}
.instructor-destination-card svg{width:33px;height:33px}
.instructor-destination-card strong{font-size:16px;font-weight:600}
.instructor-destination-card>span{font-size:11px;line-height:1.5;color:#53685b}
.instructor-destination-card:hover{background:#e1e9d5;border-color:#193c32}
.panel-symbol{display:inline-flex;vertical-align:middle;margin-right:12px;color:#193c32}
.panel-symbol svg{width:27px;height:27px}
.exam-section-symbol{display:flex;justify-content:flex-end;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #c7d2bb;color:#193c32}
.exam-section-symbol svg{width:46px;height:46px}
@media(max-width:900px){.instructor-destination-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){#students-portal .learning-space-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#students-portal .learning-space-card{min-height:135px;padding:18px 12px!important}#students-portal .learning-space-card-title{font-size:15px}#students-portal .learning-space-card-description{font-size:11px}.instructor-destination-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.instructor-destination-card{min-height:125px;padding:17px}.instructor-destination-card strong{font-size:15px}.learning-space-heading h3,.admin-dashboard-heading>h3{font-size:28px}}

/* Keep Daily Task close to its breadcrumb rather than below a large gap. */
#students-portal:has(#daily-mission:not([hidden])){padding-top:12px!important}
#portal-content:has(#daily-mission:not([hidden])) .learning-breadcrumbs{margin:0 0 10px}
#daily-mission{padding-top:0!important;margin-top:0!important}
#daily-mission>h3{margin:8px 0 12px}
#daily-mission>.learning-visual-note{margin-top:0;margin-bottom:12px}
#daily-mission .daily-idiom{border:1px solid #c2cfb8;background:#f1f3e9;border-radius:6px 27px 6px 27px;padding:12px 17px;margin:16px 0 22px;max-width:800px}
#daily-mission .daily-idiom>summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.5;list-style-position:inside}
#daily-mission .idiom-symbol{display:inline-flex;vertical-align:middle;margin:0 10px 0 3px;color:#193c32}
#daily-mission .idiom-symbol svg{width:30px;height:30px}
#daily-mission .daily-idiom h4{font-size:20px;line-height:1.3;margin:18px 0 10px;font-weight:500}
#daily-mission .daily-idiom p{font-size:14px;line-height:1.7;margin:8px 0}
#daily-mission .idiom-example{font-style:italic;color:#53685b;padding-left:12px;border-left:2px solid #b6c6a4}
#students-portal:has(#daily-mission:not([hidden])) .learning-space-back{display:none!important}
#students-portal:has(#daily-mission:not([hidden])) #portal-access-status:empty{margin:0}

/* practice-art.css */
/* Balanced portal cards: one consistent silhouette, alternating brand tones. */
#students-portal .learning-space-card,#students-portal .learning-space-card:nth-child(n),.instructor-destination-card,.instructor-destination-card:nth-child(n){border-radius:24px!important;background:#edf0e6;border:1px solid #c2cfb8}
#students-portal .learning-space-card:nth-child(even),.instructor-destination-card:nth-child(even){background:#faf9f4}
#students-portal .learning-space-card:hover,.instructor-destination-card:hover{background:#e1e9d5}
/* Titles first; right-hand idiom cards remain collapsed until selected. */
#daily-mission,#instructor-french-view{display:grid;grid-template-columns:minmax(0,1fr) 245px;column-gap:30px;align-items:start}
#daily-mission>* ,#instructor-french-view>*{grid-column:1;min-width:0}
#daily-mission>.learning-visual-note{display:none}
#daily-mission>h3{grid-row:1;font-size:30px;margin:0 0 12px}
#daily-mission>.daily-task-intro,#instructor-french-view>.daily-task-intro{display:table;position:relative;font-size:16px;line-height:1.55;font-style:italic;padding:9px 18px;background:#edf0e6;color:#193c32;border-radius:4px 24px 24px 24px;margin:0 0 22px}
#daily-mission>.daily-idiom,#instructor-french-view>.french-idiom{grid-column:2;grid-row:1 / span 5;align-self:start;position:relative;min-height:125px;padding:20px;margin:0;background:#edf0e6;border:1px solid #c2cfb8;border-radius:24px 24px 6px 24px}
#daily-mission>.daily-idiom>summary,#instructor-french-view>.french-idiom>summary{font-size:16px;font-weight:500;line-height:1.5;cursor:pointer;list-style-position:inside}
#daily-mission>.daily-idiom>summary .idiom-symbol{display:block;margin:0 0 12px}
#daily-mission>.daily-idiom>summary svg,#instructor-french-view>.french-idiom>summary svg{display:block;width:36px;height:36px;color:#193c32;margin-bottom:10px}
#instructor-french-view>.french-idiom h4{font-size:19px;line-height:1.4;margin:20px 0 10px}
#instructor-french-view>.french-idiom p{font-size:14px;line-height:1.7}
.practice-heading-icon{display:inline-flex;vertical-align:middle;margin-right:10px;color:#193c32}
.practice-heading-icon svg{width:25px;height:25px;display:block}
#daily-mission .mission-practice,#daily-mission .mission-reading,#instructor-french-view [data-french-stage],#instructor-french-view .mission-reading{position:relative;padding-right:64px}
.practice-corner{position:absolute;right:14px;bottom:13px;color:#819575;pointer-events:none}
.practice-corner svg{width:38px;height:38px;display:block;opacity:.7}
#instructor-french-view>h2{font-size:30px!important;margin-top:8px}
#instructor-french-view>.french-back{justify-self:start}
/* Homepage speech links use the logo-like rounded speech-bubble outline. */
#home .home-speech-bubble,#home .home-speech-bubble:nth-child(2){width:143px;height:65px;padding:10px 15px 18px;min-height:0;background:transparent;border:0;border-radius:0!important;box-shadow:none;display:flex;align-items:center;justify-content:center}
#home .home-speech-bubble:after{display:none}
#home .home-speech-bubble .home-bubble-shape{display:block;position:absolute;inset:0;width:100%;height:100%;fill:#edf0e6;stroke:#ced6c4;stroke-width:1}
#home .home-speech-bubble:hover .home-bubble-shape{fill:#d5ed98}
#home .home-speech-bubble:hover{background:transparent;color:#193c32}
#home .home-speech-bubble>span{position:relative;z-index:1}
@media(max-width:950px){#daily-mission,#instructor-french-view{grid-template-columns:minmax(0,1fr) 210px;column-gap:20px}}
@media(max-width:680px){#daily-mission,#instructor-french-view{display:block}#daily-mission>.daily-idiom,#instructor-french-view>.french-idiom{width:min(100%,330px);min-height:95px;margin:0 0 22px auto;padding:16px}#daily-mission>h3{font-size:28px}#daily-mission>.daily-task-intro,#instructor-french-view>.daily-task-intro{font-size:14px;margin-bottom:18px}#daily-mission .mission-practice,#daily-mission .mission-reading,#instructor-french-view [data-french-stage],#instructor-french-view .mission-reading{padding-right:46px}.practice-corner{right:9px;bottom:10px}.practice-corner svg{width:27px;height:27px}#home .home-speech-bubble,#home .home-speech-bubble:nth-child(2){width:137px;height:61px;padding:9px 13px 17px}}

#programs .independence-highlight{background:none;padding:0;font-style:inherit;text-decoration-line:underline;text-decoration-color:#729444;text-decoration-thickness:2px;text-underline-offset:7px;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* pricing-refinement.css */
#courses .course-booking-note{border:0;padding:0;margin:0;flex:none}
#courses .course-fees-open{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:170px;height:170px;min-height:170px;padding:24px!important;border:1px solid #b8c8ad;border-radius:50%!important;background:#edf0e6;color:#193c32;text-align:center;font-size:13px;line-height:1.5;font-weight:500}
#courses .course-fees-open:hover{background:#e1e9d5;border-color:#193c32}
#courses .pricing-circle-art{display:block;width:44px;height:44px;flex:none}
#courses .course-fees-open>span{position:absolute;right:21px;bottom:26px;font-size:19px}
#course-fees-dialog{max-width:740px}
#course-fees-dialog>ul{list-style:none;padding:0;margin:24px 0}
#course-fees-dialog>ul>li{display:flex;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid #d7dfcd;line-height:1.75;font-size:14px}
#course-fees-dialog .pricing-detail-art{display:block;width:45px;height:45px;flex:none;color:#193c32}
#course-fees-dialog>ul>li>span{display:block;min-width:0}
#course-fees-dialog .course-funding-note{border-left:2px solid #b6c8a2;padding:8px 0 8px 17px;background:transparent;font-size:13px;line-height:1.8}
@media(max-width:680px){#courses .course-booking-note{align-self:flex-end;margin-top:10px}#courses .course-fees-open{width:145px;height:145px;min-height:145px;font-size:12px;padding:20px!important}#courses .pricing-circle-art{width:35px;height:35px}#course-fees-dialog>ul>li{gap:12px;font-size:13px;padding:13px 0}#course-fees-dialog .pricing-detail-art{width:37px;height:37px}}

#courses .program-flower{width:84px;height:100px;transform:rotate(5deg);color:#193c32;font-size:0;right:0;top:16px}
#courses .program-flower svg{display:block;width:100%;height:100%}
@media(max-width:760px){#courses .program-flower{width:52px;height:64px;top:30px}}
#courses .course-booking-note{background:transparent;border:0;border-radius:0;box-shadow:none;width:170px;max-width:170px;padding:0}
@media(max-width:680px){#courses .course-booking-note{width:145px;max-width:145px}}

/* seasonal-art.css */
.calendar-day{position:relative}
.seasonal-calendar-art{display:block;width:25px;height:26px;margin:5px 3px 2px auto;color:#829872;pointer-events:none;line-height:0}
.seasonal-calendar-art svg{display:block;width:100%;height:100%;opacity:.75}
.calendar-day-blocked>.seasonal-calendar-art{opacity:.5}
.portal-interior-art{display:flex;justify-content:flex-end;color:#829872;margin:0 0 8px;pointer-events:none}
.portal-interior-art svg{width:58px;height:58px;display:block}
#portal-contact .portal-interior-art{justify-content:center;max-width:440px;padding:22px;border-radius:36px 36px 7px 36px;background:#edf0e6;margin:20px 0 25px}
#portal-contact .portal-interior-art svg{width:80px;height:80px;color:#193c32}
.instructor-tool-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}
#admin-dashboard .instructor-tool-cards>details.admin-detail{border:1px solid #c2cfb8;border-radius:24px;padding:0;margin:0;background:#edf0e6;min-width:0;overflow:hidden}
#admin-dashboard .instructor-tool-cards>details.admin-detail:nth-child(even){background:#faf9f4}
#admin-dashboard .instructor-tool-cards>details>summary{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-height:145px;padding:22px;border:0;border-radius:0;background:transparent;line-height:1.5;cursor:pointer;font-size:15px;list-style:none}
#admin-dashboard .instructor-tool-cards>details>summary::-webkit-details-marker{display:none}
#admin-dashboard .instructor-tool-cards .panel-symbol{margin:0}
#admin-dashboard .instructor-tool-cards .panel-symbol svg{width:34px;height:34px}
#admin-dashboard .instructor-tool-cards>details[open]{grid-column:1/-1}
#admin-dashboard .instructor-tool-cards>details[open]>summary{min-height:100px;flex-direction:row;justify-content:flex-start;align-items:center}
#admin-dashboard .instructor-tool-cards>details[open]>*:not(summary){margin-left:22px;margin-right:22px}
#admin-dashboard .instructor-tool-cards>details[open]>*:last-child{margin-bottom:22px}
@media(max-width:680px){.seasonal-calendar-art{width:18px;height:20px;margin:4px 1px 1px auto}.instructor-tool-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#admin-dashboard .instructor-tool-cards>details>summary{min-height:135px;padding:17px;font-size:13px}#admin-dashboard .instructor-tool-cards>details[open]>*:not(summary){margin-left:12px;margin-right:12px}.portal-interior-art svg{width:42px;height:42px}}
#admin-dashboard:has(#admin-client-page:not([hidden]))>.instructor-tool-cards,#admin-dashboard:has(#admin-client-page:not([hidden]))>.instructor-destination-cards{display:none}
/* Decorations occupy corners without increasing calendar row heights. */
.seasonal-calendar-art{position:absolute;right:4px;bottom:3px;margin:0;opacity:.6}
.calendar-day:has(.calendar-slot:nth-child(n+5))>.seasonal-calendar-art{display:none}

/* distinct-pages.css */
/* Learning Hub: a balanced set of playful speech, arch and notebook silhouettes. */
#students-portal .learning-space-card:nth-child(n){border-radius:30px 8px 30px 8px!important;align-items:flex-start;text-align:left;background:#edf0e6}
#students-portal .learning-space-card:nth-child(4n+2){border-radius:50% 50% 8px 8px!important;align-items:center;text-align:center;background:#faf9f4}
#students-portal .learning-space-card:nth-child(4n+3){border-radius:26px 26px 6px 26px!important;background:#edf0e6}
#students-portal .learning-space-card:nth-child(4n){border-radius:8px 30px 8px 30px!important;align-items:flex-end;text-align:right;background:#faf9f4}
#students-portal .learning-space-card{min-height:155px;justify-content:center}
/* Instructor tools: one set of cards, with an editorial label-and-symbol layout. */
.instructor-destination-cards{display:none!important}
.instructor-tool-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
#admin-dashboard .instructor-tool-cards>details.admin-detail:nth-child(n),#admin-dashboard .instructor-review-card{border-radius:8px 34px 8px 34px;background:#edf0e6;border:1px solid #c2cfb8;min-width:0;margin:0;overflow:hidden}
#admin-dashboard .instructor-tool-cards>details:nth-child(even){background:#faf9f4;border-radius:34px 8px 34px 8px}
#admin-dashboard .instructor-tool-cards>details:nth-child(3n){border-radius:30px 30px 7px 30px}
#admin-dashboard .instructor-tool-cards>details>summary{min-height:160px;gap:15px;padding:23px;position:relative;justify-content:flex-end}
#admin-dashboard .instructor-tool-cards .panel-symbol{align-self:flex-end}
#admin-dashboard .instructor-tool-cards .panel-symbol svg{width:39px;height:39px}
#admin-dashboard .instructor-tool-cards>details[open]{border-radius:20px}
#admin-dashboard .instructor-tool-cards>details[open]>summary{min-height:90px;justify-content:flex-start}
#admin-dashboard .instructor-review-card{min-height:160px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:23px;gap:12px;background:#faf9f4;color:#193c32;text-align:left;cursor:pointer}
#admin-dashboard .instructor-review-card>svg{width:39px;height:39px;align-self:flex-end}
#admin-dashboard .instructor-review-card>strong{font-size:15px;font-weight:600}
#admin-dashboard .instructor-review-card>span{font-size:11px;line-height:1.5;color:#53685b}
#admin-dashboard .instructor-tool-cards>details:hover,#admin-dashboard .instructor-review-card:hover{border-color:#193c32}
/* Daily Motivation uses a quiet, light page title. */
#daily-quote .motivation-page-heading{font-size:15px!important;font-weight:400!important;letter-spacing:.2px!important;line-height:1.5!important;text-transform:none;margin:12px 0 25px!important}
#daily-quote .motivation-headline{font-size:clamp(21px,2.5vw,30px);font-weight:400;line-height:1.45}
/* Reviews: open conversation composition, preserving the existing album controls. */
#reviews .reviews-layout{gap:45px;align-items:center}
#reviews .reviews-copy{position:relative;padding:25px 28px 30px 0;border:0;background:transparent;isolation:isolate}
#reviews .reviews-copy:before{content:'';position:absolute;inset:45px 20px 0 -25px;border-radius:45% 45% 10px 10px;background:#edf0e6;z-index:-1;transform:rotate(-4deg)}
#reviews .reviews-copy>h2{font-size:clamp(32px,3.8vw,48px)!important;line-height:1.1!important;font-weight:400;letter-spacing:-1.5px;margin:22px 0}
#reviews .reviews-copy>h2 em{font-style:italic;font-weight:400}
#reviews .reviews-spark-art{width:86px;height:73px;display:block;margin:0 0 25px auto;color:#193c32;transform:rotate(7deg)}
#reviews .review-intro{font-size:14px;line-height:1.85;max-width:360px}
#reviews #review-open{margin-top:20px;border:1px solid #c2cfb8;background:#faf9f4}
#reviews .reviews-album-area{position:relative;padding:22px 0}
#reviews .reviews-album-area:before{content:'“';position:absolute;right:5px;top:-30px;color:#a8bd91;font-size:100px;line-height:1;pointer-events:none}
#reviews .review-card{border-radius:4px 28px 4px 28px;border-color:#c2cfb8}
#reviews .review-card blockquote{font-weight:400}
@media(max-width:1000px){.instructor-tool-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){#students-portal .learning-space-card{min-height:140px}.instructor-tool-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#admin-dashboard .instructor-tool-cards>details>summary,#admin-dashboard .instructor-review-card{min-height:145px;padding:18px;font-size:13px}#admin-dashboard .instructor-tool-cards .panel-symbol svg,#admin-dashboard .instructor-review-card>svg{width:31px;height:31px}#daily-quote .motivation-page-heading{font-size:13px!important}#reviews .reviews-layout{gap:28px}#reviews .reviews-copy{padding:12px 12px 24px 0}#reviews .reviews-copy:before{inset:40px 0 0 -12px}#reviews .reviews-copy>h2{font-size:36px!important}#reviews .reviews-spark-art{width:65px;height:57px;margin-bottom:18px}#reviews .reviews-album-area:before{font-size:70px;top:-16px}}

/* One meaningful illustration per practice section. */
#daily-mission .practice-corner,#instructor-french-view .practice-corner{display:none}
#daily-mission .mission-practice,#daily-mission .mission-reading,#instructor-french-view [data-french-stage],#instructor-french-view .mission-reading{padding-right:20px}
@media(max-width:680px){#daily-mission .mission-practice,#daily-mission .mission-reading,#instructor-french-view [data-french-stage],#instructor-french-view .mission-reading{padding-right:16px}}
#admin-dashboard .instructor-tool-cards>details.admin-detail:nth-child(even){background:#faf9f4;border-radius:34px 8px 34px 8px}
#admin-dashboard .instructor-tool-cards>details.admin-detail:nth-child(3n){border-radius:30px 30px 7px 30px}

/* mobile-layout.css */
/* Shared phone and installed-app rhythm. Desktop compositions stay intact. */
@media(max-width:760px){
 html{scroll-padding-top:16px}
 body{overflow-wrap:break-word}
 main,main>[data-view],.portal-panel,.admin-detail,.admin-client-form,.calendar-toolbar{min-width:0}
 main .catalog,main .learning{padding-left:5%;padding-right:5%}
 main [data-view]>h2{line-height:1.2}
 .button{min-height:44px}
 input,select,textarea{max-width:100%;min-width:0}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
 dialog{max-width:calc(100vw - 24px);width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:26px 18px;overflow-y:auto;overscroll-behavior:contain}
 dialog h2{padding-right:20px;font-size:25px;line-height:1.25}
 dialog .detail-actions,.admin-form-actions{display:flex;flex-wrap:wrap;gap:10px}
 .page-signature{line-height:1.6}
 #students-portal .portal-area-choices{padding:0;gap:22px;margin:20px auto 28px}
 #students-portal .portal-choice{min-height:190px;padding:24px 28px}
 #students-portal .learning-space-heading .eyebrow{font-size:10px;line-height:1.5}
 #students-portal .learning-space-heading{margin:8px 0 22px}
 #students-portal .learning-space-destinations{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #students-portal .learning-space-card{padding:17px 12px!important;min-height:140px;gap:10px}
 #students-portal .learning-space-card-title{font-size:15px;line-height:1.35}
 #students-portal .learning-space-card-description{font-size:11px;line-height:1.6}
 .admin-dashboard-heading{display:flex;flex-wrap:wrap;gap:15px;align-items:center}
 .admin-dashboard-heading>h3{flex:1 1 220px;margin:8px 0}
 .instructor-shortcuts{display:flex;flex-wrap:wrap;gap:10px}
 .instructor-shortcuts .button,.admin-dashboard-heading>.instructor-french-button{min-height:44px}
 .admin-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .admin-metrics>article{min-width:0;padding:18px}
 .admin-metrics>article>span{font-size:11px;line-height:1.5}
 .admin-metrics>article>strong{font-size:28px}
 .instructor-tool-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #admin-dashboard .instructor-tool-cards>details>summary,#admin-dashboard .instructor-review-card{min-height:145px;padding:17px;font-size:13px;line-height:1.5}
 #admin-dashboard .instructor-tool-cards>details[open]{grid-column:1/-1}
 #admin-dashboard .instructor-tool-cards>details[open]>summary{min-height:80px}
 #admin-dashboard .instructor-tool-cards>details[open]>*:not(summary){max-width:calc(100% - 24px);min-width:0}
 .admin-client-form,.calendar-form{grid-template-columns:1fr}
 .admin-client-form label,.calendar-form label{min-width:0}
 .admin-table-wrap{max-width:100%;overflow-x:auto}
 .calendar-toolbar{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
 .calendar-toolbar h4{font-size:17px;margin:8px 0}
 .calendar-toolbar .button{min-height:40px;padding:8px 11px;font-size:12px}
 .calendar-grid{min-width:0;gap:3px}
 .calendar-day{min-width:0}
 .calendar-weekdays span{font-size:10px}
 .calendar-day-number{font-size:12px}
 .calendar-slot{max-width:100%;overflow-wrap:anywhere}
 #courses .catalog-controls{gap:17px;margin:22px 0 26px}
 #courses .filters{gap:7px}
 #courses .filter{font-size:11px;padding:9px 13px;min-height:38px}
 #courses .search{width:100%}
 #courses #course-grid{gap:14px}
 #courses #course-grid .course-body{padding:17px 14px}
 #courses #course-grid .course-body h3{font-size:19px;line-height:1.25}
 #courses .course-view-row{gap:8px;flex-wrap:wrap}
 #courses .course-view-row .course-link{max-width:100%}
 #quote .quote-popup-choice{overflow-wrap:break-word}
 #reviews .reviews-layout{grid-template-columns:1fr;gap:26px}
 #reviews .reviews-copy{padding:15px 10px 24px 0}
 #reviews .reviews-copy:before{inset:35px 0 0 -6px;transform:rotate(-2deg)}
 #reviews .reviews-copy>h2{font-size:34px!important}
 #reviews .reviews-album-area{min-width:0;width:100%;padding:12px 0}
 #reviews .review-card{max-width:100%}
 #daily-quote .motivation-layout{grid-template-columns:1fr;gap:25px}
 #daily-quote .motivation-page-heading{margin:5px 0 20px!important;max-width:100%}
 #daily-quote .motivation-picture{margin:0 auto;max-width:420px;width:100%}
 #daily-quote .motivation-headline{font-size:22px;line-height:1.5}
 #daily-mission>.daily-idiom,#instructor-french-view>.french-idiom{width:100%;max-width:none;margin:0 0 22px;padding:17px;box-sizing:border-box}
 #daily-mission>.daily-task-intro,#instructor-french-view>.daily-task-intro{max-width:100%;box-sizing:border-box}
 #daily-mission .mission-practice,#daily-mission .mission-reading,#instructor-french-view [data-french-stage],#instructor-french-view .mission-reading{padding:17px}
 .learning-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .learning-breadcrumbs{line-height:1.6;gap:6px}
 #learner-profile .learner-questions legend{font-size:14px;line-height:1.6}
 #learner-profile .learner-questions label{font-size:14px;line-height:1.6;padding:9px}
 .test-pager,.learner-pager{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
 .test-pager .button,.learner-pager .button{padding:11px 15px;font-size:13px}
}
@media(max-width:380px){
 #courses #course-grid{grid-template-columns:1fr}
 #students-portal .learning-space-card-description{font-size:10px}
 #admin-dashboard .instructor-tool-cards>details>summary,#admin-dashboard .instructor-review-card{padding:14px;font-size:12px}
 #home .home-speech-bubble,#home .home-speech-bubble:nth-child(2){width:129px}
 #home .home-speech-links{gap:9px}
}
/* Keep fixed app navigation clear of device home indicators. */
.instructor-app .instructor-tool-cards{width:100%}
.instructor-app .app-nav button{border-radius:999px}
@media(display-mode:standalone){
 body{padding-bottom:env(safe-area-inset-bottom,0px)}
 body:not(.instructor-app)>header{padding-top:max(18px,env(safe-area-inset-top,0px))}
 .instructor-app main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:760px){
 #daily-quote .motivation-layout{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
 #daily-quote .motivation-visual,#daily-quote .motivation-content{width:100%;min-width:0;max-width:100%}
 #daily-quote .motivation-picture,#daily-quote .motivation-picture img{min-width:0;max-width:100%;width:100%}
}
@media(max-width:760px){
 #students-portal .learning-space-destinations .learning-space-card{display:flex!important;flex-direction:column!important;align-items:flex-start;justify-content:center;text-align:left;min-height:150px;gap:10px}
 #students-portal .learning-space-destinations .learning-space-card:nth-child(even){align-items:center;text-align:center}
 #students-portal .learning-space-card>svg{flex:none}
 #students-portal .learning-space-card-title,#students-portal .learning-space-card-description{display:block;width:100%;min-width:0}
}
@media(display-mode:standalone) and (max-width:760px){
 main #home .hero{height:calc(100svh - 150px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 dialog{max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
}

.instructor-app .button{border-radius:999px}

/* calendar-friendly.css */
#admin-calendar .calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
#admin-calendar .calendar-toolbar h4{flex:1 1 170px;font-size:21px;line-height:1.4;margin:0 8px}
#admin-calendar .calendar-jump-label{display:flex;flex-direction:column;gap:5px;margin:0;font-size:10px;color:#53685b}
#admin-calendar .calendar-jump-label input{font-size:14px;color:#193c32;background:#faf9f4;border:1px solid #c2cfb8;border-radius:999px;padding:9px 13px;min-height:42px}
#admin-calendar .calendar-view-switch{display:flex;gap:4px;border:1px solid #c2cfb8;border-radius:999px;padding:4px;background:#faf9f4}
#admin-calendar .calendar-view-switch .button{border:0;min-height:34px;padding:8px 13px;background:transparent;color:#193c32;border-radius:999px}
#admin-calendar .calendar-view-switch .button[aria-pressed=true]{background:#193c32;color:#faf9f4}
.instructor-calendar-legend{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;color:#53685b;margin:10px 0 15px}
.instructor-calendar-legend>span{display:inline-flex;align-items:center;gap:7px}
.instructor-calendar-legend>span:before{content:'';width:9px;height:9px;border-radius:50%;border:1px solid #8ea779;background:#edf0e6}
.instructor-calendar-legend>[data-legend=booked]:before{background:#193c32;border-color:#193c32}
.instructor-calendar-legend>[data-legend=closed]:before{background:#dedfd5;border-color:#b3b9ad}
#admin-calendar .calendar-availability-note,#admin-calendar .calendar-scroll-hint{font-size:11px;line-height:1.6;margin:6px 0;color:#53685b}
.instructor-day-dialog{max-width:720px}
.instructor-day-dialog .instructor-day-agenda{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.instructor-day-dialog .calendar-appointment{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:17px;border:1px solid #c2cfb8;border-radius:18px;background:#f1f3e9;min-width:0}
.instructor-day-dialog .calendar-appointment>.calendar-slot,.instructor-day-dialog .calendar-appointment>.calendar-session{grid-column:1/-1;width:100%;text-align:left;background:transparent;border:0;padding:0 30px 0 0;color:#193c32;font-size:15px;line-height:1.6;min-height:30px;font-weight:600}
.calendar-appointment-course{grid-column:1/-1;font-size:12px;line-height:1.7;color:#53685b}
.calendar-confirmation-status{grid-column:1/-1;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.calendar-send-confirmation{justify-self:start;grid-column:1;width:auto;min-height:42px;font-size:12px;padding:11px 16px}
.instructor-day-dialog .calendar-appointment>.calendar-cancel{position:absolute;right:10px;top:10px;width:29px;height:29px;border-radius:50%;border:1px solid #c2cfb8;background:#faf9f4;color:#193c32;line-height:1;font-size:20px}
.hours-cutoff-note{display:block!important;font-size:10px!important;font-weight:400!important;line-height:1.6;margin-top:8px;color:#53685b}
@media(max-width:680px){#admin-calendar .calendar-toolbar{gap:8px}#admin-calendar .calendar-toolbar h4{flex-basis:120px;font-size:18px}#admin-calendar .calendar-jump-label{flex:1 1 140px}#admin-calendar .calendar-jump-label input{width:100%;font-size:16px;min-width:0}#admin-calendar .calendar-view-switch{flex:none}#admin-calendar .calendar-view-switch .button{padding:8px 11px;font-size:11px}.instructor-day-dialog .calendar-appointment{padding:14px}.instructor-calendar-legend{gap:15px}.instructor-day-dialog .calendar-appointment>.calendar-slot{font-size:14px}.calendar-appointment-course{font-size:11px}}

/* october-refinements.css */
/* Smaller steps, with the same clear reading order. */
#how .how-step-number{font-size:30px;line-height:1;font-weight:400}
#how .how-step h3{font-size:19px;line-height:1.3}
#how .how-step-policy h3{font-size:20px}
#how .how-policy-content{font-size:13px;line-height:1.8}
#how .how-policy-content p,#how .registration-policies li{font-size:13px;line-height:1.8}
#how .how-policy-note{font-size:15px}
#how .how-policy-content>p:last-child{font-size:12px}
#vision .vision-heading{padding-right:0;max-width:900px}
main #vision .vision-heading h2{font-size:clamp(28px,3.4vw,43px)!important;line-height:1.25}
#vision .vision-heading h2 em:after{display:none}
#vision .vision-need-band{display:grid;grid-template-columns:minmax(0,1fr) 60px;align-items:center;gap:22px 30px}
#vision .vision-need-band>.vision-need-reflection{grid-column:1/-1;width:auto;height:auto;max-width:850px;color:#193c32}
#vision .vision-need-reflection p{font-size:15px;line-height:1.85;margin:0 0 15px}
#vision .vision-need-reflection p:last-child{margin-bottom:0}
#vision .vision-purpose-community{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px 25px;align-items:center}
#vision .vision-purpose-community>p:first-child{grid-column:1/-1}
#vision .vision-africa{margin:0;max-width:230px;justify-self:center;transform:rotate(-3deg)}
#vision .vision-africa svg{width:100%;height:auto;display:block}
#vision .vision-plane{display:inline-block;width:25px;height:25px;vertical-align:middle;margin:0 5px;color:#193c32;transform:rotate(35deg)}
/* The circle sits directly on the page; no rectangular wrapper. */
#courses .course-booking-note{background:none!important;border:0!important;box-shadow:none!important;outline:0!important}
#course-fees-dialog .inclusion-symbol{font-size:30px;flex:0 0 45px;text-align:center;font-weight:400}
#course-fees-dialog .funding-heart{width:46px;height:46px;float:left;margin:0 15px 12px 0;color:#193c32}
#course-fees-dialog .course-funding-note{border:0;padding:15px 0 0}
/* Shapes follow the destination, rather than an nth-child pattern. */
#students-portal .learning-space-card{isolation:isolate;overflow:visible!important;position:relative;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;min-height:190px;padding:30px 24px!important}
#students-portal .learning-space-card:before{content:'';position:absolute;inset:0;background:#edf0e6;border:1px solid #b8c8ad;z-index:-1;transition:background .2s}
#students-portal .learning-space-card:hover:before{background:#e1e9d5}
#students-portal #portal-tab-exams:before{border-radius:5px 22px 22px 5px;box-shadow:-5px 0 0 #cbd6bd}
#students-portal #portal-tab-material:before{border-radius:6px 22px 22px 6px;box-shadow:inset 8px 0 0 #cbd6bd;background:#faf9f4}
#students-portal #portal-tab-listening:before{border-radius:50% 50% 18% 18%;background:#f1f3e9}
#students-portal #portal-tab-mission:before{border-radius:25px 25px 25px 5px;clip-path:polygon(0 0,100% 0,100% 89%,26% 89%,10% 100%,10% 89%,0 89%)}
#students-portal #portal-tab-mission{padding-bottom:42px!important}
#students-portal #portal-tab-exercises:before{border-radius:20px 5px 20px 5px;background:#faf9f4;border-top:7px solid #b8c8ad}
#students-portal #portal-tab-monthly:before{border-radius:50%;background:#edf0e6}
#students-portal #portal-tab-contact:before{border-radius:30px 30px 5px 30px;clip-path:polygon(0 0,100% 0,100% 100%,80% 87%,0 87%);background:#f1f3e9}
#students-portal #portal-tab-contact{padding-bottom:42px!important}
#students-portal #portal-tab-calendar:before{border-radius:18px;background:#faf9f4;border-top:12px solid #b8c8ad}
#students-portal .learning-space-card-title{position:relative;font-size:16px}
#students-portal .learning-space-card-description{position:relative;font-size:12px}
#admin-dashboard .admin-metrics{display:grid;grid-template-columns:130px 130px minmax(0,1fr);gap:18px;align-items:center;margin:25px 0}
#admin-dashboard .admin-metrics>article{height:130px;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:14px;border-radius:15px;background:#edf0e6;border:1px solid #c2cfb8}
#admin-dashboard .admin-metrics>article:nth-child(2){background:#faf9f4}
#admin-dashboard .admin-metrics>article>span{font-size:10px;line-height:1.4}
#admin-dashboard .admin-metrics>article>strong{font-size:26px;line-height:1;font-weight:500}
#admin-dashboard .admin-metrics .hours-cutoff-note{font-size:8px!important;margin:0;line-height:1.4}
#admin-dashboard .instructor-teaching-quote{position:relative;margin:0;padding:18px 24px;max-width:650px;border:0;background:transparent;min-width:0}
#admin-dashboard .instructor-teaching-quote:before{content:'“';position:absolute;font-family:Georgia,serif!important;font-size:75px;line-height:1;color:#b8c8ad;left:0;top:-3px;z-index:0}
#admin-dashboard .instructor-teaching-quote p{position:relative;font-family:Georgia,'Times New Roman',serif!important;font-style:italic;font-size:clamp(18px,2.1vw,25px);font-weight:400;line-height:1.5;margin:0;color:#193c32}
#instructor-french-button{text-transform:none}
@media(max-width:760px){#vision .vision-purpose-community{grid-template-columns:minmax(0,1fr)}#vision .vision-africa{max-width:210px}#admin-dashboard .admin-metrics{grid-template-columns:110px 110px minmax(0,1fr);gap:12px}#admin-dashboard .admin-metrics>article{height:110px;padding:11px}#admin-dashboard .instructor-teaching-quote{padding:10px 15px}#admin-dashboard .instructor-teaching-quote p{font-size:18px}}
@media(max-width:540px){#how .how-step-number{font-size:25px}#how .how-step h3{font-size:18px}main #vision .vision-heading h2{font-size:28px!important}#vision .vision-need-band{grid-template-columns:minmax(0,1fr) 40px;gap:18px}#vision .vision-need-reflection p{font-size:14px}#students-portal .learning-space-card{min-height:175px;padding:25px 15px!important}#students-portal .learning-space-card-title{font-size:14px}#students-portal .learning-space-card-description{font-size:11px}#admin-dashboard .admin-metrics{grid-template-columns:100px 100px;gap:12px}#admin-dashboard .admin-metrics>article{height:100px;padding:10px;gap:5px}#admin-dashboard .admin-metrics>article>strong{font-size:24px}#admin-dashboard .admin-metrics>article>span{font-size:9px}#admin-dashboard .instructor-teaching-quote{grid-column:1/-1;padding:12px 20px;margin-top:6px}#admin-dashboard .instructor-teaching-quote p{font-size:20px}}
#how .how-step .how-step-number{font-size:30px!important}
#how .how-policy-heading>h3{font-size:16px!important}
#how .how-policy-heading .how-policy-note{font-size:23px!important}
@media(max-width:540px){#how .how-step .how-step-number{font-size:25px!important}#how .how-policy-heading .how-policy-note{font-size:20px!important}}
#vision .vision-purpose{grid-template-columns:minmax(0,1fr)}
#vision .vision-purpose-community{width:100%;min-width:0}

#how .how-learning-art{display:block;width:100%;height:100%;object-fit:cover}
#how .sb-method-illustrated-button{cursor:pointer;outline:none}
#how .sb-method-illustrated-button:hover>rect{fill:#e3f5ba}
#how .sb-method-illustrated-button:focus-visible>rect{stroke:#faf9f4;stroke-width:4}
#sb-method-dialog{max-width:480px}

/* page-flow.css */
/* A consistent starting point just below the site navigation. */
main>[data-view]:not(#home){padding-top:10px!important;margin-top:0!important}
main>[data-view]:not(#home)>:first-child{margin-top:0!important}
main>#page-back-arrow{margin:5px 6% 0;display:inline-flex;vertical-align:top}
.plain-back-arrow{color:#193c32;background:transparent;border:0;box-shadow:none;align-items:center;justify-content:center;width:42px;min-height:36px;padding:3px;text-decoration:none;cursor:pointer}
.plain-back-arrow svg{width:34px;height:25px;transition:transform .18s}
.plain-back-arrow:hover svg{transform:translateX(-3px)}
.plain-back-arrow:focus-visible{outline:2px solid #193c32;outline-offset:3px;border-radius:3px}
#page-back-arrow[hidden]{display:none!important}
body:has(#students-portal.learning-section-open:not([hidden])) #page-back-arrow{display:none!important}
/* The portal already has its own return action; give it the same bare arrow. */
#students-portal #portal-content [data-learning-back]:not([hidden]){display:inline-flex!important;align-items:center;justify-content:center;color:#193c32!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;min-width:42px;min-height:36px;padding:0!important;margin:0 0 5px!important;font-size:31px;font-weight:400;line-height:1}
#students-portal .learning-breadcrumbs{display:none!important}
#learner-profile>a[href="#placement"],#learner-results>a[href="#placement"]{display:none}
#admin-back-dashboard{color:#193c32;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0 8px!important;font-size:0!important;min-width:42px;min-height:36px}
#admin-back-dashboard:before{content:'←';font-size:31px;font-weight:400;line-height:1}
#students-portal #portal-tab-studio:before{border-radius:48% 48% 12px 12px;background:#edf0e6;border:1px solid #b8c8ad;box-shadow:inset 0 -6px 0 #cbd6bd}
#students-portal #portal-tab-studio{padding-top:28px!important}
#portal-studio{position:relative;max-width:760px;min-height:260px;padding:12px 0}
#portal-studio .sb-studio-art{display:block;width:155px;height:130px;margin:0 0 20px;color:#193c32}
#portal-studio h3{font-size:29px;font-weight:500;margin:12px 0}
#portal-studio>p:last-child{font-size:14px;line-height:1.7;color:#53685b}
body.instructor-app main{padding-top:10px}
@media(max-width:680px){main>[data-view]:not(#home){padding-top:8px!important}main>#page-back-arrow{margin-top:3px}#students-portal #portal-content [data-learning-back]:not([hidden]){margin-bottom:4px!important}#portal-studio .sb-studio-art{width:130px;height:110px}}
@media(prefers-reduced-motion:reduce){.plain-back-arrow svg{transition:none}}
#students-portal #portal-tab-studio{display:flex!important}
#students-portal #portal-studio:not([hidden]){display:block!important}

/* january-learning.css */
#courses .course-booking-note{display:flex;align-items:center;gap:14px;width:auto!important;max-width:none!important;flex-wrap:wrap;justify-content:flex-end}
#courses .course-fees-open{flex-shrink:0}
.consultation-open{width:150px;height:150px;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;border-radius:50%;border:1px solid #b8c8ad;background:#faf9f4;color:#193c32;font-size:13px;line-height:1.5}
.consultation-open:hover{background:#edf0e6}
.consultation-composer{max-width:690px}
.consultation-composer h2{font-size:26px}
.composer-row{display:flex;gap:25px;padding:15px 0;border-bottom:1px solid #d7dfcd;font-size:13px;overflow-wrap:anywhere}
.consultation-composer textarea{font:inherit;min-height:175px;resize:vertical;padding:17px;border:1px solid #c2cfb8;background:#fffef9;color:#193c32;border-radius:8px;line-height:1.8}
.consultation-composer input[readonly]{background:transparent}
.consultation-composer input[type=file]{max-width:100%;font-size:12px;padding:8px}
.composer-note,[data-files]{font-size:11px!important;overflow-wrap:anywhere}
#portal-content [data-portal-panel],#daily-mission{display:flow-root}
.section-guide{float:right;width:115px;height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:17px;border:1px solid #b8c8ad;border-radius:50%;background:#edf0e6;color:#193c32;font-size:11px;line-height:1.5;text-align:center;margin:0 0 20px 22px;box-shadow:none}
.section-guide:hover{background:#e1e9d5}
.guide-mark{display:block;font-family:Georgia,serif!important;font-style:italic;font-size:25px;line-height:1}
.section-guide-popup{max-width:560px}.section-guide-popup p{line-height:1.9}
.native-mode-choice{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;font-size:13px!important}
.native-mode-choice input{width:18px!important;height:18px;accent-color:#193c32}
.native-english-form fieldset{border:1px solid #c2cfb8;border-radius:15px;padding:20px;min-width:0}
.native-english-form legend{padding:0 10px;font-size:13px}
.native-english-form select{max-width:100%;text-overflow:ellipsis}
.native-english-form [data-manual]{padding:10px 0}
#portal-monthly .native-listening-part{clear:both}
.monthly-novels{margin:32px 0 15px;padding:25px;border:1px solid #c2cfb8;border-radius:8px 28px 8px 28px;background:#edf0e6;clear:both}
.monthly-novels>p:first-child{font-size:9px;letter-spacing:1.5px}
.monthly-novels h4{font-size:24px;font-weight:500;margin:12px 0}
.monthly-novels h5{font-size:20px;font-weight:500;margin:25px 0 8px}
.monthly-novels>p{font-size:13px;line-height:1.8}
.novel-reader{margin-top:23px;max-width:100%;min-width:0}
.novel-reader canvas{display:block;max-width:100%;height:auto;margin:20px auto 0;background:#fff}
.novel-reader-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}
.novel-reader-controls label{display:flex;align-items:center;gap:7px;font-size:12px}
.novel-reader-controls input{width:75px;padding:8px;border:1px solid #b8c8ad;border-radius:8px;background:#faf9f4;color:#193c32}
.novel-reader>p{font-size:12px;line-height:1.7}
@media(max-width:900px){#courses .course-booking-note{justify-content:flex-start}.consultation-open{width:135px;height:135px}}
@media(max-width:540px){#courses .course-booking-note{width:100%!important;align-self:auto;gap:12px;justify-content:center}.consultation-open{width:135px;height:135px;font-size:12px;padding:22px}.section-guide{width:94px;height:94px;font-size:10px;padding:13px;margin-left:15px}.monthly-novels{padding:18px 14px}.monthly-novels h4{font-size:21px}.novel-reader-controls{gap:7px}.novel-reader-controls input{width:65px}.consultation-composer{padding:26px 20px}}
#portal-studio .studio-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}
.studio-tabs>button{border:1px solid #b8c8ad;border-radius:999px;padding:12px 20px;background:#faf9f4;color:#193c32;font-size:13px}
.studio-tabs>button[aria-selected=true]{background:#193c32;color:#faf9f4}
#portal-studio h4{font-size:24px;line-height:1.4;font-weight:500}
.studio-roleplay dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px 18px;background:#edf0e6;border-radius:8px 26px 8px 26px;padding:24px;line-height:1.7;font-size:13px}
.studio-roleplay dt{font-weight:600}.studio-roleplay dd{margin:0}
.studio-roleplay textarea{width:100%;font:inherit;line-height:1.7;border:1px solid #b8c8ad;border-radius:12px;padding:17px;color:#193c32;background:#faf9f4;resize:vertical;font-size:12px;margin-bottom:16px}
.studio-roleplay>.button,.studio-voice>.button{margin:0 10px 12px 0}
.studio-roleplay>p,.studio-voice>p{font-size:13px;line-height:1.8}
.studio-model-line{font-size:24px;line-height:1.6;font-style:italic;margin:20px 0;padding:24px;background:#edf0e6;border-radius:30px 30px 30px 5px}
.studio-voice label{display:block;font-size:12px;margin:20px 0}
.studio-voice select{display:block;margin-top:8px;max-width:250px;padding:10px;border:1px solid #b8c8ad;border-radius:12px;background:#faf9f4;color:#193c32}
.studio-voice audio{display:block;max-width:100%;margin:15px 0}
@media(max-width:540px){.studio-roleplay dl{grid-template-columns:1fr;gap:4px;padding:18px}.studio-roleplay dd{margin-bottom:12px}#portal-studio h4{font-size:21px}.studio-model-line{font-size:21px;padding:20px}}
.studio-word-comparison{border:1px solid #b8c8ad;border-radius:18px;padding:18px;margin:20px 0;background:#faf9f4}
.studio-word-comparison>button{display:inline-block;margin:3px;padding:5px 8px;border:0;border-radius:8px;color:#193c32;font-size:15px}
.studio-word-comparison .word-heard{background:#d5ed98}
.studio-word-comparison .word-check{background:#edf0e6;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.studio-word-comparison p{font-size:12px;line-height:1.8}
@media(max-width:540px){#courses .course-fees-open,#courses .consultation-open{width:125px;height:125px;min-height:125px;font-size:11px;padding:18px!important}}
#students-portal.learning-section-open .learning-space-toolbar{display:none!important;margin:0!important}
#students-portal [data-learning-back] svg{display:block;width:34px;height:25px}

/* title-spacing.css */
/* Back navigation no longer reserves a blank row above every page. */
main{position:relative}
main>#page-back-arrow{position:absolute;right:6%;left:auto;top:21px;z-index:3;margin:0;min-height:32px;width:36px}
main>#page-back-arrow svg{width:30px;height:22px}
main>[data-view]:not(#home){padding-top:22px!important;margin-top:0!important}
main>[data-view]:not(#home)>:first-child{margin-top:0!important}
main>[data-view]>.eyebrow:first-child{margin-top:0!important;margin-bottom:10px!important}
main>[data-view]>h2:first-child{padding-right:44px;margin-top:0!important}
body:has(#students-portal.portal-session-active:not([hidden])) #page-back-arrow{display:none!important}
#how .how-hero{padding-top:0!important}
#how .how-hero-copy>.eyebrow{margin:0 0 10px!important}
#how .how-hero-copy>h2{margin-top:8px!important}
#vision .vision-heading{margin-top:0!important}
#vision .vision-heading>.eyebrow{margin-top:0!important;margin-bottom:10px!important}
#courses .courses-heading>.eyebrow{margin-top:0!important;margin-bottom:10px!important}
#courses .courses-heading>h2{margin-top:8px!important}
#courses .courses-introduction{align-items:start!important;margin-top:0!important;gap:24px}
#courses .course-booking-note{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:230px!important;max-width:230px!important;padding:28px 0 0!important;margin:0!important}
#courses .course-fees-open{width:210px!important;height:210px!important;min-height:210px!important;border-radius:50%!important;padding:28px!important;font-size:15px!important;line-height:1.6}
#courses .course-fees-open .pricing-circle-art{width:50px;height:50px}
#courses .consultation-open{width:112px!important;height:112px!important;min-height:112px!important;padding:18px!important;font-size:11px!important;line-height:1.5;border-radius:50%!important}
#courses .course-fees-open>span{display:none}
#placement .assessment-options>article{padding-top:0!important}
#placement .assessment-options>article>.eyebrow{margin:0 0 10px!important;padding-right:36px}
#placement .assessment-option-title{margin:0 0 14px!important}
#placement .assessment-visual{margin-top:0!important}
#reviews .reviews-copy{padding-top:0!important}
#reviews .reviews-copy>.eyebrow{margin-top:0!important;margin-bottom:10px!important}
#reviews .reviews-copy>h2{margin:0 0 16px!important}
#reviews .reviews-spark-art{margin:5px 0 15px auto!important}
#quote .upcoming-view-content,#join-team .upcoming-view-content,#join-team .join-sb-content{padding-top:0!important;margin-top:0!important}
#quote .eyebrow,#join-team .eyebrow{margin-top:0!important;margin-bottom:10px!important}
#quote .quote-editorial-title,#join-team .join-editorial-title{margin-top:0!important}
#contact>.eyebrow{margin-top:0!important;margin-bottom:10px!important}
#contact>h2{margin-top:0!important;padding-right:38px}
#daily-quote .motivation-page-heading{padding-right:44px;margin-top:0!important}
@media(max-width:760px){
 #courses .courses-introduction{grid-template-columns:minmax(0,1fr) 160px!important;gap:14px!important}
 #courses .courses-heading h2{font-size:30px!important;letter-spacing:-1px;line-height:1.15!important}
 #courses .courses-heading .courses-subtitle{font-size:12px!important;line-height:1.7}
 #courses .course-booking-note{width:160px!important;max-width:160px!important;padding-top:30px!important;align-self:start!important}
 #courses .course-fees-open{width:160px!important;height:160px!important;min-height:160px!important;padding:22px!important;font-size:12px!important}
 #courses .consultation-open{width:96px!important;height:96px!important;min-height:96px!important;padding:16px!important;font-size:10px!important}
 #courses .course-fees-open .pricing-circle-art{width:38px;height:38px}
 #courses .program-flower{display:none}
 #contact .contact-orbit{position:absolute;right:6%;top:140px;width:90px;margin:0;opacity:.7}
 #contact>.intro{max-width:calc(100% - 85px)}
 #reviews .reviews-copy:before{top:20px}
}
@media(max-width:380px){
 #courses .courses-introduction{grid-template-columns:minmax(0,1fr) 140px!important;gap:10px!important}
 #courses .courses-heading h2{font-size:25px!important}
 #courses .courses-heading .eyebrow{font-size:8px;letter-spacing:1px}
 #courses .course-booking-note{width:140px!important;max-width:140px!important}
 #courses .course-fees-open{width:140px!important;height:140px!important;min-height:140px!important;padding:20px!important;font-size:11px!important}
 #courses .consultation-open{width:86px!important;height:86px!important;min-height:86px!important;padding:13px!important;font-size:9px!important}
}
#reviews .reviews-layout{align-items:start!important}
#how .how-hero{align-items:start!important}
#how .how-hero-copy{align-self:start!important;padding-top:0!important;margin-top:0!important}
#courses .courses-introduction{display:grid!important}
@media(max-width:760px){#courses .courses-heading{padding-right:0!important;min-width:0}#courses .courses-subtitle br{display:none}}
#admin-portal .admin-dashboard-heading,#portal-content .learning-space-heading{margin-top:0!important;padding-top:0!important}
#admin-dashboard .admin-dashboard-heading>h3,#portal-content .learning-space-heading>.eyebrow{margin-top:0!important}

#courses .course-booking-note .consultation-open{position:static!important;transform:none!important;align-self:center!important;margin:0!important;flex-shrink:0}
#courses .course-booking-note .course-fees-open{margin:0!important;flex-shrink:0}

/* portal-squares.css */
#students-portal .learning-space-destinations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;width:100%;max-width:none}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(n){display:flex!important;position:relative;flex-direction:column;align-items:flex-start;justify-content:center;aspect-ratio:1;min-height:0!important;height:auto;width:100%;min-width:0;padding:20px!important;gap:10px;border:1px solid #c2cfb8!important;border-radius:10px!important;background:#edf0e6!important;box-shadow:none!important;clip-path:none!important;overflow:visible!important;text-align:left}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(even){background:#faf9f4!important}
#students-portal .learning-space-destinations>.learning-space-card:before,#students-portal .learning-space-destinations>.learning-space-card:after{display:none!important;content:none!important}
#students-portal .learning-space-destinations>.learning-space-card:hover{background:#e1e9d5!important;border-color:#193c32!important}
#students-portal .learning-space-card>svg[data-card-glyph]{display:block;width:39px!important;height:39px!important;flex-shrink:0;color:#193c32;margin:0 0 6px}
#students-portal .learning-space-card-title{font-size:16px!important;line-height:1.4;font-weight:600}
#students-portal .learning-space-card-description{font-size:11px!important;line-height:1.6}
#students-portal #portal-tab-accent{display:flex!important}
#students-portal #portal-accent:not([hidden]){display:flow-root!important;min-height:200px}
#portal-accent h3{font-size:29px;font-weight:500;margin:12px 0}
#portal-accent>p{font-size:14px;line-height:1.7}
@media(max-width:1050px) and (min-width:901px){#students-portal .learning-space-destinations>.learning-space-card:nth-child(n){padding:15px!important;gap:8px}#students-portal .learning-space-card-title{font-size:14px!important}#students-portal .learning-space-card-description{font-size:10px!important}}
@media(max-width:900px){#students-portal .learning-space-destinations{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}}
@media(max-width:540px){#students-portal .learning-space-destinations>.learning-space-card:nth-child(n){padding:17px 14px!important;gap:8px}#students-portal .learning-space-card-title{font-size:14px!important}#students-portal .learning-space-card-description{font-size:10px!important}#students-portal .learning-space-card>svg[data-card-glyph]{width:32px!important;height:32px!important;margin-bottom:4px}}

#students-portal .learning-space-destinations>.learning-space-card:nth-child(n){justify-content:center!important;align-items:flex-start!important;flex-direction:column!important;text-align:left!important}
#students-portal .learning-space-destinations>.learning-space-card>svg[data-card-glyph]{position:static!important;align-self:flex-start!important;transform:none!important;margin:0 0 6px!important}

#students-portal .learning-space-destinations>.learning-space-card>svg[data-card-glyph]{width:62px!important;height:57px!important;margin:0 0 8px!important}
@media(max-width:760px){
 #students-portal .learning-space-destinations>.learning-space-card:nth-child(n){aspect-ratio:auto!important;min-height:184px!important;padding:18px 14px!important;gap:9px!important}
 #students-portal .learning-space-destinations>.learning-space-card>svg[data-card-glyph]{width:52px!important;height:48px!important;margin:0 0 5px!important}
 #students-portal .learning-space-card-title{font-size:14px!important;line-height:1.4!important}
 #students-portal .learning-space-card-description{display:block!important;font-size:11px!important;line-height:1.65!important}
}
/* Playful outlines, with a consistent grid and room for the illustrations. */
#students-portal .learning-space-destinations>.learning-space-card:nth-child(n){border-color:#b8c8ad!important;box-shadow:0 5px 14px #193c3207!important;transition:box-shadow .18s,border-color .18s,background .18s}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(1){border-radius:30px 30px 30px 8px!important}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(2){border-radius:8px 30px 30px 8px!important}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(3){border-radius:46px 22px 46px 22px!important}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(4){border-radius:48px 48px 22px 22px!important}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(5){border-radius:8px 28px 28px 8px!important}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(6){border-radius:26px 26px 14px 14px!important}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(7){border-radius:14px 14px 32px 32px!important}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(8){border-radius:30px 30px 8px 30px!important}
#students-portal .learning-space-destinations>.learning-space-card:hover{box-shadow:0 7px 18px #193c3210!important}
@media(max-width:760px){#students-portal .learning-space-destinations>.learning-space-card:nth-child(n){min-height:196px!important}}
#students-portal #portal-content .learning-space-card:nth-child(1):after,#students-portal #portal-content .learning-space-card:nth-child(8):after{content:''!important;display:block!important;position:absolute;top:auto;right:auto;left:24px;bottom:-5px;width:10px;height:10px;background:inherit!important;border:0;border-right:1px solid #b8c8ad;border-bottom:1px solid #b8c8ad;transform:rotate(45deg);z-index:1}
#students-portal #portal-content .learning-space-card:nth-child(8):after{left:auto;right:24px}
#students-portal .learning-space-destinations>.learning-space-card:nth-child(2),#students-portal .learning-space-destinations>.learning-space-card:nth-child(5){border-left-width:3px!important}

/* Contact and calendar first; free learning sections stacked at the end. */
@media(min-width:901px){
 #students-portal .learning-space-card:nth-child(1){grid-column:1;grid-row:1}#students-portal .learning-space-card:nth-child(2){grid-column:1;grid-row:2}
 #students-portal .learning-space-card:nth-child(3){grid-column:2;grid-row:1}#students-portal .learning-space-card:nth-child(4){grid-column:3;grid-row:1}
 #students-portal .learning-space-card:nth-child(5){grid-column:2;grid-row:2}#students-portal .learning-space-card:nth-child(6){grid-column:3;grid-row:2}
 #students-portal .learning-space-card:nth-child(7){grid-column:4;grid-row:1}#students-portal .learning-space-card:nth-child(8){grid-column:4;grid-row:2}
}
#students-portal .learning-space-card .hub-free-badge{position:absolute;top:15px;right:15px;display:inline-flex;align-items:center;border:1px solid #bdcbb1;border-radius:999px;padding:4px 9px;background:#d5ed98;color:#193c32;font-size:10px;font-weight:600;line-height:1.3}
@media(max-width:900px){
 #students-portal .learning-space-destinations>.learning-space-card:nth-child(1),#students-portal .learning-space-destinations>.learning-space-card:nth-child(2),#students-portal .learning-space-destinations>.learning-space-card:nth-child(7),#students-portal .learning-space-destinations>.learning-space-card:nth-child(8){grid-column:1/-1;min-height:140px!important;aspect-ratio:auto!important;padding-right:70px!important}
}

/* phone-polish.css */
/* Back means left, on every screen. */
main>#page-back-arrow{left:2%;right:auto;width:28px}
#daily-quote .motivation-page-heading{font-size:clamp(22px,2.5vw,30px)!important;line-height:1.4!important;font-weight:500!important;letter-spacing:-.3px!important;text-transform:none!important}
.teacher-voice-note{display:flex;align-items:center;gap:15px;padding:16px 18px;margin:22px 0 0;border:1px solid #c2cfb8;border-radius:24px 24px 24px 5px;background:#edf0e6;color:#193c32;transform:rotate(-1deg)}
.teacher-voice-note svg{width:76px;height:90px;flex:none}.teacher-voice-note p{margin:0!important;font-size:16px!important;line-height:1.5!important}.teacher-voice-note em{display:block;font-size:21px;font-weight:600}
@media(max-width:760px){
 main>#page-back-arrow{left:0;width:17px}main>#page-back-arrow svg{width:17px}
 body{overflow-x:clip}main{min-width:0}
 .instructor-app .app-header{padding:12px 16px;gap:10px;flex-wrap:nowrap}.instructor-app .app-header>div{min-width:0;flex:1}.instructor-app .app-header strong{font-size:17px}.instructor-app .app-header img{width:32px;height:32px}.instructor-app .app-header .button,.instructor-app .app-portals-link{padding:9px 12px;font-size:12px;min-height:40px}
 #admin-dashboard .instructor-tool-cards{gap:12px;align-items:start}
 #admin-dashboard .instructor-tool-cards>details>summary,#admin-dashboard .instructor-review-card{min-height:132px!important;padding:17px!important;font-size:13px!important;border-radius:20px!important;line-height:1.45!important}
 #admin-dashboard .instructor-tool-cards>details[open]{grid-column:1/-1}
 #admin-dashboard .instructor-tool-cards>details[open]>summary{min-height:64px!important}
 #admin-dashboard .instructor-tool-cards .panel-symbol svg,#admin-dashboard .instructor-review-card>svg{width:28px!important;height:28px!important}
 .admin-dashboard-heading{gap:12px!important}.admin-dashboard-heading>h3{font-size:25px!important;line-height:1.25!important}
 .instructor-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.instructor-shortcuts>.button{flex:1;min-width:100px;font-size:13px}
 .calendar-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.calendar-toolbar>*{max-width:100%;min-width:0}.calendar-toolbar button{min-height:40px;font-size:12px;padding:8px 12px}
 .admin-client-form{grid-template-columns:1fr!important}.admin-client-form label{min-width:0}
 .admin-detail input:not([type=checkbox]):not([type=radio]),.admin-detail select,.admin-detail textarea{font-size:16px!important;width:100%;box-sizing:border-box}
 .instructor-app .app-nav{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}.instructor-app .app-nav button{min-height:44px;font-size:12px}
 #students-portal .learning-space-destinations>.learning-space-card:nth-child(n){align-items:flex-start!important;text-align:left!important;padding:16px!important}
 #students-portal .learning-space-card-title{font-size:15px!important}.learning-space-heading h3{font-size:28px!important;line-height:1.25!important}
 #daily-quote .motivation-page-heading{font-size:23px!important;max-width:100%}
 .teacher-voice-note{gap:10px;padding:13px}.teacher-voice-note svg{width:58px;height:76px}.teacher-voice-note em{font-size:19px}
}

@media(max-width:760px){
 .motivation-freeze-body{padding:0 16px 18px;min-width:0}.motivation-freeze-body .detail-actions{display:grid;grid-template-columns:1fr;gap:10px}.motivation-freeze-body button{width:100%;min-height:44px;white-space:normal}
 #admin-dashboard .instructor-tool-cards>details[open]>*:not(summary){width:auto!important;max-width:100%!important;margin-left:0;margin-right:0;box-sizing:border-box}
 #admin-dashboard .instructor-tool-cards>details[open]{overflow:visible}
 .admin-metrics{gap:10px!important}.admin-metrics>article{padding:14px!important;min-width:0!important}.admin-metrics strong{font-size:26px!important}.instructor-teaching-quote{font-size:19px!important;line-height:1.5!important;margin:12px 0 22px!important}
 .admin-clients-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-clients-heading h4{flex:1;min-width:130px}.admin-client-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-client-actions button{min-height:40px}
 #admin-calendar .calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center}
 #admin-calendar .calendar-toolbar h4{min-width:0!important;font-size:17px!important;text-align:center;margin:0!important}
 #admin-calendar .calendar-view-switch,#admin-calendar .calendar-jump-label{grid-column:1/-1;width:100%;box-sizing:border-box}
 #admin-calendar .calendar-view-switch{display:flex;justify-content:space-between}#admin-calendar .calendar-view-switch button{flex:1;min-height:40px}
 #admin-calendar .calendar-toolbar>button{min-width:0;padding:8px!important}
 .calendar-day{min-width:0}.calendar-session,.calendar-slot{max-width:100%;overflow-wrap:anywhere;white-space:normal}
 dialog.action-popup{width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;box-sizing:border-box;padding:24px 18px!important;margin:auto;max-height:calc(100dvh - 36px);overflow-y:auto}
 dialog.action-popup h2{font-size:23px!important;line-height:1.35!important;padding-right:26px}
 .client-authorization-actions{display:grid;grid-template-columns:1fr;gap:10px}.client-authorization-actions button{width:100%;min-height:44px;white-space:normal}
 .confirmation-session-details{display:grid;grid-template-columns:1fr!important;gap:5px;margin:18px 0}.confirmation-session-details dd{margin:0 0 10px;overflow-wrap:anywhere}
 #client-authorization-name{overflow-wrap:anywhere;font-size:14px;line-height:1.6}
 #portal-content .portal-panel:not([hidden]){min-width:0;max-width:100%}#portal-content .portal-panel iframe,#portal-content .portal-panel canvas{max-width:100%}
}

/* Phone navigation uses a deliberate horizontal swipe instead of back arrows. */
@media(max-width:760px){main>#page-back-arrow,#students-portal #portal-content [data-learning-back]:not([hidden]),.plain-back-arrow{display:none!important}}
@media(max-width:680px){
 main #home .home-picture-and-reviews .coaching-photo img{height:86%!important;max-height:none!important;object-fit:cover!important;object-position:64% center!important;transform:none!important;top:0;bottom:auto}
}

/* A small, consistent breath before each page heading. */
main>[data-view]:not(#home){padding-top:30px!important}
@media(max-width:760px){
 main>[data-view]:not(#home){padding-top:28px!important;padding-left:6%!important;padding-right:6%!important}
 main>[data-view]>.eyebrow:first-child{margin-bottom:12px!important}
 #how .how-hero-copy>h2,#courses .courses-heading>h2{line-height:1.2!important}
 #how .how-guide{gap:18px!important}.how-step>p{line-height:1.8!important}
 #students-portal .learning-space-heading{margin-bottom:24px!important}
 #students-portal .learning-space-heading>p:last-child{font-size:14px!important;line-height:1.7!important}
 #students-portal .learning-space-destinations{gap:14px!important}
}
#portal-content .learning-space-heading{position:relative;padding-right:60px}
#portal-content .dashboard-help-circle{position:absolute;right:0;top:0;display:grid;place-items:center;width:48px;height:48px;min-height:48px;border:1px solid #bdcbb1;border-radius:50%;background:#edf0e6;color:#193c32;font-family:inherit;font-size:21px;font-weight:500;cursor:pointer}
.dashboard-guide-popup dl{margin:20px 0 0}.dashboard-guide-popup dt{font-size:15px;font-weight:600;margin:20px 0 5px}.dashboard-guide-popup dd{margin:0;font-size:14px;line-height:1.8;color:#53685b}
#daily-mission>.daily-idiom{padding:0!important;border:0!important;background:transparent!important;min-height:0!important;border-radius:0!important;width:100%;max-width:245px;margin:0!important;grid-column:2;grid-row:1 / span 5}
#daily-mission>.daily-idiom>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:144px;height:144px;padding:16px;box-sizing:border-box;margin:0 auto 16px;border:1px solid #bdcbb1;border-radius:50%;background:#edf0e6;list-style:none;font-size:14px!important;text-align:center;line-height:1.5}
#daily-mission>.daily-idiom>summary::-webkit-details-marker{display:none}
#daily-mission>.daily-idiom>summary .idiom-symbol{margin:0!important}
#daily-mission>.daily-idiom>summary svg{margin:0!important;width:34px;height:34px}
#daily-mission>.daily-idiom[open]{padding-bottom:16px!important}
#daily-mission>.daily-idiom>h4{padding:16px 16px 0;margin:0!important;border-top:1px solid #c2cfb8}
#daily-mission>.daily-idiom>p{padding:0 16px;margin:12px 0!important}
@media(max-width:760px){
 #portal-content .dashboard-help-circle{width:44px;height:44px;min-height:44px;font-size:19px}
 #daily-mission:not([hidden]){display:flex!important;flex-direction:column;align-items:stretch;gap:0}
 #daily-mission>h3{order:0}
 #daily-mission>.daily-idiom{order:1;align-self:flex-end;width:100%;max-width:100%;margin:0 0 14px!important}
 #daily-mission>.daily-idiom>summary{width:112px;height:112px;margin:0 0 0 auto;padding:13px;font-size:12px!important;gap:6px}
 #daily-mission>.daily-idiom>summary svg{width:27px;height:27px}
 #daily-mission>.daily-task-intro{order:2}
 #daily-mission>*:not(h3):not(.daily-idiom):not(.daily-task-intro){order:3;width:100%}
}
@media(min-width:761px){
 #students-portal #daily-mission:not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr) 220px!important;column-gap:28px;align-items:start}
 #students-portal #daily-mission>*{grid-column:1;min-width:0}
 #students-portal #daily-mission>.daily-idiom{grid-column:2!important;grid-row:1 / span 5!important;align-self:start;width:100%;max-width:220px}
 #students-portal #daily-mission>h3{grid-row:1}
}

/* Hidden portal panels must stay hidden, regardless of their internal layout. */
#students-portal #portal-content [data-portal-panel][hidden]{display:none!important}


/* reviews-layout.css */
#reviews .reviews-album-area:before,#reviews .reviews-album-area:after,#reviews .reviews-copy:before,#reviews .reviews-copy:after{content:none!important;display:none!important}
#reviews .reviews-spark-art{display:none!important}
#reviews .reviews-copy{padding:0!important}
#reviews .review-album{display:grid!important;grid-template-columns:40px minmax(0,1fr) 40px!important;gap:10px!important;align-items:center!important;width:100%!important;max-width:650px!important;margin:0 auto!important}
#reviews #review-previous{grid-column:1;grid-row:1}
#reviews #review-cards{grid-column:2;grid-row:1;min-width:0}
#reviews #review-next{grid-column:3;grid-row:1}
#reviews #review-position{grid-column:1/-1;grid-row:2;margin:6px 0 0}
#reviews .review-arrow{display:grid!important;place-items:center!important;padding:0!important;width:40px!important;height:40px!important;min-height:40px!important;border:1px solid #c2cfb8!important;background:#edf0e6!important;color:#193c32!important;font-size:27px!important;line-height:1!important;border-radius:50%!important;align-self:center!important;position:static!important;transform:none!important}
#reviews .review-card{box-sizing:border-box!important;background:#faf9f4!important;border:1px solid #c2cfb8!important;border-radius:24px!important;padding:25px!important;overflow:hidden!important}
#reviews .review-card:before,#reviews .review-card:after{display:none!important;content:none!important}
#reviews .review-card-content{box-sizing:border-box!important;max-width:100%;height:100%;overflow-y:auto!important;overflow-x:hidden!important;overflow-wrap:anywhere;word-break:normal}
#reviews .review-card h3{font-size:17px!important;line-height:1.4!important;margin:0 0 8px!important}
#reviews .review-card-details{font-size:12px!important;line-height:1.6!important}
#reviews .review-card blockquote{font-size:17px!important;line-height:1.75!important;margin:18px 0 0!important;max-width:100%;overflow-wrap:anywhere}
@media(max-width:680px){
 #reviews .reviews-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
 #reviews .reviews-copy>h2{font-size:32px!important;margin:0 0 14px!important}
 #reviews .review-intro{margin:0;max-width:none;font-size:14px}
 #reviews #review-open{margin-top:16px!important}
 #reviews .reviews-album-area{padding:0!important;min-width:0}
 #reviews .review-album{grid-template-columns:32px minmax(0,1fr) 32px!important;gap:6px!important}
 #reviews .review-arrow{width:32px!important;height:44px!important;min-height:44px!important;font-size:25px!important}
 #reviews .review-cards{display:flex!important;height:360px!important;min-height:0!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scrollbar-width:none}
 #reviews .review-cards::-webkit-scrollbar{display:none}
 #reviews .review-card,#reviews .review-card.is-selected,#reviews .review-card.is-previous,#reviews .review-card.is-next{position:relative!important;top:auto!important;left:auto!important;flex:0 0 100%!important;width:100%!important;min-width:0!important;height:360px!important;max-height:none!important;padding:20px 16px!important;transform:none!important;filter:none!important;opacity:1!important;animation:none!important;scroll-snap-align:start}
 #reviews .review-card blockquote{font-size:15px!important;line-height:1.7!important}
}

/* contact-faq.css */
#contact .contact-faq{width:100%;max-width:820px;margin:28px 0 35px;border:1px solid #c2cfb8;border-radius:24px;background:#faf9f4;color:#193c32;overflow:hidden}
#contact .contact-faq>summary{padding:18px 22px;font-size:18px;background:#edf0e6}
#contact .contact-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;font-weight:500;line-height:1.5}
#contact .contact-faq summary::-webkit-details-marker{display:none}
#contact .contact-faq summary:focus-visible{outline:2px solid #193c32;outline-offset:-4px;border-radius:8px}
#contact .faq-symbol{width:24px;height:24px;flex:none;position:relative}
#contact .faq-symbol:before,#contact .faq-symbol:after{content:'';position:absolute;left:5px;top:11px;width:14px;height:2px;background:#193c32}
#contact .faq-symbol:after{transform:rotate(90deg)}
#contact details[open]>summary>.faq-symbol:after{display:none}
#contact .contact-faq-questions{padding:0 22px}
#contact .contact-faq-item{border-bottom:1px solid #dce2d4}
#contact .contact-faq-item:last-child{border-bottom:0}
#contact .contact-faq-item>summary{font-size:15px;padding:18px 0;min-height:44px}
#contact .contact-faq-item>p{font-size:14px;line-height:1.85;margin:0;padding:0 35px 20px 0;max-width:680px}
@media(max-width:680px){#contact .contact-faq{margin-top:24px;border-radius:18px}#contact .contact-faq>summary{padding:16px 18px;font-size:17px}#contact .contact-faq-questions{padding:0 18px}#contact .contact-faq-item>summary{font-size:14px;gap:12px}#contact .contact-faq-item>p{font-size:14px;padding-right:0}}

/* heading-rhythm.css */
/* Small title, breathing room, then the main heading. */
main>[data-view]:not(#home){padding-top:68px!important}
#how .how-hero-copy>.eyebrow,#vision .vision-heading>.eyebrow,#courses .courses-heading>.eyebrow,#reviews .reviews-copy>.eyebrow,#quote .eyebrow,#join-team .eyebrow,#contact>.eyebrow,#placement .assessment-options>article>.eyebrow,#portal-content .learning-space-heading>.eyebrow{margin:0 0 22px!important;line-height:1.6!important}
#how .how-hero-copy>h2,#vision .vision-heading>h2,#courses .courses-heading>h2,#reviews .reviews-copy>h2,#contact>h2,#quote .quote-editorial-title,#join-team .join-editorial-title{margin-top:0!important}
#portal-content .learning-space-heading>h3{margin-top:0!important}
#students-portal:has(#daily-mission:not([hidden])){padding-top:56px!important}
#courses .course-booking-note{gap:12px!important}
#courses .course-fees-open{width:190px!important;height:190px!important;min-height:190px!important;padding:25px!important;font-size:14px!important}
#courses .consultation-open{width:164px!important;height:164px!important;min-height:164px!important;padding:25px!important;font-size:13px!important}
#courses .course-booking-note .course-fees-open,#courses .course-booking-note .consultation-open{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;transform:translateY(0)!important}
@media(hover:hover) and (pointer:fine){
 #courses .course-booking-note .course-fees-open:hover,#courses .course-booking-note .consultation-open:hover{transform:translateY(-5px) rotate(-2deg)!important;box-shadow:0 9px 20px #193c3218}
}
#courses .course-booking-note .course-fees-open:focus-visible,#courses .course-booking-note .consultation-open:focus-visible{outline:2px solid #193c32;outline-offset:5px}
@media(max-width:760px){
 main>[data-view]:not(#home){padding-top:56px!important}
 #how .how-hero-copy>.eyebrow,#vision .vision-heading>.eyebrow,#courses .courses-heading>.eyebrow,#reviews .reviews-copy>.eyebrow,#quote .eyebrow,#join-team .eyebrow,#contact>.eyebrow,#placement .assessment-options>article>.eyebrow,#portal-content .learning-space-heading>.eyebrow{margin-bottom:18px!important}
 #courses .course-fees-open{width:160px!important;height:160px!important;min-height:160px!important;padding:23px!important;font-size:12px!important}
 #courses .consultation-open{width:138px!important;height:138px!important;min-height:138px!important;padding:22px!important;font-size:12px!important}
 #courses .course-booking-note{gap:11px!important}
}
@media(max-width:380px){
 #courses .course-fees-open{width:140px!important;height:140px!important;min-height:140px!important;padding:19px!important;font-size:11px!important}
 #courses .consultation-open{width:122px!important;height:122px!important;min-height:122px!important;padding:19px!important;font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){#courses .course-booking-note .course-fees-open,#courses .course-booking-note .consultation-open{transition:none!important;transform:none!important}}


/* portal-level-pages.css */
#portal-content .portal-level-menu{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;max-width:950px;margin:28px 0}
#portal-content .portal-level-button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:90px;padding:20px;border:1px solid #c2cfb8;border-radius:22px 22px 22px 6px;background:#edf0e6;color:#193c32;font-family:inherit;font-size:17px;font-weight:500;line-height:1.5}
#portal-content .portal-level-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
#portal-content .portal-level-button:not(:disabled){cursor:pointer}
#portal-content .portal-level-button:not(:disabled):hover{background:#e1e9d5;border-color:#193c32}
#portal-content .portal-level-menu[hidden]{display:none!important}
#portal-contact .student-contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:start;margin:26px 0}
#portal-contact .student-contact-faq,#portal-contact .student-contact-composer{padding:25px;border:1px solid #c2cfb8;border-radius:24px;background:#faf9f4;min-width:0}
#portal-contact h4{font-size:21px;font-weight:500;line-height:1.4;margin:0 0 16px}
#portal-contact h5{font-size:14px;font-weight:600;margin:24px 0 8px}
#portal-contact .student-contact-faq details{border-bottom:1px solid #dce2d4}
#portal-contact .student-contact-faq summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;font-size:14px;font-weight:500;line-height:1.7;padding:14px 0}
#portal-contact .student-contact-faq summary::-webkit-details-marker{display:none}
#portal-contact .student-contact-faq details>p{font-size:14px;line-height:1.8;margin:0 0 18px}
#portal-contact .faq-plus{width:18px;height:18px;position:relative;flex:none}
#portal-contact .faq-plus:before,#portal-contact .faq-plus:after{content:'';position:absolute;left:2px;top:8px;width:14px;height:1.5px;background:#193c32}
#portal-contact .faq-plus:after{transform:rotate(90deg)}
#portal-contact details[open] .faq-plus:after{display:none}
#portal-contact .student-contact-composer>p{font-size:14px;line-height:1.8;margin-bottom:22px}
#portal-contact .student-contact-form{display:grid;grid-template-columns:1fr;gap:18px}
#portal-contact .student-contact-form label{display:grid;gap:8px;font-size:14px;min-width:0}
#portal-contact .student-contact-form input,#portal-contact .student-contact-form select,#portal-contact .student-contact-form textarea{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #bdcbb1;border-radius:12px;background:#fffef9;color:#193c32;font-family:inherit;font-size:16px}
#portal-contact .student-contact-form textarea{resize:vertical;min-height:160px}
#portal-contact .student-contact-form button{justify-self:start;min-height:44px}
@media(max-width:760px){#portal-content .portal-level-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:22px 0}#portal-content .portal-level-button{font-size:16px;min-height:82px;padding:16px}#portal-contact .student-contact-layout{grid-template-columns:minmax(0,1fr);gap:20px}#portal-contact .student-contact-faq,#portal-contact .student-contact-composer{padding:20px 18px}#portal-contact h4{font-size:20px}}
.hub-password-popup form{display:grid;gap:18px}.hub-password-popup label{display:grid;gap:9px}.hub-password-popup input{font:inherit;font-size:22px;letter-spacing:8px;width:100%;box-sizing:border-box;padding:14px;border:1px solid #c2cfb8;border-radius:12px;background:#fffef9;color:#193c32}.hub-password-popup p{line-height:1.8}
.hub-owner-controls{padding:0 20px 20px}.hub-owner-controls>p{font-size:13px;line-height:1.8}.hub-owner-controls [data-settings]>details{margin-top:18px;border:1px solid #c2cfb8;border-radius:16px;padding:14px}.hub-owner-controls summary{cursor:pointer;font-size:15px;font-weight:500;padding:5px 0}
.hub-owner-row{display:grid;grid-template-columns:90px 70px minmax(90px,1fr) auto;gap:12px;align-items:center;padding:18px 0;border-bottom:1px solid #dce2d4;min-width:0}.hub-owner-row:last-child{border:0}.hub-owner-row>strong{font-size:13px}.hub-owner-row label{display:flex;align-items:center;gap:7px;font-size:12px;min-width:0}.hub-owner-row input:not([type=checkbox]),.hub-owner-row select{font:inherit;min-width:0;width:100%;box-sizing:border-box;padding:10px;border:1px solid #c2cfb8;border-radius:10px;background:#fffef9;color:#193c32}.hub-owner-row [name=password]{max-width:105px;letter-spacing:3px;font-size:16px!important}.hub-owner-row [name=mode]{max-width:210px}.hub-owner-row>p,.hub-owner-row>small{grid-column:1/-1;font-size:12px;line-height:1.6;margin:0}
.sb-studio-coming{position:relative;min-height:370px;display:grid;place-items:center;margin:28px 0;padding:36px 22px;box-sizing:border-box;border:1px solid #c2cfb8;border-radius:35px 35px 10px 35px;background:#edf0e6;overflow:hidden}.sb-studio-preview{position:absolute;inset:20px;opacity:.18;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;pointer-events:none}.sb-studio-preview span{border:1px solid #193c32;padding:20px;border-radius:24px;font-size:15px}.sb-studio-announcement{text-align:center;position:relative;color:#193c32}.sb-studio-announcement svg{width:115px;height:135px;display:block;margin:0 auto 18px}.sb-studio-announcement strong{display:block;font-size:30px;font-weight:500;letter-spacing:-.5px}.sb-studio-announcement p{font-size:14px;line-height:1.8;margin:10px 0 0}
@media(max-width:760px){.hub-owner-row{grid-template-columns:1fr 1fr;gap:12px}.hub-owner-row label{flex-wrap:wrap}.hub-owner-row>strong{grid-column:1}.hub-owner-row>button{justify-self:start}.hub-owner-controls{padding:0 14px 18px}.sb-studio-coming{min-height:330px;padding:28px 16px}.sb-studio-preview span{font-size:12px;padding:12px}.sb-studio-announcement strong{font-size:27px}}
#students-portal .learning-space-card.portal-feature-closed{opacity:.45}

/* balanced-details.css */
/* Equal overview tiles, with a separate, readable teaching reflection. */
#admin-dashboard .admin-metrics{align-items:stretch!important}
#admin-dashboard .admin-metrics>article{width:130px!important;height:130px!important;min-height:130px!important;box-sizing:border-box!important;align-self:start!important;display:grid!important;grid-template-rows:32px 32px 22px!important;gap:5px!important;justify-content:stretch!important;padding:14px!important}
#admin-dashboard .admin-metrics>article>span{line-height:1.4!important;margin:0!important;align-self:start}
#admin-dashboard .admin-metrics>article>strong{line-height:1!important;margin:0!important;align-self:center}
#admin-dashboard .instructor-teaching-quote{quotes:none;padding:12px 20px!important}
#admin-dashboard .instructor-teaching-quote:before,#admin-dashboard .instructor-teaching-quote:after{content:none!important;display:none!important}
#admin-dashboard .instructor-teaching-quote p:before,#admin-dashboard .instructor-teaching-quote p:after{content:none!important}
/* The same balanced review outline on every screen. */
#reviews .review-cards{position:relative!important;height:360px!important;min-height:360px!important;overflow:hidden!important}
#reviews .review-card{border-radius:28px 28px 28px 8px!important;transform:none!important;filter:none!important;animation:none!important}
@media(min-width:681px){
 #reviews .review-card{display:none!important}
 #reviews .review-card.is-selected{display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:360px!important;max-height:none!important;opacity:1!important;margin:0!important}
}
@media(max-width:760px){
 #admin-dashboard .admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:420px!important}
 #admin-dashboard .admin-metrics>article{width:100%!important;height:auto!important;min-height:130px!important;aspect-ratio:1!important;padding:14px!important;grid-template-rows:36px 32px 24px!important;align-content:center!important}
 #admin-dashboard .instructor-teaching-quote{grid-column:1/-1!important;margin:4px 0 14px!important;padding:12px 4px!important}
 #admin-dashboard .instructor-teaching-quote p{font-size:19px!important;line-height:1.55!important}
 #reviews .review-cards{overflow-x:auto!important}
 #reviews .review-arrow{height:32px!important;min-height:32px!important}
}

/* Keep both assessment introductions clear of their top border. */
main #placement .assessment-options>article{padding-top:30px!important}
main #placement .assessment-options>article>.eyebrow{margin-top:0!important;margin-bottom:22px!important;line-height:1.6!important}
main #assessment>.eyebrow,main #learner-profile>.eyebrow{padding-top:24px!important;margin-bottom:22px!important}
#daily-quote .motivation-sharing:before,#daily-quote .motivation-sharing:after{content:none!important;display:none!important}
@media(max-width:760px){main #placement .assessment-options>article{padding-top:26px!important}main #assessment>.eyebrow,main #learner-profile>.eyebrow{padding-top:22px!important}}

/* october21-polish.css */
/* Final responsive layout rules; brand colours remain unchanged. */
#portal-monthly .section-guide{position:static!important;float:none!important;display:flex!important;width:fit-content!important;max-width:100%!important;margin:18px 0 22px!important;transform:none!important}
#portal-monthly>h3,#portal-monthly>p{padding-right:0!important;max-width:100%}
#portal-monthly .monthly-learning-feature{min-width:0;max-width:100%;padding:22px!important}
#portal-monthly .monthly-learning-feature>.button,#portal-monthly .monthly-novels>.button{position:static!important;inset:auto!important;transform:none!important;display:inline-flex!important;width:fit-content!important;max-width:100%!important;white-space:normal!important;text-align:center;box-sizing:border-box;line-height:1.5!important;margin:18px 0!important}
#portal-monthly .native-listening-part,#portal-monthly .monthly-novels{min-width:0;overflow-wrap:anywhere}
#reviews .review-cards{height:410px!important;min-height:410px!important;overflow:hidden!important;position:relative!important}
#reviews .review-card{display:block!important;box-sizing:border-box!important;width:min(430px,88%)!important;height:360px!important;max-height:none!important;background:#193c32!important;border:1px solid #193c32!important;border-radius:32px 32px 32px 8px!important;padding:28px!important;overflow:hidden!important;position:absolute!important;left:50%!important;top:50%!important;margin:0!important;animation:none!important}
#reviews .review-card.is-selected{z-index:3;transform:translate(-50%,-50%) scale(1)!important;opacity:1!important;filter:none!important}
#reviews .review-card.is-previous{z-index:1;transform:translate(-63%,-50%) scale(.88)!important;opacity:.25!important;filter:none!important;pointer-events:none}
#reviews .review-card.is-next{z-index:1;transform:translate(-37%,-50%) scale(.88)!important;opacity:.25!important;filter:none!important;pointer-events:none}
#reviews .review-card-content{height:100%!important;max-height:100%!important;min-width:0;overflow-y:auto!important;overflow-x:hidden!important;overflow-wrap:anywhere;box-sizing:border-box;padding-right:4px;scrollbar-width:thin;scrollbar-color:#b7cda1 #193c32}
#reviews .review-card h3,#reviews .review-card p,#reviews .review-card blockquote{color:#faf9f4!important;max-width:100%;overflow-wrap:anywhere}
#reviews .review-card blockquote{font-size:17px!important;line-height:1.8!important;margin:18px 0 0!important}
#reviews .review-card-details{font-size:12px!important;line-height:1.7!important}
@media(prefers-reduced-motion:no-preference){
 #reviews .review-card{transition:transform .35s ease,opacity .35s ease!important}
 #reviews .review-card.is-selected.review-enter-next{animation:sb-review-enter .3s ease both!important}
 #reviews .review-card.is-selected.review-enter-previous{animation:sb-review-enter .3s ease both!important}
 @keyframes sb-review-enter{from{opacity:.4}to{opacity:1}}
}
#students-portal #portal-studio.studio-open{display:block;max-width:none!important;width:100%!important;box-sizing:border-box;border:0!important;background:transparent!important;padding:14px 0!important}
#students-portal #portal-studio.studio-open[hidden]{display:none!important}
#portal-studio .studio-workspace{box-sizing:border-box;width:100%;max-width:none;padding:38px!important;background:#fffefa;border:1px solid #d1dac9;border-radius:24px;margin:24px 0}
#portal-studio .studio-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:0 0 30px}
#portal-studio .studio-tabs [aria-selected=true]{background:#193c32!important;color:#faf9f4!important}
#portal-studio .studio-microphone{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto;min-height:58px}
#portal-studio .studio-microphone svg{width:30px;height:36px;flex:none}
#portal-studio .studio-voice>h4,#portal-studio .studio-voice>p{text-align:center}
#portal-studio .studio-roleplay{text-align:center;padding:30px 0}
#portal-studio .studio-roleplay>strong{display:block;font-size:30px;font-weight:500;margin:20px 0}
#portal-studio .studio-roleplay>.studio-big-mic{width:78px;height:96px;display:block;margin:0 auto;color:#193c32}
.voice-transcription-controls{display:grid;justify-items:center;gap:18px;margin:24px 0}
.voice-transcription-controls label{max-width:240px;font-size:12px}
.voice-transcription-controls [role=status]{font-size:13px;line-height:1.6;text-align:center;margin:0}
.writing-practice{min-width:0;width:100%;max-width:100%}
.writing-practice label{display:grid;gap:12px;font-size:14px;line-height:1.7}
.writing-practice textarea,.daily-two-exercise input{width:100%;max-width:100%;box-sizing:border-box;border:1px solid #b8c7ad;border-radius:12px;padding:13px;background:#fffefa;color:#193c32;font:inherit;line-height:1.8}
.writing-practice textarea{min-height:165px;resize:vertical}
.writing-count{font-size:12px!important;line-height:1.6;color:#5f6d61}
.writing-feedback{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.writing-feedback li{padding:7px 0}
.writing-feedback li p{margin:5px 0}
.writing-feedback blockquote{margin:16px 0;padding:18px;border-left:2px solid #b7cba4;white-space:pre-wrap}
.writing-practice .button{max-width:100%;white-space:normal}
#students-portal:has(#daily-mission:not([hidden])){padding-top:20px!important}
#students-portal #daily-mission.daily-seven:not([hidden]){display:grid!important;grid-template-columns:minmax(0,1fr) 160px!important;gap:16px 26px!important;margin-top:0!important;padding-top:0!important;align-items:start}
#students-portal #daily-mission.daily-seven>*{grid-column:1!important;grid-row:auto!important;min-width:0;order:initial!important;width:auto!important}
#daily-mission.daily-seven>h3{margin:0!important}
#daily-mission.daily-seven>.daily-task-intro{margin:0 0 8px!important;padding:10px 17px!important;background:#d5ed98!important;border-radius:23px 23px 23px 5px!important;font-style:italic;font-size:15px!important;width:fit-content!important}
#daily-mission.daily-seven>label{max-width:360px;margin:0!important}
#daily-mission.daily-seven>.daily-side{grid-column:2!important;grid-row:1 / span 5!important;display:flex;flex-direction:column;align-items:center;gap:25px}
#daily-mission.daily-seven .daily-idiom{width:100%!important;max-width:160px!important;margin:0!important;background:transparent!important;border:0!important}
#daily-mission.daily-seven .daily-idiom summary{display:grid;place-content:center;box-sizing:border-box;width:124px!important;height:124px!important;padding:20px!important;border:1px solid #adbea2!important;border-radius:50%!important;background:#edf0e6!important;text-align:center;font-size:13px!important;line-height:1.5!important;list-style:none;margin:0 auto!important;cursor:pointer}
#daily-mission.daily-seven .daily-idiom summary::-webkit-details-marker{display:none}
#daily-mission.daily-seven .daily-idiom summary:after{content:'+';font-size:20px}
#daily-mission.daily-seven .daily-idiom[open] summary:after{content:'−'}
#daily-mission.daily-seven .daily-idiom h4,#daily-mission.daily-seven .daily-idiom p{font-size:12px!important;line-height:1.7!important;padding:0!important;border:0!important;margin:12px 0!important}
.daily-side-note{display:grid;place-content:center;box-sizing:border-box;width:124px;min-height:105px;padding:20px;text-align:center;font-size:13px;line-height:1.6;background:#d5ed98;border:1px solid #a6bc90;border-radius:28px 28px 28px 5px;margin:0}
.daily-side-note.note-ticket{border-radius:8px 28px 8px 28px;transform:rotate(-3deg)}
#daily-mission.daily-seven .daily-task-heading{position:static!important;display:block!important;background:transparent!important;padding:0!important;margin:0 0 24px!important;border:0!important;min-height:0!important}
.daily-task-heading .eyebrow{font-size:10px!important;margin:0 0 10px!important}
.daily-task-heading h4{font-size:24px!important;font-weight:500;margin:0!important;line-height:1.4}
#daily-mission.daily-seven .mission-practices{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;margin:0!important}
#daily-mission.daily-seven .mission-practice{padding:24px!important;border:1px solid #d1dac9!important;border-radius:20px!important;background:#faf9f4!important;margin:0!important;min-width:0}
#daily-mission.daily-seven .mission-practice:nth-child(even){background:#edf0e6!important}
#daily-mission.daily-seven .mission-practice>h4{margin:0 0 15px!important;padding:0!important;font-size:20px!important;font-weight:500}
#daily-mission.daily-seven .mission-paragraphs p{font-size:15px;line-height:1.85;margin:0 0 16px}
#daily-mission.daily-seven mark{background:#d5ed98;color:#193c32;border-radius:5px;padding:2px 5px;font-weight:600}
.daily-language-item{margin:0 0 20px}
.daily-language-item p{font-size:14px;line-height:1.7;margin:8px 0}
.daily-language-example{font-style:italic;border-left:2px solid #b3c79e;padding-left:12px}
.daily-two-exercise label{display:grid;gap:10px;font-size:14px;line-height:1.7;margin:18px 0 0}
.daily-two-exercise [role=status]{font-size:13px;line-height:1.6}
#daily-mission .mission-tomorrow{font-size:16px;font-style:italic;margin:28px 0 0}
#daily-mission.daily-seven .practice-section-art,#daily-mission.daily-seven .practice-art,#daily-mission.daily-seven .section-guide{display:none!important}
@media(max-width:760px){
 #portal-studio .studio-workspace{padding:25px 18px!important}
 #portal-monthly .section-guide{margin:14px 0 22px!important;align-self:flex-start!important}
 #students-portal #daily-mission.daily-seven:not([hidden]){grid-template-columns:minmax(0,1fr)!important;gap:15px!important}
 #daily-mission.daily-seven>.daily-side{grid-column:1!important;grid-row:4!important;flex-direction:row!important;justify-content:space-between;align-items:flex-start;gap:16px}
 #daily-mission.daily-seven>.daily-content{grid-row:5!important}
 #daily-mission.daily-seven .daily-side .daily-idiom{width:calc(50% - 8px)!important;max-width:160px!important}
 #daily-mission.daily-seven .daily-idiom summary{width:100px!important;height:100px!important;padding:15px!important;font-size:12px!important}
 .daily-side-note{width:100px;min-height:90px;padding:14px;font-size:11px}
 #daily-mission.daily-seven .mission-practice{padding:20px!important}
}
@media(max-width:680px){
 main #home .hero{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;height:auto!important;min-height:0!important;padding:0!important;overflow:visible!important;background:#faf9f4!important}
 main #home .hero:before{display:none!important}
 #home .home-picture-and-reviews{position:relative!important;inset:auto!important;order:0!important;z-index:0!important;width:100%!important;height:auto!important;aspect-ratio:12/5!important}
 #home .home-picture-and-reviews .coaching-photo{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;background:#193c32!important}
 main #home .home-picture-and-reviews .coaching-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
 main #home .hero-copy{order:1!important;box-sizing:border-box;width:100%!important;padding:23px 6% 20px!important;color:#193c32!important}
 #home .home-kicker{color:#193c32!important;font-size:8px!important;margin:0 0 12px!important}
 main #home .hero-copy .home-slogan,#home .home-title-main{color:#193c32!important;font-size:29px!important;line-height:1.18!important;letter-spacing:-.7px!important;margin-bottom:16px!important}
 #home .home-title-bottom{font-size:21px!important;margin-top:7px!important}
 #home .home-pricing-note{display:flex!important;flex-wrap:wrap;gap:7px 15px;font-size:10px!important;color:#193c32!important;margin:0 0 16px!important}
 #home .home-pricing-note br{display:none!important}
 #home .home-pricing-note strong:before{color:#193c32!important;width:12px!important}
 #home .home-speech-links{gap:10px!important}
 #home .home-speech-bubble,#home .home-speech-bubble:nth-child(2){width:auto!important;min-width:0!important;padding:11px 15px!important;border-radius:18px 18px 18px 4px!important}
 #home .home-speech-bubble>span{font-size:12px!important}
 #home .hero>.benefits{position:static!important;inset:auto!important;order:2!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:auto!important;padding:14px 0!important;margin:0 6%!important;gap:8px!important;color:#193c32!important;border-top:1px solid #c9d3bf!important;font-size:8px!important;line-height:1.6!important}
 #home .hero>.benefits>span{min-width:0;text-align:center;overflow-wrap:normal}
 #reviews .review-cards{display:flex!important;height:380px!important;min-height:380px!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory}
 #reviews .review-card,#reviews .review-card.is-selected,#reviews .review-card.is-previous,#reviews .review-card.is-next{display:block!important;position:relative!important;left:auto!important;top:auto!important;flex:0 0 100%!important;width:100%!important;min-width:0!important;height:360px!important;margin:0!important;transform:none!important;filter:none!important;opacity:1!important;animation:none!important;pointer-events:auto!important;padding:23px 18px!important;scroll-snap-align:start}
 #reviews .review-card blockquote{font-size:15px!important;line-height:1.75!important}
}

#portal-studio .section-guide{position:static!important;float:none!important;transform:none!important;display:flex!important;margin:0 0 20px auto!important;width:fit-content!important;max-width:100%!important}
#portal-studio.studio-open{grid-column:1/-1!important}
#portal-studio .studio-workspace{max-width:100%!important}

/* Motivation is decoration; only the round idiom card opens. */
#daily-mission.daily-seven .daily-side-note{cursor:default;box-shadow:none;aspect-ratio:auto;min-height:105px}
#daily-mission.daily-seven .daily-side-note.note-bubble{border-radius:26px 26px 26px 3px}
#daily-mission.daily-seven .daily-side-note.note-ticket{border-radius:8px 28px 8px 28px}
.writing-feedback ul,.daily-two-exercise ul{list-style:disc;padding-left:22px}
.mistake-explanation{padding:12px 14px;background:#edf0e6;border-left:3px solid #adbea2;border-radius:0 10px 10px 0}
.mistake-explanation[hidden]{display:none!important}

/* A genuine side column on the web; keep playful extras out of the lesson flow. */
@media(min-width:901px){#students-portal #daily-mission.daily-seven:not([hidden]){grid-template-columns:minmax(0,1fr) 228px!important;column-gap:32px!important}#students-portal #daily-mission.daily-seven>.daily-side{grid-column:2!important;grid-row:1 / span 5!important;align-self:start!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:24px!important}}
#students-portal #daily-mission.daily-seven>.daily-side .daily-idiom{width:100%!important;max-width:none!important}
#students-portal #daily-mission.daily-seven>.daily-side .daily-idiom .button{white-space:normal;font-size:12px;min-height:44px;padding:9px 12px;margin-top:6px}
#students-portal #daily-mission .daily-quote-and-fun{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;width:100%}
#students-portal #daily-mission .daily-quote-and-fun .daily-side-note{width:146px;min-width:0;flex:1;margin:0;font-size:13px;line-height:1.6}
#students-portal #daily-mission .daily-fun-open{flex:0 0 68px;width:68px;min-height:68px;box-sizing:border-box;white-space:normal;padding:10px 8px;border:1px solid #9eb78b;border-radius:50%;background:#faf9f4;color:#193c32;font-size:12px;line-height:1.4;letter-spacing:0}
#students-portal #daily-mission .daily-fun-open:hover{background:#d5ed98}
.daily-fun-dialog{box-sizing:border-box;width:480px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);overflow:auto;padding:30px;color:#193c32;background:#faf9f4;border:1px solid #b8c8ad;border-radius:24px}.daily-fun-dialog>h2{font-size:24px;line-height:1.4;margin:0 28px 24px 0}.daily-fun-dialog p{font-size:14px;line-height:1.7}.daily-fun-dialog .fun-question{font-size:17px;line-height:1.6;margin:0 0 12px}.daily-fun-dialog summary{cursor:pointer;min-height:44px;font-size:13px;font-weight:600;line-height:1.6;padding:8px 0}.daily-fun-dialog .fun-punchline{font-weight:600}.daily-fun-dialog .fun-explanation{color:#53685b;font-size:13px}.daily-fun-dialog .fun-expression-note{margin-top:24px;padding-top:20px;border-top:1px solid #c5d2ba}.daily-fun-dialog .fun-expression-note>.eyebrow{font-size:9px;letter-spacing:1.5px}.daily-fun-dialog h3{font-size:19px;line-height:1.5;margin:12px 0}.daily-fun-dialog .fun-example{font-style:italic;color:#53685b}
@media(max-width:900px){#students-portal #daily-mission.daily-seven:not([hidden]){grid-template-columns:minmax(0,1fr)!important}#students-portal #daily-mission.daily-seven>.daily-side{grid-column:1!important;grid-row:4!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start!important;gap:18px!important}#students-portal #daily-mission.daily-seven>.daily-content{grid-column:1!important;grid-row:5!important}#students-portal #daily-mission .daily-quote-and-fun{flex-direction:column;gap:12px}#students-portal #daily-mission .daily-quote-and-fun .daily-side-note{flex:none;max-width:100%;width:146px;min-height:105px}#students-portal #daily-mission .daily-fun-open{flex:none;width:56px;height:56px;min-height:56px;border-radius:50%;padding:8px}.daily-fun-dialog{padding:24px 18px}}
#students-portal #daily-mission .daily-quote-and-fun .daily-side-note{color:#193c32;font-weight:500}

/* home-wide-cover.css */
/* One photographic cover. Keep the full wide scene on phones. */
main #home .hero{position:relative!important;isolation:isolate;display:block!important;height:auto!important;min-height:0!important;aspect-ratio:12/5!important;max-height:none!important;margin:0!important;padding:0!important;background:#193c32!important;color:#faf9f4!important;overflow:hidden!important;border-radius:24px!important}
#home .home-picture-and-reviews{position:absolute!important;inset:0!important;z-index:-2!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;margin:0!important;padding:0!important}
#home .home-picture-and-reviews .coaching-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;top:0!important;transform:none!important;border:0!important;background:#193c32!important}
main #home .home-picture-and-reviews .coaching-photo img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border-radius:0!important}
main #home .hero:before{display:block!important;content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102f26f2 0%,#13372bd6 28%,#193c3240 61%,transparent 83%)!important;pointer-events:none}
main #home .hero-copy{position:relative!important;z-index:1;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;box-sizing:border-box;width:62%!important;max-width:none!important;height:100%!important;position:absolute!important;inset:0 auto 0 0!important;padding:36px 42px!important;color:#faf9f4!important}
#home .home-kicker{color:#d5ed98!important;font-size:9px!important;line-height:1.6!important;letter-spacing:1.6px!important;margin:0 0 17px!important}
main #home .hero-copy .home-slogan{font-size:clamp(32px,4.5vw,62px)!important;line-height:1.08!important;letter-spacing:-1.5px!important;font-weight:400!important;color:#faf9f4!important;margin:0 0 24px!important;max-width:none!important}
#home .home-title-top,#home .home-title-main{font:inherit!important;color:inherit!important;display:inline!important}
#home .home-title-bottom{font-size:.62em!important;font-style:italic!important;line-height:1.3!important;letter-spacing:-.5px!important;margin-top:12px!important;display:block!important;color:#faf9f4!important}
#home .home-pricing-note{display:flex!important;flex-wrap:wrap!important;gap:7px 14px!important;color:#faf9f4!important;font-size:10px!important;line-height:1.7!important;margin:0 0 22px!important;max-width:370px!important}
#home .home-pricing-note br{display:none!important}
#home .home-pricing-note strong{font-weight:400!important}
#home .home-pricing-note strong:before{content:none!important}
#home .home-speech-links{display:flex!important;gap:10px!important;position:static!important;margin:0!important;padding:0!important;width:auto!important}
#home .home-speech-bubble,#home .home-speech-bubble:nth-child(2){position:relative!important;inset:auto!important;transform:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;height:auto!important;padding:12px 17px!important;box-shadow:none!important;border:1px solid #d8e3cd!important;border-radius:22px 22px 22px 5px!important;background:#edf0e6!important;color:#193c32!important}
#home .home-speech-bubble>span{font-size:12px!important;font-weight:500!important;line-height:1.4!important;white-space:nowrap!important}
#home .home-speech-bubble:hover{background:#d5ed98!important}
#home .hero>.benefits{display:none!important}
#home>.home-cover-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:15px 0 0;padding:18px 0;background:#edf0e6;border:1px solid #d5decd;border-radius:16px;color:#193c32;font-size:11px;line-height:1.65;text-align:center}
#home>.home-cover-benefits>span{min-width:0;padding:0 14px}
#home>.home-cover-benefits>span+span{border-left:1px solid #c7d2bc}
main #home>.home-bottom-row{padding:17px 0 7px!important;margin:0!important}
@media(max-width:900px) and (min-width:681px){main #home .hero-copy{width:68%!important;padding:25px 30px!important}main #home .hero-copy .home-slogan{font-size:38px!important}#home .home-pricing-note{margin-bottom:16px!important}#home .home-kicker{margin-bottom:12px!important}}

/* The same photographic laptop composition at every screen size. */
main #home{container-type:inline-size;background:transparent!important;color:#193c32!important}
main #home .hero-copy{background:transparent!important}
main #home .hero .home-speech-links .home-speech-bubble,
main #home .hero .home-speech-links .home-speech-bubble:nth-child(2){position:relative!important;flex:0 1 150px!important;width:150px!important;height:64px!important;min-height:44px!important;padding:10px 12px 20px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#193c32!important}
main #home .hero .home-speech-links .home-speech-bubble>.home-bubble-shape{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;fill:#edf0e6!important;stroke:none!important;pointer-events:none}
main #home .hero .home-speech-links .home-speech-bubble>span{position:relative;z-index:1;color:#193c32!important;white-space:normal!important;text-align:center}
main #home .hero .home-speech-links .home-speech-bubble:hover>.home-bubble-shape{fill:#d5ed98!important}
@media(max-width:680px){
 main #home .hero{display:block!important;aspect-ratio:12/5!important;height:auto!important;min-height:0!important;border-radius:14px!important}
 main #home .hero:before{display:block!important;background:linear-gradient(90deg,#102f26f2 0%,#13372bd6 28%,#193c3240 61%,transparent 83%)!important}
 main #home .home-picture-and-reviews{position:absolute!important;inset:0!important;z-index:-2!important;width:100%!important;height:100%!important;aspect-ratio:auto!important}
 main #home .home-picture-and-reviews .coaching-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important}
 main #home .home-picture-and-reviews .coaching-photo img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center!important}
 main #home .hero-copy{position:absolute!important;inset:0 auto 0 0!important;width:62%!important;height:100%!important;padding:3cqw 3.5cqw!important;justify-content:center!important;align-items:flex-start!important;background:transparent!important;color:#faf9f4!important}
 main #home .home-kicker{font-size:1.35cqw!important;letter-spacing:.15cqw!important;line-height:1.5!important;max-width:100%!important;color:#d5ed98!important;margin:0 0 1.8cqw!important}
 main #home .hero-copy .home-slogan{font-size:5.2cqw!important;line-height:1.08!important;letter-spacing:-.12cqw!important;max-width:100%!important;color:#faf9f4!important;margin:0 0 2cqw!important}
 main #home .home-title-bottom{font-size:.62em!important;line-height:1.3!important;letter-spacing:0!important;margin-top:1cqw!important;color:#faf9f4!important}
 main #home .home-pricing-note{display:flex!important;flex-wrap:wrap!important;gap:1cqw 1.5cqw!important;font-size:1.5cqw!important;line-height:1.6!important;max-width:100%!important;margin:0 0 1.5cqw!important;color:#faf9f4!important}
 main #home .home-pricing-note strong{display:inline!important}
 main #home .home-pricing-note strong:before{content:none!important}
 main #home .hero .home-speech-links{display:flex!important;flex-wrap:nowrap!important;gap:1.5cqw!important;width:100%!important;margin:0!important}
 main #home .hero .home-speech-links .home-speech-bubble,
 main #home .hero .home-speech-links .home-speech-bubble:nth-child(2){flex:1 1 0!important;width:auto!important;height:8cqw!important;min-height:0!important;padding:1cqw 1cqw 2.3cqw!important}
 main #home .hero .home-speech-links .home-speech-bubble>span{font-size:1.9cqw!important;line-height:1.3!important}
 main #home>.home-cover-benefits{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;padding:3cqw 0!important;margin:12px 0 0!important;text-align:center!important;font-size:1.9cqw!important;line-height:1.55!important;background:#edf0e6!important;color:#193c32!important}
 main #home>.home-cover-benefits>span{display:block!important;min-height:0!important;padding:0 1.5cqw!important;border:0!important}
 main #home>.home-cover-benefits>span+span{border-left:1px solid #c7d2bc!important}
 main #home>.home-bottom-row{padding:16px 0 8px!important}
}

/* Full-width cover; light space belongs above and below, not at the sides. */
body:has(#home:not([hidden])) main{max-width:none!important;width:100%!important;padding-inline:0!important}
main #home:not([hidden]){
 display:block!important;
 min-height:0!important;
 box-sizing:border-box;
 padding:clamp(22px,3vw,40px) 0 clamp(28px,3.5vw,48px)!important;
 background:#faf9f4!important;
}
main #home .hero{
 flex:none!important;
 box-sizing:border-box;
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 border-radius:0!important;
 container-type:inline-size;
}
main #home>.home-cover-benefits{box-sizing:border-box;width:100%;max-width:1120px;margin:18px auto 0!important}
main #home>.home-bottom-row{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto!important}

/* Small white footer text directly on the photograph, without panels. */
main #home .hero{aspect-ratio:2.65!important}
main #home .hero-copy{height:calc(100% - 68px)!important}
main #home .hero>.home-cover-benefits{
 position:absolute!important;z-index:2;left:6%;right:6%;bottom:37px;
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;
 width:auto!important;max-width:none!important;margin:0!important;padding:0!important;
 background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
 color:#fff!important;font-size:10px!important;line-height:1.5!important;text-align:center!important;
}
main #home .hero>.home-cover-benefits>span{min-height:0!important;padding:0!important;border:0!important;color:#fff!important;background:transparent!important;font-weight:400!important}
@media(max-width:680px){
 main #home .hero-copy{height:calc(100% - 9cqw)!important;padding:2cqw 3.5cqw!important}
 main #home .home-kicker{margin-bottom:1.2cqw!important}
 main #home .hero-copy .home-slogan{font-size:4.9cqw!important;margin-bottom:1.2cqw!important}
 main #home .home-pricing-note{margin-bottom:1cqw!important}
 main #home .hero>.home-cover-benefits{left:4%;right:4%;bottom:5.5cqw;gap:2cqw!important;font-size:1.4cqw!important;line-height:1.4!important}
 }

/* Signature below the photograph; one light rule above the white benefits. */
main #home>.home-bottom-row{position:static!important;padding:14px 6% 0!important;margin:0 auto!important;background:transparent!important;border:0!important}
main #home>.home-bottom-row .page-signature,
main #home>.home-bottom-row .page-signature>span,
main #home>.home-bottom-row .page-signature>small{color:#193c32!important;font-size:10px!important;line-height:1.5!important;font-weight:400!important;margin:0!important;padding:0!important}
main #home .hero>.home-cover-benefits{bottom:20px;border-top:1px solid #ffffff80!important;padding-top:12px!important}
@media(max-width:680px){
 main #home .hero>.home-cover-benefits{bottom:2cqw;padding-top:1.5cqw!important}
 main #home>.home-bottom-row{padding:12px 4% 0!important}
}

/* Fit the home page to the visible screen instead of adding a second scroll area. */
body:has(#home:not([hidden])) main{padding-top:0!important;padding-bottom:0!important;margin-bottom:0!important;min-height:0!important}
main #home:not([hidden]){box-sizing:border-box;display:grid!important;grid-template-rows:minmax(0,1fr) auto auto;gap:12px;width:100%;height:var(--home-viewport-space,calc(100svh - 90px));min-height:0!important;margin:0!important;padding:0!important}
main #home:not([hidden]) .hero{height:100%!important;min-height:0!important;max-height:100%!important;aspect-ratio:auto!important}
main #home:not([hidden])>.home-cover-benefits{margin:0 auto!important}
main #home:not([hidden])>.home-bottom-row{margin:0 auto!important;padding:7px 0 calc(9px + env(safe-area-inset-bottom,0px))!important}
@media(max-width:680px){main #home:not([hidden]){gap:10px}main #home .hero-copy{padding:22px 18px!important;width:67%!important}main #home .home-kicker{font-size:9px!important;line-height:1.5!important;letter-spacing:1px!important;margin-bottom:12px!important}main #home .hero-copy .home-slogan{font-size:clamp(26px,7.3vw,34px)!important;line-height:1.12!important;margin-bottom:14px!important}main #home .home-title-bottom{font-size:18px!important;margin-top:9px!important}main #home .home-pricing-note{display:grid!important;gap:4px!important;font-size:12px!important;line-height:1.5!important;margin-bottom:16px!important}main #home .hero .home-speech-links{flex-wrap:wrap!important;gap:8px!important}main #home .hero .home-speech-links .home-speech-bubble,main #home .hero .home-speech-links .home-speech-bubble:nth-child(2){flex:1 1 100%!important;height:44px!important;min-height:44px!important;padding:8px 10px 14px!important}main #home .hero .home-speech-links .home-speech-bubble>span{font-size:12px!important;line-height:1.4!important}main #home>.home-cover-benefits{font-size:10px!important;line-height:1.5!important;padding:10px 0!important}main #home>.home-cover-benefits>span{padding:0 7px!important}main #home>.home-bottom-row .page-signature{font-size:12px!important;line-height:1.5!important}main #home>.home-bottom-row .page-signature small{font-size:10px!important;line-height:1.5!important}}
@media(max-width:680px) and (max-height:690px){main #home:not([hidden]){gap:7px}main #home .hero-copy{padding:16px!important;width:74%!important}main #home .home-kicker{margin-bottom:7px!important;font-size:8px!important}main #home .hero-copy .home-slogan{font-size:26px!important;line-height:1.1!important;margin-bottom:10px!important}main #home .home-title-bottom{font-size:16px!important;margin-top:5px!important}main #home .home-pricing-note{font-size:11px!important;line-height:1.4!important;gap:3px!important;margin-bottom:8px!important}main #home .hero .home-speech-links{gap:6px!important}main #home .hero .home-speech-links .home-speech-bubble,main #home .hero .home-speech-links .home-speech-bubble:nth-child(2){flex:1 1 0!important;padding:7px 7px 12px!important;height:44px!important}main #home .hero .home-speech-links .home-speech-bubble>span{font-size:11px!important}main #home>.home-cover-benefits{font-size:9px!important;padding:8px 0!important}}

#home:not([hidden]) .hero-copy{transform:none!important}

main #home .home-pricing-note{display:flex!important;flex-direction:column!important;align-items:flex-start!important}main #home .home-free-offers{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}main #home .home-free-offers>strong{font-size:inherit!important}@media(max-width:680px){main #home .home-free-offers{font-size:clamp(9px,2.55vw,12px);gap:5px}}

main #home .home-free-offers{display:flex!important;flex-direction:column!important;align-items:flex-start;gap:4px!important;font-size:inherit!important;white-space:normal}main #home .home-free-offers>[aria-hidden=true]{display:none!important}

/* reviews-effects.css */
/* Restore the review album's depth, movement and interaction. */
#reviews .review-cards{perspective:1000px!important;isolation:isolate}
#reviews .review-card{box-shadow:0 16px 32px #193c3224!important;backface-visibility:hidden;transform-style:preserve-3d}
#reviews .review-card.is-selected{transform:translate(calc(-50% + var(--review-drag,0px)),calc(-50% + var(--review-lift,0px))) rotateX(var(--review-tilt-x,0deg)) rotateY(var(--review-tilt-y,0deg)) scale(1)!important}
#reviews .review-card.is-previous{transform:translate(-73%,-50%) scale(.86) rotate(-4deg)!important;filter:blur(2px)!important;opacity:.43!important}
#reviews .review-card.is-next{transform:translate(-27%,-50%) scale(.86) rotate(4deg)!important;filter:blur(2px)!important;opacity:.43!important}
#reviews .review-arrow{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease!important}
#reviews .review-arrow:hover:not(:disabled){transform:scale(1.08)!important;background:#d5ed98!important;box-shadow:0 5px 12px #193c321a}
#reviews .review-arrow:active:not(:disabled){transform:scale(.95)!important}
@media(prefers-reduced-motion:no-preference){
 #reviews .review-card{transition:transform .32s cubic-bezier(.22,.61,.36,1),filter .32s,opacity .32s,box-shadow .25s!important}
 #reviews .review-card.is-selected.review-enter-next{animation:sb-review-slide-forward .4s cubic-bezier(.22,.61,.36,1) both!important}
 #reviews .review-card.is-selected.review-enter-previous{animation:sb-review-slide-back .4s cubic-bezier(.22,.61,.36,1) both!important}
 @keyframes sb-review-slide-forward{from{translate:65px 0}to{translate:0 0}}
 @keyframes sb-review-slide-back{from{translate:-65px 0}to{translate:0 0}}
}
@media(hover:hover) and (pointer:fine){
 #reviews .review-card.is-selected:hover{--review-lift:-5px;box-shadow:0 24px 42px #193c3238!important}
}
#reviews .review-cards.is-dragging .review-card.is-selected{transition:none!important;animation:none!important;translate:none!important;--review-lift:0px!important;--review-tilt-x:0deg!important;--review-tilt-y:0deg!important}
@media(max-width:680px){
 #reviews .review-card,#reviews .review-card.is-selected,#reviews .review-card.is-previous,#reviews .review-card.is-next{transform:none!important;filter:none!important;opacity:1!important;box-shadow:0 5px 14px #193c3217!important}
 #reviews .review-cards{scroll-behavior:smooth;perspective:none!important}
 @media(prefers-reduced-motion:no-preference){
  #reviews .review-card.is-selected.review-enter-next{animation:sb-review-phone-forward .3s ease both!important}
  #reviews .review-card.is-selected.review-enter-previous{animation:sb-review-phone-back .3s ease both!important}
  @keyframes sb-review-phone-forward{from{translate:22px 0}to{translate:0 0}}
  @keyframes sb-review-phone-back{from{translate:-22px 0}to{translate:0 0}}
 }
}
@media(prefers-reduced-motion:reduce){
 #reviews .review-card,#reviews .review-arrow{animation:none!important;transition:none!important}
 #reviews .review-card.is-selected{--review-drag:0px!important;--review-lift:0px!important;--review-tilt-x:0deg!important;--review-tilt-y:0deg!important}
 #reviews .review-cards{scroll-behavior:auto}
}

/* Keep the album's final colours and text bounds together. */
#reviews .review-album[hidden]{display:none!important}
#reviews .reviews-album-area .review-card{
 background:#193c32!important;
 border:1px solid #476b5b!important;
 color:#faf9f4!important;
 box-sizing:border-box!important;
 padding:26px!important;
 overflow:hidden!important;
}
#reviews .reviews-album-area .review-card-content{
 display:block;
 box-sizing:border-box!important;
 width:100%;
 min-width:0;
 min-height:0;
 height:100%!important;
 max-height:100%!important;
 padding:0 8px 4px 0;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 overflow-wrap:anywhere;
 white-space:normal;
 scrollbar-width:thin;
 scrollbar-color:#b7cda1 #193c32;
}
#reviews .reviews-album-area .review-card h3,
#reviews .reviews-album-area .review-card p,
#reviews .reviews-album-area .review-card blockquote{
 color:#faf9f4!important;
 max-width:100%!important;
 overflow-wrap:anywhere;
 word-break:normal;
}
#reviews .reviews-album-area .review-card h3{font-size:18px!important;line-height:1.4!important;margin:0 0 8px!important}
#reviews .reviews-album-area .review-card-details{font-size:12px!important;line-height:1.65!important;margin:0!important}
#reviews .reviews-album-area .review-card blockquote{font-size:17px!important;line-height:1.75!important;margin:18px 0 0!important;white-space:pre-wrap}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 #reviews .reviews-album-area .review-card.is-selected:hover{--review-lift:-6px;border-color:#b7cda1!important;box-shadow:0 24px 42px #193c3240!important}
}
@media(max-width:680px){
 #reviews .reviews-album-area .review-cards{height:380px!important;min-height:380px!important;align-items:center}
 #reviews .reviews-album-area .review-card{height:350px!important;max-height:350px!important;padding:22px 18px!important}
 #reviews .reviews-album-area .review-card blockquote{font-size:15px!important;line-height:1.7!important}
}


/* Two overlapping speech shapes, with the eyebrow outside the panel. */
#reviews .reviews-introduction{min-width:0;padding:0 8px 10px}
#reviews .reviews-introduction>.eyebrow{margin:0 0 24px!important;line-height:1.6;font-size:10px;letter-spacing:1.4px;padding:0}
#reviews .reviews-copy{position:relative!important;isolation:isolate;box-sizing:border-box;min-width:0;padding:32px 32px 38px!important;background:transparent!important;border:0!important}
#reviews .reviews-copy:before{content:''!important;display:block!important;position:absolute;inset:9px 0 0 9px;background:#edf0e6;border:1px solid #bfceb3;border-radius:34px 34px 34px 8px;z-index:-2;transform:rotate(3deg);pointer-events:none}
#reviews .reviews-copy:after{content:''!important;display:block!important;position:absolute;inset:0 10px 10px 0;background:#faf9f4;border:1px solid #bfceb3;border-radius:34px 34px 34px 8px;z-index:-1;transform:rotate(-1deg);pointer-events:none}
#reviews .reviews-copy>h2{font-size:clamp(30px,3vw,40px)!important;line-height:1.16!important;margin:0 0 20px!important;max-width:100%;letter-spacing:-1px;overflow-wrap:normal}
#reviews .reviews-copy .review-intro{font-size:15px!important;line-height:1.8!important;margin:0 0 20px!important;max-width:100%;overflow-wrap:anywhere}
#reviews .reviews-copy #review-open{position:relative;max-width:100%;white-space:normal;margin:0!important}
#reviews .reviews-spark-art{display:block!important;width:58px;height:50px;margin:0 0 18px auto;color:#193c32;transform:rotate(5deg)}
#reviews .reviews-album-area .review-cards{height:325px!important;min-height:325px!important}
#reviews .reviews-album-area .review-card,
#reviews .reviews-album-area .review-card.is-selected,
#reviews .reviews-album-area .review-card.is-previous,
#reviews .reviews-album-area .review-card.is-next{height:280px!important;max-height:280px!important;background:#faf9f4!important;border:1px solid #bdcbb3!important;color:#193c32!important;padding:23px!important}
#reviews .reviews-album-area .review-card-content{color:#193c32!important;scrollbar-color:#a8bd99 #faf9f4}
#reviews .reviews-album-area .review-card h3,
#reviews .reviews-album-area .review-card p,
#reviews .reviews-album-area .review-card blockquote{color:#193c32!important;max-width:100%!important}
#reviews .reviews-album-area .review-card h3{font-size:17px!important}
#reviews .reviews-album-area .review-card blockquote{font-size:16px!important;line-height:1.75!important;margin-top:15px!important}
@media(max-width:680px){
 #reviews .reviews-introduction{padding:0 5px 8px}
 #reviews .reviews-introduction>.eyebrow{margin-bottom:21px!important;font-size:9px}
 #reviews .reviews-copy{padding:27px 27px 33px!important}
 #reviews .reviews-copy>h2{font-size:30px!important;margin-bottom:18px!important}
 #reviews .reviews-copy .review-intro{font-size:14px!important;line-height:1.75!important}
 #reviews .reviews-spark-art{width:50px;height:43px;margin-bottom:16px}
 #reviews .reviews-album-area .review-cards{height:295px!important;min-height:295px!important}
 #reviews .reviews-album-area .review-card,
 #reviews .reviews-album-area .review-card.is-selected,
 #reviews .reviews-album-area .review-card.is-previous,
 #reviews .reviews-album-area .review-card.is-next{height:265px!important;max-height:265px!important;padding:20px 17px!important}
 #reviews .reviews-album-area .review-card blockquote{font-size:14px!important;line-height:1.75!important}
}

/* Anchor the desktop deck at its centre before applying its depth transforms. */
@media(min-width:681px){
 #reviews .reviews-album-area #review-cards{position:relative!important;min-width:0;overflow:hidden!important}
 #reviews .reviews-album-area #review-cards>.review-card{position:absolute!important;top:50%!important;left:50%!important;width:90%!important;max-width:430px!important;margin:0!important}
}

/* real-english-layout.css */
/* Real English keeps its reading and listening column clear. */
#portal-monthly .real-english-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:36px;align-items:start;margin-top:24px}#portal-monthly .real-english-main{min-width:0}#portal-monthly .real-english-main .monthly-learning-feature{margin-top:0}#portal-monthly .real-english-side{display:flex;flex-direction:column;align-items:center;gap:22px;min-width:0;padding-top:0}#portal-monthly .real-english-idiom{box-sizing:border-box;width:100%;border:1px solid #c2cfb8;border-radius:12px;background:#edf0e6;padding:0 14px}#portal-monthly .real-english-idiom>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;min-height:44px;box-sizing:border-box;cursor:pointer;font-size:13px;line-height:1.5;font-weight:600}#portal-monthly .real-english-idiom>summary::-webkit-details-marker{display:none}#portal-monthly .real-english-idiom>summary::after{content:'+';font-size:20px}#portal-monthly .real-english-idiom[open]>summary::after{content:'−'}#portal-monthly .real-english-idiom h4{font-size:16px;line-height:1.5;margin:4px 0 12px}#portal-monthly .real-english-idiom p{font-size:13px;line-height:1.7;margin:10px 0 14px}#portal-monthly .real-idiom-example{font-style:italic}#portal-monthly .real-english-fun{display:grid;place-items:center;box-sizing:border-box;flex:none;width:66px;height:66px;min-height:44px;border:1px solid #9eb78b;border-radius:50%;background:#d5ed98;color:#193c32;font:500 14px/1.4 'DM Sans',sans-serif;padding:10px;cursor:pointer}#portal-monthly .real-english-fun:hover{background:#edf0e6}#portal-monthly .real-english-quote{width:100%;max-width:200px;margin:24px 0 0;text-align:center;color:#193c32;background:transparent;border:0;padding:0}#portal-monthly .real-english-quote svg{display:block;width:100%;height:auto}#portal-monthly .real-english-quote figcaption{font:400 22px/1.5 Georgia,serif;margin-top:10px}#portal-monthly .real-english-quote figcaption span,#portal-monthly .real-english-quote figcaption em{display:block}
/* Remove the old empty sidebar from Daily Challenge. */
#students-portal #daily-mission.daily-seven:not([hidden]){grid-template-columns:minmax(0,1fr)!important}#students-portal #daily-mission.daily-seven>.daily-content{grid-column:1!important;grid-row:auto!important}
.portal-loading-notice{box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:13px 16px;margin:12px 0 18px;border:1px solid #c2cfb8;border-radius:10px;background:#edf0e6;color:#193c32;font:500 14px/1.6 'DM Sans',sans-serif}.portal-loading-notice[hidden]{display:none!important}.portal-loading-notice::before{content:'';width:8px;height:8px;flex:none;border-radius:50%;background:#66803e}.portal-loading-notice[aria-busy=true]::before{animation:hub-loading-pulse 1.2s ease-in-out infinite}@keyframes hub-loading-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.portal-loading-notice[aria-busy=true]::before{animation:none}}
@media(max-width:900px){#portal-monthly .real-english-layout{grid-template-columns:minmax(0,1fr);gap:28px}#portal-monthly .real-english-side{display:grid;grid-template-columns:minmax(0,1fr) 66px;column-gap:20px;row-gap:20px;align-items:start}#portal-monthly .real-english-idiom{grid-column:1;grid-row:1}#portal-monthly .real-english-fun{grid-column:2;grid-row:1}#portal-monthly .real-english-quote{grid-column:1/-1;grid-row:2;justify-self:center;max-width:170px;margin:18px 0 0}#portal-monthly .real-english-quote figcaption{font-size:21px}.portal-loading-notice{font-size:13px;margin-top:10px}}

/* The daily idiom belongs to Daily Challenge. */
#daily-mission .daily-challenge-idiom{grid-column:1/-1;box-sizing:border-box;width:100%;max-width:440px;padding:12px 16px;border:1px solid #c2cfb8;border-radius:12px;background:#edf0e6;margin:12px 0 20px}#daily-mission .daily-challenge-idiom summary{cursor:pointer;font-size:14px;font-weight:600;min-height:24px}#daily-mission .daily-challenge-idiom h4{font-size:17px;margin:16px 0 10px}#daily-mission .daily-challenge-idiom p{font-size:14px;line-height:1.7;margin:10px 0}#portal-monthly .real-english-side .real-english-fun{grid-column:1/-1;justify-self:center}#portal-monthly .real-english-side .real-english-quote{grid-row:2}

#daily-mission .daily-challenge-extras{grid-column:1/-1;display:flex;align-items:flex-start;gap:18px;max-width:540px;margin:12px 0 20px}#daily-mission .daily-challenge-extras .daily-challenge-idiom{flex:1;min-width:0;margin:0}#daily-mission .daily-challenge-fun{display:grid;place-items:center;flex:none;width:66px;height:66px;border-radius:50%;border:1px solid #9eb78b;background:#d5ed98;color:#193c32;font:500 14px/1.4 sans-serif;padding:10px;cursor:pointer}@media(max-width:400px){#daily-mission .daily-challenge-extras{gap:12px}#daily-mission .daily-challenge-fun{width:60px;height:60px}}

#portal-monthly .real-english-side{display:block}#daily-mission .daily-challenge-extras{display:block}

/* boldly-notes.css */
/* Three compact logo-like speech bubbles, with room to read each label. */
main #home .hero .home-speech-links{gap:8px!important;max-width:100%!important}
main #home .hero .home-speech-links .home-speech-bubble,main #home .hero .home-speech-links .home-speech-bubble:nth-child(2){flex:0 1 88px!important;width:88px!important;height:90px!important;padding:12px 9px 22px!important;min-height:0!important;border-radius:0!important}
main #home .hero .home-speech-links .home-speech-bubble>span{white-space:normal!important;line-height:1.3!important;text-align:center;font-size:11px!important;max-width:70px}
.boldly-notes{max-width:960px;margin:auto}.boldly-notes-intro{max-width:540px;line-height:1.7}.boldly-notes-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.boldly-note-link{display:block;border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--ink);text-decoration:none;background:#edf0e6}.boldly-note-link h3{font-size:22px;line-height:1.4;margin:10px 0}.boldly-note-link p,.boldly-note-link small{font-size:12px}.boldly-note-page{max-width:700px;min-height:180px;padding:22px 0}.boldly-note-page p{font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.boldly-notes [data-notes-reader] nav{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:700px}.boldly-notes [data-notes-reader] nav span{font-size:13px}.boldly-notes-editor{margin:22px 0;border-top:1px solid var(--line);padding-top:20px}.boldly-notes-editor>summary{cursor:pointer;font-weight:600}.boldly-notes-editor form{display:grid;gap:16px;max-width:760px}.boldly-notes-editor label{display:grid;gap:7px;font-size:14px}.boldly-notes-editor input,.boldly-notes-editor textarea{box-sizing:border-box;max-width:100%;width:100%;font:inherit;padding:12px;border:1px solid #b8c7b5;border-radius:8px;background:#fffdf8;color:var(--ink)}.boldly-notes-editor [data-pages]{display:grid;gap:16px}.boldly-notes-editor .boldly-publish{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.boldly-publish input{width:20px;height:20px;flex:none}.boldly-notes-editor [data-saved]{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
@media(max-width:680px){main #home .hero .home-speech-links .home-speech-bubble,main #home .hero .home-speech-links .home-speech-bubble:nth-child(2){flex-basis:74px!important;width:74px!important;height:78px!important;padding:9px 7px 20px!important}main #home .hero .home-speech-links .home-speech-bubble>span{font-size:10px!important}.boldly-notes-list{grid-template-columns:1fr}.boldly-note-page p{font-size:15px}.boldly-notes [data-notes-reader] nav .button{padding:10px 12px}}

#how .how-hero h2{font-size:clamp(38px,5.5vw,68px);line-height:1.12;max-width:570px}#how .how-hero-note{max-width:490px}#how .how-editorial-guide>.how-ribbon{grid-column:1/-1;margin:20px 0 4px;width:100%;box-sizing:border-box}#how .how-editorial-guide>.how-ribbon>div{min-width:0;flex-wrap:wrap;justify-content:center}#how .how-editorial-guide>.how-ribbon span{font-size:clamp(18px,3vw,30px)}@media(max-width:680px){#how .how-hero h2{font-size:42px!important;line-height:1.12!important}#how .how-editorial-guide>.how-ribbon>div{gap:12px;padding:0 10px}#how .how-editorial-guide>.how-ribbon{margin:12px 0 0}}
#how .teacher-voice-note{gap:10px;padding:11px 13px;max-width:270px;margin-top:16px}#how .teacher-voice-note svg{width:48px;height:62px}#how .teacher-voice-note p{font-size:12px!important;line-height:1.4!important}#how .teacher-voice-note em{font-size:16px}

#how .how-steps-title{font:400 clamp(28px,4vw,42px)/1.25 Georgia,serif;margin:0 0 28px}#how .how-hero-copy .how-hero-note{margin-top:0}
main #home .hero .home-speech-links{flex-wrap:nowrap!important;width:max-content!important;max-width:none!important}@media(max-width:680px){main #home .hero .home-speech-links{gap:6px!important}main #home .hero .home-speech-links .home-speech-bubble,main #home .hero .home-speech-links .home-speech-bubble:nth-child(2){flex:0 0 clamp(64px,19vw,74px)!important;width:clamp(64px,19vw,74px)!important}}

/* A lighter home row and two offers on one line. */
main #home .hero .home-speech-links .home-speech-bubble,main #home .hero .home-speech-links .home-speech-bubble:nth-child(2){flex:0 0 72px!important;width:72px!important;height:76px!important;padding:10px 7px 20px!important}
main #home .hero .home-speech-links .home-speech-bubble>span{font-size:10px!important}
main #home .home-free-offers{flex-direction:row!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
main #home .home-free-offers>[aria-hidden=true]{display:inline!important}
main #home .home-kicker{position:relative;top:5px}
#boldly-notes>.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.08em;text-transform:none;max-width:480px}
@media(max-width:680px){main #home .hero .home-speech-links .home-speech-bubble,main #home .hero .home-speech-links .home-speech-bubble:nth-child(2){flex:0 0 62px!important;width:62px!important;height:66px!important;padding:8px 5px 17px!important}main #home .hero .home-speech-links .home-speech-bubble>span{font-size:9px!important}main #home .home-free-offers{font-size:clamp(9px,2.7vw,11px)!important;gap:5px!important}}

#placement .assessment-options{margin-top:0;border-top:0}#placement .assessment-options>article>.hub-free-badge{position:absolute;top:4px;right:14px;display:inline-flex;align-items:center;border:1px solid #bdcbb1;border-radius:999px;padding:4px 9px;background:#d5ed98;color:#193c32;font-size:10px;font-weight:600;line-height:1.3;z-index:1}#placement .learner-visual svg{overflow:visible}
.boldly-blog-purpose{font-size:14px;line-height:1.8;max-width:650px;margin:0 0 20px}.boldly-blog-coming{display:inline-block;font:italic 24px/1.4 Georgia,serif;color:#536b5c;margin:12px 0 20px}.boldly-note-page figure{margin:26px 0}.boldly-note-page img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;border-radius:10px}.boldly-notes [data-notes-reader]{max-width:740px;margin:30px auto}.boldly-notes [data-notes-reader] h2{font-size:clamp(28px,4vw,44px);line-height:1.25}.boldly-notes-editor [data-blog-pictures]{display:flex;flex-wrap:wrap;gap:14px}.boldly-notes-editor [data-blog-pictures] figure{width:150px;margin:0}.boldly-notes-editor [data-blog-pictures] img{width:100%;height:110px;object-fit:cover;border-radius:8px;display:block;margin-bottom:8px}
/* Let the second home bubble fit its label on one line. */
main #home .hero .home-speech-links .home-speech-bubble[data-open-view="daily-quote"]{flex:0 0 auto!important;width:max-content!important;padding-left:18px!important;padding-right:18px!important}
main #home .hero .home-speech-links .home-speech-bubble[data-open-view="daily-quote"]>span{max-width:none!important;white-space:nowrap!important}
/* Bring Programs up and keep the two side circles compact. */
main>#courses[data-view]{padding-top:48px!important}
#courses .course-booking-note{width:190px!important;max-width:190px!important;padding-top:20px!important;gap:10px!important}
#courses .course-fees-open{width:168px!important;height:168px!important;min-height:168px!important;padding:20px!important;font-size:13px!important}
#courses .course-fees-open .pricing-circle-art{width:42px;height:42px}
#courses .consultation-open{width:144px!important;height:144px!important;min-height:144px!important;padding:20px!important;font-size:12px!important}
@media(max-width:760px){main>#courses[data-view]{padding-top:38px!important}#courses .courses-introduction{grid-template-columns:minmax(0,1fr) 142px!important}#courses .course-booking-note{width:142px!important;max-width:142px!important;padding-top:20px!important}#courses .course-fees-open{width:142px!important;height:142px!important;min-height:142px!important;padding:18px!important;font-size:11px!important}#courses .course-fees-open .pricing-circle-art{width:33px;height:33px}#courses .consultation-open{width:120px!important;height:120px!important;min-height:120px!important;padding:17px!important;font-size:11px!important}}
@media(max-width:380px){#courses .courses-introduction{grid-template-columns:minmax(0,1fr) 124px!important}#courses .course-booking-note{width:124px!important;max-width:124px!important}#courses .course-fees-open{width:124px!important;height:124px!important;min-height:124px!important;padding:15px!important;font-size:10px!important}#courses .consultation-open{width:108px!important;height:108px!important;min-height:108px!important;padding:14px!important;font-size:10px!important}}

/* Public previews stay closed while these spaces are prepared. */
#portal-tab-studio.studio-coming-soon{position:relative;opacity:1!important;cursor:default}#portal-tab-studio.studio-coming-soon>svg,#portal-tab-studio.studio-coming-soon>.learning-space-card-title,#portal-tab-studio.studio-coming-soon>.learning-space-card-description{opacity:.35}#portal-tab-studio .studio-coming-label{display:inline-block;color:#193c32;font-size:12px;font-weight:600;line-height:1.4;transform:rotate(-5deg);margin-top:6px}#boldly-notes.blog-coming-soon .blog-coming-copy{opacity:.4;pointer-events:none}#boldly-notes.blog-coming-soon .boldly-blog-coming{display:block;font-size:27px;margin:28px 0;transform:rotate(-4deg)}#boldly-notes.blog-coming-soon [data-notes-list],#boldly-notes.blog-coming-soon [data-notes-reader],#boldly-notes.blog-coming-soon [data-notes-retry],#boldly-notes.blog-coming-soon>[role=status]{display:none!important}

/* Upcoming spaces open to illustrations and a dimmed preview, never active tools. */
#main-navigation [data-open-view="boldly-notes"]{opacity:1!important;filter:none!important}
#portal-tab-studio.studio-coming-soon{cursor:pointer}#portal-tab-studio.studio-coming-soon>svg,#portal-tab-studio.studio-coming-soon>.learning-space-card-title,#portal-tab-studio.studio-coming-soon>.learning-space-card-description{opacity:1}
.coming-preview{position:relative;isolation:isolate;max-width:1000px;margin:0 auto;min-height:390px;padding:24px 0;box-sizing:border-box}
.coming-preview-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr);gap:36px;align-items:center;opacity:.35;pointer-events:none;user-select:none}
.coming-preview-copy>.eyebrow{font-size:10px;line-height:1.7;letter-spacing:1px;margin:0 0 16px}.coming-preview-copy>h2,.coming-preview-copy>h3{font:400 clamp(34px,4vw,54px)/1.15 Georgia,serif;letter-spacing:-1px;margin:0 0 24px;color:#193c32}.coming-preview-copy>p{font-size:15px;line-height:1.85;max-width:550px}.coming-preview-copy>.coming-preview-lead{font-size:20px;line-height:1.5}.coming-preview-art{max-width:300px;width:100%;justify-self:center;color:#193c32}.coming-preview-art>svg{display:block;width:100%;height:auto}.coming-preview-labels{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.coming-preview-labels>span{padding:8px 14px;border:1px solid #aabd9c;border-radius:999px;font-size:12px;background:#edf0e6}.coming-preview-watermark{position:absolute;top:50%;left:50%;width:max-content;max-width:95%;display:flex;align-items:center;justify-content:center;margin:0;pointer-events:none;font:italic 50px/1.2 Georgia,serif;letter-spacing:-1px;color:rgba(25,60,50,.65);transform:translate(-50%,-50%) rotate(-9deg);z-index:1}
@media(max-width:680px){.coming-preview{padding:8px 0 24px;min-height:0}.coming-preview-content{grid-template-columns:minmax(0,1fr);gap:10px}.coming-preview-art{max-width:205px}.coming-preview-copy>h2,.coming-preview-copy>h3{font-size:36px;margin-bottom:20px}.coming-preview-copy>p{font-size:14px}.coming-preview-copy>.coming-preview-lead{font-size:18px}.coming-preview-watermark{font-size:40px}}

/* SB Policy uses the same lime pill treatment as the illustrated SB Method link. */
#how .sb-policy-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #193c32;border-radius:999px;background:#d5ed98;color:#193c32;padding:10px 20px;font:500 14px/1.4 Arial,sans-serif;text-decoration:none;min-height:42px;box-sizing:border-box}#how .sb-policy-link:hover{background:#e3f5ba}#how .sb-policy-link:focus-visible{outline:2px solid #193c32;outline-offset:4px}

/* loading-ui.css */
.sb-loading,.portal-loading-notice[aria-busy=true]{display:flex!important;align-items:center;justify-content:center;min-height:36px;padding:8px!important;margin:8px 0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:0!important;line-height:0!important;color:transparent!important}
.sb-loading::before,.portal-loading-notice[aria-busy=true]::before{content:''!important;display:block!important;width:24px!important;height:24px!important;flex:0 0 24px!important;box-sizing:border-box!important;border:3px solid #d5e3cf!important;border-top-color:#3f7657!important;border-radius:50%!important;background:transparent!important;opacity:1!important;animation:sb-green-spin .85s linear infinite!important}
.sb-loading::after,.portal-loading-notice[aria-busy=true]::after{display:none!important}
@keyframes sb-green-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sb-loading::before,.portal-loading-notice[aria-busy=true]::before{animation-duration:2s!important}}
#portal-contact>.portal-interior-art{display:none!important}
.whatsapp-contact:disabled,.join-sb-whatsapp:disabled,#booking-whatsapp:disabled{opacity:.55;cursor:default}

.sb-loading[hidden]{display:none!important}

/* Keep the personal reflection beside the original journey photos. */
#vision.vision-editorial .vision-opening-copy .vision-need-band{margin:8px 0 0!important;padding:0!important;border:0;grid-template-columns:minmax(0,1fr) 52px;gap:14px 18px}
#vision .vision-opening-copy .vision-need-band>p{margin:0;font-size:14px;line-height:1.8}
#vision .vision-opening-copy .vision-need-band>div[aria-hidden]{width:52px;height:60px;color:var(--ink)}
#vision .vision-opening-copy .vision-need-reflection p{font-size:14px;line-height:1.8;margin:0 0 12px}
#vision.vision-editorial .vision-purpose{border-top:1px solid #cbd6c7;padding-top:22px!important}
#vision .vision-purpose .vision-enrollment-promise{margin-bottom:10px}
#vision .vision-purpose .vision-enrollment-promise h3{margin-bottom:0}
#vision .vision-purpose-community{align-items:start}
@media(max-width:680px){#vision.vision-editorial .vision-opening-copy .vision-need-band{margin-top:4px!important;grid-template-columns:minmax(0,1fr) 40px}#vision .vision-opening-copy .vision-need-band>div[aria-hidden]{width:40px;height:48px}#vision.vision-editorial .vision-purpose{padding-top:18px!important}}

/* Match the SB Method pill and keep its label legible on the green panel. */
#how .how-policy-content a.sb-policy-link{display:inline-flex;gap:12px;align-items:center;justify-content:center;background:#d5ed98;color:#193c32!important;border:1px solid #193c32;border-radius:999px;padding:9px 20px;min-height:45px;font:500 15px/1.4 Arial,sans-serif;text-decoration:none;box-sizing:border-box}
#how .how-policy-content a.sb-policy-link:hover{background:#e3f5ba;color:#193c32!important}
#how .how-policy-content a.sb-policy-link:focus-visible{outline:2px solid #faf9f4;outline-offset:4px}
#how .sb-policy-link .sb-policy-icon{display:block;width:27px;height:27px;flex:none;color:#193c32}

/* Compact stacked course actions beside the introduction. */
main>#courses[data-view]{padding-top:24px!important}
#courses .courses-introduction{grid-template-columns:minmax(0,1fr) 108px!important;gap:24px!important;align-items:start!important;border:0!important;padding-bottom:0!important;margin-bottom:20px!important}
#courses .course-booking-note{flex-direction:column!important;width:108px!important;max-width:108px!important;padding:0!important;gap:8px!important}
#courses .course-booking-note .course-fees-open,#courses .course-booking-note .consultation-open{width:104px!important;height:104px!important;min-height:104px!important;padding:12px!important;font-size:10px!important;line-height:1.4;box-sizing:border-box}
#courses .course-fees-open .pricing-circle-art{width:25px;height:25px}
#courses .catalog-controls{border:0!important;padding-top:0!important;margin-top:0!important}
@media(max-width:760px){main>#courses[data-view]{padding-top:18px!important}#courses .courses-introduction{grid-template-columns:minmax(0,1fr) 88px!important;gap:12px!important}#courses .course-booking-note{width:88px!important;max-width:88px!important}#courses .course-booking-note .course-fees-open,#courses .course-booking-note .consultation-open{width:86px!important;height:86px!important;min-height:86px!important;padding:10px!important;font-size:9px!important}#courses .course-fees-open .pricing-circle-art{width:21px;height:21px}}

#courses .catalog-controls .search{border:0!important;box-shadow:none!important}
