/* Editorial and task-focused refinements. Homepage and centre layouts stay independent. */
.editorial-page .site-header{position:relative;inset:auto;margin:12px 12px 0;background:var(--navy);border-radius:var(--radius)}

.programme-page .programme-facts{padding-block:0 40px}.programme-page .quick-facts{background:white;border:0;border-radius:16px;padding:26px 32px}
.programme-page .section-heading{display:flex;align-items:end;gap:45px}.programme-page .section-heading .body-copy{font-size:17px;max-width:47ch}
.learning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.learning-card{min-width:0;border-top:1px solid var(--line);padding-top:24px}.learning-number{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid #8396ad;border-radius:50%;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:24px;flex-shrink:0}.learning-card h3{font-size:25px;margin-bottom:17px;line-height:1.2}.learning-card .prose{font-size:16px;line-height:1.7}.learning-card .prose p:last-child{margin-bottom:0}
.booking-panel{background:var(--navy);color:white}.booking-panel-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding-block:65px}.booking-panel h2{color:white;font-size:clamp(32px,3.8vw,52px);line-height:1.12}.booking-panel .eyebrow{color:#c4dff9;margin-bottom:22px}.booking-panel p,.booking-panel .prose{color:#d7e5f4;font-size:17px;line-height:1.8;max-width:65ch}.booking-panel p+p{margin-top:18px}.booking-panel .action-group{margin-top:25px}.booking-panel .button{background:white;color:var(--navy)}.booking-panel .text-link,.booking-panel .panel-note{color:white}.booking-panel .text-link .ti{color:#bfefff}.booking-panel .panel-note{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;font-size:14px;text-decoration:underline;text-underline-offset:4px}.booking-panel :focus-visible{outline-color:#a1dfff}
.choice-section .info-card{border:0;background:var(--paper);padding:30px;border-radius:18px}.choice-section .info-grid{gap:24px}.choice-section .info-card .ti{margin-bottom:23px}.choice-section .info-card .learning-number+.ti{display:none}.choice-section .info-card h3{font-size:27px}.choice-section .info-card .text-link{margin-top:8px}
.story-section .section-heading+.prose{max-width:77ch;margin-bottom:30px}.story-values .info-card{border-top:2px solid var(--navy);padding-top:25px}.story-values .ti{display:none}
.entry-checks{list-style:none!important;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.entry-checks li{position:relative;border-bottom:1px solid var(--line);padding:18px 0 18px 30px;margin:0!important}.entry-checks li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:600}
.training-directory .training-card{display:flex;padding:0;border:0;border-radius:20px;background:var(--paper);overflow:hidden}.training-card figure{width:100%;aspect-ratio:1.9;overflow:hidden}.training-card figure img{width:100%;height:100%;object-fit:cover}.training-card-copy{padding:30px;display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}.training-card-copy h3{font-size:31px}.training-card-copy p{font-size:17px;color:#334c69;margin-bottom:24px}.training-card-copy .text-link{margin-top:auto}
.membership-guide{display:flex;align-items:center;gap:20px;border-block:1px solid var(--line);padding:23px 0;margin-bottom:30px}.membership-guide .ti{font-size:30px;color:var(--blue);flex-shrink:0}.membership-guide p{font-size:16px;color:#334c69;max-width:83ch}.membership-guide strong{color:var(--navy)}.membership-page .plan-card.featured{border:1px solid var(--navy);background:var(--navy);color:white}.membership-page .featured .eyebrow,.membership-page .featured p:not(.plan-price){color:#d7e5f4}.membership-page .featured .button{color:var(--navy);background:white}.membership-page .featured :focus-visible{outline-color:#a1dfff}.membership-page .plan-card{padding:32px}.membership-page .plan-card h2{font-size:29px}.membership-page .plan-card li{padding-block:5px}
.decision-links{display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap;margin-top:28px}.decision-links .text-link{font-size:15px}.decision-links .text-link+.text-link{margin-inline-start:0}
.help-page [data-search-controls]{background:white;padding:28px;border-radius:18px;margin-bottom:28px}.help-page .filter-buttons{margin-bottom:0}.cell-label{display:none}
@media(max-width:600px){.help-page [data-search-controls]{padding:22px}.help-page .search-controls{flex-direction:column;align-items:flex-start}.help-page .search-controls input{width:100%}.prices-page .price-table{display:block;min-width:0;width:100%}.prices-page .price-table caption{display:block;font-size:23px;padding-bottom:18px}.prices-page .price-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.prices-page .price-table tbody{display:block}.prices-page .price-table tbody tr{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10px 18px;padding:20px 0;border-top:1px solid var(--line)}.prices-page .price-table tbody th{display:block;grid-column:1/-1;padding:0;border:0;font-size:17px;font-weight:600;line-height:1.5}.prices-page .price-table td{display:block;padding:0;border:0;min-width:0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.prices-page .price-table tbody tr:has(>td:only-of-type) td{grid-column:1/-1}.prices-page .price-table .cell-label{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-bottom:4px}.prices-page .price-table td:first-of-type{font-weight:600;color:var(--navy)}.prices-page .table-wrap{overflow:visible;border-radius:0}}

.refined-contact-directory .contact-card{background:white;border-radius:18px;border-top:0;padding:28px}.refined-contact-directory .contact-card h2{font-size:28px}.refined-contact-directory .contact-card>a{font-size:16px}.refined-contact-directory .contact-card address{min-height:3.4em}
.functional-zone-section{border-block:1px solid var(--line)}.access-page .functional-zone-section .prose{max-width:75ch}
.policy-directory .info-card{background:var(--paper);border:1px solid var(--line);padding:27px;border-radius:15px}.policy-directory .info-card h3{font-size:25px}.policy-directory .info-grid{gap:22px}.policy-directory .content-section:not(.white-section) .info-card{background:white}.policy-directory .info-card .text-link{margin-top:auto}
.policy-reader .policy-nav{background:white;border-radius:14px;padding:12px 20px}.policy-contents summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;font-size:15px;cursor:pointer;list-style:none;padding:9px 0}.policy-contents summary::-webkit-details-marker{display:none}.policy-contents[open] summary .ti{transform:rotate(45deg)}.policy-contents nav{margin-top:10px}.policy-reader .policy-nav>a{margin-top:8px}.policy-reader .policy-content{scroll-margin-top:24px}.policy-reader .policy-content:focus{outline:3px solid var(--blue);outline-offset:4px}
.refined-gym-page .class-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.refined-gym-page .class-row{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:17px;overflow:hidden;padding:0;background:var(--paper)}.refined-gym-page .class-row[hidden]{display:none}.refined-gym-page .class-photo{border-radius:0;height:auto;aspect-ratio:1.65}.refined-gym-page .class-copy{padding:25px;flex:1}.refined-gym-page .class-copy h3{font-size:27px}.refined-gym-page .class-copy>p:not(.eyebrow){font-size:15px;max-width:none;margin-bottom:20px}.refined-gym-page .class-link{font-size:13px}.refined-gym-page .class-timetables{margin-top:32px}
@media(min-width:851px){.policy-contents{min-width:0}.policy-reader .policy-content{padding:42px 48px}.policy-reader .policy-layout{gap:40px;grid-template-columns:235px minmax(0,1fr)}}
@media(max-width:1050px){.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.refined-gym-page .class-list{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-page .plan-card{padding:25px}.refined-contact-directory .contact-card{padding:24px}.refined-contact-directory .contact-card h2{font-size:25px}}
@media(max-width:850px){.programme-page .section-heading{flex-direction:column;align-items:flex-start;gap:22px}.programme-page .section-heading .body-copy{max-width:60ch}.booking-panel-inner{grid-template-columns:1fr;gap:28px}.booking-panel h2 br{display:none}.choice-section .info-grid{grid-template-columns:1fr}.choice-section .info-card{padding:27px}.training-card-copy{padding:26px}.policy-reader .policy-nav{padding:12px 22px}.policy-reader .policy-nav nav{display:block}.refined-contact-directory .contact-card address{min-height:0}.refined-contact-directory .contact-card{grid-template-columns:1fr 1.2fr}}
@media(max-width:600px){.editorial-page .site-header{margin:8px 8px 0}.programme-page .quick-facts{padding:24px;gap:24px;grid-template-columns:1fr}.programme-page .quick-facts>div{display:grid;grid-template-columns:.8fr 1.2fr;gap:15px;align-items:baseline}.programme-page .quick-facts dt{margin:0}.programme-page .quick-facts dd{font-size:17px}.programme-page .programme-facts{padding-bottom:38px}.learning-grid{grid-template-columns:1fr;gap:26px}.learning-card{display:grid;grid-template-columns:43px 1fr;gap:0 18px;padding-top:25px}.learning-number{margin-bottom:0}.learning-card h3{font-size:25px;align-self:center;margin-bottom:0}.learning-card .prose{grid-column:2;margin-top:15px}.booking-panel-inner{padding-block:48px;gap:26px}.booking-panel h2{font-size:34px}.booking-panel p,.booking-panel .prose{font-size:16px}.booking-panel .action-group{align-items:flex-start;flex-direction:column}.booking-panel .panel-note{font-size:13px}.choice-section .info-card .learning-number{margin-bottom:22px}.choice-section .info-card h3{font-size:27px}.entry-checks{grid-template-columns:1fr;gap:0}.training-card figure{aspect-ratio:1.5}.training-card-copy{padding:25px}.training-card-copy h3{font-size:29px}.training-card-copy p{font-size:16px}.membership-guide{align-items:flex-start;gap:15px;padding-block:22px}.membership-guide p{font-size:15px}.membership-page .plan-card{padding:28px}.decision-links{gap:12px 22px}.decision-links .text-link{font-size:14px}.policy-directory .decision-links{flex-direction:column;align-items:flex-start;gap:3px}.refined-app-page .app-copy h2{font-size:29px}.refined-gym-page .class-list{grid-template-columns:1fr;gap:22px}.refined-gym-page .class-copy{padding:24px}.refined-gym-page .class-copy h3{font-size:28px}.refined-gym-page .class-copy>p:not(.eyebrow){font-size:16px}.refined-gym-page .class-photo{aspect-ratio:1.8}.refined-gym-page .class-link{font-size:14px}}
@media(max-width:360px){.learning-card{grid-template-columns:35px 1fr;gap:0 13px}.learning-number{width:35px;height:35px}.learning-card h3{font-size:23px}.booking-panel h2{font-size:31px}.programme-page .quick-facts>div{grid-template-columns:1fr;gap:7px}}
@media(forced-colors:active){.learning-number,.training-card,.class-row,.choice-section .info-card{border:1px solid CanvasText}.booking-panel,.membership-page .plan-card.featured{background:Canvas;color:CanvasText}.booking-panel p,.booking-panel h2,.booking-panel .eyebrow,.booking-panel a,.membership-page .featured p{color:CanvasText}}
@media print{.decision-links{display:none}.booking-panel{background:white;color:black}.booking-panel h2,.booking-panel p{color:black}}
