:root{--forest:var(--fw-forest-950);--green:var(--fw-forest-800);--accent:var(--fw-accent);--cream:var(--fw-cream-100);--ink:var(--fw-ink);--line:var(--fw-border-decorative);--pad:clamp(24px,5vw,90px);--focus:var(--forest)}
/* Focus ring colour follows the surface it is drawn on: forest on cream and white, cream on forest and green. */
.dark,.green,.masthead,.notice,.quick-footer,.skip{--focus:var(--cream)}.gather-card{--focus:var(--forest)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.5 Barlow,sans-serif}body.modal-open{overflow:hidden}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.15}h2{font-size:52px}h3{font-size:30px}h4{font-size:28px}p{margin-bottom:24px}img{display:block;width:100%;object-fit:cover}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{min-height:52px;border:1px solid transparent;border-radius:2px;padding:13px 24px;font-size:16px;font-weight:600;line-height:1.4;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}button:hover,.button:hover{filter:brightness(.92)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button:disabled{cursor:default}a:not(.button):hover{text-decoration:underline}.primary{background:var(--accent);color:var(--forest)}.outline{background:transparent;color:inherit;border-color:currentColor}.actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:34px}.dark{background:var(--forest);color:var(--cream)}.green{background:var(--green);color:var(--cream)}.section-pad{padding:80px var(--pad)}.eyebrow{text-transform:uppercase;font-size:14px;letter-spacing:1.1px;font-weight:600;color:#2d7146;margin-bottom:24px}.dark .eyebrow,.green .eyebrow{color:var(--accent)}.script{font-family:Yellowtail,cursive;font-weight:400;font-size:100px;line-height:1.1;margin-bottom:24px}.lead{font-size:22px;line-height:1.5}.muted{color:#c2cec3;font-size:17px}.masthead{height:96px;position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:26px;padding:14px 36px;background:var(--forest);color:var(--cream)}.brand{margin-right:auto;flex-shrink:0}.brand img{width:98px;height:68px;object-fit:contain}.masthead nav{display:flex;gap:26px}.masthead nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.8px;font-weight:600;font-size:14px;display:flex;align-items:center;min-height:44px}.login{background:none;color:var(--accent);padding:10px}.header-book{min-width:174px}.mobile-menu,.mobile-label{display:none}.hero{position:relative;height:640px;background:var(--forest)}.hero>img{height:100%}.intro{min-height:560px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;column-gap:9%}.intro-labels{grid-area:1/1;max-width:510px}.intro h1{grid-area:1/2/3/3}.intro-copy{grid-area:2/1}.intro h1{font-size:78px;font-weight:500;letter-spacing:-1px;white-space:nowrap}.intro h1 span{display:block;font:92px/1.15 Yellowtail,cursive;color:var(--accent)}.intro-copy{max-width:510px}.intro .intro-location{margin-bottom:8px}.play{display:grid;grid-template-columns:43% 57%;min-height:1050px}.play-photo{height:100%;min-height:1050px}.play-copy{padding:62px 9% 70px 10%}.facts-label{margin-top:52px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:24px}.facts>div{background:var(--cream);color:var(--ink);padding:22px;min-height:126px}.facts h3{font-size:27px;margin-bottom:14px}.facts p{font-size:16px;margin:0}.technology{font-size:28px;margin:50px 0 20px}.learn{display:grid;grid-template-columns:1fr 1.08fr;gap:5%;align-items:start}.card{padding:28px;background:#fff;border:1px solid #ddd6ca;margin-top:24px}.card h3{margin-bottom:22px}.card p{font-size:17px;line-height:1.55}.card.dark{background:var(--forest);color:var(--cream);border-color:var(--forest)}.card.green{background:var(--green);color:var(--cream);border-color:var(--green)}.evaluation h3{font-size:40px}.card .actions{gap:14px}.card .actions button{padding:13px 18px}.coaches{padding-top:36px}.coaches-intro>p{font-size:16px;margin-top:18px;margin-bottom:24px}.coach{min-height:0}.coach>p:last-child{margin-bottom:0}.learn-intro>.lead{margin-bottom:0}@media(min-width:601px){.learn{column-gap:5%;row-gap:24px;grid-template-areas:"heading heading" "intro coaches-intro" "evaluation max" "options alegra"}.learn-column,.coaches{display:contents}.learn-intro{grid-area:intro}.learn-heading{grid-area:heading}.learn-heading .script{margin-bottom:0}.coaches-intro{grid-area:coaches-intro;align-self:start}.coaches-intro>p{margin-bottom:0}.learn .evaluation{grid-area:evaluation}.learn-options{grid-area:options}.coaches>.coach:not(.green){grid-area:max}.coaches>.coach.green{grid-area:alegra}.learn .card{margin-top:0;align-self:start}}.coach-heading{display:flex;gap:28px;align-items:center;margin-bottom:32px}.coach-heading .eyebrow{font-size:13px;margin:12px 0 0}.coach .coach-heading{display:flex;gap:20px;margin-bottom:24px;align-items:center}.coach-heading>div{min-width:0}.coach .coach-portrait{width:96px;height:120px;flex-shrink:0;object-fit:cover;border-radius:2px}@media(max-width:1000px){.coach .coach-heading{gap:16px}.coach .coach-portrait{width:80px;height:100px}.coach .coach-heading h4{font-size:25px}}.monogram{display:grid;place-items:center;border-radius:50%;width:84px;height:84px;flex-shrink:0;background:var(--accent);color:var(--forest);font-weight:600;font-size:26px}.green .monogram{background:var(--cream)}.stay{display:grid;grid-template-columns:37.5% 62.5%}.stay-copy{padding:58px 13% 70px}.stay-copy h3{font-size:31px;margin-bottom:26px}.stay-copy p{font-size:19px}.stay-photo{height:100%;min-height:600px}.panorama{grid-column:1/-1;position:relative}.panorama img{height:340px}.panorama figcaption{position:absolute;bottom:0;right:0;background:#0b241acc;padding:16px 30px;font-size:13px}.gallery{display:grid;grid-template-columns:1fr 1.08fr;gap:32px;min-height:820px}.gallery h2{margin-bottom:20px}.gallery p{font-size:19px}.gallery .outline{margin-top:24px}.photo-button{display:block;border:0;padding:0;width:100%;background:transparent;min-width:0}.photo-button img{height:330px}.gather{min-height:900px;padding-bottom:90px}.gather>img{height:610px;object-position:50% 92%}.gather-card{position:relative;margin:-220px 0 0 var(--pad);max-width:650px;padding:46px 48px;background:var(--cream);color:var(--ink)}.gather-card .eyebrow{color:#2d7146}.gather-card .script{font-size:82px;margin-bottom:22px}.belong{display:grid;grid-template-columns:1fr 1fr;gap:5%}.belong h3{font-size:46px;margin:12px 0 28px}.belong p:not(.eyebrow){font-size:20px}.belong .actions{margin-top:60px}.visit{display:grid;grid-template-columns:1fr 1.08fr;gap:7%;align-items:start}.visit h2{font-size:56px;margin-bottom:24px}.visit .lead{margin-bottom:48px}.visit .contact{margin:0;padding:40px}.contact h3{font-size:34px;margin-bottom:34px}.contact a{display:block;width:fit-content;font-size:22px;text-decoration:none;min-height:44px}.contact p{margin:32px 0 0}.footer-top{display:flex;gap:80px;align-items:center}.footer-top img{width:130px;height:90px;object-fit:contain}.footer-top p{font-size:28px;max-width:620px;margin:0}.preview{font-size:14px;color:#b9c6bd;margin:90px 0 0}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--cream);padding:16px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
dialog{color:var(--ink);background:var(--cream);border:0;border-radius:4px;padding:0 40px 40px;width:720px;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#04160edb}.dialog-toolbar{display:flex;justify-content:flex-end;position:sticky;top:0;background:var(--cream);padding:14px 0;z-index:2}.dialog-toolbar button{min-height:44px;padding:8px 16px}dialog h2{font-size:42px;margin-bottom:20px}dialog .eyebrow{margin-bottom:20px}dialog .subtitle{margin-bottom:36px}fieldset{border:0;padding:0;margin:28px 0}legend{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#2d7146;margin-bottom:18px}.choices{display:flex;flex-wrap:wrap;gap:14px}.choice{flex:1;position:relative;min-width:100px}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:flex;min-height:48px;align-items:center;justify-content:center;text-align:center;border:1px solid var(--fw-border-strong);border-radius:30px;padding:10px;background:white;font-weight:600;font-size:16px}.choice input:checked+span{background:var(--forest);border-color:var(--forest);color:var(--cream)}.choice input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.field{display:flex;flex-direction:column;gap:8px;background:white;border:1px solid var(--fw-border-strong);padding:12px 14px;min-width:0}.field>span{font-size:13px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#2d7146}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:36px;border:0;background:white;color:var(--ink);border-radius:0}.field textarea{min-height:110px;resize:vertical}.wide{grid-column:1/-1}.notice{background:var(--green);color:var(--cream);padding:22px;margin:28px 0}.notice h3{font-size:20px;color:var(--accent);margin-bottom:12px}.notice p{font-size:16px;margin:0}.flow-note{font-size:14px;margin-top:24px}.preview-note{font-size:15px;line-height:1.45;margin:24px 0;padding:2px 0 2px 14px;border-left:3px solid #2d7146}.error{color:var(--fw-danger);font-weight:600}.handoff h2:focus{outline:none}[hidden]{display:none!important}.navigation-links{display:grid;gap:4px}.navigation-links a{padding:12px 0;min-height:48px;font-size:28px;border-bottom:1px solid var(--line);text-decoration:none}.gallery-view img{height:340px;max-height:50vh;object-fit:contain;background:var(--forest)}.gallery-view figcaption{margin-top:14px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0}.menu-image{height:240px;margin:26px 0}
@media(min-width:1600px){main>:where(:not(#gallery)),footer{max-width:1800px;margin-inline:auto}.intro h1{font-size:86px}}
/* Round 8 (FEEDBACK-ROUND7 item 6): above 1600 px the content stays capped at 1800 px, but dark and green bands (and the
   hero surround and dark footer) paint edge to edge: a 100vmax box-shadow in the band colour, clipped to the band's own
   height so nothing overlaps the neighbouring sections and no horizontal overflow is created. */
@media(min-width:1600px){main>.dark,main>.green,main>.hero,footer.dark{clip-path:inset(0 -100vmax)}main>.dark,main>.hero,footer.dark{box-shadow:0 0 0 100vmax var(--forest)}main>.green{box-shadow:0 0 0 100vmax var(--green)}}
@media(max-width:1150px){.masthead{gap:16px;padding-inline:24px}.masthead nav{gap:16px}.masthead .header-book{min-width:130px}.intro h1{font-size:58px}.intro h1 span{font-size:68px}.play-copy{padding:50px 7%}.facts{gap:16px}.facts>div{padding:16px}.learn{column-gap:4%}.coach-heading{gap:16px}.monogram{width:64px;height:64px}.stay-copy{padding:50px 9%}.belong h3{font-size:38px}}
@media(max-width:900px){.masthead nav,.masthead .login{display:none}.mobile-menu{display:inline-flex}.intro{column-gap:5%}.intro h1{font-size:46px}.intro h1 span{font-size:58px}.lead{font-size:20px}.play{grid-template-columns:40% 60%}.facts{grid-template-columns:1fr}.play-photo{min-height:100%}.learn{grid-template-columns:1fr 1fr}.coach-heading{display:block}.monogram{margin-bottom:18px}.stay{grid-template-columns:1fr 1fr}.stay-copy h3{font-size:26px}.gallery h2{font-size:40px}.belong h3{font-size:34px}.visit{gap:5%}.visit h2{font-size:44px}.visit .contact{padding:24px}.contact a{font-size:18px}.section-pad{padding-block:64px}}
@media(max-width:600px){:root{--pad:16px}html{scroll-padding-top:88px}.masthead{height:72px;padding:9px 16px;gap:8px}.brand img{width:78px;height:54px}.masthead button{min-height:48px;padding:10px 14px}.masthead .header-book{min-width:80px}.desktop-label{display:none}.mobile-label{display:inline}.hero{height:340px}.intro{display:flex;flex-direction:column;min-height:640px;padding:42px 16px 80px;gap:0}.intro-copy{display:contents}.intro .eyebrow{font-size:13px}.intro h1{font-size:46px;white-space:normal;margin:10px 0 30px;letter-spacing:0}.intro h1 span{font-size:58px}.intro .lead{font-size:19px}.actions{gap:16px}.intro .actions,.belong .actions{flex-direction:column}.intro .actions{margin-top:10px}.play{display:block}.play-photo{height:430px;min-height:0}.play-copy{padding:42px 16px 60px}.script{font-size:74px}.play .actions{flex-direction:column}.play .actions .outline{display:none}.facts-label{margin-top:38px}.facts{gap:24px}.facts>div{min-height:108px;padding:18px}.facts h3{font-size:23px}.technology{font-size:25px;margin-top:32px}.learn{display:block;padding:42px 16px 70px}.learn-heading{margin-bottom:24px}.learn .lead{font-size:18px}.card{padding:24px 20px}.evaluation{margin-top:24px;padding-block:30px}.evaluation h3{font-size:31px}.evaluation button{width:100%;margin-top:8px;padding-inline:12px}.card h3{font-size:26px}.card .actions{flex-direction:column;margin-top:32px}.coaches{padding-top:28px}.coaches-intro>h3{font-size:26px}.coaches-intro>p{margin-bottom:24px}.coach-heading{display:flex}.coach-heading h4{font-size:27px}.monogram{display:none}.coach-heading .eyebrow{font-size:12px}.stay{display:flex;flex-direction:column}.stay-photo{order:0;height:350px;min-height:0}.stay-copy{order:1;padding:42px 16px}.stay-copy h3{font-size:28px}.stay-copy p{font-size:18px}.stay-copy button{width:100%;margin-top:20px}.panorama{order:2;margin:0 16px 34px}.panorama img{height:250px}.panorama figcaption{position:static;background:none;padding:16px 0 0;font-size:13px}.gallery{display:flex;flex-direction:column;padding:42px 16px 70px;gap:24px}.gallery h2{font-size:38px}.gallery .outline{width:100%;margin:12px 0 12px}.gallery .photo-button img{height:280px}.gallery-room{display:none}.gather{min-height:0;padding-bottom:60px}.gather>img{height:350px;object-position:88% 50%}.gather-card{margin:0;max-width:none;padding:42px 16px;background:var(--forest);color:var(--cream);--focus:var(--cream)}.gather-card .eyebrow{color:var(--accent)}.gather-card .script{font-size:74px}.gather-card button{width:100%;margin-top:32px}.belong{display:block;padding:48px 16px 80px}.belong h3{font-size:30px}.belong p:not(.eyebrow){font-size:18px}.belong .actions{margin-top:40px}.visit{display:block;min-height:0;padding:48px 16px 70px}.visit h2{font-size:39px}.visit .lead{font-size:21px;margin-bottom:34px}.visit .actions{display:grid;grid-template-columns:1fr 1fr}.visit .actions .primary{grid-column:1/-1}.visit .contact{margin-top:32px}.contact h3{font-size:28px}.contact a{font-size:20px}footer.section-pad{padding:40px 16px}.footer-top{display:block}.footer-top img{width:100px;height:69px}.footer-top p{font-size:23px;margin-top:30px}.preview{margin-top:50px;font-size:13px}dialog{padding:0 20px 28px;max-width:calc(100% - 16px);max-height:calc(100dvh - 16px)}dialog h2{font-size:34px}.fields{grid-template-columns:1fr;gap:18px}.choices{gap:12px}.choice{min-width:calc(50% - 12px)}dialog .actions{flex-direction:column}dialog .actions button{width:100%}.gallery-view img{height:250px}.gallery-controls button{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Quick pick is selected once on opening; these rules remain usable after resize. */
dialog.quick-pick{width:430px;height:828px;max-height:calc(100dvh - 16px);padding:0;overflow:hidden}
.quick-pick[open]{display:flex;flex-direction:column}
.quick-pick .dialog-toolbar{flex:none;padding:8px 16px}
.quick-pick #dialog-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}
.quick-pick h2{font-size:30px;letter-spacing:-.5px;margin-bottom:8px}
.quick-pick .eyebrow{font-size:12px;margin-bottom:10px}
.quick-pick .subtitle{font-size:16px;margin-bottom:16px;color:#45604e}
.quick-form{display:flex;flex-direction:column;flex:1;min-height:0}
.quick-fields,.quick-review{padding:8px 20px 4px;overflow:auto;min-height:0;flex:1;scroll-padding-block:12px}
.quick-pick button,.quick-pick input{min-height:44px;min-width:44px;font-size:16px;scroll-margin-block:12px}
.quick-pick button{padding:9px 4px}
.quick-date{display:block;font-size:15px;font-weight:600}
.quick-date input{display:block;width:100%;min-width:0;min-height:48px;background:transparent;border:1px solid var(--fw-border-strong);border-radius:2px;padding:8px 12px;color:var(--ink);margin-top:6px}
.quick-pick fieldset{margin:12px 0}
.quick-pick legend{font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink);margin-bottom:6px}
.quick-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.quick-group button{background:transparent;color:var(--forest);border-color:var(--line)}
.quick-group [aria-pressed=true]{background:var(--forest);color:var(--cream);border-color:var(--forest);box-shadow:inset 0 -3px var(--accent)}
.quick-times{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Chips are 6px apart: keep the whole ring inside the cream gap so a selected neighbour never hides it. */
.quick-group button:focus-visible{outline-offset:1px}
.quick-time-section{position:relative}
.quick-time-section legend{margin-bottom:34px}
.quick-example{position:absolute;top:25px;left:0;font-size:13px;color:#45604e;margin:0;pointer-events:none}
.quick-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:#45604e}
.quick-toolbar button{background:transparent;color:var(--forest);text-decoration:underline;padding-inline:8px}
.quick-footer{flex:none;background:var(--forest);color:var(--cream);padding:12px 20px max(12px,env(safe-area-inset-bottom));font-size:14px}
.quick-footer p{margin:0 0 8px;line-height:1.4}
.quick-footer .primary{width:100%}
.quick-footer #quick-error{background:var(--cream);color:var(--fw-danger);padding:8px;font-size:16px;font-weight:600}
.quick-footer #quick-error:empty{display:none}
.quick-review dl{margin:24px 0;border-top:1px solid var(--line);font-size:16px}
.quick-review dl div{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.quick-review dd{margin:0;text-align:right;font-weight:600}
.quick-review>p:not(.eyebrow):not(.subtitle){font-size:16px}
.quick-pick #dialog-content:has(>.notice){padding:8px 20px 24px;display:block}

/* One connected Visit section; social links belong to the compact footer. */
.visit.visit-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:36px 72px;padding-block:64px}
.visit-layout .eyebrow{margin:0 0 20px}
.visit-layout h2{font-size:clamp(28px,2.4vw,32px);line-height:1.2;margin-bottom:8px;letter-spacing:0}
.visit-layout .lead{margin-bottom:28px}
.visit-layout .contact{padding:0;margin:0;background:none;border:0}
.visit-layout .contact h3{font-size:28px;line-height:1.2;margin:0 0 20px}
.visit-layout .contact a{display:flex;justify-content:space-between;gap:16px;align-items:center;width:100%;min-height:52px;padding-block:10px;border-bottom:1px solid var(--line);font-size:21px;text-decoration:none;overflow-wrap:anywhere}
.visit-layout .contact a:hover{text-decoration:underline}
.visit-access{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;gap:72px;border-top:1px solid var(--line);padding-top:28px}
.visit-access h3{font-size:20px}
.visit-access p{font-size:16px;line-height:1.55;margin:0;max-width:560px}
footer.site-footer{padding-block:32px}
.footer-main{display:grid;grid-template-columns:104px 1fr auto;gap:36px;align-items:center}
.footer-main img{width:104px;height:72px;object-fit:contain}
.footer-main>p{font-size:22px;line-height:1.4;max-width:440px;margin:0}
.footer-main nav{display:flex;gap:24px}
.footer-main .social-link{display:inline-flex;align-items:center;min-height:44px;font-size:16px;text-underline-offset:5px}
.site-footer .preview{margin:24px 0 0;padding-top:18px;border-top:1px solid #395344;font-size:13px;line-height:1.5}
@media(max-width:900px){.visit.visit-layout{gap:32px 40px;padding-block:48px}.visit-access{grid-template-columns:180px 1fr;gap:40px}.footer-main{grid-template-columns:104px 1fr;gap:16px 28px}.footer-main nav{grid-column:2}}
@media(max-width:600px){.visit.visit-layout{grid-template-columns:1fr;gap:36px;padding-block:42px}.visit-layout .contact h3{font-size:26px}.visit-layout .contact a{font-size:20px}.visit-access{grid-template-columns:1fr;gap:12px;padding-top:24px}.visit-layout .visit-address>.button{width:100%}.footer-main{grid-template-columns:72px 1fr;gap:16px 20px}.footer-main img{width:72px;height:50px}.footer-main>p{font-size:18px}.footer-main nav{grid-column:1/-1;gap:24px}.site-footer .preview{margin-top:16px;padding-top:16px}footer.site-footer{padding-block:24px}}


/* Curated private review: bounded source previews; no invented large derivatives. */
.hero>img{object-position:50% 55%}
.play-photo{object-position:0% 55%}
@media(max-width:600px){.play-photo{object-position:42% 55%}}
.stay-photo{object-position:50% 58%}
.panorama img{height:auto;aspect-ratio:1000/478;object-fit:contain}
/* Keep the tight social composition whole, clear of the event copy. */
.gather{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:0;padding:60px var(--pad);gap:40px}
.gather>img{height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center}
.gather-card{margin:0;max-width:none;padding:36px}
@media(max-width:900px){.gather{grid-template-columns:1fr;padding:0 0 60px;gap:0}.gather-card{margin:0 var(--pad)}}
@media(max-width:600px){.stay-photo{object-position:55% 58%}.gather-card{margin:0;padding:42px 16px}.panorama img{height:auto}.gather>img{height:auto;object-position:center}}

.feedback-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.feedback-offers .card{margin:0}.feedback-offers h2{font-size:36px;margin-bottom:24px}.feedback-offers p{margin-top:18px}@media(max-width:1000px){.feedback-offers{grid-template-columns:1fr}}

.event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:48px}.event-list .card{margin:0}.event-list p{margin-top:18px}@media(max-width:700px){.event-list{grid-template-columns:1fr}}

/* Nov 4 round: full-resolution derivatives, hero art direction, Gather DSC07764, direct menu link. */
.hero picture{display:block;height:100%}
.hero img{height:100%}
@media(max-width:600px){.hero img{object-position:50% 55%}}
.panorama img{aspect-ratio:4888/2340}
.gather>img{aspect-ratio:7032/5760;object-fit:cover;object-position:50% 50%}
.gather-card .actions{margin-top:28px}
.stay-copy .menu-link{margin-top:8px}
@media(max-width:600px){.stay-copy .menu-link{width:100%;margin-top:20px}.gather-card .actions{flex-direction:column;margin-top:32px}.gather-card .actions>*{width:100%;margin-top:0}}
.gallery-view figcaption{display:none}

/* Nov 4 round: Learn imagery, photo-led Events, private-events landing page. */
main>header.dark h1{font-size:64px;margin-bottom:16px}
.learn-page{display:grid;gap:64px}
.learn-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.learn-offer{margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden}
.learn-offer>img{aspect-ratio:3/2;height:auto;object-position:50% 40%}
.learn-offer-body{padding:28px 32px 32px;display:flex;flex-direction:column;flex:1}
.learn-offer-body h2{font-size:36px;margin-bottom:8px}
.learn-offer-body p,.learn-offer-body ul{margin-top:14px;font-size:17px;line-height:1.55}
.learn-offer-body ul{padding-left:20px}
.learn-offer-body .actions{margin-top:auto;padding-top:24px}
.learn-offer .eyebrow{margin-bottom:0}
.clinics-heading{max-width:720px;margin-bottom:24px}
.clinics-heading h2{font-size:44px;margin-bottom:10px}
.clinics-heading .eyebrow{margin-bottom:12px}
.clinic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.clinic{margin:0;display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:28px;align-items:start}
.clinic>img{aspect-ratio:4/5;height:auto;object-fit:cover;border-radius:2px}
.clinic h3{font-size:26px;margin-bottom:12px}
.clinic .actions{margin-top:22px}
.clinic-note{margin-top:20px}
.learn-coaches header{margin-bottom:24px}
.learn-coaches h2{font-size:44px;margin-bottom:10px}
.learn-coach-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.learn-coach-list .card{margin:0}
.coach-heading{display:flex;gap:20px;align-items:center;margin-bottom:18px}
.learn-coach-list .coach-portrait{width:96px;height:120px;object-fit:cover}
@media(max-width:1000px){.learn-offers,.clinic-list,.learn-coach-list{grid-template-columns:1fr}}
@media(max-width:700px){.clinic{grid-template-columns:120px 1fr;gap:18px}.clinic h3{font-size:22px}}
@media(max-width:600px){main>header.dark h1{font-size:44px}.learn-page{gap:48px}.learn-offer-body{padding:22px 20px 24px}.learn-offer-body h2{font-size:30px}.clinic{grid-template-columns:1fr}.clinic>img{width:min(100%,320px)}.learn-coach-list .coach-portrait{width:80px;height:100px}.learn-offer-body .actions button,.clinic .actions button{width:100%}}

.learn-offer:first-child>img{object-position:50% 8%}
/* Nov 4 follow-up: Play "Good to know" (same facts as the booking pop-up) */
.good-to-know{margin-top:44px;max-width:640px}
.good-to-know h3{font-size:24px;margin-bottom:12px}
.good-to-know ul{list-style:none;margin:0;padding:0}
.good-to-know li{padding:12px 0;border-top:1px solid rgba(244,240,231,.28);font-size:17px;line-height:1.45}
.good-to-know li:last-child{border-bottom:1px solid rgba(244,240,231,.28)}
@media(max-width:600px){.good-to-know{margin-top:34px}.good-to-know h3{font-size:22px}.good-to-know li{font-size:16px;padding:11px 0}}
/* Correction 2 (Nov 4): /events = Figma 03 "Poster agenda", /private-events = Figma 05 "Plan your date"
   (file LVdRCEsKVrpiFygQjbpIvx). Tokens from the Figma build: cream2 #e8e1d4, sub #4c5c52, accent-dark #2d7146,
   cork #c78658, muted #a8b5aa. Replaces the W1 events/private-events rules. */
.masthead nav a[aria-current=page]{color:var(--accent)}
.ev,.pe{--evx:clamp(24px,5.56vw,80px);--sub:#4c5c52;--cream2:#e8e1d4;--accd:#2d7146}
.ev p,.pe p{margin:0}
.ev-hero{display:grid;grid-template-columns:47.2% minmax(0,1fr);min-height:520px}
.ev-hero-photo{grid-column:2;grid-row:1;height:100%;min-height:520px}
.ev-hero-copy{grid-column:1;grid-row:1;padding:72px var(--evx) 56px;display:flex;flex-direction:column;justify-content:flex-end;gap:12px}
.ev-hero .eyebrow,.pe-hero .eyebrow{margin:0;font-size:13px;letter-spacing:1.6px}
.ev-hero h1{font-size:88px;line-height:90px;font-weight:400}
.ev-hero .script{font-size:66px;line-height:74px;color:var(--accent);margin:0}
.ev-lead{font-size:19px;line-height:28px;max-width:520px}.ev-lead-short{display:none}
.ev-filterbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px var(--evx);background:var(--cream2)}
.ev-chips{display:flex;gap:10px;min-width:0}
.ev-chip,.chip{min-height:44px;padding:0 16px;border-radius:22px;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:500;line-height:20px;gap:8px;white-space:nowrap}
.ev-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.ev-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%}
.ev-countrow{display:flex;align-items:center;gap:16px;flex:none}
.ev-count{font-size:16px;font-weight:600;color:var(--sub)}
.ev-clear{min-height:44px;padding:0 4px;background:none;color:var(--accd);font-size:15px}
.ev-body{padding:24px var(--evx) 0}
.ev-group-head{display:flex;align-items:flex-end;gap:16px;padding:40px 0 12px;border-bottom:1px solid rgba(16,33,24,.5)}
.ev-group-head h2{font-size:34px;line-height:40px}
.ev-range{font-size:18px;line-height:30px;color:var(--sub)}
.ev-rows{list-style:none;margin:0;padding:0}
.ev-row{border-bottom:1px solid var(--line)}
.ev-date time{display:flex;flex-direction:column}
.ev-dd{font-size:84px;line-height:84px;font-weight:700}
.ev-wm{font-size:14px;line-height:18px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--accd)}
.ev-feature{display:grid;grid-template-columns:120px 220px minmax(0,1fr);gap:36px;align-items:start;padding:28px 0}
.ev-poster{width:220px;height:275px;border-radius:4px}
.ev-feature .ev-info{display:flex;flex-direction:column;gap:10px}
.ev-kicker{display:flex;align-items:center;gap:8px;font-size:13px;line-height:18px;letter-spacing:1.6px;text-transform:uppercase;font-weight:600;color:var(--accd)}
.ev-kicker .ev-dot{width:9px;height:9px}
.ev-feature h3{font-size:36px;line-height:42px}
.ev-when{font-size:19px;line-height:26px;font-weight:600;color:var(--accd)}
.ev-who{font-size:16px;line-height:24px;color:var(--sub)}
.ev-desc{font-size:18px;line-height:27px}
.ev-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:8px}
.ev .button,.ev button.outline,.pe .button{min-height:48px;padding:0 22px;font-size:16px}
.ev .outline,.pe .outline{border-width:1.5px}
.ev-short,.ev-chev,.ev-band-m{display:none}
.ev-repeat{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:36px;align-items:center;padding:18px 0}
.ev-repeat .ev-dd{font-size:40px;line-height:44px}.ev-repeat .ev-wm{font-size:12px}
.ev-repeat .ev-info{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 20px}
.ev-repeat h3{font-size:21px;line-height:28px}
.ev-repeat .ev-when{font-size:17px;line-height:28px;font-weight:400;color:var(--sub)}
.ev-collapse{display:flex;align-items:center;gap:24px;padding:24px 0 32px}
.ev-collapse p{max-width:820px;font-size:18px;line-height:27px}
.ev-collapse .ev-toggle{flex:none}
.ev-group[data-collapsed] .ev-rows{display:none}
.ev-band{position:relative;display:flex;align-items:flex-end;min-height:460px;padding:48px 0 48px 48px;margin-top:24px;overflow:hidden}
.ev-band-photo{position:absolute;inset:0;height:100%}
.ev-band-card{position:relative;width:min(520px,100%);border-radius:8px;padding:36px;display:flex;flex-direction:column;gap:14px}
.ev-band-card .eyebrow,.ev-bday-copy .eyebrow{margin:0;font-size:13px;letter-spacing:1.6px}
.ev-band-card h2{font-size:44px;line-height:50px;font-weight:400}
.ev-band-card p{font-size:17px;line-height:26px}
.ev-band-types{display:none}
.ev-band-actions{display:flex;flex-wrap:wrap;gap:12px}
.ev-birthday{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:40px;border-radius:8px;overflow:hidden;background:var(--forest)}
.ev-bday-photo{height:360px}
.ev-bday-copy{padding:36px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;justify-content:center}
.ev-bday-copy h2{font-size:34px;line-height:40px;font-weight:400}
.ev-bday-copy p{font-size:17px;line-height:26px}
.ev-empty{padding:40px 0;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ev-empty h2{font-size:34px;line-height:40px}
.ev-empty p{font-size:18px;line-height:27px}
.ev-closing{display:grid;grid-template-columns:minmax(0,560px) minmax(0,420px) auto;gap:40px;align-items:center;padding:56px var(--evx) 40px}
.ev-closing h2{font-size:40px;line-height:48px;font-weight:400}
.ev-closing p{font-size:18px;line-height:27px}
.ev-closing-actions{display:flex;flex-wrap:wrap;gap:12px}
.ev-source{padding:0 var(--evx) 64px;font-size:14px;line-height:21px;color:var(--sub);max-width:1100px}
@media(max-width:1100px){.ev-hero{grid-template-columns:1fr 1fr}.ev-hero h1{font-size:64px;line-height:68px}.ev-hero .script{font-size:50px;line-height:58px}
 .ev-feature{grid-template-columns:96px 176px minmax(0,1fr);gap:24px}.ev-poster{width:176px;height:220px}.ev-dd{font-size:60px;line-height:64px}.ev-feature h3{font-size:30px;line-height:36px}
 .ev-closing{grid-template-columns:1fr;gap:16px}.ev-filterbar{flex-wrap:wrap}.ev-chips{overflow-x:auto}.ev-chip{flex:none}}
@media(max-width:600px){
 .ev-hero{grid-template-columns:1fr;min-height:0}.ev-hero-photo{grid-column:1;grid-row:1;height:210px;min-height:0}
 .ev-hero-copy{grid-column:1;grid-row:2;padding:24px 16px;gap:4px;justify-content:flex-start}
 .ev-hero h1{font-size:48px;line-height:52px}.ev-hero .script{font-size:38px;line-height:44px}
 .ev-lead{font-size:16px;line-height:23px}.ev-lead-long{display:none}.ev-lead-short{display:inline}
 .ev-filterbar{display:block;padding:0;background:none}
 .ev-chips{padding:14px 16px;gap:8px;background:var(--cream2);overflow-x:auto;scrollbar-width:none}.ev-chip{flex:none}.ev-chip .ev-dot{display:none}
 .ev-countrow{justify-content:space-between;padding:14px 16px 0}.ev-count{font-size:15px}
 .ev-body{padding:0 16px 8px}
 .ev-group-head{gap:10px;padding:24px 0 8px}.ev-group-head h2{font-size:24px;line-height:30px}.ev-range{font-size:14px;line-height:24px}
 .ev-dd,.ev-repeat .ev-dd{font-size:40px;line-height:44px}.ev-wm,.ev-repeat .ev-wm{font-size:12px}
 .ev-feature{grid-template-columns:72px minmax(0,1fr);gap:0 12px;padding:16px 0}
 .ev-feature .ev-date{grid-row:1/span 2}.ev-poster{grid-column:2;width:96px;height:120px;margin-bottom:6px}
 .ev-feature .ev-info{grid-column:2;gap:6px}
 .ev-kicker,.ev-desc,.ev-wday{display:none}
 .ev-feature h3{font-size:19px;line-height:24px}.ev-when{font-size:15px;line-height:20px}.ev-who{font-size:14px;line-height:20px}
 .ev-actions{padding-top:0}.ev .button,.ev button.outline{min-height:44px;padding:0 16px;font-size:15px}
 .ev-for{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .ev-repeat{grid-template-columns:72px minmax(0,1fr);gap:6px 12px;align-items:start;padding:16px 0}
 .ev-repeat .ev-date{grid-row:1/span 2}.ev-repeat .ev-info{flex-direction:column;align-items:stretch;gap:6px}
 .ev-repeat h3{font-size:19px;line-height:24px}.ev-repeat .ev-when{font-size:15px;line-height:20px;font-weight:600;color:var(--accd)}
 .ev-repeat .ev-reg{grid-column:2;justify-self:start}
 .ev-agenda[data-filter=All] .ev-repeat{position:relative;grid-template-columns:72px minmax(0,1fr) 20px;align-items:center;padding:12px 0}
 .ev-agenda[data-filter=All] .ev-repeat .ev-date{grid-row:auto}
 .ev-agenda[data-filter=All] .ev-repeat h3,.ev-agenda[data-filter=All] .ev-repeat .ev-reg-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .ev-agenda[data-filter=All] .ev-repeat .ev-info{gap:2px}
 .ev-agenda[data-filter=All] .ev-short{display:block;font-size:17px;line-height:22px;font-weight:600}
 .ev-agenda[data-filter=All] .ev-repeat .ev-when{font-size:14px;font-weight:400;color:var(--sub)}
 .ev-agenda[data-filter=All] .ev-repeat .ev-reg{position:absolute;inset:0;grid-column:1/-1;grid-row:1/-1;justify-self:stretch;min-height:0;padding:0;border:0;background:none;justify-content:flex-end;color:var(--accd);font-size:28px;font-weight:400}
 .ev-agenda[data-filter=All] .ev-repeat .ev-chev{display:block;line-height:1;padding-bottom:4px}
 .ev-collapse{display:none}.ev-group[data-collapsed] .ev-rows{display:block}
 .ev-band{display:block;min-height:0;padding:0;margin:24px 0 16px;border-radius:8px;background:var(--forest)}
 .ev-band-photo{position:static;height:220px}
 .ev-band-card{width:auto;border-radius:0;padding:28px 16px 36px}
 .ev-band-card h2{font-size:34px;line-height:38px}.ev-band-card p{font-size:17px;line-height:25px}
 .ev-band-d{display:none}.ev-band-m{display:inline}
 .ev-band-card .ev-band-types{display:block;font-size:14px;line-height:20px;color:#a8b5aa}
 .ev-band-actions{flex-direction:column}.ev-band-actions .button{width:100%}
 .ev-birthday{grid-template-columns:1fr;margin-top:8px}.ev-bday-photo{height:200px;min-height:0}
 .ev-bday-copy{padding:20px;gap:10px;align-items:stretch}.ev-bday-copy h2{font-size:26px;line-height:31px}.ev-bday-copy p{font-size:16px;line-height:24px}
 .ev-closing{padding:40px 16px 24px;gap:14px}.ev-closing h2{font-size:30px;line-height:36px}.ev-closing p{font-size:17px;line-height:25px}
 .ev-closing-actions{flex-direction:column}.ev-closing-actions>*{width:100%}
 .ev-source{padding:0 16px 40px}
 .ev-empty h2{font-size:26px;line-height:31px}.ev-empty p{font-size:16px}}
/* /private-events (05) */
.pe-hero{display:grid;grid-template-columns:44.45% minmax(0,1fr)}
.pe-hero-copy{grid-column:1;grid-row:1;padding:56px 64px 56px var(--evx);display:flex;flex-direction:column;gap:14px}
.pe-hero h1{font-size:68px;line-height:72px;font-weight:400}
.pe-hero .script{font-size:56px;line-height:64px;color:var(--accent);margin:0}
.pe-lead{font-size:18px;line-height:27px}
.pe-hero-photos{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(560px,1fr) 300px}
.pe-photo-main{grid-column:1/-1;height:100%}.pe-photo-a,.pe-photo-b{height:300px}
.pe-planner{--focus:var(--forest);background:var(--cream);color:var(--ink);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:16px}
.pe-step{font-size:13px;line-height:18px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;color:var(--accd)}
.pe-cal-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px}
.pe-cal-nav{width:44px;height:44px;min-height:44px;padding:0;background:none;border:1px solid rgba(16,33,24,.25);border-radius:2px;color:var(--ink);font-size:24px;font-weight:400}
.pe-cal-nav:disabled{opacity:.35}
.pe-cal-month{font-size:17px;font-weight:600}
.pe-cal table{width:100%;border-collapse:collapse;table-layout:fixed}
.pe-cal th{height:24px;padding:0;font-size:12px;font-weight:600;color:var(--sub)}.pe-cal abbr{text-decoration:none}
.pe-cal td{padding:1px 0;text-align:center}
.pe-day{width:100%;height:48px;min-height:48px;padding:0;border:1.5px solid transparent;border-radius:6px;background:none;color:var(--ink);font-size:16px;font-weight:500;line-height:20px;flex-direction:column;gap:2px}
.pe-day:hover{background:rgba(16,33,24,.06);filter:none}
.pe-day.is-past{color:var(--line);cursor:default}.pe-day.is-past:hover{background:none}
.pe-day.is-today{border-color:var(--accd)}
.pe-day.is-selected{background:var(--ink);border-color:var(--ink);color:var(--cream);font-weight:700}
.cal-marker,.cal-gap{display:block;width:5px;height:5px;border-radius:50%}.cal-marker{background:#c78658}.pe-day.is-selected .cal-marker{background:var(--accent)}
.pe-legend{list-style:none;margin:0;padding:8px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;line-height:18px;color:var(--sub)}
.pe-legend li{display:flex;align-items:center;gap:6px}.pe-legend-dot{width:6px;height:6px;border-radius:50%;background:#c78658}.pe-legend-sq{width:14px;height:14px;border-radius:3px;background:var(--ink)}
.pe-stepper{display:flex;align-items:stretch;border:1px solid var(--fw-border-strong);border-radius:4px;overflow:hidden;background:#fff}
.pe-stepper button{width:56px;min-height:52px;padding:0;border:0;border-radius:0;background:#fff;color:var(--ink);font-size:24px;font-weight:400}
.pe-stepper button:disabled{color:var(--line)}
.pe-stepper button:focus-visible,.pe-stepper input:focus-visible{outline-offset:-3px}
.pe-stepper-value{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;font-size:17px;font-weight:600}
.pe-stepper input{width:2.4ch;field-sizing:content;min-width:1.4ch;padding:6px 0;border:0;background:transparent;color:inherit;font-weight:600;text-align:center;appearance:textfield;-moz-appearance:textfield}
.pe-stepper input::-webkit-inner-spin-button,.pe-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pe-occasion{min-width:0;margin:0;padding:0;border:0}
.pe-occasion legend{padding:0;margin-bottom:16px}
.pe-chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip:has(input:checked),.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.chip:has(input:focus-visible){outline:3px solid var(--forest);outline-offset:3px}
.pe-occasion-detail{margin-top:10px!important;font-size:14px;line-height:20px;color:var(--sub)}.pe-occasion-detail:empty{display:none}
.pe .pe-cta{width:100%}
.pe-planner-note{font-size:13px;line-height:19px;color:var(--sub)}
.pe-contact{margin-top:-6px!important;font-size:14px;line-height:20px;color:var(--sub)}.pe-contact a{color:var(--accd);font-weight:600;display:inline-block;padding:12px 0;margin:-12px 0}
.pe-types{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:64px;padding:72px var(--evx) 56px}
.pe-types-intro{display:flex;flex-direction:column;gap:12px}
.pe-types-intro .eyebrow,.pe-club .eyebrow{margin:0;font-size:13px;letter-spacing:1.2px}
.pe-types-intro h2{font-size:48px;line-height:54px;font-weight:400}
.pe-types-intro p:not(.eyebrow){font-size:17px;line-height:26px;color:var(--sub)}
.pe-type-groups{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.pe-type-group h3{margin-bottom:10px;font-size:13px;line-height:20px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accd)}
.pe-type-group ul{list-style:none;margin:0;padding:0}
.pe-type{width:100%;min-height:52px;padding:12px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;color:var(--ink);font-size:19px;font-weight:500;line-height:26px;justify-content:space-between;gap:12px;text-align:left}
.pe-chev{color:var(--accd);font-size:20px}
.pe-band{display:none}
.pe-how{background:var(--cream2);padding:40px var(--evx) 64px}
.pe-how ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pe-how-n{display:block;font:48px/52px Yellowtail,cursive;color:var(--accd)}
.pe-how h3{margin:6px 0;font-size:22px;line-height:28px}.pe-how p{font-size:16px;line-height:24px;color:var(--sub)}
.pe-club{padding:64px var(--evx) 72px}
.pe-club-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.pe-club-head h2{margin-top:4px;font-size:36px;line-height:42px;font-weight:400}
.pe-all{flex:none}
.pe-posters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.pe-poster img{aspect-ratio:4/5;height:auto;border-radius:4px;margin-bottom:8px}
.pe-next{margin-bottom:6px!important;font-size:13px;line-height:18px;letter-spacing:1px;text-transform:uppercase;font-weight:600;color:var(--accd)}
.pe-poster h3{margin-bottom:6px;font-size:18px;line-height:24px}.pe-poster p:last-child{font-size:14px;line-height:20px;color:var(--sub)}
.pe-club-empty{font-size:17px}
@media(max-width:1199px){.pe-hero{grid-template-columns:1fr}.pe-hero-photos{grid-column:1;grid-row:1;grid-template-rows:360px}.pe-photo-a,.pe-photo-b{display:none}
 .pe-hero-copy{grid-row:2;padding:48px var(--evx)}.pe-planner{width:min(100%,560px)}
 .pe-types{grid-template-columns:1fr;gap:32px}.pe-posters{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}
@media(max-width:600px){
 .pe-hero-photos{display:block}.pe-photo-main{height:230px}
 .pe-hero-copy{padding:24px 16px 28px;gap:4px}.pe-hero h1{font-size:46px;line-height:50px}.pe-hero .script{font-size:38px;line-height:44px}
 .pe-lead{font-size:16px;line-height:24px}.pe-lead-long{display:none}
 .pe-planner{width:auto;margin:16px -8px 0;padding:16px}
 .pe-day{height:46px;min-height:46px}
 .pe .pe-cta{padding:0 12px}
 .pe-types{display:block;padding:32px 16px 24px}.pe-types-intro{gap:8px}.pe-types-intro h2{font-size:30px;line-height:35px}.pe-types-intro p:not(.eyebrow){display:none}
 .pe-type-groups{display:block}.pe-type-group{margin-top:8px}.pe-type-group h3{margin:8px 0}
 .pe-type-group ul{display:flex;flex-wrap:wrap;gap:8px}
 .pe-type{width:auto;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:22px;background:#fff;font-size:15px;line-height:20px}
 .pe-chev{display:none}
 .pe-band{display:grid;grid-template-columns:1fr 1fr}.pe-band img{height:220px}
 .pe-how{display:none}
 .pe-club{display:flex;flex-direction:column;gap:14px;padding:32px 16px}.pe-club-head{display:contents}.pe-club-head h2{font-size:26px;line-height:31px}
 .pe-posters{order:1;display:flex;gap:12px;overflow-x:auto;margin-right:-16px;padding-right:16px;scroll-snap-type:x mandatory}
 .pe-poster{flex:0 0 200px;scroll-snap-align:start}.pe-poster h3{font-size:16px;line-height:21px}
 .pe .pe-all{order:2;width:100%;min-height:48px}}

/* Round 5 (Nov 5 meeting): homepage "What's on" carousel. Three cards per view on desktop, two on tablets, one on phones.
   Native horizontal scroll with snap (swipe), paged by the arrows; reduced motion jumps instead of gliding. */
.home-events{--hc-gap:24px}
.hc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;flex-wrap:wrap;margin-bottom:36px}
.hc-intro{max-width:620px}.hc-intro .eyebrow{margin-bottom:8px}.hc-intro .script{margin-bottom:12px}
.hc-lead{font-size:20px;line-height:1.5;margin:0;color:#dfe6dc}
.hc-nav{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap}
.hc-status{margin:0;font-size:15px;font-weight:600;color:#c2cec3;min-width:6.5em;text-align:right;font-variant-numeric:tabular-nums}
.hc-arrows{display:flex;gap:8px}
.hc-arrow{min-height:52px;min-width:52px;padding:0;font-size:28px;line-height:1;border-color:rgba(244,240,231,.7)}
.hc-arrow:disabled{opacity:.35}
.hc-all,.hc-foot .button{border-color:rgba(244,240,231,.7)}
.hc-foot{display:none;margin:20px 0 0}
/* Arriving from a homepage card (/events#ev-<date>): a quiet marker on that date's row. */
.ev-row:target{background:linear-gradient(90deg,rgba(110,193,118,.2),rgba(110,193,118,0) 70%)}
.hc-track{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:4px}
.hc-track::-webkit-scrollbar{display:none}
.hc-track:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.hc-track{scroll-behavior:auto}}
.hc-list{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*var(--hc-gap))/3);gap:var(--hc-gap);list-style:none;margin:0;padding:0}
.hc-card{scroll-snap-align:start;min-width:0}
.hc-link{display:flex;flex-direction:column;height:100%;background:var(--cream);color:var(--ink);text-decoration:none;border-radius:4px;overflow:hidden}
/* not(.button) outranks the global a:not(.button):hover underline (review 2 R2-6) */.hc-link:not(.button):hover{text-decoration:none}.hc-link:hover h3{text-decoration:underline;text-underline-offset:4px}
.hc-link:focus-visible{outline-offset:-3px;outline-color:var(--accent)}
.hc-poster{aspect-ratio:1/1;height:auto;object-position:50% 0;background:var(--green)}
.hc-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.hc-date{margin:0;display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;font-size:15px;font-weight:600;color:#2d7146;text-transform:uppercase;letter-spacing:.8px}
.hc-time{text-transform:none;letter-spacing:0;color:#4c5c52;font-weight:500}
.hc-body h3{font-size:24px;line-height:1.2}
.hc-kicker{margin:0;display:flex;align-items:center;gap:8px;font-size:15px;color:#4c5c52}
.hc-kicker .ev-dot{width:8px;height:8px;border-radius:50%;flex:none}
.hc-who{margin:0;font-size:15px;line-height:1.4;color:#4c5c52}
.hc-more{margin-top:auto;padding-top:6px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1023px){.hc-list{grid-auto-columns:calc((100% - var(--hc-gap))/2)}}
@media(max-width:600px){
 .home-events{--hc-gap:16px}
 .hc-head{margin-bottom:24px;gap:18px}.hc-lead{font-size:17px}
 .hc-nav{width:100%;justify-content:space-between}.hc-status{order:-1;text-align:left;min-width:0}.hc-all{display:none}.hc-foot{display:block}.hc-foot .button{width:100%}
 .hc-list{grid-auto-columns:100%}
 .hc-poster{aspect-ratio:4/5}
 .hc-body{padding:16px 16px 18px}.hc-body h3{font-size:22px}
}
/* Round 6 (Stream S, Nov 5): header sign-in, Monty's Figma pick ("02 Header dropdown"; phone header option B).
   Desktop: account pill (person icon, "Sign in", chevron) left of Book a bay opens a 400px cream panel under the header.
   Phone/tablet (<=900px): "Sign in" text pill drawn 36px tall, compact Book a bay drawn 36px tall, Menu button; every tap
   area stays >=44px (the 36px shapes are ::before layers inside 44px buttons). The panel drops full width over a scrim.
   Figma tokens: cream2 #e8e1d4, sub #4c5c52, accent-dark #2d7146, line #b8b1a4, error #b3261e. */
.account-menu{position:relative;display:flex;align-items:center;flex:0 1 auto;min-width:44px}
.masthead .account-trigger{position:relative;z-index:0;min-height:44px;height:44px;min-width:44px;max-width:100%;padding:0 12px;gap:8px;border:1px solid rgba(244,240,231,.45);border-radius:22px;background:transparent;color:var(--cream);font-size:15px;font-weight:500;line-height:20px;white-space:nowrap}
.masthead .account-trigger[aria-expanded=true]{border-color:var(--accent);background:var(--green)}
.account-icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.account-chevron{width:12px;height:8px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.account-initials{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--ink);font-size:12px;font-weight:700;line-height:14px;letter-spacing:.2px}
.account-initials[hidden],.account-trigger.is-signed-in .account-icon{display:none}
.account-label{min-width:0;max-width:16ch;overflow:hidden;text-overflow:ellipsis}
.account-panel{--focus:var(--forest);--sub:#4c5c52;--cream2:#e8e1d4;--accd:#2d7146;position:absolute;top:calc(100% + 10px);right:0;z-index:30;width:400px;max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--account-top,96px) - 16px);overflow:auto;overscroll-behavior:contain;padding:28px 28px 24px;background:var(--cream);color:var(--ink);border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,.28);text-align:left;font-size:16px;line-height:1.4}
.account-panel[hidden],.account-scrim[hidden]{display:none}
.account-panel.is-menu{width:380px;padding:22px 24px 18px}
.account-panel p{margin:0}
.account-panel h2{margin:0}
.account-panel .account-title{font-size:26px;font-weight:700;line-height:30px;margin:0 0 16px;letter-spacing:-.2px}
.account-title:focus,.account-who h2:focus{outline:none}
.account-preview{font-size:14px;line-height:20px;color:var(--sub);margin:-6px 0 14px!important}
.account-form{display:flex;flex-direction:column;gap:14px}
.account-field{display:flex;align-items:center;gap:12px;min-width:0;padding:0 16px;background:#fff;border:1px solid var(--fw-border-strong);border-radius:2px}
.account-field:focus-within{border-color:var(--accd);outline:3px solid var(--focus);outline-offset:2px}
.account-field label{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:14px 0;cursor:text}
.account-field label>span{font-size:12px;font-weight:600;line-height:18px;letter-spacing:1.6px;text-transform:uppercase;color:var(--accd)}
.account-field input{width:100%;min-width:0;padding:0;border:0;background:transparent;color:var(--ink);font-size:17px;line-height:24px}
.account-field input::placeholder{color:var(--fw-placeholder);opacity:1}
.field input::placeholder,.field textarea::placeholder{color:var(--fw-placeholder);opacity:1}
.account-field input:focus-visible{outline:none} /* the whole field box carries the focus ring */
.account-panel .account-show{flex:none;min-height:44px;min-width:44px;padding:0 4px;background:none;border:0;color:var(--accd);font-size:15px;font-weight:600;line-height:20px;text-decoration:underline;text-underline-offset:3px}
.account-panel .account-submit{width:100%;min-height:48px;padding:0 22px}
.account-error{font-size:15px;line-height:20px;color:var(--fw-danger);font-weight:500}
.account-error:empty{display:none}
.account-create{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;font-size:15px;line-height:20px;margin:-8px 0!important}
.account-panel .account-create a,.account-panel .account-create button{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:var(--accd);font-size:15px;font-weight:600;line-height:20px;text-decoration:underline;text-underline-offset:3px}
.account-help{margin-top:16px!important;padding-top:8px;border-top:1px solid var(--cream2);font-size:14px;line-height:20px;color:var(--sub)}
.account-who{display:flex;align-items:center;gap:12px;min-width:0}
.account-who .account-initials{width:40px;height:40px;font-size:15px;line-height:18px}
.account-who>div{min-width:0}
.account-who h2{font-size:17px;font-weight:600;line-height:22px;overflow-wrap:anywhere}
.account-who p{font-size:14px;line-height:18px;color:var(--sub);overflow-wrap:anywhere}
.account-alert{margin-top:12px!important;padding:10px 12px;border-left:3px solid var(--fw-danger);background:#fff;font-size:14px;line-height:20px}
.account-next{margin:14px 0 6px;padding:16px;background:#fff;border:1px solid var(--cream2);border-radius:4px}
.account-panel .account-next .eyebrow{margin:0 0 4px;font-size:12px;line-height:18px;letter-spacing:1.6px;color:var(--accd)}
.account-next h3{font-size:17px;font-weight:600;line-height:22px;margin:0 0 4px}
.account-next p:not(.eyebrow){font-size:14px;line-height:20px;color:var(--sub)}
.account-links{list-style:none;margin:0;padding:0}
.account-links li+li{border-top:1px solid var(--cream2)}
.account-panel .account-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;color:var(--ink);text-decoration:none;font-size:16px;font-weight:500;line-height:22px}
.account-panel .account-links a:not(.button):hover{text-decoration:none}
.account-links a:hover [data-account-link-label]{text-decoration:underline}
.account-count{flex:none;font-size:14px;font-weight:400;line-height:18px;color:var(--sub);white-space:nowrap}
.account-out{margin-top:14px;padding-top:6px;border-top:1px solid var(--cream2)}
.account-panel .account-signout{min-height:44px;padding:0;border:0;background:none;color:var(--accd);font-size:15px;font-weight:600;line-height:20px;text-decoration:underline;text-underline-offset:3px}
.account-scrim{position:fixed;left:0;right:0;bottom:0;top:var(--account-top,72px);z-index:9;background:rgba(0,0,0,.55)}
.menu-lines,.menu-lines::before,.menu-lines::after{display:block;width:18px;height:2px;background:currentColor}
.menu-lines{position:relative}
.menu-lines::before,.menu-lines::after{content:'';position:absolute;left:0}
.menu-lines::before{top:-7px}
.menu-lines::after{top:7px}
@media(min-width:901px){.account-scrim{display:none}}
@media(max-width:900px){
 .masthead .account-trigger{height:44px;padding:0 12px;gap:6px;border:0;background:none;font-size:14px;font-weight:600;line-height:18px}
 .masthead .account-trigger::before{content:'';box-sizing:border-box;position:absolute;left:0;right:0;top:4px;bottom:4px;z-index:-1;border:1.2px solid rgba(244,240,231,.55);border-radius:18px}
 .masthead .account-trigger[aria-expanded=true]{background:none}
 .masthead .account-trigger[aria-expanded=true]::before{border-color:var(--accent);background:var(--green)}
 .account-trigger .account-icon,.account-trigger .account-chevron,.account-trigger .account-initials{display:none}
 .account-label{max-width:12ch}
 .masthead .header-book{position:relative;z-index:0;min-width:0;min-height:44px;height:44px;padding:0 10px;background:none;border:0;font-size:14px;line-height:18px}
 .masthead .header-book::before{content:'';box-sizing:border-box;position:absolute;left:0;right:0;top:4px;bottom:4px;z-index:-1;background:var(--accent);border-radius:2px}
 .masthead .desktop-label{display:inline}.masthead .mobile-label{display:none}
 .masthead .mobile-menu{position:relative;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;color:var(--cream)}
 .masthead .mobile-menu::before{content:'';box-sizing:border-box;position:absolute;inset:2px;border:1px solid rgba(244,240,231,.6);border-radius:2px}
 .account-panel,.account-panel.is-menu{position:fixed;top:var(--account-top,72px);left:0;right:0;width:auto;max-width:none;max-height:calc(100dvh - var(--account-top,72px));border-radius:0;padding:22px 20px 24px}
 .account-panel.is-menu{padding:20px}
 .account-panel.is-menu .account-who .account-initials{display:none}
 .account-panel.is-menu .account-who h2{font-size:18px;line-height:24px}
 .account-panel.is-menu .account-links a{min-height:48px}
}
@media(max-width:600px){.masthead{gap:10px}}
@media(max-width:360px){.masthead{gap:6px}.brand img{width:64px;height:44px}.account-label{max-width:9ch}}
/* r7s gallery: begin
   Round 7 (Stream S7, item 2): the walk-through filmstrip (design 2), ported from gallery-lab.css with the desktop
   alignment fixed (FEEDBACK-ROUND7 item 2): one content grid (--gx = the site's own --pad inside the 1800px frame, so the
   heading, chapter buttons, first photo, progress line and arrows share the edges of every other section); chapter
   buttons under the lead; natural aspect ratios at one height (width = height x ratio, height:auto, nothing cropped); the
   strip bleeds to the right edge with a deliberate peek and ends on the right gutter; controls sit tight under the strip;
   the section is full-bleed at 1920. Colours are design tokens. */
.gl-section{--gx:max(var(--pad),calc((100% - 1800px) / 2 + var(--pad)));--gl-h:clamp(380px,34vw,520px);padding:88px 0 64px;background:var(--fw-surface);color:var(--fw-ink);overflow-x:clip}
.gl-section p,.gl-overlay p{margin:0}
.gl-section h2,.gl-overlay h2{font-weight:600;margin:0}
.gl-section ul{list-style:none;margin:0;padding:0}
.gl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
.gl-head{padding-inline:var(--gx);margin-bottom:32px}
.gl-head .eyebrow{margin-bottom:14px}
.gl-head h2{font-size:clamp(36px,4vw,56px);line-height:1.08;letter-spacing:-.5px}
.gl-lead{margin-top:14px!important;font-size:20px;line-height:1.5;color:var(--fw-ink-muted)}
.gl-chapters{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.gl-chip{flex:none;min-height:44px;padding:0 18px;border-radius:var(--fw-radius-pill);border:1px solid var(--fw-border-decorative);background:var(--fw-surface-raised);color:var(--fw-ink);font-size:15px;font-weight:500;white-space:nowrap}
.gl-chip[aria-current]{background:var(--fw-selected);color:var(--fw-on-selected);border-color:var(--fw-selected)}
.gl-strip{position:relative;padding-block:4px 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gx);scrollbar-width:none}
.gl-strip::-webkit-scrollbar{display:none}
.gl-strip:focus-visible{outline-offset:-3px}
.gl-strip-list{display:flex;align-items:flex-start;gap:20px;width:max-content;padding-inline:var(--gx)!important}
.gl-strip-item{flex:none;scroll-snap-align:start;width:calc(var(--gl-h) * var(--ar))}
.gl-strip-item:last-child{scroll-snap-align:end}
.gl-strip-item figure{margin:0}
.gl-photo{display:block;width:100%;min-height:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;text-align:left;cursor:zoom-in}
.gl-photo:hover{filter:none}
.gl-photo img{display:block;width:100%;height:auto;border-radius:var(--fw-radius-sm);background:var(--fw-surface-sunken);transition:opacity .2s}
.gl-photo:hover img{opacity:.9}
.gl-photo:focus-visible{outline-offset:3px}
.gl-strip-item figcaption{margin-top:10px;font-size:16px;line-height:1.4;color:var(--fw-ink-muted)}
.gl-strip-controls{display:flex;align-items:center;gap:12px;margin-top:16px;padding-inline:var(--gx)}
.gl-progress{flex:1;height:3px;margin-right:12px;background:var(--fw-surface-sunken);position:relative;overflow:hidden}
.gl-progress span{position:absolute;inset:0;background:var(--fw-ink);transform-origin:left;transform:scaleX(.04);transition:transform .15s linear}
.gl-arrow{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:48px;padding:0;border-radius:50%;border:1.5px solid var(--fw-ink);background:var(--fw-surface-raised);color:var(--fw-ink)}
.gl-arrow:disabled{opacity:.3}
.gl-arrow:disabled:hover{filter:none}
/* full-screen viewer */
html.gl-locked{overflow:hidden}
.gl-overlay{position:fixed;inset:0;z-index:1000;opacity:0;transition:opacity .2s ease-out}
.gl-overlay.is-in{opacity:1}
.gl-overlay:focus{outline:none}
.gl-viewer{--focus:var(--cream);background:var(--fw-ink);color:var(--fw-cream-100);display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"bar bar bar" "prev fig next" "cap cap cap" "thumbs thumbs thumbs";column-gap:24px;padding:0 40px 20px;height:100%}
.gl-v-bar{grid-area:bar;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0}
.gl-v-count{font-size:17px;font-weight:600}
.gl-close{min-height:44px;padding:8px 14px;border:1.5px solid currentColor;border-radius:var(--fw-radius-sm);background:transparent;color:inherit;font-size:15px;font-weight:600;gap:6px;flex:none}
.gl-viewer .gl-arrow{border-color:rgba(244,240,231,.7);background:transparent;color:var(--fw-cream-100)}
.gl-v-figure{grid-area:fig;min-height:0;height:100%;margin:0;touch-action:pan-y pinch-zoom}
.gl-v-figure img{display:block;width:100%;height:100%;object-fit:contain;background:none}
.gl-v-prev{grid-area:prev;align-self:center}
.gl-v-next{grid-area:next;align-self:center}
.gl-v-cap{grid-area:cap;text-align:center;font-size:17px;line-height:1.4;padding:14px 0 6px}
.gl-v-hint{display:none;grid-area:hint}
.gl-v-thumbs{grid-area:thumbs;display:flex;gap:10px;justify-content:safe center;overflow-x:auto;padding:8px 6px;scrollbar-width:none}
.gl-v-thumbs::-webkit-scrollbar{display:none}
.gl-thumb{flex:none;width:96px;height:64px;min-height:44px;padding:0;border:0;border-radius:3px;overflow:hidden;opacity:.55;background:none}
.gl-thumb img{width:100%;height:100%;object-fit:cover}
.gl-thumb[aria-current]{opacity:1;outline:3px solid var(--fw-accent);outline-offset:1px}
.gl-thumb:focus-visible{outline:3px solid var(--fw-cream-100);outline-offset:3px}
@media (max-width:760px){
 .gl-section{--gl-h:min(300px,calc((100vw - 72px) / 1.5));padding:56px 0 48px}
 .gl-head{margin-bottom:22px}
 .gl-head h2{font-size:36px;line-height:1.1}
 .gl-lead{font-size:17px}
 .gl-chapters{gap:6px;margin:18px calc(-1 * var(--gx)) 0;padding:0 var(--gx);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
 .gl-chapters::-webkit-scrollbar{display:none}
 .gl-chapters .gl-chip{padding:0 14px}
 .gl-strip-list{gap:12px}
 .gl-strip-item{width:min(calc(var(--gl-h) * var(--ar)),calc(100vw - 72px))}
 .gl-strip-item figcaption{font-size:14px;margin-top:8px}
 .gl-strip-controls{margin-top:14px}
 .gl-arrow{width:44px;height:44px;min-height:44px}
 .gl-viewer{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-template-areas:"bar bar bar" "fig fig fig" "cap cap cap" "prev hint next" "thumbs thumbs thumbs";column-gap:8px;padding:0 16px 12px}
 .gl-v-bar{padding:12px 0}
 .gl-v-count{font-size:16px}
 .gl-v-figure{margin-inline:-16px}
 .gl-v-cap{text-align:left;font-size:16px;padding:12px 0 8px}
 .gl-v-hint{display:block;align-self:center;text-align:center;font-size:14px;color:var(--fw-sage-200)}
 .gl-v-thumbs{justify-content:flex-start;padding:10px 4px 4px}
 .gl-thumb{width:66px;height:48px}
}
@media (max-width:360px){.gl-head h2{font-size:32px}.gl-chapters .gl-chip{padding:0 12px;font-size:14px}}
@media (prefers-reduced-motion:reduce){.gl-overlay,.gl-progress span,.gl-photo img{transition:none!important}.gl-strip{scroll-behavior:auto}}
/* r7s gallery: end */
/* r7s learn: begin
   Round 7 (Stream S7, item 3): /learn, the "1 + 4 mix" (Figma ZYeNzqi0Rh0E0DiCJZWBRM "06 Mix", 22:6 desktop / 22:197
   phone). Sizes from l06-mix.js/lib.js; colours are design tokens. Natural heights: no Figma frame height is a
   min-height. Portraits use the existing 480px derivatives, so the portrait column stops at 480px. */
.lc{display:block}
.lc h1,.lc h2,.lc h3{margin:0;font-weight:600}
.lc p{margin:0}
.lc ul,.lc ol{list-style:none;margin:0;padding:0}
.lc .actions{display:flex;flex-wrap:wrap;gap:12px}
.lc-hero{position:relative;overflow:hidden;background:var(--fw-forest-950);color:var(--fw-cream-100);padding:clamp(180px,20vw,300px) var(--pad) 96px;--focus:var(--cream)}
.lc-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.lc-hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45)}
.lc-hero-copy{position:relative;z-index:1;max-width:780px}
.lc-hero .eyebrow{color:var(--fw-accent);margin-bottom:16px}
.lc-hero h1{font-size:clamp(40px,4.5vw,64px);line-height:1.1;letter-spacing:-.5px}
.lc-hero h1 span{display:block}
.lc-hero-lead{margin-top:20px!important;font-size:21px;line-height:1.48;max-width:640px}
.lc-hero .actions{margin-top:28px}
.lc-intro{padding:88px var(--pad) 56px}
.lc-intro .eyebrow{margin-bottom:12px}
.lc-intro h2{font-size:clamp(34px,3.6vw,52px);line-height:1.1}
.lc-coaches:focus{outline:none}
.lc-spread{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);align-items:stretch}
.lc-spread+.lc-spread{grid-template-columns:minmax(0,1fr) minmax(0,480px)}
.lc-spread+.lc-spread .lc-portrait{order:2}
.lc-forest{background:var(--fw-forest-950);color:var(--fw-cream-100);--focus:var(--cream)}
.lc-cream{background:var(--fw-cream-100);color:var(--fw-ink)}
.lc-portrait{min-height:0}
.lc-portrait .coach-portrait{display:block;width:100%;height:100%;min-height:600px;object-fit:cover;object-position:50% 20%}
.lc-copy{display:flex;flex-direction:column;gap:18px;justify-content:center;padding:72px clamp(32px,6vw,96px) 72px clamp(32px,6vw,88px)}
.lc-forest .eyebrow{color:var(--fw-accent)}
.lc-cream .eyebrow{color:var(--fw-link)}
.lc-copy h2{font-size:clamp(44px,5.3vw,76px);line-height:1.05}
.lc-line{font-family:Yellowtail,cursive;font-size:clamp(30px,2.8vw,40px);line-height:1.15}
.lc-forest .lc-line{color:var(--fw-accent)}
.lc-cream .lc-line{color:var(--fw-link)}
.lc-bio{font-size:19px;line-height:1.53}
.lc-good{display:flex;flex-wrap:wrap;gap:8px}
.lc-good li{padding:6px 14px;border-radius:var(--fw-radius-pill);border:1px solid currentColor;font-size:15px;line-height:20px}
.lc-forest .lc-good li{border-color:rgba(244,240,231,.45)}
.lc-cream .lc-good li{border-color:var(--fw-border-strong)}
.lc-creds{display:flex;flex-wrap:wrap;gap:10px 18px}
.lc-creds li{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:22px;font-weight:600}
.lc-creds li::before{content:"";flex:none;width:3px;height:22px;background:var(--fw-accent)}
.lc-cream .lc-creds li::before{background:var(--fw-link)}
.lc-tbc{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1.2px dashed var(--fw-status-to-confirm-border);border-radius:var(--fw-radius-sm);font-size:14px;line-height:19px;font-weight:500}
.lc-forest .lc-tbc{border-color:rgba(244,240,231,.62)}
.lc-cream .lc-tbc{background:var(--fw-surface-raised);color:var(--fw-ink)}
.lc-tbc-tag{flex:none;padding:2px 6px;border-radius:2px;background:var(--fw-cream-100);color:var(--fw-ink);font-size:11px;line-height:14px;letter-spacing:.8px;text-transform:uppercase;font-weight:600}
.lc-cream .lc-tbc-tag{background:var(--fw-ink);color:var(--fw-cream-100)}
.lc-copy .actions{margin-top:6px}
.lc-forest .outline{color:var(--fw-cream-100);border-color:var(--fw-cream-100)}
.lc-walk{display:block;overflow:visible;padding:96px var(--pad);background:var(--fw-surface-sunken);color:var(--fw-ink)}
.lc-walk>.eyebrow{margin-bottom:12px}
.lc-walk>h2,.lc-packages>h2{font-size:clamp(34px,3.6vw,52px);line-height:1.1}
.lw-row{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:48px;margin-top:36px;align-items:start}
.lw-steps li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--fw-border-decorative)}
.lw-min{font-size:15px;line-height:22px;font-weight:600;color:var(--fw-link)}
.lw-steps h3{font-size:24px;line-height:30px}
.lw-steps p:not(.lw-min){margin-top:4px;font-size:17px;line-height:25px;color:var(--fw-ink-muted)}
.lw-visual{display:grid;gap:16px}
.lw-photo{display:block;width:100%;aspect-ratio:592/360;height:auto;object-fit:cover;object-position:50% 12%;border-radius:var(--fw-radius-sm)}
.ld{margin:0;padding:20px;background:var(--fw-forest-950);color:var(--fw-cream-100);border:1px solid rgba(110,193,118,.5);border-radius:var(--fw-radius-md)}
.ld-label{font-size:12px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;color:var(--fw-accent)}
.ld-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px!important}
.ld-tiles li{display:flex;flex-direction:column;gap:2px;padding:12px;background:var(--fw-forest-800);border-radius:3px}
.ld-key{font-size:13px;line-height:17px;color:var(--fw-sage-200)}
.ld-value{font-size:26px;line-height:30px;font-weight:600}
.lw-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:36px}
.lw-cta p{font-size:17px;color:var(--fw-ink-muted)}
.lc-walk>.flow-note{margin-top:16px!important}
.lc-packages{padding:96px var(--pad) 72px}
.lc-packages>.eyebrow{margin-bottom:12px}
.lp-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px!important}
.lp{padding:28px;background:var(--fw-surface-raised);border:1px solid var(--fw-surface-sunken);border-radius:var(--fw-radius-md)}
.lp h3{font-size:22px;line-height:28px}
.lp-price{margin-top:6px!important;font-size:40px;line-height:44px;font-weight:600;color:var(--fw-link)}
.lp-member{margin-top:6px!important;font-size:15px;line-height:21px;color:var(--fw-ink-muted)}
.lp-note{margin-top:20px!important;font-size:16px;color:var(--fw-ink-muted)}
.lc-packages .actions{margin-top:24px}
.lc-packages>.flow-note{margin-top:14px!important}
.lc-clinics{padding:24px var(--pad) 96px}
@media(max-width:1000px){.lw-row{grid-template-columns:1fr}}
@media(max-width:760px){
 .lc-hero{padding:240px var(--pad) 32px}
 .lc-hero h1{font-size:34px;line-height:38px;letter-spacing:0}
 .lc-hero-lead{font-size:17px}
 .lc-hero .actions>*{flex:1 1 100%}
 .lc-intro{padding:40px var(--pad) 24px}
 .lc-intro h2{font-size:32px;line-height:38px}
 .lc-spread,.lc-spread+.lc-spread{grid-template-columns:1fr}
 .lc-spread+.lc-spread .lc-portrait{order:0}
 .lc-portrait .coach-portrait{min-height:0;height:auto;aspect-ratio:390/440}
 .lc-copy{padding:28px var(--pad) 40px;gap:16px}
 .lc-copy h2{font-size:44px;line-height:48px}
 .lc-line{font-size:30px;line-height:36px}
 .lc-bio{font-size:17px;line-height:1.53}
 .lc-good li{font-size:14px;padding:5px 12px}
 .lc-creds{flex-direction:column;gap:10px}
 .lc-creds li{font-size:15px}
 .lc-tbc{align-self:stretch}
 .lc-copy .actions>*{flex:1 1 100%}
 .lc-walk{padding:40px var(--pad)}
 .lc-walk>h2,.lc-packages>h2{font-size:30px;line-height:36px}
 .lw-steps li{grid-template-columns:1fr;gap:4px;padding:16px 0}
 .lw-steps h3{font-size:20px;line-height:26px}
 .lw-steps p:not(.lw-min){font-size:15px;line-height:22px}
 .lw-photo{display:none}
 .ld-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lw-cta>*{flex:1 1 100%}
 .lc-packages{padding:40px var(--pad) 40px}
 .lp-list{grid-template-columns:1fr;gap:12px}
 .lp{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;padding:16px 18px}
 .lp h3{font-size:18px;line-height:24px}
 .lp-price{grid-row:span 2;margin-top:0!important;font-size:24px;line-height:28px}
 .lp-member{margin-top:2px!important;font-size:14px}
 .lc-packages .actions>*{flex:1 1 100%}
 .lc-clinics{padding:8px var(--pad) 56px}
}
/* r7s learn: end */
