/* Shared responsive refinements, applied after each page's component styles. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.wrap,.hero-copy,.hero-art,.about-copy,.fit-intro,.faq-intro,.contact-actions,
.service-content,.coach-card,.calc-result,.library-compact>div{min-width:0}
main h1,main h2,main h3,main h4,main p,.btn,.choice,.brand-caption,
.contact-actions,.operator,.footer-services,.footer-instagram{overflow-wrap:anywhere}
main img{max-width:100%}
.eyebrow:before{flex:none}
.btn,.menu-toggle,.choice,.calc-modes button,.calc-presets button{min-height:44px}
.close{width:44px;height:44px;min-width:44px;flex:none}
.dialog-head h2{min-width:0;line-height:1.2}
dialog{max-height:90vh;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}
.dialog-head{position:sticky;top:0;z-index:1;background:var(--paper)}
.field textarea{font-size:16px;line-height:1.5}
.service-bottom{flex-wrap:wrap}
.service-bottom button{min-height:44px;text-align:left}
.hero-proof>a{max-width:100%;width:fit-content;line-height:1.7}
@media(max-width:1280px){
 .navlinks{gap:4px;padding:16px 24px;max-height:calc(100vh - 86px);max-height:calc(100dvh - 86px);overscroll-behavior:contain}
 .navlinks>a{display:flex;align-items:center;min-height:44px;padding:10px 8px;gap:8px;line-height:1.5}
 .navlinks>.btn{margin-top:8px;min-height:48px}
 .menu-toggle{flex:none}
}
@media(min-width:761px) and (max-width:1100px){
 .fit-layout,.faq-layout,.contact-box,.tool-teaser-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .fit-intro p,.faq-intro>p{max-width:650px}
 .fit-panel{min-height:0}
 .section-heading{align-items:flex-start;flex-direction:column;gap:24px}
 .section-heading>p{max-width:650px}
 .process-grid{gap:22px}
 .process-grid h3{font-size:19px;line-height:1.35}
 .guide-teaser-grid{grid-template-columns:minmax(0,1fr)}
 .library-compact{align-items:flex-start;flex-direction:column;gap:18px}
 .tool-preview{max-width:600px;width:100%}
}
@media(min-width:761px) and (max-width:1000px){
 .hero .wrap{grid-template-columns:minmax(0,1fr);min-height:0;gap:0}
 .hero-copy{padding:52px 0 20px}
 .hero-description{max-width:600px}
 .hero-art{height:340px;width:100%;max-width:520px;justify-self:center}
 .hero-logo{height:330px;top:0}
 .track{height:390px;inset:-30px -80px 0 -15px}
 .about-layout,.service-page-layout,.locations-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .about-graphic.about-portrait{max-width:420px}
 .about-copy{max-width:760px}
 .coach-card{max-width:420px;width:100%;justify-self:center}
}
@media(max-width:760px){
 .navlinks{max-height:calc(100vh - 74px);max-height:calc(100dvh - 74px);padding-bottom:max(18px,env(safe-area-inset-bottom))}
 .hero h1{font-size:clamp(40px,9.6vw,72px);line-height:1.03;letter-spacing:-2px}
 .hero-caption{line-height:1.7;align-items:flex-start}
 .hero-caption i{flex:none;margin-top:8px}
 .service-page h1{font-size:clamp(32px,6.5vw,46px);letter-spacing:-1.2px}
 .btn{line-height:1.5;max-width:100%}
 .service-bottom{gap:4px 16px}
 .service-bottom button{font-size:14px}
 .about-copy p,.service p,.step p,.faq-section details p{font-size:15px}
 .contact-box{padding:26px}
 .contact-actions .btn{width:100%}
 .contact-email{font-size:clamp(17px,4.5vw,22px);letter-spacing:-.3px}
 .related-services a{line-height:1.6}
 .footer-row p{flex-basis:auto;line-height:1.7}
 .footer-row .privacy-link{font-size:12px;line-height:1.7}
 .footer-services,.footer-instagram{gap:4px 20px}
 .footer-services a,.footer-instagram a{display:flex;align-items:center;min-height:44px;padding:8px 0}
 .dialog-head,.dialog-body{padding:20px}
 .dialog-head h2{font-size:22px}
 .dialog-actions>.btn{width:100%;min-height:48px}
 .choice{font-size:15px;line-height:1.5;gap:12px}
 .choice:after{flex:none}
 .certificate-open{min-height:44px;padding:10px 0}
 .reading-links a,.library-category-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
 .reading-links{gap:4px 22px}
}
@media(max-width:600px){
 .reading-grid,.race-groups{grid-template-columns:minmax(0,1fr)}
 .reading-card{padding:23px}
}
@media(max-width:380px){
 .wrap{padding-left:16px;padding-right:16px}
 .nav .brand{min-width:0;gap:6px}
 .nav .brand-caption{font-size:10px}
 .nav .brand-caption small{font-size:8px}
 .nav .brand-logo{width:42px;height:42px}
 .menu-toggle{padding:9px 8px}
 .nav .language-switch{min-width:48px}
 .hero-actions{align-items:stretch;flex-direction:column;gap:10px}
 .hero-actions .textlink{align-self:flex-start}
 .hero-art{height:270px}
 .hero-logo{height:270px}
 .service{padding:22px}
 .service h3{font-size:22px}
 .service-analysis .service-bottom{align-items:flex-start;flex-direction:column}
 .fit-tab{padding:18px 14px}
 .contact-box{padding:22px}
 .contact-box h2{font-size:32px}
 .education-row{grid-template-columns:60px minmax(0,1fr);gap:10px}
 .education-logo{width:60px}
 .certificate-featured{grid-template-columns:65px minmax(0,1fr);gap:15px;padding:18px}
 .certificate-card:not(.certificate-featured){grid-template-columns:55px minmax(0,1fr);gap:14px;padding:18px}
 .calc-controls,.calc-result{padding:16px}
 .calc-time-fields{gap:6px}
 .calc-field input{padding:11px 6px;font-size:16px}
}
@media(max-height:500px) and (max-width:1280px){
 dialog{max-height:94vh;max-height:94dvh}
 .dialog-head{padding-top:12px;padding-bottom:12px}
}
@media(prefers-reduced-motion:reduce){.fit-tab,.instagram-profile{transition:none}}

/* Service outcomes and an honest, illustrative report structure. */
.service .service-takeaway{font-weight:700;color:var(--ink);font-size:13px;line-height:1.7;border-top:1px solid var(--line);padding-top:16px;margin-top:auto;margin-bottom:12px}
.service:has(.service-takeaway) .service-bottom{margin-top:0}
.analysis-example{margin:28px 0;padding:28px;border:1px solid var(--line);border-radius:var(--radius-block);background:#edf0e2;scroll-margin-top:110px}
.analysis-example>h3{font-size:27px;line-height:1.2;letter-spacing:-.8px;margin:17px 0}
.service-content .analysis-example-note{font-size:13px;line-height:1.8;margin:0 0 24px}
.analysis-example-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.analysis-example-grid>div{min-width:0;background:var(--paper);padding:20px;border-radius:var(--radius-card)}
.analysis-example-grid .tag{font-size:10px;line-height:1.7;color:var(--muted)}
.analysis-example-grid h4{font-size:18px;line-height:1.4;margin:12px 0 8px;letter-spacing:-.3px}
.service-content .analysis-example-grid p{font-size:14px;line-height:1.8;margin:0}
.service-content .analysis-example-foot{font-size:13px;font-weight:700;color:var(--ink);border-top:1px solid var(--line);padding-top:20px;margin:22px 0 0}
@media(max-width:760px){.analysis-example{padding:22px}.analysis-example>h3{font-size:25px}.analysis-example-grid>div{padding:18px}}

/* Monthly coaching is the primary offer; one-off support remains easy to find. */
.monthly-offer{margin:0 0 68px;scroll-margin-top:110px}
.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plan-card{min-width:0;display:flex;flex-direction:column;background:#e7e9dd;border:1px solid #c4cab7;border-radius:var(--radius-card);padding:30px 26px;color:var(--ink)}
.plan-featured{background:var(--yellow);border:2px solid var(--ink)}
.plan-kicker{font-size:10px;font-weight:700;letter-spacing:1px;line-height:1.7;min-height:20px}
.plan-card h3{font-size:clamp(20px,2vw,26px);line-height:1.25;letter-spacing:-.6px;min-height:66px;margin:22px 0 12px;overflow-wrap:normal}
.plan-card .plan-price{font-size:clamp(31px,3.1vw,42px);font-weight:800;line-height:1.1;letter-spacing:-1.5px;margin:0 0 28px;white-space:nowrap}
.plan-price span{display:block;font-size:13px;font-weight:400;line-height:1.8;letter-spacing:0;margin-top:6px}
.plan-card .plan-title{font-size:18px;font-weight:700;line-height:1.4;margin:0 0 12px}
.plan-description{font-size:14px;line-height:1.8;margin:0 0 28px;max-width:44ch}
.plan-card .btn{margin-top:auto;background:var(--ink);color:var(--paper);width:100%;min-height:52px;padding:14px 16px;justify-content:space-between;text-align:left;font-size:12px;gap:12px}
.plan-card .btn:hover{background:#343d27;color:var(--yellow)}
.plans-note{max-width:880px;font-size:13px;line-height:1.8;color:var(--muted);margin:22px 0 0}
.single-service-heading{padding-top:36px;border-top:1px solid var(--line)}
.single-service-heading h2{font-size:clamp(30px,3.4vw,42px)}
.service-analysis.single-analysis{grid-column:auto}
.service-page .monthly-offer{margin-top:42px}
.service-page .monthly-offer h2{font-size:clamp(30px,3.6vw,44px)}
@media(min-width:761px) and (max-width:1100px){
 .plans-grid{gap:14px}.plan-card{padding:26px 20px}.plan-card h3{font-size:20px;min-height:76px}.plan-card .plan-price{font-size:34px}.plan-card .btn{font-size:12px;flex-wrap:wrap}.plan-description{font-size:14px}
}
@media(max-width:760px){
 .plans-grid{grid-template-columns:minmax(0,1fr);gap:18px}.monthly-offer{margin-bottom:46px}.plan-card{padding:26px}.plan-card h3{min-height:0;font-size:25px;margin-top:16px}.plan-card .plan-price{font-size:42px;margin:8px 0 22px}.plan-card .plan-price span{display:inline-block;margin-left:12px;font-size:13px}.plan-card .btn{font-size:14px}.plan-description{max-width:none}.plans-note{font-size:13px}.single-service-heading{padding-top:28px}.single-service-heading h2{font-size:32px}
}
@media(max-width:380px){.plan-card{padding:22px}.plan-card h3{font-size:23px}.plan-card .plan-price{font-size:38px}.plan-card .plan-price span{display:block;margin-left:0}}

/* Direct access to one-off services and explicit monthly package inclusions. */
.hero-service-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;max-width:520px}
.hero-service-links a{font-size:13px;line-height:1.6;color:var(--paper);text-underline-offset:5px;min-height:44px;display:flex;align-items:center}
.hero-service-links a:hover{color:var(--yellow)}
.offer-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 28px}
.offer-shortcuts a{display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid var(--ink);border-radius:var(--radius-card);text-decoration:none;line-height:1.5;background:#e7e9dd;min-width:0}
.offer-shortcuts strong{font-size:14px}.offer-shortcuts span{font-size:20px;font-weight:800;letter-spacing:-.5px}
.offer-shortcuts .offer-monthly-link{background:var(--yellow)}
.offer-shortcuts a:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.primary-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0;margin-bottom:64px}
.primary-services .service{padding:28px 24px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);min-width:0;scroll-margin-top:110px}
.primary-services .service h3{font-size:25px;line-height:1.2;min-height:60px}
.primary-services .service .service-price{font-size:23px;line-height:1.4;font-weight:800}
.primary-services .service-price span{font-size:12px;line-height:1.7;font-weight:400;min-height:42px}
.primary-services .service-bottom{margin-top:auto;flex-direction:column;align-items:stretch;gap:10px}
.primary-services .service-bottom button{display:flex;justify-content:space-between;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:13px 16px;min-height:48px;font-size:13px}
.primary-services .service-detail{font-size:12px;line-height:1.7}
.plan-includes{border-top:1px solid #a9b291;padding-top:20px;margin:0 0 28px}
.plan-includes>p{font-size:12px;font-weight:800;letter-spacing:.3px;margin:0 0 12px}
.plan-includes ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.plan-includes li{font-size:14px;line-height:1.65;display:flex;align-items:flex-start;gap:10px}
.plan-includes li:before{content:'✓';flex:none;font-weight:800}
.lactate-support{grid-template-columns:minmax(0,1fr);border:0;margin-top:40px}
.lactate-support .service{min-height:0;background:#e7e9dd;border:1px solid var(--line);border-radius:var(--radius-card)}
@media(min-width:761px) and (max-width:1100px){.primary-services{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-services .service-analysis{grid-column:1/-1}.primary-services .service-analysis h3{min-height:0}.primary-services .service-analysis>p{max-width:780px}.offer-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.plans-grid{grid-template-columns:minmax(0,1fr)}.plan-card h3{min-height:0}.plan-card{padding:28px}.plan-includes li{font-size:15px}.plan-description{max-width:none}}
@media(max-width:760px){.hero-service-links{gap:0 18px;margin-top:18px}.hero-service-links a{font-size:13px}.offer-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.offer-shortcuts a{padding:16px}.offer-shortcuts strong{font-size:13px}.offer-shortcuts span{font-size:20px}.primary-services{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:48px}.primary-services .service{padding:26px}.primary-services .service h3{min-height:0;font-size:27px}.primary-services .service-price span{min-height:0}.primary-services .service-bottom button{font-size:14px}.plan-includes{margin-bottom:24px}.lactate-support .service{padding:26px}}
@media(max-width:380px){.offer-shortcuts a{padding:13px}.offer-shortcuts strong{font-size:12px}.offer-shortcuts span{font-size:18px}.primary-services .service{padding:22px}}

/* Homepage composition: one offer, one practical path, one supporting resource hub. */
.home-page main>section{padding:72px 0}
.home-page .section-heading{margin-bottom:30px;gap:28px}
.home-page .section-heading h2{font-size:clamp(32px,3.6vw,46px);line-height:1.1;letter-spacing:-1.8px}
.home-page .fit{padding:48px 0;background:#e7e9dd}
.home-page .fit-layout{gap:42px}
.home-page .fit h2{font-size:clamp(32px,3.5vw,44px);line-height:1.1}
.home-page .fit-intro p{font-size:14px;line-height:1.8}
.home-page .offer-shortcuts{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 26px}
.home-page .offer-shortcuts a{display:inline-flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding:12px 20px;min-height:48px;background:transparent;font-size:13px;font-weight:700;border-color:var(--line)}
.home-page .offer-shortcuts a:first-child{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.home-page .offer-shortcuts a span{font-size:17px;font-weight:400;letter-spacing:0}
.home-page .primary-services{margin-bottom:46px;gap:18px}
.home-page .primary-services .service{padding:26px 24px}
.home-page .primary-services .service h3{font-size:23px;min-height:56px;margin:18px 0 12px}
.home-page .primary-services .service p{font-size:14px;line-height:1.7}
.home-page .primary-services .service .service-price{font-size:22px}
.home-page .service-icon{width:36px;height:36px}
.home-page .service-number{font-size:9px}
.home-page .monthly-offer{padding-top:36px;border-top:1px solid var(--line);margin-bottom:24px}
.home-page .offer-subheading{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:15px 0 0}
.home-page .plan-card{padding:26px 24px}
.home-page .plan-card h3{font-size:22px;margin-top:18px}
.home-page .plan-card .plan-price{font-size:36px;margin-bottom:20px}
.home-page .plan-title{font-size:17px;margin-bottom:10px}
.home-page .plan-description{font-size:13px;line-height:1.7;margin-bottom:20px}
.home-page .plan-includes{padding-top:16px;margin-bottom:22px}
.home-page .plan-includes ul{gap:10px}
.home-page .plan-includes li{font-size:13px;line-height:1.7}
.home-page .lactate-disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:24px}
.home-page .lactate-disclosure>summary{display:flex;align-items:center;gap:20px;min-height:70px;padding:18px 0;font-size:15px;line-height:1.6}
.home-page .lactate-disclosure>summary span{font-size:13px;color:var(--muted);margin-left:auto}
.home-page .lactate-support{margin:0 0 22px}
.home-page .about-layout{gap:48px;align-items:start}
.home-page .about-copy h2{font-size:42px;margin-top:14px}
.home-page .about-copy>p{font-size:14px;line-height:1.8;margin-bottom:14px}
.home-page .education-extra{margin-top:12px;padding-top:12px}
.home-page .education-extra p{font-size:12px}
.home-page .instagram-profiles{margin-top:20px}
.home-page .about-disclosure{max-width:1120px;width:calc(100% - 64px);margin:20px auto 0;border-top:1px solid #bbc2ad}
.home-page .about-disclosure>summary{padding:18px 0;min-height:60px;font-size:14px;line-height:1.7}
.home-page .about-disclosure .wrap{width:100%;padding-left:0;padding-right:0}
.home-page .about-disclosure .certificate-section,.home-page .about-disclosure .bio-experience{margin-top:20px;margin-bottom:28px}
.home-page .process-grid{margin-top:32px}
.home-page .location-band{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:center;padding-top:28px;margin-top:32px;border-top:1px solid var(--line);scroll-margin-top:100px}
.home-page .location-band h3{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:0 0 10px}
.home-page .location-band p{font-size:13px;line-height:1.8;color:var(--muted);margin:0;max-width:400px}
.home-page .location-band .location-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0}
.home-page .location-band .location-list li{padding:0}
.home-page .location-band .location-list a{min-height:48px;font-size:14px;padding:12px 0}
.home-page .faq-section{background:#e7e9dd}
.home-page .faq-intro h2{font-size:38px;line-height:1.15}
.home-page .contact{padding:56px 0}
.home-page .runner-resources{padding:48px 0 58px;border-top:1px solid var(--line)}
.home-page .runner-resources .section-heading h2{font-size:32px}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.resource-card{position:relative;display:block;padding:24px 50px 24px 24px;background:#e7e9dd;border:1px solid var(--line);border-radius:var(--radius-card);text-decoration:none;min-width:0;scroll-margin-top:110px}
.resource-card h3{font-size:20px;line-height:1.35;letter-spacing:-.5px;margin:0 0 12px}
.resource-card p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.resource-card>span{position:absolute;top:25px;right:22px;font-size:23px}
.resource-card:hover{border-color:var(--ink)}
.resource-calendar{grid-column:1/-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:8px;scroll-margin-top:110px}
.resource-calendar>summary{padding:20px 0;min-height:70px}
.resource-calendar strong{display:block;font-size:17px}
.resource-calendar small{display:block;font-size:13px;line-height:1.8;color:var(--muted);margin-top:7px}
.resource-calendar-body{padding:12px 0 26px}
.resource-calendar .race-group h4{font-size:17px;margin:0 0 18px}
.resource-calendar .race-links a{min-height:70px;padding:15px 0}
@media(min-width:1101px){.home-page .navlinks{display:flex;position:static;flex-direction:row;align-items:center;max-height:none;overflow:visible;border:0;background:transparent;padding:0;gap:18px}.home-page .menu-toggle{display:none}.home-page .navlinks>a{min-height:44px;padding:8px 0;font-size:12px}.home-page .navlinks>.btn{padding:13px 18px;margin-top:0}}
@media(max-width:1100px){.home-page .primary-services .service-analysis{grid-column:auto}.home-page .primary-services{grid-template-columns:repeat(3,minmax(0,1fr))}.home-page .primary-services .service{padding:22px 18px}.home-page .primary-services .service h3{font-size:21px;min-height:76px}.home-page .primary-services .service-number{letter-spacing:0;font-size:8px}.home-page .primary-services .service-icon{display:none}.home-page .plans-grid{grid-template-columns:1fr}.home-page .plan-card h3{min-height:0}.home-page .about-layout{gap:32px}.home-page .location-band{grid-template-columns:1fr;gap:18px}.home-page .location-band p{max-width:none}}
@media(min-width:761px) and (max-width:1100px){.home-page .plan-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0 28px}.home-page .plan-kicker,.home-page .plan-card h3,.home-page .plan-price,.home-page .plan-title,.home-page .plan-description{grid-column:1}.home-page .plan-includes{grid-column:2;grid-row:1/6;border-top:0;border-left:1px solid #a9b291;padding:0 0 0 24px;margin:0 0 20px}.home-page .plan-card .btn{grid-column:1/-1}.resource-grid{gap:12px}.resource-card{padding:20px 36px 20px 18px}.resource-card>span{right:14px}.resource-card h3{font-size:18px}}
@media(max-width:760px){.home-page main>section{padding:48px 0}.home-page .fit{padding:34px 0}.home-page .fit-layout{gap:24px}.home-page .section-heading{margin-bottom:24px;gap:18px}.home-page .primary-services{grid-template-columns:1fr;gap:16px;margin-bottom:34px}.home-page .primary-services .service{padding:24px}.home-page .primary-services .service h3{min-height:0;font-size:26px}.home-page .primary-services .service p{font-size:15px}.home-page .primary-services .service-icon{display:grid}.home-page .primary-services .service-number{font-size:10px}.home-page .offer-shortcuts{gap:8px}.home-page .offer-shortcuts a{padding:10px 14px;font-size:12px;gap:14px}.home-page .monthly-offer{padding-top:28px}.home-page .offer-subheading{font-size:28px}.home-page .plan-card{padding:24px}.home-page .plan-card h3{font-size:24px}.home-page .plan-includes li{font-size:14px}.home-page .plan-description{font-size:14px}.home-page .plan-card .plan-price{font-size:40px}.home-page .lactate-disclosure>summary{flex-wrap:wrap;gap:4px 16px}.home-page .lactate-disclosure>summary span{margin-left:0;width:100%}.home-page .about-copy h2{font-size:35px}.home-page .about-copy>p{font-size:15px}.home-page .about-disclosure{width:calc(100% - 48px)}.home-page .location-band{padding-top:24px;margin-top:26px}.home-page .location-band .location-list{gap:0 16px}.home-page .faq-intro h2{font-size:33px}.resource-grid{grid-template-columns:1fr}.resource-card{padding:22px 54px 22px 22px}.resource-card h3{font-size:21px}.home-page .runner-resources .section-heading h2{font-size:29px}.resource-calendar .race-groups{grid-template-columns:1fr;gap:28px}}
@media(max-width:380px){.home-page .about-disclosure{width:calc(100% - 32px)}.home-page .location-band .location-list{grid-template-columns:1fr}}
.resource-topics{grid-column:1/-1;border-bottom:1px solid var(--line);margin-top:-16px}
.resource-topics>summary{font-size:13px;padding:18px 0;min-height:52px}
.resource-topics nav{display:flex;flex-wrap:wrap;gap:6px 24px;padding:0 0 18px}
.resource-topics nav a{display:flex;align-items:center;min-height:44px;font-size:13px;line-height:1.7;text-underline-offset:4px}

/* Gift downloads and long-form terms share the existing brand and navigation. */
.gift-banner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;border:1px solid var(--ink);border-radius:var(--radius-card);background:var(--yellow);text-decoration:none;margin:28px 0}
.gift-banner .eyebrow{font-size:10px}.gift-banner h3{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:12px 0}.gift-banner p{font-size:14px;line-height:1.8;margin:0;max-width:620px}.gift-banner-action{font-size:13px;line-height:1.7;font-weight:700;flex:none;text-decoration:underline;text-underline-offset:5px}
.voucher-notice,.intake-note{margin:30px 0;padding:26px;background:#e7e9dd;border:1px solid var(--line);border-radius:var(--radius-card);font-size:15px;line-height:1.8;max-width:960px}
.voucher-notice>strong,.intake-note>strong{font-size:19px}.voucher-notice p,.intake-note p{margin:12px 0;color:var(--muted)}.voucher-notice h2{font-size:25px;line-height:1.3;letter-spacing:-.7px;margin:0 0 14px}.voucher-notice a{text-underline-offset:4px}
.voucher-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}.voucher-steps p{font-size:14px;line-height:1.7;margin:0}.voucher-steps strong{display:block;margin-bottom:8px;font-size:12px}
.voucher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:36px}.voucher-card{border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;min-width:0;display:flex;flex-direction:column}.voucher-card>img{display:block;width:100%;height:auto;aspect-ratio:1000/705;object-fit:contain;background:#10150d}.voucher-card-copy{padding:26px;display:flex;flex-direction:column;flex:1;min-width:0}.voucher-card h2{font-size:26px;line-height:1.25;letter-spacing:-.7px;margin:0 0 16px}.voucher-card-price{font-size:23px;font-weight:800;line-height:1.4;margin:0 0 18px}.voucher-card-price span{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:7px;line-height:1.8}.voucher-card ul{font-size:14px;line-height:1.8;padding-left:19px;margin:0 0 24px}.voucher-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}.voucher-actions .btn{font-size:12px;min-height:48px;line-height:1.6;padding:12px 16px}.voucher-download-all{margin:35px 0}.voucher-download-all p{font-size:13px;line-height:1.8;color:var(--muted)}
.terms-content{max-width:860px;margin-top:40px}.terms-content>section{padding:0;margin:0 0 34px;scroll-margin-top:110px}.terms-content h2{font-size:25px;line-height:1.35;letter-spacing:-.6px;margin:0 0 16px}.terms-content p{font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 16px}.terms-content a{text-underline-offset:4px}.terms-content pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.9;background:#e7e9dd;padding:24px;border-radius:var(--radius-card);margin:20px 0}.enquiry-terms{line-height:1.8}.enquiry-terms a{display:inline-block;min-height:36px;padding:5px 0}
.intake-link{font-size:14px;font-weight:700;line-height:1.8;margin:24px 0 0}.intake-link a{display:inline-block;min-height:44px;padding:10px 0;text-underline-offset:5px}
.intake-controls{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.intake-controls .btn{font-size:12px;padding:13px 18px;line-height:1.7}.intake-local{font-size:13px;line-height:1.9;color:var(--muted);max-width:900px;margin:20px 0}
.intake-form{max-width:960px;margin-top:36px}.intake-form fieldset{border:1px solid var(--line);border-radius:var(--radius-card);padding:28px;margin:0 0 32px;min-width:0}.intake-form legend{font-size:23px;line-height:1.4;letter-spacing:-.5px;font-weight:800;padding:0 10px;max-width:100%}.intake-form p{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 22px}.intake-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.intake-field{min-width:0}.intake-wide{grid-column:1/-1}.intake-field>label{display:block;font-size:14px;line-height:1.7;font-weight:700;margin-bottom:10px}.intake-field input,.intake-field textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #9fa88e;border-radius:6px;background:var(--paper);padding:13px 14px;font-family:inherit;font-size:16px;line-height:1.7;color:var(--ink)}.intake-field textarea{min-height:90px;resize:vertical;overflow:hidden}.intake-check{display:flex;align-items:flex-start;gap:14px;margin:12px 0 26px;font-size:14px;line-height:1.9}.intake-check input{width:20px;height:20px;flex:none;margin-top:4px;accent-color:var(--ink)}.intake-form h2{font-size:24px;line-height:1.4;letter-spacing:-.5px;margin:28px 0 20px}.intake-form a{text-underline-offset:4px}.intake-form .intake-fields+p{margin-top:24px}
@media(max-width:1000px){.gift-banner{align-items:flex-start;flex-direction:column;gap:18px}.voucher-steps{gap:18px}.voucher-card-copy{padding:22px}.voucher-card h2{font-size:23px}.voucher-actions{flex-direction:column}.voucher-actions .btn{width:100%}}
@media(max-width:760px){.gift-banner{padding:24px}.gift-banner h3{font-size:26px}.voucher-grid{grid-template-columns:1fr;gap:24px}.voucher-steps{grid-template-columns:1fr;gap:16px}.voucher-steps p{display:flex;gap:16px}.voucher-notice,.intake-note{padding:22px}.voucher-notice>strong,.intake-note>strong{font-size:18px}.terms-content pre{padding:18px;font-size:13px}.terms-content h2{font-size:23px}.intake-form fieldset{padding:20px 16px}.intake-form legend{font-size:20px;padding:0 6px}.intake-fields{grid-template-columns:1fr;gap:20px}.intake-wide{grid-column:auto}.intake-controls{flex-direction:column}.intake-controls .btn{width:100%;font-size:14px}.intake-check{gap:12px;font-size:14px}.intake-form h2{font-size:22px}}
@media print{
 @page{size:A4;margin:14mm}
 .intake-document{background:white;color:#000;font-size:10pt}
 .intake-document header,.intake-document footer,.intake-document dialog,.intake-document .breadcrumbs,.intake-document .intake-controls,.intake-document .intake-local,.intake-document #intake-status{display:none!important}
 .intake-document .service-page{padding:0}.intake-document .wrap{padding:0;width:100%;max-width:none}.intake-document .service-lead{font-size:10pt;line-height:1.5}.intake-document h1{font-size:25pt;letter-spacing:-1px}.intake-document .intake-note{padding:12px;margin:16px 0;background:white;font-size:10pt;line-height:1.5}.intake-document .intake-note>strong{font-size:11pt}.intake-document .intake-form{margin-top:24px}.intake-document .intake-form fieldset{padding:14px;break-inside:auto;border-color:#777}.intake-document .intake-form legend{font-size:14pt}.intake-document .intake-field{break-inside:avoid}.intake-document .intake-fields{grid-template-columns:1fr;gap:15px}.intake-document .intake-field>label,.intake-document .intake-check,.intake-document .intake-form p{font-size:9pt;line-height:1.5}.intake-document .intake-field input,.intake-document .intake-field textarea{background:white;border-color:#777;min-height:30px;font-size:10pt;line-height:1.5;padding:6px}.intake-document .intake-check input{appearance:auto;-webkit-appearance:checkbox}.intake-document .intake-form a{color:black}.intake-document .intake-form h2{font-size:13pt;margin-top:15px}
}

/* The homepage needs selector uses a light surface; reset its former dark-theme text. */
.home-page .fit{background:#e7e9dd;color:var(--ink)}
.home-page .fit .eyebrow,.home-page .fit h2,.home-page .fit-panel h3,.home-page .fit-suggestion strong,.home-page .fit-all a{color:var(--ink)}
.home-page .fit .eyebrow:before{background:var(--ink)}
.home-page .fit-intro p,.home-page .fit-panel p,.home-page .fit-suggestion span{color:#53594b}
.home-page .fit-suggestion{border-top-color:#b8bfad}
.home-page .fit-tab{background:#2c3326;color:var(--paper);border-color:#626b55}
.home-page .fit-tab:hover{background:#3a442f;color:var(--paper);border-color:#687657}
.home-page .fit-tab[aria-selected=true]{background:var(--yellow);color:var(--ink);border-color:var(--ink)}
.home-page .fit-tab:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
/* Keep primary and outline button labels readable in interactive states. */
.btn.outline:hover,.btn.outline:focus-visible{background:var(--ink);color:var(--paper)}
.navlinks a.btn:hover,.navlinks a.btn:focus-visible{color:var(--paper)}
.navlinks a.btn.yellow:hover,.navlinks a.btn.yellow:focus-visible{color:var(--ink)}
