@font-face{font-family:Heading;font-display:swap;src:url('/assets/stribe-basic.otf') format('opentype')}@font-face{font-family:Body;font-display:swap;src:url('/assets/body.woff2')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff9ef;color:#111;font-family:Body,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1240px,90%);margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 0}.logo{width:100px;height:104px;object-fit:contain}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:#111;color:#fff9ef;padding:17px 25px;text-decoration:none;border:2px solid #111;font-weight:bold;font-size:14px;transition:background .2s,color .2s}.button:hover{background:#ffbf00;color:#111}.button.small{padding:12px 20px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;padding:40px 0 65px;align-items:center}.eyebrow{font-size:13px;font-weight:bold;letter-spacing:2px;margin:0 0 22px}h1,h2,h3,.art-label,footer strong{font-family:Heading,Impact,sans-serif;font-weight:400;text-transform:uppercase;line-height:1.1}h1{font-size:clamp(60px,7.2vw,104px);letter-spacing:-1px;margin:0 0 24px}h1 span{color:#111}h2{font-size:clamp(38px,4.5vw,64px);margin:0 0 28px}h3{font-size:26px;margin:0 0 15px}p{margin:0 0 22px}.hero-copy>p:not(.eyebrow){max-width:500px}.intro{font-size:22px;line-height:1.4}.note{font-size:13px;margin:14px 0 0}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center}.hero-art img{width:100%;max-height:610px;object-fit:contain}.vertical{position:absolute;right:-14px;top:10px;writing-mode:vertical-rl;font-size:12px;letter-spacing:2px}.art-label{position:absolute;bottom:0;right:4%;font-size:22px;transform:rotate(-5deg);background:#ffc000;padding:12px 18px}.ticker{background:#ffc000;display:flex;justify-content:space-around;gap:20px;padding:20px 5%;font-weight:bold;font-size:13px;letter-spacing:1px;border-block:1px solid #111}.section{padding:95px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.dark{background:#141414;color:#fff9ef}.dark .eyebrow{color:#ffc000}.large{font-size:21px;line-height:1.55}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.item{border-top:1px solid #aaa;padding-top:25px}.item p{font-size:15px}.number{font-size:13px;color:#ffc000;display:block;margin-bottom:16px}.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.tag-list span{border:1px solid #777;padding:8px 13px;font-size:14px}.gold{background:#ffc000}.callout{border-left:4px solid #111;padding-left:20px;font-weight:bold}.coach{align-items:center}.coach img{max-height:630px;margin:auto;object-fit:contain}.credentials{border-block:1px solid #c9beab;padding:18px 0;margin:26px 0;font-size:14px}.fighters{background:#eee7db;padding:35px;margin-top:45px}.fighters .three{margin-top:25px}.fighters a{font-size:13px;text-underline-offset:3px}.fighters .note{font-size:12px}.faq details{padding:22px 0;border-bottom:1px solid #bfb5a3}.faq summary{font-weight:bold;cursor:pointer;padding-right:15px}.faq details p{margin:16px 0 0;max-width:750px}.contact{text-align:center;padding:80px 5%}.contact p{max-width:580px;margin:0 auto 25px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 0;font-size:12px}footer strong{font-size:26px}a:focus-visible,summary:focus-visible{outline:3px solid #b27400;outline-offset:5px}.skip{position:fixed;top:-100px;left:10px;z-index:10;background:#fff;padding:10px}.skip:focus{top:10px}@media(max-width:760px){header{padding:18px 0;gap:10px}.logo{width:75px;height:75px}nav{display:none}.hero{grid-template-columns:1fr;padding-top:25px;gap:20px}h1{font-size:clamp(54px,12vw,86px)}.hero-art{min-height:360px}.hero-art img{max-height:450px}.art-label{font-size:20px}.ticker{flex-wrap:wrap;text-align:center;font-size:11px;gap:10px 25px}.section{padding:60px 0}.split,.three{grid-template-columns:1fr;gap:30px}.three{margin-top:30px}.coach img{max-height:470px}.fighters{padding:25px}.large{font-size:19px}footer{align-items:flex-start;flex-direction:column}.button{max-width:100%;font-size:13px;padding:15px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original Good Fight type, photography-led layout. */
header{border-bottom:1px solid #ded8cd}.logo{width:84px;height:88px}h1{font-size:clamp(58px,6.7vw,92px);line-height:1.03;letter-spacing:0}h2{line-height:1.08}h3{line-height:1.15}.hero{grid-template-columns:1fr 1.12fr;gap:48px;padding:65px 0 72px}.hero-art{display:block;align-self:center}.hero-art img{width:100%;height:530px;object-fit:cover;object-position:center;border-radius:3px}.hero-art:after{content:"";display:block;width:78px;height:8px;margin-top:18px;background:#ffbf00}.hero .eyebrow{letter-spacing:1.6px}.ticker{background:transparent;border-color:#ded8cd;justify-content:space-between;width:min(1240px,90%);margin:auto;padding:22px 0;letter-spacing:0}.dark{background:#f2eee5;color:#111}.dark .eyebrow,.number{color:#111}.number{font-weight:bold}.item{border-color:#cbc7bf}.gold{background:#ffcf3f}.fighters{background:transparent;border:1px solid #d9d2c5}.section{padding:80px 0}.coach img{width:100%;height:560px;object-fit:cover;border-radius:3px}.family-photo{margin:40px 0 0}.family-photo img{width:100%;height:480px;object-fit:cover;border-radius:3px}.contact{background:#ffbf00}.button{border-radius:4px}.hero .intro{font-size:23px}.photo-caption{font-size:12px;color:#59564e;margin:10px 0 0}.credentials{border-color:#d9d2c5}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:32px;padding:35px 0 40px}h1{font-size:clamp(52px,12vw,80px)}.hero-art{min-height:0}.hero-art img{height:370px;max-height:none}.ticker{justify-content:flex-start;font-size:12px}.section{padding:55px 0}.coach img,.family-photo img{height:auto;max-height:none}.logo{width:72px;height:76px}}

.hero-art img{height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain}.family-photo img{height:auto;aspect-ratio:3/2}.coach{align-items:start}.hero-art{margin:0}

.fighters .three{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.fighters .three{grid-template-columns:1fr}}

.hero{grid-template-columns:.82fr 1.18fr;gap:38px}.hero h1{font-size:clamp(56px,6vw,84px)}@media(max-width:760px){.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(52px,12vw,80px)}}
/* Partner practice gallery and earned progression. */
.training-gallery{margin-top:36px}.slides{position:relative;aspect-ratio:3/2;overflow:hidden;background:#e5e0d7;border-radius:3px}.training-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;pointer-events:none}.training-slide.active{opacity:1;visibility:visible}.training-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.025);transition:transform 7s ease-out}.training-slide.active img{transform:scale(1)}.training-slide figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 24px 18px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:white;font-size:16px}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid #cbc7bf}.gallery-controls p{font-family:Heading,Impact,sans-serif;font-size:30px;line-height:1.2;margin:5px 0 0}.gallery-controls span{font-size:14px}.gallery-buttons{display:flex;gap:8px}.gallery-buttons button{min-width:48px;min-height:48px;padding:10px 16px;border:1px solid #111;border-radius:3px;background:transparent;color:#111;font:inherit;cursor:pointer}.gallery-buttons button:hover{background:#ffbf00}button:focus-visible{outline:3px solid #111;outline-offset:4px}.equipment{border-top:1px solid #cbc7bf;margin:35px 0 0;padding-top:25px;max-width:900px}.belt-path{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:40px 0 0}.belt-path li{border-top:10px solid var(--belt);padding-top:22px}.belt-path p{font-size:16px}.belt-yellow{--belt:#ffbf00}.belt-green{--belt:#3b7250}.belt-brown{--belt:#795039}.belt-black{--belt:#111}.fighters{padding:20px 25px}.fighters summary{cursor:pointer;font-weight:bold}.fighters p{margin:20px 0 0}.item p{font-size:16px}@media(max-width:760px){.belt-path{grid-template-columns:1fr 1fr;gap:25px 20px}.gallery-controls{align-items:start}.gallery-controls p{font-size:24px}.gallery-buttons{gap:5px}.gallery-buttons button{padding:8px;min-width:44px}.training-slide figcaption{font-size:14px;padding:28px 14px 12px}.slides{aspect-ratio:3/2}.training-slide img{object-fit:contain;background:#e5e0d7}}@media(prefers-reduced-motion:reduce){.training-slide,.training-slide img{transition:none!important;transform:none!important}}
/* A quieter, consistent reading rhythm. */
:root{--copy-size:1rem;--lead-size:1.125rem;--label-size:.875rem;--subhead-size:1.625rem;--section-space:clamp(3.5rem,6vw,5rem)}
body{font-size:var(--copy-size);line-height:1.65}.section{padding:var(--section-space) 0}.split{gap:clamp(2rem,5vw,4rem)}h2{font-size:clamp(2.375rem,4.2vw,3.5rem);line-height:1.12;margin-bottom:1.5rem}h3,.gallery-controls p{font-size:var(--subhead-size);line-height:1.2}p,.item p,.belt-path p{font-size:var(--copy-size)}p{margin-bottom:1.25rem}.large,.hero .intro{font-size:var(--lead-size);line-height:1.6}.eyebrow{font-size:var(--label-size);letter-spacing:.1em;margin-bottom:1rem}.three{gap:2rem;margin-top:2rem}.item{padding-top:1.25rem}.item p:last-child{margin-bottom:0}.item h3{margin-bottom:.75rem}.belt-path{margin-top:2rem}.belt-path p{margin-bottom:0}.coach{align-items:center}.coach-photo{margin:0}.coach .coach-photo img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:3px}.coach .button{margin-top:.25rem}.gallery-controls{padding:1rem 0}.gallery-controls>div:first-child{display:flex;gap:1rem;align-items:center}.gallery-controls p{margin:0}.gallery-controls span{font-size:var(--label-size);white-space:nowrap}.hero-art:after{display:none}.faq details{padding:1.125rem 0}.fighters{border:0;border-top:1px solid #d9d2c5;padding:1.25rem 0 0;margin-top:2rem}.fighters a{font-size:var(--label-size)}.button,.button.small{font-size:var(--label-size)}@media(max-width:760px){.gallery-controls>div:first-child{display:block}.gallery-controls p{margin-top:.25rem;font-size:1.375rem}.gallery-buttons button{font-size:.875rem}.coach-photo{max-width:480px;width:100%;margin:auto}.three{gap:1.5rem}.hero .intro{font-size:var(--lead-size)}}
/* Directional reveal with a short counter-motion, shared by both galleries. */
.training-slide,.training-slide img,.training-slide.active img{transition:none;transform:none}.training-slide{opacity:1}.training-slide img{width:100%;height:100%;object-fit:cover}.hero-gallery{margin:0}.hero-art .slides img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover}.hero-gallery .gallery-controls{gap:12px}.hero-gallery .gallery-controls p{font-size:1.375rem}.hero-gallery .gallery-controls>div:first-child{display:block}.hero-gallery .gallery-controls p{margin-top:4px}.slides{touch-action:pan-y}.hero-art{min-width:0}@media(max-width:760px){.hero-gallery .gallery-controls p{font-size:1.25rem}}
.instagram-section{border-top:1px solid #d9d2c5}.instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px;align-items:start}.instagram-post{min-width:0}.instagram-post .instagram-media{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}.instagram-post blockquote{padding:24px;border:1px solid #d9d2c5;border-radius:4px;font-size:16px}.instagram-section .button{max-width:100%}@media(max-width:900px){.instagram-grid{grid-template-columns:1fr;max-width:540px;margin-inline:auto}}
/* Shared alignment and spacing rhythm. */
:root{--section-space:clamp(3rem,5.2vw,4.5rem);--column-gap:clamp(2rem,4vw,3.5rem)}
.split{column-gap:var(--column-gap)}.split>div>p:last-child{margin-bottom:0}.hero{align-items:start;padding-block:48px}.hero-art{align-self:start}.hero h1{margin-bottom:24px}.hero-gallery .gallery-controls>div:first-child,.gallery-controls>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.hero-gallery .gallery-controls p,.gallery-controls p{font-size:1.375rem;margin:0}.gallery-controls{min-height:72px;padding:12px 0;align-items:center}.gallery-buttons{flex-shrink:0}.gallery-buttons button{min-height:44px;min-width:44px;padding:8px 12px}.three,.belt-path{gap:28px;margin-top:32px}.item{padding-top:20px}.three h3{min-height:0}.wrap.section+.wrap.section{padding-top:0}.section.wrap+#training{padding-top:12px}#training .training-gallery{margin-top:28px}#coaching .item+.item{margin-top:24px}#coaching .item:first-child{padding-top:0;border-top:0}.coach{align-items:start}.coach-photo{max-width:100%}.coach .coach-photo img{max-height:620px;object-fit:contain;object-position:left top}.coach>div{padding-top:0}.instagram-section{padding-top:var(--section-space)!important}.instagram-section .split{align-items:end}.instagram-section h2{margin-bottom:0}.instagram-grid{gap:28px;align-items:stretch}.instagram-highlight{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:32px;background:#ffcf3f;border-radius:3px;text-decoration:none;min-height:420px}.instagram-highlight img{object-fit:contain}.instagram-highlight h3{font-size:clamp(2rem,3vw,2.75rem)}.instagram-highlight .eyebrow{font-size:.75rem}.instagram-highlight p:last-child{margin:0}.highlight-link{font-weight:bold;text-decoration:underline;text-underline-offset:5px}.instagram-highlight:hover{background:#ffbf00}.faq{padding-top:var(--section-space)!important}.instagram-post{min-width:0;overflow:hidden}.instagram-post iframe{max-width:100%!important}footer{font-size:.875rem}@media(max-width:900px){.instagram-grid{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}.instagram-highlight{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:84px 1fr auto;align-items:center;padding:24px}.instagram-highlight .eyebrow{margin-bottom:8px}}@media(max-width:760px){.hero{padding-block:32px;gap:28px}.gallery-controls>div:first-child,.hero-gallery .gallery-controls>div:first-child{display:block}.gallery-controls p,.hero-gallery .gallery-controls p{font-size:1.25rem;margin-top:4px}.three,.belt-path{gap:24px}.split{gap:24px}.coach-photo{max-width:420px;margin:0}.coach .coach-photo img{max-height:none}.instagram-section .split{align-items:start}.instagram-grid{grid-template-columns:1fr;gap:24px;max-width:500px;margin-inline:auto}.instagram-highlight{grid-template-columns:64px 1fr;padding:24px;gap:20px}.instagram-highlight .highlight-link{grid-column:2}.instagram-highlight h3{font-size:2rem}.wrap.section+.wrap.section{padding-top:12px}.instagram-section,.faq{padding-top:var(--section-space)!important}.section.wrap+#training{padding-top:0}}
.coach .coach-photo img{max-height:none;width:100%;height:auto}.instagram-highlight{background:#f2eee5;border:1px solid #d9d2c5}.instagram-highlight:hover{background:#ffcf3f}
/* Content-led reduction: one explanation, fewer competing labels. */
#approach .training-gallery{margin-top:40px}.gallery-controls,.hero-gallery .gallery-controls{justify-content:flex-end;min-height:0;border:0;padding:8px 0 0}.gallery-buttons{gap:4px}.gallery-buttons button{border:0;background:transparent;min-height:36px;min-width:36px;padding:6px 10px;color:#58564f;font-size:14px}.gallery-buttons button:hover{color:#111;background:#f2eee5}.progress-details{margin-top:36px;border-top:1px solid rgba(0,0,0,.2);padding-top:20px}.progress-details summary{cursor:pointer;font-weight:600}.progress-details>p{max-width:780px;margin:24px 0 0}.progress-details .belt-path{margin-top:24px}.progress-details .belt-path h3{font-size:24px}#justin{padding-top:var(--section-space)}.instagram-section .split{align-items:center}.instagram-section h2{font-size:clamp(2.375rem,4.2vw,3.5rem)}.instagram-highlight{min-height:320px}.instagram-highlight h3{font-size:2rem}.instagram-highlight>div{margin-top:auto}.instagram-highlight{justify-content:flex-start}.instagram-highlight .highlight-link{margin-top:0}.contact h2{margin-bottom:24px}footer{padding-block:24px}@media(max-width:760px){#approach .training-gallery{margin-top:28px}.progress-details{margin-top:28px}.instagram-highlight{min-height:0}.instagram-highlight>div{margin:0}}

.coaching-prices{margin:28px 0;display:grid;gap:24px}.coaching-prices h3{font-size:1.5rem;margin:0 0 12px}.coaching-prices dl{margin:0}.coaching-prices dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(0,0,0,.16)}.coaching-prices dt,.coaching-prices dd{margin:0;font-size:1rem}.coaching-prices dd{font-weight:600;white-space:nowrap}

.progress-details .belt-path{background:#fff9ef;padding:24px;border-radius:3px}.progress-details .belt-yellow{border-top-color:#ffbf00}

/* A shared frame and footer for all three selected Instagram items. */
.instagram-grid{align-items:stretch;gap:24px}.instagram-card{min-width:0;display:flex;flex-direction:column;border:1px solid #d9d2c5;border-radius:3px;overflow:hidden;background:#fff}.instagram-card .instagram-post{flex:1;background:#fff}.instagram-card .instagram-media{border:0!important;box-shadow:none!important;border-radius:0!important}.instagram-card .instagram-highlight{display:flex;flex:1;min-height:420px;grid-column:auto;align-items:center;justify-content:center;gap:28px;padding:32px;background:#f2eee5;border:0;border-radius:0;text-align:center}.instagram-card .instagram-highlight img{width:110px;height:auto}.instagram-card .instagram-highlight>span:first-of-type{font-size:2rem;font-weight:600}.highlight-play{display:grid;place-items:center;width:52px;height:52px;border:1px solid #111;border-radius:50%;font-size:18px}.instagram-card-footer{display:block;padding:20px 24px;background:#fff9ef;border-top:1px solid #d9d2c5;text-decoration:none;margin-top:auto}.instagram-card-footer h3{font-size:1.5rem;margin:0 0 8px}.instagram-card-footer>span{font-size:14px;text-decoration:underline;text-underline-offset:4px}.instagram-card-footer:hover{background:#ffcf3f}@media(max-width:900px){.instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.instagram-card-footer{padding:16px}.instagram-card-footer h3{font-size:1.25rem}}@media(max-width:760px){.instagram-grid{grid-template-columns:1fr}.instagram-card .instagram-highlight{min-height:400px}}

.footer-inclusion{display:inline-flex;align-items:center;gap:10px}.footer-inclusion [role="img"]{font-size:26px;line-height:1}@media(max-width:760px){footer{flex-wrap:wrap;gap:20px}.footer-inclusion{width:100%;order:3}}

.instagram-card .instagram-highlight.story-preview{position:relative;display:block;flex:0 0 auto;min-height:0;width:100%;aspect-ratio:556/987;padding:0;overflow:hidden;background:#363033}.instagram-card .instagram-highlight.story-preview img{position:absolute;width:351.08%;max-width:none;height:auto;left:-125.54%;top:-18.03%;object-fit:initial}.story-preview:hover{filter:brightness(1.05)}

.progress-details>h3{font-size:1.75rem;margin:0}.footer-inclusion{font-size:1rem;font-weight:500;gap:14px}.footer-inclusion [role="img"]{font-size:48px;line-height:1.2}footer{align-items:center}

.coaching-prices .group-total{font-size:.875rem;margin:12px 0 0;line-height:1.6}

.lesson-introduction{margin-top:36px;padding-top:28px;border-top:1px solid rgba(0,0,0,.2)}.lesson-introduction h3{font-size:1.75rem;margin:0 0 16px}.lesson-introduction p{margin:0}

.parent-quote{margin:36px 0 0;padding:28px 0 0;border-top:1px solid #d9d2c5;max-width:850px}.parent-quote blockquote{margin:0 0 14px;font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.5}.parent-quote figcaption{font-size:.875rem}.children-faq-heading{margin:36px 0 16px;font-size:1.75rem}

#coaching .parent-quote{margin:28px 0 0;padding:0;border:0;max-width:32rem}#coaching .parent-quote blockquote{font-size:clamp(1.125rem,1.7vw,1.375rem);line-height:1.6}.faq-columns{columns:2;column-gap:var(--column-gap)}.faq-columns details{break-inside:avoid;page-break-inside:avoid}.faq-columns summary{padding-right:12px}@media(max-width:760px){.faq-columns{columns:1}}

.faq-columns{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);align-items:start}.faq-column{min-width:0}.faq-columns details{padding:16px 0}.faq-columns summary{font-size:1rem;line-height:1.5;padding-right:0}.faq-columns details p{font-size:1rem;line-height:1.65;margin-top:12px}.children-faq-heading{margin-top:32px}@media(max-width:639px){.faq-columns{grid-template-columns:1fr;gap:0}}

:root{--main-headline-size:clamp(56px,6vw,84px)}.hero h1,#approach h2,#coaching h2,#justin h2,.faq>h2,#contact h2{font-size:var(--main-headline-size);line-height:1.03;letter-spacing:0}#instagram .instagram-grid{margin-top:0}@media(max-width:760px){:root{--main-headline-size:clamp(52px,12vw,80px)}}

/* Good Fight: the existing mark, its cut strokes, and a shift-then-settle rhythm. */
main{overflow:clip}.hero-art{isolation:isolate;transform:translate3d(0,var(--drift,0px),0)}.brand-mark{display:block;position:absolute;width:520px;aspect-ratio:1500/1050;overflow:hidden;pointer-events:none}.brand-mark img{display:block;width:100%;max-height:none!important;height:auto!important;object-fit:initial!important}.hero-art>.brand-mark{width:clamp(300px,36vw,540px);left:-100px;bottom:8px;transform:translate(-8%,27%) rotate(-12deg);z-index:-1}.hero-gallery{position:relative;width:100%;z-index:1}.training-gallery{position:relative}.training-gallery .slides{border-radius:0;clip-path:none}.contact-cuts{position:absolute;display:flex;gap:6px;right:18px;top:-10px;z-index:5;pointer-events:none}.contact-cuts i{display:block;width:9px;height:34px;background:#ffbf00;transform:skewX(-33deg)}.hero-gallery .contact-cuts{top:-12px}.gallery-controls{padding-top:12px}.gallery-buttons button{border-radius:0}#approach .training-gallery{transform:translate3d(0,var(--drift,0px),0)}#coaching{position:relative}#contact{position:relative;isolation:isolate;overflow:hidden;background:#111;color:#fff9ef;text-align:left;padding:clamp(64px,8vw,112px) max(5%,calc((100% - 1240px)/2))}#contact h2,#contact p,#contact .button{position:relative;z-index:1}#contact h2{max-width:920px}#contact p{margin-left:0;max-width:620px}#contact .button{background:#ffbf00;color:#111;border-color:#ffbf00}#contact .button:hover{background:#fff9ef;border-color:#fff9ef}#contact>.brand-mark{width:clamp(460px,64vw,950px);right:-160px;top:50%;transform:translateY(calc(-50% + var(--drift,0px))) rotate(-12deg);opacity:.22;z-index:0}.hero h1,#approach h2,#justin h2{position:relative}.motion-ready .kinetic-heading{animation:gf-arrive .7s cubic-bezier(.22,1,.36,1) both}@keyframes gf-arrive{from{clip-path:inset(0 100% 0 0);transform:translateX(-16px)}to{clip-path:inset(0);transform:translateX(0)}}@media(max-width:760px){.hero-art>.brand-mark{width:300px;left:-54px;bottom:16px;transform:translate(-8%,22%) rotate(-12deg)}.hero{padding-bottom:72px}.contact-cuts{right:14px}.contact-cuts i{width:7px;height:27px}#contact>.brand-mark{right:-220px;opacity:.16}#contact h2{max-width:100%}}@media(prefers-reduced-motion:reduce){.hero-art,#approach .training-gallery{transform:none!important}.motion-ready .kinetic-heading{animation:none!important}#contact>.brand-mark{transform:translateY(-50%) rotate(-12deg)}}
.brand-mark img{position:absolute;left:0;top:0}.hero-art>.brand-mark{bottom:42px}.hero-gallery .gallery-controls{position:relative;background:#fff9ef}
.brand-mark img{aspect-ratio:auto!important}

/* Fine gold strokes follow their own axes; rings expand from their centres. */
.motion-art{position:relative;overflow:visible}.motion-ornaments{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:visible}.motion-stroke,.motion-ring{position:absolute;display:block;color:#ffbf00;will-change:transform,opacity}.motion-stroke{height:6.75px;width:var(--length);background:currentColor;transform-origin:center}.motion-ring{width:var(--diameter);aspect-ratio:1;border:6.75px solid currentColor;border-radius:50%;transform-origin:center}.coach-photo{position:relative;overflow:visible}.motion-ornaments *{pointer-events:none}@media(max-width:639px){.motion-stroke{height:4.5px}.motion-ring{border-width:4.5px}}@media(prefers-reduced-motion:reduce){.motion-stroke,.motion-ring{will-change:auto}}

.coaching-line{display:block;white-space:nowrap}#contact>.brand-mark{filter:grayscale(1) brightness(2);opacity:.22}

.header-actions{display:flex;align-items:center;gap:24px;flex-shrink:0}.language-switch{display:flex;gap:12px;font-size:13px}.language-switch a{text-decoration:none;padding:5px 0}.language-switch a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}.footer-brand{display:flex;align-items:center;gap:22px}.footer-brand>a{font-size:14px;text-underline-offset:4px}.quote-translation{font-size:.75rem}.lesson-introduction p+p{margin-top:1.25rem}@media(max-width:1100px){header{gap:20px}header nav{gap:18px;font-size:13px}.header-actions{flex-direction:column;gap:8px}}@media(max-width:760px){.header-actions{align-items:flex-end}.language-switch{gap:14px}.header-actions .button{padding:9px 14px}}

.social-preview{display:block;background:#fff}.social-preview img{display:block;width:100%;height:auto}.social-preview:focus-visible{outline:3px solid #111;outline-offset:-3px}.footer-legal{display:flex;flex-direction:column;gap:8px}.privacy-context{font-size:14px!important;max-width:620px!important;margin-top:24px!important}.legal-page{max-width:860px;padding-block:40px 80px}.legal-page h1{font-size:clamp(44px,7vw,72px);margin-top:32px}.legal-page h2{font-size:28px;margin-bottom:12px}.legal-page section{margin-block:32px}.legal-page p{line-height:1.7}.legal-draft{padding:16px;background:#ffcf3f}

/* Continuous headline scale; retain the established shared size. */
:root{--main-headline-size:clamp(52px,6vw,84px)}.gallery-buttons button{min-width:44px;min-height:44px}.social-preview img{height:auto}@media(max-width:639px){.progress-details .belt-path{padding:16px;gap:24px 16px}}

/* Compact mobile social gallery and a calmer closing section. */
.instagram-swipe-hint{display:none}
@media(max-width:760px){
 #instagram .instagram-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:0 0 14px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b9ad99 transparent}
 #instagram .instagram-card{flex:0 0 min(70vw,240px);scroll-snap-align:start}
 #instagram .social-preview{aspect-ratio:556/987;overflow:hidden}
 #instagram .social-preview img{width:100%;height:100%;object-fit:cover;object-position:top}
 #instagram .instagram-card-footer{padding:14px 16px}
 #instagram .instagram-card-footer h3{font-size:22px;margin-bottom:5px}
 .instagram-swipe-hint{display:block;font-size:13px;color:#58564f;margin:10px 0 0}
 #contact{padding:48px 6% 38px}
 #contact>.brand-mark{display:none}
 #contact h2{font-size:clamp(38px,10vw,52px);line-height:1.08;margin-bottom:22px}
 #contact p{font-size:16px;line-height:1.6}
 #contact .button{width:100%;padding:15px 12px}
 #contact .privacy-context{font-size:12px!important;line-height:1.6;margin:22px 0 0!important;color:#c7c3bc}
 footer.wrap{display:grid;grid-template-columns:1fr;gap:22px;padding:28px 0;text-align:left;align-items:start}
 .footer-brand{justify-content:space-between;width:100%}
 .footer-inclusion{order:0;width:100%;font-size:15px;gap:12px;padding-block:16px;border-block:1px solid #ded8cd}
 .footer-inclusion [role="img"]{font-size:34px}
 .footer-legal{flex-direction:row;justify-content:space-between;width:100%;font-size:12px}
}

/* Rank marks travel with each belt-shaped line. */
.belt-stripes{position:absolute;right:12px;top:0;height:100%;display:flex;gap:3px;pointer-events:none}
.belt-stripes b{display:block;width:3px;height:100%;background:#111}
.belt-path li{position:relative}
.belt-path li>.belt-stripes{top:-10px;height:10px;right:12px;gap:4px}
.belt-path li>.belt-stripes b{width:4px;background:#fff9ef}
.belt-path .belt-yellow>.belt-stripes b{background:#111}
@media(max-width:639px){.motion-stroke .belt-stripes{right:8px;gap:2px}.motion-stroke .belt-stripes b{width:2px}}

@media(min-width:761px){header .logo{width:105px;height:110px}}

/* Consistent white rank marks and full-width mobile calls to action. */
.belt-stripes b,.belt-path .belt-yellow>.belt-stripes b{background:#fff9ef}
@media(max-width:760px){
 .button{display:flex;width:100%;max-width:none;justify-content:center}
 header{flex-wrap:wrap}
 .header-actions{flex:1;display:contents}
 .language-switch{margin-left:auto}
 .header-actions .button{flex-basis:100%;width:100%;padding:15px 12px}
}
.belt-stripes b,.belt-path li>.belt-stripes b,.belt-path .belt-yellow>.belt-stripes b{background:#fff}
@media(max-width:760px){#contact{padding-inline:5%}}

@media(max-width:760px){.header-actions .button{display:none}}

.belt-path .stripes-waiting .belt-stripes b{opacity:0;transform:scaleY(0)}
.belt-path .stripes-arriving .belt-stripes b{transform-origin:center;animation:rank-stripe-arrive .5s ease-out both}
.belt-path .stripes-arriving .belt-stripes b:nth-child(1){animation-delay:.15s}
.belt-path .stripes-arriving .belt-stripes b:nth-child(2){animation-delay:.5s}
.belt-path .stripes-arriving .belt-stripes b:nth-child(3){animation-delay:.85s}
.belt-path .stripes-arriving .belt-stripes b:nth-child(4){animation-delay:1.2s}
@keyframes rank-stripe-arrive{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.belt-path .belt-stripes b{animation:none!important;opacity:1!important;transform:none!important}}
