/* BRK Wellness — Morning Sky design system (Warm Editorial layout). Rules and rationale: docs/design-system.md */
:root{
 /* Morning Sky, green edition (2026-11-12, from the ChatGPT page concepts): forest green actions, warm gold
    accents and soft sage quiet sections, on a warm white page with sky-coloured openings. */
 --paper:#fbf8f1;--mist:#eef4ea;--sky:#dcecf7;--ink:#1d3328;--ink-deep:#14261d;--ink-soft:#4b5e54;
 --accent:#2f6b3f;--accent-deep:#24532f;--leaf:#2f6b3f;--sun:#f2c14e;--gold:#e8a93a;--line:#dfe6d8;--white:#fff;--wa:#1d6b45;
 /* Status colours: fixed meanings, never the brand accent (good / watch / high risk) */
 --good:#2a7240;--good-bg:#e8f4ea;--warn:#b7791f;--warn-bg:#fdf3dd;--danger:#c0392b;--danger-bg:#fbe9e7;
 --serif:'Fraunces','Newsreader',Georgia,'Times New Roman',serif;
 --sans:'Nunito Sans','Public Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
 --label:13px;--small:16px;--body:18px;--lead:clamp(19px,1.4vw,22px);
 --h3:clamp(24px,2.2vw,30px);--h2:clamp(36px,4.6vw,60px);--h1:clamp(44px,5.2vw,78px);
 --s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
 --r-sm:6px;--r-md:14px;--r-pill:999px;--arch:999px 999px var(--r-md) var(--r-md);
 --wrap:1240px;--gutter:clamp(20px,5vw,48px);--section:clamp(56px,7vw,96px);
 --ease:cubic-bezier(.22,1,.36,1);--header-h:76px;
}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.7 var(--sans);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:520;font-variation-settings:'SOFT' 100;margin:0;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:var(--h1);line-height:1.02;letter-spacing:-.025em}
h2{font-size:var(--h2);line-height:1.08}
h3{font-size:var(--h3);line-height:1.2}
h1 em,h2 em,h3 em{font-style:italic;color:var(--accent)}
p{margin:0}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:var(--r-sm);font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--section)}
.section-sand{background:var(--mist)}
.eyebrow{display:inline-flex;align-items:center;gap:var(--s3);font:700 var(--label)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--leaf)}
.eyebrow-num{display:inline-flex;align-items:center;gap:var(--s3);color:var(--ink)}
.eyebrow-num:after{content:"";width:32px;height:1px;background:currentColor;opacity:.5}
.lead{font-size:var(--lead);line-height:1.6;color:var(--ink-soft)}
.muted{color:var(--ink-soft)}
.note{font-size:var(--small);color:var(--ink-soft)}
.section-head{display:grid;gap:var(--s5);margin-bottom:var(--s8);max-width:760px}
/* Visible placeholder for details the coaches still need to supply */
.todo{background:#e9a23b33;color:var(--ink);outline:1.5px dashed var(--accent);outline-offset:2px;border-radius:3px;padding-inline:4px}

/* Buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r-pill);font:600 17px/1.2 var(--sans);text-decoration:none;border:1.5px solid transparent;transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--ease);cursor:pointer}
.btn svg{width:18px;height:18px;flex-shrink:0}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:var(--white)}
.btn-primary:hover{background:var(--accent-deep)}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-light{background:var(--paper);color:var(--ink)}
.btn-light:hover{background:var(--white)}
.btn-ghost-light{border-color:#fbf8f280;color:var(--paper)}
.btn-ghost-light:hover{background:var(--paper);color:var(--ink)}
.link{color:var(--accent);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.link:hover{color:var(--accent-deep)}
.actions{display:flex;flex-wrap:wrap;gap:var(--s3)}
@media(max-width:519px){.actions{width:100%}.actions .btn{flex:1 1 100%}}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#ffffffb8;-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:var(--s4);min-height:var(--header-h)}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.logo img{height:38px;width:auto}
.logo .logo-word{height:34px;max-width:140px;transition:max-width 1s var(--ease),opacity .8s ease}
.main-nav{display:none}
.main-nav>a,.nav-trigger{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 4px;border:0;background:none;text-decoration:none;color:var(--ink-soft);font:600 var(--small)/1 var(--sans);cursor:pointer;transition:color .25s}
.main-nav>a:hover,.nav-trigger:hover,.main-nav>a[aria-current=page],.nav-trigger.is-current,.nav-item.open .nav-trigger{color:var(--ink)}
.nav-trigger svg{transition:transform .3s var(--ease)}
.nav-item.open .nav-trigger svg{transform:rotate(180deg);color:var(--accent)}
/* The highlight that slides to the hovered item and rests on the current page (brk.js) */
.nav-pill{position:absolute;z-index:-1;left:0;top:50%;height:36px;margin-top:-18px;border-radius:12px;background:#2f6b3f1f;pointer-events:none;opacity:0;transition:transform .45s var(--ease),width .45s var(--ease),opacity .3s}
.nav-item{position:relative;display:flex;align-items:center}
.nav-panel{position:absolute;top:calc(100% + 18px);left:-18px;width:360px;padding:8px;border-radius:18px;background:#ffffffef;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 22px 44px -18px #1d334759;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .3s,transform .3s var(--ease),visibility .3s}
.nav-panel:before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.nav-item.open .nav-panel{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s var(--ease),visibility 0s}
.nav-panel a,.mobile-program{display:grid;grid-template-columns:34px 1fr;padding:12px;border-radius:12px;text-decoration:none;color:var(--ink);transition:background-color .25s}
.nav-panel a:hover,.nav-panel a:focus-visible,.nav-panel a[aria-current=page]{background:var(--mist)}
.nav-panel .num,.mobile-program .num{font:700 13px/1.7 var(--sans);color:var(--leaf)}
.nav-panel strong,.mobile-program strong{display:block;font:600 17px/1.3 var(--sans)}
.nav-panel small,.mobile-program small{display:block;margin-top:4px;font-size:14px;line-height:1.45;color:var(--ink-soft)}
.header-cta{display:none}
.btn svg,.header-call svg{width:16px;height:16px;flex:none}
.header-call{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:var(--r-pill);background:var(--accent);color:var(--white);font:700 15px/1 var(--sans);text-decoration:none}
.menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1.5px solid var(--ink);background:none;color:var(--ink);font:600 16px/1 var(--sans);cursor:pointer}
.menu-btn svg{width:18px;height:18px}
@media(max-width:359px){.header-call span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.header-call{padding:0 12px}}
.mobile-nav{display:none;border-top:1px solid var(--line);padding:var(--s3) 0 var(--s5)}
.site-header.menu-open .mobile-nav{display:block;max-height:calc(100dvh - var(--header-h));overflow-y:auto;overscroll-behavior:contain}
.mobile-group{margin:var(--s3) 0 var(--s2);font:700 var(--label)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--leaf)}
.mobile-program{padding-inline:0}
.mobile-nav>a:not(.mobile-program):not(.btn){display:flex;align-items:center;min-height:56px;text-decoration:none;font:400 24px/1.2 var(--serif);border-bottom:1px solid var(--line)}
.mobile-nav a[aria-current=page]{color:var(--accent)}
.mobile-nav .btn{margin-top:var(--s5);width:100%}
@media(min-width:1000px){
 .main-nav{position:relative;isolation:isolate;display:flex;align-items:center;gap:var(--s5)}
 .header-cta{display:inline-flex;gap:8px;min-height:44px;padding:0 20px;font-size:16px}
 .menu-btn,.header-call,.mobile-nav,.site-header.menu-open .mobile-nav{display:none}
 /* Floating pill: the strip around it is see-through, so the sky shows; it narrows once the opening is scrolled past */
 body{background:linear-gradient(var(--sky),var(--sky)) top/100% 120px no-repeat var(--paper)}
 .site-header{padding:14px var(--gutter) 0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;pointer-events:none}
 .header-inner{pointer-events:auto;max-width:calc(var(--wrap) - 2 * var(--gutter));min-height:0;height:64px;padding:0 10px 0 22px;gap:var(--s5);border-radius:var(--r-pill);background:#ffffffc2;-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border:1px solid #ffffffd9;box-shadow:0 12px 32px -14px #1d334740;transition:max-width 1s var(--ease),height 1s var(--ease),background-color 1s,box-shadow 1s}
 .site-header[data-condensed] .header-inner{max-width:62rem;height:56px;background:#ffffffe8;box-shadow:0 14px 34px -12px #1d33474d}
 .site-header[data-condensed] .logo-word{max-width:0;opacity:0}
}

/* Hero */
.hero{padding-block:var(--s7) var(--s4)}
.hero-grid{display:grid;gap:var(--s7);align-items:center}
.hero-copy{display:grid;gap:var(--s5);justify-items:start}
.hero-copy h1 em{display:block}
.hero-copy .lead{max-width:34em}
.hero-facts{display:grid;gap:var(--s3);margin:var(--s3) 0 0;padding:var(--s5) 0 0;border-top:1px solid var(--line);width:100%}
.hero-facts div{display:flex;gap:var(--s3);align-items:baseline}
.hero-facts dt{font:600 var(--label)/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);min-width:92px}
.hero-facts dd{margin:0;font-size:var(--small);color:var(--ink)}
.hero-figure{position:relative;margin:0;max-width:520px;justify-self:center;width:100%}
.hero-figure:before{content:"";position:absolute;width:38%;aspect-ratio:1;border-radius:50%;background:var(--sun);opacity:.85;top:-4%;left:-6%;z-index:0}
.hero-figure img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--arch)}
.hero-figure figcaption{position:relative;z-index:2;display:flex;align-items:center;gap:var(--s3);margin:-36px var(--s4) 0;padding:14px 18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--small)}
.hero-figure figcaption a{margin-left:auto}
.avatars{display:flex;flex-shrink:0}
.avatars img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--paper)}
.avatars img+img{margin-left:-12px}
@media(min-width:960px){
 .hero{padding-block:var(--s8) var(--s6)}
 .hero-grid{grid-template-columns:1.2fr .8fr;gap:var(--s8)}
 .hero-facts{grid-template-columns:repeat(3,auto);justify-content:start;column-gap:var(--s6)}
 .hero-facts div{flex-direction:column;gap:2px}
 .hero-facts dt{min-width:0}
}

