/* Redesigned pages, generated by scripts/redesign/build-css.mjs on 2026-10-15. Do not edit here: edit the wireframe CSS and rebuild. */
/* Base rules from the wireframe's site.css that the page bodies use. */
body.bbmi-v2 main{--ink:#053f5c;--text:#2b5165;--muted:#5c6f77;--accent:#225a75;--line:#d5e0e4;--paper:#fff;--wash:#f5f9fb;--tint:#e6eff4;--radius:8px;color:var(--text);font:400 16px/1.65 Poppins,system-ui,sans-serif}
:where(body.bbmi-v2 main) *,:where(body.bbmi-v2 main) *::before,:where(body.bbmi-v2 main) *::after{box-sizing:border-box}
:where(body.bbmi-v2 main) :is(h1,h2,h3,h4,p){margin-top:0}
:where(body.bbmi-v2 main) :is(h1,h2,h3,h4){color:var(--ink);line-height:1.23;font-weight:600}
:where(body.bbmi-v2 main) h1{font-size:44px;letter-spacing:-1.65px;margin-bottom:18px;max-width:780px}
:where(body.bbmi-v2 main) h2{font-size:28px;letter-spacing:-.6px;margin-bottom:14px}
:where(body.bbmi-v2 main) h3{font-size:19px;letter-spacing:-.3px;margin-bottom:10px}
:where(body.bbmi-v2 main) h4{font-size:16px;margin-bottom:8px}
:where(body.bbmi-v2 main) p{margin-bottom:18px}
:where(body.bbmi-v2 main) a{color:var(--accent);text-underline-offset:4px}
:where(body.bbmi-v2 main) :is(button,input,select){font:inherit}
:where(body.bbmi-v2 main) :is(button,a,summary){touch-action:manipulation}
:where(body.bbmi-v2 main) button{cursor:pointer;color:inherit}
:where(body.bbmi-v2 main) :is(a,button,summary,input,select):focus-visible{outline:3px solid #287ba1;outline-offset:4px}
:where(body.bbmi-v2 main) h1[tabindex="-1"]:focus{outline:none}
:where(body.bbmi-v2 main) div.container{max-width:1160px;margin:0 auto;padding:0 36px}
:where(body.bbmi-v2 main) .small{font-size:13px;color:var(--muted)}
:where(body.bbmi-v2 main) .text-link{display:inline-block;font-size:14px;font-weight:500;padding:8px 0}
:where(body.bbmi-v2 main) .breadcrumbs{font-size:12px;margin:0;padding:19px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted)}
:where(body.bbmi-v2 main) .breadcrumbs a{color:var(--muted)}
:where(body.bbmi-v2 main) [hidden]{display:none!important}
/* Undo the live base.css resets the wireframe never had (p 65ch cap, links without underline, buttons without
   padding, lists without bullets, radios without margin). Class rules in the page CSS still override these. */
:where(body.bbmi-v2 main) p{max-width:none}
:where(body.bbmi-v2 main) a{text-decoration:underline}
:where(body.bbmi-v2 main) button{padding:1px 6px}
:where(body.bbmi-v2 main) :is(ul,ol){list-style:revert}
:where(body.bbmi-v2 main) input:is([type=radio],[type=checkbox]){margin:3px 3px 0 5px}
@media(max-width:940px){:where(body.bbmi-v2 main) div.container{padding:0 28px}}
@media(max-width:680px){body.bbmi-v2 main{font-size:15px}:where(body.bbmi-v2 main) div.container{padding:0 22px}:where(body.bbmi-v2 main) h2{font-size:25px;letter-spacing:-.55px}:where(body.bbmi-v2 main) h3{font-size:18px}:where(body.bbmi-v2 main) .breadcrumbs{font-size:10px;padding:14px 0;gap:6px}:where(body.bbmi-v2 main) .text-link{font-size:13px}}
@media(max-width:370px){:where(body.bbmi-v2 main) div.container{padding:0 18px}}
@media(prefers-reduced-motion:reduce){:where(body.bbmi-v2 main) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* ── women-pages.css (staging wireframe) ── */
/* Women's hub and need pages, 21 September.
   Hers-inspired composition (two-tone headlines, photo-led splits, rounded tinted panels, pill actions)
   in BeyondBMI's own palette: the live theme's tokens (wp-theme/css/tokens.css). Navy and clinical blue
   on light surfaces; green only on dark bands and for small highlights, as on the live site.
   Scoped to :is(body[data-theme="women"],body[data-theme="men"],.w-theme); contrast pairs were checked against WCAG AA. */

.confirm-tag{display:inline-block;margin-left:10px;vertical-align:middle;font:600 10px/1.5 system-ui,sans-serif;letter-spacing:.03em;color:#7a5a12;background:#fff6dc;border:1px dashed #d9b451;border-radius:999px;padding:2px 8px;white-space:nowrap}

:is(body[data-theme="women"],body[data-theme="men"],.w-theme){
  --w-navy:#053f5c;--w-text:#2b5165;--w-muted:#5c6f77;--w-on-navy:#f2f4f4;--w-on-navy-muted:#94b1bf;
  --w-blue:#65a1bc;--w-blue-deep:#3f7e99;--w-blue-text:#225a75;--w-soft:#e6eff4;--w-wash:#f5f9fb;--w-line:#e2e8e5;
  --w-green:#a5db73;--w-green-text:#266314;--w-green-soft:#dcefcc;
  --w-radius:24px;--w-radius-lg:32px;--w-ease:cubic-bezier(.22,1,.36,1);
  --w-gap:clamp(72px,9vw,128px);--w-inset:clamp(8px,1.4vw,20px)
}
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main .container{max-width:1240px}
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main :is(h1,h2,h3){font-weight:500;text-wrap:balance}
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main p{text-wrap:pretty}
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main h1{font-size:clamp(2.5rem,1.55rem + 3.1vw,4.125rem);line-height:1.04;letter-spacing:-.035em;max-width:none;margin-bottom:22px}
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main h2{font-size:clamp(2rem,1.4rem + 1.9vw,3rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:16px}
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main h3{font-size:1.125rem;line-height:1.3;letter-spacing:-.01em}
:is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-tone{color:var(--w-blue-deep)}
/* The accent phrase always starts its own line, as in the reference's two-tone headlines. */
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main :is(h1,h2) .w-tone{display:block}
:is(body[data-theme="women"],body[data-theme="men"],.w-theme) h1 .confirm-tag{vertical-align:.7em}

/* Actions: pills, as in the reference. */
.w-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:999px;border:1px solid var(--w-navy);background:var(--w-navy);color:#fff;font:500 15px/1.2 Poppins,system-ui,sans-serif;text-decoration:none;white-space:nowrap;transition:background .25s,color .25s,border-color .25s,transform .4s var(--w-ease)}
.w-btn:hover{background:#032e45;border-color:#032e45;color:#fff}
.w-btn:active{transform:scale(.98)}
.w-btn-ghost{background:#fff;color:var(--w-navy);border-color:#b7c9d2}
.w-btn-ghost:hover{background:var(--w-wash);color:var(--w-navy);border-color:var(--w-navy)}
.w-btn-light{background:#fff;color:var(--w-navy);border-color:#fff}
.w-btn-light:hover{background:var(--w-soft);color:var(--w-navy);border-color:var(--w-soft)}
.w-btn-sm{min-height:42px;padding:0 18px;font-size:14px}
.w-link-light{color:#fff;font-size:14px;font-weight:500}
.w-link-light:hover{color:var(--w-green)}
:is(body[data-theme="women"],body[data-theme="men"],.w-theme) .site-header .btn,:is(body[data-theme="women"],body[data-theme="men"],.w-theme) .site-footer .btn{border-radius:999px}
.w-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:28px}

/* Shared text pieces. */
.w-kicker{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:var(--w-blue-text);margin:0 0 16px}
.w-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--w-blue)}
.w-lead{font-size:1.125rem;line-height:1.6;color:var(--w-text);max-width:36rem}
.w-fine{font-size:.8rem;line-height:1.55;color:var(--w-muted);margin:16px 0 0;max-width:42rem}
.w-head{max-width:46rem;margin-bottom:clamp(30px,3.6vw,48px)}
.w-head p{font-size:1.0625rem;line-height:1.6;color:var(--w-text);margin:0;max-width:40rem}
.w-mini{font-size:1rem!important;margin:28px 0 12px}
.w-direct{margin:24px 0 0;font-size:.95rem}
.w-switch{margin:22px 0 0;font-size:.9rem}
.w-checks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:11px}
.w-checks li{display:flex;align-items:flex-start;gap:12px;font-size:.97rem;line-height:1.45;color:var(--w-navy)}
.w-checks li::before{content:"";flex:none;width:22px;height:22px;margin-top:-1px;border-radius:50%;background:var(--w-green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3 5 8.6l4.4-5' fill='none' stroke='%23266314' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}

/* Photography. */
.w-photo{position:relative;margin:0;overflow:hidden;border-radius:var(--w-radius);background:var(--w-wash)}
.w-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--w-ease)}
.w-ai-badge{position:absolute;left:12px;bottom:12px;z-index:1;font:500 11px/1 Poppins,system-ui,sans-serif;color:var(--w-navy);background:#fffffff0;padding:6px 10px;border-radius:999px;pointer-events:none}
.w-media{aspect-ratio:4/3.2;border-radius:var(--w-radius-lg)}
.w-media-tall{aspect-ratio:4/5}
/* Full-length photo: keep her face in frame when the slot turns landscape on phones. */
.w-photo img[src*="woman-park-walk"]{object-position:50% 14%}
.w-photo img[src*="friends-phone-cafe"]{object-position:50% 24%}
.w-closing-img img[src*="women-closing-walk"]{object-position:50% 70%}
@media (max-width:680px){.w-closing-img img[src*="women-closing-walk"]{object-position:78% 60%}}
.w-band-img img[src*="women-considering-90days"]{object-position:62% 50%}
.w-closing-img img[src*="women-closing-park"]{object-position:50% 30%}
@media (max-width:680px){.w-closing-img img[src*="women-closing-park"]{object-position:76% 40%}}
.w-closing-img img[src*="women-closing-autumn"]{object-position:50% 80%}
@media (max-width:680px){.w-closing-img img[src*="women-closing-autumn"]{object-position:74% 60%}}
/* Men's hub photos (Art, 9 October): keep faces in frame when tall slots turn landscape on phones. */
.w-photo img[src*="men-goals-garden"]{object-position:50% 40%}
.w-photo img[src*="men-goals-walk"]{object-position:50% 8%}
.w-photo img[src*="men-refer-phone"]{object-position:50% 18%}
.w-closing-img img[src*="men-closing-coast"]{object-position:50% 70%}
@media (max-width:680px){.w-closing-img img[src*="men-closing-coast"]{object-position:72% 60%}}
.w-hero-need .w-photo img[src*="men-considering-hero"]{object-position:50% 28%}
.w-band-img img[src*="men-considering-90days"]{object-position:70% 50%}
.w-article-img img[src*="men-sleep-papers"]{object-position:60% 30%}
.w-closing-img img[src*="men-closing-river"]{object-position:0 40%}
@media (max-width:680px){.w-closing-img img[src*="men-closing-river"]{object-position:80% 40%}}
.w-hero-need .w-photo img[src*="men-support-hero"]{object-position:50% 18%}
.w-band-img img[src*="men-support-90days"]{object-position:45% 40%}
.w-closing-img img[src*="men-closing-shore"]{object-position:0 40%}
@media (max-width:680px){.w-closing-img img[src*="men-closing-shore"]{object-position:100% 40%}}

/* Layout scaffolding. One gap between any two sections (Art, 9 October: spacing was inconsistent, 216 to 304px between
   plain sections and about 30px before the closing band; first set to 96/56px, then raised to 128/72px as too tight). Sections carry no vertical padding; the space between them is a
   single margin, and two tinted panels in a row sit an inset apart. */
.w-section{padding:0}
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main>:is(section,div.container,div.w-variant,aside)+:is(section,div.container,div.w-variant){margin-top:var(--w-gap)}
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main>section.w-band+section.w-band{margin-top:var(--w-inset)}
.w-band{padding:0 var(--w-inset)}
.w-band-panel{max-width:1520px;margin:0 auto;border-radius:var(--w-radius-lg);padding:clamp(56px,6.5vw,96px) 0}
.w-band+.w-band{margin-top:var(--w-inset)}
.w-wash{background:var(--w-wash)}
.w-soft{background:var(--w-soft)}
.w-navy{background:var(--w-navy);color:var(--w-on-navy)}
.w-navy :is(h2,h3){color:#fff}
:is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-navy .w-tone{color:var(--w-green)}
.w-navy :is(p,.w-head p){color:var(--w-on-navy)}
.w-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:center}
.w-band-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:center;margin-bottom:clamp(44px,5vw,72px)}
.w-band-top .w-head{margin-bottom:0}
.w-band-img{aspect-ratio:4/3;border-radius:var(--w-radius)}

/* Breadcrumbs and review placeholders keep their function, restyled to sit quietly. */
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main>.container:first-child .breadcrumbs{padding:16px 0 4px}
:is(body[data-theme="women"],body[data-theme="men"],.w-theme) .review-strip{border:0;padding:0 var(--w-inset)}
:is(body[data-theme="women"],body[data-theme="men"],.w-theme) .review-strip .container{max-width:1520px;background:var(--w-wash);border-radius:var(--w-radius);padding-block:18px}

/* Hub hero: copy beside a photo mosaic. */
.w-hero{padding:clamp(20px,3vw,40px) 0 0}
.w-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(36px,5.5vw,88px);align-items:center}
.w-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:.82fr 1fr;gap:14px;aspect-ratio:1/1.1}
.w-mosaic .w-photo{height:100%}
.w-m1{grid-row:1/span 2}
.w-m1 img{object-position:50% 30%}
.w-m3 img{object-position:50% 30%}

/* Need-page hero: large rounded photo beside the copy. */
.w-hero-need .w-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.w-hero-photo{aspect-ratio:1/1.05;border-radius:var(--w-radius-lg)}
.w-hero-need .w-photo img[src*="woman-laptop-home"]{object-position:66% 50%}
.w-hero-need .w-photo img[src*="women-considering-hero"]{object-position:72% 40%}
.w-hero-need .w-photo img[src*="women-support-hero"]{object-position:50% 14%}
.w-hero-need .w-photo img[src*="woman-hiking"]{object-position:50% 16%}

/* Need tiles: soft colour blocks with photography, like the reference's category tiles. */
/* Route tiles share two rows (copy, then image) across the pair, so both images start and end level. */
.w-tiles{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}
.w-tile{display:grid;grid-template-rows:subgrid;grid-row:span 2;border-radius:var(--w-radius-lg);overflow:hidden;color:inherit;text-decoration:none;transition:transform .6s var(--w-ease),box-shadow .6s var(--w-ease)}
.w-tile:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px #053f5c70}
.w-tile:hover img{transform:scale(1.04)}
.w-tile-copy{display:flex;flex-direction:column;padding:clamp(24px,2.6vw,36px) clamp(24px,2.6vw,36px) clamp(20px,2.2vw,30px)}
.w-tile h3{font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem)!important;margin-bottom:10px}
.w-tile p{font-size:.97rem;color:var(--w-text)}
.w-tile-link{display:inline-flex;align-items:center;gap:12px;margin-top:auto;padding-top:14px;font-weight:500;font-size:.95rem;color:var(--w-navy)}
.w-tile-img{aspect-ratio:3/2;border-radius:0;order:2;align-self:end}
.w-tile-img img{width:100%;height:100%;object-fit:cover}
.w-tile-soft{background:var(--w-soft)}
.w-tile-wash{background:var(--w-wash);box-shadow:inset 0 0 0 1px var(--w-line)}
.w-arrow{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--w-navy);color:#fff;font-size:16px;transition:transform .45s var(--w-ease)}
:is(.w-tile,.w-need):hover .w-arrow{transform:translateX(4px)}
.w-needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.w-need{display:flex;flex-direction:column;min-height:240px;padding:clamp(24px,2.4vw,32px);border-radius:var(--w-radius);color:inherit;text-decoration:none;transition:transform .6s var(--w-ease),box-shadow .6s var(--w-ease)}
.w-need:hover{transform:translateY(-4px);box-shadow:0 22px 44px -30px #053f5c70}
.w-need h3{font-size:1.25rem!important}
.w-need p{font-size:.95rem;color:var(--w-text);margin-bottom:18px}
.w-need .w-arrow{margin-top:auto}

/* Care model band. */
.w-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.6vw,36px);padding-top:32px;border-top:1px solid #ffffff2e}
.w-pillars p{font-size:.93rem;line-height:1.6;margin:0}
.w-pillar-icon{display:block;width:84px;height:84px;margin:-10px 0 8px -10px;background:var(--w-navy)}
.w-band-img-square{aspect-ratio:1/1;max-width:440px;justify-self:end}

/* Topic chips beside a portrait. */
.w-topic-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.w-chip{min-height:44px;padding:9px 17px;border-radius:999px;border:1px solid #c5d5dd;background:#fff;color:var(--w-navy);font:500 14px/1.2 Poppins,system-ui,sans-serif;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.w-chip:hover{border-color:var(--w-navy)}
.w-chip[aria-selected="true"]{background:var(--w-navy);border-color:var(--w-navy);color:#fff}
.w-topic-panel{background:var(--w-soft);border-radius:var(--w-radius);padding:clamp(22px,2.4vw,30px);min-height:200px}
.w-topic-panel h3{font-size:1.35rem!important}
.w-topic-panel p{font-size:.98rem;color:var(--w-text);margin-bottom:10px}
.w-topic-panel small{display:block;font-size:.78rem;color:var(--w-muted)}
.w-topic-panel .w-actions{margin-top:18px}
.w-topic-panel .text-link{padding:4px 0 0}
.topic-expanded+.topic-expanded{margin-top:18px;padding-top:18px;border-top:1px solid #cddbe3}
.w-chip-label{display:inline-block;font-size:.8rem;font-weight:500;color:var(--w-blue-text);margin-bottom:4px}

/* Experts: tall portraits, as in the reference's "Hear from our experts". */
.w-experts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,26px)}
.w-expert{display:flex;flex-direction:column}
.w-portrait{aspect-ratio:4/5;margin-bottom:18px;background:var(--w-soft)}
.w-expert h3{margin-bottom:2px}
.w-role{font-size:.86rem;font-weight:500;color:var(--w-blue-text);margin-bottom:10px}
.w-bio{font-size:.88rem;line-height:1.6;color:var(--w-text);margin-bottom:16px}
.w-expert .w-btn{align-self:flex-start;margin-top:auto}

/* Care steps with a floating-chip photo. */
.w-float-wrap{position:relative}
.w-float{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:11px 17px;border-radius:999px;background:#fff;color:var(--w-navy);font-size:.86rem;font-weight:500;box-shadow:0 16px 36px -16px #053f5c66;white-space:nowrap}
.w-float::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--w-green)}
.w-float strong{font-weight:600}
.w-float-a{left:-18px;bottom:30px}
.w-float-b{right:-16px;top:30px}

/* Q&A lists: ruled rows instead of boxed cards. */
.w-qa{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(32px,5vw,80px)}
.w-qa-item{padding:28px 0;border-top:1px solid var(--w-line)}
.w-qa-item h3{font-size:1.2rem!important;margin-bottom:10px}
.w-qa-item p{font-size:.98rem;line-height:1.62;color:var(--w-text);margin:0}

/* Programme track on the navy band. */
.w-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,36px);position:relative}
.w-track::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:#ffffff33}
.w-track li{position:relative;padding-top:40px}
.w-pin{position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;background:var(--w-green);box-shadow:0 0 0 6px var(--w-navy)}
.w-when{display:block;font-size:.84rem;font-weight:500;color:var(--w-green);margin-bottom:6px}
.w-track p{font-size:.93rem;line-height:1.6;margin:0}
.w-after{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(40px,4.5vw,60px)}
.w-after>div{background:#ffffff12;border:1px solid #ffffff1f;border-radius:var(--w-radius);padding:clamp(22px,2.4vw,30px)}
.w-after p{font-size:.95rem;margin:0}
.w-after .w-btn{margin-top:18px}

/* Support rows with line icons. */
.w-rows{list-style:none;margin:0;padding:0;display:grid;gap:24px}
.w-rows li{display:flex;gap:16px;align-items:flex-start}
.w-icon{flex:none;width:46px;height:46px;padding:12px;border-radius:50%;background:var(--w-soft);fill:none;stroke:var(--w-blue-text);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.w-rows h3{margin:4px 0 4px}
.w-rows p{font-size:.96rem;margin:0;color:var(--w-text)}

/* Offers: one featured programme card and two quieter options. */
/* Plan cards, after the three-column pricing reference Art sent on 22 September: a tinted header carrying
   chip, title, price and a figure, then short ticks and a button pinned to the foot so the cards end level.
   The programme card is the highlighted middle one. */
.w-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.w-plan{display:flex;flex-direction:column;border-radius:28px;background:#fff;border:1px solid var(--w-line);overflow:hidden}
.w-plan-head{position:relative;padding:28px 136px 22px 28px;min-height:232px;background:linear-gradient(180deg,var(--w-soft) 0%,#fff 100%)}
.w-plan-c .w-plan-head{background:linear-gradient(180deg,#d6e6ee 0%,#fff 100%)}
.w-plan-chip{display:inline-block;padding:8px 15px;border-radius:999px;background:#fff;color:var(--w-navy);font-size:.86rem;font-weight:500;line-height:1.2;box-shadow:0 1px 3px #053f5c1f;margin-bottom:22px}
.w-plan-head h3{font-size:1.35rem!important;line-height:1.2;margin:0 0 12px}
.w-plan-price{font-size:1rem;color:var(--w-navy);margin:0;line-height:1.2}
.w-plan-price strong{font-size:1.75rem;font-weight:600;letter-spacing:-.02em}
.w-plan-from{font-size:.95rem;font-weight:500}
.w-plan-was{font-size:1.05rem;font-weight:500;color:var(--w-muted);text-decoration:line-through;margin-right:2px}
.w-plan-unit{font-size:.95rem;font-weight:500}
.w-plan-off{display:inline-block;margin-left:6px;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:600;line-height:1.3;color:var(--w-green-text);background:var(--w-green-soft);vertical-align:middle}
/* The programme card is the main option: a stronger border and lift (Karl, 6 October). */
.w-plan.w-plan-b{border:3px solid var(--w-navy);box-shadow:0 28px 56px -40px #053f5c99}
.w-plan-b .w-plan-was{color:#b7cbd6}
.w-plan-b .w-plan-unit{color:#fff}
.w-plan-b .w-plan-off{color:var(--w-navy);background:var(--w-green)}
.w-plan-sub{font-size:.86rem;line-height:1.45;color:var(--w-text);margin:8px 0 0}
.w-plan-fig{position:absolute;right:18px;top:26px;width:108px;height:170px;object-fit:contain;object-position:right top;pointer-events:none}
.w-plan-ticks{padding:24px 28px 8px;margin:0;gap:16px}
.w-plan-ticks li{font-size:.95rem;line-height:1.45}
/* Plan-card accordions (24 September): each tick opens into a sentence or two. The tick keeps its green mark. */
.w-plan-accs{padding:14px 28px 4px}
.w-plan-acc{border-bottom:1px solid var(--w-line)}
.w-plan-acc:last-child{border-bottom:0}
.w-plan-acc summary{list-style:none;display:flex;align-items:flex-start;gap:12px;padding:12px 0;cursor:pointer;font-size:.95rem;line-height:1.45;color:var(--w-navy)}
.w-plan-acc summary::-webkit-details-marker{display:none}
.w-plan-acc summary::before{content:"";flex:none;width:22px;height:22px;margin-top:-1px;border-radius:50%;background:var(--w-green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3 5 8.6l4.4-5' fill='none' stroke='%23266314' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.w-plan-acc-t{flex:1}
/* In the cards the chevron is a plain 20px arrow on the first text line, not the FAQ's 38px disc. */
.w-plan-acc .w-chev{width:20px;height:20px;margin:1px 0 0 4px;background:none}
.w-plan-acc .w-chev::before{width:7px;height:7px;border-width:1.5px;transform:translateY(-1px) rotate(45deg)}
.w-plan-acc[open]>summary .w-chev{background:none;transform:rotate(180deg)}
.w-plan-acc p{margin:0 0 14px 34px;font-size:.9rem;line-height:1.55;color:var(--w-text)}
.w-plan-cta{padding-top:22px}
.w-plan-cta{margin-top:auto;padding:26px 28px 28px}
.w-plan-cta .w-btn{width:100%}
.w-plan-b .w-plan-head{background-color:var(--w-navy);background-image:linear-gradient(180deg,var(--w-navy) 0%,#2e6a85 100%)}
.w-plan-b .w-plan-head h3,.w-plan-b .w-plan-price,.w-plan-b .w-plan-price strong{color:#fff}
.w-plan-b .w-plan-sub{color:#d5e4ec}
.w-plans-note{margin-top:22px;max-width:56rem}
.w-offers-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:30px}
.w-offers-foot .w-fine{margin:0}

/* Circumstance articles on a soft blue band. */
.w-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.w-article{display:flex;flex-direction:column;padding:10px;border-radius:var(--w-radius);background:#fff}
.w-article-img{aspect-ratio:4/3;border-radius:18px}.w-article-img img{object-position:50% 22%}
.w-article-body{display:flex;flex-direction:column;flex:1;padding:18px 14px 12px}
.w-article-body h3{font-size:1.3rem!important;margin-bottom:8px}
.w-article-body p{font-size:.95rem;color:var(--w-text);margin-bottom:18px}
.w-article-body .w-btn{align-self:flex-start;margin-top:auto}

/* Member story. */
.w-story{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,6vw,96px);align-items:center}
.w-story-img{aspect-ratio:4/5;border-radius:var(--w-radius-lg)}
.w-story-img img[src*="sinead"]{object-position:50% 22%}
.w-quote{margin:4px 0 22px;padding:0;border:0}
.w-quote p{font-size:clamp(1.5rem,1.1rem + 1.3vw,2.2rem)!important;line-height:1.25;letter-spacing:-.02em;font-weight:500;color:var(--w-navy);margin:0}
.w-quote cite{display:block;margin-top:14px;font-size:.9rem;font-style:normal;color:var(--w-muted)}
.w-story-copy>p[data-copy="story"]{font-size:1rem;color:var(--w-text);max-width:34rem}

/* Google reviews: rating strip under the hero, and a full section on the hub. */
.w-stars{color:var(--w-navy);letter-spacing:.06em;font-size:.95em;white-space:nowrap}
.w-google{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--w-line);color:#1558b0;font:700 16px/1 Poppins,system-ui,sans-serif}
/* Review row under the hero: score block, three review cards, prev/next. */
.w-review-strip{padding:0 var(--w-inset)}
.w-review-strip .container{max-width:1520px;background:var(--w-wash);border-radius:var(--w-radius);padding-block:22px}
.w-rev{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,3vw,40px);align-items:center}
.w-rev-score{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:150px}
.w-rev-score strong{font-size:1.8rem;line-height:1;color:var(--w-navy);font-weight:600;margin-top:6px}
.w-rev-score>span{font-size:.78rem;color:var(--w-muted)}.w-rev-score .text-link{font-size:.8rem;padding:4px 0 0}
.w-rev-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.w-rev-card{margin:0;padding:14px 16px 12px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--w-line);min-width:0}
.w-rev-card .w-stars{font-size:.8rem}
.w-rev-card p{font-size:.88rem;line-height:1.5;color:var(--w-text);margin:6px 0 8px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.w-rev-card cite{display:block;font-size:.72rem;font-style:normal;color:var(--w-muted)}
.w-strip-nav{display:flex;flex-direction:column;gap:8px}
.w-strip-nav button{width:38px;height:38px;border-radius:50%;border:1px solid var(--w-line);background:#fff;color:var(--w-navy);font-size:15px;cursor:pointer;transition:border-color .2s,background .2s}
.w-strip-nav button:hover{border-color:var(--w-navy);background:var(--w-soft)}
.w-reviews-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:start}
.w-reviews-head .w-head{margin-bottom:clamp(24px,3vw,36px)}
.w-scores{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px 0}
.w-score-block{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:4px 32px 4px 0}
.w-score-block+.w-score-block{padding-left:32px;border-left:1px solid var(--w-line)}
.w-score-src{display:inline-flex;align-items:center;gap:8px;margin:0 0 2px;min-height:30px;font-size:.9rem;font-weight:500;color:var(--w-navy)}
.w-score{margin:0;line-height:1;color:var(--w-navy)}
.w-score strong{font-size:2.6rem;font-weight:600;letter-spacing:-.02em}
.w-score span{font-size:1.15rem;font-weight:500;color:var(--w-muted);margin-left:2px}
.w-score-note{margin:2px 0 0;font-size:.85rem;color:var(--w-muted);max-width:22ch}
.w-score-block .w-link{margin-top:4px;font-size:.9rem}
.w-bb-mark{width:auto;height:24px}
.w-fstars{position:relative;display:inline-block;color:var(--w-navy);letter-spacing:.08em;font-size:1.3rem;line-height:1;white-space:nowrap}
.w-fstars-fg{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap}
.w-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.w-review{display:flex;flex-direction:column;padding:clamp(22px,2.2vw,28px);border-radius:var(--w-radius);background:#fff;box-shadow:inset 0 0 0 1px var(--w-line)}
.w-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.w-review-text{font-size:.94rem;line-height:1.6;color:var(--w-text);margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:7;line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.w-review-by{margin:auto 0 0;font-size:.8rem;color:var(--w-muted)}

/* Video case studies: poster image, click to play, captions styled to brand. */
.w-video{position:relative;overflow:hidden;border-radius:var(--w-radius-lg);background:var(--w-navy);aspect-ratio:9/16;max-width:420px}
.w-video-poster,.w-video video{display:block;width:100%;height:100%;object-fit:cover}
.w-video video{position:absolute;inset:0;background:#000}
.w-video.is-playing .w-video-poster{visibility:hidden}
.w-video video::cue{font-family:Poppins,system-ui,sans-serif;font-size:.85em;background:rgba(5,63,92,.82)}
.w-video-phone{max-width:300px;aspect-ratio:9/16;border-radius:28px;box-shadow:0 26px 60px -34px #053f5ca6}
.w-play{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:13px 18px;border:0;border-radius:999px;background:#fff;color:var(--w-navy);font:500 14px/1.2 Poppins,system-ui,sans-serif;text-align:left;cursor:pointer;transition:background .25s,transform .4s var(--w-ease)}
.w-play span{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--w-navy)}
.w-play span::before{content:"";border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #fff;margin-left:3px}
.w-play:hover{background:var(--w-soft);transform:translateY(-2px)}
.w-case{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(32px,6vw,88px);align-items:center}
/* Case-study facts use the same tick rows as the hub cards, with a short bold lead-in. */
.w-ticks-case{margin:4px 0 0}
.w-ticks-case li{align-items:flex-start}
.w-ticks-case li::before{margin-top:1px}
.w-ticks-case p{margin:0;font-size:.97rem;line-height:1.45;color:var(--w-navy)}
.w-ticks-case strong{font-weight:600}
.w-transcript{margin-top:20px;border-block:1px solid var(--w-line)}
.w-transcript summary{padding:14px 0!important;font-size:.95rem!important}
.w-transcript>div{padding:0 0 18px;max-width:40rem}
.w-transcript p{font-size:.9rem;line-height:1.65;color:var(--w-text);margin:0 0 10px}
.w-transcript i{color:var(--w-muted)}

/* Member testimonial cards on the hub: photo with name chip and play button, quote, ticks, link. */
.w-testimonials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1040px}
.w-testimonial{display:flex;flex-direction:column;padding:clamp(18px,2vw,26px);border-radius:var(--w-radius-lg);background:var(--w-wash);box-shadow:inset 0 0 0 1px var(--w-line)}
.w-testimonial-media{position:relative;aspect-ratio:4/5;border-radius:var(--w-radius);overflow:hidden;background:var(--w-soft)}
.w-testimonial-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 24%}
.w-name-chip{position:absolute;left:14px;bottom:14px;padding:9px 18px;border-radius:14px;background:#fff;color:var(--w-navy);font-size:.95rem;font-weight:600;box-shadow:0 6px 18px -10px #053f5c80}
.w-play-square{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:16px;background:var(--w-navy);cursor:pointer;box-shadow:0 10px 24px -12px #053f5ca6;transition:transform .4s var(--w-ease),background .25s}
.w-play-square::before{content:"";border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #fff;margin-left:4px}
.w-play-square:hover{background:#032e45;transform:scale(1.05)}
.w-testimonial-quote{margin:24px 0 18px;font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem)!important;line-height:1.25;color:var(--w-navy)}
.w-ticks{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.w-ticks li{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--w-line);font-size:.97rem;line-height:1.4;color:var(--w-navy)}
.w-ticks li::before{content:"";flex:none;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5 9.5 18 20 6.5' fill='none' stroke='%23266314' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.w-see-full{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:auto;padding:10px 4px;font-size:1.05rem;font-weight:600;color:var(--w-navy);text-decoration:none}
.w-see-full span{font-size:1.4em;line-height:1;transition:transform .4s var(--w-ease)}
.w-see-full:hover span{transform:translateX(4px)}
/* Desktop: landscape cards, photo left and copy right, so the pair takes about half the height (Art, 6 October). */
@media (min-width:941px){
  .w-testimonials{max-width:none;gap:20px}
  .w-testimonial{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);grid-template-rows:auto auto 1fr;column-gap:clamp(16px,1.8vw,24px);align-items:start;padding:clamp(14px,1.4vw,18px)}
  .w-testimonial-media{grid-row:1/4;align-self:start}
  .w-testimonial-quote{margin:4px 0 12px;font-size:clamp(1.12rem,.95rem + .5vw,1.32rem)!important;line-height:1.25}
  .w-testimonial .w-ticks{gap:8px;margin-bottom:12px}
  .w-testimonial .w-ticks li{padding:9px 13px;gap:10px;border-radius:14px;font-size:.88rem;line-height:1.35}
  .w-testimonial .w-see-full{margin-top:0;align-self:end;padding:6px 2px;font-size:.98rem}
  .w-testimonial .w-play-square{width:48px;height:48px;right:10px;bottom:10px;border-radius:13px}
  .w-testimonial .w-play-square::before{border-width:8px 0 8px 13px}
  .w-testimonial .w-name-chip{left:10px;bottom:10px;padding:7px 14px;font-size:.88rem}
}

/* Lightbox for full member videos. */
.w-lightbox{width:fit-content;max-width:92vw;max-height:94vh;margin:auto;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.w-lightbox::backdrop{background:rgba(3,46,69,.84)}
.w-lightbox-frame{border-radius:22px;overflow:hidden;isolation:isolate;background:#fff}
.w-lightbox video{display:block;height:min(76vh,820px);max-width:92vw;aspect-ratio:9/16;border-radius:22px 22px 0 0;background:#000}
.w-lightbox-bar{padding:10px;background:#fff}
.w-lightbox-bar .w-btn{display:flex;width:100%;min-height:46px}
.w-lightbox .w-lightbox-cap{width:0;min-width:100%;margin:12px 0 0;text-align:center;color:#fff;font:500 13px/1.4 Poppins,system-ui,sans-serif}
.w-lightbox-close{position:absolute;top:-14px;right:-14px;z-index:1;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--w-navy);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 8px 20px -8px #0008}

/* RTÉ feature: phone-sized broadcast clip beside the argument it makes. */
.w-rte{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.w-quote-sm p{font-size:clamp(1.25rem,1.05rem + .7vw,1.6rem)!important}
.w-rte-link{font-size:1rem;color:var(--w-text);max-width:34rem}
.w-case-copy .w-quote p{font-size:clamp(1.25rem,1.05rem + .7vw,1.7rem)!important}

/* FAQ: heading beside a roomy accordion. */
.w-faq{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,6vw,96px);align-items:start}
.w-faq-head{position:sticky;top:24px}
.w-faq-head p{font-size:1rem;color:var(--w-text);margin-bottom:24px}
.w-faq-list details{border-bottom:1px solid var(--w-line)}
.w-faq-list details:first-child{border-top:1px solid var(--w-line)}
:is(.w-faq-list,.w-formats,.w-transcript) summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;list-style:none;cursor:pointer;font-size:1.05rem;font-weight:500;line-height:1.4;color:var(--w-navy)}
:is(.w-faq-list,.w-formats,.w-transcript) summary::-webkit-details-marker{display:none}
.w-chev{position:relative;flex:none;width:38px;height:38px;border-radius:50%;background:var(--w-soft);transition:transform .45s var(--w-ease),background .25s}
.w-chev::before{content:"";position:absolute;inset:0;margin:auto;width:9px;height:9px;border-right:2px solid var(--w-navy);border-bottom:2px solid var(--w-navy);transform:translateY(-2px) rotate(45deg)}
details[open]>summary .w-chev{transform:rotate(180deg);background:#d3e3ec}
.w-faq-list details p{font-size:.98rem;line-height:1.65;color:var(--w-text);margin:0 64px 24px 0}
#treatments.w-section{padding:0}
/* Trust strip under the hub hero. */
#trust.w-section{padding:0}
.w-trust{text-align:center}
.w-trust-kicker{margin:0 0 10px;font-size:.92rem;font-weight:500;color:var(--w-blue-text)}
.w-trust h2{max-width:none;margin:0 auto 0}
.w-trust-row{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(28px,3.5vw,44px) 0 0;padding:clamp(26px,3vw,36px) 0 0;border-top:1px solid var(--w-line)}
.w-trust-row li{display:grid;grid-template-rows:72px 26px auto auto;row-gap:6px;justify-items:center;align-items:center;padding:6px 16px;border-left:1px solid var(--w-line)}
.w-trust-row li:first-child{border-left:0}
.w-trust-row strong{grid-row:3;align-self:start;font-size:1.02rem;font-weight:600;color:var(--w-navy);line-height:1.3}
.w-trust-sub{grid-row:4;align-self:start;font-size:.86rem;color:var(--w-muted)}
.w-trust-logo{display:block;width:auto;height:34px;margin:0;grid-row:1}
.w-trust-logo-bb{height:38px}
.w-trust-row li:nth-child(3) .w-trust-logo{height:46px;grid-row:1/3}
.w-trust-row li:nth-child(4) .w-trust-logo{height:72px;grid-row:1/3}
.w-trust-row .w-fstars{font-size:1.15rem;margin:0;grid-row:2}
.w-formats{background:var(--w-wash);box-shadow:inset 0 0 0 1px var(--w-line);border-radius:var(--w-radius);padding:4px clamp(22px,2.6vw,32px)}
.w-formats>div{padding-bottom:24px;font-size:.96rem}
.w-formats .w-actions{margin-top:8px}

/* Closing: the coastal photograph carries the final call to action. */
.w-closing{padding:0 var(--w-inset) var(--w-inset)}
.w-closing-panel{position:relative;display:flex;align-items:center;max-width:1520px;min-height:clamp(440px,42vw,620px);margin:0 auto;border-radius:var(--w-radius-lg);overflow:hidden;isolation:isolate}
.w-closing-img{position:absolute;inset:0;border-radius:0;z-index:-2}
.w-closing-img img{object-position:62% 45%}
.w-closing-img .w-ai-badge{left:auto;right:16px}
.w-closing-panel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fffffff2 0%,#ffffffd9 30%,#ffffff00 52%)}
.w-closing .container{width:100%}
.w-closing-copy{max-width:31rem}
.w-closing-copy p{font-size:1.05rem;color:var(--w-text)}

/* Entrance motion: one orchestrated hero reveal, never on capture or reduced motion. */
@media (prefers-reduced-motion:no-preference){
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-hero-copy>*{animation:w-rise .9s var(--w-ease) both}
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-hero-copy>:nth-child(2){animation-delay:.05s}
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-hero-copy>:nth-child(3){animation-delay:.1s}
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-hero-copy>:nth-child(4){animation-delay:.15s}
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-hero-copy>:nth-child(n+5){animation-delay:.2s}
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) :is(.w-mosaic .w-photo,.w-hero-photo){animation:w-reveal 1.2s var(--w-ease) both}
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-hero-split-media .w-photo{animation-name:w-reveal-square}
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-mosaic .w-m2{animation-delay:.1s}
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) .w-mosaic .w-m3{animation-delay:.2s}
}
@keyframes w-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes w-reveal-square{from{opacity:0;clip-path:inset(10% 0 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes w-reveal{from{opacity:0;clip-path:inset(10% 0 0 0 round var(--w-radius))}to{opacity:1;clip-path:inset(0 0 0 0 round var(--w-radius))}}
@media (prefers-reduced-motion:reduce){.w-tile,.w-need,.w-photo img,.w-arrow,.w-chev,.w-btn{transition:none}}
body.w-capture *,body.w-capture *::before{animation:none!important;transition:none!important}

/* Responsive. */
@media (max-width:1120px){
  .w-plan-head{padding-right:108px;min-height:216px}
  .w-plan-head h3{font-size:1.25rem!important}
  .w-plan-fig{width:86px;height:144px;right:14px}
  .w-experts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .w-pillars{grid-template-columns:1fr 1fr;row-gap:28px}
}
@media (max-width:940px){
  .w-plans{grid-template-columns:1fr;max-width:560px}
  .w-plan-head{min-height:0;padding-right:128px}
  .w-rev{grid-template-columns:minmax(0,1fr) auto;row-gap:14px}
  .w-rev-score{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}
  .w-rev-score strong{margin-top:0}
  .w-rev-cards{grid-template-columns:1fr}
  .w-strip-nav{flex-direction:row}
  .w-band-img-square{max-width:none;justify-self:stretch}
  .w-reviews{grid-template-columns:1fr 1fr}
  .w-reviews-head{grid-template-columns:1fr}.w-score-block{flex:1 1 150px;padding-right:18px}.w-score-block+.w-score-block{padding-left:18px}.w-score-note{max-width:none}
  @media (max-width:359px){.w-score-block+.w-score-block{padding-left:0;border-left:0;padding-top:14px;border-top:1px solid var(--w-line)}}
  .w-hero-grid,.w-hero-need .w-hero-grid,.w-split,.w-band-top,.w-story,.w-faq,.w-case,.w-rte{grid-template-columns:1fr}
  .w-video{max-width:340px}
  .w-hero-need .w-hero-photo{aspect-ratio:16/11}
  .w-faq-head{position:static}
  .w-tiles{grid-template-columns:1fr;grid-template-rows:none}
  .w-tile{display:flex;flex-direction:column;grid-row:auto}
  .w-tile-img{align-self:stretch}
  .w-needs,.w-articles{grid-template-columns:1fr 1fr}
  .w-qa,.w-after{grid-template-columns:1fr}
  .w-track{grid-template-columns:1fr 1fr;row-gap:36px}
  .w-track::before{display:none}
  .w-story-img{max-width:420px}
  .w-media-tall{aspect-ratio:4/3.4}
  .w-mosaic{aspect-ratio:1/.95}
}
@media (max-width:680px){
  :is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main .container{padding:0 20px}
  .w-needs,.w-articles,.w-pillars,.w-track{grid-template-columns:1fr}
  .w-track{row-gap:28px}
  .w-track::before{display:block;left:9px;right:auto;top:10px;bottom:10px;width:2px;height:auto}
  .w-track li{padding:0 0 0 42px}
  .w-need{min-height:0}
  .w-experts,.w-reviews{grid-template-columns:1fr}
  .w-rev{grid-template-columns:1fr}
  .w-strip-nav{justify-content:flex-end}
  .w-experts{grid-template-columns:1fr;gap:26px}
  .w-play{font-size:13px;padding:11px 14px}
  .w-testimonials{grid-template-columns:1fr;max-width:none}
  .w-lightbox-close{top:8px;right:8px}
  .w-expert{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:16px;align-items:start}
  .w-portrait{grid-row:1/span 4;margin:0}
  .w-expert .w-btn{grid-column:2;margin-top:0}
  .w-float-a{left:12px;bottom:16px}
  .w-float-b{right:12px;top:16px}
  .w-mosaic{gap:10px}
  .w-faq-list details p{margin-right:0}
  /* Small screens: copy first on a wash panel, photo below it, so faces are never behind a fade. */
  .w-closing-panel{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:var(--w-wash)}
  .w-closing-panel::after{display:none}
  .w-closing .container{padding-top:34px;padding-bottom:26px}
  .w-closing-img{position:relative;inset:auto;order:2;aspect-ratio:4/3;z-index:0}
  .w-closing-img img{object-position:66% 30%}
  :is(body[data-theme="women"],body[data-theme="men"],.w-theme) h1 .confirm-tag{vertical-align:.4em}
}

/* Hero layout variants (review). */
.w-google-line{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--w-navy)}.w-google-line .w-bb-mark{height:16px;margin-left:-2px}.w-google-line strong{font-weight:600}.w-google-line>span{color:var(--w-muted);font-size:.8rem}
.w-centre{text-align:center;margin-left:auto;margin-right:auto}
/* B: full-bleed */
.w-hero-b{padding:8px var(--w-inset) 0}
.w-hero-b-panel{position:relative;display:flex;align-items:center;min-height:clamp(520px,58vw,680px);max-width:1520px;margin:0 auto;border-radius:var(--w-radius-lg);overflow:hidden;isolation:isolate;background:var(--w-wash)}
.w-hero-b-img{position:absolute;inset:0;z-index:-1;border-radius:0}.w-hero-b-img img{object-position:72% 40%}
.w-hero-b-panel .container{width:100%}
.w-hero-b-card{max-width:560px;background:rgba(255,255,255,.93);backdrop-filter:blur(8px);border-radius:var(--w-radius);padding:clamp(26px,3vw,40px);box-shadow:0 30px 60px -40px #053f5c66}
.w-hero-b-card h1{font-size:clamp(2.2rem,1.4rem+2.4vw,3.4rem)}
/* C: centred stack */
.w-hero-c{padding:clamp(24px,3vw,44px) 0 0}
.w-hero-c-copy{max-width:820px;margin:0 auto;text-align:center}
.w-hero-c-copy h1{font-size:clamp(2.6rem,1.6rem+3.4vw,4.6rem);margin-left:auto;margin-right:auto}
.w-hero-c-copy .w-lead{margin:0 auto}.w-hero-c-copy .w-actions{justify-content:center}
.w-checks-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:22px}
.w-hero-c-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(32px,4vw,48px)}
.w-hero-c-strip .w-photo{aspect-ratio:4/5;border-radius:var(--w-radius)}
.w-hero-c-strip .w-photo:nth-child(1) img{object-position:50% 30%}.w-hero-c-strip .w-photo:nth-child(3) img{object-position:50% 30%}
/* D: member-led */
.w-hero-d{padding:clamp(20px,3vw,40px) 0 0}
.w-hero-d-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,5.5vw,88px);align-items:center}
.w-hero-d-media{position:relative}
.w-hero-d-photo{aspect-ratio:4/5;border-radius:var(--w-radius-lg)}.w-hero-d-photo img{object-position:50% 30%}
.w-hero-d-quote{position:absolute;left:18px;top:18px;max-width:62%;margin:0;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 14px 30px -20px #053f5c80}
.w-hero-d-quote p{margin:0;font-size:1.05rem;font-weight:500;line-height:1.3;color:var(--w-navy)}.w-hero-d-quote cite{display:block;margin-top:4px;font-size:.78rem;font-style:normal;color:var(--w-muted)}
.w-hero-d-media .w-play-square{right:18px;bottom:18px;width:64px;height:64px}
.w-hero-d-rating{left:18px;bottom:22px;right:auto;top:auto}
.w-hero-d-rating::before{display:none}
/* E: qualification first */
.w-hero-e{padding:clamp(24px,3vw,44px) 0 0}
.w-hero-e-copy{max-width:760px;margin:0 auto;text-align:center}
.w-hero-e-copy h1{margin-left:auto;margin-right:auto}.w-hero-e-copy .w-lead{margin:0 auto}
/* Starting-point card (shared by heroes D and E). */
.w-start{margin-top:26px;background:#fff;border-radius:var(--w-radius);padding:clamp(18px,2vw,24px);box-shadow:inset 0 0 0 1px var(--w-line),0 24px 50px -40px #053f5c66}
.w-hero-e .w-start{max-width:720px;margin:clamp(26px,3vw,36px) auto 0}
.w-start-q{margin:0 0 12px;font-size:1rem;font-weight:600;color:var(--w-navy)}
.w-start-options{display:grid;gap:10px}
.w-start-opt{display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;align-items:center;width:100%;padding:14px 16px;border:1.5px solid var(--w-line);border-radius:16px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:var(--w-navy);transition:border-color .2s,background .2s}
.w-start-opt:hover{border-color:var(--w-blue)}
.w-start-opt[aria-checked="true"]{border-color:var(--w-navy);background:var(--w-soft)}
.w-start-opt strong{display:block;font-size:1rem;font-weight:600;line-height:1.3}.w-start-opt small{display:block;margin-top:2px;font-size:.84rem;color:var(--w-text)}
.w-radio{width:22px;height:22px;border-radius:50%;border:2px solid #b7c9d2;background:#fff;position:relative;transition:border-color .2s}
.w-start-opt[aria-checked="true"] .w-radio{border-color:var(--w-navy)}
.w-start-opt[aria-checked="true"] .w-radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--w-navy)}
.w-start-go{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:16px}
.w-start-btn{gap:10px}.w-start-time{font-size:.84rem;color:var(--w-muted)}
.w-hero-e-faces{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 22px;margin-top:clamp(24px,3vw,34px)}
.w-face-row{display:inline-flex}.w-face{width:64px;height:64px;border-radius:50%;margin-left:-14px;box-shadow:0 0 0 3px #fff}.w-face:first-child{margin-left:0}
.w-face .w-ai-badge{display:none}
/* Variants page */
.w-variants-intro{padding-bottom:0}.w-variants-intro h1{font-size:clamp(2rem,1.4rem+2vw,3rem)}
.w-variant{margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--w-line)}
.w-variant-label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 36px}
.w-variant-label p{margin:4px 0 0;font-size:.9rem;color:var(--w-text)}.w-variant-label strong{color:var(--w-navy)}
.w-variant-letter{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--w-navy);color:#fff;font-weight:600;font-size:18px}
/* Split hero (Art, 5 October, after Yazen): copy on a tinted left half, the photo filling the right half edge to edge. */
.w-hero-split,.w-hero-d.w-hero-split,.w-hero-need.w-hero-split{padding:0;margin:0}
.w-hero-split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;min-height:clamp(520px,56vw,720px);background:var(--w-soft)}
.w-hero-split-copy{--w-hero-pl:max(36px,calc((100vw - 1240px) / 2 + 36px));position:relative;display:flex;align-items:center;padding:clamp(64px,7vw,88px) clamp(28px,4.5vw,64px) clamp(40px,5vw,72px) var(--w-hero-pl)}
.w-hero-crumbs{position:absolute;top:18px;left:var(--w-hero-pl);right:24px;margin:0;padding:0;font-size:12px}
.w-hero-split-copy>.w-hero-copy{width:100%;max-width:580px}
.w-hero-split-media{position:relative;min-height:100%}
.w-hero-split-media .w-photo{position:absolute;inset:0;height:100%;aspect-ratio:auto;border-radius:0}
.w-hero-split-media .w-photo img{height:100%}
.w-hero-split .w-hero-d-photo img{object-position:50% 12%}
/* Sinéad's still is portrait footage, so a wide desktop panel used to magnify it (Art, 8 October). From 941px the
   still keeps its own 4:5 at 86% of the panel height, centred along the bottom (her face is near the middle of the
   still), and the rest of the panel is the interview wall: the warm upper wall, then the darker band, meeting where
   they meet in the frame (14% + 53% of 86%). The still's left, right and top edges fade into it. Source: the 60.2s frame Karl chose, from the 1080x1920 master, cropped above the captions. */
@media (min-width:941px){
  .w-hero-split .w-hero-d-portrait{--ph:86%;background:linear-gradient(180deg,#c69a68 0%,#c99d6a 14%,#dab173 59.2%,#a07a4c 59.9%,#8d6640 66%,#89633e 100%)}
  .w-hero-split .w-hero-d-portrait .w-hero-d-photo{inset:auto auto 0 50%;transform:translateX(-50%);height:var(--ph);width:auto;max-width:100%;aspect-ratio:4/5;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0,#000 16%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0,#000 16%);mask-composite:intersect}
  .w-hero-split .w-hero-d-portrait .w-hero-d-photo img{object-position:50% 0}
}

.w-hero-split .w-hero-d-quote{left:24px;top:24px}
.w-hero-split .w-hero-d-media .w-play-square{right:24px;bottom:24px}
.w-hero-split .w-hero-d-rating{left:24px;bottom:28px}
.w-hero-split .w-hero-photo .w-ai-badge{left:auto;right:16px;bottom:16px}
@media (max-width:940px){
  .w-hero-d-grid{grid-template-columns:1fr}
  .w-hero-split-grid{grid-template-columns:1fr;min-height:0}
  .w-trust-row{grid-template-columns:1fr 1fr;gap:22px 0}.w-trust-row li:nth-child(3){border-left:0}.w-trust-row li{padding:6px 12px}.w-trust-row strong{min-height:2.6em}
  .w-hero-split-copy{--w-hero-pl:28px;padding:clamp(48px,8vw,64px) 28px clamp(28px,5vw,44px)}
  .w-hero-crumbs{top:14px}
  /* The photo is in the flow below the copy and sets the panel's height itself. Safari (iPhone) ignores aspect-ratio on
     a stretched grid item whose children are all absolutely placed, so the panel collapsed to nothing there and the quote
     spilled into the next section (Art, 9 October). */
  .w-hero-split-media{min-height:0;aspect-ratio:auto;align-self:start}
  .w-hero-split-media .w-photo{position:relative;inset:auto;height:auto;aspect-ratio:4/5}
  .w-hero-need .w-hero-split-media .w-photo{aspect-ratio:16/11}
  .w-hero-split-media .w-photo img{position:absolute;inset:0;width:100%;height:100%}
  .w-hero-b-panel{min-height:0;flex-direction:column;align-items:stretch}
  .w-hero-b-img{position:relative;inset:auto;order:2;aspect-ratio:4/3}
  .w-hero-b-card{max-width:none;margin:16px 16px 0;backdrop-filter:none}
}
@media (max-width:680px){
  .w-hero-c-strip{gap:8px}.w-hero-c-strip .w-photo{aspect-ratio:3/4;border-radius:14px}
  .w-hero-d-quote{max-width:70%;padding:10px 12px}.w-hero-d-quote p{font-size:.92rem}
  .w-hero-d-media .w-play-square{width:54px;height:54px}
  .w-hero-d-rating{display:none}
  .w-hero-split-copy{--w-hero-pl:22px;padding:56px 22px 32px}
  .w-hero-crumbs{top:12px}
  .w-variant-label{grid-template-columns:auto minmax(0,1fr);padding:18px 20px}.w-variant-label .w-btn{grid-column:2}
  .w-face{width:52px;height:52px}
  .w-pillar-icon{width:72px;height:72px}
  /* Start card on phones (Art, 5 October): both buttons on one row and each option's sub-label on one line.
     Type steps down with the viewport instead of wrapping; under 360px the buttons stack again rather than drop below 11px. */
  .w-start{padding:16px 14px}
  .w-start-opt{gap:12px;padding:13px 14px}
  .w-start-opt strong{font-size:clamp(13px,3.95vw,1rem)}
  .w-start-opt small{font-size:clamp(11px,3.1vw,.84rem)}
  .w-start-go{flex-wrap:nowrap;gap:8px}
  .w-start-go .w-btn{flex:1 1 auto;width:auto;min-width:0;padding:0 10px;gap:6px;font-size:clamp(11px,3.3vw,15px)}
}
@media (max-width:359px){
  .w-trust-row{grid-template-columns:1fr;gap:18px 0}.w-trust-row li{border-left:0;padding:6px 8px}
  .w-start-go{flex-wrap:wrap}
  .w-start-go .w-btn{width:100%;font-size:14px}
}

/* "Your programme comes with support": copy left, a looping silent video right at its own 3:4 ratio. */
.w-support{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:center}
.w-support .w-checks{max-width:31rem}
.w-support .w-actions{margin-top:30px}
.w-support-quote{display:flex;align-items:center;gap:16px;margin:30px 0 0;max-width:34rem}
.w-support-quote img{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover}
.w-support-quote blockquote{margin:0}
.w-support-quote p{font-size:1.05rem;line-height:1.45;font-weight:500;color:var(--w-navy);margin:0 0 6px}
.w-support-quote figcaption{font-size:.84rem;color:var(--w-muted)}
.w-support-panel{position:relative;overflow:hidden;width:100%;aspect-ratio:1778/2366;max-width:520px;justify-self:end;border-radius:var(--w-radius-lg);background:#0f4d6b}
.w-support-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:940px){
  .w-support{grid-template-columns:1fr}
  .w-support-panel{justify-self:start}
}

/* BMI calculator, after the Hers tool: two equal columns, inner-label fields, a full-width button; a navy card
   with a four-segment arc gauge, the number in the centre, the band table, then the verdict. On Calculate the
   active arc draws on, the marker travels the arc while the number counts up, the row highlights and the
   verdict fades up. body.w-capture and reduced motion make all of that instant. */
.w-bmi{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:start}
.w-bmi-fields{margin-top:8px;display:grid;gap:12px}
.w-fld-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:.92rem;font-weight:500;color:var(--w-navy)}
.w-seg-group{display:inline-flex;gap:6px;border:0;padding:0;margin:0}
.w-seg{display:inline-flex;position:relative}
.w-seg input{position:absolute;opacity:0;width:1px;height:1px}
.w-seg span{display:inline-block;min-height:34px;padding:7px 14px;border-radius:999px;border:1px solid #c5d5dd;background:#fff;color:var(--w-navy);font-size:.84rem;font-weight:500;line-height:1.2;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.w-seg input:checked+span{background:var(--w-navy);border-color:var(--w-navy);color:#fff}
.w-seg input:focus-visible+span{box-shadow:0 0 0 3px #65a1bc66}
.w-bmi-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.w-bmi-row-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.w-bmi-row[hidden]{display:none}
.w-fld{position:relative;display:block;min-width:0}
.w-fld>span{position:absolute;top:9px;left:15px;font-size:.74rem;font-weight:500;color:var(--w-muted);pointer-events:none}
.w-fld input{width:100%;min-width:0;min-height:56px;padding:24px 14px 8px 15px;border:1px solid #c5d5dd;border-radius:12px;background:#fff;font:500 1.05rem/1.2 Poppins,system-ui,sans-serif;color:var(--w-navy);transition:border-color .2s,box-shadow .2s;appearance:textfield;-moz-appearance:textfield}
.w-fld input::-webkit-outer-spin-button,.w-fld input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.w-fld input::placeholder{color:#a9bcc5;font-weight:400}
.w-fld input:focus{outline:0;border-color:var(--w-navy);box-shadow:0 0 0 3px #65a1bc55}
.w-bmi-error{margin:0;font-size:.9rem;color:#9b2c2c}
.w-btn-block{width:100%;margin-top:8px}
.w-bmi-card{position:relative;background:var(--w-navy);color:var(--w-on-navy);border:1px solid var(--w-green);border-radius:24px;padding:clamp(18px,2.4vw,28px) clamp(18px,2.4vw,28px) clamp(16px,2vw,22px)}
.w-bmi-dial{position:relative;margin:0 auto;max-width:440px}
.w-gauge{display:block;width:100%;height:auto;overflow:visible}
.w-gauge-seg{fill:none;stroke:#ffffff;stroke-opacity:.12;stroke-width:32;stroke-linecap:round;transition:stroke .4s,stroke-opacity .4s,stroke-dashoffset .9s var(--w-ease)}
.w-gauge-seg.is-on{stroke:var(--w-green);stroke-opacity:1}
.w-gauge text{fill:var(--w-on-navy-muted);font:500 15px Poppins,system-ui,sans-serif;text-anchor:middle}
.w-gauge-marker{fill:#fff;stroke:var(--w-navy);stroke-width:5;opacity:0;transition:opacity .3s}
.w-gauge-marker.is-on{opacity:1}
.w-bmi-centre{position:absolute;left:50%;bottom:0;transform:translateX(-50%);text-align:center;white-space:nowrap}
.w-bmi-centre span{display:block;font-size:.86rem;font-weight:500;color:var(--w-on-navy-muted);margin-bottom:2px}
.w-bmi-centre strong{display:block;font-size:clamp(3rem,5vw,4.2rem);font-weight:600;line-height:1;letter-spacing:-.03em;color:var(--w-green);font-variant-numeric:tabular-nums}
.w-bmi-table{margin:22px 8px 0;border-top:1px solid #ffffff26}
.w-bmi-band{display:flex;justify-content:space-between;gap:16px;padding:12px 4px;border-bottom:1px solid #ffffff26;font-size:.95rem;color:var(--w-on-navy);transition:color .3s,padding-left .3s}
.w-bmi-band span:last-child{color:var(--w-on-navy-muted);font-variant-numeric:tabular-nums;transition:color .3s}
.w-bmi-band.is-on{color:var(--w-green);font-weight:600;padding-left:22px;background:radial-gradient(circle at 7px 50%,var(--w-green) 4px,transparent 5px)}
.w-bmi-band.is-on span:last-child{color:var(--w-green)}
.w-bmi-verdict{margin:20px 8px 0;opacity:0;transform:translateY(8px);transition:opacity .5s .25s,transform .5s .25s var(--w-ease)}
.w-bmi-verdict.is-in{opacity:1;transform:none}
.w-bmi-verdict[hidden]{display:none}
.w-bmi-verdict p{font-size:.98rem;line-height:1.55;color:var(--w-on-navy);margin:0 0 16px;text-wrap:pretty}
.w-bmi-verdict .w-actions{margin:0}
.w-bmi-card .w-btn-light{background:var(--w-green);border-color:var(--w-green);color:var(--w-navy)}
.w-bmi-card .w-btn-light:hover{background:#b9e48e;border-color:#b9e48e;color:var(--w-navy)}
.w-bmi-verdict .w-actions:empty{display:none}
.w-bmi-notes{margin-top:26px;max-width:62rem;display:grid;gap:10px}
.w-bmi-notes .w-fine{margin:0}
.w-bmi-faq{margin-top:40px;max-width:62rem}
.w-bmi-faq h3{margin-bottom:10px}
body.w-capture .w-gauge-seg,body.w-capture .w-bmi-verdict,body.w-capture .w-bmi-band,body.w-capture .w-gauge-marker{transition:none}
@media (prefers-reduced-motion:reduce){.w-gauge-seg,.w-bmi-verdict,.w-bmi-band,.w-gauge-marker{transition:none}}
@media (max-width:940px){.w-bmi{grid-template-columns:minmax(0,1fr)}.w-bmi-card{max-width:560px}}
@media (max-width:680px){.w-gauge text{font-size:17px}.w-bmi-centre strong{font-size:2.8rem}}

/* "How BeyondBMI works": four numbered cards after the SkinnyRx row. Each card ends in a media slot that the
   card's rounded edge crops, so the phone mocks run off the bottom as in the reference. */
.w-centre{text-align:center}
.w-head.w-centre{margin-left:auto;margin-right:auto}
:is(body[data-theme="women"],body[data-theme="men"],body.w-theme) main h2 .w-tone-inline{display:inline}
.w-actions.w-centre{justify-content:center}
.w-steps4{list-style:none;margin:0 0 34px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.w-step4{position:relative;display:flex;flex-direction:column;min-height:540px;padding:26px 24px 0;border-radius:24px;background:#fff;border:1px solid var(--w-line);overflow:hidden}
.w-step4-tint{background:linear-gradient(180deg,#dbe8ef 0%,#fff 72%);border-color:#cfdfe8}
.w-step4-chip{align-self:flex-start;padding:6px 12px;border-radius:999px;background:var(--w-soft);color:var(--w-blue-text);font-size:.8rem;font-weight:500;line-height:1.2;margin-bottom:18px}
.w-step4-tint .w-step4-chip{background:#fff}
.w-step4 h3{font-size:1.2rem!important;line-height:1.25;margin:0 0 8px}
.w-step4 p{font-size:.95rem;line-height:1.55;color:var(--w-text);margin:0}
.w-step4-media{margin-top:auto;padding-top:24px;height:264px;display:flex;justify-content:center;align-items:flex-start;overflow:hidden}
.w-phone{width:222px;height:320px;flex:none;border:8px solid #0b2231;border-bottom:0;border-radius:36px 36px 0 0;background:#fff;box-shadow:0 24px 48px -24px #053f5c80;padding:8px 12px 0;font-family:Poppins,system-ui,sans-serif}
.w-phone-top{display:flex;justify-content:space-between;align-items:center;padding:2px 8px 10px;font-size:11px;font-weight:600;color:var(--w-navy)}
.w-phone-sig{display:inline-flex;gap:2px;align-items:flex-end}
.w-phone-sig i{width:3px;background:var(--w-navy);border-radius:1px;height:5px}.w-phone-sig i:nth-child(2){height:7px}.w-phone-sig i:nth-child(3){height:9px}
.w-scr small{display:block;font-size:10px;color:var(--w-muted);margin-bottom:6px}
.w-scr h4{font-size:13px;line-height:1.3;font-weight:600;color:var(--w-navy);margin:0 0 10px;letter-spacing:0}
.w-scr label{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.3;color:var(--w-text);padding:8px 10px;border:1px solid var(--w-line);border-radius:10px;margin-bottom:6px}
.w-scr label i{flex:none;width:14px;height:14px;border-radius:4px;border:1.5px solid #b7c9d2}
.w-scr label.on{border-color:var(--w-navy)}
.w-scr label.on i{background:var(--w-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3 5 8.6l4.4-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/9px no-repeat;border-color:var(--w-navy)}
.w-scr>b{display:block;margin-top:10px;background:var(--w-navy);color:#fff;text-align:center;border-radius:999px;padding:9px;font-size:12px;font-weight:500}
.w-scr-card{background:var(--w-wash);border:1px solid var(--w-line);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.w-scr-card h4{margin:0 0 4px;font-size:12.5px}
.w-scr-card p{font-size:11px;line-height:1.4;color:var(--w-text);margin:0}
.w-scr-card>span{display:block;font-size:11px;color:var(--w-muted)}
.w-scr-card svg{display:block;width:100%;height:40px;margin:6px 0 4px;fill:none;stroke:var(--w-blue-deep);stroke-width:2.5;stroke-linecap:round}
.w-scr-card small{margin:0}
.w-scr-tick{display:block;width:26px;height:26px;border-radius:50%;margin-bottom:8px;background:var(--w-green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3 5 8.6l4.4-5' fill='none' stroke='%23266314' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
.w-scr-msg{display:flex;gap:10px;align-items:flex-start}
.w-scr-msg em{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--w-soft);color:var(--w-navy);font:600 12px Poppins,system-ui,sans-serif;font-style:normal}
.w-scr-msg h4{margin-bottom:2px}
.w-step-portrait{display:block;width:min(100%,300px);height:auto;margin:0 auto;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 24%),linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 24%),linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-composite:intersect}
@media (max-width:1120px){.w-steps4{grid-template-columns:1fr 1fr}.w-step4{min-height:500px}}
@media (max-width:680px){.w-steps4{grid-template-columns:1fr}.w-step4{min-height:0}.w-step4-media{height:230px}}

/* Men's pages: three Google reviews from men in place of the video cards (no male member videos yet). */
.w-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.w-quote-card{margin:0;padding:24px;border-radius:var(--w-radius);background:var(--w-wash);border:1px solid var(--w-line);display:flex;flex-direction:column}
.w-quote-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.w-quote-card p{font-size:1rem;line-height:1.55;color:var(--w-navy);margin:0 0 14px}
.w-quote-card cite{margin-top:auto;font-style:normal;font-size:.86rem;color:var(--w-muted)}
.w-hero-d-photo .w-ai-badge{left:auto;right:12px;top:12px;bottom:auto}
@media (max-width:940px){.w-quotes{grid-template-columns:1fr}}

/* "What your sessions cover": clinician tabs over a two-column topic list. */
.w-sess .w-topic-tabs{margin-bottom:22px}
.w-sess-panel[hidden]{display:none}
.w-sess-panel .w-chip-label{display:none}
.w-sess-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px}
.w-sess-item{padding:16px 18px;border-radius:16px;background:var(--w-wash);border:1px solid var(--w-line)}
.w-sess-item h4{font-size:1rem;line-height:1.3;font-weight:500;color:var(--w-navy);margin:0 0 6px}
.w-sess-item p{font-size:.9rem;line-height:1.5;color:var(--w-text);margin:0}
body.w-capture .w-sess-panel .w-chip-label{display:inline-block;margin:18px 0 10px}
body.w-capture .w-sess-panel+.w-sess-panel{margin-top:8px}
@media (max-width:940px){.w-sess-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.w-sess-grid{grid-template-columns:1fr}}

/* .w-theme: a women's-theme section dropped into an older generic page (the four-card how-it-works). */
.w-theme .w-head h2{font-size:clamp(2rem,1.4rem + 1.9vw,3rem);line-height:1.08;letter-spacing:-.03em;font-weight:500;margin-bottom:16px;color:var(--w-navy)}
.w-theme h3{font-weight:500;color:var(--w-navy)}
.w-theme h2 .w-tone-inline{display:inline}

/* Team section mirroring the live homepage: intro and checks left, stats right, then ten circular portraits. */
/* .w-team-top holds intro, stats and the people grid; on phones the stats drop beneath the people (Art, 5 October). */
.w-team-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:start;margin-bottom:clamp(36px,4vw,56px)}
.w-team-top .w-people{grid-column:1/-1}
.w-team-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;padding:clamp(22px,2.4vw,30px);border-radius:var(--w-radius);background:var(--w-wash);border:1px solid var(--w-line)}
.w-team-stats strong{display:block;font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1;font-weight:600;color:var(--w-navy);margin-bottom:8px}
.w-team-stats span{display:block;font-size:.82rem;line-height:1.4;color:var(--w-text)}
.w-team-stats .w-btn{grid-column:1/-1;justify-self:start;margin-top:8px}
.w-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,32px) 18px}
.w-person{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--w-navy)}
.w-person img{display:block;width:min(100%,150px);height:auto;aspect-ratio:1/1;border-radius:50%;object-fit:cover;background:var(--w-soft);margin-bottom:12px;transition:transform .35s var(--w-ease)}
.w-person:hover img{transform:translateY(-3px)}
.w-person strong{font-size:.98rem;font-weight:600;line-height:1.25}
.w-person span{font-size:.8rem;line-height:1.35;color:var(--w-blue-text);margin-top:4px}
@media (max-width:940px){.w-team-top{grid-template-columns:1fr}.w-people{grid-template-columns:repeat(4,minmax(0,1fr))}.w-team-stats{order:3;margin-top:8px}.w-people-more{order:2}}
.w-people-more{display:none;margin:22px auto 0}
@media (max-width:680px){.w-people{grid-template-columns:repeat(2,minmax(0,1fr))}.w-team-stats{grid-template-columns:1fr 1fr}.w-team-stats div:nth-child(3){grid-column:1/-1}
  .w-people:not(.is-open) .w-person-extra{display:none}.w-people-more{display:flex}.w-people-more[hidden]{display:none}
  body.w-capture .w-person-extra{display:flex}body.w-capture .w-people-more{display:none}}

/* Refer a friend: three numbered steps beside a portrait, on the soft band. */
.w-refer-steps{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:18px}
.w-refer-steps li{display:flex;gap:14px;align-items:flex-start}
.w-refer-n{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--w-navy);color:#fff;font-size:.9rem;font-weight:600}
.w-refer-steps h3{font-size:1.05rem!important;margin:4px 0 4px}
.w-refer-steps p{font-size:.95rem;line-height:1.5;color:var(--w-text);margin:0}
.w-refer-steps+.w-actions{margin-top:28px}

/* Men's hub hero on phones (Art's photo, 9 October): his face fills the top of the frame, so the quote card sits at the
   bottom instead, where the hidden ratings pill would be. */
@media (max-width:680px){.w-hero-d-men .w-hero-d-quote{top:auto;bottom:16px}}

/* Closing band on small desktops: the band is narrower, so the copy narrows too and stays clear of the people. */
@media (min-width:941px) and (max-width:1199px){.w-closing-copy{max-width:26rem}}

/* ── more-pages.css (staging wireframe) ── */
/* Pages carried from the live site (more-pages.js): Pricing, Team, FAQ, Blog, Webinars, News and media, Reviews, Careers, Contact.
   Everything here sits on women-pages.css's tokens and modules; only the layouts those pages lack are added. */
/* Plain hero (Art, 7 October): copy only, on the live page-hero's wash with its green and blue glows. Centred on
   desktop; on phones the copy stays left-aligned and keeps the gradient. */
.w-hero-plain{position:relative;padding:0;margin:0;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--w-wash) 100%)}
.w-hero-plain::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 18%,rgba(165,219,115,.32) 0%,transparent 42%),radial-gradient(circle at 12% 85%,rgba(101,161,188,.16) 0%,transparent 42%)}
.w-hero-plain .container{position:relative;padding-top:clamp(64px,7vw,88px);padding-bottom:clamp(44px,5vw,64px)}
.w-hero-plain .w-hero-crumbs{left:auto;right:auto;top:18px}
.w-hero-plain .w-hero-copy{max-width:44rem}
.w-hero-plain .w-lead{max-width:40rem}
.w-hero-plain .w-actions .w-btn{white-space:nowrap}
.w-hero-plain .w-kicker{padding:.4rem .95rem;border:1px solid var(--w-blue);border-radius:999px;background:var(--w-soft);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
@media (min-width:681px){
  .w-hero-plain{text-align:center}
  .w-hero-plain .container{padding-top:clamp(72px,7vw,104px);padding-bottom:clamp(48px,5vw,72px)}
  .w-hero-plain .w-hero-copy{max-width:52rem;margin:0 auto}
  .w-hero-plain .w-hero-copy>h1{max-width:22ch;margin-left:auto;margin-right:auto}
  .w-hero-plain .w-lead{margin-left:auto;margin-right:auto}
  .w-hero-plain .w-actions{justify-content:center}
  .w-hero-plain .w-fine{margin-left:auto;margin-right:auto}
}
.w-band-copy{max-width:46rem}
/* Programme pages: the 90-day band without its photo (programme-pages.js) */
.w-band-top:not(:has(.w-band-img)){grid-template-columns:minmax(0,46rem)}
#nutrition .w-split,#modest-loss .w-split{align-items:start}
.w-band-copy .w-head{margin-bottom:clamp(22px,2.6vw,32px)}

/* Info cards: three up, used for pricing points, careers values and contact ways */
.w-info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.w-info-cards:has(>:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.w-info-card{display:flex;flex-direction:column;padding:clamp(22px,2.2vw,28px);border-radius:var(--w-radius);background:var(--w-wash);box-shadow:inset 0 0 0 1px var(--w-line)}
.w-info-card h3{font-size:1.15rem!important;margin-bottom:8px}
.w-info-card p{font-size:.95rem;line-height:1.55;color:var(--w-text);margin:0 0 14px}
.w-info-card .w-link{margin-top:auto;font-size:.95rem}
.w-checks li>span strong{font-weight:600;color:var(--w-navy)}

/* Team page */
.w-team-checks{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 clamp(36px,4vw,56px);padding:0 0 clamp(26px,3vw,36px);border-bottom:1px solid var(--w-line)}
.w-team-group+.w-team-group{margin-top:clamp(44px,5vw,72px)}
.w-team-group h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)!important;margin-bottom:clamp(20px,2.4vw,32px)}
.w-people-page{grid-template-columns:repeat(5,minmax(0,1fr))}
.w-person-ph{display:flex;align-items:center;justify-content:center;width:min(100%,150px);aspect-ratio:1/1;border-radius:50%;background:var(--w-soft);color:var(--w-blue-text);font-size:1.6rem;font-weight:500;letter-spacing:.02em;margin-bottom:12px}
.w-logos-head .w-head{margin-bottom:clamp(22px,2.6vw,36px)}
.w-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:center}
.w-logos li{display:flex;align-items:center;justify-content:center;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--w-line)}
.w-logos img{display:block;width:100%;max-width:170px;height:auto}

/* FAQ page: one two-column block per group, the group name sticky on the left */
.w-faq-head p{color:var(--w-muted)}
/* FAQ groups follow each other more closely than separate sections. */
body.w-theme main>#faq-2,body.w-theme main>#faq-3,body.w-theme main>#faq-4{margin-top:clamp(36px,4vw,56px)}
.w-faq-list details p+p{margin-top:-10px}

/* Blog: text cards, three up */
.w-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.w-post{display:flex;flex-direction:column;padding:clamp(22px,2.2vw,28px);border-radius:var(--w-radius);background:var(--w-wash);box-shadow:inset 0 0 0 1px var(--w-line);color:inherit;text-decoration:none;transition:transform .6s var(--w-ease),box-shadow .6s var(--w-ease)}
.w-post:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--w-line),0 24px 44px -30px #053f5c66}
.w-post time,.w-webinar time{display:block;font-size:.82rem;font-weight:500;color:var(--w-blue-text);margin-bottom:10px}
.w-post h3{font-size:1.15rem!important;line-height:1.3;margin-bottom:10px}
.w-post p{font-size:.93rem;line-height:1.55;color:var(--w-text);margin:0 0 16px}

/* Webinars: poster cards, two up */
.w-webinars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.w-webinar{display:flex;flex-direction:column;border-radius:var(--w-radius-lg);overflow:hidden;background:var(--w-wash);box-shadow:inset 0 0 0 1px var(--w-line);color:inherit;text-decoration:none;transition:transform .6s var(--w-ease),box-shadow .6s var(--w-ease)}
.w-webinar:hover{transform:translateY(-3px)}
.w-webinar-thumb{position:relative;aspect-ratio:16/9;background:var(--w-navy)}
.w-webinar-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.w-webinar-tile{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(160deg,var(--w-navy) 0%,#2e6a85 100%)}
.w-webinar-tile .w-bb-mark{height:34px;width:auto;filter:brightness(0) invert(1)}
.w-webinar-tile small{font-size:.8rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--w-on-navy-muted)}
.w-webinar-badge{position:absolute;top:14px;left:14px;padding:6px 12px;border-radius:999px;background:var(--w-green);color:var(--w-navy);font-size:.78rem;font-weight:600}
.w-webinar-body{display:flex;flex-direction:column;flex:1;padding:clamp(20px,2.2vw,28px)}
.w-webinar h3{font-size:1.2rem!important;line-height:1.3;margin-bottom:10px}
.w-webinar p{font-size:.93rem;line-height:1.55;color:var(--w-text);margin:0 0 16px}

/* News: one row per item */
.w-press-list{display:grid;gap:14px}
.w-press{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:clamp(18px,2.4vw,36px);align-items:center;padding:clamp(20px,2.2vw,26px) clamp(22px,2.4vw,30px);border-radius:var(--w-radius);background:#fff;box-shadow:inset 0 0 0 1px var(--w-line);color:inherit;text-decoration:none}
.w-press:hover{background:var(--w-wash)}
.w-press-src{display:inline-flex;align-items:center;justify-self:start;padding:8px 13px;border-radius:999px;background:var(--w-soft);color:var(--w-navy);font-size:.82rem;font-weight:600;line-height:1.2}
.w-press h3{font-size:1.1rem!important;line-height:1.3;margin-bottom:6px}
.w-press p{font-size:.92rem;line-height:1.5;color:var(--w-text);margin:0}
.w-press .w-tile-link{margin:0;padding:0;white-space:nowrap}
.w-media-poster img{object-position:50% 20%}

/* Reviews: one member card for all five, video members get a play button */
.w-members{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.w-member{display:flex;flex-direction:column;margin:0;padding:10px;border-radius:var(--w-radius);background:#fff;box-shadow:inset 0 0 0 1px var(--w-line)}
.w-member-media{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--w-soft)}
.w-member-media img{display:block;width:100%;height:100%;object-fit:cover}
.w-member-media .w-play-square{right:10px;bottom:10px;width:48px;height:48px;border-radius:14px}
.w-member-media .w-play-square::before{border-width:8px 0 8px 13px;margin-left:3px}
.w-member blockquote{margin:16px 8px 10px}
.w-member blockquote p{font-size:.98rem;line-height:1.5;color:var(--w-navy);margin:0}
.w-member figcaption{display:flex;flex-direction:column;gap:2px;margin:auto 8px 6px;font-size:.84rem;color:var(--w-muted)}
.w-member figcaption strong{color:var(--w-navy);font-weight:600}
.w-member-link{display:inline-block;margin:10px 8px 4px;font-size:.9rem;font-weight:500;color:var(--w-navy)}
/* Google reviews: nine at a time, long ones clamped with a toggle */
.w-review.is-open .w-review-text{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
.w-review-expand{align-self:flex-start;margin:-4px 0 14px;padding:0;border:0;background:none;font:inherit;font-size:.88rem;font-weight:500;color:var(--w-blue-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.w-review-expand:hover{color:var(--w-navy)}
.w-reviews-more{display:flex;justify-content:center;margin-top:28px}
.w-reviews-count{font-weight:400;color:var(--w-muted)}

/* Navy bands: the theme's heading colour rule outranks the band's, so restate it here (restored 9 October; dropped
   by mistake on 7 October when the Reviews styles were rebuilt). */
.w-theme .w-navy .w-head h2,.w-theme .w-navy h3{color:#fff}
.w-theme .w-navy .w-head h2 .w-tone{color:var(--w-green)}

/* Careers and contact */
.w-jobs{min-height:220px;margin:0 0 20px;border-radius:var(--w-radius)}
.w-navy .w-direct,.w-navy .w-fine{color:var(--w-on-navy-muted)}
.w-ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1040px}
.w-way{display:flex;flex-direction:column;padding:clamp(26px,3vw,40px);border-radius:var(--w-radius-lg);background:var(--w-wash);box-shadow:inset 0 0 0 1px var(--w-line)}
.w-way h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)!important;margin-bottom:10px}
.w-way p{font-size:1rem;line-height:1.55;color:var(--w-text);margin:0 0 22px}
.w-way .w-actions{margin-top:auto}
.w-phone-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:28px 0 0;font-size:1.05rem;color:var(--w-text)}
.w-phone-line a{display:inline-flex;align-items:center;gap:8px;font-size:1.25rem;font-weight:600;color:var(--w-navy);text-decoration:none}
.w-phone-line a:hover{text-decoration:underline}
.w-phone-line a svg{width:20px;height:20px}
.w-phone-line span{flex-basis:100%;font-size:.9rem;color:var(--w-muted)}

@media (max-width:1120px){
  .w-people-page{grid-template-columns:repeat(4,minmax(0,1fr))}
  .w-logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .w-info-cards:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:940px){
  .w-info-cards,.w-posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .w-members{grid-template-columns:repeat(3,minmax(0,1fr))}
  .w-ways{grid-template-columns:1fr}
  .w-team-checks{grid-template-columns:1fr}
  .w-webinars{grid-template-columns:1fr}
  .w-press{grid-template-columns:1fr;gap:12px}
}
@media (max-width:680px){
  .w-info-cards,.w-info-cards:has(>:nth-child(4)),.w-posts{grid-template-columns:1fr}
  .w-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .w-member{padding:8px}.w-member blockquote{margin:12px 6px 8px}.w-member blockquote p{font-size:.9rem}.w-member figcaption,.w-member-link{margin-left:6px;margin-right:6px}
  .w-people-page{grid-template-columns:repeat(2,minmax(0,1fr))}
  .w-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .w-hero-plain .w-actions .w-btn{white-space:normal}
  .w-way .w-btn{width:100%;white-space:normal;padding:0 16px}
  body.w-theme main .w-hero-plain .container{padding:52px 20px 36px}
}
@media (max-width:1120px) and (min-width:941px){.w-members{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:359px){.w-logos,.w-members{grid-template-columns:1fr}}

/* ── home-page.css (staging wireframe) ── */
/* Homepage draft (home-page.js), 7 October. Sits on women-pages.css and more-pages.css. */

/* Hero: the plain gradient hero with the two route tiles inside it */
/* No breadcrumbs here, so the hero starts higher (Art, 9 October: too much space above the kicker and below the rating). */
body.w-theme .w-hero-home .container{padding-top:clamp(40px,4.5vw,64px);padding-bottom:clamp(28px,3vw,40px)}
.w-hero-home .w-hero-copy{max-width:46rem;margin:0 auto}
.w-hero-home .w-lead{max-width:38rem}
.w-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:clamp(32px,4vw,48px);text-align:left}
.w-route{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(250px,24vw,340px);padding:clamp(22px,2.4vw,30px) clamp(22px,2.4vw,30px) clamp(20px,2.2vw,26px);border-radius:var(--w-radius-lg);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;transition:transform .6s var(--w-ease),box-shadow .6s var(--w-ease)}
.w-route-women{background-color:#053f5c;background-image:linear-gradient(120deg,#053f5c 0%,#2f6f8c 100%)}
.w-route-men{background-color:#083146;background-image:linear-gradient(120deg,#083146 0%,#225a75 100%)}
.w-route:hover{transform:translateY(-4px);box-shadow:0 30px 56px -34px #053f5ccc}
.w-route::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 90% 62% at 50% 108%,rgba(165,219,115,.46) 0%,rgba(165,219,115,.14) 48%,rgba(165,219,115,0) 74%)}
.w-route-line{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.3;-webkit-mask-image:linear-gradient(180deg,transparent 22%,#000 58%);mask-image:linear-gradient(180deg,transparent 22%,#000 58%)}
.w-route-line path{fill:none;stroke:var(--w-green);stroke-width:2;stroke-dasharray:4 7;stroke-linecap:round}
.w-route-dot{fill:var(--w-green)}
.w-route-ring{fill:var(--w-green);opacity:.28}
.w-route-copy{position:relative;z-index:2;max-width:56%}
.w-route-kicker{display:inline-block;margin-bottom:8px;padding:6px 12px;border-radius:999px;background:#ffffff1f;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.w-route h2{font-size:clamp(1.35rem,1.05rem + 1vw,1.8rem)!important;line-height:1.15;margin:0;color:#fff}
.w-route h2 .w-tone{display:inline;color:var(--w-green)}
.w-route-link{position:relative;z-index:2;font-size:.95rem;font-weight:500;color:#fff;max-width:56%}
.w-route-chev{position:absolute;right:clamp(18px,2vw,26px);bottom:clamp(16px,1.8vw,22px);z-index:2;font-size:1.8rem;line-height:1;color:#fff;transition:transform .5s var(--w-ease)}
.w-route:hover .w-route-chev{transform:translateX(4px)}
.w-route-fig{position:absolute;z-index:1;bottom:0;right:clamp(28px,5%,56px);height:90%;width:auto;filter:drop-shadow(0 14px 24px #00000055)}
.w-route-women .w-route-fig{right:clamp(40px,9%,90px)}
.w-route-men .w-route-fig{right:clamp(10px,3%,30px)}
.w-route-men .w-route-copy,.w-route-men .w-route-link{max-width:52%}
.w-home-proof{margin:clamp(22px,2.6vw,30px) 0 0;text-align:center}

/* Split: steps card and review carousel */
.w-home-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:22px;align-items:stretch}
.w-home-card{display:flex;flex-direction:column;padding:clamp(26px,3vw,44px);border-radius:var(--w-radius-lg)}
.w-home-steps{background-color:var(--w-navy);background-image:linear-gradient(160deg,var(--w-navy) 0%,#2e6a85 100%);color:var(--w-on-navy)}
.w-home-steps h2,.w-home-steps h3{color:#fff}
.w-home-steps h2 .w-tone{color:var(--w-green)}
.w-home-card-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.w-home-steps .w-home-card-kicker{color:var(--w-green)}
.w-home-step-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:18px}
.w-home-step-list li{display:flex;gap:14px;align-items:flex-start}
.w-home-step-n{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--w-green);color:var(--w-navy);font-size:.9rem;font-weight:600}
.w-home-step-list h3{font-size:1.05rem!important;margin:4px 0 4px}
.w-home-step-list p{font-size:.93rem;line-height:1.5;color:var(--w-on-navy);margin:0;opacity:.92}
.w-home-price{margin:24px 0 0;padding-top:18px;border-top:1px solid #ffffff2e;font-size:.9rem;line-height:1.5;color:#d5e4ec}
.w-home-steps .w-actions{margin-top:22px}
.w-home-reviews{background:var(--w-wash);box-shadow:inset 0 0 0 1px var(--w-line)}
.w-home-reviews .w-home-card-kicker{color:var(--w-blue-text)}
.w-home-reviews .w-stars{font-size:1rem;color:var(--w-navy)}
.w-home-quotes{flex:1;display:flex}
.w-home-quote{display:flex;flex-direction:column;margin:0;width:100%}
.w-home-quote p{font-size:clamp(1.3rem,1.05rem + .9vw,1.9rem);line-height:1.3;letter-spacing:-.015em;color:var(--w-navy);margin:0 0 22px;font-weight:500;text-wrap:pretty}
.w-home-quote footer{display:flex;align-items:center;gap:12px;margin-top:auto;font-size:.86rem;color:var(--w-muted)}
.w-home-quote footer span{display:flex;flex-direction:column}
.w-home-quote footer strong{color:var(--w-navy);font-weight:600}
.w-home-carousel-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:26px;padding-top:20px;border-top:1px solid var(--w-line)}
.w-home-carousel-nav{display:flex;gap:8px}
.w-home-arrow{width:42px;height:42px;border-radius:50%;border:1px solid #b7c9d2;background:#fff;color:var(--w-navy);font-size:1.4rem;line-height:1;cursor:pointer;transition:background .25s,border-color .25s}
.w-home-arrow:hover{background:var(--w-soft);border-color:var(--w-navy)}
.w-home-dots{display:flex;gap:8px}
.w-home-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#c7d6de;cursor:pointer}
.w-home-dots button[aria-selected="true"]{background:var(--w-navy)}
.w-home-carousel-bar .w-link{margin-left:auto;font-size:.9rem}

/* Bento: the live homepage's four tinted cards */
.w-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.6vw,24px);max-width:1040px;margin:0 auto}
.w-bento-card{display:flex;flex-direction:column;border-radius:var(--w-radius-lg);overflow:hidden}
.w-bento-cream{background:linear-gradient(135deg,#f5efe6 0%,#ede5d8 100%)}
.w-bento-peach{background:linear-gradient(135deg,#fbe3ce 0%,#f2d5bd 100%)}
.w-bento-blue{background:linear-gradient(135deg,#e5edf1 0%,#d6e2ea 100%)}
.w-bento-mint{background:linear-gradient(135deg,#e2eed9 0%,#d2e4c5 100%)}
.w-bento-media{position:relative;aspect-ratio:16/11;overflow:hidden;border-radius:var(--w-radius-lg)}
.w-bento-media img{display:block;width:100%;height:100%;object-fit:cover}
.w-bento-media .w-bento-photo{position:absolute;inset:0;margin:0;border-radius:0;background:none}
.w-bento-photo img[src*="women-considering-hero"]{object-position:70% 40%}
.w-bento-cluster{display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fbe3ce 0%,#e5edf1 100%)}
.w-bento-avatars{position:relative;width:min(72%,420px);aspect-ratio:420/240}
.w-bento-avatars img{position:absolute;width:var(--d);height:auto;aspect-ratio:1/1;border-radius:50%;object-fit:cover;background:#fff;border:4px solid #fff;box-shadow:0 12px 32px #053f5c2e}
.w-bento-avatars img:nth-child(1){--d:36%;left:32%;top:14%;z-index:6}
.w-bento-avatars img:nth-child(2){--d:22%;left:4%;top:38%;z-index:5}
.w-bento-avatars img:nth-child(3){--d:25%;left:14%;top:-4%;z-index:4}
.w-bento-avatars img:nth-child(4){--d:24%;left:64%;top:-6%;z-index:3}
.w-bento-avatars img:nth-child(5){--d:25%;left:76%;top:34%;z-index:2}
.w-bento-avatars img:nth-child(6){--d:21%;left:42%;top:74%;z-index:1}
.w-bento-body{padding:22px 28px 28px}
.w-bento-body h3{font-size:1.2rem!important;margin-bottom:8px}
.w-bento-body p{font-size:.95rem;line-height:1.55;color:var(--w-text);margin:0;max-width:60ch}
#why .w-fine{max-width:1040px;margin:22px auto 0}
.w-head.w-centre .w-kicker{justify-content:center}

@media (max-width:1120px){
  .w-route-copy,.w-route-link{max-width:60%}
}
@media (max-width:940px){
  .w-home-split{grid-template-columns:1fr}
  .w-routes{grid-template-columns:1fr}
  .w-route{min-height:240px}
  .w-route-copy,.w-route-link{max-width:62%}
}
@media (max-width:680px){
  .w-bento{grid-template-columns:1fr}
  .w-route{min-height:230px;padding:20px}
  .w-route-fig{right:8px;height:88%}
  .w-route-women .w-route-fig{right:14px}
  .w-route-men .w-route-fig{right:0}
  .w-route-men .w-route-copy,.w-route-men .w-route-link{max-width:62%}
  .w-route-copy,.w-route-link{max-width:64%}
  .w-route h2{font-size:1.2rem!important}
  .w-home-carousel-bar .w-link{margin-left:0;flex-basis:100%}
}
@media (max-width:420px){
  .w-route-fig{height:78%}
  .w-route-copy,.w-route-link{max-width:66%}
}
@media (max-width:360px){
  .w-route-fig,.w-route-women .w-route-fig,.w-route-men .w-route-fig{height:58%;right:0}
  .w-route-copy,.w-route-link,.w-route-men .w-route-copy,.w-route-men .w-route-link{max-width:58%}
  .w-route h2{font-size:1.1rem!important}
}
