@font-face{font-family:Futura;src:local('Futura'),local('Futura Medium');font-weight:400 500;font-display:swap}@font-face{font-family:Futura;src:local('Futura Bold');font-weight:600 900;font-display:swap}
:root{--navy:#252b50;--navy-deep:#1c2242;--gold:#b5a064;--gold-dark:#806a32;--ink:#252832;--muted:#62666e;--paper:#f5f4f0;--line:#deded9;--jp:'Noto Sans CJK JP','Noto Sans JP',sans-serif;--en:Futura,Jost,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--jp);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--navy);font-weight:700;line-height:1.55;letter-spacing:.035em}h2{font-size:clamp(1.65rem,2.5vw,2.4rem)}h3{font-size:1.25rem}p+p{margin-top:18px}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--gold-dark);outline-offset:5px}::selection{background:#e2d8bc}.wrap{max-width:1200px;margin-inline:auto;width:calc(100% - 112px)}.latin{font-family:var(--en);letter-spacing:0}.skip{position:fixed;top:-80px;z-index:30;background:#fff;padding:12px}.skip:focus{top:0}.preview-note{background:var(--navy-deep);color:#fff;text-align:center;font-size:.75rem;line-height:28px;letter-spacing:.08em}.preview-note span{font-family:var(--en);color:#d9c890;margin-right:16px;font-weight:500;font-size:.75rem}.header{height:94px;padding:0 4.3%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid #ededeb;gap:30px}.brand{width:182px;flex-shrink:0}.brand img{width:100%;height:auto}.header nav{display:flex;align-items:center;gap:30px}.header nav>a{font-size:.875rem;font-weight:500;white-space:nowrap}.header nav>a[aria-current]{color:var(--gold-dark)}.header nav>a:not(.button):hover{color:var(--gold-dark)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--navy);color:#fff;padding:17px 25px;border:1px solid var(--navy);font-size:.9375rem;font-weight:600;line-height:1.7;min-height:56px;border-radius:2px;transition:background .18s,transform .18s}.button>span:last-child{font-size:1.3rem;line-height:1}.button:hover{background:#39416b;transform:translateY(-2px)}.button.small{padding:12px 21px;min-height:48px;gap:20px}.button.outline{background:transparent;color:var(--navy);border-color:#b9bbc7}.button.outline:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.button.light{background:#fff;border-color:#fff;color:var(--navy)}.button.light:hover{background:#ece8dd}.eyebrow{font-family:var(--en);font-size:.8125rem;font-weight:500;letter-spacing:.15em;color:var(--gold-dark);line-height:1.6;margin-bottom:22px}.hero{display:grid;grid-template-columns:47% 53%;min-height:680px;background:#fff;overflow:hidden}.hero-content{padding:68px 20px 67px max(56px,calc((100vw - 1200px)/2))}.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:25px}.gold-line{height:2px;width:27px;background:var(--gold);display:inline-block}.hero h1{font-size:clamp(2.5rem,4.2vw,4.35rem);letter-spacing:.045em;line-height:1.48}.hero h1>span{white-space:nowrap}.hero-description{margin-top:25px;margin-bottom:28px;color:#51545f;font-size:.9375rem;line-height:2}.hero .button{font-size:.9375rem}.text-link{display:inline-flex;align-items:center;gap:26px;font-size:.875rem;color:var(--navy);font-weight:500;padding-bottom:5px;border-bottom:1px solid #a5a5ac;line-height:1.8}.text-link:hover{color:var(--gold-dark);border-color:var(--gold-dark)}.hero .text-link{display:flex;width:fit-content;margin-top:18px;font-size:.8125rem}.hero-photo{position:relative;margin-top:26px;margin-bottom:26px;min-height:640px;overflow:hidden;background:#333}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:57% center;filter:brightness(.88)}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(13,22,30,.65));pointer-events:none}.photo-caption{position:absolute;bottom:30px;left:32px;right:32px;display:flex;justify-content:space-between;color:#fff;font-family:var(--en);font-size:.75rem;letter-spacing:.1em;z-index:1;gap:12px}.photo-label{position:absolute;right:35px;top:34px;writing-mode:vertical-rl;color:white;font-weight:500;font-size:.875rem;letter-spacing:.25em;z-index:1}.facts{display:grid;grid-template-columns:1fr 1.35fr 1.25fr;padding-block:22px;border-bottom:1px solid var(--line)}.facts p{margin:0;display:flex;align-items:center;gap:15px;font-size:.8125rem;line-height:1.6}.facts p+p{border-left:1px solid var(--line);padding-left:28px}.facts .latin{color:var(--gold-dark);font-size:.9375rem}.section{padding-block:94px}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%}.about h2{font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.65}.about h2 .latin{font-weight:500;font-size:1.16em}.about-copy{padding-top:4px;color:var(--muted)}.lead{color:var(--navy);font-size:1.45rem;font-weight:500;line-height:1.7;margin-bottom:24px}.about-copy .text-link{margin-top:25px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:13px}.section-heading>p{font-size:.875rem;line-height:1.9;color:var(--muted)}.service-section,.tinted{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{padding:34px 30px 28px;background:white;border-top:3px solid var(--gold);transition:transform .2s}.service-card:hover{transform:translateY(-5px)}.service-number{font-family:var(--en);font-size:.75rem;letter-spacing:.08em;color:var(--gold-dark)}.service-card h3{font-size:1.35rem;margin:24px 0 20px}.service-card p{font-size:.875rem;color:var(--muted)}.service-bottom{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:23px;margin-top:34px;font-size:.8125rem;color:var(--navy);font-weight:500}.service-extra{display:flex;justify-content:space-between;gap:30px;margin-top:27px;font-size:.8125rem;color:var(--navy)}.service-extra a:hover{text-decoration:underline}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.price-card{border:1px solid var(--line);padding:29px 30px 30px;border-radius:3px;background:#fff}.price-card.featured{border:1px solid var(--navy);box-shadow:inset 0 3px var(--navy)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--navy)}.card-top p{font-size:1.1rem;font-weight:500}.card-top b{font-size:2rem;line-height:1.2;padding-inline:3px;font-weight:500}.recommend{font-size:.75rem;background:#eee8d7;padding:2px 10px;color:#6e5a2c}.plan-desc{font-size:.8125rem;color:var(--muted);margin-top:16px}.amount{display:flex;align-items:baseline;gap:4px;margin-top:20px;color:var(--navy);white-space:nowrap;line-height:1.3}.amount strong{font-size:clamp(2rem,3vw,2.65rem);font-weight:500;letter-spacing:-.025em}.amount .yen{font-family:var(--en);font-size:1.25rem;margin-right:2px}.amount>span:last-child{font-size:.8125rem;margin-left:3px}.unit{font-size:.8125rem;color:var(--muted);margin-top:10px}.price-card .button{margin-top:27px;width:100%;font-size:.875rem;padding:13px 16px;min-height:50px;gap:10px}.pricing-foot{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:27px}.pricing-foot p{font-size:.75rem;color:var(--muted);max-width:60%}.pricing-foot .text-link{font-size:.8125rem;white-space:nowrap}.access-section{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.access-photo img{height:100%;min-height:560px;width:100%;object-fit:cover;object-position:68% center}.access-content{padding:60px max(56px,calc((100vw - 1200px)/2)) 60px 65px}.access-content h2{font-size:1.8rem}.access-content>p:not(.eyebrow){font-size:.875rem;color:var(--muted)}.access-content .station{margin-top:25px;color:var(--navy)!important}.station strong{font-size:2.1rem;font-weight:500}.access-content dl{margin:22px 0 26px;font-size:.875rem}.access-content dl>div{display:flex;gap:30px}.access-content dt{width:85px;color:var(--muted)}.access-content dd{margin:0}.cta{background:var(--navy);color:white}.cta-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:12%;padding-block:76px}.cta h2{color:#fff;font-size:2.1rem}.cta .eyebrow{color:#d4bd82}.cta p:not(.eyebrow){margin-top:20px;font-size:.875rem;color:#dbdee9}.cta-actions .button{width:100%;font-size:.875rem;padding:20px}.cta-link{display:block;text-align:center;padding:21px 0 10px;font-size:.875rem}.cta-link:hover{text-decoration:underline}.cta-actions>p{font-size:.75rem!important;text-align:center;margin-top:10px!important;line-height:1.9}.footer{padding-block:54px 35px;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.footer-name{font-family:var(--en);font-size:1.8rem;font-weight:500;color:var(--navy)}.footer-name span{font-size:1.35rem}.footer>p{font-size:.75rem;grid-column:1;margin-top:7px}.footer-links{grid-column:2;grid-row:1/3;display:flex;align-items:center;justify-content:flex-end;gap:24px;font-size:.75rem;flex-wrap:wrap}.footer small{font-size:.75rem;color:var(--muted);margin-top:32px;grid-column:1/-1;border-top:1px solid var(--line);padding-top:23px}.mobile-cta{display:none}.page-intro{padding-top:27px;padding-bottom:55px}.breadcrumbs{font-size:.75rem;color:var(--muted);display:flex;gap:18px;margin-bottom:42px}.page-intro .eyebrow{margin-bottom:10px}.page-intro h1{font-size:2.8rem;letter-spacing:.06em}.page-intro>p:last-child{margin-top:20px;color:var(--muted);font-size:.9375rem}.price-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;position:sticky;top:94px;z-index:10}.price-nav nav{display:flex;justify-content:space-between;gap:24px;overflow:auto;scrollbar-width:thin}.price-nav a{font-size:.8125rem;color:var(--navy);padding:17px 0;white-space:nowrap;border-bottom:2px solid transparent}.price-nav a:hover{border-color:var(--gold)}.price-section{padding-top:65px}.type-tag{font-size:.8125rem;color:var(--gold-dark);border:1px solid #d9d0b8;padding:4px 13px;white-space:nowrap;align-self:center}.section-desc{font-size:.9375rem;color:var(--muted);margin-top:-8px;margin-bottom:35px}.included{margin-top:25px;background:var(--paper);padding:25px 30px}.tinted .included{background:white}.included h3{font-size:.875rem}.included-items{display:flex;gap:30px;flex-wrap:wrap;margin-top:13px}.included-items p{font-size:.8125rem;margin:0;display:flex;gap:9px}.included-items span{color:var(--gold-dark)}.note{font-size:.75rem;color:var(--muted);line-height:1.9;margin-top:17px}.table-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px}.table-block{border-top:2px solid var(--gold)}.table-block h3{padding:21px 0 15px}table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:right;background:#fff;line-height:1.7}thead{background:var(--paper);color:var(--muted);font-size:.75rem}th,td{padding:16px 18px;border-bottom:1px solid var(--line);font-weight:400}th:first-child{text-align:left}tbody th{color:var(--navy);font-weight:500}td{font-family:var(--en);font-size:1rem;color:var(--navy);white-space:nowrap}.section-end{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:24px}.section-end .note{margin:0}.section-end .button{font-size:.875rem}.visitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:37px}.visitor-grid>div>p{font-size:.9375rem;color:var(--muted);margin-top:20px;margin-bottom:30px}.athlete-card{background:var(--navy);color:#fff;padding:35px 38px}.athlete-card h3{color:#fff;font-size:1.8rem}.athlete-card .eyebrow{color:#d5c28d;font-size:.75rem}.athlete-card>p:not(.eyebrow){font-size:.875rem;margin-top:20px;color:#e2e4eb}.athlete-card .ticket-label{margin-top:26px!important;color:#ddcc9e!important}.athlete-card .ticket-price{font-size:2.2rem!important;margin-top:2px!important;color:#fff!important}.ticket-price small{font-size:.75rem;font-family:var(--jp);margin-left:12px;display:inline-block}.athlete-card .note{font-size:.75rem!important}.athlete-card .button{margin-top:25px;width:100%;font-size:.875rem}.professional{margin-top:40px;border-top:1px solid #cccac3;border-bottom:1px solid #cccac3}.professional p{font-size:.875rem;margin:16px 0}.professional table{margin-block:20px}.professional>.text-link{margin-bottom:20px}.professional[open]{padding-bottom:20px}summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--navy);list-style:none;padding:24px 0}summary::-webkit-details-marker{display:none}summary>span{font-size:1.3rem;color:var(--gold-dark);line-height:1.4}details[open]>summary>span{transform:rotate(45deg)}.senior-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:36px}.senior-grid>div>p:not(.lead){font-size:.9375rem;color:var(--muted)}.senior-price{border-left:2px solid var(--gold);padding-left:40px}.senior-price .amount{margin-block:17px}.senior-price .button{margin-top:24px;gap:20px;font-size:.875rem}.senior-price .button>span{font-size:1.125rem}.enrollment{display:grid;grid-template-columns:1fr 1.55fr;gap:65px}.enrollment>div>p:not(.eyebrow){font-size:.875rem;color:var(--muted);margin-top:22px}.faq details{border-bottom:1px solid #cccac3}.faq details:first-child{border-top:1px solid #cccac3}.faq details>p{font-size:.875rem;margin-top:0;margin-bottom:20px}.faq details[open]{padding-bottom:24px}.faq details table{margin-top:15px}.faq .example-label{font-size:.8125rem;color:var(--muted)}.total{background:#eae6d9}.total th,.total td{font-weight:600}.table-scroll{overflow:auto}
@media(min-width:1600px){.hero{min-height:750px}.hero-content{padding-top:85px;padding-bottom:90px}.hero-photo{min-height:710px}.hero h1{font-size:4.5rem}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{padding-inline:32px;gap:18px}.header nav{gap:18px}.brand{width:158px}.header nav>a{font-size:.8125rem}.header .button.small{padding:11px 15px;gap:12px}.hero-content{padding-left:32px;padding-top:55px;padding-bottom:55px}.hero h1{font-size:3rem}.hero .eyebrow{font-size:.6875rem;letter-spacing:.1em}.hero-photo{min-height:615px}.hero-description{font-size:.875rem}.facts p{font-size:.75rem;gap:10px}.facts p+p{padding-left:15px}.section{padding-block:72px}.price-card{padding:26px 22px}.price-grid{gap:18px}.service-card{padding:27px 22px}.service-card h3{font-size:1.2rem}.service-grid{gap:18px}.pricing-foot{flex-direction:column;align-items:flex-start;gap:14px}.pricing-foot p{max-width:100%}.access-content{padding:45px 32px}.access-content h2{font-size:1.65rem}.photo-caption{flex-direction:column;gap:0}.footer-links{gap:17px}.visitor-grid{gap:32px}.senior-grid{gap:45px}.enrollment{gap:40px}.table-pair{gap:25px}th,td{padding:14px 12px}}
@media(max-width:820px){.header{height:78px}.brand{width:158px}.menu-toggle{display:flex;gap:16px;align-items:center;border:0;background:transparent;color:var(--navy);font-size:.875rem;padding:10px 0 10px 10px}.menu-toggle>span{font-size:1.5rem;line-height:1}.header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px 32px 30px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0000000b}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav>a{padding:15px 0;font-size:1rem}.header nav>.button{margin-top:15px;padding:17px 20px}.hero{grid-template-columns:1fr 1fr;min-height:auto}.hero h1{font-size:clamp(1.9rem,4.7vw,2.45rem)}.hero-content{padding-right:15px}.hero-photo{min-height:565px}.hero .button{font-size:.8125rem;padding:15px 17px;gap:12px}.hero .eyebrow{font-size:.625rem;gap:8px}.gold-line{width:16px}.facts{grid-template-columns:1fr;padding-block:16px;gap:8px}.facts p+p{padding:0;border:0}.facts p{font-size:.8125rem}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.section-heading>p{font-size:.875rem}.section-heading .type-tag{align-self:flex-start}.about{gap:6%}.about h2{font-size:1.8rem}.about-copy{font-size:.9375rem}.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:1fr 1.2fr;gap:0 30px;padding:25px}.service-card h3{grid-column:1;margin:15px 0}.service-card p{grid-column:2;grid-row:1/3;align-self:center}.service-bottom{grid-column:1/-1;margin-top:10px;padding-top:15px}.service-extra{flex-direction:column;gap:12px}.price-card{padding:25px 17px}.price-card .amount strong{font-size:1.9rem}.price-card .button{font-size:.75rem;padding:12px 10px;gap:3px}.plan-desc{font-size:.75rem}.card-top p{font-size:.875rem}.card-top b{font-size:1.7rem}.recommend{padding:2px 6px;font-size:.75rem}.card-top{gap:3px}.price-grid{gap:12px}.access-section{grid-template-columns:1fr 1fr}.access-photo img{min-height:580px}.access-content{padding:40px 26px}.access-content h2{font-size:1.5rem}.cta-inner{gap:7%}.cta h2{font-size:1.8rem}.cta-actions .button{font-size:.8125rem;padding:17px;gap:15px}.footer{grid-template-columns:1fr}.footer-links{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:28px}.price-nav{top:78px}.price-nav nav{gap:28px}.page-intro h1{font-size:2.4rem}.included-items{gap:8px 25px;flex-direction:column}.table-pair{grid-template-columns:1fr}.visitor-grid{grid-template-columns:1fr}.visitor-grid>div{max-width:100%}.athlete-card{padding:30px}.senior-grid{grid-template-columns:1fr}.senior-price{padding:25px 30px;border-left:0;border-top:2px solid var(--gold);background:var(--paper)}.enrollment{grid-template-columns:1fr;gap:28px}.section-end{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:600px){html{scroll-padding-top:134px}.wrap{width:calc(100% - 40px)}.preview-note{font-size:.6875rem;line-height:26px;letter-spacing:.025em}.preview-note span{font-size:.6875rem;margin-right:8px}.header{height:72px;padding-inline:20px}.brand{width:148px}.header nav{top:72px;padding:20px}.hero{display:flex;flex-direction:column;overflow:visible}.hero-content{padding:35px 23px 34px}.hero .eyebrow{font-size:.6875rem;margin-bottom:19px;letter-spacing:.1em;gap:10px}.gold-line{width:20px}.hero h1{font-size:clamp(2rem,9vw,3.2rem);line-height:1.48;letter-spacing:.045em}.hero h1 br:nth-of-type(2){display:none}.hero h1>span{display:block}.hero h1{max-width:500px}.hero-description{font-size:.875rem;margin-top:19px;margin-bottom:22px;line-height:1.95}.hero .button{font-size:.875rem;padding:15px 22px;gap:30px;min-height:55px}.hero .text-link{margin-top:14px;font-size:.8125rem}.hero-photo{min-height:285px;height:285px;margin:0 0 0 20px}.hero-photo>img{object-position:58% 58%}.photo-caption{bottom:20px;left:20px;right:20px;font-size:.6875rem;flex-direction:row;flex-wrap:wrap;gap:5px 15px}.photo-label{font-size:.75rem;top:22px;right:22px}.facts{padding-block:20px;gap:10px}.facts p{font-size:.75rem;gap:15px}.facts .latin{font-size:.8125rem}.section{padding-block:56px}.eyebrow{font-size:.75rem;margin-bottom:15px}.about{grid-template-columns:1fr;gap:28px}.about h2{font-size:1.8rem}.about-copy .lead{font-size:1.25rem;margin-bottom:18px}.about-copy{font-size:.9375rem}.about-copy .text-link{margin-top:22px}.section-heading{margin-bottom:25px;gap:12px}.section-heading h2{font-size:1.55rem}.section-heading .eyebrow{margin-bottom:12px}.service-card{display:block;padding:27px 25px}.service-card h3{margin:18px 0 15px;font-size:1.25rem}.service-card p{font-size:.875rem}.service-bottom{margin-top:24px;padding-top:18px}.service-extra{font-size:.75rem;gap:16px}.price-grid{grid-template-columns:1fr;gap:16px}.price-card{padding:25px;display:grid;grid-template-columns:1fr 1fr;column-gap:15px}.card-top{grid-column:1/-1}.card-top p{font-size:1rem}.card-top b{font-size:1.9rem}.recommend{font-size:.75rem;padding:3px 11px}.plan-desc{grid-column:1/-1;font-size:.8125rem;margin-top:14px}.price-card .amount{grid-column:1/-1;margin-top:16px}.price-card .amount strong{font-size:2.65rem}.price-card .unit{grid-column:1/-1;font-size:.8125rem;margin-top:8px}.price-card .button{grid-column:1/-1;padding:13px 18px;font-size:.875rem;margin-top:22px}.pricing-foot{margin-top:22px}.pricing-foot p{font-size:.75rem}.pricing-foot .text-link{font-size:.8125rem;white-space:normal}.access-section{grid-template-columns:1fr}.access-photo img{height:260px;min-height:0;object-position:60% center}.access-content{padding:40px 23px}.access-content h2{font-size:1.65rem}.cta-inner{grid-template-columns:1fr;gap:32px;padding-block:49px}.cta h2{font-size:1.8rem}.cta p:not(.eyebrow){font-size:.875rem}.cta-actions .button{font-size:.875rem;padding:18px 20px}.cta-actions>p{font-size:.75rem!important}.footer{padding-block:40px 94px}.footer-name{font-size:1.5rem}.footer-name span{font-size:1.2rem}.footer-links{gap:14px 23px;font-size:.75rem}.footer>p,.footer small{font-size:.75rem}.mobile-cta{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;background:var(--navy);color:white;z-index:30;font-weight:500;padding:15px 23px calc(15px + env(safe-area-inset-bottom));border-top:1px solid #71758c;font-size:.875rem;box-shadow:0 -4px 15px #00000012}.mobile-cta>span{font-size:1.25rem;line-height:1}.page-intro{padding-block:20px 37px}.breadcrumbs{font-size:.75rem;margin-bottom:30px}.page-intro h1{font-size:2.1rem}.page-intro>p:last-child{font-size:.875rem;line-height:2}.page-intro>p:last-child br{display:none}.price-nav{top:72px}.price-nav nav{width:100%;padding-inline:20px;gap:26px}.price-nav a{font-size:.75rem;padding-block:14px}.price-section{padding-top:40px}.section-desc{font-size:.875rem;line-height:1.95;margin-top:0;margin-bottom:25px}.included{padding:23px 21px}.included h3{font-size:.8125rem}.included-items{margin-top:15px;gap:10px}.included-items p{font-size:.75rem}.note{font-size:.75rem}.table-block h3{font-size:1.125rem;padding-top:18px}.table-pair{gap:32px}th,td{padding:15px 10px}thead th{font-size:.75rem}tbody th{font-size:.8125rem}td{font-size:1rem}.type-tag{font-size:.75rem}.section-end .button{font-size:.8125rem}.visitor-grid{margin-top:25px;gap:30px}.visitor-grid>div h3{font-size:1.125rem}.visitor-grid>div>p{font-size:.875rem}.athlete-card{padding:27px 24px}.athlete-card h3{font-size:1.75rem}.ticket-price small{display:block;margin-left:0;margin-top:6px}.athlete-card .button{font-size:.8125rem;padding:15px 17px}.professional summary{font-size:.875rem;gap:10px}.professional p{font-size:.875rem}.professional th,.professional td{padding:12px 8px}.professional thead th{font-size:.6875rem}.senior-grid{gap:25px;margin-top:25px}.senior-grid .lead{font-size:1.3rem}.senior-price{padding:25px 22px}.senior-price .button{flex-wrap:wrap;gap:12px;font-size:.8125rem;padding:14px;justify-content:center}.senior-price .button>span{font-size:1.125rem}.senior-price .amount strong{font-size:2.6rem}.enrollment h2{font-size:1.6rem}.enrollment>div>p:not(.eyebrow){font-size:.875rem}.faq summary{font-size:.875rem;padding-block:22px;gap:10px}.faq th,.faq td{padding:13px 8px}.faq td{font-size:1rem}.faq tbody th{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Photography-led home page. Pricing components retain the shared system. */
.home-v2 .hero-v2{position:relative;isolation:isolate;min-height:760px;overflow:hidden;background:#171c31;color:#fff}.hero-v2-space{position:absolute;inset:0;background:linear-gradient(90deg,#171c31b0,#171c3140),url('../assets/session.webp') center/cover;opacity:.6;z-index:-4}.hero-v2-athlete{position:absolute;right:0;top:0;width:65%;height:100%;background-image:url('../assets/coaching.webp');background-size:200% auto;background-position:right top;background-repeat:no-repeat;z-index:-3}.hero-v2-shade{position:absolute;inset:0;background:linear-gradient(90deg,#171c31 0%,#171c31f5 23%,#171c31a6 43%,#171c3115 68%),linear-gradient(0deg,#171c31c9,transparent 30%);z-index:-2}.hero-v2-inner{position:relative;padding-top:50px;padding-bottom:92px}.hero-v2 .eyebrow{color:#e0c994;letter-spacing:.17em;font-size:.75rem;margin-bottom:20px}.hero-v2-en{font-family:var(--en);font-size:clamp(5rem,9.2vw,9rem);font-weight:600;line-height:.91;letter-spacing:-.045em;color:white;margin:0 0 25px}.hero-v2-en>span{color:#d1bb83}.hero-v2 h1{font-size:clamp(1.8rem,2.75vw,2.6rem);color:white;line-height:1.65;letter-spacing:.07em;max-width:650px}.hero-v2-description{font-size:.9375rem;color:#e8e9ed;line-height:1.9;margin-top:20px}.hero-v2-actions{display:flex;align-items:center;gap:27px;margin-top:28px;flex-wrap:wrap}.hero-v2-actions .button{padding:16px 22px;gap:30px;font-size:.875rem}.hero-v2-price{font-size:.8125rem;padding-bottom:5px;border-bottom:1px solid #9698a3;color:white}.hero-v2-price:hover{color:#e0c994}.hero-v2-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px max(56px,calc((100vw - 1200px)/2));border-top:1px solid #ffffff35;font-family:var(--en);font-size:.75rem;letter-spacing:.12em}.hero-v2-bottom a{display:flex;align-items:center;gap:15px}.hero-v2-bottom a>span{font-size:1.3rem;line-height:1}.home-v2 .facts{padding-block:24px}.photo-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:52px}.photo-story figure,.about-image{margin:0}.quad{position:relative;aspect-ratio:1;overflow:hidden;background:#e3e3e1}.quad img{position:absolute;width:200%;height:200%;max-width:none;object-fit:fill;display:block;transition:transform .6s}.quad-consult img{left:0;top:0}.quad-coach img{left:0;top:-100%}.quad-train img{left:-100%;top:-100%}.photo-story figcaption{margin-top:17px}.photo-story figcaption>span{font-family:var(--en);font-size:.75rem;letter-spacing:.1em;color:var(--gold-dark)}.photo-story figcaption p{font-size:1.05rem;font-weight:500;color:var(--navy);margin-top:7px}.home-v2 .about{row-gap:45px;padding-top:75px}.about-image{grid-column:1/-1;overflow:hidden;position:relative}.about-image img{width:100%;height:400px;object-fit:cover;object-position:center 40%}.about-image figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#171c31b5);padding:45px 30px 22px;color:white;display:flex;justify-content:space-between;gap:15px;align-items:center}.about-image figcaption .latin{font-size:.8125rem;letter-spacing:.08em}.about-image figcaption>span:last-child{font-size:.875rem}.home-v2 .service-card{display:block;padding:0;border:0;background:#fff}.home-v2 .service-card-copy{padding:27px 25px 25px}.home-v2 .service-card h3{margin:17px 0}.home-v2 .service-image{height:auto;aspect-ratio:1.5;border-bottom:3px solid var(--gold)}.home-v2 .service-image.quad{aspect-ratio:1;max-height:320px}.home-v2 .service-image.quad img{object-fit:cover}.photo-flat{overflow:hidden;position:relative}.photo-flat img{width:100%;height:100%;object-fit:cover}.home-v2 .service-grid{align-items:stretch}.home-v2 .service-card{display:flex;flex-direction:column}.home-v2 .service-card .service-image{aspect-ratio:auto;height:245px;max-height:none;flex-shrink:0}.home-v2 .service-card .service-image.quad img{height:auto;width:200%;top:auto;bottom:0;left:0;object-fit:initial;min-height:200%}.home-v2 .service-card-copy{flex:1;display:flex;flex-direction:column}.home-v2 .service-bottom{margin-top:auto;padding-top:23px}.home-v2 .service-card-copy>p{margin-bottom:30px}.home-v2 .service-card:hover .service-image>img{transform:scale(1.025)}.home-v2 .access-photo img{object-position:center}.home-v2 .service-card:last-child .photo-flat img{object-position:62% center}
@media(min-width:1600px){.home-v2 .hero-v2{min-height:850px}.hero-v2-inner{padding-top:65px;padding-bottom:100px}.hero-v2-en{font-size:10rem}.hero-v2 h1{font-size:2.8rem}.hero-v2-athlete{width:62%}}
@media(max-width:1100px){.home-v2 .hero-v2{min-height:705px}.hero-v2-inner{padding-top:46px}.hero-v2-en{font-size:6.6rem}.hero-v2 h1{font-size:2rem}.hero-v2-athlete{width:72%;background-size:auto 200%;background-position:right top}.hero-v2-shade{background:linear-gradient(90deg,#171c31f2,#171c31ca 30%,#171c3120 80%),linear-gradient(0deg,#171c31db,transparent 45%)}.hero-v2-bottom{padding-inline:32px}.photo-story{gap:18px}.home-v2 .service-card .service-image{height:200px}.home-v2 .service-card-copy{padding:25px 22px}.about-image img{height:360px}}
@media(max-width:820px){.home-v2 .hero-v2{min-height:700px}.hero-v2-en{font-size:6rem}.hero-v2 h1{font-size:1.8rem}.hero-v2-description{font-size:.875rem}.hero-v2-actions{flex-direction:column;align-items:flex-start;gap:18px}.hero-v2-athlete{width:83%;background-size:auto 200%;background-position:right top}.hero-v2-shade{background:linear-gradient(90deg,#171c31f2,#171c31b3 37%,#171c3120),linear-gradient(0deg,#171c31e6,transparent 60%)}.photo-story{gap:14px;padding-top:35px}.photo-story figcaption p{font-size:.875rem}.photo-story figcaption>span{font-size:.75rem}.home-v2 .about{padding-top:60px}.home-v2 .service-card{display:grid;grid-template-columns:40% 60%}.home-v2 .service-card .service-image{height:100%;min-height:280px;border-bottom:0}.home-v2 .service-card .service-image.quad{background:url('../assets/coaching.webp') left bottom/200% 200%}.home-v2 .service-card .service-image.quad img{visibility:hidden}.home-v2 .service-card-copy{display:flex;grid-column:2;grid-row:1;min-width:0}.home-v2 .service-card p{margin-bottom:20px}.home-v2 .service-bottom{grid-column:auto}.home-v2 .service-card-copy .service-bottom{gap:10px}.about-image img{height:320px}.about-image figcaption{padding-inline:20px}}
@media(max-width:600px){.home-v2 .hero-v2{min-height:780px}.hero-v2-inner{padding:32px 0 100px;min-height:780px;display:flex;flex-direction:column;align-items:flex-start}.hero-v2 .eyebrow{font-size:.75rem;letter-spacing:.105em;margin-bottom:18px}.hero-v2-en{font-size:clamp(4.1rem,17vw,6rem);line-height:.93;letter-spacing:-.04em;margin-bottom:0;position:relative;z-index:1}.hero-v2-athlete{width:100%;height:470px;top:95px;background-size:200% auto;background-position:right top}.hero-v2-space{opacity:.3}.hero-v2-shade{background:linear-gradient(180deg,#171c31e6 0%,#171c3110 24%,#171c3135 42%,#171c31ed 64%,#171c31 82%),linear-gradient(90deg,#171c3180,transparent 65%)}.hero-v2 h1{font-size:clamp(1.4rem,5.7vw,1.8rem);line-height:1.65;margin-top:auto;padding-top:145px;letter-spacing:.04em}.hero-v2-description{font-size:.8125rem;margin-top:14px;line-height:1.9}.hero-v2-actions{margin-top:22px;gap:16px;width:100%;align-items:stretch}.hero-v2-actions .button{font-size:.875rem;min-height:54px;padding:15px 20px;gap:15px}.hero-v2-price{align-self:flex-start;font-size:.8125rem}.hero-v2-bottom{padding:18px 20px;font-size:.75rem;letter-spacing:.075em;gap:10px}.hero-v2-bottom a{gap:8px}.hero-v2-bottom a>span{font-size:1rem}.home-v2 .facts{padding-block:22px}.photo-story{width:100%;padding:30px 20px 4px;gap:14px;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.photo-story .story-item{flex:0 0 77%;max-width:330px;scroll-snap-align:center}.photo-story .quad{aspect-ratio:1}.photo-story figcaption{margin-top:13px;padding-bottom:8px}.photo-story figcaption>span{font-size:.75rem}.photo-story figcaption p{font-size:1rem}.home-v2 .about{padding-top:55px;row-gap:27px}.about-image img{height:230px;object-position:60% center}.about-image figcaption{flex-direction:column;align-items:flex-start;padding:50px 18px 18px;gap:5px}.about-image figcaption .latin{font-size:.75rem}.about-image figcaption>span:last-child{font-size:.8125rem}.home-v2 .service-card{display:flex}.home-v2 .service-card .service-image{min-height:0;height:230px;border-bottom:3px solid var(--gold)}.home-v2 .service-card-copy{display:flex;padding:25px;grid-row:auto;grid-column:auto}.home-v2 .service-card .service-image.quad{background-size:200% auto;background-position:left bottom}.home-v2 .service-card h3{font-size:1.25rem;margin:15px 0}.home-v2 .service-card-copy>p{margin-bottom:25px}.home-v2 .service-card-copy .service-bottom{padding-top:18px}.home-v2 .service-card .service-image.quad img{display:none}.home-v2 .access-photo img{height:300px}}
@media(max-width:360px){.hero-v2 .eyebrow{font-size:.75rem}.hero-v2 h1{font-size:1.35rem}.hero-v2-description{font-size:.75rem}.hero-v2-actions .button{font-size:.8125rem}.hero-v2-bottom{font-size:.75rem}}
.hero-v2-en{font-size:clamp(3rem,6.3vw,6.8rem);letter-spacing:-.035em;line-height:1.02}.hero-v2-en>span{font-size:1.5em}.detail-intro{padding-top:27px;padding-bottom:70px}.detail-hero{display:grid;grid-template-columns:1.55fr 1fr;gap:70px;align-items:center}.detail-service-name{font-size:.9375rem;color:var(--gold-dark);margin-bottom:18px}.detail-hero h1{font-size:clamp(1.8rem,3.1vw,2.7rem);line-height:1.65}.detail-description{font-size:1rem;line-height:2;margin:25px 0;color:var(--muted)}.detail-facts{border-top:3px solid var(--gold);background:var(--paper);padding:35px}.detail-facts .detail-number{font-family:var(--en);font-size:3rem;line-height:1.2;margin-top:20px;color:var(--navy)}.detail-facts>p:not(.detail-number){font-size:.875rem;margin-top:18px}.detail-facts>div{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:.875rem}.detail-facts .text-link{margin-top:20px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}.detail-grid article{border-top:1px solid var(--line);padding-top:22px}.detail-grid article>span{color:var(--gold-dark);font-size:1.2rem}.detail-grid h3{font-size:1.15rem;margin-top:16px}.detail-grid p{font-size:1rem;color:var(--muted);margin-top:18px}.detail-steps{display:grid;gap:25px;max-width:900px}.detail-steps article{display:flex;gap:25px;padding:25px 0;border-top:1px solid var(--line)}.detail-steps article>span{color:var(--gold-dark);font-size:2rem;line-height:1.4}.detail-steps p{font-size:1rem;color:var(--muted);margin-top:12px}.detail-support{padding-block:60px}.detail-support p:not(.eyebrow){font-size:1rem;max-width:850px;margin-top:25px}.detail-support .text-link{margin-top:25px}.detail-faq{max-width:900px}.detail-faq .faq{margin-top:30px}.detail-entry{margin-top:-15px;margin-bottom:30px}
@media(min-width:1600px){.hero-v2-en{font-size:7rem}}
@media(max-width:820px){.hero-v2-en{font-size:clamp(2.5rem,6.5vw,4.5rem)}.detail-hero{gap:35px}.detail-grid{grid-template-columns:1fr}.detail-facts{padding:25px}.detail-grid h3{font-size:1.125rem}}
@media(max-width:600px){.hero-v2-en{font-size:clamp(1.85rem,8.2vw,3rem);margin-top:12px}.hero-v2-en>span{font-size:2.25em;line-height:1.05}.detail-intro{padding-top:20px;padding-bottom:45px}.detail-intro .breadcrumbs{flex-wrap:wrap;gap:8px 14px}.detail-hero{grid-template-columns:1fr;gap:30px}.detail-hero h1{font-size:1.8rem}.detail-service-name{font-size:.875rem}.detail-description{font-size:1rem}.detail-facts .detail-number{font-size:2.5rem}.detail-support{padding-block:45px}.detail-steps article{gap:20px}.detail-steps h3{font-size:1.125rem}}
.home-v2 .service-card .drive-single,.home-v2 .service-card .drive-pair{height:245px;min-height:0;aspect-ratio:auto;overflow:hidden;position:relative;background:#eee}.home-v2 .service-card .drive-single>img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 40%;display:block;visibility:visible}.home-v2 .service-card .drive-pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}.home-v2 .service-card .drive-pair>img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;display:block;visibility:visible;object-position:50% center;min-width:0}.home-v2 .exercise-caption{position:absolute;bottom:9px;right:9px;color:#fff;background:#252b50d9;padding:2px 8px;font-size:.75rem;line-height:1.7}.detail-session-photo{margin:42px 0 0}.detail-session-photo>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 40%;border-radius:2px}.detail-session-photo figcaption{font-size:.8125rem;line-height:1.8;color:var(--muted);margin-top:13px}.detail-exercise-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-exercise-pair img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;min-width:0}.approach-with-photo{display:grid;grid-template-columns:1fr 1.15fr;align-items:start;gap:45px}.consult-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:54% center;margin-top:25px}.approach-with-photo .detail-steps{gap:0}
@media(max-width:1100px){.home-v2 .service-card .drive-single,.home-v2 .service-card .drive-pair{height:200px}}
@media(min-width:601px) and (max-width:820px){.home-v2 .service-card .drive-single,.home-v2 .service-card .drive-pair{height:100%;min-height:280px}.home-v2 .service-card .drive-pair{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.home-v2 .service-card .drive-pair>img{height:140px;object-fit:cover}}
@media(max-width:600px){.home-v2 .service-card .drive-single,.home-v2 .service-card .drive-pair{height:240px;min-height:0}.detail-session-photo{margin-top:30px}.detail-session-photo>img{aspect-ratio:3/2}.detail-exercise-pair{gap:8px}.detail-exercise-pair img{aspect-ratio:3/4}.detail-session-photo figcaption{font-size:.75rem}.approach-with-photo{grid-template-columns:1fr;gap:25px}.consult-photo{aspect-ratio:3/2;margin-top:0}.home-v2 .exercise-caption{font-size:.75rem}}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.blog-card a{display:flex;flex-direction:column;height:100%}.blog-photo{aspect-ratio:16/10;overflow:hidden;background:var(--paper)}.blog-photo img{height:100%;width:100%;object-fit:cover;transition:transform .25s}.blog-card a:hover .blog-photo img{transform:scale(1.03)}.blog-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:var(--muted);font-family:var(--en);font-size:.75rem;letter-spacing:.04em}.blog-meta>span{color:var(--gold-dark)}.blog-card h3{font-size:1rem;line-height:1.85;margin-top:12px;letter-spacing:.015em}.blog-read{font-size:.875rem;color:var(--navy);padding-top:22px;margin-top:auto}.programs-intro{margin-top:22px}.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.program-grid>a{border:1px solid var(--line);padding:26px}.program-grid h3{font-size:1.1rem}.program-grid p{font-size:1rem;color:var(--muted);margin-top:15px}.program-grid>a>span{display:block;margin-top:22px;font-size:.875rem;color:var(--gold-dark)}.program-grid>a:hover{border-color:var(--gold)}.semi-custom{margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}.single-semi{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;padding-block:40px;border-block:1px solid var(--line)}.single-semi h2{font-size:1.6rem}.single-semi p:not(.eyebrow){margin-top:20px}.single-semi-price{font-size:.875rem;color:var(--navy);margin-bottom:20px}.single-semi-price .latin{font-size:2.4rem;font-weight:500}.detail-support .detail-grid p{margin-top:18px}
@media(min-width:821px) and (max-width:1000px){.header nav{gap:13px}.header nav>a{font-size:.75rem}.header .brand{width:140px}}
@media(max-width:820px){.blog-grid{gap:18px}.program-grid{gap:16px}.single-semi{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr;gap:32px}.blog-photo{aspect-ratio:16/9}.blog-card h3{font-size:1.0625rem}.blog-meta{margin-top:15px}.blog-read{padding-top:17px}.program-grid{grid-template-columns:1fr}.program-grid>a{padding:23px}.program-grid h3{font-size:1.125rem}.single-semi{padding-block:30px}}

/* Photo-led program cards and staff profiles. */
.program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.program-grid>a{padding:0;overflow:hidden;display:flex;flex-direction:column}.program-photo{aspect-ratio:2/1;overflow:hidden;background:var(--paper)}.program-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.program-grid>a:hover img{transform:scale(1.035)}.program-copy{padding:24px;display:flex;flex-direction:column;flex:1}.program-copy>span{font-size:.875rem;color:var(--gold-dark);margin-top:auto;padding-top:22px}.program-copy p{margin:12px 0 0}.program-copy h3{line-height:1.7}.staff-intro{padding-top:35px}.staff-heading{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:45px;padding:45px 0 55px;border-bottom:1px solid var(--line)}.staff-heading h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.5;margin-top:18px;letter-spacing:.035em}.staff-heading>p{color:var(--muted);font-size:1rem;line-height:2.2;padding-bottom:8px}.staff-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 28px;padding-top:50px;padding-bottom:90px;align-items:start}.staff-card{min-width:0}.staff-portrait{aspect-ratio:4/4.5;background:#f0f1f3;overflow:hidden;border-bottom:3px solid var(--gold)}.staff-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.staff-copy{padding-top:23px}.staff-role{font-family:var(--en);font-size:.875rem;letter-spacing:.04em;color:var(--gold-dark);line-height:1.5}.staff-copy h2{font-size:1.6rem;line-height:1.5;margin:10px 0 16px;letter-spacing:.06em}.staff-tags{display:flex;flex-wrap:wrap;gap:7px;min-height:60px;align-content:start}.staff-tags span{font-family:var(--en);font-size:.875rem;color:var(--navy);background:var(--paper);padding:4px 8px;line-height:1.5;overflow-wrap:anywhere}.staff-message{margin-top:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.staff-message summary{font-size:.875rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;list-style:none}.staff-message summary::-webkit-details-marker{display:none}.staff-message summary span{font-size:1.2rem;color:var(--gold-dark);transition:transform .2s}.staff-message[open] summary span{transform:rotate(45deg)}.staff-message>div{padding:0 0 22px}.staff-message p{font-size:1rem;line-height:1.95;margin:0 0 12px;color:var(--muted)}.staff-message p:last-child{margin:0}.header nav>a[aria-current=page]{color:var(--gold-dark)}
@media(min-width:821px) and (max-width:1180px){.header nav{gap:12px}.header nav>a{font-size:.875rem}.header .brand{width:135px}.header nav .button{padding:12px}.header{padding-inline:20px}}
@media(max-width:1000px) and (min-width:821px){.header nav>a:first-child{max-width:5em;text-align:center}.header .brand{width:115px}.header nav{gap:10px}}
@media(max-width:820px){.staff-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 22px}.staff-heading{gap:25px}.staff-heading>p br{display:none}}
@media(max-width:600px){.program-grid{grid-template-columns:1fr;gap:24px}.program-grid>a{padding:0}.program-copy{padding:22px}.staff-heading{grid-template-columns:1fr;gap:22px;padding:25px 0 35px}.staff-list{grid-template-columns:1fr;gap:40px;padding-top:32px;padding-bottom:55px}.staff-portrait{aspect-ratio:4/4.2;max-height:440px}.staff-copy{padding-top:20px}.staff-copy h2{font-size:1.5rem}.staff-tags{min-height:0}.staff-intro{padding-top:22px}.staff-message{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.program-photo img,.staff-message summary span{transition:none}}

#staff-3 .staff-portrait{position:relative}
#staff-3 .staff-portrait img{position:absolute;width:160%;max-width:none;height:auto;left:50%;top:0;transform:translate(-50%,-21%);transform-origin:center}
@media(min-width:821px) and (max-width:1000px){.header{height:78px}.header .brand{width:158px}.menu-toggle{display:flex;gap:16px;align-items:center;border:0;background:transparent;color:var(--navy);font-size:.875rem;padding:10px}.menu-toggle>span{font-size:1.5rem}.header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px 32px 30px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0000000b}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav>a,.header nav>a:first-child{padding:15px 0;font-size:1rem;max-width:none;text-align:left}.header nav>.button{margin-top:15px;padding:17px 20px}.price-nav{top:78px}}

.session-contents .lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}.session-contents .lesson-grid>article{padding:0;background:#fff;border:1px solid var(--line);min-width:0;overflow:hidden}.session-contents .lesson-image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.session-contents .lesson-copy{padding:25px}.session-contents .lesson-copy>.latin{display:block;color:var(--gold-dark);font-size:.875rem;margin-bottom:12px}.session-contents .lesson-copy h3{font-size:1.125rem;line-height:1.7}.session-contents .lesson-copy p{font-size:1rem;line-height:1.95;margin-top:15px}
@media(max-width:1000px){.session-contents .lesson-grid{gap:18px}.session-contents .lesson-copy{padding:20px}}
@media(max-width:820px) and (min-width:601px){.session-contents .lesson-grid{grid-template-columns:1fr}.session-contents .lesson-grid>article{display:grid;grid-template-columns:38% 1fr;align-items:center}.session-contents .lesson-copy{padding:24px}}
@media(max-width:600px){.session-contents .lesson-grid{grid-template-columns:1fr;gap:26px}.session-contents .lesson-copy{padding:24px}.session-contents .lesson-copy h3{font-size:1.25rem}}

/* Circular lesson artwork: preserve the square image scale and mask only its corners. */
.session-contents .lesson-grid>article{background:transparent;border:0;overflow:visible}
.session-contents .lesson-image{width:100%;max-width:320px;height:auto;aspect-ratio:1;border-radius:50%;object-fit:contain;margin:0 auto}
.session-contents .lesson-copy{padding:25px 8px 0}
@media(min-width:601px) and (max-width:820px){.session-contents .lesson-grid>article{gap:24px;grid-template-columns:minmax(0,35%) minmax(0,1fr)}.session-contents .lesson-copy{padding:8px 0}.session-contents .lesson-grid{gap:32px}}
@media(max-width:600px){.session-contents .lesson-grid{gap:42px}.session-contents .lesson-copy{padding:23px 4px 0}}

/* Updated hero headline keeps both lines readable across screen sizes. */
.hero-v2-en{font-size:clamp(3.2rem,7.2vw,7.6rem);letter-spacing:-.035em;line-height:1.03}
.hero-v2-en>span{font-size:1.35em;line-height:1.02}
@media(min-width:1600px){.hero-v2-en{font-size:7.6rem}}
@media(max-width:1000px){.hero-v2-en{font-size:clamp(3rem,7.4vw,4.8rem)}}
@media(max-width:600px){.hero-v2-en{font-size:clamp(2.5rem,12vw,4.2rem);margin-top:12px}.hero-v2-en>span{font-size:1.35em}}

.hero-v2-athlete{background-image:none;object-fit:cover;object-position:46% center;max-width:none}
@media(max-width:1000px){.hero-v2-athlete{object-position:48% center}}
@media(max-width:600px){.hero-v2-athlete{object-position:46% center}}

/* Separate assessment and hands-on conditioning photography. */
.home-v2 .about-image img{height:auto;aspect-ratio:2.5/1;object-fit:cover;object-position:50% 15%}
.home-v2 .service-card:last-child .photo-flat img{object-position:50% 40%}
@media(max-width:820px){.home-v2 .about-image img{aspect-ratio:2/1}}
@media(max-width:600px){.home-v2 .about-image img{aspect-ratio:4/3;object-position:53% center}}

/* Individually balance portrait exposure while retaining the original photographs. */
.staff-card{--portrait-brightness:1.04;--portrait-contrast:.97;--portrait-saturation:.90}
.staff-portrait img{filter:brightness(var(--portrait-brightness)) contrast(var(--portrait-contrast)) saturate(var(--portrait-saturation))}
#staff-1{--portrait-brightness:1.13;--portrait-contrast:.95;--portrait-saturation:.92}
#staff-2{--portrait-brightness:1.10;--portrait-contrast:.96;--portrait-saturation:.91}
#staff-3{--portrait-brightness:1;--portrait-contrast:.92;--portrait-saturation:.89}
#staff-4{--portrait-brightness:1.04;--portrait-contrast:.98;--portrait-saturation:.91}
#staff-5{--portrait-brightness:1.03;--portrait-contrast:.97;--portrait-saturation:.88}
#staff-6{--portrait-brightness:1.10;--portrait-contrast:.96;--portrait-saturation:.93}
#staff-7{--portrait-brightness:1.06;--portrait-contrast:.96;--portrait-saturation:.88}
#staff-8{--portrait-brightness:1.07;--portrait-contrast:.98;--portrait-saturation:.89}
#staff-9{--portrait-brightness:1.08;--portrait-contrast:.97;--portrait-saturation:.93}

/* About: a human introduction, philosophy, and routes into sessions. */
.about-page-intro{padding-top:35px}.about-page-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:45px 0 70px}.about-page-hero h1{font-size:clamp(2.3rem,4vw,3.7rem);line-height:1.6;letter-spacing:.045em}.about-hero-copy>p:not(.eyebrow){font-size:1rem;line-height:2;color:var(--muted)}.about-hero-copy .about-hero-lead{font-weight:600;color:var(--navy);margin:26px 0 14px}.about-page-hero figure,.about-feature-layout figure{margin:0;min-width:0}.about-page-hero img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:53% center}.about-page-hero figcaption,.about-feature-layout figcaption{font-size:.8125rem;color:var(--muted);line-height:1.8;margin-top:12px}.about-philosophy{display:grid;grid-template-columns:1fr 1.1fr;gap:65px}.about-prose p{font-size:1rem;line-height:2.1;color:var(--muted)}.about-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:40px}.about-values article{border-top:2px solid var(--gold);padding-top:23px}.about-values .latin{font-size:.875rem;color:var(--gold-dark);letter-spacing:.04em}.about-values h3{margin:16px 0}.about-values p{font-size:1rem;line-height:2;color:var(--muted)}.about-feature-section{background:var(--paper)}.about-feature-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.about-feature-layout img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:58% center}.about-feature-list article+article{margin-top:28px;border-top:1px solid var(--line);padding-top:27px}.about-feature-list h3{font-size:1.125rem;line-height:1.8}.about-feature-list p{margin-top:13px;color:var(--muted);font-size:1rem;line-height:2}.about-feature-list .text-link{margin-top:18px}.about-service-links>a{display:grid;grid-template-columns:220px 1fr 25px;gap:25px;align-items:center;border-top:1px solid var(--line);padding:29px 0}.about-service-links>a:last-child{border-bottom:1px solid var(--line)}.about-service-links>a>.latin{color:var(--gold-dark);font-size:.875rem;letter-spacing:.04em}.about-service-links p{margin-top:8px;color:var(--muted);font-size:1rem}.about-service-arrow{color:var(--gold-dark);font-size:1.4rem}.about-service-links>a:hover h3{color:var(--gold-dark)}.about-bodywork{margin-top:35px;display:flex;gap:40px;justify-content:space-between;align-items:center;background:var(--paper);padding:30px}.about-bodywork .eyebrow{margin-bottom:10px}.about-bodywork h3{font-size:1.125rem}.about-bodywork p:not(.eyebrow){margin-top:12px;font-size:1rem;color:var(--muted)}.about-bodywork .text-link{flex-shrink:0}.about-operator{padding:30px 0;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.about-operator>.wrap{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.about-operator .wrap>div{display:flex;gap:25px}.about-operator a{color:var(--navy);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.about-page-hero{gap:30px}.about-philosophy{gap:35px}.about-feature-layout{gap:30px}.about-service-links>a{grid-template-columns:170px 1fr 20px}.about-bodywork{flex-direction:column;align-items:flex-start;gap:22px}}
@media(max-width:820px){.about-page-hero{grid-template-columns:1fr}.about-page-hero img{aspect-ratio:3/2;object-position:50% 40%}.about-philosophy,.about-feature-layout{grid-template-columns:1fr}.about-feature-layout img{aspect-ratio:3/2;object-position:center}.about-values{gap:22px}.about-values h3{font-size:1.125rem}.about-service-links>a{grid-template-columns:1fr 25px;gap:12px}.about-service-links>a>.latin{grid-column:1/-1}}
@media(max-width:600px){.about-page-intro{padding-top:22px}.about-page-hero{padding:28px 0 45px;gap:28px}.about-page-hero h1{font-size:2.2rem}.about-hero-copy>p br{display:none}.about-values{grid-template-columns:1fr;gap:28px}.about-values h3{font-size:1.25rem}.about-values p{margin-top:0}.about-bodywork{padding:23px}.about-service-links h3{font-size:1.125rem}.about-feature-layout img{aspect-ratio:4/3}.about-service-links>a{padding:24px 0}.about-operator>.wrap{gap:15px}}

.logo-story-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:32px}.about-brand-logo{width:260px;height:auto;flex-shrink:0}.logo-story-heading .eyebrow{margin-bottom:14px}.logo-story-banner{margin:0}.logo-story-banner img{width:100%;height:auto;display:block}.about-values.logo-values{display:grid;grid-template-columns:1fr;gap:0;margin-top:34px}.logo-values article{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;border-top:1px solid var(--line);padding:25px 0}.logo-values article:last-child{border-bottom:1px solid var(--line)}.logo-diagram{display:block;min-width:0}.logo-diagram img{display:block;width:100%;height:auto}.logo-diagram>span{display:block;text-align:right;color:var(--gold-dark);font-size:.875rem;padding:0 12px 8px}.logo-value-copy h3{margin:12px 0}.logo-value-copy p{font-size:1rem;line-height:2;color:var(--muted)}.about-approach-photos{display:grid;gap:26px}.about-feature-layout .about-approach-photos img{aspect-ratio:3/2;object-fit:cover;object-position:center;height:auto;width:100%}.about-approach-photos figcaption .latin{color:var(--gold-dark);margin-right:10px;letter-spacing:.06em}
@media(max-width:820px){.logo-story-heading{align-items:flex-start;flex-direction:column;gap:22px}.about-brand-logo{width:240px}.logo-values article{gap:24px;grid-template-columns:1fr 1fr}.about-approach-photos{grid-template-columns:1fr 1fr;gap:18px}}
@media(max-width:600px){.logo-story-heading{gap:15px}.about-brand-logo{width:210px}.logo-values article{grid-template-columns:1fr;gap:20px;padding:25px 0}.logo-diagram>span{padding-right:0}.logo-value-copy h3{font-size:1.25rem}.logo-values{margin-top:25px}.about-approach-photos{grid-template-columns:1fr;gap:24px}}

/* Supplied Insignia Roman is reserved for the P2M brand wordmark. */
@font-face{font-family:'Insignia Roman';src:url('../assets/fonts/insignia-roman.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{--brand-font:'Insignia Roman',Futura,Jost,sans-serif}
.brand-type,.footer-name,.footer-name>span{font-family:var(--brand-font);font-weight:400;font-style:normal;font-synthesis:none}
.header .brand,.brand-lockup{display:inline-flex;align-items:center;gap:10px}.header .brand{width:200px;min-height:48px;color:var(--navy)}
.brand-symbol{display:block;width:42px;height:38px;flex-shrink:0;overflow:hidden}
.brand-wordmark{display:flex;flex-direction:column;align-items:flex-start;font-family:var(--brand-font);font-size:1.2rem;line-height:1.15;letter-spacing:0;font-weight:400;font-synthesis:none}.brand-wordmark>span{display:block;white-space:nowrap}
.about-brand-logo.brand-lockup{width:260px;gap:14px;color:var(--navy)}.about-brand-logo .brand-symbol{width:60px;height:53px}.about-brand-logo .brand-wordmark{font-size:1.7rem}.about h2 .brand-type{font-weight:400}
@media(min-width:1001px) and (max-width:1180px){.header .brand{width:180px}}
@media(max-width:600px){.header .brand{width:174px}.brand-wordmark{font-size:1.15rem}.brand-symbol{width:39px;height:35px}.about-brand-logo.brand-lockup{width:230px}.about-brand-logo .brand-wordmark{font-size:1.5rem}.about-brand-logo .brand-symbol{width:52px;height:46px}}

/* Purpose-specific personal service pages */
.purpose-intro{padding-top:28px}.purpose-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:44px 0 72px}.purpose-hero>*{min-width:0}.purpose-hero .eyebrow{margin-bottom:18px}.purpose-label{font-size:.875rem;color:var(--gold-dark);font-weight:600;margin-bottom:16px}.purpose-hero h1{font-size:clamp(2rem,3.1vw,3rem);line-height:1.6;letter-spacing:.03em}.purpose-lead{font-size:.9375rem;color:var(--muted);margin:24px 0 28px;line-height:2.1}.purpose-hero figure{margin:0;position:relative}.purpose-hero img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center}.purpose-hero figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--navy);color:#fff;padding:15px 24px;letter-spacing:.12em;font-size:.75rem}.purpose-concerns{padding:52px 0}.purpose-concerns>.wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:center}.purpose-concerns .eyebrow{margin-bottom:14px}.purpose-concerns h2{font-size:1.65rem}.purpose-concerns ul{margin:0;padding:0;list-style:none}.purpose-concerns li{padding:16px 0 16px 28px;border-bottom:1px solid var(--line);position:relative}.purpose-concerns li:before{content:'✓';position:absolute;left:0;color:var(--gold-dark)}.purpose-focus{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:40px}.purpose-focus article{border-top:1px solid var(--gold);padding-top:25px}.purpose-focus .latin{color:var(--gold-dark);font-size:1.25rem}.purpose-focus h3{margin:15px 0}.purpose-focus p{color:var(--muted);font-size:.9375rem;line-height:2.1}.purpose-flow{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;margin-top:38px;align-items:start}.purpose-flow figure{margin:0}.purpose-flow img{width:100%;height:auto}.purpose-flow figcaption{margin-top:12px;color:var(--muted);font-size:.8125rem;line-height:1.9}.purpose-flow .detail-steps article:first-child{padding-top:0}.purpose-next{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:start}.purpose-next h2{margin-bottom:20px}.purpose-next p:not(.eyebrow){font-size:.9375rem;color:var(--muted);line-height:2}.purpose-next .button{margin-top:28px}.purpose-next .text-link{display:flex;width:fit-content;margin-top:20px}.purpose-next aside{border:1px solid var(--line);padding:32px}.purpose-next aside .eyebrow{margin-bottom:12px}.purpose-next aside h3{font-size:1rem;margin-bottom:18px}.purpose-next aside a{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:17px 0;font-size:.875rem;line-height:1.8}.purpose-next aside a:last-child{padding-bottom:0}.purpose-next aside a:hover{color:var(--gold-dark)}.purpose-detail .breadcrumbs{flex-wrap:wrap;font-size:.75rem;line-height:1.9}
@media(max-width:1000px){.purpose-hero{gap:32px}.purpose-concerns>.wrap{gap:35px}.purpose-focus{gap:35px}.purpose-flow{gap:30px}.purpose-next{gap:32px}}
@media(max-width:760px){.purpose-hero{grid-template-columns:1fr;padding:28px 0 44px;gap:30px}.purpose-hero img{aspect-ratio:3/2}.purpose-hero h1{font-size:clamp(1.9rem,6.5vw,2.6rem)}.purpose-concerns{padding:38px 0}.purpose-concerns>.wrap{grid-template-columns:1fr;gap:20px}.purpose-concerns h2 br{display:none}.purpose-focus,.purpose-flow,.purpose-next{grid-template-columns:1fr;gap:32px}.purpose-focus{margin-top:28px}.purpose-flow .detail-steps article:first-child{padding-top:20px}.purpose-next aside{padding:24px}.purpose-next p br{display:none}.purpose-hero figcaption{padding:10px 18px}.purpose-label{font-size:.8125rem}}

/* Real exercise examples: preserve full movement framing and load video on demand. */
.exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:36px}.exercise-card{min-width:0}.exercise-player,.exercise-still{position:relative;aspect-ratio:16/9;background:#111728;overflow:hidden}.exercise-player video,.exercise-still img{display:block;width:100%;height:100%;object-fit:contain}.exercise-still{background:var(--paper)}.exercise-still img{object-fit:cover}.exercise-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;border:0;background:linear-gradient(transparent 30%,rgba(12,18,36,.35));color:#fff;cursor:pointer;font-size:.875rem;text-shadow:0 1px 6px #000}.exercise-play[hidden],.exercise-error[hidden]{display:none}.exercise-play-icon{display:grid;place-items:center;width:56px;height:56px;padding-left:3px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(37,43,80,.85);font-size:20px;transition:background .18s}.exercise-play:hover .exercise-play-icon{background:var(--gold-dark)}.exercise-card-copy{position:static;background:transparent;color:var(--ink);padding:18px 0 0}.exercise-kind{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;letter-spacing:.08em;color:var(--gold-dark);margin-bottom:8px}.exercise-card-copy h3{font-size:1.125rem;line-height:1.5;letter-spacing:.01em;overflow-wrap:anywhere;font-weight:500}.exercise-card-copy h3:not(.latin){font-size:1rem;font-weight:600}.exercise-error{font-size:.875rem;color:var(--muted);margin-top:12px}.exercise-error a{text-decoration:underline;text-underline-offset:4px}.purpose-flow.exercise-flow{display:block}.exercise-flow .detail-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.exercise-flow .detail-steps article,.exercise-flow .detail-steps article:first-child{padding:24px 0 0;border-top:1px solid var(--line);display:block}.exercise-flow .detail-steps article>.latin{display:block;margin-bottom:12px}.exercise-flow .detail-steps h3{font-size:1.125rem}.exercise-section .section-desc{max-width:780px}
@media(max-width:1000px){.exercise-grid{gap:18px}.exercise-flow .detail-steps{gap:24px}}
@media(max-width:760px){.exercise-grid{grid-template-columns:1fr;gap:32px;margin-top:28px}.exercise-card-copy{padding-top:14px}.exercise-flow .detail-steps{grid-template-columns:1fr;gap:24px}.exercise-play-icon{width:60px;height:60px}.exercise-card-copy h3{font-size:1.2rem}}

@media(min-width:761px){.exercise-grid.exercise-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Pair each real exercise example with a plain-language explanation. */
.exercise-card-copy h3:not(.latin){font-size:1.125rem;line-height:1.65;letter-spacing:.02em;font-weight:600}.exercise-card-copy .exercise-name{font-size:.875rem;line-height:1.6;color:var(--gold-dark);margin-top:8px;overflow-wrap:anywhere}.exercise-card-copy .exercise-description{font-size:1rem;line-height:1.95;color:var(--muted);margin-top:14px}.exercise-card-copy .exercise-name+.exercise-description{margin-top:12px}

/* Official supplied vector logo: keep the complete lockup and its original proportions. */
.header .brand{gap:0}.header .brand .brand-logo{display:block;width:100%;height:auto;object-fit:contain}

/* Footer destinations stay readable as the site gains news and contact pages. */
.footer-links{flex-wrap:wrap;row-gap:12px}