/* 01 Problems: editorial list */
.problem-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.problem-list li{display:grid;grid-template-columns:96px 1fr;gap:var(--s5);align-items:center;padding-block:var(--s6);border-bottom:1px solid var(--line)}
.problem-list img{width:96px;aspect-ratio:1;object-fit:cover;border-radius:var(--r-md)}
.problem-list h3{margin-bottom:var(--s2)}
.problem-list p{color:var(--ink-soft)}
.problem-num{display:none}
@media(min-width:760px){
 .problem-list li{grid-template-columns:64px 200px 1fr;gap:var(--s7)}
 .problem-list img{width:200px;aspect-ratio:4/3}
 .problem-num{display:block;font:400 32px/1 var(--serif);color:var(--accent)}
}

/* 02 Coaches */
.coach-grid{display:grid;gap:var(--s8)}
.coach{display:grid;gap:var(--s5);align-content:start}
.coach-photo{margin:0;max-width:400px}
.coach-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--arch);background:var(--line)}
.coach-role{font:600 var(--label)/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.coach h3{font-size:clamp(30px,3vw,40px)}
.coach blockquote{margin:0;padding-left:var(--s5);border-left:2px solid var(--sun);font:italic 400 22px/1.45 var(--serif);color:var(--ink)}
.coach-facts{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2);font-size:var(--small);color:var(--ink-soft)}
.coach-facts li{display:flex;gap:var(--s3)}
.coach-facts li:before{content:"";flex-shrink:0;width:6px;height:6px;margin-top:.65em;border-radius:50%;background:var(--accent)}
.coach-note{margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--line)}
@media(min-width:760px){.coach-grid{grid-template-columns:1fr 1fr;gap:var(--s7)}.coach:nth-child(2){margin-top:0}}

