:root {
  --bg:#f7f7f3;
  --paper:#fff;
  --ocean:#102b45;
  --deep:#0a233b;
  --blue:#285676;
  --line:#d5e0e5;
  --title:Georgia,"Times New Roman",serif;
}
.brand {min-width:0}
.club-monogram {flex:none}
.club-brand {display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:3px;line-height:1;color:var(--ocean)}
.club-brand .club-wordmark {display:block;width:clamp(110px,11vw,132px);max-width:100%;height:auto;border-radius:0}
.sidebar-note .club-wordmark {width:112px}
.club-brand small {font-size:.55rem;letter-spacing:.23em;font-weight:800;white-space:normal}
.sidebar-note .club-brand small {font-size:.48rem;letter-spacing:.07em}
.top-status {flex:none}
.top-stat.xp {white-space:nowrap}
.club-hero {
  display:grid;grid-template-columns:minmax(0, .86fr) minmax(0,1.14fr);
  gap:clamp(25px,4vw,64px);align-items:center;padding:clamp(14px,3vw,42px) 0 36px;
  border-bottom:1px solid var(--line);
}
.club-intro {padding:0 0 16px}
.welcome-logo {width:clamp(124px,12vw,155px);height:auto}
.club-intro h1 {font:400 clamp(3rem,5.8vw,6.45rem)/.98 var(--title);letter-spacing:-.055em;color:var(--ocean);max-width:11ch}
.club-intro h1 em {font-weight:400;color:var(--blue)}
.club-intro .lead {max-width:37ch}
.club-intro .club-actions {margin-top:22px}
.club-intro .club-actions .button {min-height:46px}
.club-intro .button.primary {padding-inline:22px;border-radius:5px;box-shadow:none}
.club-note {font-size:.74rem}
.club-editorial {margin:0;min-width:0}
.club-editorial img {width:100%;height:auto;aspect-ratio:1.31;object-fit:cover;object-position:56% center;background:var(--ice)}
.club-editorial figcaption {display:flex;justify-content:space-between;gap:14px;padding-top:10px;font-size:.61rem;font-weight:800;letter-spacing:.14em;color:var(--blue)}
.club-rooms {padding:30px 0 10px}
.club-section-head h2 {font:400 clamp(1.7rem,3.1vw,2.7rem)/1.08 var(--title);letter-spacing:-.035em;margin-top:8px}
.club-room-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:18px}
.club-room {text-align:left;background:var(--paper);color:var(--ocean);border:1px solid var(--line);padding:18px;display:grid;gap:9px;min-width:0}
.club-room:hover {border-color:var(--blue);background:var(--foam)}
.club-room strong {font:500 1.27rem/1.15 var(--title)}
.club-room-meta {display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.63rem;font-weight:800;letter-spacing:.095em;text-transform:uppercase;color:var(--blue)}
.club-room-meta .icon {width:16px;height:16px}
.page-title {font-weight:500;letter-spacing:-.05em}
@media(max-width:730px) {
  .club-hero {grid-template-columns:1fr;gap:15px;padding-bottom:24px}
  .club-intro {padding:5px 4px 10px}
  .club-intro h1 {font-size:clamp(2.9rem,10vw,4.9rem);max-width:14ch}
  .club-editorial img {aspect-ratio:1.4}
  .club-rooms {padding-top:24px}
  .club-room-grid {grid-template-columns:1fr}
}
@media(max-width:360px) {
  .brand {gap:6px}
  .club-monogram {width:34px;height:34px}
  .brand .club-wordmark {width:100px}
  .brand .club-brand small {display:none}
  .club-intro h1 {font-size:2.65rem}
}

