/* iStelf, 28 October 2026. Existing brand tokens and components remain canonical. */
:root { --review-purple:#59416f; }
html { scroll-padding-top:9rem; }
img,video { max-width:100%; }
button,a,summary { -webkit-tap-highlight-color:rgba(185,165,214,.35); }
.section-kicker { color:var(--muted);font-size:.8rem;letter-spacing:.06em; }
.small-note,.image-credit { font-size:.82rem;color:var(--muted);line-height:1.55; }
.warm-home-hero { max-width:var(--container);margin:auto;padding:clamp(2rem,5vw,4.5rem) var(--gutter) 3rem;display:grid;grid-template-columns:1fr 1.14fr;align-items:center;gap:2rem; }
.warm-home-hero h1 { font-size:clamp(2.5rem,4.8vw,4.3rem);line-height:1.07;letter-spacing:-.035em;max-width:15ch;margin:.8rem 0 1.4rem; }
.warm-home-hero h1 span { color:#59416f; }
.warm-home-hero .hero-lead { max-width:41ch;font-size:1.08rem;line-height:1.7; }
.warm-home-hero figure { margin:0; }
.warm-home-hero figure img { width:100%;height:auto;border-radius:1rem; }
.warm-note { margin-top:1.3rem;max-width:42ch;font-size:.9rem;color:var(--muted); }
.warm-home-hero .section-actions { align-items:center;gap:1.1rem; }
.home-extension .audience-inner { align-items:center; }
.home-extension figure img { aspect-ratio:4/3;object-fit:cover;object-position:50% 40%; }
.home-parents { background:color-mix(in srgb,var(--sage) 24%,var(--paper)); }
.home-parents figure img { aspect-ratio:3/2;object-fit:contain; }
.home-extension .text-link { margin-top:1rem;display:inline-flex; }
.drawing-final-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center;gap:clamp(2rem,6vw,5rem); }
.drawing-final-grid figure { margin:0; }
.drawing-final-grid figure img { width:100%;height:auto;max-height:33rem;object-fit:cover;object-position:50% 35%;border-radius:.7rem; }
.cross-reviews { padding:clamp(3.5rem,7vw,6rem) var(--gutter);background:var(--paper); }
.cross-reviews .review-tabs { margin-top:1.6rem; }
.cross-reviews [data-review-tablist] { display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;padding-bottom:.7rem;border-bottom:1px solid var(--line); }
.cross-reviews [data-review-tab] { min-height:44px;padding:.65rem 1.05rem;border:1px solid var(--line-strong);border-radius:2rem;background:transparent;font:600 .95rem/1.4 Inter,sans-serif;color:var(--ink);cursor:pointer; }
.cross-reviews [data-review-tab][aria-selected=true] { background:var(--lavender);border-color:#8d74ac;color:var(--ink); }
.cross-reviews .tab-count { margin-left:.3rem;opacity:.75; }
.cross-reviews .review-navigation { margin:0 0 1.2rem;justify-content:flex-end; }
.cross-reviews .review-card { background:transparent; }
.more-reviews { margin:1.6rem 0 0; }
.video-review-empty { min-height:13rem;padding:2rem;display:flex;gap:1.4rem;align-items:center;border:1px solid var(--line);border-radius:1rem;background:color-mix(in srgb,var(--sky) 15%,var(--paper)); }
.video-review-empty h3 { font-size:1.25rem;margin:0 0 .6rem; }
.video-review-empty p { margin:0;max-width:60ch; }
.video-outline { display:grid;place-items:center;flex:0 0 4rem;width:4rem;height:4rem;border:1px solid #81758f;border-radius:50%;font-size:2rem;color:#59416f; }
.cross-experts { padding:clamp(3.5rem,7vw,6rem) var(--gutter);background:color-mix(in srgb,var(--sky) 24%,var(--paper)); }
.expert-grid { display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,3vw,3rem);margin-top:2rem; }
.expert-card { min-width:0;display:grid;grid-template-columns:minmax(8rem,.85fr) minmax(0,1fr);gap:1.2rem;align-items:center; }
.expert-portrait { align-self:stretch;display:flex;align-items:flex-end;min-height:18rem;border-bottom:1px solid #b6c5cd; }
.expert-portrait img { display:block;object-fit:contain;object-position:center bottom;width:100%;height:20rem; }
.expert-portrait { overflow:hidden; }
.expert-card:nth-child(2) .expert-portrait img { transform:scale(1.45);transform-origin:50% 100%; }
.expert-copy h3 { font:400 clamp(1.3rem,1.8vw,1.65rem)/1.24 'Playfair Display',serif;margin:0 0 1rem; }
.expert-copy p { font-size:.92rem;line-height:1.6;margin:0 0 1.2rem; }
.expert-copy .text-link { font-size:.92rem;text-align:left;line-height:1.6; }
.expert-opinion-dialog { width:min(90vw,47rem);max-height:85dvh;padding:clamp(1.5rem,4vw,3rem); }
.expert-opinion-dialog blockquote { margin:1.5rem 0;padding-left:1.2rem;border-left:3px solid var(--lavender); }
.expert-opinion-dialog blockquote p { font-size:1.05rem;line-height:1.8; }
.opinion-attribution { font-weight:600;font-size:.9rem; }
.team-row { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,5vw,4rem);margin-top:2.5rem; }
.team-row+.team-row { margin-top:4rem;padding-top:3rem;border-top:1px solid #aebca5; }
.team-row figure { margin:0; }
.team-row img { width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 35%;border-radius:.4rem; }
.team-row-reversed img { object-position:50% 30%; }
.team-row h3 { font:400 clamp(1.6rem,3vw,2.3rem)/1.25 'Playfair Display',serif; }
.team-row figcaption { font-size:.85rem;color:var(--muted);margin-top:.7rem; }
.achievement-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 3rem;margin-top:2rem; }
.achievement-grid article { position:relative;border-top:1px solid var(--line-strong);padding:1.4rem 2.2rem 1.4rem 0; }
.achievement-grid h3 { font-size:1.25rem;margin:0 0 .75rem; }
.achievement-mark { position:absolute;right:0;top:1.2rem;color:#59416f;font-size:1.5rem; }
.achievement-grid p { margin:0;max-width:45ch; }
.course-topics { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem; }
.course-topics article { border-top:1px solid var(--line);padding-top:1.3rem; }
.course-topics article>span { color:#59416f;font-size:.85rem;font-weight:600; }
.course-topics h3 { font-size:1.2rem; }
.press-feature-grid { display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem; }
.press-feature { min-width:0; }
.press-feature>a:first-child { text-decoration:none;display:block; }
.press-feature img { width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:.6rem;margin-bottom:1rem; }
.source-label { color:var(--muted);font-size:.8rem; }
.press-feature h3 { font:400 clamp(1.5rem,2.5vw,2rem)/1.25 'Playfair Display',serif;margin:.6rem 0 1rem; }
.press-feature p { font-size:1rem;line-height:1.7; }
.press-feature .image-credit { font-size:.8rem; }
.press-video { display:block;width:100%;max-height:39rem;border-radius:.6rem;background:#252525;margin-top:1.5rem; }
.event-lead-photo { display:block;width:100%;height:auto;max-height:40rem;object-fit:contain;background:#f1eee8;border-radius:.6rem;margin-top:2rem; }
.event-story-hero h1 { max-width:16ch; }
.event-card-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem; }
.event-card { min-width:0; }
.event-card>img,.event-type-panel { width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:.6rem; }
.event-type-panel { display:grid;place-items:center;background:#e8e1ee;color:#59416f;font:400 2rem 'Playfair Display',serif; }
.event-card h3 { font:400 1.55rem/1.3 'Playfair Display',serif; }
.event-card p { font-size:.95rem; }
.site-footer .social-footer { display:flex;flex-wrap:wrap;gap:1rem;align-items:center; }
.site-footer .social-footer a { min-height:44px;display:inline-flex;align-items:center; }
.company-letter-dialog { padding:3.5rem 1rem 1rem;width:min(94vw,52rem);max-height:92dvh; }
.company-letter-dialog img { display:block;margin:auto;max-height:78dvh;object-fit:contain;width:auto; }
.company-letter-dialog h2 { font-size:1.4rem;text-align:center; }
/* Remove only the duplicate boundary after the organisations component. */
.organisation-section+.enquiry-section { border-top:0; }
.organisation-section:has(+.enquiry-section) { padding-bottom:2rem; }
.header-primary-links { gap:clamp(.65rem,1.2vw,1.3rem); }
.header-primary-links>a,.header-primary-links>details>summary { font-size:.9rem;white-space:nowrap; }
.site-nav .nav-popover a { white-space:normal; }
.site-nav .nav-popover { min-width:15rem; }
/* An open first-row menu must paint above later wrapped nav entries. */
.site-nav details[open] { z-index:2; }
@media(min-width:1181px) { .header-primary-links { flex-wrap:wrap;justify-content:center; } }
/* Six navigation groups need more space than the original three-group shell. */
@media(min-width:70rem) and (max-width:89.999rem) {
 .site-header-trimmed .header-inner { display:flex;gap:1rem; }
 .site-header-trimmed .brand { order:0; }
 .site-header-trimmed .header-contacts { order:1;margin-inline-start:auto;inline-size:auto; }
 .site-header-trimmed .menu-toggle { display:inline-flex;order:2;margin:0; }
 .site-header-trimmed .site-nav { position:absolute;inset:100% 0 auto;display:none;flex-direction:column;align-items:stretch;gap:1rem;margin:0;padding:1.2rem var(--gutter);max-height:calc(100dvh - 9rem);overflow:auto;background:var(--paper);border-bottom:1px solid var(--line); }
 .site-header-trimmed .site-nav[data-open="true"] { display:flex; }
 .site-header-trimmed .header-primary-links { display:flex;flex-direction:column;align-items:stretch;gap:.2rem; }
 .site-header-trimmed .header-primary-links>a { justify-content:flex-start;padding:.6rem 0; }
 .site-header-trimmed .site-nav details { width:100%; }
 .site-header-trimmed .site-nav summary { padding:.6rem 0; }
 .site-header-trimmed .nav-popover { position:static;inset:auto;min-width:0;margin:.2rem 0 .6rem;padding:.35rem;box-shadow:none; }
 .site-header-trimmed .site-nav>.language-picker { margin:0;justify-self:stretch; }
}
@media(max-width:1000px) {
 .expert-grid { grid-template-columns:1fr;gap:2.5rem; }
 .expert-card { grid-template-columns:11rem minmax(0,1fr);max-width:42rem; }
 .expert-portrait { min-height:15rem; }
 .expert-portrait img { height:17rem; }
 .warm-home-hero { grid-template-columns:1fr 1fr; }
 .warm-home-hero h1 { font-size:clamp(2.3rem,4.5vw,3.6rem); }
 .course-topics { gap:1.3rem; }
}
@media(max-width:700px) {
 .warm-home-hero { display:flex;flex-direction:column;padding-top:2.5rem;gap:1.3rem; }
 .warm-home-hero h1 { font-size:clamp(2.35rem,10vw,3.4rem); }
 .warm-home-hero .hero-lead { font-size:1rem;max-width:none; }
 .warm-home-hero figure { width:100%; }
 .warm-home-hero .section-actions { align-items:flex-start;flex-direction:column; }
 .drawing-final-grid { grid-template-columns:1fr!important; }
 .expert-card { grid-template-columns:minmax(5.5rem,8rem) minmax(0,1fr);gap:1rem; }
 .expert-portrait { min-height:13rem; }
 .expert-portrait img { height:15rem; }
 .expert-copy h3 { font-size:1.3rem;overflow-wrap:normal; }
 .expert-copy p { font-size:.85rem; }
 .section-kicker { display:none; }
 .cross-reviews [data-review-tab] { padding:.65rem .8rem;font-size:.86rem; }
 .video-review-empty { flex-direction:column;align-items:flex-start;padding:1.4rem; }
 .team-row { grid-template-columns:1fr;gap:1.1rem; }
 .team-row-reversed>figure { order:-1; }
 .team-row+.team-row { margin-top:2.5rem;padding-top:2.5rem; }
 .achievement-grid,.course-topics,.press-feature-grid,.event-card-grid { grid-template-columns:1fr; }
 .press-feature-grid { gap:3rem; }
 .course-topics { gap:1rem; }
 .press-video { max-height:28rem; }
 .cross-reviews,.cross-experts { padding-left:1.25rem;padding-right:1.25rem; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .warm-home-hero *,.home-extension * { animation:none!important; }
}

/* Expanded navigation must reserve the full logo width in both languages. */
@media(min-width:90rem) {
 .site-header-trimmed .header-inner { grid-template-columns:auto minmax(0,1fr) auto; }
 .site-header-trimmed .brand { width:max-content;min-width:max-content; }
 .site-header-trimmed .brand-type { flex-shrink:0; }
 .site-header-trimmed .header-primary-links { width:100%;min-width:0;flex-wrap:wrap;row-gap:.2rem; }
}