/* 03 Services */
.service-grid{display:grid;gap:var(--s7)}
.service{display:grid;gap:var(--s4);align-content:start;text-decoration:none}
.service img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-md);transition:transform .5s var(--ease)}
.service .img-wrap{overflow:hidden;border-radius:var(--r-md)}
.service:hover img{transform:scale(1.03)}
.service p{color:var(--ink-soft)}
.service .link{justify-self:start}
@media(min-width:900px){.service-grid{grid-template-columns:repeat(3,1fr);gap:var(--s6)}}
.image-note{margin-top:var(--s6);font-size:14px;color:var(--ink-soft)}

/* 04 Morning timeline */
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:84px 1fr;gap:var(--s5);align-content:start;padding-block:var(--s6);border-bottom:1px solid var(--line)}
.timeline time{display:block;font:400 clamp(32px,3.4vw,48px)/1 var(--serif);color:var(--accent);font-variant-numeric:lining-nums tabular-nums}
.timeline h3{margin-bottom:var(--s2)}
.timeline p{color:var(--ink-soft)}
.timeline small{display:block;margin-top:var(--s2);font:600 var(--label)/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
@media(min-width:900px){
 .timeline{grid-template-columns:repeat(3,1fr);border-top:0}
 .timeline li{grid-template-columns:1fr;gap:var(--s4);padding:var(--s6) var(--s6) 0 0;border-bottom:0;border-top:1px solid var(--ink)}
}

/* Breathing pause (dark band) */
.pause{background:var(--ink-deep);color:var(--paper)}
.pause .eyebrow{color:var(--sun)}
.pause h2 em{color:var(--sun)}
.pause-grid{display:grid;gap:var(--s7);align-items:center}
.pause-copy{display:grid;gap:var(--s5);justify-items:start}
.pause-copy p{color:#dce7ef}
.breath{display:grid;justify-items:center;gap:var(--s5)}
.breath-ring{position:relative;width:min(300px,72vw);aspect-ratio:1;display:grid;place-items:center}
.breath-ring:before,.breath-ring:after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid #e9a23b66;transition:transform 4s ease-in-out,opacity 4s}
.breath-ring:after{inset:14%;background:#fbf8f20d;border-color:#f2c76b99}
.breath[data-phase=inhale] .breath-ring:before,.breath[data-phase=inhale] .breath-ring:after{transform:scale(1.08)}
.breath[data-phase=exhale] .breath-ring:before,.breath[data-phase=exhale] .breath-ring:after{transform:scale(.82)}
.breath-word{position:relative;z-index:1;font:italic 400 26px/1.2 var(--serif);text-align:center;max-width:70%}
.breath-status{min-height:1.6em;font-size:var(--small);color:#dce7ef;text-align:center}
@media(min-width:900px){.pause-grid{grid-template-columns:1fr 1fr}}

/* 05 FAQ */
.faq-grid{display:grid;gap:var(--s7)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s5);min-height:72px;padding-block:var(--s4);font:500 20px/1.4 var(--sans);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";flex-shrink:0;width:14px;height:14px;background:linear-gradient(var(--accent),var(--accent)) center/14px 2px no-repeat,linear-gradient(var(--accent),var(--accent)) center/2px 14px no-repeat;transition:transform .25s var(--ease)}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding-bottom:var(--s5);color:var(--ink-soft);max-width:44em}
@media(min-width:900px){.faq-grid{grid-template-columns:.8fr 1.2fr;gap:var(--s9)}}

/* Closing contact band */
.contact-band{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#24532f,#3a7a48);color:var(--paper)}
.contact-band .eyebrow{color:var(--sun)}
.contact-band h2 em{color:var(--sun)}
.contact-band-grid{display:grid;gap:var(--s7)}
.contact-band-copy{display:grid;gap:var(--s5);justify-items:start}
.contact-band-copy p{color:#dce7ef}
.contact-cards{display:grid;gap:var(--s4)}
.contact-card{display:grid;gap:6px;padding:var(--s5) var(--s6);border:1px solid #fbf8f233;border-radius:var(--r-md);text-decoration:none;transition:background-color .2s,border-color .2s}
.contact-card:hover{background:#fbf8f212;border-color:#fbf8f266}
.contact-card span{font:600 var(--label)/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sun)}
.contact-card strong{font:400 clamp(28px,3vw,38px)/1.15 var(--serif);font-variant-numeric:lining-nums tabular-nums}
.contact-card em{font-style:normal;font-size:var(--small);color:#dce7ef}
.contact-band .note{color:#cfdde8}
@media(min-width:900px){.contact-band-grid{grid-template-columns:1fr 1fr;align-items:center;gap:var(--s9)}}

/* Footer */
.site-footer{padding-block:var(--s8) var(--s6);border-top:1px solid var(--line)}
.footer-grid{display:grid;gap:var(--s6)}
.footer-grid h2{font:600 var(--label)/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s4)}
.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.footer-grid a{text-decoration:none}
.footer-grid a:hover{color:var(--accent);text-decoration:underline}
.footer-brand{display:grid;gap:var(--s4);justify-items:start;max-width:340px}
.footer-brand p{color:var(--ink-soft);font-size:var(--small)}
.footer-legal{display:grid;gap:var(--s3);margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--line);font-size:14px;color:var(--ink-soft)}
.nowrap{white-space:nowrap}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}.footer-legal{grid-template-columns:1fr auto}}
@media(min-width:1100px){.footer-grid{grid-template-columns:1.3fr .8fr 1.1fr 1.1fr}}

/* Floating WhatsApp shortcut, phones and tablets only: desktop has WhatsApp in the hero,
   contact band and footer (white on --wa: 6.5:1) */
.wa-float{position:fixed;right:16px;bottom:16px;z-index:40;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 20px 0 16px;border-radius:var(--r-pill);background:var(--wa);color:var(--white);font:600 16px/1 var(--sans);text-decoration:none;box-shadow:0 10px 30px -10px #161b3680;transition:transform .2s var(--ease),opacity .3s}
.wa-float svg{width:22px;height:22px}
.wa-float:hover{transform:translateY(-2px)}
.wa-float.is-hidden{opacity:0;pointer-events:none}
.site-footer{padding-bottom:calc(var(--s6) + 72px)}
@media(min-width:1000px){.wa-float{display:none}.site-footer{padding-bottom:var(--s6)}}

/* Reveal: only below-the-fold elements are hidden, and only once JS has run */
.reveal-pending{opacity:0;transform:translateY(18px)}
.reveal-in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}
 .reveal-pending{opacity:1;transform:none}
}
@media print{.site-header,.wa-float,.pause{display:none}}

/* Homepage hero: the two Journeys as the first choice, beside the headline */
.hero-journeys{display:grid;gap:var(--s4);align-content:center}
.journey-card{display:grid;grid-template-columns:112px 1fr;grid-template-rows:auto auto auto 1fr;column-gap:var(--s5);row-gap:var(--s2);padding:var(--s4);background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.journey-card:hover{border-color:var(--accent);box-shadow:0 10px 30px rgb(31 37 71/.08);transform:translateY(-2px)}
.journey-card .img-wrap{grid-row:1/-1;border-radius:var(--r-sm);overflow:hidden;aspect-ratio:1}
.journey-card img{width:100%;height:100%;object-fit:cover;display:block}
.journey-card .eyebrow{margin:0}
.journey-card h3{font:400 var(--h3)/1.15 var(--serif);margin:0}
.journey-card p{margin:0;color:var(--ink-soft);font-size:var(--small);line-height:1.5}
.journey-card .link{align-self:end;font-size:var(--small)}
.hero-journeys>.note{margin:0;font-size:var(--small)}
@media(max-width:480px){.journey-card{grid-template-columns:80px 1fr;column-gap:var(--s4)}.journey-card p{display:none}}
/* Phones: the Journey choice comes straight after the intro, before the buttons and facts */
@media(max-width:959px){
 .hero-grid:has(.hero-journeys) .hero-copy{display:contents}
 .hero-grid:has(.hero-journeys)>*,.hero-grid:has(.hero-journeys) .hero-copy>*{grid-column:1}
 .hero-copy>.eyebrow{order:1}.hero-copy>h1{order:2}.hero-copy>.lead{order:3}.hero-journeys{order:4}.hero-copy>.actions,.hero-copy>.safe-line{order:5}.hero-copy>.hero-facts{order:6}
 .hero-grid:has(.hero-journeys){gap:var(--s5)}
}
.mobile-nav{padding-inline:var(--gutter)}
.mobile-nav a.btn{font:600 var(--small)/1 var(--sans);justify-content:center;border-bottom:0;margin-top:var(--s3)}
/* Homepage: "Thin isn't the same as healthy" */
.thin-fat-grid{display:grid;gap:var(--s6);align-items:center}
@media(min-width:960px){.thin-fat-grid{grid-template-columns:1.1fr .9fr;gap:var(--s8)}}
.thin-fat-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(20px,3vw,32px);display:grid;gap:var(--s4);justify-items:start}
.thin-fat-signs{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3);width:100%}
.thin-fat-signs li{position:relative;padding:0 0 var(--s3) 32px;border-bottom:1px solid var(--line);font-size:var(--body);line-height:1.45;color:var(--ink)}
.thin-fat-signs li:before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;border-radius:50%;border:2px solid var(--sun);background:#fdf1e3}
.thin-fat-card .note{margin:0}
/* Footer over slow-moving clouds (footer-clouds.mp4, Mixkit licence: ASSET-SOURCES.md). The poster is the
   background, so it looks the same before the video loads and under reduced motion. */
.site-footer.has-clouds{position:relative;isolation:isolate;overflow:hidden;border-top:0;color:#fff;background:#4c87ad url('assets/footer-clouds-poster.jpg') center/cover}
.site-footer.has-clouds:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#113951c2,#17466ba3)}
.footer-clouds{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.has-clouds .footer-grid h2{color:#f4c47a}
.has-clouds a,.has-clouds li,.has-clouds .footer-brand p{color:#fff}
.has-clouds .footer-grid a:hover{color:#f4c47a}
.has-clouds .logo-word{filter:brightness(0) invert(1)}
.has-clouds .footer-legal{border-top-color:#ffffff40;color:#e3ecf3}
.footer-motion-toggle{position:absolute;top:14px;right:16px;z-index:1;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid #ffffff70;background:#163d5ac7;color:#fff;font:600 13px/1 var(--sans);cursor:pointer}
.footer-motion-toggle:hover{background:#163d5a}
.footer-motion-toggle[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.footer-clouds{display:none}}

/* Story cards (homepage coaches, /stories/) */
.story-cards{display:grid;gap:var(--s5);margin-top:var(--s6)}
@media(min-width:760px){.story-cards{grid-template-columns:repeat(2,1fr)}}
.story-card{display:grid;grid-template-columns:140px 1fr;gap:var(--s5);align-items:start;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s4)}
.story-card-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-sm)}
.story-card-body{display:grid;gap:var(--s2);justify-items:start}
.story-card h3{font:400 var(--h3)/1.15 var(--serif);margin:0;color:var(--ink)}
.story-card blockquote{margin:0;font:italic 400 19px/1.45 var(--serif);color:var(--ink-soft)}
.story-card .link{margin-top:var(--s2)}
.draft-pill{display:inline-block;padding:3px 10px;border-radius:var(--r-pill);background:var(--sun);color:var(--ink);font:600 12px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase}
@media(max-width:480px){.story-card{grid-template-columns:96px 1fr;gap:var(--s4)}.story-card blockquote{font-size:17px}}

/* ── Calm motion (Morning Sky) ─────────────────────────────────────────────────────────────
   Background life only: clouds drifting across every page's opening, a sun that grows and
   shrinks on a 10-second breath, a slow shimmer on cards and soft light moving in the quiet
   sections. Rules: transform and opacity only; nothing faster than a breath; never behind text
   in a way that lowers contrast; all of it stops under prefers-reduced-motion and when the
   visitor presses "Pause motion" (html.motion-paused, remembered on the device by brk.js). */
.hero,.story-hero,.inner-hero,.bs-intro{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,var(--sky) 0%,#eef5f9 55%,var(--paper) 100%)}
.hero:before,.story-hero:before,.inner-hero:before,.bs-intro:before{content:"";position:absolute;z-index:-1;top:0;left:0;width:200%;height:min(100%,620px);pointer-events:none;
 background-image:radial-gradient(240px 72px at 10% 16%,#fffffff2,#fff0),radial-gradient(150px 46px at 31% 42%,#ffffffd9,#fff0),radial-gradient(280px 84px at 58% 26%,#ffffffcc,#fff0),radial-gradient(190px 58px at 84% 58%,#ffffffbf,#fff0);
 background-size:50% 100%;background-repeat:repeat-x;animation:sky-drift 150s linear infinite;will-change:transform}
@keyframes sky-drift{to{transform:translateX(-50%)}}
.hero:after,.story-hero:after,.inner-hero:after,.bs-intro:after{content:"";position:absolute;z-index:-1;top:clamp(20px,5vw,64px);right:max(3%,calc((100% - var(--wrap))/2));width:clamp(150px,20vw,270px);aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff8e4 0%,#fde9b9b8 42%,#fde9b900 70%);will-change:transform,opacity}

.journey-card,.thin-fat-card,.story-card{position:relative;isolation:isolate;overflow:hidden}
.journey-card:before,.thin-fat-card:before,.story-card:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:0;width:300%;pointer-events:none;background:linear-gradient(110deg,#fff0 0%,#e6f1f8 17%,#edf6ec 33%,#fff0 50%,#e6f1f8 67%,#edf6ec 83%,#fff0 100%);animation:tile-sheen 26s ease-in-out infinite alternate;will-change:transform}
.journey-card:nth-child(2):before,.story-card:nth-child(2):before{animation-delay:-13s}
@keyframes tile-sheen{to{transform:translateX(-66.667%)}}

.section-sand{position:relative;isolation:isolate;overflow:hidden}
.section-sand:before,.section-sand:after{content:"";position:absolute;z-index:-1;width:min(560px,90vw);aspect-ratio:1;border-radius:50%;pointer-events:none;animation:mist-float 36s ease-in-out infinite alternate;will-change:transform}
.section-sand:before{top:-160px;right:-140px;background:radial-gradient(circle,#ffffffc4,#fff0 70%)}
.section-sand:after{bottom:-200px;left:-160px;background:radial-gradient(circle,#dff0e3c4,#dff0e300 70%);animation-duration:44s;animation-delay:-12s}
@keyframes mist-float{to{transform:translate(-36px,28px) scale(1.07)}}

.contact-band:before{content:"";position:absolute;z-index:-1;right:-120px;bottom:-140px;width:min(520px,90vw);aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#f2c76b40,#f2c76b00 70%);will-change:transform,opacity}

/* "Pause motion": top right of each page's opening on wide screens, bottom right on phones */
.motion-toggle{position:absolute;z-index:2;top:var(--s4);right:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)));display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:#ffffffd9;color:var(--ink-soft);font:600 13px/1 var(--sans);cursor:pointer}
.motion-toggle:hover{color:var(--ink);border-color:var(--accent)}
.motion-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:959px){.motion-toggle{top:auto;bottom:var(--s4)}.hero,.story-hero,.inner-hero,.bs-intro{padding-bottom:calc(var(--s6) + 52px)}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 .hero:before,.story-hero:before,.inner-hero:before,.bs-intro:before,.hero:after,.story-hero:after,.inner-hero:after,.bs-intro:after,
 .journey-card:before,.thin-fat-card:before,.story-card:before,.section-sand:before,.section-sand:after,.contact-band:before{animation:none}
 .motion-toggle{display:none}
}
/* "Private · No judgement · No pressure to join", next to each call to action */
.safe-line{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;list-style:none;font-size:15px;color:var(--ink-soft)}
.safe-line li:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--leaf);opacity:.8;vertical-align:.1em}
.contact-band .safe-line{color:#dce7ef}
.contact-band .safe-line li:before{background:var(--sun)}
@media(prefers-reduced-motion:reduce){.header-inner,.logo .logo-word,.nav-pill,.nav-panel{transition:none}}
/* Narrow phones: logo, Call and an icon-only menu button (its label stays for screen readers) */
@media(max-width:479px){
 .header-inner{gap:var(--s3)}
 .menu-btn{padding:0;width:44px;justify-content:center}
 .menu-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .logo img{height:34px}.logo .logo-word{height:30px}
}

/* ── Homepage, photo-led (2026-11-10) ─────────────────────────────────────────────────────── */
/* Opening: the coaches' real photo, with two facts floating on it */
.hero-photo{position:relative;margin:0;justify-self:center;width:100%;max-width:470px}
.hero-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:28px;box-shadow:0 32px 64px -32px #1d33477a}
.hero-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:10px 16px;border-radius:var(--r-pill);background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 28px -14px #1d334766;font:700 14px/1.25 var(--sans);color:var(--ink)}
.hero-chip:before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--leaf)}
.chip-b:before{background:var(--sun)}
.chip-a{left:12px;bottom:20px}.chip-b{right:12px;top:20px}
@media(min-width:960px){.chip-a{left:-32px;bottom:56px}.chip-b{right:-24px;top:32px}}

/* The two programmes, big and visual, right after the opening */
.journeys-band{padding-block:var(--s6) var(--s7)}
.journey-big-grid{display:grid;gap:var(--s5)}
@media(min-width:800px){.journey-big-grid{grid-template-columns:1fr 1fr}}
.journey-big{display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:var(--white);border:1px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:0 22px 44px -32px #1d334773;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.journey-big:hover{transform:translateY(-4px);box-shadow:0 30px 56px -30px #1d33478c}
.journey-big .img-wrap{display:block;aspect-ratio:16/9;overflow:hidden}
.journey-big img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform 1.4s var(--ease)}
.journey-big:hover img{transform:scale(1.04)}
.journey-big .eyebrow{margin:var(--s5) var(--s6) 0}
.journey-big h3{margin:var(--s2) var(--s6) 0;font-size:clamp(28px,2.6vw,36px);line-height:1.15}
.journey-big p{margin:var(--s3) var(--s6) 0;color:var(--ink-soft);line-height:1.6}
.journey-big .link{margin:auto var(--s6) var(--s6);padding-top:var(--s4)}
.journeys-note{margin:var(--s5) 0 0;text-align:center;color:var(--ink-soft)}
@media(max-width:479px){.journey-big .eyebrow,.journey-big h3,.journey-big p{margin-inline:var(--s5)}.journey-big .link{margin:auto var(--s5) var(--s5)}}

/* Real facts on a deep band: gives the page a firm middle */
.proof-strip{background:none;color:var(--paper)}
.proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5) var(--s4);padding-block:var(--s6)}
@media(min-width:800px){.proof-grid{grid-template-columns:repeat(4,1fr)}}
.proof strong{display:block;font:380 clamp(34px,4vw,52px)/1 var(--serif);font-variation-settings:'SOFT' 100;color:var(--sun)}
.proof span{display:block;margin-top:8px;font-size:15px;line-height:1.45;color:#dce7ef}

/* Coaches: same size, same frame, side by side */
.coach-photo{max-width:none}
.coach-photo img{aspect-ratio:4/5;object-position:50% 20%;border-radius:24px;box-shadow:0 24px 48px -32px #1d334773}
@media(min-width:800px){.coach-grid{max-width:820px}}
@media(max-width:799px){.coach-grid{grid-template-columns:1fr 1fr;gap:var(--s4)}.coach-photo img{border-radius:18px}}
/* Scene photos (BRK-WELLNESS-Assets/scenes, illustrative) */
.thin-fat-photo{margin:calc(-1 * clamp(20px,3vw,32px)) calc(-1 * clamp(20px,3vw,32px)) var(--s2);width:calc(100% + 2 * clamp(20px,3vw,32px))}
.thin-fat-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 40%}
.morning-photo{margin:0 0 var(--s7)}
.morning-photo img{display:block;width:100%;max-height:520px;aspect-ratio:3/2;object-fit:cover;border-radius:24px;box-shadow:0 24px 48px -32px #1d334773}
.morning-photo figcaption{margin-top:var(--s2);font-size:14px;color:var(--ink-soft)}

/* ══ Version 2 (2026-11-12): the ChatGPT page concepts, built in the site's own system ═════════════ */
.i{flex:none}
h1 em,h2 em{color:var(--accent)}
.hero h1 em,.story-intro h1 em{background:linear-gradient(transparent 80%,#f2c14e73 80%,#f2c14e73 94%,transparent 94%)}
.lang-menu summary{border:1px solid var(--line);background:#ffffffb3}

/* Safe line with icons */
.safe-line li{display:inline-flex;align-items:center;gap:6px}
.safe-line li:before{display:none}
.safe-line .i{width:18px;height:18px;color:var(--accent)}
.contact-band .safe-line .i{color:var(--sun)}

/* Opening with the photo spread across the right, fading into the page on the left */
@media(min-width:960px){
 .hero-has-photo{min-height:640px;display:grid;align-items:center}
 .hero-has-photo .hero-copy{max-width:600px;position:relative;z-index:1}
 .hero-has-photo .hero-photo{position:absolute;inset:0 0 0 34%;max-width:none;width:auto;margin:0;z-index:-1}
 .hero-has-photo .hero-photo img{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none;object-fit:cover;object-position:72% 38%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
 .hero-has-photo .chip-a{left:30%;bottom:72px}
 .hero-has-photo .chip-b{right:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)));top:96px}
 .hero-has-photo:after{display:none}
}
@media(max-width:959px){.hero-has-photo .hero-photo img{aspect-ratio:4/3;object-position:72% 40%}}

/* Programme cards: photo on the left, arrow button, warm tinted panel */
.journey-big{position:relative;background:linear-gradient(135deg,#f3f8ef,#fffaf0)}
.journey-big+.journey-big{background:linear-gradient(135deg,#fff7e6,#fffaf0)}
.journey-big .link{display:none}
.journey-big .go{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--white);transition:transform .4s var(--ease)}
.journey-big+.journey-big .go{background:var(--gold)}
.journey-big .go .i{width:22px;height:22px}
.journey-big:hover .go{transform:translateX(4px)}
.journey-big p{margin-bottom:calc(var(--s6) + 46px)}
@media(min-width:560px){
 .journey-big{display:grid;grid-template-columns:44% 1fr;grid-template-rows:auto auto 1fr}
 .journey-big .img-wrap{grid-row:1/-1;aspect-ratio:auto;height:100%;min-height:240px}
 .journey-big .eyebrow,.journey-big h3,.journey-big p{grid-column:2}
 .journey-big .eyebrow{margin-top:var(--s6)}
 .journey-big h3{font-size:clamp(26px,2.4vw,32px)}
}

/* Facts band: a rounded green panel with icons */
.proof-grid{background:linear-gradient(135deg,#24532f,#3a7a48);border-radius:24px;padding:var(--s6);margin-block:var(--s2) var(--s4);box-shadow:0 24px 48px -32px #24532f99}
.proof{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}
.proof-icon{grid-row:1/3;color:var(--sun)}
.proof-icon .i{width:34px;height:34px}
.proof strong{color:#ffe7a6}
.proof span:not(.proof-icon){margin-top:4px}
@media(min-width:800px){.proof+.proof{border-left:1px solid #ffffff2e;padding-left:var(--s5)}}

/* Warning signs as icon tiles */
.thin-fat-signs{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--s3)}
.thin-fat-signs li{display:grid;justify-items:center;align-content:start;gap:var(--s2);padding:var(--s4) var(--s3);border:1px solid var(--line);border-radius:16px;background:var(--white);text-align:center;font-size:15px;line-height:1.4}
.thin-fat-signs li:before{display:none}
.sign-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fdf1d6;color:var(--gold)}
.sign-icon .i{width:26px;height:26px}

/* Steps (morning, Live Young, BTC) as cards with an icon */
.timeline{gap:var(--s4);border:0}
.timeline li{position:relative;grid-template-columns:auto 1fr;gap:var(--s2) var(--s4);padding:var(--s5);border:1px solid var(--line);border-radius:20px;background:var(--white);box-shadow:0 18px 36px -30px #1d332866}
.tl-icon{grid-row:1/3;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#e7f1e3;color:var(--accent)}
.tl-icon .i{width:28px;height:28px}
.timeline time{font-size:clamp(26px,2.4vw,34px)}
.timeline li>div{grid-column:2}
@media(min-width:1000px){.timeline li{grid-template-columns:auto 1fr;padding:var(--s5);border-top:1px solid var(--line)}}

/* FAQ as rounded rows */
.faq{display:grid;gap:var(--s3)}
.faq details,.faq details:first-child{border:1px solid var(--line);border-radius:16px;background:var(--white);padding-inline:var(--s5)}
.faq details[open]{box-shadow:0 18px 36px -30px #1d332866}
.faq summary{font-size:18px;min-height:64px}

/* "Talk to us": a rounded green card with white contact pills */
.contact-band{background:none;color:var(--ink);padding-block:var(--s7)}
.contact-band:before{display:none}
.contact-band-grid{position:relative;overflow:hidden;isolation:isolate;padding:clamp(28px,5vw,56px);border-radius:28px;background:linear-gradient(135deg,#24532f,#3a7a48);color:var(--white)}
.contact-band-grid:before{content:"";position:absolute;z-index:-1;right:-120px;bottom:-140px;width:min(520px,90vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f2c14e40,#f2c14e00 70%);}
.contact-band .eyebrow{color:#ffe7a6}
.contact-band h2 em{color:#ffe7a6}
.contact-card{background:var(--white);border:0;color:var(--ink)}
.contact-card:hover{background:#f6faf3}
.contact-card span{color:var(--accent)}
.contact-card em{color:var(--ink-soft)}
.contact-band .note{color:#e3eedf}
@media(prefers-reduced-motion:reduce){.contact-band-grid:before{animation:none}}
/* The facts band below says the same as the opening's facts, so the photo opening drops them */
.hero-has-photo .hero-facts{display:none}
@media(min-width:960px){.hero-has-photo .chip-a{left:46%;bottom:64px}}
@media(min-width:960px){
 .hero-has-photo .hero-grid,.hero-has-photo .hero-copy{position:static}
 .hero-has-photo .hero-photo{inset:0 0 0 38%}
 .hero-has-photo .hero-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
 .hero-has-photo .hero-copy>*{position:relative;z-index:1}
 .hero-has-photo .hero-copy{max-width:560px}
}
@media(min-width:960px){
 .hero-has-photo .hero-grid{grid-template-columns:1fr}
 .hero-has-photo .hero-copy{justify-self:start;max-width:620px}
 .hero-has-photo .hero-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 16%,#000 46%);mask-image:linear-gradient(90deg,transparent 0,transparent 16%,#000 46%)}
}
@media(min-width:960px){.hero-has-photo>.wrap{width:100%}}

/* Photo opening: no drawn clouds over real photographs; the words arrive once (the story reel below moves the pictures). */
.hero-has-photo:before{display:none}
.hero-has-photo .hero-photo{overflow:hidden}
/* The opening's words arrive once, gently */
.hero-has-photo .hero-copy>*{animation:arrive 1.1s var(--ease) both}
.hero-has-photo .hero-copy>:nth-child(2){animation-delay:.12s}.hero-has-photo .hero-copy>:nth-child(3){animation-delay:.24s}
.hero-has-photo .hero-copy>:nth-child(4){animation-delay:.36s}.hero-has-photo .hero-copy>:nth-child(5){animation-delay:.48s}
.hero-has-photo .hero-photo{animation:photo-in 1.6s var(--ease) both}
.hero-has-photo .hero-chip{animation:arrive 1s var(--ease) .9s both}
@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes photo-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 .hero-has-photo .hero-copy>*,.hero-has-photo .hero-photo,.hero-has-photo .hero-chip{animation:none}
}
.motion-paused .hero-has-photo .hero-copy>*,.motion-paused .hero-has-photo .hero-photo,.motion-paused .hero-has-photo .hero-chip{animation:none}
@media(min-width:960px){.hero-has-photo .hero-photo{left:38%;right:0;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;justify-self:auto}}

/* ── Story reel (homepage opening, 2026-11-12) ─────────────────────────────────────────────────
   Four scenes of the BRK journey, after the TvastrOps opening: each scene has its own slow camera
   move; scenes cross-fade with a soft focus-pull; a caption card with a four-part progress bar
   says where you are. Pauses on hover/focus, with "Pause motion" and under reduced motion. */
.reel-stage{position:relative;width:100%;height:100%;overflow:hidden;border-radius:24px}
.reel-slide{position:absolute;inset:0;opacity:0;filter:blur(8px);transition:opacity .7s ease,filter .7s ease}
.reel-slide.is-active{opacity:1;filter:none;z-index:1}
.hero-has-photo .reel-slide img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;border-radius:0;box-shadow:none;-webkit-mask-image:none;mask-image:none;animation:none;transform:scale(var(--s0)) translate(var(--tx0),var(--ty0))}
.hero-has-photo .reel-slide.is-active img,.hero-has-photo .reel-slide.is-leaving img{animation:reel-cam 4s linear forwards}
@keyframes reel-cam{from{transform:scale(var(--s0)) translate(var(--tx0),var(--ty0))}to{transform:scale(var(--s1)) translate(var(--tx1),var(--ty1))}}
.reel-caption{display:grid;gap:4px;margin-top:var(--s4);padding:var(--s4) var(--s5);border-radius:18px;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffffcc;box-shadow:0 18px 40px -24px #1d332866}
.reel-cap{display:none;gap:4px}
.reel-cap.is-active{display:grid;animation:arrive .9s var(--ease) both}
.reel-step{font:700 12px/1.4 var(--sans);letter-spacing:.14em;color:var(--leaf)}
.reel-cap strong{font:520 22px/1.25 var(--serif);font-variation-settings:'SOFT' 100;color:var(--ink)}
.reel-cap span:last-child{font-size:15px;line-height:1.5;color:var(--ink-soft)}
.reel-progress{display:flex;gap:6px;margin-top:var(--s2)}
.reel-progress button{flex:1;padding:10px 0;border:0;background:none;cursor:pointer}
.reel-progress i{position:relative;display:block;height:4px;border-radius:2px;overflow:hidden;background:#1d332824}
.reel-progress i:after{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left}
.reel-progress .done i:after{transform:none}
.reel-progress .now i:after{animation:reel-fill 4s linear forwards}
.reel-progress button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
@keyframes reel-fill{to{transform:none}}
.reel-paused .reel-slide img,.reel-paused .reel-progress i:after{animation-play-state:paused!important}
@media(min-width:960px){
 .hero-has-photo .reel-stage{border-radius:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 12%,#000 42%);mask-image:linear-gradient(90deg,transparent 0,transparent 12%,#000 42%)}
 .reel-caption{position:absolute;z-index:2;right:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)));bottom:36px;width:min(380px,70%);margin:0}
}
@media(max-width:959px){.reel-stage{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.reel-slide{transition:none;filter:none}.hero-has-photo .reel-slide img,.reel-progress .now i:after{animation:none}.reel-progress .now i:after{transform:none}}
@media(min-width:960px){.hero-has-photo>.wrap{pointer-events:none}.hero-has-photo .hero-copy,.hero-has-photo .reel-caption{pointer-events:auto}}

/* ── Morning light (2026-11-13), replacing the pulsing sun disc ─────────────────────────────────
   Light falls in from the top-right corner, partly off-screen: a warm wash with faint rays that
   turn once every four minutes. Nothing grows, shrinks or pulses. */
.hero:after,.story-hero:after,.inner-hero:after,.bs-intro:after{
 top:-55%;right:-22%;width:min(1100px,110vw);aspect-ratio:1;border-radius:50%;opacity:1;
 background:radial-gradient(circle,#fff8e3 0%,#fdeec4b3 16%,#fdeec440 36%,#fdeec400 58%),repeating-conic-gradient(from 0deg,#fff4d24d 0deg 3deg,#fff4d200 3deg 15deg);
 -webkit-mask-image:radial-gradient(circle,#000 0,#000 18%,transparent 60%);mask-image:radial-gradient(circle,#000 0,#000 18%,transparent 60%);
 animation:light-turn 240s linear infinite;will-change:transform}
@keyframes light-turn{to{transform:rotate(360deg)}}
.contact-band-grid:before{right:-30%;bottom:-70%;width:min(900px,120vw);background:radial-gradient(circle,#f2c14e33 0%,#f2c14e00 55%),repeating-conic-gradient(from 0deg,#ffe7a61f 0deg 3deg,#ffe7a600 3deg 15deg);-webkit-mask-image:radial-gradient(circle,#000 0,#000 15%,transparent 58%);mask-image:radial-gradient(circle,#000 0,#000 15%,transparent 58%);animation:light-turn 300s linear infinite}
@media(prefers-reduced-motion:reduce){.hero:after,.story-hero:after,.inner-hero:after,.bs-intro:after,.contact-band-grid:before{animation:none}}
/* Light source just off the top-right corner, so only its edge and a few faint rays reach the page */
.hero:after,.story-hero:after,.inner-hero:after,.bs-intro:after{top:-640px;right:-520px;width:1200px;background:radial-gradient(circle,#fff8e3 0%,#fdeec4cc 14%,#fdeec44d 32%,#fdeec400 56%),repeating-conic-gradient(from 0deg,#fff4d238 0deg 2.5deg,#fff4d200 2.5deg 14deg)}
@media(max-width:700px){.hero:after,.story-hero:after,.inner-hero:after,.bs-intro:after{top:-520px;right:-560px;width:900px}}
/* The flat disc behind arched photos becomes a soft glow */
.hero-figure:before{width:70%;top:-18%;left:-22%;opacity:1;background:radial-gradient(circle,#f2c14e66 0%,#f2c14e26 40%,#f2c14e00 70%)}
.stories-more{margin-top:var(--s4)}.story-card-soon blockquote{font-style:italic;color:var(--ink-soft)}
main p strong,main li strong,.faq details p strong{font-weight:700;color:var(--ink-deep)}
