/* GUGA identity is inherited from the canonical site: wine, paper, Caslon and DM Sans. */
.gc-main { --gc-muted:#62564f; --gc-surface:#fffdf9; }
.gc-main [hidden] { display:none!important; }
.gc-main :is(button,a,input,select):focus-visible { outline:2px solid var(--burgundy); outline-offset:4px; }
.gc-main button { cursor:pointer; }
.gc-main :is(input,select,button) { font-family:var(--sans); }
.gc-main h1,.gc-main h2,.gc-main h3 { text-wrap:balance!important; }
.gc-main .gc-intro { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:7%;padding-block:40px 48px; }
.gc-intro h1 { margin-block:0 16px; }
.gc-main .gc-lead { max-width:58ch;font-size:18px;line-height:1.6;margin-bottom:18px; }
.gc-entry-links { display:flex;gap:28px;flex-wrap:wrap; }
.gc-entry-links a { display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:14px;font-weight:600;color:var(--burgundy);border-bottom:1px solid var(--line); }
.gc-intro-image { margin:0;position:relative; }
.gc-intro-image img { display:block;width:100%;height:260px;object-fit:cover;object-position:50% 38%; }
.gc-intro-image figcaption { font-family:var(--serif);background:var(--burgundy);color:var(--cream);font-size:22px;line-height:1.2;padding:16px 20px; }
.gc-main .gc-catalogue { padding-block:40px 52px;background:var(--cream); }
.gc-heading-line { display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:25px; }
.gc-main .gc-heading-line h2 { margin:0;font-family:var(--sans);font-size:26px!important;font-weight:500;letter-spacing:-.02em;line-height:1.3; }
.gc-form { margin:0; }
.gc-main-search { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px; }
.gc-field { display:flex;flex-direction:column;min-width:0;gap:7px;color:var(--ink); }
.gc-field>span { font-size:13px;font-weight:600; }
.gc-field :is(select,input) { width:100%;height:50px;min-width:0;border:1px solid #9e887d;background:var(--gc-surface);border-radius:2px;color:var(--ink);padding:10px 14px;font-size:16px; }
.gc-field select { text-overflow:ellipsis;padding-inline-end:28px; }
.gc-field input::placeholder { color:var(--gc-muted);opacity:1; }
.gc-search-field>div { position:relative; }
.gc-search-field svg { position:absolute;inset-inline-start:15px;top:15px;width:20px;height:20px;stroke-width:1.5; }
.gc-search-field input { padding-inline-start:44px; }
.gc-secondary { display:flex;align-items:end;gap:16px;margin-top:16px; }
.gc-secondary>.gc-field { flex:1 1 0; }
.gc-main .gc-apply { min-height:50px;white-space:nowrap; }
.gc-filter-toggle { display:none; }
.gc-subject-shortcuts { display:flex;gap:8px;margin-block:20px 24px;flex-wrap:wrap; }
.gc-subject-shortcuts button { border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--burgundy);padding:9px 15px;min-height:40px;font-size:14px;transition:background-color 150ms ease-out; }
.gc-subject-shortcuts button[aria-pressed="true"] { background:var(--burgundy);border-color:var(--burgundy);color:var(--paper); }
.gc-subject-shortcuts button:hover { border-color:var(--burgundy); }
.gc-result-line { display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:18px;border-top:1px solid var(--line); }
.gc-main .gc-result-line p { margin:0;font-size:15px;font-weight:500;color:var(--ink); }
.gc-sort { flex-direction:row;align-items:center;gap:10px;max-width:340px; }
.gc-sort>span { white-space:nowrap;font-weight:400; }
.gc-sort select { height:42px;font-size:14px;background:transparent;border-color:var(--line); }
.gc-active-filters { display:flex;gap:10px;flex-wrap:wrap; }
.gc-active-filters:not(:empty) { padding-bottom:18px; }
.gc-active-filters button { border:0;min-height:36px;background:var(--paper);padding:6px 12px;font-size:13px;color:var(--burgundy);border-radius:2px; }
.gc-active-filters [data-reset] { background:transparent;text-decoration:underline;text-underline-offset:4px; }
.gc-results { display:flex;flex-direction:column;gap:16px; }
.gc-card { display:grid;grid-template-columns:136px minmax(0,1fr) 218px;gap:26px;padding:28px;background:var(--gc-surface);border:1px solid var(--line);border-radius:2px; }
.gc-portrait { aspect-ratio:4/5;width:136px;display:grid;place-items:center;align-self:start;background:#e7ded0;color:var(--burgundy); }
.gc-portrait svg { width:75%;height:75%;stroke:currentColor;stroke-width:1.2;opacity:.7; }
.gc-portrait--1 { background:#dce3dd;color:#344a40; }
.gc-portrait--2 { background:#e1d7d3;color:#55272b; }
.gc-person { min-width:0; }
.gc-person-top { display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px; }
.gc-main .gc-person h3 { font-family:var(--sans);font-size:22px!important;font-weight:600;line-height:1.3;margin:0;color:var(--ink);overflow-wrap:anywhere; }
.gc-status { color:var(--gc-muted);font-size:12px; }
.gc-main .gc-subjects { color:var(--burgundy);margin:8px 0 6px;font-size:14px;font-weight:500; }
.gc-subjects>span { margin-inline:5px;color:var(--gc-muted); }
.gc-main .gc-languages { font-size:13px;line-height:1.55;margin:0 0 12px; }
.gc-languages strong { font-weight:500;color:var(--ink);margin-inline-start:5px; }
.gc-main .gc-headline { font-weight:600;font-size:15px;line-height:1.5;color:var(--ink);margin:0 0 8px; }
.gc-main .gc-bio { font-size:15px;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere; }
.gc-card[data-expanded] .gc-bio { display:block; }
.gc-main:not([data-enhanced]) .gc-bio { display:block; }
.gc-main:not([data-enhanced]) [data-expand] { display:none; }
.gc-profile-actions { display:flex;gap:20px;align-items:center;margin-top:8px;flex-wrap:wrap; }
.gc-profile-link,.gc-text-button { font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.4;color:var(--burgundy);text-decoration:underline;text-underline-offset:5px;border:0;padding:10px 0;min-height:40px;background:transparent; }
.gc-profile-link { display:inline-flex;gap:10px;align-items:center; }
.gc-profile-link:hover,.gc-text-button:hover { text-decoration-thickness:2px; }
.gc-book { display:flex;flex-direction:column;gap:14px;align-items:stretch;border-inline-start:1px solid var(--line);padding-inline-start:24px; }
.gc-main .gc-price { font-family:var(--sans);font-size:28px;font-weight:500;line-height:1.2;color:var(--ink);margin:0 0 5px; }
.gc-main .gc-price--unknown { font-family:var(--sans);font-size:15px;line-height:1.4;font-weight:500; }
.gc-main .gc-unit { font-size:13px;line-height:1.4;margin:0; }
.gc-main .gc-calendar-note { display:flex;align-items:start;gap:8px;font-size:13px;line-height:1.45;margin:0; }
.gc-calendar-note svg { width:17px;height:17px;flex:none;stroke-width:1.5;margin-top:2px; }
.gc-main .gc-book-button { margin-top:auto;gap:10px;white-space:normal;padding-inline-start:15px;min-height:48px;line-height:1.4; }
.gc-book-button i { width:25px;height:25px;flex:none; }
.gc-empty { padding:50px 28px;background:var(--gc-surface);border-block:1px solid var(--line);text-align:center; }
.gc-main .gc-empty h3 { margin-bottom:12px; }
.gc-empty p { max-width:55ch;margin-inline:auto; }
.gc-empty>div { display:flex;justify-content:center;gap:24px;flex-wrap:wrap; }
.gc-pagination { text-align:center;padding-top:28px; }
.gc-main .gc-pagination p,.gc-main .gc-timezone { font-size:13px; }
.gc-more { background:transparent;border:1px solid var(--burgundy);border-radius:2px;color:var(--burgundy);font-size:14px;font-weight:500;min-height:50px;padding:12px 26px; }
.gc-more span { margin-inline-start:20px; }
.gc-more:hover { background:var(--paper); }
.gc-main .gc-timezone { margin:24px 0 0;text-align:center; }
.gc-process h2 { margin-bottom:34px; }
.gc-process ol { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;padding:0;margin:0; }
.gc-process li { display:flex;gap:20px;border-top:1px solid var(--line);padding-top:22px; }
.gc-process li>span { font-family:var(--serif);font-size:32px;color:var(--burgundy);line-height:1.2; }
.gc-main .gc-process h3 { margin-bottom:12px; }
.gc-main .gc-process p { font-size:16px;margin:0; }
.gc-main .gc-teach { display:flex;align-items:center;justify-content:space-between;gap:36px;background:var(--burgundy);color:var(--cream);padding-block:48px; }
.gc-teach h2 { color:var(--cream)!important;margin-bottom:14px; }
.gc-main .gc-teach p { color:var(--cream);margin:0;max-width:60ch; }
.gc-teach>a { flex:none;max-width:100%; }
.gc-demo-note { font-size:13px;line-height:1.5;padding:10px 5.3vw;background:#efe0cd;color:#493221;border-bottom:1px solid #cfbfa9; }
.gc-demo-dialog { width:min(520px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:1px solid var(--burgundy);border-radius:2px;padding:28px;background:var(--paper);color:var(--ink); }
.gc-demo-dialog::backdrop { background:#211b1866; }
.gc-demo-dialog h2 { font-family:var(--serif);font-size:32px;clear:both;margin-top:20px; }
.gc-demo-dialog p { font-size:16px;line-height:1.65; }
.gc-dialog-close { float:inline-end;min-height:44px;border:0;background:transparent;color:var(--burgundy);font-size:14px; }
@media(max-width:1100px){.gc-card{grid-template-columns:110px minmax(0,1fr) 180px;gap:20px;padding:24px}.gc-portrait{width:110px}.gc-book{padding-inline-start:18px}.gc-main .gc-person h3{font-size:25px!important}.gc-main .gc-intro{gap:5%}.gc-main .gc-lead{font-size:17px}.gc-intro-image img{height:240px}.gc-heading-line h2{font-size:32px!important}}
@media(max-width:760px){
 .gc-main .gc-intro{display:block;padding-block:24px 30px}.gc-intro-image{display:none}.gc-main .gc-lead{font-size:17px}.gc-entry-links{gap:24px}.gc-main .gc-catalogue{padding-block:28px 32px}.gc-heading-line{align-items:start;margin-bottom:20px}.gc-heading-line h2{font-size:28px!important}.gc-heading-line>a{font-size:12px;max-width:110px;text-align:end;justify-content:end;padding-top:3px;line-height:1.6}.gc-main-search{grid-template-columns:minmax(0,1fr) auto;gap:12px}.gc-subject-field{grid-column:1/-1}.gc-search-field>span{display:none}.gc-filter-toggle{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--paper);border:1px solid #9e887d;border-radius:2px;color:var(--burgundy);padding:12px;font-size:14px;min-height:50px}.gc-filter-toggle svg{width:20px;height:20px;stroke-width:1.5}.gc-secondary{flex-direction:column;align-items:stretch;gap:14px}.gc-secondary>.gc-field{flex:auto}.gc-main[data-enhanced] .gc-secondary{display:none}.gc-main[data-enhanced] .gc-secondary[data-open]{display:flex;padding:20px;background:var(--paper);border:1px solid var(--line)}.gc-main .gc-apply{justify-content:space-between}.gc-subject-shortcuts{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;gap:8px;margin-bottom:16px;scrollbar-width:thin}.gc-subject-shortcuts button{white-space:nowrap;font-size:13px}.gc-result-line{align-items:start;gap:12px}.gc-main .gc-result-line p{font-size:13px;padding-top:10px}.gc-sort{max-width:170px}.gc-sort>span{display:none}.gc-sort select{font-size:13px;padding-inline-start:8px}.gc-card{grid-template-columns:72px minmax(0,1fr);gap:0 16px;padding:20px}.gc-portrait{width:72px;grid-column:1;grid-row:1}.gc-portrait span{font-size:28px}.gc-person{display:contents}.gc-person-top{grid-column:2;align-content:start;gap:6px;min-height:52px;display:block}.gc-main .gc-person h3{font-size:23px!important;margin-bottom:6px}.gc-status{font-size:11px}.gc-main .gc-subjects{grid-column:2;font-size:13px;margin:0 0 18px}.gc-language-summary{grid-column:1/-1;min-width:0}.gc-main .gc-languages{grid-column:1/-1;font-size:13px;margin-bottom:12px}.gc-main .gc-headline,.gc-main .gc-bio,.gc-profile-actions{grid-column:1/-1}.gc-main .gc-bio{font-size:16px;line-height:1.55}.gc-main .gc-headline{font-size:15px}.gc-book{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.1fr;align-items:start;gap:14px;border-inline-start:0;border-top:1px solid var(--line);padding:16px 0 0;margin-top:14px}.gc-main .gc-price{font-size:30px}.gc-main .gc-price--unknown{font-size:14px}.gc-main .gc-calendar-note{font-size:12px}.gc-main .gc-book-button{grid-column:1/-1;width:100%;min-height:50px;font-size:14px}.gc-main .gc-process{padding-block:44px}.gc-process ol{grid-template-columns:1fr;gap:24px}.gc-process li{gap:20px}.gc-process li>span{font-size:30px}.gc-main .gc-teach{display:block;padding-block:36px}.gc-teach>a{margin-top:24px}.gc-demo-note{font-size:12px;padding-inline:6vw}.gc-empty{padding:32px 18px}.gc-empty>div{gap:8px 24px}}
@media(prefers-reduced-motion:reduce){.gc-main *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Quiet luxury: catalogue rhythm, restrained controls and the existing GUGA palette. */
.gc-main .gc-catalogue { background:var(--paper);padding-block:48px 64px;border-top:1px solid var(--line); }
.gc-heading-line { margin-bottom:36px; }
.gc-main .gc-heading-line h2 { font-family:var(--serif);font-size:34px!important;font-weight:400;letter-spacing:0; }
.gc-heading-line>a { font-weight:400; }
.gc-main-search { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px; }
.gc-field>span { font-size:12px;font-weight:500;color:var(--gc-muted); }
.gc-field :is(select,input) { height:48px;background:transparent;border:0;border-bottom:1px solid #a8978b;border-radius:0;padding-inline-start:0; }
.gc-search-field input { padding-inline-start:32px; }
.gc-search-field svg { inset-inline-start:0; }
.gc-secondary { gap:32px; }
.gc-main[data-enhanced] .gc-apply { display:none; }
.gc-subject-shortcuts { gap:22px;margin-block:24px 28px; }
.gc-subject-shortcuts button { padding:6px 0;border:0;border-bottom:1px solid transparent;border-radius:0;background:none;min-height:38px;color:var(--gc-muted);font-size:14px;font-weight:400; }
.gc-subject-shortcuts button[aria-pressed="true"] { background:none;color:var(--burgundy);border-color:var(--burgundy); }
.gc-subject-shortcuts button:hover { color:var(--burgundy); }
.gc-result-line { padding-block:18px 22px; }
.gc-main .gc-result-line p { font-size:13px;font-weight:400;color:var(--gc-muted); }
.gc-sort select { border:0;height:36px;font-size:13px; }
.gc-sort>span { font-size:12px; }
.gc-active-filters button { background:var(--cream);font-weight:400; }
.gc-results { gap:0; }
.gc-card { grid-template-columns:112px minmax(0,1fr) 216px;padding:32px 0;gap:32px;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0; }
.gc-card:last-child { border-bottom:1px solid var(--line); }
.gc-portrait { width:112px;aspect-ratio:4/5;background:#e8e2d8;color:#867366; }
.gc-portrait--1 { background:#e4e3db;color:#7a7d6c; }
.gc-portrait--2 { background:#e8dfdc;color:#937b74; }
.gc-portrait svg { width:80%;height:80%;opacity:.55;stroke-width:1; }
.gc-main .gc-person h3 { font-family:var(--sans);font-size:21px!important;font-weight:500;line-height:1.3; }
.gc-status { font-size:11px;font-weight:400; }
.gc-main .gc-subjects { font-size:13px;font-weight:400;margin-top:9px; }
.gc-main .gc-headline { font-size:16px;font-weight:500;margin-top:15px; }
.gc-main .gc-bio { font-size:15px;line-height:1.65;max-width:64ch; }
.gc-profile-link,.gc-text-button { font-size:13px;font-weight:400;text-decoration-color:#baa89c; }
.gc-book { gap:18px;border:0;padding-inline-start:16px; }
.gc-main .gc-price { font-size:20px;font-weight:500; }
.gc-main .gc-price--unknown { font-size:14px; }
.gc-main .gc-book-button { color:var(--burgundy);background:transparent;border:1px solid #98746a;min-height:46px;font-size:13px;font-weight:400;padding-inline:15px 10px; }
.gc-main .gc-book-button:hover { color:var(--paper);background:var(--burgundy);transform:none; }
.gc-book-button i { border:0;font-size:19px; }
.gc-main .gc-calendar-note { font-size:12px;line-height:1.6; }
.gc-more { border-color:#98746a;font-weight:400; }
.gc-demo-note { padding-block:8px;background:var(--paper);border:0;color:var(--gc-muted);font-size:12px; }
.gc-pagination { padding-top:32px; }
@media(max-width:1100px){.gc-card{grid-template-columns:100px minmax(0,1fr) 190px;gap:26px}.gc-portrait{width:100px}.gc-main-search,.gc-secondary{gap:24px}}
@media(max-width:760px){
 .gc-main .gc-catalogue{padding-block:32px 40px}.gc-heading-line{margin-bottom:22px;gap:20px}.gc-main .gc-heading-line h2{font-size:29px!important}.gc-heading-line>a{font-size:12px}.gc-main-search{grid-template-columns:minmax(0,1fr) auto;gap:20px 16px}.gc-filter-toggle{background:transparent;border:0;border-bottom:1px solid #a8978b;border-radius:0;padding:10px 0 10px 12px;font-size:13px}.gc-field>span{font-size:12px}.gc-subject-shortcuts{gap:22px;margin-block:18px 20px}.gc-subject-shortcuts button{font-size:13px}.gc-secondary{gap:18px}.gc-main[data-enhanced] .gc-secondary[data-open]{padding:20px 0;background:transparent;border:0}.gc-main[data-enhanced] .gc-apply{display:flex;min-height:44px}.gc-main .gc-result-line p{font-size:12px}.gc-sort{max-width:155px}.gc-sort select{font-size:12px}.gc-result-line{padding-block:14px 18px}.gc-card{grid-template-columns:64px minmax(0,1fr);padding:26px 0;gap:0 16px}.gc-portrait{width:64px}.gc-main .gc-person h3{font-size:20px!important}.gc-main .gc-subjects{margin-top:3px;margin-bottom:18px;font-size:12px}.gc-main .gc-headline{font-size:16px;margin-top:8px}.gc-main .gc-bio{font-size:16px;line-height:1.65}.gc-main .gc-languages{font-size:13px}.gc-book{padding:18px 0 0;margin-top:12px;gap:14px;border-top:1px solid var(--line)}.gc-main .gc-price{font-size:18px}.gc-main .gc-price--unknown{font-size:14px}.gc-main .gc-book-button{min-height:48px;font-size:14px}.gc-main .gc-timezone{font-size:12px}.gc-demo-note{font-size:11px}}
.gc-main .ga-entry { min-height:124px;padding:24px;border-width:1.5px; }
.gc-main .ga-entry-copy strong { font-family:var(--sans);font-size:20px;font-weight:600;line-height:1.35; }
.gc-main .ga-entry-copy>.ga-entry-status { font-size:14px;font-weight:500; }
.gc-main .ga-entry>i { width:36px;height:36px;flex-basis:36px; }
.gc-main .ga-entry--student { background:var(--burgundy);color:var(--paper); }
.gc-main .ga-entry--teacher { background:var(--cream);color:var(--burgundy);border-color:var(--burgundy); }
.gc-main .ga-entry--teacher>i { background:var(--burgundy);color:var(--paper);border-color:var(--burgundy); }
@media(max-width:760px){.gc-main .ga-entry{min-height:98px;padding:20px}.gc-main .ga-entry-copy strong{font-size:19px}.gc-main .ga-entry-copy>.ga-entry-status{font-size:14px}}
.gc-main .gc-access-title { font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink);margin:0; }
.gc-main .gc-hero-actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:24px; }
.gc-main .gc-hero-actions .button { min-height:48px;gap:20px;font-size:14px;line-height:1.4;white-space:normal; }
.gc-main .gc-teacher-join { color:var(--burgundy);background:transparent;border:1px solid var(--burgundy); }
.gc-main .gc-teacher-join:hover { color:var(--paper);background:var(--burgundy); }
.gc-main .ga-entries { margin-top:24px;gap:12px; }
.gc-main .ga-entry { min-height:88px;padding:18px 20px; }
.gc-main .ga-entry-copy strong { font-size:17px; }
.gc-main .ga-entry-copy>.ga-entry-status { font-size:13px; }
@media(max-width:760px){.gc-main .gc-hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.gc-main .gc-hero-actions .button{justify-content:space-between;width:100%}}
.gc-main .gc-access-note { font-size:13px;line-height:1.6;color:var(--gc-muted);margin:0; }
.gc-register-link { font-size:12px;text-align:center;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#baa89c;min-height:32px;padding-top:4px;color:var(--burgundy); }
@media(max-width:760px){.gc-main .gc-access-title,.gc-main .gc-access-note,.gc-register-link{grid-column:1/-1}.gc-book:has(.gc-access-title){gap:10px}.gc-register-link{text-align:start}}

/* Full subject catalogue: category navigation, searchable subjects and data-backed filters. */
.gc-main-search { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr); }
.gc-language-field { min-width:0; }
.gc-portrait { position:relative;overflow:hidden; }
.gc-avatar-initials { display:grid;place-items:center;width:100%;height:100%;font-family:var(--serif);font-size:32px; }
.gc-portrait img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.gc-portrait img[hidden] { display:none; }
.gc-secondary { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 28px; }
.gc-subject-trigger { display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:start;width:100%;min-width:0;min-height:48px;padding:10px 0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #a8978b;font-family:var(--sans);font-size:16px; }
.gc-subject-trigger>span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.gc-subject-field>label { font-size:12px;font-weight:500;color:var(--gc-muted); }
.gc-main:not([data-enhanced]) .gc-subject-trigger { display:none; }
.gc-main[data-subject-enhanced] .gc-subject-field>select { display:none; }
.gc-subject-no-match { grid-column:1/-1;padding:20px 8px;font-size:15px;color:var(--gc-muted); }
.gc-subject-dialog { width:min(860px,calc(100% - 48px));max-height:calc(100dvh - 64px);padding:30px;border:1px solid var(--burgundy);border-radius:4px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain; }
.gc-subject-dialog::backdrop,.gc-profile-dialog::backdrop { background:#211b1870; }
.gc-subject-dialog h2 { font-family:var(--serif);font-size:32px!important;line-height:1.2;font-weight:400;margin:0 48px 24px 0; }
.gc-subject-search { width:100%;margin-bottom:20px;gap:8px;font:16px var(--sans);color:var(--ink); }
.gc-subject-search input { min-height:48px;padding:10px 12px;border:1px solid #a8978b;border-radius:2px;background:var(--gc-surface); }
.gc-subject-search input::placeholder { color:var(--gc-muted);opacity:1; }
.gc-subject-dialog-footer button { min-height:44px;padding:10px 0;background:transparent;color:var(--burgundy);font:14px var(--sans);border:0;text-decoration:underline;text-underline-offset:5px; }
.gc-subject-tabs { display:flex;flex-wrap:wrap;gap:4px 20px;padding-bottom:8px;margin-bottom:16px; }
.gc-subject-tabs button { flex:0 1 auto;max-width:100%;min-height:44px;padding:9px 0;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--gc-muted);font:14px var(--sans);white-space:normal;text-align:start;overflow-wrap:anywhere; }
.gc-subject-tabs button[aria-selected="true"] { color:var(--burgundy);border-color:var(--burgundy); }
.gc-subject-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;min-height:100px; }
.gc-subject-option { min-width:0;min-height:46px;padding:10px 12px;display:flex;align-items:center;text-align:start;line-height:1.4;font-size:15px;font-family:var(--sans);color:var(--ink);background:transparent;border:1px solid transparent;border-radius:2px;overflow-wrap:anywhere; }
.gc-subject-option:hover { background:var(--cream);border-color:var(--line); }
.gc-subject-option[aria-pressed="true"],.gc-subject-option[aria-selected="true"] { color:var(--paper);background:var(--burgundy); }
.gc-subject-dialog-footer { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;border-top:1px solid var(--line);margin-top:20px;padding-top:16px; }
.gc-availability-status { grid-column:1/-1;font-size:13px;line-height:1.6;color:var(--gc-muted);margin-block:8px; }
.gc-availability-status button { background:transparent;color:var(--burgundy);border:0;text-decoration:underline;min-height:44px;padding-inline:0; }
.gc-profile-dialog { width:min(740px,calc(100% - 40px));max-height:calc(100dvh - 48px);overflow:auto;padding:32px;background:var(--paper);color:var(--ink);border:1px solid var(--burgundy);border-radius:4px; }
.gc-profile-dialog h2 { font-family:var(--serif);font-size:36px!important;line-height:1.25;margin-block:16px;overflow-wrap:anywhere; }
.gc-profile-details { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-block:24px; }
.gc-profile-details dt { color:var(--gc-muted);font-size:12px;margin-bottom:5px; }
.gc-profile-details dd { margin:0;font-size:15px;line-height:1.6;overflow-wrap:anywhere; }
.gc-profile-bio { font-size:16px;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere; }
.gc-profile-dialog .gc-book { display:flex;width:100%;padding:20px 0 0;border:0;border-top:1px solid var(--line);margin-top:24px; }
.gc-tutor-category { color:var(--burgundy);font-size:12px;font-weight:500; }
.gc-display-currency { width:min(240px,30%);min-width:0; }
.gc-display-currency select { width:100%;font-size:14px; }
.gc-rates-status { font-size:13px;line-height:1.6;margin-block:0 20px;color:var(--gc-muted); }
.gc-rates-status button { min-height:44px;padding:6px 0;border:0;background:none;color:var(--burgundy);text-decoration:underline;text-underline-offset:4px; }
.gc-main .gc-original-price,.gc-main .gc-conversion-note { font-size:12px;line-height:1.5;margin:7px 0 0;color:var(--gc-muted); }
.gc-language-summary { line-height:1.65;overflow-wrap:anywhere; }
.gc-profile-tags { display:flex;gap:8px;flex-wrap:wrap;margin-block:16px; }
.gc-profile-tags>span { background:var(--cream);color:var(--burgundy);padding:5px 10px;font-size:13px;line-height:1.5; }
@media(max-width:1100px){.gc-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px}}
@media(max-width:760px){
 .gc-main-search{grid-template-columns:minmax(0,1fr) auto;gap:16px}.gc-subject-field,.gc-language-field{grid-column:1/-1}
 .gc-result-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px}.gc-result-line>p{grid-column:1/-1;padding-top:0!important}.gc-display-currency{width:100%;max-width:none}.gc-sort{max-width:none;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:8px}.gc-sort>span{display:block;font-size:12px;white-space:normal}.gc-sort select,.gc-display-currency select{height:48px;font-size:14px;padding-inline-start:0;border-bottom:1px solid #a8978b}.gc-rates-status{font-size:12px}
 .gc-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.gc-main[data-enhanced] .gc-secondary[data-open]{display:grid}.gc-secondary .gc-apply{grid-column:1/-1}.gc-subject-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px 16px}.gc-subject-dialog h2{font-size:28px!important;margin-bottom:18px}.gc-subject-tabs{gap:4px 18px}.gc-subject-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}.gc-subject-option{font-size:14px;min-height:48px;padding:10px 8px}.gc-profile-dialog{padding:24px 20px;width:calc(100% - 24px)}.gc-profile-dialog h2{font-size:30px!important}.gc-profile-details{grid-template-columns:1fr;gap:16px}
}
@media(max-width:370px){.gc-secondary{grid-template-columns:1fr}.gc-subject-options{grid-template-columns:1fr}}
