@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#202b1b;--panel:#303b2a;--muted:#c0c8b6;--accent:#d8e995;--white:#f1efdb;--line:#eef2d823}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--white);font:500 15px/1.8 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;border-radius:13px}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,img:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{font:inherit}.site-shell{max-width:1800px;margin:auto;overflow:clip}header{height:88px;padding:16px 6%;display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:10;background:linear-gradient(#152015c9,transparent);color:var(--white)}.brand img{width:138px;border-radius:7px}nav{display:flex;align-items:center;gap:28px;font-size:12px;font-weight:600}nav>a:hover{color:var(--accent)}#menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:40px;background:var(--accent);color:#24301b;padding:12px 22px;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#ecf6c1;transform:translateY(-2px)}.button.small{padding:9px 17px;background:transparent;color:var(--white);border:1px solid #f1efdb70}.text-link{border-bottom:1px solid #f1efdb60;padding:6px 0;font-size:12px}.eyebrow,.tag{font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--accent)}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(48px,5vw,76px)}h2{font-size:clamp(36px,4vw,59px);margin:20px 0 30px}h2 em{font-style:normal;color:var(--accent)}h3{font-size:30px}h4{font-size:15px;letter-spacing:-.01em;margin:24px 0 11px;font-weight:700}p{color:var(--muted);margin:18px 0}.hero{height:860px;min-height:700px;max-height:1000px;position:relative;isolation:isolate;display:flex;align-items:flex-start;padding:155px 6% 260px;background:#182419}.hero-photo{position:absolute;inset:0 0 0 auto;width:70%;height:100%;object-fit:cover;object-position:30% 30%;border-radius:0;z-index:-3;filter:brightness(.74) saturate(.76)}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#182419 0%,#182419bf 26%,#18241908 63%),linear-gradient(0deg,#202b1b 0%,#202b1b08 55%);z-index:-2}.hero-copy{max-width:470px}.hero-copy h1{margin:25px 0}.hero-copy h1 span{color:var(--accent)}.hero-copy p{font-size:15px;max-width:360px;color:#e0e4d7}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.hero-wordmark{position:absolute;bottom:25px;left:3%;width:94%;font-size:clamp(90px,15.4vw,260px);line-height:.95;letter-spacing:-.075em;font-weight:500;color:#efedcf;white-space:nowrap;pointer-events:none}.hero-caption{position:absolute;right:6%;top:155px;width:200px;padding:20px;background:#283521db;border:1px solid #edf2c82e;border-radius:17px;backdrop-filter:blur(14px)}.profile-label{font-size:9px;letter-spacing:.1em;color:var(--muted)}.hero-caption h3{font-size:25px;margin:7px 0 17px}.rating{display:flex;gap:10px;align-items:center;margin:15px 0}.rating strong{color:var(--accent);font-size:34px;line-height:1;letter-spacing:-.06em}.rating span{font-size:8px;line-height:1.6;color:var(--muted);max-width:50px}.profile-photo{width:100%;aspect-ratio:1.5;object-fit:contain;background:#1b2517}.hero-caption>a{display:flex;justify-content:space-between;font-size:10px;margin-top:14px;color:var(--accent)}.ticker{margin:0 6%;padding:25px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:9px;letter-spacing:.1em;color:var(--muted)}.ticker span{color:var(--accent);font-size:20px}.section{max-width:1320px;margin:auto;padding:100px 6%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.intro h2{font-size:48px}.large{color:var(--white);font-size:20px;margin-top:0}.detail-note{border-top:1px solid var(--line);padding-top:20px;margin:25px 0}.detail-note>b{font-size:14px;color:var(--accent)}.detail-note p{font-size:14px}.mini-stats{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.mini-stats strong{display:block;font-size:38px;line-height:1.2;font-weight:600;color:var(--accent);letter-spacing:-.05em}.mini-stats span{display:block;color:var(--muted);font-size:11px;margin-top:9px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-heading p{max-width:320px;font-size:14px}.section-heading h2{margin-bottom:0}#coaching{max-width:1440px;margin:0 3%;background:var(--panel);padding:55px 20px 20px;border-radius:23px}#coaching .section-heading{display:block;text-align:center;margin:0 auto 40px;max-width:650px}#coaching .section-heading p{max-width:none}#coaching h2{font-size:45px}.training-grid{display:grid;gap:18px}.training-grid article{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.training-grid article>img{grid-column:2;grid-row:1;width:100%;height:100%;min-height:420px;object-fit:contain;background:#25301f}.training-grid article:nth-child(2)>img{grid-column:1}.training-grid article:nth-child(2) .article-body{grid-column:2}.article-body{grid-column:1;grid-row:1;padding:40px;background:var(--bg);border-radius:14px;display:flex;flex-direction:column}.article-body h3{font-size:34px;margin:15px 0 0}.article-body p,.service-detail ul{font-size:14px;line-height:1.8}.service-detail{margin:0 0 25px}.service-detail ul,.event-details ul{padding-left:19px;color:var(--muted)}li{margin-bottom:8px}li::marker{color:var(--accent)}.article-body>a{color:var(--accent);font-size:12px;font-weight:700;margin-top:auto;align-self:start;border-bottom:1px solid #d8e99550;padding-bottom:4px}.rate-note{border-left:2px solid var(--accent);padding:9px 0 9px 15px;margin-top:22px}.rate-note b{font-size:13px;display:block;color:var(--white)}.rate-note span{font-size:12px;color:var(--muted);display:block;margin-top:7px}.results{background:radial-gradient(ellipse at 50% 65%,#6d7c3030,transparent 65%)}.section-summary{max-width:760px;font-size:14px}.podium{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;margin:35px 0}.podium>div{padding:30px;background:#303b2ab0;border-top:1px solid #d8e99560}.podium span{font-size:10px;color:var(--accent);letter-spacing:.1em;font-weight:700}.podium strong{font-size:76px;display:block;line-height:1.1;letter-spacing:-.06em;margin-top:16px}.podium h3{font-size:31px;margin-top:22px}.podium p{font-size:13px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.photo-pair img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#1b2517}.gallery img{cursor:zoom-in;transition:filter .2s}.gallery img:hover{filter:brightness(1.12)}.clinic{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.big-number{font-size:54px;color:var(--accent);display:flex;gap:20px;align-items:center;letter-spacing:-.05em}.big-number span{font-size:10px;letter-spacing:.05em;line-height:1.7;color:var(--muted)}.steps{list-style:none;padding:0;counter-reset:step;margin:25px 0}.steps li{counter-increment:step;display:grid;grid-template-columns:25px 90px 1fr;gap:8px;border-top:1px solid var(--line);padding:17px 0;font-size:12px}.steps li:before{content:'0' counter(step);color:var(--accent)}.steps span{color:var(--muted)}.clinic-photos{display:grid;gap:18px}.clinic-photos img{width:100%;aspect-ratio:2.55/1;object-fit:contain;background:#1b2517}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.event-grid img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#1b2517}.event-grid h3{margin-top:26px;font-size:34px}.event-details{border-top:1px solid var(--line);padding-top:1px;margin-top:25px}.event-details p,.event-details ul{font-size:14px}.inline-cta{color:var(--accent);font-size:12px;font-weight:700}.gallery-heading{text-align:center;margin:85px 0 30px}.gallery-heading h3{font-size:40px}.gallery-heading p{font-size:13px}.event-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-gallery img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#2d3926}.event-gallery img:nth-child(1){transform:rotate(-3deg)}.event-gallery img:nth-child(3){transform:rotate(3deg)}.philosophy{background:radial-gradient(ellipse at center,#58653044,transparent 70%);text-align:center}.philosophy h2{font-size:clamp(38px,5vw,67px);line-height:1.14}.philosophy h2 span{color:var(--accent)}.philosophy>p{max-width:720px;margin:20px auto}.principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:45px;border-top:1px solid var(--line);text-align:left}.principle-grid h4{color:var(--accent);font-size:20px;margin-top:30px}.principle-grid p{font-size:14px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--panel);max-width:none;padding:70px 9%}.contact h2{font-size:57px}.contact-guide{margin:25px 0}.contact-guide p{font-size:14px}.contact-links{padding-top:25px}.contact-links a{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:17px 0;font-size:13px;font-weight:600}.contact-links span{color:var(--accent)}.contact-links a:hover{color:var(--accent)}footer{background:var(--panel);padding:30px 6% 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;color:var(--muted);font-size:10px}.footer-wordmark{width:100%;font-size:clamp(65px,13vw,210px);font-weight:500;letter-spacing:-.075em;line-height:1.1;color:var(--white);text-align:center;margin-top:30px}dialog{background:var(--bg);border:1px solid var(--line);padding:16px;max-width:94vw;max-height:94vh;border-radius:18px}dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}dialog img{max-width:85vw;max-height:80vh;object-fit:contain}dialog button{position:absolute;right:20px;top:20px;border:0;border-radius:50%;width:38px;height:38px;background:var(--accent);color:var(--bg);font-size:25px;cursor:pointer}
@media(min-width:1500px){#coaching{margin-inline:auto}.hero-wordmark{font-size:245px}.hero{height:960px}.hero-copy{max-width:530px}}
@media(max-width:1000px){.hero{height:780px;padding-top:140px}.hero-copy{max-width:420px}.hero-caption{width:175px;right:4%}.hero h1{font-size:57px}.intro h2{font-size:40px}.article-body{padding:28px}.section{padding-block:75px}.article-body h3{font-size:30px}.contact{padding-inline:6%}nav{gap:19px}}
@media(max-width:760px){header{height:78px;padding-inline:5%}.brand img{width:120px}#menu{display:block;border:1px solid #f1efdb60;background:#202b1b;color:var(--white);width:40px;height:40px;border-radius:9px;font-size:23px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--bg);padding:25px 5%;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{height:auto;min-height:850px;padding:125px 5% 150px;display:block}.hero-photo{width:100%;object-position:29% center}.hero:before{background:linear-gradient(90deg,#182419d9,#18241930),linear-gradient(0deg,#202b1b,#202b1b00 85%)}.hero-copy{max-width:100%;position:relative;z-index:1}.hero-copy p{max-width:340px}.hero h1{font-size:clamp(47px,9vw,65px)}.hero-caption{position:relative;top:auto;right:auto;width:100%;margin-top:36px;display:grid;grid-template-columns:1fr 110px;gap:5px 20px;padding:20px}.hero-caption .profile-label,.hero-caption h3,.hero-caption .rating,.hero-caption>a{grid-column:1}.hero-caption h3{margin:4px 0}.hero-caption .rating{margin:5px 0}.hero-caption .profile-photo{grid-column:2;grid-row:1/5;height:100%;aspect-ratio:auto;max-height:145px}.hero-wordmark{font-size:15.2vw;bottom:35px;left:4%}.ticker{font-size:8px;flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 0}.ticker span{font-size:14px}.section{padding:60px 5%}.intro,.clinic,.contact{grid-template-columns:1fr;gap:30px}.intro h2{font-size:38px}.large{font-size:18px}.section-heading{display:block}.section-heading p{margin-top:22px}#coaching{margin-inline:3%;padding:35px 12px 12px}#coaching h2{font-size:35px}.training-grid article{display:flex;flex-direction:column;gap:0;background:var(--bg);border-radius:13px;overflow:hidden}.training-grid article>img{height:auto;min-height:0;aspect-ratio:3/2;object-fit:contain;border-radius:0}.article-body{padding:28px 24px;border-radius:0}.article-body h3{font-size:30px}.article-body>a{margin-top:10px}.podium{grid-template-columns:1fr 1fr;gap:12px}.podium .world{grid-column:1/-1}.podium>div{padding:22px}.podium h3{font-size:27px}.photo-pair{gap:12px}.big-number{font-size:46px}.clinic-photos{gap:14px}.event-grid{grid-template-columns:1fr;gap:40px}.event-gallery{gap:12px}.gallery-heading{margin-top:60px}.gallery-heading h3{font-size:32px}.principle-grid{grid-template-columns:1fr;gap:0}.principle-grid p{margin-top:12px}.philosophy h2{font-size:clamp(31px,6.5vw,46px)}.contact{padding:50px 5%}.contact h2{font-size:48px}.contact-links{padding-top:0}.footer-wordmark{font-size:14vw;margin-top:20px}}
@media(max-width:440px){.eyebrow{font-size:8px}.hero{padding-bottom:120px}.hero h1{font-size:48px}.hero .actions{gap:15px}.hero .button{font-size:11px}.hero .text-link{font-size:11px}.hero-caption{grid-template-columns:1fr 90px}.photo-pair{grid-template-columns:1fr}.event-gallery{grid-template-columns:1fr;gap:18px}.event-gallery img{aspect-ratio:3/2;transform:none!important}.mini-stats{gap:18px}.mini-stats strong{font-size:32px}.mini-stats span{font-size:10px}.steps li{grid-template-columns:20px 78px 1fr;gap:6px}.contact .button{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Sky-blue editorial direction, inspired by the supplied reference. */
:root{--bg:#fafbfc;--panel:#edf2f7;--muted:#48586a;--accent:#2c5c87;--white:#152a3d;--line:#1d426421}
body{background:#e6edf5;color:var(--white);font-weight:500}
.site-shell{max-width:1600px;background:var(--bg);position:relative;margin:auto}
header{background:transparent;color:white;height:94px;padding-inline:4.5%}
nav{font-size:12px;font-weight:600}
nav>a:hover{color:#e5f0ff}
.brand img{width:145px;border-radius:9px}
.button{background:var(--accent);color:white;font-weight:700}
.button:hover{background:#174369;color:white}
.button.small{border-color:#ffffff90;color:white}
h1,h2,h3{font-weight:600;letter-spacing:-.035em}
.hero{height:900px;min-height:820px;max-height:none;background:linear-gradient(145deg,#668bb4,#8caaca 65%,#b8ccd9);padding:165px 4.5% 285px;border-radius:0 0 40px 40px;overflow:hidden}
.hero-photo{width:70%;object-position:27% center;filter:saturate(.55);mix-blend-mode:luminosity;opacity:.82;mask-image:linear-gradient(90deg,transparent,#000 24%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%)}
.hero:before{background:linear-gradient(90deg,#6b90b7 0%,#6b90b7e6 20%,#6b90b72a 64%),linear-gradient(0deg,#a5becfb3,transparent 60%)}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(130deg,#88add322,transparent);z-index:-1;pointer-events:none}
.hero-copy{max-width:660px;position:relative;z-index:2}
.hero h1{color:#fff;font-size:clamp(42px,4.3vw,67px);line-height:1.1;letter-spacing:-.035em;margin:25px 0}
.hero h1 span{color:white}
.hero-copy p{color:#fff;max-width:445px;font-weight:500;font-size:16px;text-shadow:0 1px 9px #25496e20}
.hero .eyebrow{color:#f4f8ff;font-size:9px}
.hero .button{background:white;color:#243e55}
.hero .button:hover{background:#e9f1f8}
.hero .text-link{color:#fff;border-color:#ffffff90}
.hero-caption{top:165px;right:4.5%;width:225px;background:#bfd0dc32;border:1px solid #ffffff75;box-shadow:0 8px 35px #244a6b15;border-radius:24px;color:white;padding:16px;backdrop-filter:blur(16px)}
.hero-caption .profile-label,.rating span{color:#f2f6fa}
.hero-caption h3{font-size:25px}
.rating strong{color:#fff}
.profile-photo{background:#718fa6;aspect-ratio:1.65;object-fit:contain;border-radius:15px}
.hero-caption>a{color:white;font-weight:700;border-top:1px solid #ffffff45;padding-top:12px}
.hero-mini-card,.hero-event-card{position:absolute;bottom:50px;z-index:3;display:grid;grid-template-columns:145px 1fr;gap:15px;border:1px solid #ffffff7a;padding:10px;background:#c4d6e338;border-radius:24px;backdrop-filter:blur(16px);color:#fff;width:355px;transition:background .2s}
.hero-mini-card{left:4.5%}.hero-event-card{right:4.5%}
.hero-mini-card:hover,.hero-event-card:hover{background:#c4d6e370}
.hero-mini-card img,.hero-event-card img{width:145px;height:135px;object-fit:cover;border-radius:17px}
.hero-mini-card div,.hero-event-card div{align-self:center}
.hero-mini-card span,.hero-event-card span{font-size:8px;letter-spacing:.08em;font-weight:700}
.hero-mini-card p,.hero-event-card p{font-size:13px;color:#fff;line-height:1.5;margin:10px 0}
.hero-mini-card b,.hero-event-card b{font-size:10px;font-weight:700;border-bottom:1px solid #ffffff80;padding-bottom:3px}
.service-banner{padding:48px 4.5% 30px;font-size:clamp(25px,3.3vw,49px);line-height:1.3;letter-spacing:-.035em;color:#152a3d;font-weight:500}
.service-banner span{color:#8facc1;font-size:.9em}
.service-banner em{font-style:normal;border:1px solid #64829b;padding:0 16px;border-radius:50px}
.ticker{margin-inline:4.5%;color:#536a7a;padding:20px 0;font-weight:700}
.ticker span{color:#6d91ad}
.section{padding-block:85px}
.intro h2{font-size:44px}
.large{color:#263e50}
.detail-note{background:#edf3f8;border:0;border-left:3px solid #82a5c3;border-radius:0 15px 15px 0;padding:19px 21px}
.detail-note>b{color:#2e5a7d}
.mini-stats strong{color:#325f83}
#coaching{background:#eaf0f6;padding:50px 20px 20px;border:1px solid #d9e4ed}
#coaching .section-heading{text-align:left;max-width:none;margin-inline:22px}
#coaching h2{font-size:45px}
.training-grid article>img{background:#dce6ee}
.article-body{background:#fff;border:1px solid #dce6ed}
.article-body>a{border-color:#2c5c8750}
.rate-note{border-color:#7fa2bd;background:#edf4f8;padding:15px;border-radius:0 12px 12px 0}
.rate-note b{color:#28465d}
.results{background:linear-gradient(140deg,#f3f6f9,#e5eef6)}
.podium>div{background:#fff;border:1px solid #d9e5ee;border-radius:18px}
.podium .world{background:#37688c;color:white;border:0}
.podium .world span,.podium .world p{color:#f2f7fc}
.photo-pair img,.clinic-photos img,.event-grid img,.event-gallery img{background:#e4ecf2}
.event-gallery img{transform:none!important;border-radius:20px;aspect-ratio:3/2}
.philosophy{background:linear-gradient(130deg,#7698bb,#a8c1d3);color:white;text-align:left;border-radius:30px;margin:0 4.5%;padding:65px 5%}
.philosophy .eyebrow{color:#fff}
.philosophy h2 span{color:#edf5fc}
.philosophy>p{margin-left:0;color:#fff}
.principle-grid{border-color:#ffffff50}
.principle-grid h4{color:#fff}
.principle-grid p{color:#f3f7fb}
.contact{background:#f0f4f7;padding:75px 9%}
.contact-links a{color:#28465c}
.contact-links a:hover{color:#17436b}
footer{background:#e7eef4;color:#4e6679;border-color:#cfdae3}
.footer-wordmark{color:#6486a1}
dialog{background:#f7fafc;border-color:#d3e0eb}
dialog button{color:white;background:#2c5c87}
@media(min-width:1500px){.hero{height:960px}.hero h1{font-size:67px}}
@media(max-width:1100px){.hero-copy{max-width:590px}.hero h1{font-size:51px}.hero-caption{width:195px;right:4%}.hero-mini-card,.hero-event-card{width:320px;grid-template-columns:120px 1fr}.hero-mini-card img,.hero-event-card img{width:120px;height:130px}.hero{padding-top:145px}.hero-caption{top:145px}}
@media(max-width:850px) and (min-width:761px){.hero-copy{max-width:460px}.hero h1{font-size:45px}.hero-caption{top:460px;width:190px}.hero-event-card{display:none}.hero-mini-card{width:340px}.hero{height:900px}}
@media(max-width:760px){header{height:78px;padding-inline:5%}#menu{background:#ffffff15;color:white;border-color:#ffffff90}nav{background:#f8fbfd;color:#263f53}nav .button.small{color:#2c5c87;border-color:#92aabb}.hero{height:auto;min-height:1000px;padding:120px 5% 35px;display:flex;flex-direction:column;gap:24px;border-radius:0 0 28px 28px}.hero-copy{max-width:100%}.hero h1{font-size:clamp(38px,7.8vw,57px);margin:20px 0}.hero-photo{width:100%;height:100%;object-position:29% center;opacity:.65;mask-image:linear-gradient(0deg,#000,transparent 95%);-webkit-mask-image:linear-gradient(0deg,#000,transparent 95%)}.hero:before{background:linear-gradient(180deg,#6c91b9 0%,#6c91b9c9 30%,#91b0c67a 72%,#9bb7cb)}.hero-copy p{font-size:15px;max-width:380px}.hero-caption{position:relative;top:auto;right:auto;width:100%;display:grid;grid-template-columns:1fr 100px;background:#b9cedd40;margin:125px 0 0;padding:18px;gap:4px 20px}.hero-caption .profile-label,.hero-caption h3,.hero-caption .rating,.hero-caption>a{grid-column:1}.hero-caption .profile-photo{grid-column:2;grid-row:1/5;width:100%;height:100%;max-height:160px;object-fit:cover}.hero-caption .rating{margin:8px 0}.hero-caption>a{font-size:10px}.hero-mini-card,.hero-event-card{position:relative;left:auto;right:auto;bottom:auto;width:100%;grid-template-columns:100px 1fr;padding:10px;border-radius:19px}.hero-mini-card img,.hero-event-card img{width:100px;height:100px}.hero-mini-card{margin-top:0}.hero-event-card{display:none}.service-banner{padding:35px 5% 15px;font-size:clamp(24px,5.3vw,36px)}.service-banner em{padding-inline:10px}.ticker{margin-inline:5%;font-size:8px}.section{padding-block:60px}.intro h2{font-size:37px}#coaching{padding:35px 12px 12px}#coaching .section-heading{margin-inline:12px}#coaching h2{font-size:34px}.training-grid article{background:#fff}.article-body{border:0}.philosophy{padding:38px 6%;border-radius:23px}.philosophy h2{font-size:clamp(30px,6vw,44px)}.contact{padding:50px 5%}.footer-wordmark{font-size:14vw}}
@media(max-width:440px){.hero{padding-top:110px;min-height:1040px}.hero h1{font-size:39px}.hero .eyebrow{font-size:8px}.hero-copy p{font-size:14px}.hero-caption{margin-top:135px;grid-template-columns:1fr 90px}.hero-mini-card p{font-size:12px}.service-banner{font-size:25px}}

/* Give the athlete full colour, contrast and a clear focal area. */
.hero-photo{width:74%;opacity:1;mix-blend-mode:normal;filter:brightness(1.08) contrast(1.07) saturate(1.08);object-position:28% 24%;mask-image:linear-gradient(90deg,transparent 0%,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%)}
.hero:before{background:linear-gradient(90deg,#6b90b7 0%,#6b90b7ef 20%,#6b90b760 35%,transparent 49%),linear-gradient(0deg,#99b6ca65,transparent 24%)}
.hero:after{background:none}
.hero-copy{max-width:610px;text-shadow:0 2px 16px #1d3a5720}
@media(min-width:1101px){.hero h1{font-size:clamp(42px,4vw,62px)}.hero-copy p{max-width:390px}}
@media(max-width:760px){
 .hero{min-height:0;height:auto;padding:115px 5% 30px;gap:24px}
 .hero-copy{order:1;max-width:100%}
 .hero-photo{position:relative;inset:auto;order:2;width:calc(100% + 10%);max-width:none;align-self:center;height:530px;object-fit:cover;object-position:25% 12%;opacity:1;mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none;border-radius:22px;filter:brightness(1.08) contrast(1.07) saturate(1.08);z-index:0;box-shadow:0 20px 45px #294a6a30}
 .hero:before{background:linear-gradient(150deg,#7399bf,#a7c1d4)}
 .hero-caption{order:3;margin:0;width:100%;position:relative;top:auto;right:auto}
 .hero-mini-card{order:4}
 .hero-event-card{order:5}
}
@media(max-width:440px){.hero{min-height:0;padding-top:110px}.hero-photo{height:450px;object-position:27% 10%}.hero-caption{margin-top:0}}

/* Multi-page information architecture. */
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:#fff;color:#173e60;padding:12px 18px;border-radius:12px}
.skip-link:focus{top:16px}
header{gap:22px;padding-inline:4%;height:94px}
nav{gap:18px;font-size:11px;flex:1;justify-content:flex-end}
nav .button{white-space:nowrap;font-size:11px;padding:11px 17px}
nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.brand{flex-shrink:0}
.brand img{width:140px}
.site-shell > header{position:relative;inset:auto;background:#fff;color:#25465f;border-bottom:1px solid #dce5ed}
.interior nav .button{background:#2c5c87;color:white}
.interior nav>a:hover{color:#527f9f}
.site-shell > header #menu{color:#2c5c87;border-color:#9db7cc;background:#edf4f9}
.secondary{background:transparent;border:1px solid #7898b1;color:#315a7b}
.secondary:hover{background:#e3edf5;color:#234866}
.hero .secondary{background:transparent;color:white;border-color:#ffffffa0}
.hero .secondary:hover{background:#ffffff25;color:white}
.hero .actions .button{font-size:12px}
.page-title{padding:74px 6% 64px;background:linear-gradient(120deg,#e7eff7,#f7fafc);border-radius:0 0 32px 32px}
.page-title h1{font-size:clamp(42px,5.5vw,78px);color:#244b6c;margin:23px 0;line-height:1.06}
.page-title>p{max-width:750px;font-size:18px;line-height:1.7}
.page-title .eyebrow{color:#436d8e}
.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.feature-split>img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#e0eaf2;border-radius:25px}
.feature-split p{max-width:550px;margin:23px 0 28px;font-size:16px}
.feature-split.reverse>div{grid-column:2;grid-row:1}
.feature-split.reverse>img{grid-column:1;grid-row:1}
.overview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.overview-cards article{background:white;border:1px solid #dce6ef;border-radius:23px;overflow:hidden;display:flex;flex-direction:column}
.overview-cards article>img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#e2ebf2;border-radius:0}
.overview-cards article>div{padding:26px;display:flex;flex:1;flex-direction:column}
.overview-cards h3{font-size:28px;margin-top:13px}
.overview-cards p{font-size:14px;line-height:1.8}
.overview-cards .inline-cta{margin-top:auto;padding-top:12px}
.landing-services{background:#edf3f8;max-width:none}
.page-cta{margin:20px 5% 70px;padding:42px;background:linear-gradient(120deg,#7297ba,#a3bed2);color:white;border-radius:25px;display:flex;justify-content:space-between;align-items:center;gap:35px}
.page-cta h2{font-size:38px;margin:0 0 16px;color:white}
.page-cta p{color:#fff;max-width:700px;margin:0}
.page-cta .button{flex-shrink:0;background:white;color:#254e6c}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.info-grid article{border-top:2px solid #9bb7ce;padding:25px 22px;background:#eef4f8;border-radius:0 0 18px 18px}
.info-grid h3{font-size:26px}
.info-grid p,.info-grid li{font-size:14px;color:#465d6d}
.info-grid ul{padding-left:18px}
.coach-profile,.programme-row{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.coach-profile>img{width:100%;max-height:650px;object-fit:contain;background:#e2ebf2;border-radius:25px}
.coach-profile .button{margin-top:28px}
.programme-row{border-bottom:1px solid #dce6ed}
.programme-row>img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#e5edf3;border-radius:22px}
.programme-row h2{font-size:42px}
.programme-row p{font-size:15px}
.programme-row .button{margin-top:20px}
.itinerary{background:#edf3f8;border-radius:25px}
.journey-list{padding:0;list-style:none;counter-reset:journey;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.journey-list li{counter-increment:journey;background:white;border:1px solid #dce7ee;border-radius:18px;padding:24px}
.journey-list li:before{content:'0' counter(journey);display:block;font-size:28px;color:#7a9ebc;margin-bottom:12px;font-weight:700}
.journey-list p{font-size:14px}
.note{font-size:13px;line-height:1.7}
.upcoming{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;background:#eaf2f8;margin:0 5%;border-radius:24px;padding:45px;align-items:center}
.link-panel{display:flex;flex-direction:column;align-items:stretch;gap:18px}
.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.activity-grid img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#e5edf3}
.booking-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:55px;align-items:start}
.booking-card{border:1px solid #dce6ee;padding:35px;border-radius:24px;background:#fff;min-width:0}
.booking-card h2{font-size:37px;margin-top:0}
.booking-card>p{font-size:14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#2b4a62;margin:0 0 20px}
input,select,textarea{font:500 14px/1.5 'DM Sans',Arial,sans-serif;color:#223c52;background:#f7fafc;border:1px solid #b9cdda;border-radius:10px;padding:12px;width:100%;min-width:0}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid #5686ad;outline-offset:2px}
input:invalid:not(:placeholder-shown){border-color:#9f615d}
.form-note{font-size:12px;line-height:1.7}
form .button{border:0;cursor:pointer}
#booking-status{font-size:13px;color:#305774}
.booking-info{padding-top:10px}
.booking-info h3{font-size:33px;margin-top:20px}
.booking-info p{font-size:14px}
.booking-info h4{font-size:17px;margin-top:30px}
.booking-social{display:flex;flex-direction:column;gap:12px;font-size:13px;color:#315e80}
.site-footer{display:block;background:#e5edf4;padding:48px 5% 25px;border-top:1px solid #d1e0ea}
.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:55px}
.footer-top>div{display:flex;flex-direction:column;align-items:start;gap:9px}
.footer-top h3{font-size:17px;letter-spacing:-.01em;color:#234661;margin-bottom:12px}
.footer-top a{font-size:12px;line-height:1.8;color:#355a76}
.footer-top p{font-size:13px;color:#4b6375;margin:10px 0}
.footer-top .brand img{width:160px}
.footer-base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:40px;border-top:1px solid #c7d9e6;padding-top:20px;font-size:10px}
@media(max-width:1200px){header{height:80px}#menu{display:block;margin-left:auto;flex-shrink:0;width:42px;height:42px;border-radius:10px;border:1px solid #ffffff80;color:#fff;background:#ffffff15;font-size:23px}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:25px 5%;background:#fff;color:#24455d;flex-direction:column;align-items:stretch;gap:20px;box-shadow:0 15px 25px #1a416920;max-height:calc(100svh - 80px);overflow:auto}nav.open{display:flex}.landing nav>a:hover{color:#315f83}.booking-layout{gap:30px}.hero-copy{max-width:580px}}
@media(max-width:760px){.page-title{padding:45px 5%}.page-title h1{font-size:43px}.page-title>p{font-size:16px}.feature-split,.coach-profile,.programme-row,.booking-layout,.upcoming{grid-template-columns:1fr;gap:30px}.feature-split.reverse>div,.feature-split.reverse>img{grid-column:auto;grid-row:auto}.feature-split>img{order:2}.feature-split p{font-size:15px}.overview-cards,.info-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading>.button{margin-top:24px}.page-cta{margin:15px 5% 45px;padding:30px 24px;display:block}.page-cta h2{font-size:32px}.page-cta .button{margin-top:25px}.journey-list{grid-template-columns:1fr}.upcoming{margin-inline:5%;padding:30px 24px}.activity-grid{gap:15px}.booking-card{padding:25px 20px}.booking-card h2{font-size:32px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1/-1}.site-footer{padding-top:35px}.coach-profile .mini-stats{grid-template-columns:1fr 1fr}.programme-row h2{font-size:35px}.hero .actions{gap:12px}.hero .actions .button{font-size:11px;padding:12px 17px}}
@media(max-width:480px){.form-grid{grid-template-columns:1fr;gap:0}.activity-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;gap:30px}.footer-top>div:first-child{grid-column:auto}.page-title h1{font-size:38px}}

/* Three service catalogues with one accessible navigation group. */
.services-menu{position:relative;font-size:11px;font-weight:600}
.services-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px;padding:8px 0}
.services-menu summary::-webkit-details-marker{display:none}
.services-menu summary:focus-visible{outline:3px solid #8db3d2;outline-offset:5px;border-radius:4px}
.services-menu[open]>summary span{transform:rotate(180deg)}
.services-submenu{position:absolute;top:calc(100% + 8px);left:-18px;min-width:260px;display:flex;flex-direction:column;gap:4px;background:white;color:#25465f;border:1px solid #d2e0eb;border-radius:15px;padding:10px;box-shadow:0 16px 40px #193f6525;z-index:30}
.services-submenu a{padding:11px 13px;border-radius:9px;white-space:nowrap;font-size:12px}
.services-submenu a:hover,.services-submenu a[aria-current=page]{background:#e9f1f7;color:#1c4b72}
.catalogue-intro{padding-bottom:35px}
.service-tabs{position:static;inset:auto;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:12px;overflow:visible;max-height:none;background:transparent;box-shadow:none;padding:0;margin-bottom:45px;font-size:12px;border:0;flex:none}
.service-tabs a{display:block;padding:11px 17px;background:#edf3f8;color:#355d7b;border:1px solid #d1e1ec;border-radius:50px;line-height:1.5;text-decoration:none;font-weight:700}
.service-tabs a:hover,.service-tabs a[aria-current=page]{background:#2c5c87;color:#fff;border-color:#2c5c87}
.catalogue-lead{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.catalogue-lead>img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#e3ecf3;border-radius:24px}
.catalogue-lead h2{font-size:43px}
.catalogue-lead p{font-size:15px;line-height:1.85;margin-bottom:26px}
.catalogue-section{padding-top:25px}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px}
.catalogue-item{background:#fff;border:1px solid #d8e5ee;border-radius:21px;padding:28px;display:flex;flex-direction:column;min-width:0}
.catalogue-number{font-size:13px;font-weight:700;color:#668eaf;margin-bottom:22px}
.catalogue-item h3{font-size:25px;line-height:1.2}
.catalogue-item p{font-size:14px;line-height:1.85;margin:17px 0 24px}
.catalogue-item .inline-cta{font-size:11px;line-height:1.7;margin-top:auto}
.booking-steps{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;background:#eaf2f8;border-radius:25px;margin:0 5% 55px;padding:42px}
.booking-steps h2{font-size:39px}
.booking-steps ol{padding-left:24px;margin:0}
.booking-steps li{padding-left:10px;margin-bottom:23px}
.booking-steps b{font-size:15px;color:#294e6b}
.booking-steps p{font-size:14px;line-height:1.75;margin:8px 0}
@media(max-width:1200px){.services-menu{font-size:12px}.services-submenu{position:static;min-width:0;box-shadow:none;margin-top:7px;background:#f1f6fa;border-color:#d9e5ed}.services-submenu a{white-space:normal}.service-tabs{position:static;display:flex;padding:0;max-height:none;box-shadow:none;background:transparent;gap:10px}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.catalogue-lead,.booking-steps{grid-template-columns:1fr;gap:30px}.catalogue-lead h2{font-size:35px}.service-tabs{flex-direction:column;align-items:stretch;margin-bottom:30px}.service-tabs a{text-align:center}.catalogue-grid{grid-template-columns:1fr;gap:17px}.catalogue-item{padding:25px}.catalogue-item h3{font-size:25px}.catalogue-section{padding-top:15px}.booking-steps{padding:30px 24px;margin-bottom:35px}.booking-steps h2{font-size:34px}.catalogue-intro{padding-bottom:25px}}

/* Service selectors: generous targets, distinct states and consistent iconography. */
.service-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:48px;width:100%}
.service-tabs a.service-category{display:flex;align-items:center;gap:14px;min-height:115px;padding:22px 18px;border-radius:20px;background:#fff;border:1px solid #d7e4ee;box-shadow:0 5px 18px #274f7006;color:#315874;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;text-align:left;white-space:normal}
.category-icon{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:#eaf2f8;color:#3c709a}
.category-copy{min-width:0;display:flex;flex-direction:column;gap:7px}
.category-copy strong{font-size:13px;line-height:1.4;font-weight:700;letter-spacing:-.01em}
.category-copy small{font-size:10px;line-height:1.65;color:#57718a;font-weight:500}
.category-arrow{margin-left:auto;font-size:19px;align-self:flex-start;line-height:1.4;color:#6387a3}
.service-tabs a.service-category:hover{background:#f5f9fd;border-color:#80a8c8;box-shadow:0 10px 24px #315c8412;transform:translateY(-3px);color:#234e72}
.service-tabs a.service-category[aria-current=page]{background:linear-gradient(125deg,#27567e,#447ba3);border-color:#2c608a;color:#fff;box-shadow:0 10px 24px #2b5d8726}
.service-category[aria-current=page] .category-icon{background:#ffffff23;color:#fff;border:1px solid #ffffff35}
.service-category[aria-current=page] .category-copy small{color:#edf5fc}
.service-category[aria-current=page] .category-arrow{color:#fff}
.catalogue-item{padding:27px;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 4px 16px #294e6d04}
.catalogue-item:hover{transform:translateY(-4px);border-color:#8aafca;box-shadow:0 15px 35px #315c8312}
.catalogue-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.service-icon{display:flex;align-items:center;justify-content:center;width:55px;height:55px;border-radius:17px;background:linear-gradient(135deg,#edf5fb,#dfedf7);color:#376e99;border:1px solid #d6e5f0}
.catalogue-card-top .catalogue-number{margin:0;color:#819bb0;font-size:11px;font-weight:600;letter-spacing:.1em}
.catalogue-item p{margin-bottom:25px}
.service-enquiry{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:13px;padding:12px 13px 12px 16px;border:1px solid #d5e3ee;border-radius:13px;background:#f1f6fa;color:#315d7e;font-size:11px;line-height:1.5;font-weight:700;transition:background .2s,color .2s,border-color .2s}
.service-enquiry .enquiry-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:#fff;border:1px solid #d9e6ef;font-size:16px;flex-shrink:0}
.service-enquiry:hover{background:#2c5c87;border-color:#2c5c87;color:white}
.service-enquiry:hover .enquiry-arrow{background:#ffffff20;border-color:#ffffff30}
.services-submenu a{display:flex;align-items:center;gap:12px}
.submenu-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#eaf2f8;color:#3f7399;flex-shrink:0}
.submenu-icon svg{width:21px;height:21px}
.services-submenu a[aria-current=page] .submenu-icon{background:#d9e8f4;color:#224f74}
@media(max-width:1200px){.service-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.service-tabs a.service-category{padding:18px 14px;gap:11px}.category-icon{width:40px;height:40px;flex-basis:40px;border-radius:13px}.category-icon svg{width:23px;height:23px}.category-copy strong{font-size:12px}.category-arrow{font-size:17px}}
@media(max-width:900px){.service-tabs a.service-category{align-items:flex-start;flex-wrap:wrap}.category-icon{width:42px;height:42px;flex-basis:42px}.category-copy{order:3;width:100%;gap:5px}.category-arrow{margin-left:auto}.category-copy strong{font-size:13px}}
@media(max-width:600px){.service-tabs{grid-template-columns:1fr;gap:12px;margin-bottom:32px}.service-tabs a.service-category{flex-wrap:nowrap;align-items:center;min-height:94px;padding:17px 19px;gap:15px}.category-copy{order:0;width:auto}.category-copy strong{font-size:13px}.category-copy small{font-size:10px}.category-arrow{align-self:center}.category-icon{width:46px;height:46px;flex-basis:46px}.catalogue-item{padding:25px}.service-enquiry{padding:12px 13px 12px 15px;min-height:52px}}

/* Balanced page rhythm, common content edges and team profiles. */
:root{--content-width:1240px;--page-gutter:48px}
.section{width:calc(100% - var(--page-gutter)*2);max-width:var(--content-width);margin:0 auto;padding:80px 0}
.section-heading{gap:40px;margin-bottom:35px;align-items:end}
.section-heading>div{min-width:0}
.section-heading>p{flex:0 1 340px;max-width:340px;margin:0 0 4px;line-height:1.8}
.feature-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
.feature-split h2{font-size:clamp(34px,3.4vw,49px);line-height:1.15}
.feature-split>img{aspect-ratio:3/2;border-radius:24px;box-shadow:0 12px 32px #284e7010}
.feature-split>div>p{max-width:520px;font-size:15px;line-height:1.85;margin-bottom:26px}
.landing-services{padding:42px;background:#edf3f8;border:1px solid #dce8f1;border-radius:28px}
.overview-cards{gap:22px;align-items:stretch}
.overview-cards article>div{padding:24px;min-height:250px}
.overview-cards h3{font-size:27px;line-height:1.2}
.overview-cards .tag{font-size:9px;letter-spacing:.07em}
.overview-cards article>img{aspect-ratio:1.6;object-fit:contain}
.page-title{padding:65px max(var(--page-gutter),calc((100% - var(--content-width))/2)) 60px}
.page-title h1{font-size:clamp(42px,5vw,70px);max-width:980px;line-height:1.1}
.page-title>p{max-width:780px;font-size:17px;line-height:1.85}
.catalogue-intro{padding-bottom:36px}
.catalogue-section{padding-top:20px}
.catalogue-lead{gap:64px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.catalogue-lead h2{font-size:42px;line-height:1.16}
.catalogue-grid{gap:22px}
.catalogue-item h3{font-size:25px;line-height:1.24}
.catalogue-item p{font-size:14px;line-height:1.85}
.service-tabs{margin-bottom:40px}
.intro{gap:64px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.intro h2{font-size:43px;line-height:1.16}
.section.results,.section.itinerary,.section.upcoming{padding:42px;border-radius:26px;margin:0 auto 45px}
.section.philosophy{margin:0 auto 50px;padding:48px;border-radius:26px}
.page-cta{width:calc(100% - var(--page-gutter)*2);max-width:var(--content-width);margin:20px auto 65px;padding:42px;border-radius:25px}
.page-cta h2{font-size:36px;line-height:1.18;max-width:690px}
.page-cta p{max-width:690px;font-size:14px;line-height:1.8}
.section.booking-steps{margin:0 auto 45px;padding:42px}
.booking-layout{gap:42px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.booking-info{min-width:0}
.info-grid{gap:22px}
.programme-row{gap:64px}
.team-section{border-top:1px solid #dbe6ee}
.team-intro{max-width:710px;line-height:1.85;font-size:15px;margin:-5px 0 30px}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.team-card{background:#fff;border:1px solid #d6e3ed;border-radius:21px;overflow:hidden;box-shadow:0 8px 25px #244b6b08;display:flex;flex-direction:column}
.team-card>img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:0;border-bottom:3px solid #82a8c6}
.member-body{padding:24px 22px;display:flex;flex-direction:column;flex:1;min-height:178px}
.member-body h3{font-size:26px;line-height:1.2;letter-spacing:-.025em;color:#244962}
.member-subtitle{font-size:12px;color:#58738a;margin-top:7px;line-height:1.5}
.member-bottom{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-top:auto;padding-top:25px}
.member-bottom>p{font-size:11px;line-height:1.7;font-weight:700;color:#45647c;margin:0;max-width:135px}
.member-level{display:flex;flex-direction:column;align-items:end;gap:3px;color:#356a94;flex-shrink:0}
.member-level small{font-size:8px;font-weight:700;letter-spacing:.12em;color:#6686a0}
.member-level strong{font-size:29px;line-height:1;font-weight:700;letter-spacing:-.04em}
.member-specialty{font-size:10px;color:#678298;line-height:1.6;text-align:right}
.team-context{display:grid;grid-template-columns:1.5fr 1fr;gap:45px;margin-top:36px;padding-top:30px;border-top:1px solid #d4e2ec}
.team-context h3{font-size:23px;line-height:1.25;color:#325d7d}
.team-context p{font-size:14px;line-height:1.85;margin-bottom:0}
.team-context>div+div{padding-left:30px;border-left:1px solid #d4e2ec}
.team-actions{display:flex;align-items:center;gap:24px;margin-top:30px}
.team-actions>span{font-size:12px;color:#5a7488}
.team-preview{padding-bottom:65px}
.site-footer{padding:50px max(var(--page-gutter),calc((100% - var(--content-width))/2)) 25px}
.footer-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);gap:55px}
@media(max-width:1100px){:root{--page-gutter:32px}.section{padding-block:65px}.feature-split,.catalogue-lead,.intro,.programme-row{gap:40px}.team-grid{gap:16px}.member-body{padding:21px 16px;min-height:175px}.member-body h3{font-size:23px}.member-bottom{gap:9px}.member-specialty{font-size:9px}.overview-cards article>div{padding:20px}.overview-cards h3{font-size:24px}.catalogue-item{padding:25px}.section-heading{gap:30px}.section.results,.section.philosophy,.section.booking-steps,.landing-services{padding:32px}}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.member-body{min-height:170px;padding:23px}.member-body h3{font-size:27px}.member-bottom>p{font-size:12px}.member-specialty{font-size:11px}.overview-cards{gap:16px}.section-heading>p{flex-basis:290px}}
@media(max-width:760px){:root{--page-gutter:24px}.section{padding-block:52px}.feature-split,.catalogue-lead,.intro,.programme-row,.booking-layout{grid-template-columns:1fr;gap:28px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:560px;margin-top:20px}.feature-split.reverse>div,.feature-split.reverse>img{grid-column:auto;grid-row:auto}.feature-split h2,.intro h2,.catalogue-lead h2{font-size:36px}.feature-split>img{aspect-ratio:3/2}.feature-split>div>p{font-size:14px;max-width:none}.landing-services{padding:28px 20px}.overview-cards{grid-template-columns:1fr;gap:24px}.overview-cards article>div{min-height:0;padding:25px}.overview-cards h3{font-size:28px}.overview-cards .inline-cta{padding-top:7px}.page-title{padding-top:43px;padding-bottom:42px}.page-title h1{font-size:43px}.page-title>p{font-size:16px;line-height:1.75}.catalogue-intro{padding-bottom:26px}.catalogue-section{padding-top:15px}.section.results,.section.itinerary,.section.upcoming,.section.booking-steps,.section.philosophy{padding:30px 23px;margin-bottom:30px}.page-cta{padding:30px 24px;margin-top:10px;margin-bottom:45px}.page-cta h2{font-size:32px}.team-intro{font-size:14px;margin-top:-5px}.team-context{grid-template-columns:1fr;gap:26px}.team-context>div+div{padding-left:0;border-left:0;padding-top:25px;border-top:1px solid #d4e2ec}.team-context h3{font-size:23px}.team-actions{gap:18px;align-items:start;flex-direction:column}.team-preview{padding-bottom:50px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1/-1}.site-footer{padding-top:35px}.booking-steps h2{font-size:34px}}
@media(max-width:480px){:root{--page-gutter:20px}.team-grid{gap:13px}.member-body{padding:17px 14px;min-height:173px}.member-body h3{font-size:22px}.member-bottom{gap:8px;align-items:start;flex-wrap:wrap;padding-top:18px}.member-bottom>p{font-size:10px;max-width:none}.member-level{align-items:start;flex-direction:row;align-items:baseline;gap:7px}.member-level strong{font-size:25px}.member-specialty{font-size:10px;text-align:left}.member-subtitle{font-size:10px}.member-bottom{margin-top:auto}.page-title h1{font-size:37px}.footer-top{grid-template-columns:1fr;gap:29px}.footer-top>div:first-child{grid-column:auto}.feature-split h2,.intro h2{font-size:33px}}

/* Travel-led landing and shared brand accents. */
:root{--bg:#fff;--panel:#f5f7f3;--muted:#4c554e;--white:#172018;--accent:#285533;--lime:#a2f77a}
body{background:#eef0ec}
.button,.interior nav .button{background:var(--lime);color:#14251a;border-color:transparent}
.button:hover,.interior nav .button:hover{background:#88df60;color:#14251a}
.secondary{background:white;color:#233d2b;border-color:#ccd6ca}
.secondary:hover{background:#edf5e9;color:#233d2b}
.site-shell > header,.site-footer{background:#f6f8f4}
.page-title{background:linear-gradient(120deg,#eaf3e6,#f9fbf8)}
.page-title h1{color:#193c26}
.page-cta,.section.philosophy{background:#1c3928}
.travel-hero{overflow:hidden;border-radius:27px;margin:16px;padding:0 0 clamp(20px,3vw,36px);background:#18382b}
.travel-cover{width:100%;height:auto;border-radius:0}
.travel-hero-copy{text-align:center;color:white;max-width:830px;margin:0 auto 42px}
.travel-kicker{display:inline-block;background:#fafff4;color:#1e3828;padding:5px 15px;border-radius:30px;font-size:10px;font-weight:700;letter-spacing:.08em}
.travel-hero h1{font-size:clamp(47px,6.5vw,96px);line-height:.99;letter-spacing:-.06em;margin:21px 0;font-weight:700}
.travel-hero-copy p{color:#f2f6ef;font-size:16px;margin:0 auto;max-width:530px}
.trip-planner{max-width:1100px;margin:auto;background:#fff;border-radius:22px;padding:22px 26px;color:#172018;box-shadow:0 15px 36px #081a2040}
.planner-heading,.planner-fields{display:flex;justify-content:space-between;align-items:center;gap:15px}
.planner-heading{margin-bottom:17px}
.planner-heading h2{font-size:25px;margin:0}
.planner-heading a{font-size:12px;font-weight:700;color:#285533}
.planner-fields{display:grid;grid-template-columns:1.6fr 1fr 1fr .65fr auto;align-items:end}
.planner-fields label{margin:0;color:#24382a}
.planner-fields input,.planner-fields select{background:#f6f8f4;border-color:#dce5d9;border-radius:24px;padding-inline:13px;min-height:46px}
.planner-fields .button{min-height:46px;gap:9px;white-space:nowrap}
.travel-featured{padding-bottom:36px}
.travel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.travel-card{position:relative;border-radius:23px;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;aspect-ratio:4/5;background:#253d31;color:#fff;transition:transform .2s}
.travel-card img,.travel-card::before{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.travel-card img{object-fit:cover;z-index:-2}
.travel-card::before{content:'';background:linear-gradient(transparent 30%,#0b1e17e8);z-index:-1}
.travel-card div{padding:20px}
.travel-card div>span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#c2ffa3}
.travel-card h3{font-size:clamp(18px,2vw,26px);margin:6px 0 0;line-height:1.12}
.travel-arrow{position:absolute;top:13px;right:13px;background:white;border-radius:100%;display:grid;place-items:center;width:34px;height:34px;color:#23422b}
.travel-card:hover{transform:translateY(-4px)}
.travel-faq{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;border-top:1px solid #dbe4d8}
.travel-answers{display:grid;gap:12px}
.travel-answers details{border:1px solid #d9e3d8;border-radius:16px;background:#fff;padding:16px 18px}
.travel-answers summary{cursor:pointer;font-weight:700}
.travel-answers p{font-size:14px;margin:10px 0 0}
@media(max-width:800px){
 .travel-hero{margin:10px;border-radius:23px}
 .travel-hero-copy{margin-bottom:29px}
 .travel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .planner-fields{grid-template-columns:1fr 1fr}
 .planner-fields label:first-child,.planner-fields button{grid-column:1/-1}
 .travel-faq{grid-template-columns:1fr;gap:20px}
}
@media(max-width:420px){
 .trip-planner{padding:17px 13px}
 .planner-heading{align-items:flex-start;flex-direction:column;gap:4px}
 .planner-heading h2{font-size:21px}
 .planner-fields{gap:11px}
 .planner-fields input,.planner-fields select{font-size:12px;padding-inline:8px}
 .travel-hero h1{font-size:45px}
 .travel-card div{padding:13px}
}
@media(prefers-reduced-motion:reduce){.travel-card{transition:none}.travel-card:hover{transform:none}}

/* Direct navigation to the main pages. */
#main-nav > a{white-space:nowrap}
#main-nav > a:not(.button){font-size:11px}

.landing-services{background:#f0f5ed;border-color:#dce7d7}
.overview-cards .service-showcase{border:1px solid #d9e5d6;border-radius:23px;box-shadow:0 8px 24px #2238210a;transition:transform .2s,box-shadow .2s}
.service-showcase:hover{transform:translateY(-4px);box-shadow:0 15px 30px #22382118}
.overview-cards .service-showcase > .showcase-photo{position:relative;padding:0;min-height:0;display:block;flex:none;background:#183b2a}
.showcase-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.showcase-photo img[src$="home-service-court.webp"]{object-position:center 81%}
.showcase-icon{position:absolute;bottom:12px;left:15px;display:grid;place-items:center;width:43px;height:43px;border-radius:14px;color:#214e2b;background:#d9facb}
.overview-cards .service-showcase > .showcase-copy{padding:23px;min-height:0;gap:0}
.showcase-copy h3{font-size:clamp(25px,2.6vw,34px);color:#203825}
.showcase-copy .tag{color:#34603b}
.showcase-copy p{font-size:15px;margin:12px 0 20px;flex:1}
.showcase-copy .showcase-link{display:flex;justify-content:space-between;align-items:center;gap:10px;border-radius:14px;font-size:14px;padding:12px 15px;margin-top:auto}
.feature-split > div > .button + .button{margin:8px 0 0 8px}
.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.community-card{overflow:hidden;background:#fff;border:1px solid #d9e5d6;border-radius:24px;box-shadow:0 10px 28px #263d2410}
.community-card > img{width:100%;aspect-ratio:2/1;object-fit:cover;object-position:center 62%;border-radius:0}
.community-copy{padding:28px}
.community-copy h2{font-size:clamp(27px,3.4vw,42px);margin:12px 0 22px}
.community-copy .eyebrow{color:#34603b}
.community-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.community-channels a{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:11px 10px;border-radius:12px;border:1px solid #d9e5d6;background:#f1f7ed;color:#264a2d;font-size:13px;font-weight:700}
.community-channels a:hover{background:#d9facb}
@media(max-width:760px){
 .community-grid{grid-template-columns:1fr;gap:20px}
 .community-copy{padding:20px}
 .community-channels a{font-size:12px}
 .overview-cards .service-showcase > .showcase-copy{padding:20px}
}
@media(prefers-reduced-motion:reduce){.service-showcase{transition:none}.service-showcase:hover{transform:none}}

/* Icon menu on all screen sizes. */
.site-shell header{z-index:20}
.site-shell #menu{
 display:grid;place-items:center;flex:0 0 auto;margin-left:auto;
 width:46px;height:46px;padding:0;background:#fff;color:#21422b;
 border:1px solid #dce7d8;border-radius:13px;font-size:24px;cursor:pointer;
}
.site-shell #main-nav{
 display:none;position:absolute;inset:calc(100% + 9px) 0 auto auto;
 width:min(490px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 100px);
 overflow:auto;padding:12px;gap:6px;background:#fff;color:#233d29;
 border:1px solid #dce7d8;border-radius:18px;box-shadow:0 18px 45px #17352832;
}
.site-shell #main-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.site-shell #main-nav > a:not(.button){
 display:flex;align-items:center;padding:10px 12px;min-height:44px;
 border-radius:10px;font-size:14px;font-weight:700;line-height:1.3;
 text-align:left;white-space:normal;color:#233d29
}
.site-shell #main-nav > a:not(.button):hover,
.site-shell #main-nav > a[aria-current="page"]{background:#ecf6e8;color:#21482a}
.site-shell #main-nav > .button{
 display:flex;justify-content:center;align-items:center;gap:5px;
 font-size:14px;white-space:normal;min-height:44px
}
.site-shell > header{height:auto;min-height:80px;padding:12px 25px;background:#fff}
.site-shell > header #main-nav{right:25px}
.interior .page-title{min-height:0;padding-block:48px}
@media(max-width:600px){
 .site-shell #main-nav.open{grid-template-columns:1fr}
 .site-shell > header{min-height:72px;padding:10px 18px}
 .site-shell > header #main-nav{right:18px}
 .interior .page-title{padding-block:34px}
}

/* Club directory. */
.community-directory{padding-top:55px}
.community-grid{gap:25px}
.community-photo{aspect-ratio:2/1;background:#eef4eb}
.community-photo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}
.community-name{padding:20px 20px 0}
.community-name span{display:inline-block;padding:5px 12px;border-radius:30px;background:#d9facb;color:#203e27;font-size:12px;font-weight:700}
.community-name h3{font-size:clamp(24px,3vw,40px);line-height:1.1;margin:10px 0 0;color:#203e27}
.community-copy{padding:20px}
.community-channels{grid-template-columns:1fr;gap:9px}
.community-channels a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;padding:10px 12px;min-height:62px;transition:background .2s,border-color .2s}
.community-channels a:focus-visible{outline:2px solid #264a2d;outline-offset:2px}
.channel-mark{display:block;width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff}
.channel-label{display:grid;gap:2px;line-height:1.3}
.channel-label strong{font-size:15px}
.channel-label small{font-size:12px;color:#476550;font-weight:500}
.channel-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;font-size:16px}
@media(max-width:760px){
 .community-directory{padding-top:36px}
 .community-name{padding:17px 17px 0}
 .community-copy{padding:17px}
}



/* Text navigation on a single dark strip. */
.site-shell #main-nav{
 background:linear-gradient(110deg,#26343e,#344b5a);
 color:#fff;
 border:0;
 border-radius:10px;
}
.site-shell #main-nav > a:not(.button),
.site-shell #main-nav > a.button{
 color:#fff;
 background:transparent;
 border:0;
 border-radius:0;
 font-size:16px;
 font-weight:500;
 line-height:1.25;
 text-decoration:none;
 text-underline-offset:6px;
}
.site-shell #main-nav > a:not(.button):hover,
.site-shell #main-nav > a.button:hover,
.site-shell #main-nav > a[aria-current="page"]{
 color:#fff;
 background:transparent;
 text-decoration:underline;
}
.site-shell #main-nav > a:focus-visible{
 outline:2px solid #fff;
 outline-offset:-3px;
}
@media(min-width:1201px){
 .site-shell #menu{display:none}
 .site-shell header .brand img{width:112px}
 .site-shell #main-nav,.site-shell #main-nav.open{
  position:static;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:nowrap;
  flex:1 1 auto;
  width:auto;
  max-width:none;
  max-height:none;
  overflow:visible;
  gap:clamp(7px,.7vw,14px);
  padding:10px 12px;
  box-shadow:none;
 }
 .site-shell #main-nav > a:not(.button),
 .site-shell #main-nav > a.button{
  min-width:0;
  min-height:42px;
  justify-content:center;
  padding:5px 0;
  text-align:center;
  white-space:nowrap;
  font-size:clamp(13px,1.02vw,17px);
 }
}

.site-shell #main-nav > a.button{
 background:#b9f36b;
 color:#17280f;
 border-radius:999px;
 padding-inline:10px;
 font-weight:800;
}
.site-shell #main-nav > a.button:hover,
.site-shell #main-nav > a.button[aria-current="page"]{
 background:#d1ff95;
 color:#17280f;
}
@media(min-width:1201px) and (max-width:1350px){
 .site-shell #main-nav,.site-shell #main-nav.open{gap:6px;padding-inline:10px}
 .site-shell header .brand img{width:100px}
}

.about-passion>p{max-width:66ch;margin-bottom:30px}
.about-passion h2,.about-lead h2{margin-block:12px 20px}
.section.about-lead{
 display:grid;
 grid-template-columns:1.15fr 1fr;
 align-items:center;
 gap:clamp(24px,5vw,70px);
 background:#edf4ea;
 border-radius:28px;
 padding-block:clamp(28px,5vw,64px);
 padding-inline:clamp(20px,3vw,44px);
}
.about-lead figure{position:relative;margin:0;align-self:stretch;min-height:330px}
.about-lead figure img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:68% center;
 border-radius:20px;
}
.about-lead figcaption{
 position:absolute;
 bottom:14px;
 left:14px;
 background:#20372e;
 color:#fff;
 border-radius:999px;
 padding:5px 12px;
 font-size:12px;
}
.about-lead .about-role{font-weight:800;color:#265235;margin-top:0}
.about-lead-copy .button{margin-top:8px}
.about-coach figure{
 align-self:center;
 min-height:0;
 padding:8px;
 border:1px solid #cadbc9;
 border-radius:24px;
 background:#fff;
 box-shadow:0 14px 32px #1738261a;
}
.about-coach figure img{height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.about-coach figcaption{bottom:20px;left:20px}
.section.about-jennifer{
 grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
 margin-block:var(--card-gap);
}
.about-jennifer figure{min-height:0;align-self:center}
.about-jennifer figure img{
 width:min(100%,380px);
 height:auto;
 aspect-ratio:950/1040;
 object-position:center;
 margin-inline:auto;
 box-shadow:0 14px 32px #1738261a;
}
.interior .team-section .team-card{border-radius:22px;border-color:#d6e3d9;box-shadow:0 12px 30px #173f2610}
.interior .team-section .team-card>img{
 aspect-ratio:1;
 object-position:center;
 border:0;
 border-bottom:3px solid #b8d7a9;
 background:#e7efe7;
}
.interior .team-section .team-card:last-child>img{object-position:center 30%}
.team-section .team-card>img[src$="-court.webp"]{object-position:center top}
.interior .team-section .member-body{padding:clamp(13px,1.7vw,23px)}
.interior .team-section .member-body h3{color:#173c2a}
.interior .team-section .member-bottom{align-items:start;flex-direction:column;gap:10px;padding-top:14px}
.interior .team-section .member-level,
.interior .team-section .member-specialty{
 display:inline-flex;
 align-items:center;
 flex-direction:row;
 gap:7px;
 border-radius:12px;
 padding:7px 10px;
 background:#e7f5de;
 color:#244d32;
 text-align:left;
}
.interior .team-section .member-level strong{font-size:18px}
.interior .team-section .member-level small{color:#365f43}
.team-section .member-level.dupr-level{
 display:inline-flex;align-items:center;flex-direction:row;
 gap:9px;padding:5px 11px 5px 5px;border-radius:12px;background:#09265b;color:#fff;
 box-shadow:0 4px 10px #09265b24;
}
.dupr-level img{width:38px;height:38px;border-radius:7px}
.dupr-level>span{display:grid;gap:2px}
.team-section .member-level.dupr-level small{color:#c3d7fa}
.team-section .member-level.dupr-level strong{font-size:23px}
.site-footer a[href^="mailto:"]{overflow-wrap:anywhere}
.competition-section{border-top:1px solid #d6e3d9}
.competition-section .section-heading{margin-bottom:18px}
.competition-copy{max-width:76ch;margin-bottom:32px}
.competition-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.competition-gallery figure{
 margin:0;padding:8px;overflow:hidden;border:1px solid #d6e3d9;
 border-radius:20px;background:#fff;box-shadow:0 8px 22px #1738260d;
}
.competition-gallery img{
 width:100%;aspect-ratio:4/3;object-fit:contain;object-position:center;
 border-radius:13px;background:#edf3ed;
}
.competition-gallery figure:last-child img{object-fit:cover;object-position:center 40%}
.competition-gallery figcaption{padding:11px 9px 7px;color:#244d32;font-weight:700;line-height:1.4}
@media(max-width:850px){.competition-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:480px){.competition-gallery{grid-template-columns:1fr}}
@media(max-width:760px){
 .section.about-lead,.section.about-jennifer{grid-template-columns:1fr;border-radius:20px}
 .about-lead figure{min-height:0}
}

/* Shared page rhythm, surfaces and interactive elements. */
:root{
 --page-gutter:clamp(18px,4vw,64px);
 --content-width:1280px;
 --section-space:clamp(44px,6vw,88px);
 --card-gap:clamp(14px,1.8vw,26px);
 --surface:#f1f6ef;
 --surface-line:#d9e5db;
 --forest:#183e2c;
 --surface-shadow:0 10px 30px #1738260d;
}
.site-shell{background:#fff}
.section{padding-block:var(--section-space)}
.section-heading{gap:var(--card-gap);margin-bottom:clamp(22px,3vw,38px)}
.section-heading>p{margin-bottom:0}
.eyebrow{color:#3d654b;font-size:11px;letter-spacing:.13em}
h1,h2{text-wrap:balance}
.section h2{margin-top:12px}
.feature-split,.catalogue-lead,.programme-row,.booking-layout{gap:clamp(24px,4vw,64px)}
.feature-split>img,.programme-row>img,.catalogue-lead>img{background:var(--surface);border-radius:22px;box-shadow:var(--surface-shadow)}
.catalogue-lead>img[src$="services-outdoor-court.webp"]{object-fit:cover;object-position:center 76%}
.landing .feature-split>img{object-fit:cover;aspect-ratio:3/2}
.landing .feature-split + .feature-split{border-top:1px solid var(--surface-line)}
.site-shell > header{padding-inline:max(var(--page-gutter),calc((100% - var(--content-width))/2))}
.interior .page-title{
 width:calc(100% - 2 * var(--page-gutter));
 max-width:var(--content-width);
 margin:clamp(12px,2vw,26px) auto 0;
 padding:clamp(24px,4vw,58px);
 border:1px solid var(--surface-line);
 border-radius:24px;
 background:linear-gradient(118deg,#e9f2e7,#f8faf6);
}
.page-title .eyebrow{color:#3d654b}
.page-title h1{margin:12px 0 16px;font-size:clamp(36px,5vw,68px)}
.page-title>p{margin:0;max-width:64ch}
.landing .travel-hero{margin-inline:clamp(10px,1.5vw,24px)}
.travel-hero-copy{margin:clamp(24px,3vw,44px) auto;padding-inline:16px}
.travel-hero .trip-planner{width:calc(100% - 2 * clamp(14px,4vw,60px))}
.trip-planner{padding:clamp(16px,2.1vw,28px)}
.planner-fields{grid-template-columns:minmax(0,1.65fr) repeat(2,minmax(0,1fr)) minmax(0,.65fr) auto}
.planner-fields label{min-width:0}
.button{gap:8px;min-height:44px;font-size:14px;line-height:1.3;text-align:center}
.page-cta{
 margin-inline:auto;
 padding:clamp(24px,4vw,54px);
 background:linear-gradient(120deg,#173b2a,#28523a);
}
.page-cta .button{background:#b9f36b;color:#17280f}
.page-cta .button:hover{background:#d1ff95;color:#17280f}
.landing-services,.section.itinerary,.section.upcoming,.section.booking-steps{background:var(--surface);border:1px solid var(--surface-line)}
.landing-services{padding:clamp(20px,3vw,42px)}
.overview-cards,.info-grid,.catalogue-grid,.team-grid,.community-grid,.activity-grid{gap:var(--card-gap)}
.info-grid article,.catalogue-item,.booking-card,.booking-info{
 border:1px solid var(--surface-line);
 border-radius:20px;
 background:#fff;
 box-shadow:var(--surface-shadow);
}
.info-grid article,.booking-card,.booking-info{padding:clamp(18px,2.6vw,34px)}
.info-grid p,.info-grid li{color:var(--muted)}
.info-grid p:last-child{margin-bottom:0}
.class-formats article{display:flex;flex-direction:column;align-items:flex-start}
.class-formats article>img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:16px}
.feature-split>img[src$="class-on-court.webp"]{aspect-ratio:auto}
.class-formats article>img[src$="class-drill-one-coach.webp"],
.class-formats article>img[src$="class-drill-two-coaches.webp"]{object-position:center 62%}
.class-formats article>img[src$="home-service-court.webp"],
.class-formats article>img[src$="services-outdoor-court.webp"]{object-position:center 78%}
.class-formats article h3{margin-top:8px}
.class-formats article .button{margin-top:auto}
.event-moments>.gallery-heading{margin-top:0}
.package-poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap)}
.package-poster-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--surface-line);border-radius:20px;background:#fff;box-shadow:var(--surface-shadow)}
.package-poster-card>img{width:100%;height:auto;aspect-ratio:4/5;border-radius:0;background:#121927}
.package-poster-card>img:focus-visible{outline-offset:-5px;outline-color:#b9f36b}
.package-poster-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:clamp(16px,2vw,24px)}
.package-poster-copy h3{font-size:clamp(21px,2vw,28px);margin-top:8px}
.package-poster-copy p{margin-block:10px;line-height:1.65}
.package-poster-copy details{width:100%;margin:0 0 16px;padding-top:8px;border-top:1px solid var(--surface-line)}
.package-poster-copy summary{cursor:pointer;font-weight:700;color:#285533}
.package-poster-copy .button{margin-top:auto}
@media(max-width:900px){.package-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.package-poster-grid{grid-template-columns:1fr}}
.catalogue-intro{padding-bottom:clamp(24px,3vw,44px)}
.catalogue-section{padding-top:20px}
.service-tabs a.service-category{border-color:var(--surface-line)}
.service-tabs a.service-category[aria-current="page"]{background:var(--forest);border-color:var(--forest);box-shadow:var(--surface-shadow)}
.category-icon,.service-icon,.service-enquiry{background:var(--surface);color:#285533;border-color:var(--surface-line)}
.service-enquiry:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.booking-info{background:var(--surface)}
.booking-info h3{margin-top:10px}
.booking-layout input,.booking-layout select,.booking-layout textarea{background:#f8faf7;border-color:#bbcdbd}
.booking-social,.booking-layout .inline-cta{color:#285533}
.site-footer{background:#17382a;border-color:#17382a;color:#cfdfd3}
.site-footer .footer-top h3{color:#fff}
.site-footer .footer-top a,.site-footer .footer-top p{color:#deebe0;font-size:13px}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-base{border-color:#ffffff38}
.site-footer .brand img{background:#fff;border-radius:12px}
@media(min-width:1201px) and (max-width:1350px){
 .site-shell > header{padding-inline:24px;gap:14px}
}
@media(max-width:1200px){
 .site-shell #main-nav{inset:calc(100% + 9px) 0 auto auto}
 .site-shell > header #main-nav{right:var(--page-gutter)}
 .site-shell #main-nav > a.button{grid-column:1/-1}
}
@media(max-width:800px){
 .planner-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .feature-split>div> .button + .button{margin-left:0}
 .feature-split>div> .button{margin-right:8px}
}
@media(max-width:480px){
 .travel-hero h1{font-size:clamp(33px,10vw,45px)}
 .planner-heading{align-items:flex-start;flex-direction:column;gap:6px}
 .planner-fields input,.planner-fields select{font-size:16px;padding-inline:10px}
 .footer-base{gap:10px 20px}
}

/* Keep the subpage menu inside the header at every desktop width. */
.site-shell > header{align-items:center}
@media(min-width:1201px){
 .site-shell > header{padding-inline:clamp(18px,2.1vw,36px);gap:clamp(12px,1.2vw,20px)}
 .site-shell > header .brand img{width:clamp(96px,8vw,112px)}
 .site-shell > header #main-nav,.site-shell > header #main-nav.open{min-width:0;gap:clamp(4px,.55vw,10px)}
 .site-shell > header #main-nav > a:not(.button){white-space:normal;text-wrap:balance}
 .site-shell > header #main-nav > a.button{flex-shrink:0}
}

/* Training pathway */
.pathway-map{padding-bottom:32px}
.pathway-map>p,.pathway-assessment p{max-width:64ch}
.pathway-jump,.pathway-levels{display:grid;gap:var(--card-gap)}
.pathway-jump{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:28px}
.pathway-jump>a{
 display:grid;gap:5px;padding:clamp(14px,2vw,24px);border-radius:16px;
 background:var(--forest);color:#fff;border:1px solid var(--forest);line-height:1.4;
}
.pathway-jump>a:hover{background:#2d5b41}
.pathway-jump>a:focus-visible{outline-offset:4px}
.pathway-jump small{color:#c8e4c6;font-size:11px;font-weight:700;text-transform:uppercase}
.pathway-jump strong{font-size:clamp(16px,2vw,25px);overflow-wrap:anywhere}
.pathway-jump>a>span{display:flex;justify-content:space-between;gap:5px;font-size:13px}
.pathway-stages{padding-block:0 var(--section-space)}
.pathway-stage{
 display:grid;grid-template-columns:minmax(140px,.75fr) minmax(0,2.25fr);
 gap:var(--card-gap);padding:clamp(22px,3vw,38px) 0;border-top:1px solid var(--surface-line);
}
.pathway-stage-title h2{font-size:clamp(25px,3.2vw,44px);margin:9px 0 8px}
.pathway-stage-title p{margin:0}
.pathway-levels{grid-template-columns:repeat(2,minmax(0,1fr))}
.pathway-card{
 padding:clamp(16px,2vw,26px);border:1px solid var(--surface-line);
 border-radius:20px;background:var(--surface);min-width:0;
}
.pathway-card-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:16px;color:#285533;font-size:12px;font-weight:800}
.pathway-card-meta span:last-child{background:#dbefce;border-radius:999px;padding:4px 9px}
.pathway-card h3{font-size:clamp(22px,2.1vw,29px)}
.pathway-card h4{margin-block:16px 6px;color:#285533}
.pathway-card p{margin:7px 0;line-height:1.65}
.pathway-card p:last-child{margin-bottom:0}
.pathway-benchmark{margin-top:16px;padding-top:14px;border-top:1px solid #c5dac8;font-size:13px}
.section.pathway-assessment{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--card-gap);
 padding:clamp(22px,4vw,48px);margin-bottom:38px;border:1px solid var(--surface-line);
 border-radius:24px;background:var(--surface);
}
.pathway-assessment dl{margin:0}
.pathway-weight{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--surface-line)}
.pathway-weight dd{margin:0;display:flex;align-items:center;gap:8px;color:#285533}
.pathway-weight-track{flex:1;height:7px;background:#dce8da;border-radius:999px;overflow:hidden}
.pathway-weight-track span{display:block;height:100%;background:#457752;border-radius:inherit}
.pathway-weight strong{min-width:3ch;text-align:right}
@media(max-width:900px){
 .pathway-stage,.section.pathway-assessment{grid-template-columns:1fr}
}
@media(max-width:660px){.pathway-jump{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.pathway-levels{grid-template-columns:1fr}}

/* Align the landing page sections and their media on one content grid. */
.landing main>.section{--home-gap:clamp(16px,2.2vw,30px)}
.landing .travel-featured{padding-bottom:var(--section-space)}
.landing .travel-grid,.landing .overview-cards,.landing .team-grid,.landing .package-poster-grid{gap:var(--home-gap)}
.landing .travel-card{aspect-ratio:5/6}
.landing .travel-card img[src$="services-outdoor-court.webp"]{object-position:center 72%}
.landing .travel-card img[src$="home-experience-travel.webp"]{object-position:57% center}
.landing .travel-card div{padding:clamp(12px,1.7vw,24px)}
.landing .section-heading>p{margin-bottom:0}
.landing .feature-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,72px)}
.landing .feature-split h2{margin-bottom:16px}
.landing .feature-split p{margin:0 0 22px}
.landing .feature-split>img{aspect-ratio:3/2;object-position:center 55%}
.landing .feature-split>img[src$="home-community-map.webp"]{aspect-ratio:auto;object-fit:contain}
.landing .feature-split>img[src$="home-development-pathway.webp"]{
 aspect-ratio:auto;object-fit:contain;width:min(100%,500px);
 justify-self:center;border:1px solid var(--surface-line);
}
.landing .team-card>img{aspect-ratio:1}
.landing .team-card>img[src$="team-jennifer-pham.webp"]{object-position:center 30%}
.landing .team-preview .member-body{min-height:0}
.landing .package-poster-card>img{object-fit:contain}
.landing .package-poster-copy details{margin-top:auto}
.landing .package-poster-copy .button{width:100%;margin-top:0}
@media(max-width:560px){
 .landing .sample-packages .section-heading{align-items:flex-start;flex-direction:column;gap:16px}
}
@media(max-width:760px){
 .landing .feature-split{grid-template-columns:minmax(0,1fr)}
}