/* Shared campus typography and surfaces. */
:root {
  --foam:#f5f7f7;
  --ice:#edf3f6;
  --surf:#dfedf3;
  --sky:#b7d3e3;
  --shore:#829eaf;
  --quiet:#4b6171;
  --soft-ink:#344e60;
  --radius:10px;
}
.club-brand small {text-transform:uppercase;letter-spacing:.18em}
.topbar {background:#fff}
.top-stat,.edition {border-radius:5px;font-size:.75rem}
.top-stat .icon {width:15px;height:15px}
.streak-icon {font-size:15px;line-height:1}
.button,.button.primary,.button.orange,.icon-btn {border-radius:6px;box-shadow:none}
.button {font-weight:700}
.button.sm {min-height:42px}
.card-title {font:500 clamp(1.35rem,2.1vw,1.7rem)/1.13 var(--title);letter-spacing:-.03em}
.tag,.tag.neutral,.tag.orange,.tag.green {background:var(--ice);border:1px solid var(--line);color:var(--ocean)}
.tag {border-radius:5px;font-size:.61rem;letter-spacing:.07em}
.option,.pill,.answer,.answer-line,.token {border-radius:6px}
.option[aria-pressed=true],.pill[aria-pressed=true] {background:var(--ice);border-color:var(--blue)}
.correction,.hint,.audio-row,.coach {border-radius:6px}
.correction {background:var(--ice);border:1px solid var(--line);border-left:3px solid var(--blue)}
.correction.retry {background:#faf7ee;border:1px solid #d9cfbb;border-left:3px solid #8d754c}
.coach {background:var(--foam);border:1px solid var(--line)}
.coach .coach-ray {width:32px;height:32px;border-radius:6px}
.coach strong {font-size:.72rem}
progress {height:5px}
progress::-webkit-progress-bar {background:var(--ice)}
progress::-webkit-progress-value {background:var(--blue)}
progress::-moz-progress-bar {background:var(--blue)}
.sidebar-note img {border-radius:6px}
.nav-button {border-radius:5px;font-weight:650}
.nav-button[aria-current=page] {background:var(--ice);border-color:var(--line)}
.nav-button .count {background:var(--paper)}
.academy-view {width:min(100%,1000px);margin-inline:auto}
.academy-view > header,.academy-view > div > header {padding-bottom:8px}
.academy-split {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(205px,.7fr);gap:16px;align-items:start}
.academy-split > * {min-width:0}
.academy-note {background:var(--foam)}
.academy-choice {display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:12px;padding:12px 14px}
.academy-choice strong {display:block;font:500 1.16rem/1.25 var(--title)}
.academy-choice .option-detail {display:block;margin-top:4px}
.academy-choice-number {font:500 1rem var(--title);color:var(--blue)}
.academy-choice-icon {color:var(--blue);display:grid}
.academy-form legend {margin-bottom:10px}
.academy-method {border-top:1px solid var(--line);margin-top:22px;padding:28px 0 8px}
.method-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:18px 0 0}
.method-steps li {display:flex;align-items:flex-start;gap:11px;border-top:1px solid var(--line);padding-top:12px}
.method-steps li > span {font:500 1.1rem var(--title);color:var(--blue)}
.method-steps strong {font-size:.94rem}
.method-steps p {font-size:.84rem;color:var(--quiet);margin-top:3px}

/* Academy workspace and study record. */
.programme-banner {
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);min-height:246px;
  border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);overflow:hidden;
}
.programme-brief {padding:clamp(20px,3.2vw,34px);align-self:center}
.programme-banner img {height:100%;width:100%;object-fit:cover;object-position:46% center}
.programme-banner .page-title {font-size:clamp(2.25rem,4.35vw,3.65rem)}
.programme-banner .lead {font-size:.95rem}
.programme-progress {display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--quiet);font-size:.76rem;margin-top:17px}
.course-grid {grid-template-columns:minmax(0,1.65fr) minmax(214px,1fr);gap:16px}
.study-agenda .button {margin-top:14px}
.academy-section-label {margin-top:23px}
.path-list {margin-top:10px}
.path-list::before {display:none}
.path-node {border-radius:7px}
.path-node.active {background:var(--paper);border-color:var(--blue);box-shadow:inset 3px 0 var(--blue)}
.node-bubble {border-radius:6px;background:var(--ice);font:500 1rem var(--title)}
.active .node-bubble {background:var(--ocean);color:var(--paper)}
.path-status {font-size:.67rem;color:var(--quiet);padding-right:2px}
.session-steps {padding:0;list-style:none}
.study-agenda .session-steps li {padding:7px 0}
.advanced-session {background:var(--foam)}
.academy-room-card {background:var(--ocean);color:var(--paper);border-color:var(--ocean)}
.academy-room-card .eyebrow,.academy-room-card .small {color:var(--surf)}
.academy-room-card .button {color:var(--ocean)}
.academy-evidence {border-top:1px solid var(--line);padding:12px 0}
.academy-evidence:last-child {padding-bottom:0}
.academy-evidence summary > span + span {margin-left:10px;font-weight:500}
.academy-table {width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}
.academy-table th,.academy-table td {padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.academy-table thead th {font-size:.71rem;color:var(--quiet);letter-spacing:.04em}
.academy-table tbody th {font-weight:650}
.evidence-met {color:var(--blue);font-weight:700}
.academy-metrics {gap:10px}
.academy-metrics div {border-radius:7px;padding:13px}
.academy-metrics strong {font:500 clamp(1.1rem,2.9vw,1.8rem)/1.1 var(--title)}
.academy-metrics span {display:block;margin-top:6px}
.review-line .small {display:block;margin-top:3px}
.checkpoint-card {border-top:3px solid var(--ocean)}
.session-brief {width:min(100%,1000px)}
.session-objective {background:var(--foam);border:1px solid var(--line);border-left:3px solid var(--blue);padding:12px 14px}
.session-objective p + p {margin-top:3px}
.lesson-card .scene {background:var(--paper);border-left:2px solid var(--line);border-radius:0;padding:8px 13px}
.lesson-card .prompt {font:500 clamp(1.42rem,3.4vw,2rem)/1.17 var(--title);letter-spacing:-.02em}
.model-panel {background:var(--ice);padding:14px}
.model-phrase {font:500 1.12rem/1.4 var(--title);color:var(--ocean)}
.model-panel .audio-row {padding:0;background:transparent}
.results-card {background:var(--paper);border-top:3px solid var(--ocean)}

/* Practice salons and private circles. */
.salon-list {display:grid;gap:12px}
.call-screen {border-radius:12px;box-shadow:none}
.call-top .tag {color:var(--surf);background:#193952;border-color:#486578}
.call-workspace,.call-caption,.call-controls .button,.call-workspace .call-feedback,.self-tile,.call-top .icon-btn {border-radius:6px}
.call-workspace .card-title {font:500 1.45rem/1.2 var(--title)}
.call-caption h1 {font:500 clamp(1.65rem,4vw,2.3rem)/1.06 var(--title);letter-spacing:-.02em}
.caller-stage {background:linear-gradient(#edf3f6bf,#edf3f6c9),url("./assets/academy-study.webp") center / cover}
.call-layout .chat-thread {background:#e5eef3}
.chat-message.incoming {background:var(--paper)}
.chat-message {border-radius:8px}
.call-finish .academy-metrics {grid-template-columns:repeat(2,minmax(0,1fr))}
.invite-card,.form-field input {border-radius:6px}
.leader-table caption {caption-side:top;text-align:left;margin-bottom:7px;color:var(--quiet);font-size:.78rem}
@media(min-width:841px) {
  .app-shell.with-nav {grid-template-columns:176px minmax(0,1fr);gap:24px}
  .sidebar {border-right:1px solid var(--line);padding-right:14px}
}
@media(max-width:840px) {
  .navigation {grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row;gap:4px}
  .nav-button {flex-direction:column;gap:4px;padding:6px 2px;font-size:.66rem}
  .nav-button .count {display:none}
}
@media(max-width:680px) {
  .programme-banner,.course-grid,.academy-split,.method-steps {grid-template-columns:1fr}
  .programme-banner img {height:140px;object-position:center 58%}
  .programme-brief {padding:19px}
  .path-node {grid-template-columns:38px minmax(0,1fr);gap:8px}
  .path-node .node-bubble {width:31px;height:36px;grid-row:span 2}
  .path-status {grid-column:2;padding:0}
  .academy-view > header {padding-bottom:4px}
  .academy-metrics {gap:6px}
  .academy-metrics div {padding:9px}
  .academy-metrics span {font-size:.68rem}
  .academy-table th,.academy-table td {padding:8px 5px;font-size:.76rem}
}
@media(max-width:390px) {
  .top-inner {gap:6px}
  .club-brand small {font-size:.49rem;letter-spacing:.12em}
  .edition {font-size:.57rem;padding:5px 7px}
  .top-stat {padding:4px;font-size:.68rem}
  .call-finish {margin:14px}
}

/* Guide portraits and regional listening */
.guide-preview {display:grid;grid-template-columns:minmax(60px,95px) minmax(0,1fr);gap:14px;align-items:center;background:var(--foam);border-top:3px solid var(--blue)}
.guide-avatar {display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px}
.accent-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.guide-place {font-weight:650}
.guide-face {aspect-ratio:4/5;overflow:hidden;border-radius:8px;background:var(--deep)}
.guide-face.talking {outline:2px solid var(--sky);outline-offset:3px}
.accent-invite {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:var(--foam)}
.accent-sample {display:grid;justify-items:start;gap:5px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--foam)}
@media(min-width:1200px) { .club-room-grid {grid-template-columns:repeat(5,minmax(0,1fr))} }
@media(min-width:731px) and (max-width:999px) { .club-room-grid {grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:730px) { .accent-grid {grid-template-columns:1fr} }

/* Placement and the personalised study plan */
.country-option .country-mark {font-size:1.35rem;line-height:1}
.country-option .academy-choice-icon {width:auto;min-width:24px;font-size:.72rem}
.placement-test blockquote {margin:0;white-space:pre-line}
.placement-skills {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.placement-skills > div {display:grid;gap:3px;padding:9px;background:var(--foam);border-radius:6px;font-size:.83rem}
.placement-skills span {font-variant-numeric:tabular-nums}
.personal-plan {background:var(--foam);border-left:3px solid var(--blue);overflow-wrap:anywhere}
.regional-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:12px}
.regional-grid article {display:flex;flex-direction:column;align-items:flex-start}
.regional-grid article button {margin-top:auto}
.term-extension {border-top:1px solid var(--line);padding-top:7px;margin-top:8px}
.term-extension button {white-space:normal;text-align:left}

/* Short sample, onboarding and the daily study panel. */
.club-hero-details {display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px}
.club-hero-details .text-btn {min-height:34px}
.setup-steps {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;
  padding:0;margin:0;list-style:none;color:var(--quiet);
}
.setup-steps li {display:flex;align-items:center;gap:7px;border-bottom:2px solid var(--line);padding:8px 2px;font-size:.78rem}
.setup-steps li span {flex:none;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--ice);font-weight:700}
.setup-steps li[aria-current=step],.setup-steps .step-done {color:var(--ocean);border-color:var(--blue)}
.setup-steps li[aria-current=step] span {background:var(--ocean);color:var(--paper)}
.setup-view .setup-actions {margin-top:4px}
.setup-view .country-option .academy-choice-icon {min-width:25px}
.placement-test .setup-steps {margin-bottom:15px}
.placement-level-card {border-color:#bdd7e5;background:linear-gradient(135deg,#fff,var(--foam))}
.placement-level-scale,.placement-level-options {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.placement-level-scale span {height:7px;background:var(--line);border-radius:20px}
.placement-level-scale .level-filled {background:var(--blue)}
.placement-level-options .placement-level {
  justify-content:center;min-width:0;min-height:48px;padding:7px 4px;text-align:center;font-size:.86rem
}
.placement-level[aria-pressed="true"] {background:var(--ocean);border-color:var(--ocean);color:var(--paper)}
.placement-warmup-feedback {padding:12px;border-radius:7px}
@media(max-width:640px) {
  .placement-level-options {grid-template-columns:repeat(3,minmax(0,1fr))}
}
.placement-orientation .option {justify-content:space-between}
.sample-card .audio-row {margin-top:0}
.sample-card .sample-feedback {margin:0}
.sample-aside {background:var(--foam);border-top:3px solid var(--blue)}
.sample-aside .button {justify-self:start}
.today-session {
  display:grid;grid-template-columns:minmax(0,1.65fr) minmax(200px,1fr);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);
}
.today-next,.today-overview {padding:clamp(15px,2.2vw,25px)}
.today-next {background:var(--ocean);color:var(--paper)}
.today-next .eyebrow,.today-next .small {color:var(--surf)}
.today-next .button.primary {background:var(--surf);border-color:var(--surf);color:var(--deep)}
.today-next .button:focus-visible {outline-color:var(--sky)}
.today-actions {margin-top:9px}
.today-overview {display:grid;align-content:center}
.today-time {display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.today-time strong {font:500 clamp(1.6rem,3.3vw,2.3rem)/1.08 var(--title);color:var(--ocean)}
.today-time span {font-size:.86rem;color:var(--quiet)}
.today-overview .row {margin-top:4px}
.today-saved {display:flex;align-items:center;gap:6px;color:var(--paper);font-size:.78rem}
.today-saved .icon {width:16px;height:16px}
.regional-group > summary {display:list-item;min-height:36px;padding:4px 0}
.regional-group > summary .small {margin-left:8px;font-weight:500}
.regional-group .regional-grid {margin-top:12px}
.regional-group .regional-grid .card {background:var(--foam)}

/* A single mobile row with secondary destinations in a disclosure. */
.nav-main,.nav-extra {display:contents}
.nav-more {display:none}
@media(max-width:840px) {
  .app-shell.with-nav ~ .site-foot {padding-bottom:calc(65px + env(safe-area-inset-bottom))}
  .navigation {position:relative;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;max-width:600px}
  .navigation > .nav-more {display:flex}
  .nav-more[data-section-active],.nav-more[aria-expanded=true] {background:var(--ice);border-color:var(--line);color:var(--ocean)}
  .navigation > .nav-extra {display:none}
  .navigation > .nav-extra[data-open=true] {
    display:grid;grid-template-columns:minmax(0,1fr);gap:3px;position:absolute;z-index:1;
    width:min(220px,100%);right:0;bottom:calc(100% + 10px);padding:6px;
    border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 10px 25px #14283d20;
  }
  .nav-extra .nav-button {flex-direction:row;justify-content:flex-start;gap:9px;padding:7px 11px;font-size:.89rem}
  .nav-main .nav-button {position:relative}
  .nav-main .nav-button .count {display:block;position:absolute;top:0;right:8%;font-size:.6rem;min-width:15px;line-height:1.4;padding:0 2px}
}
@media(max-width:680px) {
  .programme-banner {min-height:auto}
  .programme-banner img {display:none}
  .today-session {grid-template-columns:minmax(0,1fr)}
  .setup-steps li {font-size:.72rem;gap:5px}
  .setup-steps li span {width:21px;height:21px}
  .setup-view .side-stack .guide-preview {display:none}
  .top-status .lives-pill {min-height:34px}
}

.tutor-picker {display:grid;gap:16px;padding:clamp(14px,2.6vw,26px)}
.tutor-regions {margin:0}
.tutor-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tutor-card {
  display:grid;grid-template-columns:minmax(86px,.7fr) minmax(0,1fr);align-items:center;gap:14px;
  padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)
}
.tutor-card[data-selected] {border-color:var(--blue);background:var(--foam)}
.tutor-card .guide-avatar {max-height:220px;object-position:center 36%}
.tutor-details h3 {font:500 clamp(1.23rem,2.1vw,1.75rem)/1.1 var(--title);letter-spacing:-.035em}
.tutor-actions {gap:6px}
.tutor-actions .button {white-space:normal}
.tutor-picker-foot {display:flex;gap:8px 18px;flex-wrap:wrap;justify-content:space-between}
.tutor-picker-foot #call-status:empty {display:none}
.salon-scene {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;padding:17px}
.salon-scene .card-title {font-size:1.23rem}
@media (max-width:900px) {
  .salon-scene {grid-template-columns:1fr}
}
@media (max-width:710px) {
  .tutor-cards {grid-template-columns:1fr}
  .tutor-card {grid-template-columns:minmax(74px,28%) minmax(0,1fr);gap:11px}
  .tutor-card .guide-avatar {max-height:142px}
}

.call-screen .caller-stage .guide-face {width:clamp(132px,20vw,218px)}
