/* Sally's chosen direction: black, white and strong yellow. */
:root { --paper:#080808; --cream:#141414; --surface:#141414; --sage:#141414; --ink:#f7f7f4; --muted:#b8b8b5; --accent:#ffe229; --orange:#ffe229; --line:#333; }
body { background:#080808; color:var(--ink); }
header,.header { background:#080808f5; border-color:var(--line); }
h1,h2,h3,.intro,.brand,.logo,.brand-wordmark { color:var(--ink); }
.brand strong,.logo span,.eyebrow,.text-link,.member-testimonial-full summary { color:var(--accent); }
.button,.button-small,.btn,.inline-enquiry .btn { background:var(--accent); border-color:var(--accent); color:#080808; box-shadow:none; }
.button:hover,.button-small:hover,.btn:hover,.inline-enquiry .btn:hover { background:#fff071; border-color:#fff071; color:#080808; }
.text-link { background:transparent; border-color:var(--line); box-shadow:none; }
.text-link:hover { background:#1c1c1c; color:var(--accent); border-color:var(--accent); }
.menu-toggle,.button-light { background:#161616; border-color:var(--line); color:var(--ink); }
.coaching-option,.coaching-option[aria-pressed="true"] { background:#141414; color:var(--ink); border-color:var(--line); }
.coaching-option[aria-pressed="true"],.coaching-option:hover { border-color:var(--accent); background:#1e1d12; }
.coaching-option-title,.coaching-benefit,.coaching-option-description { color:var(--ink); }
.coaching-support-prompt { background:transparent; color:var(--accent); border-color:var(--line); box-shadow:none; }
.coaching-member-perk,.coaching-option-panel,.soft { background:#141414; border-color:var(--line); }
.member-perk-label { background:var(--accent); color:#080808; }
.onepage-resource-links details { background:#141414; border-color:var(--line); }
.onepage-resource-links details:hover,.onepage-resource-links details:focus-within,.onepage-resource-links details[open] { background:#1e1d12; border-color:var(--accent); box-shadow:none; }
.wizard { background:#141414; border-color:#3b3b3b; box-shadow:none; }
.inline-enquiry h2 { color:var(--ink); }
.answer span,.field input,.field textarea { background:#080808; color:var(--ink); border-color:#494949; }
.answer input:checked+span { background:var(--accent); border-color:var(--accent); color:#080808; }
progress,progress::-webkit-progress-bar { background:#343434; }
progress::-webkit-progress-value { background:var(--accent); }
progress::-moz-progress-bar { background:var(--accent); }
.back { color:var(--accent); }
.error { color:#ff9b92; }
:focus-visible,.answer input:focus-visible+span { outline-color:var(--accent); }
.result-band { background:#141414; border-block:1px solid var(--line); color:var(--ink); }
.result-band .numbers strong { color:var(--accent); }
.result-band .numbers>div { background:#080808; border-color:#444; }
.result-band .success-title { color:var(--ink); }
.dark { background:#141414; }
.dark .eyebrow { color:var(--accent); }
.steps article,details,.inclusions article { border-color:var(--line); }
.inclusions { gap:16px; }
.inclusions article { border:1px solid var(--line); padding:22px; border-radius:12px; background:#141414; }
.member-result,.member-testimonial-extra,.result .split { background:#141414; border:1px solid var(--line); border-radius:16px; padding:32px; }
.member-testimonial-extra { margin-top:28px; }
.member-result-quote,.member-result-heading,.member-result-summary,.member-result-name,.member-testimonial-story,.member-result-metrics dd { color:var(--ink); }
.member-result-metrics dt { color:var(--accent); }
.member-result-photo figcaption { background:#080808; color:var(--muted); }
.member-result-photo img,.result img { background:#141414; }
.sally-footer,.single-page .footer { background:#101010; color:var(--ink); border-color:var(--line); }
.sally-footer p,.sally-footer-bottom { color:var(--muted); border-color:var(--line); }
.sally-footer-brand strong,.sally-footer a:hover { color:var(--accent); }
.hero-photo { background:#141414; border:1px solid var(--line); }
.hero-photo img { aspect-ratio:4/5; object-fit:cover; object-position:46% center; }
.hero-photo span { color:var(--accent); background:#141414; border-color:var(--line); }
.movement-originals { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0; aspect-ratio:2.4; background:transparent; border-radius:16px; overflow:hidden; }
.movement-originals .movement-frame { overflow:hidden; border:1px solid #444; border-radius:14px; }
.movement-originals .movement-frame img { width:100%; height:100%; object-fit:cover; object-position:center; }
.movement-originals .movement-lunge img { object-position:45% center; }
.movement-originals .movement-banner-brand { top:auto; bottom:18px; background:#080808; color:white; border:1px solid var(--accent); border-radius:8px; padding:10px 20px; }
.movement-banner-brand strong { color:var(--accent); }
@media(max-width:760px) {
 .movement-originals { aspect-ratio:1.22; gap:8px; }
 .movement-originals .movement-frame img { object-position:48% center; }
 .movement-originals .movement-lunge img { object-position:43% center; }
 .movement-originals .movement-banner-brand { bottom:12px; font-size:20px; }
 .hero-photo img { aspect-ratio:4/3; object-position:46% 45%; }
 .member-result,.member-testimonial-extra,.result .split { padding:20px; gap:24px; }
 .inclusions { grid-template-columns:1fr; gap:12px; }
 .inclusions article { padding:18px; }
 .sally-footer-bottom { border-color:var(--line); }
}

/* Keep the existing layered banner, with Sally's chosen dark backdrop. */
.movement-black { background:#080808; border-radius:14px; }
.movement-black .movement-banner-brand { top:auto; bottom:12px; transform:translateX(-50%); background:#080808; color:#fff; border:0; padding:6px 12px; box-shadow:none; }
@media(max-width:700px) {
 .movement-black { aspect-ratio:1.15; }
 .movement-black > img:first-child { object-position:left center; }
 .movement-black .movement-banner-brand { left:50%; bottom:8px; }
}

.sally-brand-logo { display:block; width:148px; height:60px; object-fit:contain; }
.movement-black .movement-banner-brand { width:250px; padding:0; background:transparent; }
.movement-black .movement-banner-brand img { width:100%; height:auto; object-fit:contain; }
@media(max-width:700px) { .sally-brand-logo { width:115px; height:46px; } .movement-black .movement-banner-brand { width:158px; } }

/* Show the full original lunge photograph without a tight portrait crop. */
.hero-photo img { aspect-ratio:3/2; object-fit:contain; object-position:center; }
@media(max-width:760px) { .hero-photo img { aspect-ratio:3/2; object-fit:contain; } }

.coaching-faq details { border-bottom:1px solid var(--line); padding:18px 0; }
.coaching-faq summary { cursor:pointer; font-weight:600; color:var(--ink); }
.coaching-faq details p { max-width:75ch; color:var(--muted); padding-top:12px; }
