:root{--coral:#fc494c;--ink:#242424;--muted:#6d6668;--paper:#fffdfb;--rose:#faefec;--line:#e1d7d3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button,input,textarea,select,summary{outline-offset:5px}.wrap{max-width:1240px;margin:auto;padding-inline:50px}header{background:var(--coral);display:flex;align-items:center;justify-content:space-between;padding:22px 50px}header img{display:block;width:140px;height:52px;object-fit:contain}nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:bold}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;background:var(--coral);border:1px solid var(--coral);padding:15px 22px;font-size:14px;font-weight:bold;border-radius:3px;color:var(--ink);cursor:pointer;transition:transform .2s,background .2s}.button:hover{background:#ef3f45;transform:translateY(-2px)}.small{background:var(--ink);border-color:var(--ink);color:white;padding:10px 18px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:bold}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:70px;padding-block:70px;align-items:center}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(45px,4.8vw,67px);line-height:1.08;letter-spacing:-2.7px;margin:28px 0}em{font-family:Georgia,serif;font-weight:normal;color:#b13943}h2{font-size:42px;line-height:1.18;letter-spacing:-1.5px;margin:20px 0 25px}h3{font-size:23px;line-height:1.3;font-weight:500}p{color:var(--muted);font-size:15px}.intro{font-size:18px;line-height:1.65}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin:28px 0 14px}.text-link{font-size:13px;border-bottom:1px solid #c3a09d;padding-bottom:5px;font-weight:bold}.micro,.caption{font-size:11px;line-height:1.6}.hero-image{position:relative;margin:0;padding-bottom:30px}.hero-image>img{width:100%;height:560px;object-fit:cover;object-position:48%;border-radius:4px;display:block}.hero-image figcaption{font-size:10px;color:var(--muted);margin-top:12px}.image-tag{position:absolute;right:-18px;bottom:80px;padding:22px 26px;background:var(--rose);font-family:Georgia,serif;font-size:24px;line-height:1.25;box-shadow:0 8px 20px #00000010}.local{background:var(--rose);border-block:1px solid var(--line)}.local .wrap{display:flex;justify-content:space-between;gap:20px;padding-block:18px;font-size:12px}.local a{border-bottom:1px solid #c3a09d}.section{padding-block:95px}.note{display:grid;grid-template-columns:1fr 1fr;gap:85px}.signature{font-family:Georgia,serif;font-style:italic;font-size:31px;color:var(--ink);margin:30px 0 0}.signature span{display:block;font:11px Arial,sans-serif;color:var(--muted);margin-top:8px}.work{background:var(--rose)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:45px}.section-heading>p{max-width:390px;margin-bottom:25px}.feature-work{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.film-poster{position:relative;display:block}.film-poster img{width:100%;height:360px;object-fit:cover;display:block}.film-poster span{position:absolute;left:0;bottom:0;right:0;padding:25px 20px 16px;color:white;background:linear-gradient(transparent,#000a);font-size:13px}.feature-work h3{font-size:31px;margin:18px 0}.second-work{display:grid;grid-template-columns:180px 1fr;gap:40px;align-items:center;border-top:1px solid #d7c8c4;margin-top:55px;padding-top:40px;max-width:850px}.second-work img{width:180px;height:210px;object-fit:cover;object-position:center 33%}.second-work p{max-width:570px}.second-work h3{margin:16px 0}.ideas{display:grid;grid-template-columns:1fr 1fr;gap:85px}.idea-list article{display:flex;gap:25px;padding-block:22px;border-bottom:1px solid var(--line)}.idea-list article:first-child{padding-top:0}.idea-list article>span{font-family:Georgia,serif;color:#b13943;font-size:21px}.idea-list h3{font-size:19px;margin:0 0 8px}.idea-list p{font-size:14px;margin:0}.idea-list>.caption{margin-top:20px;font-size:11px}.package{background:var(--ink);color:white}.package p{color:#d7cfcc}.package em{color:#ffb8b3}.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.fit{padding:0;list-style:none;color:#e7dfdc;font-size:14px}.fit li{padding:10px 0;border-bottom:1px solid #ffffff25}.scope-note{font-size:12px;margin-top:30px;border-left:2px solid var(--coral);padding-left:18px}.price-card{background:var(--paper);color:var(--ink);padding:36px;border-radius:3px}.price-card p{color:var(--muted)}.price{font-size:53px;letter-spacing:-2px;margin:18px 0 9px;font-weight:bold;line-height:1.2}.price span{font-size:15px;letter-spacing:0;margin-left:9px;font-weight:normal}.price-card ul{list-style:none;padding:0;margin:28px 0}.price-card li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.price-card .button{width:100%;margin-top:12px}.price-card .micro{margin:15px 0 0;text-align:center}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}details{border-bottom:1px solid var(--line);padding:19px 0}summary{cursor:pointer;font-size:15px;font-weight:bold}details p{margin:15px 0 0;font-size:14px}.enquiry{background:var(--rose)}.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.email{font-size:18px;border-bottom:1px solid #b13943;display:inline-block;margin:18px 0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:12px;margin-bottom:17px;font-weight:bold}input,textarea,select{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #bbaba5;padding:10px 0;border-radius:0;color:var(--ink);font-size:15px}textarea{resize:vertical}.check{display:flex;align-items:start;gap:10px;font-weight:normal}.check input{width:16px;margin:5px 0}.check span{font-size:12px}form .button{width:100%}form .caption{margin-top:15px}#fallback{padding-top:20px}footer{display:flex;gap:30px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:45px!important;font-size:13px}footer p{margin:0;color:var(--ink);font-size:21px;font-family:Georgia,serif}footer a{border-bottom:1px solid #d6c3bf}footer small{width:100%;color:var(--muted);font-size:10px}.skip{position:fixed;top:-100px;background:white;padding:10px;z-index:5}.skip:focus{top:0}@media(prefers-reduced-motion:no-preference){.reveal{transition:opacity .55s ease,transform .55s ease}.pending{opacity:0;transform:translateY(18px)}.pending:focus-within{opacity:1;transform:none}}@media(max-width:900px){.wrap{padding-inline:30px}.hero{gap:35px}.hero-image>img{height:490px}h1{font-size:52px}.note,.ideas,.package-grid,.faq-grid,.enquiry-grid{gap:40px}.feature-work{gap:35px}.section{padding-block:65px}}@media(max-width:650px){header{padding:16px 22px}header img{width:110px;height:40px}nav>a:not(.button){display:none}.wrap{padding-inline:22px}.hero,.note,.ideas,.package-grid,.faq-grid,.enquiry-grid,.feature-work{grid-template-columns:1fr;gap:32px}.hero{padding-block:40px}h1{font-size:53px}h2{font-size:35px}.hero-image>img{height:390px}.image-tag{right:0;bottom:70px;font-size:21px}.local .wrap{display:block}.local a{display:inline-block;margin-top:8px}.section-heading{display:block}.section-heading>p{margin-top:25px}.film-poster img{height:270px}.second-work{grid-template-columns:100px 1fr;gap:20px}.second-work img{width:100px;height:180px}.second-work h3{font-size:20px}.price-card{padding:25px}.price{font-size:47px}.email{font-size:16px}.pair{grid-template-columns:1fr;gap:0}.section{padding-block:52px}footer{align-items:start;flex-direction:column;gap:18px}footer small{width:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.pending{opacity:1;transform:none}}@media print{.pending{opacity:1;transform:none}}

.hero-image>img{object-position:center 35%}.image-tag{font-size:21px}.dimeji-feature{grid-template-columns:.85fr 1.15fr;gap:75px}.portrait-film{max-width:430px}.portrait-film img{height:600px;object-position:center 35%}.club-context{border-top:1px solid #d7c8c4;margin:26px 0;padding-top:20px}.club-context h4{font-size:18px;font-weight:500;margin:0 0 10px}.affiliation-note{font-size:5px;line-height:1.6;margin:22px 0 0}.project-sources{margin-top:10px;padding-block:13px}.project-sources summary{font-size:11px;font-weight:normal}.project-sources p{font-size:11px}.project-sources a{text-decoration:underline;text-underline-offset:3px}.second-work img{object-position:center}@media(max-width:900px){.dimeji-feature{gap:35px}.portrait-film img{height:540px}}@media(max-width:650px){.dimeji-feature{grid-template-columns:1fr;gap:30px}.portrait-film{max-width:none}.portrait-film img{height:460px}.image-tag{font-size:18px}.dimeji-feature .eyebrow{font-size:9px}}

.executive-work{grid-template-columns:1.1fr 1fr;max-width:none;gap:65px}.executive-gallery{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:10px}.executive-gallery img{width:100%;height:auto;object-fit:contain;display:block}.executive-gallery .executive-main{grid-row:1 / 3;align-self:center}.hero-image .image-tag{font-size:21px}@media(max-width:650px){.executive-work{grid-template-columns:1fr;gap:28px}.hero-image .image-tag{font-size:18px}}

/* Portrait film with its original framing and visitor-controlled sound. */
.video-hero{width:100%;max-width:355px;justify-self:center;padding-bottom:0;scroll-margin-top:24px}.video-shell{position:relative;background:#181818;border-radius:7px;overflow:hidden;box-shadow:16px 18px 0 #faefec}.video-shell video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#181818;object-fit:contain}.sound-toggle{position:absolute;top:13px;right:13px;background:#242424dd;color:white;border:1px solid #ffffff55;border-radius:3px;padding:9px 12px;font-size:11px;cursor:pointer}.sound-toggle:hover{background:#242424}.video-hero figcaption{margin-top:25px;font-size:13px;line-height:1.6;color:var(--ink)}.video-hero figcaption strong{font-weight:500}.video-hero figcaption span{display:block;font-size:10px;color:var(--muted);margin-top:7px}.video-status{font-size:11px;margin:5px 0 0}.hero{padding-block:52px}.hero h1{font-size:clamp(45px,4.6vw,64px)}@media(max-width:650px){.video-hero{max-width:310px;margin-top:12px}.video-shell{box-shadow:10px 12px 0 #faefec}.video-hero figcaption{margin-top:20px}.hero{padding-block:38px}}

.athlete-affiliation{display:flex;align-items:center;gap:18px;margin-bottom:25px}.athlete-affiliation>img{width:86px;height:86px;object-fit:contain;background:white}.athlete-affiliation .eyebrow{display:block;font-size:9px;margin-bottom:6px}.athlete-affiliation div>span:last-child{font-size:12px;line-height:1.5}.audience-result{border-block:1px solid #d7c8c4;padding:18px 0;margin:24px 0 16px}.result-label{font-size:9px;letter-spacing:1.2px;font-weight:bold}.audience-result p{display:flex;align-items:baseline;gap:17px;margin:4px 0 0;font-size:32px;color:var(--ink)}.audience-result strong{color:#b13943;font-size:44px;line-height:1.3}.audience-result .result-to{font-family:Georgia,serif;font-style:italic;font-size:20px;color:var(--muted)}

/* Small inline icons keep the monthly service easy to scan. */
.price-card .planning-line{font-size:13px;margin:24px 0 8px}.price-card .service-list{margin:0 0 22px}.price-card .service-list li{display:flex;align-items:flex-start;gap:14px;padding:14px 0}.service-icon{flex:0 0 24px;width:24px;height:24px;color:#b13943;margin-top:2px}.service-list strong{display:block;font-size:14px;font-weight:600}.service-list span{display:block;font-size:13px;line-height:1.6;color:var(--muted);margin-top:3px}

.gym-connection{border-top:1px solid #d7c8c4;margin:25px 0 0;padding-top:20px}.gym-connection h4{font-size:18px;font-weight:500;line-height:1.4;margin:0 0 10px}.gym-connection p{margin-bottom:15px}

.reel-result{border-left:2px solid var(--coral);padding:2px 0 2px 18px;margin:24px 0}.reel-result .eyebrow{font-size:9px}.reel-result p{margin:7px 0 12px}.reel-result strong{display:block;font-size:30px;line-height:1.3;color:#b13943;font-weight:500;letter-spacing:-.7px}.reel-result p>span{display:block;font-size:13px;margin-top:5px}

.reel-result strong{font-size:clamp(34px,3.5vw,46px);font-weight:800;letter-spacing:-1.3px;transform-origin:left center}
@media(prefers-reduced-motion:no-preference){.reel-result.is-highlighted strong{animation:reel-emphasis .8s cubic-bezier(.2,.7,.3,1) both}@keyframes reel-emphasis{0%{transform:translateY(9px) scale(.94);opacity:.35}65%{transform:translateY(0) scale(1.035);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}}

.trust-section{padding-block:52px 40px;border-bottom:1px solid var(--line)}.trust-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}.trust-heading h2{font-size:32px;margin:8px 0 0}.trust-heading p{font-size:13px;margin:0}.trust-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.trust-logo{margin:0;min-width:0;text-align:center}.trust-logo img{display:block;width:100%;height:110px;object-fit:contain;background:white;padding:12px;border:1px solid var(--line);border-radius:3px}.trust-logo figcaption{font-size:10px;color:var(--muted);margin-top:9px}.project-connections{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.connection-label{font-size:9px;letter-spacing:1px;font-weight:bold;max-width:145px}.connection-item{display:flex;align-items:center;gap:12px}.connection-item img{width:48px;height:48px;object-fit:contain}.connection-item p{font-size:11px;margin:0;line-height:1.5}.connection-item strong,.connection-item span{display:block}.connection-item strong{color:var(--ink);font-weight:500}
@media(prefers-reduced-motion:no-preference){.trust-section.logos-enter .trust-logo{animation:logo-arrive .6s ease both;animation-delay:calc(var(--logo-order)*85ms)}@keyframes logo-arrive{from{opacity:.2;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.trust-logo img{transition:transform .2s ease}.trust-logo:hover img{transform:translateY(-3px)}}
@media(max-width:900px){.trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.trust-section{padding-block:35px}.trust-heading{display:block}.trust-heading p{margin-top:12px}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.trust-logo img{height:105px}.project-connections{gap:18px}.connection-label{max-width:none;width:100%}}

.trust-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.trust-logo img{height:115px}.trust-heading h2{font-size:30px}@media(max-width:650px){.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-heading h2{font-size:26px}}

.trust-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.case-venue{display:flex;align-items:center;gap:12px;margin:0 0 18px}.case-venue img{width:48px;height:48px;object-fit:contain}.case-venue span{font-size:11px;color:var(--muted)}@media(max-width:900px){.trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.contact-card{background:var(--paper);padding:34px;border:1px solid var(--line);border-radius:3px}.contact-card h3{font-size:29px;line-height:1.25;margin:18px 0}.contact-card .button{width:100%;margin-top:10px}.contact-card .micro{margin:14px 0 0;text-align:center}@media(max-width:650px){.contact-card{padding:25px}}

.executive-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:10px}.executive-gallery .executive-main{grid-row:auto;align-self:auto}.executive-gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f1e7e3}

/* Match the page's one-time reveals; avoid perpetual movement. */
@media(prefers-reduced-motion:no-preference){.executive-gallery.photos-enter img{animation:john-photo-enter .7s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--photo-order)*120ms)}@keyframes john-photo-enter{from{opacity:.25;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.executive-gallery img{transition:translate .25s ease,box-shadow .25s ease}.executive-gallery img:hover{translate:0 -4px;box-shadow:0 9px 20px #2424241a}}
