/* Apple-style restyle, 14 Oct 2026 (v2 layout + v4 app type) */
:root{--cream:#F0EDE4;--gold:#C9A24A;--gold-t:#665426;--ink:#1C1A17;--soft:rgba(31,29,26,.82);--rule:rgba(201,162,74,.45);--tan:#F8F4EC}
html{scroll-behavior:smooth}
body{background:var(--cream)!important;color:var(--ink)!important;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,system-ui,sans-serif!important;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
body *{font-family:inherit}
.font-serif{font-family:inherit!important;font-weight:800!important;font-style:normal!important;letter-spacing:-.03em}
.italic{font-style:normal!important}
.bg-paper,.bg-paper-deep{background:var(--cream)!important}.text-ink{color:var(--ink)!important}.text-muted{color:var(--soft)!important}.text-brass{color:var(--gold-t)!important}
.bg-ink{background:var(--gold)!important;color:var(--ink)!important;font-weight:600}.text-paper{color:var(--ink)!important}
.border-line{border-color:var(--rule)!important}

.as-nav{position:sticky;top:0;z-index:50;background:rgba(240,237,228,.78);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--rule)}
.as-nav-in{max-width:1080px;margin:0 auto;height:52px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.as-brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--ink)}
.as-brand svg{width:28px;height:28px}
.as-links{display:none;gap:28px;font-size:13px;color:var(--soft)}.as-links a.on{color:var(--ink);font-weight:600}
.as-menu{background:none;border:0;font:inherit;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--ink);min-height:44px;padding:0 4px;cursor:pointer}
.as-mnav{border-top:1px solid var(--rule);padding:6px 20px 12px}.as-mnav a{display:flex;min-height:46px;align-items:center;border-bottom:1px solid var(--rule);font-size:17px}.as-mnav a:last-child{border:0}
.as-mnav[hidden]{display:none}
@media(min-width:820px){.as-links{display:flex}.as-menu,.as-mnav{display:none!important}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--gold);color:var(--ink);font-weight:600;border-radius:980px;padding:12px 26px;font-size:17px;border:0;cursor:pointer}
.btn:hover{background:#D4B062}.btn.sm{min-height:44px;padding:7px 18px;font-size:13px}.btn.ghost{background:transparent;border:1.5px solid var(--gold)}
.eyebrow{color:var(--gold-t);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.as h1,.as h2,.as h3{font-weight:800;letter-spacing:-.035em;line-height:1.03;text-wrap:balance;color:var(--ink)}
.as h1{font-size:clamp(44px,7vw,96px)}.as h2{font-size:clamp(34px,5vw,60px)}.as h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.025em}
.as p,.as li{text-wrap:pretty}
.lead{font-size:19px;color:var(--soft);max-width:640px;margin:18px auto 0}@media(min-width:820px){.lead{font-size:21px}}
.sec{padding:96px 20px;text-align:center}@media(min-width:820px){.sec{padding:150px 40px}}
.wrap{max-width:1080px;margin:0 auto}.narrow{max-width:720px;margin:0 auto}
.rule::before{content:"";display:block;width:48px;height:2px;background:var(--gold);margin:0 auto 32px}
.hero{position:relative;min-height:calc(100svh - 86px);display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:hidden}
.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero picture img{object-position:60% 30%}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:58%;background:linear-gradient(to top,var(--cream) 40%,rgba(240,237,228,0))}
.hero .copy{position:relative;z-index:2;padding:0 20px 72px;max-width:760px}
.hero h1{font-size:clamp(56px,15vw,64px);letter-spacing:-.045em;line-height:.98}
.hero .sub{font-size:22px;font-weight:500;color:var(--soft);margin-top:18px;letter-spacing:-.02em}
.hero .hcta{margin-top:36px}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero h1{animation:rise 1s ease-out .2s both}.hero .sub{animation:rise 1s ease-out .4s both}.hero .hcta{animation:rise .9s ease-out .6s both}
@media(prefers-reduced-motion:reduce){.hero *{animation:none!important}html{scroll-behavior:auto}}
@media(min-width:1000px){
 .hero{align-items:center;justify-content:flex-start;text-align:left;min-height:min(calc(100vh - 86px),900px)}
 .hero::after{inset:0 auto 0 0;width:58%;height:auto;background:linear-gradient(to right,var(--cream) 45%,rgba(240,237,228,0))}
 .hero picture img{object-position:80% 30%}
 .hero .copy{padding:0 0 0 max(40px,calc((100vw - 1080px)/2));max-width:calc(640px + max(40px,calc((100vw - 1080px)/2)))}
 .hero h1{font-size:clamp(96px,8.5vw,140px)}.hero .sub{font-size:30px;max-width:520px}
}
.banner{position:relative}.banner img{width:100%;height:auto;display:block}
@media(min-width:820px){.banner img{max-height:78vh;object-fit:cover}}
.banner.fade::after{content:"";position:absolute;inset:auto 0 0 0;height:22%;background:linear-gradient(to top,var(--cream),rgba(240,237,228,0))}
.feature{background:var(--tan);box-shadow:inset 0 0 0 1px var(--rule);border-radius:28px;padding:64px 28px;margin-top:40px}
.feature::before{content:"";display:block;width:56px;height:2px;background:var(--gold);margin:0 auto 32px}
.quote{font-weight:700;letter-spacing:-.02em;line-height:1.25;font-size:22px}
.quote.big{font-size:clamp(36px,6vw,68px);font-weight:800;letter-spacing:-.035em;line-height:1.08}
.who{margin-top:18px;font-size:15px;color:var(--soft)}
@media(min-width:820px){.feature{padding:110px 60px}}
.row{display:grid;gap:32px;align-items:center;text-align:left;margin-top:64px}
.row .img{border-radius:24px;overflow:hidden}.row .img img{width:100%;height:auto}
.row p{color:var(--soft);margin-top:14px}
@media(min-width:820px){.row{grid-template-columns:1fr 1fr;gap:64px;margin-top:96px}.row.flip .img{order:2}}
.about-row .img img{aspect-ratio:2/3;object-fit:cover}
@media(min-width:820px){.about-row{grid-template-columns:5fr 6fr}}
.blocks{text-align:left;margin-top:12px}.blocks h3{margin-top:34px}.blocks p{color:var(--soft);margin-top:10px}
.list{list-style:none;text-align:left;max-width:600px;margin:28px auto 0;padding:0}
.list li{padding:15px 0;border-bottom:1px solid var(--rule);font-size:19px;color:var(--soft)}
.grid{display:grid;gap:16px;margin-top:40px;text-align:left}
@media(min-width:820px){.grid.c2{grid-template-columns:1fr 1fr;gap:20px}}
.card{border:1px solid var(--rule);border-radius:22px;padding:30px}.card p{color:var(--soft);margin-top:10px}
@media(min-width:820px){.card{padding:40px}}
.wide-photo{border-radius:28px;overflow:hidden;margin-top:48px}.wide-photo img{width:100%;height:auto;display:block}
.cta{padding-top:40px}
form.as-form{display:grid;gap:14px;text-align:left;margin-top:40px}
.as-form label{font-size:14px;font-weight:600;display:grid;gap:6px}
.as-form input,.as-form textarea{font:inherit;font-size:17px;padding:14px 16px;border-radius:14px;border:1px solid rgba(201,162,74,.6);background:transparent;color:var(--ink)}
.as-form textarea{min-height:140px}.hp{position:absolute;left:-9999px}
.small{font-size:14px;color:var(--soft)}
a.tl{border-bottom:1.5px solid var(--gold);padding-bottom:2px;font-weight:600}
.as-foot{padding:48px 20px 64px;text-align:center;font-size:13px;color:var(--soft);border-top:1px solid var(--rule)}
.as-foot svg{width:34px;height:34px;margin:0 auto 14px;display:block}.as-foot p+p{margin-top:8px}
.legacy{padding-bottom:40px}.legacy h1{letter-spacing:-.035em}
.legacy a.rounded-full{background:var(--gold)!important;border:0!important;color:var(--ink)!important;font-weight:600}
.as-brand,.as-links a{min-height:44px;display:flex;align-items:center}
/* fixes 2026-10-14 b */
.as-brand svg{width:32px;height:32px}.as-foot svg{width:28px;height:28px}
.ring-r{width:36px;height:36px}
@media(max-width:999px){
 .hero{display:block;min-height:0;text-align:center}
 .hero picture{position:relative;display:block}.hero picture img{position:relative;width:100%;height:auto;max-height:none;object-fit:cover;object-position:50% 20%}
 .hero::after{display:none}
 .hero picture::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(to top,var(--cream),rgba(240,237,228,0))}
 .hero .copy{margin:-48px auto 0;padding:0 20px 64px}
}
@media(min-width:640px) and (max-width:999px){.hero picture img{aspect-ratio:4/3}.hero picture img{object-position:50% 25%}}
.about-row{align-items:start}
@media(min-width:820px){.about-row .img{position:sticky;top:96px}}
.about-page #about{padding-top:48px}.about-page #about .eyebrow{display:none}
@media(min-width:640px) and (max-width:819px){.about-row .img{max-width:560px;margin:0 auto}.about-row .img img{aspect-ratio:4/5;object-position:50% 30%}}
@media(max-width:639px){.river img{aspect-ratio:4/3;object-fit:cover;object-position:20% 70%}}
.as-menu{padding:0 14px;border:1px solid rgba(31,29,26,.2);border-radius:999px}
.eyebrow,.as .eyebrow{color:#665426!important}
.card{border-radius:24px}
/* readability for 50+ (2026-10-14 c) */
:root{--soft:#58544B}
body{font-size:18px!important;line-height:1.6;color:#1C1A17!important}
@media(min-width:820px){body{font-size:19.5px!important}}
.as p,.as li,.legacy p,.legacy li{font-weight:400;line-height:1.6;max-width:66ch}
.as .sec p,.as .lead{margin-left:auto;margin-right:auto}.as .row p,.as .blocks p{margin-left:0}
.lead{font-size:20px;color:var(--soft)}@media(min-width:820px){.lead{font-size:22px}}
.lead,.row p,.blocks p,.card p,.list li,.who,.hero .sub,.as-links,.as-foot,.small,.text-muted{color:var(--soft)!important}
.eyebrow,.as .eyebrow{font-size:15px!important}
.as-links{font-size:16px}.as-foot{font-size:16px}.small{font-size:16px}.who{font-size:16px}

.btn{min-height:48px;font-size:17px}.btn.sm{min-height:48px;font-size:17px;padding:8px 20px}
.as-menu{min-height:48px;font-size:16px}
.legacy .text-xs,.legacy .text-sm,.legacy [class*="text-[1"]{font-size:16px!important}
.legacy a.rounded-full,.legacy button{min-height:48px;font-size:17px!important}
.list li{font-size:19px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.hero h1,.hero .sub,.hero .hcta{animation-duration:.6s}
/* calm, not busy (2026-10-14 d) */
.rule::before,.feature::before,.cta h2::before,.tile h2::before{display:none!important}
.card{border:0!important;padding:0!important}
.grid{gap:56px}@media(min-width:820px){.grid.c2{gap:64px 72px}}
.feature{box-shadow:none}
.sec{padding:112px 24px}@media(min-width:820px){.sec{padding:160px 40px}}
/* circle R logo (2026-10-14 e) */
img.logo{width:32px;height:32px;display:block}.as-foot img.logo{margin:0 auto 14px}
/* v3 components */
.hero .hbody{font-size:19px;color:var(--soft);margin-top:16px;max-width:30ch}@media(max-width:999px){.hero .hbody{margin-left:auto;margin-right:auto}}
.steps{list-style:none;padding:0;margin:32px auto 0;max-width:620px;text-align:left;counter-reset:s}
.steps li{counter-increment:s;padding:22px 0 22px 64px;position:relative;border-bottom:1px solid var(--rule)}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:22px;font-weight:700;color:#665426;font-size:19px}
.steps h3{font-size:22px!important}.steps p{margin-top:6px;color:var(--soft)}
.scores{list-style:none;padding:0;margin:32px auto;max-width:560px;text-align:left}
.scores li{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--rule);font-size:19px}.scores b{color:#665426}
.faq{margin-top:40px;text-align:left}.faq details,.more{border-bottom:1px solid var(--rule);text-align:left}
.faq summary,.more summary{cursor:pointer;list-style:none;padding:24px 40px 24px 0;font-size:21px;font-weight:700;position:relative;min-height:48px}
.faq summary::-webkit-details-marker,.more summary::-webkit-details-marker{display:none}
.faq summary::after,.more summary::after{content:"+";position:absolute;right:4px;top:18px;font-size:30px;color:#665426}
.faq details[open] summary::after,.more[open] summary::after{content:"–"}
.faq details p{padding:0 0 24px;color:var(--soft)}.more{margin-top:24px}
a.tl{display:inline-block;padding:10px 0 8px;min-height:44px;border-bottom:0;text-decoration:underline;text-decoration-color:#C9A24A;text-decoration-thickness:1.5px;text-underline-offset:5px}
.as-foot a{display:inline-block;padding:12px 4px;min-height:44px}
.as-form label{font-size:17px}
.hp{display:none}
img.lockup{height:32px;width:auto;display:block}
@media(min-width:820px) and (max-width:999px){.about-row{grid-template-columns:1fr}.about-row .img{position:static;max-width:560px;margin:0 auto}.about-row .img img{aspect-ratio:4/5;object-position:50% 30%}}
.about-page>.sec:first-child{padding-bottom:0}.about-page>.sec:nth-child(2){padding-top:48px}@media(max-width:999px){.about-row .blocks{max-width:620px;margin:0 auto}}
/* lighter, charcoal (2026-10-14 f) */
:root{--ink:#1C1A17;--soft:#58544B;--tan:#F8F4EC}
body,.as h1,.as h2,.as h3,.quote,.quote.big,.faq summary,.more summary,.as-brand,.as-links a.on,.as-mnav a,.as-form input,.as-form textarea,.as-form label,.steps h3{color:#1C1A17!important}
body{color:#1C1A17!important}.text-ink{color:#1C1A17!important}
.lead,.row p,.blocks p,.card p,.list li,.who,.hero .sub,.hero .hbody,.as-links,.as-foot,.small,.text-muted,.steps p,.faq details p,.as p,.as li{color:#58544B!important}
.as .eyebrow,.as .steps li::before,.as .scores b{color:#665426!important}

.btn,.nav .btn,.legacy a.rounded-full{background:#C9A24A!important;color:#1C1A17!important}
.btn.ghost{background:transparent!important;border:1.5px solid #C9A24A;color:#1C1A17!important}
.as-menu{color:#1C1A17;border-color:rgba(31,29,26,.2)}
.as-nav{background:rgba(240,237,228,.85);border-bottom:1px solid rgba(31,29,26,.06)}
.feature{background:#F8F4EC}
.as-foot,.list li,.scores li,.steps li,.faq details,.more{border-color:rgba(31,29,26,.1)!important}
.energy h2{font-size:clamp(28px,4vw,40px)!important;margin-bottom:8px}
.energy-grid{display:grid;gap:16px}@media(min-width:640px){.energy-grid{grid-template-columns:1fr 1fr}}
.as-form select{font:inherit;font-size:18px;min-height:52px;padding:12px 16px;border-radius:14px;border:1px solid rgba(201,162,74,.6);background:transparent;color:#1C1A17}
.as-form input{min-height:52px;font-size:18px}
.energy .btn{justify-self:start;margin-top:8px}
.energy-result p{font-size:20px;color:#1C1A17!important;margin-top:10px;font-weight:500}
main.legacy{padding-top:64px}@media(min-width:820px){main.legacy{padding-top:120px}}
/* review fixes 2026-10-15 */
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;margin-top:8px}
.foot-place{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:8px}
.as h1,.as h2,.as h3,.hero h1,.quote,.quote.big{letter-spacing:-0.01em!important}
.btn-pair{display:flex;flex-direction:column;align-items:center;gap:14px}
.btn-pair .btn{min-height:48px;min-width:200px}
@media(min-width:480px){.btn-pair{flex-direction:row;justify-content:center}}
.slot[hidden]{display:none!important}
.toby{margin-top:48px}
.toby{max-width:720px;margin:56px auto 0}.toby .quote{font-size:clamp(24px,3vw,34px)}.feature .quote.big{font-size:clamp(32px,5vw,60px)}
.foot-place{display:block;white-space:normal}
/* ===== Roland reference look (2026-10-15): left-aligned, cards, numbered circles ===== */
.sec{text-align:left;padding:56px 22px}
@media(min-width:820px){.sec{padding:96px 40px}}
.sec+.sec,.banner+.sec{border-top:1px solid rgba(31,29,26,.1)}
.sec[style*="padding-top:0"]{padding-top:56px!important}
@media(min-width:820px){.sec[style*="padding-top:0"]{padding-top:96px!important}}
.narrow,.wrap{max-width:720px;margin:0 auto}
.as .lead,.as .sec p{margin-left:0;margin-right:0;text-align:left}
.as h1{font-size:clamp(36px,9.5vw,64px)!important;line-height:1.08;letter-spacing:-0.01em}
.as h2{font-size:clamp(26px,7vw,44px)!important;line-height:1.12}
.as h3{font-size:clamp(19px,5vw,24px)!important}
.as .eyebrow{font-size:13px!important;letter-spacing:.14em;font-weight:800;margin-bottom:10px}
.lead{font-size:18px!important;line-height:1.6;margin-top:14px}
@media(min-width:820px){.lead{font-size:20px!important}}
.cta{padding-top:28px}
/* cards */
.card,.feature,.toby{background:#FBF8F2!important;border:1px solid rgba(31,29,26,.1)!important;border-radius:18px!important;padding:22px!important;text-align:left}
.grid{gap:14px!important;margin-top:28px}
@media(min-width:820px){.grid.c2{gap:18px!important}.card{padding:30px!important}}
.feature{margin-top:28px}.feature .quote.big{font-size:clamp(26px,6.5vw,44px)!important;line-height:1.2}
.toby{margin:14px 0 0!important}
/* numbered circle steps */
.steps{max-width:none;margin:24px 0 0}
.steps li{padding:14px 0 14px 46px;border:0!important}
.steps li::before{content:counter(s);left:0;top:14px;width:28px;height:28px;border:1.5px solid #665426;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1}
.steps h3{font-size:19px!important}
/* lists as dividers */
.list{margin:20px 0 0;max-width:none}.list li{font-size:18px;padding:14px 0}
.scores{margin:20px 0}
/* stacked pill buttons in page heads */
.head-btns{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px}
.head-btns .btn{min-height:48px;min-width:220px}
@media(min-width:640px){.head-btns{flex-direction:row}}
/* closing chat: centred */
.sec.chat{text-align:center}.sec.chat h2{margin:0 auto;max-width:16ch}
.btn-pair{flex-direction:row!important;flex-wrap:wrap;justify-content:center}
.btn-pair .btn{min-width:0;padding:12px 24px}
/* faq rows */
.faq{margin-top:24px}.faq summary{font-size:19px;padding:20px 40px 20px 0}
/* about row on phones */
.about-row{margin-top:0}
@media(max-width:999px){.hero{text-align:left}.hero .copy{margin:-40px 0 0;padding:0 22px 48px}.hero .hbody,.hero .sub{margin-left:0}}
.hero h1{font-size:clamp(44px,12vw,140px)!important;letter-spacing:-0.01em}

/* page hero photos (2026-10-15) */
.page-hero{margin:0}.page-hero img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@media(min-width:640px){.page-hero img{aspect-ratio:3/2}}@media(min-width:1000px){.page-hero img{aspect-ratio:9/5;max-height:78vh}}

/* programme reference (2026-10-15) */
.facts{margin:24px 0 0;border-top:1px solid rgba(31,29,26,.1)}.facts div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid rgba(31,29,26,.1)}.facts dt{font-weight:700;color:#1C1A17}.facts dd{margin:0;text-align:right;color:#58544B}.cards{display:grid;gap:16px;margin-top:28px}@media(min-width:768px){.cards{grid-template-columns:1fr 1fr}}.cards .card h3{font-size:20px;font-weight:700}

/* nutrition reference (2026-10-15) */
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:22px 0}.pills li{background:#FBF8F2;border:1px solid rgba(31,29,26,.12);border-radius:999px;padding:10px 18px;font-size:17px;color:#1C1A17!important;max-width:none}.energy-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}#energy{scroll-margin-top:72px}

/* about reference (2026-10-15) */
.cards.one{grid-template-columns:1fr!important}.qcard{text-align:center!important;margin:0}.qcard .quote{font-size:22px;font-weight:700;line-height:1.3;color:#1C1A17}.qcard .who{margin-top:12px}.portrait{margin:0}.portrait img{width:100%;height:auto;border-radius:18px;display:block}

/* privacy reference (2026-10-15) */
.privacy .ph{font-size:22px!important;font-weight:800;margin:40px 0 10px}.privacy p{margin-top:12px}.plist{list-style:disc;padding-left:22px;margin-top:12px}.plist li{margin-top:8px;color:#58544B}.plist strong{color:#1C1A17}

/* home reference (2026-10-15) */
.foot-links{display:flex;flex-wrap:nowrap;justify-content:center;gap:0 18px;font-size:15px}@media(max-width:359px){.foot-links{flex-wrap:wrap}}

/* home fade hero (2026-10-15) */
.fade-hero{position:relative}.fade-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:38%;background:linear-gradient(to bottom,rgba(240,237,228,0),#F0EDE4 92%);pointer-events:none}.home-hero{padding-top:0!important;position:relative;z-index:1}.home-hero h1{margin-top:-1.35em}@media(min-width:1000px){.home-hero h1{margin-top:-1.1em}}
/* home hero headline like reference */
.home-hero{border-top:0!important}.home-hero::before{display:none!important}
.home-hero h1{font-size:clamp(56px,15vw,132px)!important;font-weight:800!important;line-height:.98;letter-spacing:-0.02em;margin-top:-1.15em}

/* shared fade hero on every photo page (2026-10-15) */
.page-hero.fade-hero img{aspect-ratio:5/4}
@media(min-width:640px){.page-hero.fade-hero img{aspect-ratio:2/1}}
@media(min-width:1000px){.page-hero.fade-hero img{aspect-ratio:12/5;max-height:70vh}}
.home-hero h1{font-size:clamp(40px,10.5vw,84px)!important;line-height:1.02;margin-top:0}
.home-hero .narrow>:first-child{margin-top:-1.5em!important}
.home-hero .narrow>p.eyebrow:first-child{margin-top:-3.2em!important;position:relative}
body.is-home .page-hero.fade-hero img{aspect-ratio:4/5}
@media(min-width:640px){body.is-home .page-hero.fade-hero img{aspect-ratio:3/2}}
@media(min-width:1000px){body.is-home .page-hero.fade-hero img{aspect-ratio:9/5}}
body.is-home .home-hero h1{font-size:clamp(56px,15vw,132px)!important;line-height:.98;margin-top:-1.15em!important}
.page-hero img[src*="hero-pushup"]{object-position:center 85%}

/* test fixes (2026-10-15) */
.eyebrow,.as .eyebrow{font-size:15px!important}
.energy-grid>*{min-width:0}.energy-grid input,.energy-grid select{width:100%;min-width:0;box-sizing:border-box}

/* enquire reference (2026-10-15) */
.enquire-head .eyebrow,.enquire-head h1,.enquire-head>.narrow>.lead{text-align:center;margin-left:auto;margin-right:auto}.enquire-head form{text-align:left}.as-form .opt{display:block;font-weight:400;font-size:15px;color:#58544B}.as-form .btn.send{width:100%;margin-top:8px}
.enquire-head .narrow>p.eyebrow{display:block!important;width:100%;max-width:none!important;text-align:center!important}

.foot-links2{margin-top:6px}

/* enquire message pills + footer (2026-10-15) */
.enquire-quote{margin:32px 0}hr.soft{border:0;border-top:1px solid rgba(31,29,26,.12);margin:40px 0 28px}.msg-head{text-align:center;margin:0 auto 16px!important}.msg-pills{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.msg-pills .btn{min-width:120px}.foot-links{flex-wrap:wrap!important;justify-content:center;gap:6px 18px}.foot-place{text-align:center}
.as-foot .foot-links{font-size:15px!important;gap:6px 16px!important}.as-foot .foot-links a{padding:0!important}.as-foot .foot-place{font-size:15px!important}
.as-foot{padding-left:12px!important;padding-right:12px!important}.as-foot .foot-links{gap:6px 14px!important;max-width:none!important}
.seen-in{text-align:center!important;margin:40px auto 0!important;display:block;width:100%;max-width:none!important}.press-lines{text-align:center;margin:12px auto 0!important;font-size:17px;line-height:2;color:#58544B;max-width:none!important}.press-lines a{color:#58544B;text-decoration:none}
.as p.press-lines{text-align:center!important;margin-left:auto!important;margin-right:auto!important;font-size:16px!important}

.faq-photo{margin:32px 0}.faq-photo img{width:100%;height:auto;border-radius:18px;display:block}

/* Roland hero photo spec (2026-10-15): size/crop only */
.page-hero.fade-hero{margin:0;padding:0}
.page-hero.fade-hero img,body.is-home .page-hero.fade-hero img{width:100%;aspect-ratio:1/1!important;object-fit:cover;max-height:none!important;border-radius:0}
.page-hero.fade-hero::after{height:42%!important;background:linear-gradient(to bottom,rgba(240,237,228,0),var(--cream))!important}
.home-hero .narrow>:first-child,.home-hero .narrow>p.eyebrow:first-child,body.is-home .home-hero h1{margin-top:-56px!important}
@media(min-width:700px){
 .page-hero.fade-hero{max-width:1200px;margin:24px auto 0;padding:0 24px;box-sizing:border-box}
 .page-hero.fade-hero img,body.is-home .page-hero.fade-hero img{aspect-ratio:16/9!important;border-radius:28px}
 .page-hero.fade-hero::after{left:24px;right:24px;border-radius:0 0 28px 28px}
}
.page-hero img[src*="hero-bridgecap"]{object-position:62% 40%}
.page-hero img[src*="hero-sled"]{object-position:50% 20%}
.page-hero img[src*="hero-parkbw"]{object-position:70% 35%}
.page-hero img[src*="hero-pairbw"]{object-position:81% 40%}
.page-hero img[src*="hero-run"]{object-position:6% 50%}
.page-hero.fade-hero img[src*="hero-pushup"]{aspect-ratio:4/3!important;object-position:50% 100%}
.page-hero.fade-hero:has(img[src*="hero-portrait"]){padding:0 22px;margin-top:24px}
.page-hero.fade-hero:has(img[src*="hero-portrait"])::after{display:none}
.page-hero.fade-hero img[src*="hero-portrait"]{aspect-ratio:1/1!important;border-radius:28px;object-position:50% 30%}
.page-hero.fade-hero:has(img[src*="hero-portrait"])+.home-hero .narrow>:first-child{margin-top:0!important}
.home-hero{padding-top:32px}
.page-hero.fade-hero:has(img[src*="hero-portrait"]){max-width:680px;margin-left:auto;margin-right:auto}

/* Roland typography spec (2026-10-15): system fonts only */
html,body,body *,button,input,select,textarea{font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important}
body,.as p,.as li,.legacy p,.legacy li,.lead,.faq details p{font-size:17px!important;font-weight:400;line-height:1.65!important}
h1,h2,.as h1,.as h2,.home-hero h1,body.is-home .home-hero h1{font-weight:800!important;letter-spacing:-0.03em!important;line-height:1.05!important}
.logo-r,.as-brand .r{font-family:Georgia,serif!important}

/* Massage page = Roland's mock-up (2026-10-15) */
.pg-massage .sec:not(.home-hero):not(.chat){padding:44px 24px!important;border-top:1px solid rgba(31,29,26,.12)}
.pg-massage .home-hero+.sec{border-top:0}
.pg-massage .eyebrow{font-size:12.5px!important;letter-spacing:.18em!important;font-weight:700!important;color:#665426!important;margin:0 0 10px!important}
.pg-massage .sec:not(.home-hero):not(.chat) h2{font-size:26px!important;line-height:1.12!important;margin:0 0 16px!important;text-align:left}
.pg-massage .sec:not(.home-hero):not(.chat) .lead{font-size:17px!important;line-height:1.65!important;color:#58544B!important}
.pg-massage .cards{display:grid;grid-template-columns:1fr;gap:16px!important;margin-top:28px}
.pg-massage .card{background:rgba(255,255,255,.28)!important;border:1px solid rgba(31,29,26,.13)!important;border-radius:14px!important;padding:20px 20px 22px!important;box-shadow:none!important}
.pg-massage .card h3{font-size:18px!important;font-weight:800!important;margin:0 0 10px!important;letter-spacing:-.01em}
.pg-massage .card p{font-size:15.5px!important;line-height:1.55!important;margin:0!important}
.pg-massage .head-btns .btn.ghost,.pg-massage .btn.ghost{border:1.5px solid #C9A24A!important;background:transparent!important;font-weight:700!important;color:#1C1A17!important}
.pg-massage .sec:not(.home-hero) .head-btns{margin-top:24px}
@media(min-width:820px){.pg-massage .cards{grid-template-columns:repeat(3,1fr)}.pg-massage .sec:not(.home-hero):not(.chat) h2{font-size:36px!important}}

/* Sitewide = Roland's mock-up (sampled colours, 2026-10-15) */
:root{--cream:#F0EDE4;--ink:#1C1A17;--soft:#58544B;--eyebrow:#665426;--line:#DCD8CC;--card:#F7F4ED;--cardline:#DBD9CD;--goldline:#BFA56A}
html,body,body.as{background:#F0EDE4!important}
body,.as p,.as li,.lead,.row p,.blocks p,.card p,.list li,.who,.hero .sub,.hero .hbody,.small,.text-muted,.steps p,.faq details p{color:#58544B!important}
h1,h2,h3,.as h1,.as h2,.as h3,.text-ink,.faq summary{color:#1C1A17!important}
.eyebrow,.as .eyebrow{color:#665426!important;font-size:12.5px!important;letter-spacing:.18em!important;font-weight:700!important;text-transform:uppercase;margin:0 0 10px!important}
.as .sec:not(.home-hero) h2{font-size:26px!important;font-weight:800!important;line-height:1.12!important;letter-spacing:-0.03em!important}
.as .sec+.sec,.as main>.sec:not(.home-hero):not(:first-child){border-top:1px solid #DCD8CC!important}
.as .home-hero+.sec,.as .fade-hero+.sec{border-top:0!important}
.as hr,.faq details{border-color:#DCD8CC!important}
.as-nav{background:rgba(240,237,228,.92)!important}
.card,.qcard,.as .cards>*{background:#F7F4ED!important;border:1px solid #DBD9CD!important;border-radius:14px!important;box-shadow:none!important}
.card{padding:20px 20px 22px!important}
.card h3{font-size:18px!important;font-weight:800!important}
.btn.ghost,.as .btn.ghost,.msg-pills a{background:transparent!important;border:1.5px solid #BFA56A!important;color:#1C1A17!important;font-weight:700!important}
.btn{font-weight:700!important;color:#1C1A17!important}
.facts td,.facts th,.facts tr{border-color:#DCD8CC!important}
@media(min-width:820px){.as .sec:not(.home-hero) h2{font-size:36px!important}}

/* audit fixes 2026-10-15 */
.pg-clients .quote:not(.big){font-size:18px!important;font-weight:500!important;line-height:1.55!important;letter-spacing:0!important;color:#1C1A17!important}
.btn,.btn.sm,.btn.ghost,.btn-pair .btn,.head-btns .btn{min-height:52px!important;height:52px;box-sizing:border-box;padding-top:0!important;padding-bottom:0!important}
a.btn[href*="wa.me"]{min-height:52px!important;padding:0 28px!important;font-size:17px!important;min-width:180px!important}
.as h1:not(.home-hero h1),.sec:not(.home-hero) h1,.home-hero h1{font-size:41px!important}
body.is-home .home-hero h1{font-size:clamp(56px,15vw,132px)!important}
@media(min-width:700px){.as h1:not(.home-hero h1),.sec:not(.home-hero) h1,body:not(.is-home) .home-hero h1{font-size:clamp(41px,5vw,64px)!important}}

/* Home hero buttons: Roland spec 2026-10-17, scoped to .home-hero .btn-stack */
.home-hero .btn-stack{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.home-hero .btn-stack .btn{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;height:auto;min-height:54px!important;margin:0;padding:0 30px!important;box-sizing:border-box;border-radius:999px;font-weight:700!important;font-size:16px;letter-spacing:.2px;text-decoration:none;cursor:pointer;transition:transform .1s ease,filter .15s ease}
.home-hero .btn-stack .btn-primary{background:linear-gradient(180deg,#C9A646,#B8943A)!important;color:#1A1A1A!important;border:none!important;box-shadow:0 4px 14px rgba(184,148,58,.35)}
.home-hero .btn-stack .btn-primary:active{filter:brightness(.92);transform:translateY(1px)}
.home-hero .btn-stack .btn-secondary{background:transparent!important;color:#1A1A1A!important;border:1px solid #B8943A!important;font-weight:600!important}
.as .home-hero .btn-stack .btn-note{margin:0!important;font-size:15px!important;line-height:1.4!important;text-align:center!important;color:#6b6558!important}
.home-hero .btn-stack .btn-secondary span{margin-left:.4em}
@media(min-width:768px){.home-hero .btn-stack{flex-direction:row;align-items:center}.home-hero .btn-stack .btn{width:auto}.as .home-hero .btn-stack .btn-note{display:none}}
/* Home hero supporting line + trust strip (20 Oct 2026; Dave may restyle) */
.home-hero .hero-support{font-size:17px;color:#3A372F;margin:8px 0 0}
.home-hero .trust-strip{font-size:15px!important;line-height:1.5;color:#58544B;letter-spacing:.01em;margin:20px 0 0;padding-top:14px;border-top:1px solid rgba(31,29,26,.12)}
.lite .lite-how{list-style:decimal}
.lite .lite-how li{list-style:decimal}
@media(min-width:768px){.home-hero .btn-stack{flex-wrap:wrap}.as .home-hero .btn-stack .btn-note{display:block;order:3;flex-basis:100%;text-align:left!important;margin-top:2px!important}}
/* 20 Oct: larger hero button text, duration note and trust strip */
.as .home-hero .btn-stack .btn{font-size:17px!important}
.as .home-hero .btn-stack .btn-note{font-size:16px!important}
.as .home-hero .trust-strip{font-size:16px!important}
/* Home 'natural' hero (Dave, approved 20 Oct 2026): photo with no overlay, headline block below it */
.hero-natural{margin:0;padding:0;position:relative}
.hero-natural img{display:block;width:100%;height:auto;aspect-ratio:1170/1250;object-fit:cover;border-radius:0}
.hero-natural::after{display:none!important}
.as .hero-natural+.home-hero{padding-top:28px!important;border-top:0!important}
.as .hero-natural+.home-hero .narrow>:first-child,.as.is-home .hero-natural+.home-hero .narrow>h1{margin-top:0!important}
.as.is-home .hero-natural+.home-hero h1{font-size:clamp(44px,12vw,96px)!important;line-height:1.02!important}
@media(min-width:640px){
 .hero-natural{max-width:1200px;margin:24px auto 0;padding:0 24px;box-sizing:border-box}
 .hero-natural img{aspect-ratio:1728/972;border-radius:28px}
 .as .hero-natural+.home-hero{padding-top:40px!important}
}
.home-hero .trust-strip span{white-space:nowrap}
.as .home-hero .trust-strip{max-width:none!important}
/* ===== Web-standards checklist (Roland, 20 Oct 2026). Cream + brand colours kept. ===== */
/* 1. Tap areas >= 48x48 */
.as .as-brand{display:inline-flex;align-items:center;min-height:48px}
.as .as-links a,.as .as-mnav a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:48px}
.as .as-menu{min-height:48px;min-width:48px}
.as .as-foot .foot-links a,.as .as-foot p a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:48px}
.as a.tl,.as .press-lines a{display:inline-block;padding:13px 0;margin:-13px 0;min-width:48px}
.as input:not([type=radio]):not([type=checkbox]),.as select,.as textarea{min-height:48px;font-size:17px}
/* 2. Text >= 16px, body copy 17px */
.as .eyebrow,.as p.eyebrow{font-size:16px!important;letter-spacing:.08em!important}
.as .as-foot,.as .as-foot p,.as .as-foot a,.as .foot-place{font-size:16px!important}
.as .press-lines{font-size:17px!important}
.pg-massage main p{font-size:17px!important}
.as .opt{font-size:16px!important}
/* 3. Sticky header: keep fields and anchors clear of it */
.as input,.as select,.as textarea,.as [id]{scroll-margin-top:76px}
html{scroll-padding-top:76px}
/* 4. Headings never force sideways scroll */
.as h1,.as h2,.as h3,.as h4{overflow-wrap:break-word;word-wrap:break-word;hyphens:manual;-webkit-hyphens:manual}
/* 5. Header and mobile menu sit above the hero */
.as .as-nav{z-index:1000}
.as .as-mnav{position:relative;z-index:1001}
.as.pg-massage .card p{font-size:17px!important}
.as p.press-lines{font-size:17px!important}
/* ===== 7-page restructure (20 Oct 2026): lookfeel components, ~760px column ===== */
.as .narrow{max-width:760px}
.as .as-nav-cta{display:flex;gap:8px;align-items:center}
@media(min-width:820px){.as .as-links{gap:6px}.as .as-links a{padding:0 8px}.as .as-nav-in{max-width:1180px}}
@media(min-width:820px) and (max-width:1023px){.as .as-links a{padding:0 4px;font-size:16px}.as .as-links{gap:2px}.as .as-brand img{width:120px;height:auto}}
.as .as-mnav a:last-child{color:#665426!important;font-weight:700}
.as .cards.parts,.as .cards.areas{grid-template-columns:1fr}
@media(min-width:620px){.as .cards.parts,.as .cards.areas,.as .cards.routes{grid-template-columns:1fr 1fr}}
.as .card{border-radius:20px!important;padding:22px}
.as .card h3{margin:0 0 6px}
.as .cards.quotes{gap:14px}
.as .cards.quotes .qcard .quote{font-size:19px;font-weight:600;line-height:1.45}
.as .route{display:flex;flex-direction:column;align-items:flex-start}
.as .route .btn{margin-top:auto!important;width:100%}
.as .route p{margin:0 0 12px}
.as .tag{font-size:16px!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#665426!important;margin:0 0 10px!important}
.as .route-note{font-size:16px!important}
.as .about-photo{margin:24px 0;border-radius:20px;overflow:hidden;aspect-ratio:1/1;background:#E9E4D8}
.as .about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
@media(min-width:620px){.as .about-photo{aspect-ratio:4/3}}
.as .press-card{margin-top:16px}
.as .press-card .quote{font-size:20px;font-weight:600;line-height:1.4;margin:8px 0}
.as .press-quote{margin:20px 0 0;padding-top:16px;border-top:1px solid rgba(31,29,26,.12)}
.as .press-quote .quote{font-size:18px;font-weight:600}
.as .checks .card h4,.as .more h4{font-size:18px;margin:20px 0 6px;color:#1C1A17}
.as .checks .more summary{font-size:18px;padding:14px 40px 14px 0}
.as .checks .more summary::after{top:8px}
.as .disclaimer{margin-top:24px}
.as #health-checks .card{scroll-margin-top:76px}
.as .as-mnav a{display:flex;justify-content:flex-start;width:100%}
/* aboutstyle 2026-10-20: Home About / Clients / Press / closing panel styled after Roland's lookfeel4 (layout only) */
.as.is-home #about,.as.is-home .about-story,.as.is-home #clients,.as.is-home #press,.as.is-home .sec.chat{padding:60px 22px;border-top:1px solid #DDD6C6}
.as.is-home #about{padding-top:28px;padding-bottom:48px}
.as.is-home .sec.about-story{border-top:0!important;padding-top:0}
.as.is-home #about .about-photo{margin:0 0 32px;border-radius:28px;aspect-ratio:1/1}
.as.is-home #about .eyebrow,.as.is-home #clients .eyebrow,.as.is-home #press .eyebrow{font-size:16px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6B5320;margin:0 0 12px}
.as.is-home .sec#about h2.about-hi{font-size:clamp(2.3rem,8.5vw,3.5rem)!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1.04!important;margin:0 0 16px;text-align:left}
.as.is-home #about .lead{color:#58534A;font-size:1.15rem;line-height:1.6;text-align:left}
.as.is-home .sec.about-story h2,.as.is-home .sec#clients h2,.as.is-home .sec#press h2,.as.is-home .sec.chat h2{font-size:clamp(1.7rem,6vw,2.3rem)!important;letter-spacing:-.025em!important;line-height:1.1!important;margin:0 0 16px}
.as.is-home .about-story p{color:#58534A;font-size:17px;line-height:1.65;margin:0 0 1em;text-align:left}
.as.is-home .about-story p:last-child{margin-bottom:0}
.as.is-home .qcard,.as.is-home #clients .qcard{background:#F7F4ED!important;border:1px solid #DDD6C6!important;border-radius:24px!important;padding:28px!important;text-align:center!important}
.as.is-home .qcard .quote,.as.is-home .cards.quotes .qcard .quote{font-size:clamp(1.4rem,5vw,2rem);font-weight:800;letter-spacing:-.025em;line-height:1.2;color:#1C1A17}
.as.is-home #clients .cards.quotes .qcard .quote{font-size:clamp(1.25rem,4.4vw,1.6rem)}
.as.is-home .qcard .who{font-style:normal;color:#58534A;font-size:16px;margin-top:10px}
.as.is-home #clients .cards.quotes{gap:20px}
.as.is-home #press .press-card{background:none!important;border:0!important;border-top:1px solid #DDD6C6!important;border-radius:0!important;padding:20px 0!important;margin:0;text-align:left}
.as.is-home #press .press-card:last-child{border-bottom:1px solid #DDD6C6!important}
.as.is-home #press .press-card h3{font-size:17px;font-weight:700;margin:0 0 8px}
.as.is-home #press .press-card p,.as.is-home #press .press-card li{color:#58534A;font-size:17px}
.as.is-home #press .press-card .quote{font-size:19px;font-weight:700;line-height:1.35;color:#1C1A17}
.as.is-home #press .press-card .who{color:#58534A;font-size:16px}
.as.is-home .sec.chat{text-align:center}
.as.is-home .sec.chat .cta{justify-content:center}
@media(min-width:820px){.as.is-home .sec#about h2.about-hi{font-size:3.5rem!important}.as.is-home .sec.about-story h2,.as.is-home .sec#clients h2,.as.is-home .sec#press h2,.as.is-home .sec.chat h2{font-size:2.3rem!important}.as.is-home #about,.as.is-home #clients,.as.is-home #press,.as.is-home .sec.chat{padding:80px 40px}.as.is-home .about-story{padding:0 40px 80px}.as.is-home #about .about-photo{aspect-ratio:4/3}}
/* end aboutstyle */
/* progstyle 2026-10-20: Programme page styled after Roland's lookfeel5 (layout only) */
.as.pg-programme .page-hero.fade-hero img{aspect-ratio:4/3!important;object-position:50% 100%}
.as.pg-programme .sec.home-hero{position:relative;z-index:1;padding-top:0}
.as.pg-programme .sec.home-hero h1{font-size:clamp(2.3rem,8.5vw,3.5rem)!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1.04!important;margin:-48px 0 16px!important;position:relative}
.as.pg-programme .sec.home-hero .lead{color:#58534A;font-size:1.15rem;line-height:1.6}
.as.pg-programme .head-btns{flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:26px}
.as.pg-programme .head-btns .btn{min-width:0}
.as.pg-programme .sec:not(.home-hero){padding:60px 22px;border-top:1px solid #DDD6C6}
.as.pg-programme .sec .eyebrow{font-size:16px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6B5320;margin:0 0 12px}
.as.pg-programme .sec:not(.home-hero) h2{font-size:clamp(1.7rem,6vw,2.3rem)!important;letter-spacing:-.025em!important;line-height:1.1!important;margin:0 0 16px}
.as.pg-programme .sec:not(.home-hero) .lead{color:#58534A;font-size:17px;line-height:1.65}
.as.pg-programme .facts{margin:24px 0 0;border-top:1px solid #DDD6C6}
.as.pg-programme .facts div{padding:14px 0;border-bottom:1px solid #DDD6C6}
.as.pg-programme .facts dd{color:#58534A}
.as.pg-programme .cards:not(.one){display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;margin-top:24px}
.as.pg-programme .card{background:#F7F4ED!important;border:1px solid #DDD6C6!important;border-radius:20px!important;padding:22px!important;text-align:left}
.as.pg-programme .card h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}
.as.pg-programme .card p{color:#58534A;font-size:17px;margin:0 0 .8em}
.as.pg-programme .card p:last-child{margin-bottom:0}
.as.pg-programme .cards.one.checks{gap:14px}
.as.pg-programme .sec.chat{text-align:center}
.as.pg-programme .sec.chat .cta{justify-content:center}
@media(min-width:700px){.as.pg-programme .page-hero.fade-hero img{aspect-ratio:16/9!important}}
@media(min-width:820px){.as.pg-programme .sec:not(.home-hero){padding:80px 40px}.as.pg-programme .sec:not(.home-hero) h2{font-size:2.3rem!important}.as.pg-programme .sec.home-hero h1{font-size:3.5rem!important}}
/* end progstyle */
/* nutristyle 2026-10-20: Nutrition page styled after Roland's lookfeel6 (layout only; energy.js logic unchanged) */
.as.pg-nutrition .sec{padding:60px 22px;border-top:1px solid #DDD6C6;text-align:left}
.as.pg-nutrition main>.sec:first-child{border-top:0;padding-top:56px;padding-bottom:56px}
.as.pg-nutrition main>.sec:first-child h1{font-size:clamp(2.3rem,8.5vw,3.5rem)!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1.04!important;margin:0 0 16px;text-align:left}
.as.pg-nutrition main>.sec:first-child .lead{font-size:1.15rem;color:#58534A;text-align:left}
.as.pg-nutrition .head-btns{flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:26px}
.as.pg-nutrition .head-btns .btn{min-width:0}
.as.pg-nutrition .sec .eyebrow{font-size:16px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6B5320;margin:0 0 12px}
.as.pg-nutrition .sec:not(:first-child) h2{font-size:clamp(1.7rem,6vw,2.3rem)!important;letter-spacing:-.025em!important;line-height:1.1!important;margin:0 0 16px}
.as.pg-nutrition .sec .lead{color:#58534A;font-size:17px;line-height:1.65}
.as.pg-nutrition .energy-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:14px;margin-top:22px}
.as.pg-nutrition .energy-grid label{display:grid;gap:6px;font-size:16px;font-weight:700;color:#1C1A17}
.as.pg-nutrition .energy-grid input,.as.pg-nutrition .energy-grid select{font-size:17px;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid #DDD6C6;background:#F7F4ED;color:#1C1A17}
.as.pg-nutrition .energy .btn{margin-top:18px}
.as.pg-nutrition .energy-result:not(:empty){margin-top:20px;padding:22px;border-radius:20px;border:1px solid #C2A257;background:#F7F4ED}
.as.pg-nutrition .energy-result p{font-size:1.35rem!important;font-weight:800;letter-spacing:-.02em;line-height:1.3;margin:4px 0 8px}
.as.pg-nutrition .energy-result p+p+p{font-size:17px!important;font-weight:500;letter-spacing:0;color:#58534A!important}
.as.pg-nutrition .pills{gap:10px;margin:20px 0}
.as.pg-nutrition .pills li{background:#F7F4ED;border:1px solid #DDD6C6;padding:8px 16px;font-size:16px;min-height:0}
.as.pg-nutrition .sec.chat{text-align:center}
.as.pg-nutrition .sec.chat .cta{justify-content:center}
@media(min-width:820px){.as.pg-nutrition .sec{padding:80px 40px}.as.pg-nutrition .sec:not(:first-child) h2{font-size:2.3rem!important}.as.pg-nutrition main>.sec:first-child h1{font-size:3.5rem!important}}
/* end nutristyle */
/* privstyle 2026-10-20: Privacy page styled after Roland's lookfeel7 (layout only; wording unchanged) */
.as .sec.privacy{padding:56px 22px 72px;text-align:left}
.as .sec.privacy .narrow{max-width:720px}
.as .sec.privacy h1{font-size:clamp(2.3rem,8.5vw,3.4rem)!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1.04!important;margin:0 0 10px;text-align:left}
.as .sec.privacy h1+.small{font-size:16px;color:#58534A;margin:0 0 20px}
.as .sec.privacy h1+.small+p{background:#F7F4ED;border:1px solid #DDD6C6;border-left:4px solid #C2A257;border-radius:16px;padding:18px 20px;color:#1C1A17;font-size:17px;margin:0 0 8px}
.as .sec.privacy h2.ph{font-size:1.25rem!important;font-weight:700!important;letter-spacing:-.01em!important;line-height:1.3!important;margin:36px 0 8px;text-align:left}
.as .sec.privacy p,.as .sec.privacy li{color:#58534A;font-size:17px;line-height:1.65}
.as .sec.privacy li strong{color:#1C1A17}
.as .sec.privacy .plist{padding-left:1.2em;margin:0 0 1em}
.as .sec.privacy .plist li{margin-bottom:.4em}
.as .sec.privacy a.tl{color:#6B5320}
@media(min-width:820px){.as .sec.privacy{padding:80px 40px 96px}}
/* privbw 2026-10-20: Dave's B&W R-cap photo layout (replaces the colour privphoto block) */
.as .sec.privacy-top{padding:0 0 8px;text-align:left;border-top:0}
.as .privacy-top .pt-grid{display:flex;flex-direction:column}
.as .privacy-top .privacy-photo{order:-1;position:relative;margin:0;width:100%;aspect-ratio:390/388;overflow:hidden;background:#D9D6CE}
.as .privacy-top .privacy-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.as .privacy-top .privacy-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9%;background:linear-gradient(to bottom,rgba(240,237,228,0),#F0EDE4);pointer-events:none}
.as .privacy-top .pt-text{padding:24px 22px 0}
.as .privacy-top h1{font-size:clamp(2.3rem,8.5vw,3.4rem)!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1.04!important;margin:0 0 10px;text-align:left}
.as .privacy-top h1+.small{font-size:16px;color:#58534A;margin:0 0 20px}
.as .privacy-top h1+.small+p{background:#F7F4ED;border:1px solid #DDD6C6;border-left:4px solid #C2A257;border-radius:16px;padding:18px 20px;color:#1C1A17;font-size:17px;line-height:1.65;margin:0}
.as .privacy-top+.sec.privacy{padding-top:12px;border-top:0}
.as .privacy-top+.sec.privacy .narrow>h2.ph:first-child{margin-top:28px}
@media(min-width:640px) and (max-width:819px){.as .privacy-top .privacy-photo{width:560px;max-width:calc(100% - 44px);margin:24px auto 0}.as .privacy-top .pt-text{max-width:720px;margin:0 auto;width:100%;box-sizing:border-box}}
@media(min-width:820px){
 .as .privacy-top .pt-grid{display:grid;grid-template-columns:1fr minmax(0,46%);gap:48px;align-items:center;max-width:1180px;margin:0 auto;padding:40px 40px 0;box-sizing:border-box}
 .as .privacy-top .privacy-photo{order:0;aspect-ratio:1/1;max-width:540px;justify-self:end}
 .as .privacy-top .pt-text{padding:0}
}
@media(min-width:1180px){.as .privacy-top .pt-grid{gap:72px;padding-top:56px}}
/* end privstyle */
/* enqstyle 2026-10-20: Enquire page styled after Roland's lookfeel8 (layout only; Netlify form untouched) */
.as.pg-enquire .sec.enquire-head{position:relative;z-index:1;padding-top:0}
.as.pg-enquire .enquire-head .narrow{max-width:640px}
.as.pg-enquire .enquire-head h1{font-size:clamp(2.6rem,10vw,3.8rem)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1!important;margin:0 auto 16px!important}
.as.pg-enquire .enquire-head .narrow>.eyebrow{margin-top:-64px!important;font-size:16px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6B5320;position:relative}
.as.pg-enquire .enquire-head>.narrow>.lead{color:#58534A;font-size:17px;line-height:1.65}
.as.pg-enquire .enquire-quote{margin:36px 0 0}
.as.pg-enquire .enquire-quote .qcard{background:#F7F4ED!important;border:1px solid #DDD6C6!important;border-radius:22px!important;padding:24px!important;text-align:center}
.as.pg-enquire .enquire-quote .quote{font-size:1.2rem!important;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:#1C1A17}
.as.pg-enquire .enquire-quote .who{color:#58534A;font-size:16px;margin-top:8px}
.as.pg-enquire form.as-form{display:grid;gap:16px;margin:32px 0 0;padding:24px 20px;background:#F7F4ED;border:1px solid #DDD6C6;border-radius:22px}
.as.pg-enquire form.as-form label{display:grid;gap:6px;font-weight:700;font-size:16px;color:#1C1A17}
.as.pg-enquire form.as-form label .opt{font-weight:400;color:#58534A}
.as.pg-enquire form.as-form input,.as.pg-enquire form.as-form textarea{font-size:17px;min-height:48px;padding:14px 16px;border-radius:14px;border:1px solid #DDD6C6;background:#F0EDE4;color:#1C1A17;width:100%;box-sizing:border-box}
.as.pg-enquire form.as-form textarea{min-height:130px;resize:vertical}
.as.pg-enquire form.as-form input:focus,.as.pg-enquire form.as-form textarea:focus{outline:2px solid #C2A257;outline-offset:1px}
.as.pg-enquire form.as-form .small{font-size:16px;color:#58534A;margin:0}
.as.pg-enquire form.as-form .btn.send{justify-self:start;min-height:48px}
.as.pg-enquire .enquire-head hr.soft{border:0;border-top:1px solid #DDD6C6;margin:36px 0 0}
.as.pg-enquire .enquire-head .msg-head{text-align:center;margin:28px 0 0;color:#58534A}
.as.pg-enquire .enquire-head .msg-pills{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:14px}
/* enqhero 2026-10-20: option B sprint photo (runner at the left edge), natural colours, short fade clear of the runner */
.as.pg-enquire .enquire-hero{position:relative;margin:0;overflow:hidden}
.as.pg-enquire .enquire-hero img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:6% 50%}
.as.pg-enquire .enquire-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14%;background:linear-gradient(to bottom,rgba(240,237,228,0),#F0EDE4);pointer-events:none}
@media(min-width:700px){.as.pg-enquire .enquire-hero{max-width:1200px;margin:24px auto 0;padding:0 24px;box-sizing:border-box}.as.pg-enquire .enquire-hero img{aspect-ratio:2/1;object-position:20% 60%;border-radius:28px}.as.pg-enquire .enquire-hero::after{left:24px;right:24px;border-radius:0 0 28px 28px}}
/* end enqstyle */
/* style360 2026-10-20: The 360 page styled after Roland's lookfeel10 (layout only; wording, sections, links and ids unchanged) */
.as.pg-360 .page-hero.fade-hero img{object-position:50% 20%}
.as.pg-360 .sec.home-hero{position:relative;z-index:1;padding-top:0;padding-bottom:56px}
.as.pg-360 .sec.home-hero h1{font-size:clamp(2.3rem,8.5vw,3.5rem)!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1.04!important;margin:-56px 0 16px!important;position:relative}
.as.pg-360 .sec.home-hero .lead{color:#58534A;font-size:1.15rem;line-height:1.6}
.as.pg-360 .head-btns{flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:26px}
.as.pg-360 .head-btns .btn{min-width:0}
.as.pg-360 .sec:not(.home-hero){padding:60px 22px;border-top:1px solid #DDD6C6}
.as.pg-360 .sec[style*="padding-top:0"]{padding-top:60px!important}
.as.pg-360 .sec .eyebrow{font-size:16px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6B5320;margin:0 0 12px}
.as.pg-360 .sec:not(.home-hero) h2{font-size:clamp(1.7rem,6vw,2.3rem)!important;letter-spacing:-.025em!important;line-height:1.1!important;margin:0 0 16px}
.as.pg-360 .sec:not(.home-hero) .lead{color:#58534A;font-size:17px;line-height:1.65}
.as.pg-360 .steps.num{display:grid;gap:14px;margin:24px 0 0;padding:0;list-style:none;counter-reset:s}
.as.pg-360 .steps.num li{counter-increment:s;display:grid;grid-template-columns:30px 1fr;column-gap:16px;align-items:baseline;padding:0;border:0}
.as.pg-360 .steps.num li::before{content:counter(s);grid-row:span 2;width:30px;height:30px;border-radius:50%;border:1.5px solid #C2A257;display:grid;place-items:center;font-weight:700;font-size:16px;color:#1C1A17;position:static;background:none}
.as.pg-360 .steps.num li h3{font-size:17px;font-weight:700;margin:0;grid-column:2}
.as.pg-360 .steps.num li p{color:#58534A;margin:0;grid-column:2;font-size:17px}
.as.pg-360 .cards.areas{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;margin-top:24px}
.as.pg-360 .cards.routes{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;margin-top:24px}
.as.pg-360 .card{background:#F7F4ED!important;border:1px solid #DDD6C6!important;border-radius:20px!important;padding:22px!important;text-align:left}
.as.pg-360 .card h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}
.as.pg-360 .card p{color:#58534A;font-size:17px;margin:0 0 .8em}
.as.pg-360 .card.route .tag{display:inline-block;font-size:16px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6B5320;margin:0 0 10px}
.as.pg-360 .card.route .route-note{color:#1C1A17;font-weight:600}
.as.pg-360 .card.route .btn{margin-top:8px}
.as.pg-360 .scores li{border-color:#DDD6C6!important}
.as.pg-360 .wide-photo img{border-radius:20px}
.as.pg-360 .sec.chat{text-align:center}
.as.pg-360 .sec.chat .cta{justify-content:center}
@media(min-width:700px){.as.pg-360 .page-hero.fade-hero img{aspect-ratio:16/10!important;object-position:50% 25%}}
@media(min-width:820px){.as.pg-360 .sec:not(.home-hero){padding:80px 40px}.as.pg-360 .sec[style*="padding-top:0"]{padding-top:80px!important}.as.pg-360 .sec:not(.home-hero) h2{font-size:2.3rem!important}.as.pg-360 .sec.home-hero h1{font-size:3.5rem!important}}
/* end style360 */
/* sharp360 2026-10-20: /360 header in Roland's target look: natural photo, cap-to-knee crop, short cream fade under the h1 */
.as.pg-360 .page-hero.fade-hero.sharp360 img{aspect-ratio:1/1!important;object-position:50% 0!important}
.as.pg-360 .page-hero.fade-hero.sharp360::after{height:30%!important;background:linear-gradient(to bottom,rgba(240,237,228,0),rgba(240,237,228,.85) 70%,var(--cream))!important}
.as.pg-360 .sec.home-hero h1{font-size:clamp(1.95rem,8.4vw,3.5rem)!important;letter-spacing:-.035em!important;overflow-wrap:break-word}
@media(min-width:700px){.as.pg-360 .page-hero.fade-hero.sharp360 img{aspect-ratio:16/10!important;object-position:50% 0!important}}
@media(min-width:820px){.as.pg-360 .sec.home-hero h1{font-size:3.5rem!important}}
/* end sharp360 */
/* faqstyle 2026-10-20: Questions page styled after Roland's lookfeel12 (layout only; questions, answers and JSON-LD unchanged) */
.as.pg-faq .page-hero.fade-hero img{aspect-ratio:1/1!important;object-position:70% 35%}
.as.pg-faq .page-hero.fade-hero::after{height:40%!important}
.as.pg-faq .sec.home-hero{position:relative;z-index:1;padding-top:0}
.as.pg-faq .sec.home-hero h1{font-size:clamp(2.4rem,9vw,3.6rem)!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1.02!important;margin:-44px 0 14px!important;position:relative}
.as.pg-faq .sec.home-hero .lead{font-size:1.1rem;color:#58534A;margin:0 0 36px;text-align:left}
.as.pg-faq .sec.home-hero .narrow{text-align:left}
.as.pg-faq .faq{margin-top:0}
.as.pg-faq .faq details{border-top:1px solid #DDD6C6!important;border-bottom:0!important;padding:6px 0}
.as.pg-faq .faq details:last-child{border-bottom:1px solid #DDD6C6!important}
.as.pg-faq .faq summary{font-size:1.1rem!important;font-weight:700;letter-spacing:-.01em;padding:16px 40px 16px 0!important;min-height:48px;line-height:1.35;border-radius:6px}
.as.pg-faq .faq summary::after{top:12px!important;right:4px;font-size:1.5rem!important;font-weight:400;color:#6B5320!important}
.as.pg-faq .faq summary:focus-visible{outline:2px solid #6B5320;outline-offset:3px}
.as.pg-faq .faq details p{margin:0;padding:0 0 18px!important}
.as.pg-faq .faq .faq-privacy{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;margin:0 0 20px;border:2px solid #C9A24A;border-radius:99px;color:#1C1A17!important;background:transparent;font-size:17px;font-weight:700;text-decoration:none;touch-action:manipulation}
.as.pg-faq .faq .faq-privacy:hover{background:rgba(201,162,74,.12)}
.as.pg-faq .faq .faq-privacy:focus-visible{outline:3px solid #1A1915;outline-offset:3px}
.as.pg-faq .faq-photo{margin:36px 0 28px}
.as.pg-faq .faq-photo img{aspect-ratio:16/10;object-fit:cover;object-position:55% 35%;border-radius:24px}
.as.pg-faq .sec.chat{text-align:center;padding:72px 22px 48px;border-top:0}
.as.pg-faq .sec.chat h2{font-size:clamp(1.8rem,6vw,2.4rem)!important;font-weight:800;letter-spacing:-.03em!important;line-height:1.1!important;margin:0 0 24px}
.as.pg-faq .sec.chat .cta{justify-content:center;flex-wrap:wrap;gap:12px}
@media(min-width:700px){.as.pg-faq .page-hero.fade-hero img{aspect-ratio:16/9!important;object-position:60% 40%}}
/* end faqstyle */
/* nutriphoto 2026-10-20: Nutrition photo slot, 4:5, swap-ready (nutrition-food-600/1000/1500) */
.as.pg-nutrition .nutri-photo{margin:32px 0 0;max-width:520px}
.as.pg-nutrition .nutri-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border-radius:24px} /* lemon: 50% 15% keeps the lemon in any tighter crop */
.as.pg-nutrition .nutri-photo figcaption{margin-top:12px;font-size:17px;line-height:1.5;color:#58534A;text-align:left}
@media(min-width:760px){.as.pg-nutrition .nutri-photo{margin:40px auto 0}.as.pg-nutrition .nutri-photo figcaption{text-align:center}}
/* end nutriphoto */
/* litephoto 2026-10-20: /lite/ intro header photo (intro screen only), natural colour, short cream fade */
.as.lite .lite-hero img{aspect-ratio:1/1!important;object-fit:cover;object-position:50% 50%}
.as.lite .lite-hero::after{height:18%!important}
.as.lite main:has(.lite-hero) .lite-sec{padding-top:8px;border-top:0}
.as.lite main:has(#lite-app > form.lite-screen:not([data-step="start"])) .lite-hero{display:none}
.as.lite main:has(#lite-app > form.lite-screen:not([data-step="start"])) .lite-sec{padding-top:revert-layer}
@media(min-width:700px){.as.lite .lite-hero img{aspect-ratio:16/9!important;object-position:50% 45%}.as.lite main:has(.lite-hero) .lite-sec{padding-top:24px}}
/* end litephoto */
/* qafix 2026-10-20 — Roland approved fixing all mobile-QA issues. Wording unchanged. */
/* (1) Enquire: eyebrow sits on solid cream below the fade (AA contrast), not over the photo */
.as.pg-enquire .enquire-head .narrow>.eyebrow{margin-top:20px!important;color:#6B5320!important}
/* (4) Menu: icon + Close label when open, page behind does not scroll, long menu scrolls on short screens */
.as .as-menu{display:inline-flex;align-items:center;gap:8px}
.as .as-menu .mi{position:relative;display:inline-block;width:16px;height:2px;background:currentColor;border-radius:2px}
.as .as-menu .mi::before,.as .as-menu .mi::after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s}
.as .as-menu .mi::before{top:-5px}.as .as-menu .mi::after{top:5px}
.as .as-menu[aria-expanded="true"] .mi{background:transparent}
.as .as-menu[aria-expanded="true"] .mi::before{transform:translateY(5px) rotate(45deg)}
.as .as-menu[aria-expanded="true"] .mi::after{transform:translateY(-5px) rotate(-45deg)}
.as .as-menu .ml{min-width:2.9em;text-align:left}
html.menu-open,html.menu-open body{overflow:hidden}
.as .as-mnav{max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto;overscroll-behavior:contain}
@media (prefers-reduced-motion:reduce){.as .as-menu .mi::before,.as .as-menu .mi::after{transition:none}}
/* (3) /360 'Where the 360 happens': own wider framing, natural colour, no cream block */
.as.pg-360 .wide-photo.where360{background:none}
.as.pg-360 .wide-photo.where360::before,.as.pg-360 .wide-photo.where360::after{display:none!important}
.as.pg-360 .wide-photo.where360 img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:20px}
@media(max-width:699px){.as.pg-360 .wide-photo.where360 img{aspect-ratio:4/5}}
/* (8) Big quotes: line-height at least 1.35 */
.as .toby .quote,.as .feature .quote,.as .qcard .quote,.as blockquote.quote,.as .quote{line-height:1.38!important}
/* (9) More room between neighbouring tap targets (footer, desktop nav) */
.as .as-foot .foot-links{gap:8px 16px!important}
.as .as-foot .foot-links a{padding:0 4px!important}
@media(min-width:820px){.as .as-links{gap:8px!important}}
/* (10) Small text up to 17px: labels, eyebrows, tags, notes, captions (html body prefix outranks the page-specific rules) */
html body.as .eyebrow,html body.as .as-menu .ml,html body.as .as-foot a,html body.as .btn.sm,html body.as .enquire-head .narrow>.eyebrow,
.as .eyebrow,.as .tag,.as .route-note,.as .btn-note,.as .home-hero .trust-strip,.as .home-hero .btn-stack .btn-note,.as figcaption,.as .who,.as .small,.as .note,
.as form label,.as .lite-check,.as .lite-check span,.as .opt,.as .field-hint,.as .card .tag,.as .chip,.as .as-foot p,.as .as-foot .foot-links{font-size:17px!important}
.as .as-foot .foot-links a{font-size:17px!important}
/* (11) Lite intro: Start button right after the intro line, so it shows on a 390x844 phone; checklist follows */
.as.lite .lite-screen[data-step="start"],.as.lite form[data-step="start"]{display:flex;flex-direction:column}
.as.lite [data-step="start"]>*{order:2}
.as.lite [data-step="start"]>.eyebrow,.as.lite [data-step="start"]>h1,.as.lite [data-step="start"]>h1+p{order:1}
.as.lite [data-step="start"]>.lite-nav{order:1;margin-top:8px;margin-bottom:24px}
/* (11b) Small phones (<=720px tall): slightly shorter Lite photo so Start stays on screen */
@media (orientation:portrait) and (max-height:720px){html body.as .lite-hero img{max-height:40vh!important;object-fit:cover}}
/* (5) Phone landscape: shorter hero photos so the heading and first button are on screen */
@media (orientation:landscape) and (max-height:500px){
 html body.as .hero-natural img,html body.as .page-hero img,html body.as .privacy-photo img{max-height:42vh!important;width:100%;object-fit:cover}
 .as h1,html body.as .sec.home-hero h1,html body.as.pg-360 .sec.home-hero h1{font-size:clamp(30px,5.2vw,44px)!important}
 html body.as.pg-360 .page-hero.fade-hero.sharp360 img{object-position:50% 24%!important}
 html body.as .lite-hero img{object-position:50% 2%!important}
}
/* (6) Nutrition calculator: invalid fields marked with a border and a text message */
.as .energy input[aria-invalid="true"]{border-color:#9B2C1F!important;box-shadow:0 0 0 1px #9B2C1F}
.as .energy-result .energy-error{color:#7A2418;font-weight:600}
/* faqtwist 2026-10-20: whole frame shown (the raised hands reach the top edge) */
.as.pg-faq .faq-photo.twist img{aspect-ratio:1200/786;object-fit:cover;object-position:50% 50%}
/* auditfix 2026-10-20 — Dave's design audit items 1, 5, 6, 7, 8 + Lite privacy link (Research B8). */
/* (1)(5) Phone landscape: H1 capped at ~44px on every page (Home, Programme, Nutrition, FAQ were larger); Home photo about half the height */
@media (orientation:landscape) and (max-height:500px){
 .as.as.as.as main h1,.as.as.as.as .sec.home-hero h1{font-size:clamp(30px,5.2vw,44px)!important;line-height:1.08!important}
 html body.as .home-hero .hero-natural img,html body.as .hero-natural img{max-height:50vh!important;object-position:50% 25%!important}
}
/* (6) Enquire phone: dedicated 4:5 crop (bigger runner), shown whole */
@media(max-width:699px){.as.pg-enquire .enquire-hero img{object-position:50% 50%!important}}
/* (7) 'Enquire about the Full 360 →' stays on one line on small phones (wording unchanged) */
@media(max-width:360px){.as .btn{padding-left:16px!important;padding-right:16px!important;letter-spacing:-.005em}.as .home-hero .btn,.as .btn-stack .btn,.as .route-note + .btn{white-space:nowrap}}
/* (8) Footer place line: balanced wrap (plus non-breaking separators in the markup) */
.as .foot-place{text-wrap:balance}
/* Lite share screen: privacy link next to the tick box, full-size tap target */
.as.lite .lite-privacy{margin:-4px 0 12px}
.as.lite .lite-privacy a{display:inline-flex;align-items:center;min-height:48px;font-size:17px}
/* Font switch (Roland 2026-10-20, "Switch to my file's font"): the system font stack (San Francisco on iPhone) for headings, quotes and body; self-hosted Inter / Source Serif Pro removed. */
html body.as,html body.as *,html body.as button,html body.as input,html body.as select,html body.as textarea{font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important}
html body.as :is(h1,h2,h3,blockquote,.quote),html body.as :is(h1,h2,h3,blockquote,.quote) *{font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important}
html body.as :is(h1,h2,h3){font-weight:800!important}
html body.as .logo-r,html body.as .as-brand .r{font-family:Georgia,serif!important}
/* Decision 9: footer serif circle-R, clipped to its ring so no square shows on the footer colour */
.as .as-foot img.foot-mark{width:32px;height:32px;border-radius:50%;display:block}
/* Lite hooks to the 17px minimum */
.as.lite .lite-hook{font-size:17px!important}
/* /massage/ photos: Clare's portrait smaller and set left, the spine photo larger; never matched side by side */
.as .mass-photo{margin:28px 0 8px}
.as .mass-photo img{width:100%;height:auto;display:block;border-radius:20px}
.as .mass-photo.clare{max-width:300px;width:62%}
.as .mass-photo.spine{max-width:460px;margin-top:32px}
/* end auditfix */
/* landfix 2026-10-20: Dave's live landscape QA items 2-7 (audit-live-2026-10-20/report.md) */
@media (orientation:landscape) and (max-height:500px){
 /* (2) /privacy: text and square R-cap photo side by side */
 html body.as .privacy-top .pt-grid{display:grid!important;grid-template-columns:1fr minmax(0,40%)!important;gap:32px!important;align-items:center;padding:24px 24px 0!important;box-sizing:border-box}
 html body.as .privacy-top .pt-text{order:0!important;padding:0!important;max-width:none!important;margin:0!important}
 html body.as .privacy-top .privacy-photo{order:1!important;aspect-ratio:1/1!important;width:100%!important;max-width:min(100%,62vh)!important;margin:0!important;justify-self:end;background:none!important}
 html body.as .privacy-photo img{max-height:none!important;height:100%!important;aspect-ratio:1/1;object-position:50% 40%!important}
 /* (3) /lite: head and arm in frame */
 html body.as .lite-hero img{object-position:50% 22%!important}
 /* (4) /360: full cap */
 html body.as.pg-360 .page-hero.fade-hero.sharp360 img{object-position:50% 8%!important}
 /* (5) /360: H1 as two balanced lines */
 .as.pg-360 .h1br{display:none}
 /* (6) /nutrition: photo centred, at most 80vh */
 .as.pg-nutrition .nutri-photo{margin-inline:auto}
 .as.pg-nutrition .nutri-photo img{max-height:80vh;width:auto;max-width:100%;aspect-ratio:4/5;margin-inline:auto}
 /* (7) /massage: more of the head in frame. Dave proposed 81% 25%, but that hid Clare's eyes and smile under the H1, so 36% is the compromise */
 html body.as .page-hero img[src*="hero-pairbw"]{object-position:81% 36%!important}
}
/* end landfix */
/* Home H1 "Strong after 45." on one line on phones in the heavier system font (step-down; landscape cap unchanged) */
@media (max-width:699px) and (orientation:portrait){html body.as.is-home .hero-natural+.home-hero h1{font-size:clamp(30px,calc(12.9vw - 5.8px),96px)!important}}
/* litegrid 2026-10-20 (Dave): /lite phone landscape only. Text (eyebrow, H1, intro, Start) left, whole-lunge photo right, 4:5, rounded, no fade. Portrait untouched. */
@media (orientation:landscape) and (max-height:500px){
 html body.as.lite main:has(> .lite-hero):has(#lite-app > form.lite-screen[data-step="start"]){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:start;max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box}
 html body.as.lite main > .lite-hero{grid-column:2;grid-row:1;margin:16px 0 0!important;padding:0!important;max-width:none!important;width:auto!important}
 html body.as.lite main > .lite-hero::after{display:none!important;content:none!important}
 html body.as.lite main > .lite-hero img{aspect-ratio:4/5!important;height:min(80vh,calc(100vh - 92px))!important;max-height:none!important;width:auto!important;max-width:none!important;object-fit:cover;object-position:50% 40%!important;border-radius:24px!important}
 html body.as.lite main:has(> .lite-hero) > .lite-sec{grid-column:1;grid-row:1;padding:16px 0 0!important;border-top:0!important;min-width:0}
 html body.as.lite main:has(> .lite-hero) > .lite-sec .narrow{padding-left:0!important;padding-right:0!important;max-width:none!important;margin:0!important}
 html body.as.lite [data-step="start"]>.eyebrow{margin-top:0}
 /* a little more room under Start at 667x375 */
 html body.as.lite main:has(> .lite-hero) > .lite-sec{padding-top:8px!important}
 html body.as.lite [data-step="start"]>.lite-nav{margin-top:0}
}
/* end litegrid */
