:root {
  --cream:#f2eedf; --paper:#fbf9f0; --ink:#243d31; --muted:#626b5b;
  --green:#34553e; --lime:#8faa46; --line:#d9dccb; --soft:#e5e8d7;
  --rust:#a25132; --heading-accent:#6d8444; --on-dark:#e8ecdc;
  --radius:16px; --header-height:92px; --section-space:64px;
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px;
  --space-5:48px; --space-6:64px; --label-size:.75rem; --small-size:.875rem;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height) + 20px); }
body { margin:0; background:var(--cream); color:var(--ink); font:1rem/1.65 Arial,Helvetica,sans-serif; }
::selection { background:var(--green); color:var(--paper); }
img { display:block; max-width:100%; }
button,input,select { font:inherit; }
button,a,select,summary { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-underline-offset:4px; }
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible {
  outline:3px solid var(--rust); outline-offset:4px;
}
[hidden] { display:none!important; }
.wrap { width:min(1180px,calc(100% - 80px)); margin-inline:auto; }
.skip { position:fixed; top:-120px; left:16px; background:var(--ink); color:var(--paper); padding:12px 20px; z-index:50; }
.skip:focus { top:8px; }
p,h1,h2,h3,figure { margin:0; }
p { text-wrap:pretty; }
h1,h2,h3 { font-family:Georgia,'Times New Roman',serif; font-weight:normal; text-wrap:balance; }
h1 { font-size:clamp(3rem,5.4vw,4.75rem); line-height:1.08; letter-spacing:-.035em; margin-bottom:24px; }
h2 { font-size:clamp(2.1rem,3.7vw,3.1rem); line-height:1.15; letter-spacing:-.03em; margin-bottom:20px; }
h3 { font-size:1.65rem; line-height:1.2; letter-spacing:-.02em; margin-bottom:16px; }
h1 em,h2 em { color:var(--heading-accent); font-weight:normal; }
.eyebrow,.step-label { color:var(--green); font-size:var(--label-size); font-weight:bold; line-height:1.6; letter-spacing:.09em; text-transform:uppercase; margin-bottom:16px; }
.line { display:inline-block; width:24px; height:1px; background:var(--rust); vertical-align:middle; margin-right:8px; }
.review-strip { display:flex; justify-content:space-between; gap:16px; padding:8px 40px; font-size:.75rem; color:var(--paper); background:var(--ink); }
.header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:var(--header-height); padding:8px 40px; background:var(--cream); border-bottom:1px solid var(--line); }
.brand { width:190px; flex-shrink:0; }
.brand img { width:100%; height:74px; object-fit:contain; mix-blend-mode:multiply; }
.header nav { display:flex; align-items:center; gap:20px; }
.header nav>a:not(.button) { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; text-decoration:none; white-space:nowrap; }
.header nav>a:not(.button):hover { color:var(--rust); text-decoration:underline; }
.menu-toggle { display:none; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:50px; border-radius:100px; background:var(--green); color:var(--paper); border:1px solid var(--green); padding:12px 22px; font-size:.875rem; font-weight:bold; text-decoration:none; transition:background .18s ease; }
.button:hover { background:var(--ink); }
.button.small { min-height:46px; padding:10px 18px; }
.button.full { width:100%; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; border-bottom:1px solid var(--green); text-decoration:none; font-size:.875rem; }
.text-link:hover { color:var(--rust); border-color:var(--rust); }
.hero { display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; padding-block:40px 56px; }
.lead { font-size:1rem; line-height:1.8; max-width:48ch; color:var(--muted); }
.actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin:24px 0 32px; }
.hero-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; border-top:1px solid var(--line); padding-top:20px; }
.hero-facts strong { display:block; font:1.125rem Georgia; margin-bottom:8px; }
.hero-facts span { display:block; font-size:.75rem; line-height:1.5; color:var(--green); }
.hero-visual { position:relative; padding:0 14px 16px 0; }
.hero-arch { aspect-ratio:.82; border-radius:250px 250px 16px 16px; overflow:hidden; background:var(--soft); }
.hero-arch picture,.hero-arch img { width:100%; height:100%; }
.hero-arch picture { display:block; }
.hero-arch img { object-fit:cover; object-position:70% center; filter:saturate(.73); }
.image-note { position:absolute; bottom:36px; left:20px; display:flex; align-items:center; gap:10px; border-radius:12px; padding:12px 16px; background:var(--paper); font-size:.75rem; }
.status-dot { display:inline-block; width:8px; height:8px; flex-shrink:0; background:var(--lime); border-radius:50%; }
.vertical-note { position:absolute; right:-12px; top:50%; writing-mode:vertical-rl; color:var(--green); font-size:.6875rem; letter-spacing:.12em; }
.statement-band { padding-block:20px; background:var(--ink); color:var(--paper); font:1.125rem Georgia; }
.statement-band .wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.statement-band span:nth-child(even) { color:var(--lime); }
.section { padding-block:var(--section-space); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:56px; margin-bottom:32px; }
.section-heading>div { flex:1; min-width:0; }
.section-heading>p { max-width:38ch; width:340px; margin-bottom:20px; color:var(--muted); font-size:1rem; }
.filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.chip { min-height:44px; padding:9px 16px; background:transparent; border:1px solid var(--green); border-radius:40px; color:var(--ink); font-size:.875rem; line-height:1.5; }
.chip.active,.chip[aria-pressed="true"] { color:var(--paper); background:var(--green); }
.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.service-card { display:flex; flex-direction:column; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); }
.card-top { display:flex; justify-content:space-between; align-items:center; gap:16px; color:var(--green); font-size:.875rem; margin-bottom:20px; }
.service-card h3 { font-size:1.75rem; }
.service-card>p { color:var(--muted); font-size:1rem; max-width:52ch; }
.tags { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 20px; }
.tags span { padding:4px 8px; border:1px solid var(--line); border-radius:4px; font-size:.75rem; line-height:1.5; text-transform:uppercase; letter-spacing:.025em; }
.card-link { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); font-size:.875rem; text-decoration:none; }
.card-link:hover { text-decoration:underline; }
.circle-card { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; column-gap:32px; }
.circle-card .card-top { grid-column:1/-1; }
.circle-card h3,.circle-card>p,.circle-card>.tags { grid-column:1; }
.circle-card .monthly-session { grid-column:2; grid-row:2/5; align-self:start; padding:20px; border-radius:var(--radius); background:var(--soft); }
.circle-card .card-link { grid-column:1/-1; }
.capacity { padding:6px 12px; border:1px solid var(--green); border-radius:30px; font-size:.75rem; }
.monthly-session p { font:1.5rem Georgia; margin:8px 0; }
.monthly-session small { font-size:.875rem; color:var(--ink); }
.monthly-session .eyebrow { margin-bottom:8px; }
.focus-section { padding-block:56px; background:var(--soft); }
.focus-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; }
.section-intro { max-width:54ch; font-size:1rem; color:var(--muted); }
.focus-section .section-intro { color:var(--ink); }
.focus-figure { position:relative; width:220px; height:350px; margin:24px auto 0; }
.focus-figure svg { width:100%; height:100%; fill:#c4d09e; }
.body-dot { display:flex; align-items:center; justify-content:center; position:absolute; width:44px; height:44px; padding:0; border:1px solid var(--green); border-radius:50%; color:var(--green); background:var(--paper); font-size:1.5rem; }
.body-dot[aria-pressed="true"] { color:var(--paper); background:var(--green); }
.dot-shoulder { top:18%; left:49%; }.dot-back { top:32%; left:34%; }.dot-arm { top:43%; left:68%; }.dot-hip { top:57%; left:35%; }.dot-knee { top:76%; left:27%; }
.focus-card { padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); }
.choice-grid { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.goal-choices { display:grid; gap:8px; }
.goal { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:10px 16px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--ink); font-size:.9375rem; text-align:left; }
.goal[aria-pressed="true"] { background:var(--green); color:var(--paper); border-color:var(--green); }
.focus-summary { margin:24px 0 16px; padding-top:20px; border-top:1px solid var(--line); }
.focus-summary p { margin-top:8px; font-size:.9375rem; }
.fine-print { font-size:.8125rem; line-height:1.65; color:var(--green); margin-top:16px; }
.journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.round-number { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--green); border-radius:50%; margin-bottom:20px; font:1rem Georgia; }
.journey-grid h3 { font-size:1.5rem; }
.journey-grid p { color:var(--muted); font-size:1rem; }
.about-section { padding-block:56px; background:var(--soft); }
.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.about-layout>div>p:not(.eyebrow) { font-size:1rem; margin-bottom:16px; }
.about-image img { width:100%; height:auto; aspect-ratio:1.35; object-fit:cover; object-position:center; border-radius:var(--radius); }
.photo-caption { display:block; margin-top:12px; font-size:.8125rem; color:var(--green); }
.credentials { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.credentials span { padding:6px 10px; border:1px solid var(--green); border-radius:30px; font-size:.75rem; }
.recovery-gallery { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.recovery-gallery figure { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); }
.recovery-gallery img { width:100%; height:430px; object-fit:cover; object-position:center 100%; }
.recovery-gallery figcaption { display:flex; gap:12px; flex-wrap:wrap; padding:16px 20px; font-size:.875rem; }
.recovery-gallery figcaption span { font-weight:bold; color:var(--green); }
.team-section { padding-block:56px; background:var(--soft); }
.team-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:32px; }
.team-profile { display:flex; gap:20px; border-top:1px solid var(--green); padding-top:24px; }
.team-profile p { font-size:1rem; margin-bottom:16px; }
.profile-initial { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:56px; height:56px; border-radius:50%; background:var(--cream); font:1.5rem Georgia; color:var(--green); }
.team-profile .fine-print { color:var(--green); font-size:.875rem; }
.video-shell { width:min(100%,880px); aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; background:var(--ink); margin-inline:auto; }
.video-launch { width:100%; height:100%; border:0; background:var(--ink); padding:0; position:relative; color:var(--paper); text-align:left; }
.video-launch picture,.video-launch img { display:block; width:100%; height:100%; }
.video-launch img { object-fit:cover; opacity:.75; }
.video-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:24px; font:1.8rem Georgia; background:#243d3155; }
.video-overlay small { display:block; font:.875rem Arial; margin-top:10px; }
.play-icon { display:flex; align-items:center; justify-content:center; width:72px; height:72px; border-radius:50%; border:1px solid var(--paper); padding-left:4px; font-size:1.25rem; background:var(--green); }
.video-launch:hover .play-icon { background:var(--ink); }
.video-shell iframe { display:block; width:100%; height:100%; border:0; }
.video-note { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; max-width:880px; margin:12px auto 0; font-size:.8125rem; color:var(--green); }
.video-note a { display:inline-flex; align-items:center; min-height:44px; }
.enquiry-layout { display:grid; grid-template-columns:.9fr 1.1fr; grid-template-areas:"intro form" "contact form"; gap:24px 64px; align-items:start; }
.enquiry-intro { grid-area:intro; min-width:0; }
.enquiry-card { grid-area:form; min-width:0; padding:28px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); }
.contact-details { grid-area:contact; min-width:0; }
.contact-note { display:flex; align-items:center; gap:10px; margin-top:16px; font-size:.875rem; }
.quick-contact { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:12px; }
.contact-list { margin:0; }
.contact-list dt { font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color:var(--green); font-weight:bold; margin-top:16px; }
.contact-list dd { margin:0; font-size:1rem; overflow-wrap:anywhere; }
.contact-list dd a { display:inline-flex; align-items:center; min-height:44px; }
.enquiry-progress { display:flex; gap:12px; justify-content:space-between; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.enquiry-progress span { font-size:.8125rem; color:var(--green); }
.enquiry-progress .active { font-weight:bold; text-decoration:underline; text-underline-offset:5px; }
.enquiry-step h3 { scroll-margin-top:calc(var(--header-height) + 24px); }
.enquiry-step label { display:block; font-size:.875rem; margin-bottom:8px; }
select { width:100%; min-height:50px; padding:10px 12px; border:1px solid var(--green); border-radius:8px; color:var(--ink); background:var(--paper); font-size:1rem; }
select[aria-invalid="true"] { border:2px solid var(--rust); }
.form-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-top:24px; padding-top:16px; border-top:1px solid var(--line); }
.back { min-height:44px; min-width:60px; padding:10px 12px; border:1px solid transparent; border-radius:8px; color:var(--ink); background:transparent; font-size:.875rem; }
.back:hover { border-color:var(--green); }
.enquiry-summary { margin:20px 0; padding:20px; border-radius:8px; background:var(--soft); overflow-wrap:anywhere; }
.enquiry-summary p { margin:8px 0; font-size:.9375rem; }
.enquiry-step>p:not(.step-label):not(.fine-print) { font-size:.9375rem; }
.form-error { color:var(--rust); font-size:.875rem; margin-top:12px; }
.form-error:empty { margin:0; }
.faq-section { background:var(--paper); padding-block:56px; }
.faq-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; }
.faq-layout>div>p:not(.eyebrow) { color:var(--muted); margin-bottom:12px; }
details { padding:12px 0; border-bottom:1px solid var(--line); }
summary { display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; min-height:44px; list-style:none; font-size:1rem; }
summary::-webkit-details-marker { display:none; }
summary:after { content:'+'; font:1.5rem Georgia; color:var(--green); }
details[open] summary:after { content:'−'; }
details p { font-size:.9375rem; line-height:1.7; margin-top:12px; color:var(--muted); }
.footer { background:var(--ink); color:var(--on-dark); padding-top:48px; }
.footer-top { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:48px; padding-bottom:24px; }
.footer-name { font:1.75rem/1.25 Georgia; margin-bottom:16px; }
.footer-name span { display:block; font:.75rem Arial; letter-spacing:.12em; text-transform:uppercase; margin-top:12px; }
.footer p:not(.footer-name):not(.eyebrow) { font-size:.875rem; color:var(--on-dark); }
.footer .eyebrow { color:var(--on-dark); margin-bottom:8px; }
.footer-top a { display:flex; align-items:center; min-height:44px; font-size:.875rem; text-decoration:none; overflow-wrap:anywhere; }
.footer-top a:hover { text-decoration:underline; }
.privacy-note details { border-color:var(--on-dark); }
.privacy-note summary,.privacy-note p { color:var(--on-dark); font-size:.875rem; }
.privacy-note p { max-width:75ch; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:.8125rem; padding-block:16px; }
.footer-bottom a { display:inline-flex; align-items:center; min-height:44px; }
.visually-hidden { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
@media(max-width:1100px) {
  .wrap { width:calc(100% - 48px); }.header { padding-inline:24px; }.header nav { gap:14px; }.brand { width:160px; }
  .header nav>a:not(.button) { font-size:.8125rem; }.hero { gap:32px; }.focus-layout,.about-layout,.enquiry-layout,.faq-layout { column-gap:40px; }
}
@media(max-width:900px) {
  :root { --header-height:76px; --section-space:48px; }.header { min-height:76px; padding:8px 24px; }.brand { width:165px; }.brand img { height:58px; }
  .menu-toggle { display:flex; gap:12px; align-items:center; min-height:44px; padding:8px 16px; border:1px solid var(--green); border-radius:30px; background:transparent; color:var(--ink); font-size:.875rem; }
  .header nav { display:none; position:absolute; top:100%; left:0; right:0; padding:16px 24px; border-bottom:1px solid var(--line); background:var(--paper); }
  .header nav.open { display:flex; flex-direction:column; align-items:stretch; gap:4px; }.header nav>a:not(.button) { font-size:1rem; padding:8px; min-height:44px; }.header nav>.button { margin-top:8px; }
  .review-strip { padding-inline:24px; }.review-strip span { display:none; }.hero { gap:24px; padding-block:32px 40px; }h1 { font-size:clamp(2.6rem,6vw,3.6rem); }
  .hero-facts { grid-template-columns:1fr; gap:12px; }.hero-facts>div { display:flex; align-items:baseline; gap:12px; }.hero-facts strong { margin:0; }
  .hero .actions { gap:12px; }.section-heading { gap:32px; }.section-heading>p { width:280px; }.focus-layout,.about-layout,.faq-layout { grid-template-columns:1fr; gap:32px; }
  .focus-layout>div:first-child { display:grid; grid-template-columns:1fr 180px; column-gap:24px; }.focus-layout>div:first-child>.eyebrow { grid-column:1/-1; }.focus-layout h2,.focus-layout .section-intro { grid-column:1; }.focus-figure { grid-column:2; grid-row:2/4; margin:0; width:180px; height:290px; }
  .about-image { max-width:640px; }.team-grid { grid-template-columns:1fr; }.team-profile { max-width:680px; }.recovery-gallery img { height:360px; }
  .enquiry-layout { grid-template-columns:1fr; grid-template-areas:"intro" "form" "contact"; gap:24px; }.enquiry-intro { max-width:620px; }.contact-list { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }.contact-list dt { grid-column:1; }.contact-list dd { grid-column:2; margin-top:12px; }
  .footer-top { gap:24px; }
}
@media(max-width:560px) {
  .wrap { width:calc(100% - 40px); }.header { padding-inline:20px; }.review-strip { padding-inline:20px; font-size:.75rem; }
  h1 { font-size:clamp(2rem,9.3vw,2.9rem); }h2 { font-size:2.1rem; }h3 { font-size:1.5rem; }
  .hero { grid-template-columns:1fr; gap:24px; }.hero .eyebrow { margin-bottom:12px; }.hero .actions { margin:20px 0 24px; }.hero-facts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding-top:16px; }.hero-facts>div { display:block; }.hero-facts strong { font-size:1rem; margin-bottom:8px; }.hero-facts span { font-size:.75rem; }
  .hero-visual { max-width:380px; width:100%; margin-inline:auto; padding-right:10px; }.hero-arch { aspect-ratio:1.12; border-radius:190px 190px 16px 16px; }.vertical-note { right:-8px; font-size:.6875rem; }.image-note { bottom:28px; left:12px; padding:10px 12px; font-size:.75rem; }
  .statement-band { padding-block:16px; font-size:1rem; }.statement-band .wrap { gap:10px; justify-content:center; flex-wrap:wrap; }.statement-band span:nth-child(4),.statement-band span:nth-child(5) { display:none; }
  .section-heading { display:block; margin-bottom:24px; }.section-heading>p { width:auto; max-width:52ch; margin:0; }.service-grid { grid-template-columns:1fr; gap:16px; }.service-card { padding:20px; }.service-card h3 { font-size:1.6rem; }.card-top { margin-bottom:16px; }.tags { margin:12px 0 16px; }
  .circle-card { display:flex; }.circle-card .monthly-session { margin-bottom:20px; padding:16px; }.monthly-session p { font-size:1.35rem; }
  .focus-section,.about-section,.team-section,.faq-section { padding-block:48px; }.focus-layout>div:first-child { display:block; }.focus-figure { margin:20px auto 0; height:280px; }.focus-card { padding:20px; }
  .journey-grid { grid-template-columns:1fr; gap:24px; }.journey-grid article { position:relative; padding-left:60px; }.round-number { position:absolute; top:0; left:0; }.journey-grid h3 { margin-bottom:12px; }
  .recovery-gallery { grid-template-columns:1fr; gap:20px; }.recovery-gallery img { height:360px; }.recovery-gallery figcaption { padding:16px; }
  .team-profile { gap:16px; }.profile-initial { width:44px; height:44px; font-size:1.2rem; }
  .video-overlay { gap:16px; padding:16px; font-size:1.3rem; }.video-overlay small { font-size:.75rem; }.play-icon { width:48px; height:48px; font-size:1rem; flex-shrink:0; }.video-note { gap:4px; }
  .enquiry-card { padding:20px; }.enquiry-progress { gap:8px; }.enquiry-progress span { font-size:.75rem; }.form-actions { gap:8px; }.form-actions .button { padding-inline:16px; gap:12px; }.contact-list { display:block; }.contact-list dd { margin:0; }
  .footer-top { grid-template-columns:1fr 1fr; gap:24px; }.footer-top>div:first-child { grid-column:1/-1; }.footer-bottom { flex-direction:column; gap:0; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button { transition:none; } }
@media(forced-colors:active) { .chip,.goal,.body-dot,.button,select { border:1px solid ButtonText; }.chip[aria-pressed="true"],.goal[aria-pressed="true"],.body-dot[aria-pressed="true"] { outline:2px solid Highlight; } }

.about-image.show-tablet img { aspect-ratio:auto; height:auto; object-fit:contain; }
.established { font-weight:bold; color:var(--green); margin:16px 0 24px; }
.hero-bottom { position:absolute; bottom:36px; left:20px; right:34px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; background:var(--paper); border-radius:12px; }
.movement-note { display:flex; align-items:center; gap:8px; font-size:.75rem; line-height:1.4; }
.movement-note .status-dot { flex:0 0 8px; }
.hero-play { display:flex; align-items:center; gap:8px; min-height:44px; padding:4px 0 4px 10px; border:0; border-left:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; font-size:.875rem; line-height:1.4; }
.hero-play small { display:block; font-size:.6875rem; }
.review-profile { padding:24px; background:var(--paper); border:1px solid var(--line); border-radius:16px; }
.review-profile p + p { margin-top:12px; }
.portrait-frame { width:150px; aspect-ratio:3/4; margin-bottom:20px; overflow:hidden; border-radius:12px; }
.portrait { width:100%; height:100%; object-fit:cover; transform:scale(1.7); transform-origin:50% 72%; }
.profile-role, .experience, .profile-meta { font-weight:bold; }
.qualifications { margin:12px 0; font-size:.875rem; }
#hero-video { width:min(880px, calc(100% - 28px)); max-height:90dvh; padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--paper); color:var(--ink); }
#hero-video::backdrop { background:rgba(0,0,0,.65); }
.video-dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.video-dialog-heading h2 { font-size:clamp(1.15rem, 3vw, 1.75rem); margin:0; }
.video-dialog-player { aspect-ratio:16/9; margin-bottom:12px; }
.video-dialog-player iframe { width:100%; height:100%; border:0; display:block; }
@media (max-width:480px) {
  .hero-bottom { left:10px; right:24px; bottom:25px; gap:6px; padding:6px 8px; }
  .hero-play { font-size:.75rem; padding-left:7px; }
}

.review-profile {
  display:grid;
  grid-template-columns:clamp(76px, 12vw, 150px) minmax(0, 1fr);
  align-items:start;
  grid-template-rows:auto 1fr;
  gap:20px;
}
.review-profile .portrait-frame { width:100%; margin:0; }
.profile-details { min-width:0; overflow-wrap:anywhere; }
.profile-biography { grid-column:1 / -1; }
@media (max-width:480px) {
  .review-profile { padding:16px; gap:12px; }
}
