:root{--black:#050608;--white:#d6deef;--line:#515867}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font:17px/1.55 Arial,Helvetica,sans-serif}img{max-width:100%;display:block}a{color:inherit}a:focus-visible{outline:2px solid var(--white);outline-offset:5px}.container{width:min(1120px,calc(100% - 48px));margin-inline:auto}.header{border-bottom:1px solid var(--line)}.header-inner{min-height:92px;display:flex;align-items:center;gap:34px}.brand{flex:none}.brand img{width:150px;height:auto}.header nav{display:flex;gap:24px;align-items:center;margin-left:auto}.header nav a,.header-insta{text-decoration:none;font-size:14px}.header nav a:hover,.header-insta:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.header-insta{border:1px solid var(--white);padding:8px 12px;white-space:nowrap}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center;min-height:610px;padding-block:75px}.overline{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:600;margin:0 0 24px}.hero h1,h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-.04em;line-height:1.08}.hero h1{font-size:clamp(48px,5.7vw,82px);margin:0 0 28px}.intro{font-size:20px;max-width:460px;margin:0 0 18px}.slogan{font-style:italic;margin:0 0 34px}.button{display:inline-block;border:1px solid var(--white);background:var(--white);color:var(--black);padding:13px 21px;text-decoration:none;font-size:15px;font-weight:600}.button:hover{background:transparent;color:var(--white)}.hero-photo img{width:100%;height:425px;object-fit:cover}.section{padding-block:90px;border-top:1px solid var(--line);scroll-margin-top:20px}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.section h2{font-size:clamp(37px,4.4vw,60px);margin:0 0 25px}.large-copy{font-size:22px;line-height:1.45;margin:0 0 23px}.two-col p:not(.overline){max-width:650px}.credential{font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-top:30px}.preview-grid{display:grid;grid-template-columns:.75fr 1fr;gap:85px;align-items:center}.preview-grid>img{width:100%;height:430px;object-fit:cover;object-position:center 30%;filter:grayscale(1)}.preview-grid p:not(.overline){max-width:510px}.text-link{display:inline-block;text-underline-offset:5px;font-size:16px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-head .overline{margin-bottom:10px}.section-head h2{margin:0}.schedule-summary{border-top:1px solid var(--line)}.schedule-summary>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font-size:22px}.schedule-summary strong{font-weight:600}.location-line{display:flex;justify-content:space-between;gap:30px;margin-top:28px;align-items:start}.location-line p{margin:0}.location-line a{text-underline-offset:5px}.gallery-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-preview img{width:100%;height:255px;object-fit:cover}.gallery-preview a:nth-child(2) img{object-position:center 25%}.contact-methods{border-top:1px solid var(--line)}.contact-methods>a{display:flex;justify-content:space-between;gap:20px;align-items:center;text-decoration:none;border-bottom:1px solid var(--line);padding:17px 0}.contact-methods>a:hover strong{text-decoration:underline;text-underline-offset:5px}.contact-methods span{font-size:14px;text-transform:uppercase;letter-spacing:.08em}.contact-methods strong{font-weight:500;text-align:right}.subpage{padding-block:75px 100px;min-height:72vh}.subpage h1{font-size:clamp(43px,5vw,68px);margin:0 0 28px}.sub-intro{font-size:19px;margin:0 0 35px}.schedule-art{width:100%;max-width:850px;border:1px solid var(--line)}.schedule-end{display:flex;align-items:end;justify-content:space-between;gap:25px;max-width:850px}.schedule-end p{line-height:1.8}.photo-grid{columns:3 280px;column-gap:18px;margin-top:38px}.photo-grid figure{margin:0 0 18px;break-inside:avoid}.photo-grid img{width:100%;height:auto}.coach-page{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:start}.coach-page p:not(.overline){max-width:650px}.coach-page figure{margin:0}.coach-page figure img{width:100%;height:auto}.coach-page figcaption{font-size:13px;margin-top:8px}.archive-row{display:flex;align-items:center;gap:35px}.archive-row img{width:250px;height:auto}.legal{max-width:780px}.legal p{margin:0 0 20px}.legal a{text-underline-offset:5px}footer{border-top:1px solid var(--line);padding:25px 0;font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:20px}.footer-inner>div{display:flex;gap:22px}footer a{text-underline-offset:4px}@media(max-width:900px){.header-inner{flex-wrap:wrap;gap:10px 18px;padding-block:12px}.header nav{order:3;width:100%;justify-content:space-between;gap:10px;margin:0}.header-insta{margin-left:auto}.hero{grid-template-columns:1fr;min-height:0;gap:35px;padding-block:60px}.hero-photo img{height:auto;max-height:480px;object-fit:contain}.two-col,.preview-grid,.coach-page{grid-template-columns:1fr;gap:25px}.preview-grid>img{max-width:520px}.section{padding-block:65px}.gallery-preview img{height:210px}.photo-grid{columns:2 180px}}@media(max-width:560px){.container{width:min(100% - 32px,1120px)}.brand img{width:120px}.header nav a{font-size:13px}.header-insta{font-size:13px}.hero h1{font-size:48px}.hero-photo img{max-height:330px}.section-head{align-items:start;flex-direction:column}.schedule-summary>div{font-size:19px}.location-line{flex-direction:column;gap:8px}.gallery-preview{grid-template-columns:repeat(2,1fr)}.gallery-preview a:last-child{display:none}.gallery-preview img{height:170px}.contact-methods>a{align-items:start;flex-direction:column;gap:4px}.contact-methods strong{text-align:left}.subpage{padding-block:55px 75px}.photo-grid{columns:1}.schedule-end,.footer-inner{flex-direction:column;align-items:start}.archive-row{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Schedule, colour photography, and page endings */
.preview-grid>img{filter:none}.gallery-preview img{filter:none}.photo-grid img{filter:none}.header nav{gap:21px}.footer-main{text-align:center;padding:75px 0 65px}.footer-quote{font:italic normal clamp(25px,3vw,40px)/1.25 Georgia,'Times New Roman',serif;margin:0 0 22px}.footer-main p:not(.footer-quote){margin:0 0 10px}.footer-main>a{text-underline-offset:5px}.footer-social{display:flex;justify-content:center;gap:26px;margin-top:28px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0}.footer-bottom>div{display:flex;gap:23px}.schedule-page{min-height:0}.weekly{width:100%;table-layout:fixed;border-collapse:collapse;margin:40px 0 25px}.weekly caption{text-align:left;font-size:14px;margin-bottom:12px}.weekly th,.weekly td{border:1px solid var(--line);padding:17px 8px;text-align:center}.weekly th{font-size:14px;font-weight:600}.weekly td{height:150px;vertical-align:middle}.weekly td.active{background:var(--white);color:var(--black)}.weekly td.active span,.weekly td.active strong,.weekly td.active small{display:block}.weekly td.active strong{font-size:19px;margin:5px 0}.weekly td.active small{font-size:13px}.weekly .empty{font-size:13px;opacity:.65}.trial{font-size:19px;margin:0 0 70px}.schedule-location{border-top:1px solid var(--line);padding-top:45px;display:flex;justify-content:space-between;align-items:end;gap:25px}.schedule-location h2{font-size:33px;margin:0 0 12px}.schedule-location p{margin:0}.about-page{display:grid;grid-template-columns:1fr .85fr;gap:70px;align-items:start}.about-page img{width:100%;height:auto}.about-page p:not(.overline){max-width:650px}.about-links{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px}footer{padding:0}@media(max-width:900px){.header nav{gap:10px}.about-page{grid-template-columns:1fr;gap:35px}.about-page img{max-width:700px}.weekly th,.weekly td{padding:10px 4px}.weekly th{font-size:12px}.weekly td.active strong{font-size:15px}}@media(max-width:650px){.schedule-scroll{overflow-x:auto}.weekly{min-width:760px}.weekly td{height:120px}.footer-main{padding:60px 0 55px}.footer-bottom{flex-direction:column}.header nav{overflow-x:auto;white-space:nowrap;justify-content:start;padding-bottom:3px}.header nav a{font-size:13px}}
@media(max-width:650px){.schedule-scroll{overflow:visible}.weekly{min-width:0;border-collapse:separate;border-spacing:0 8px}.weekly thead{display:none}.weekly tbody,.weekly tr{display:block}.weekly td,.weekly td.active{display:flex;justify-content:space-between;align-items:center;width:100%;height:auto;min-height:66px;text-align:right;padding:12px 16px}.weekly td:before{content:attr(data-day);font-weight:600;text-align:left}.weekly td.active{flex-wrap:wrap;gap:4px}.weekly td.active span{display:none}.weekly td.active small{display:none}.weekly td.active strong{margin:0;font-size:16px}.weekly td .empty{font-size:14px}}
/* Inset section rules and photo framing */
.section{position:relative;border-top:0}.section::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 48px));height:1px;background:var(--line)}.preview-grid>img{object-position:center top}.gallery-preview a:nth-child(2) img{object-position:center top}.contact-page{display:grid;grid-template-columns:1fr .85fr;gap:75px;align-items:start}.contact-page .large-copy{max-width:560px}.contact-side img{width:100%;height:auto}.contact-side p{font-size:14px;letter-spacing:.08em;text-transform:uppercase}.contact-list{margin-top:48px;border-top:1px solid var(--line)}.contact-list>div{display:grid;grid-template-columns:115px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:20px 0}.contact-list span{font-size:14px;text-transform:uppercase;letter-spacing:.07em}.contact-list a{text-underline-offset:5px}.contact-trial{margin-top:35px}.contact-trial a{text-underline-offset:5px}@media(max-width:900px){.contact-page{grid-template-columns:1fr;gap:35px}.contact-side img{max-width:640px}}@media(max-width:560px){.section::before{width:calc(100% - 32px)}.contact-list>div{grid-template-columns:1fr;gap:5px}}
/* Pricing and photo viewer */
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:42px 0 30px}.price-grid>div{border:1px solid var(--line);padding:34px;min-height:230px}.price-grid h2{font-size:30px;margin:0 0 46px}.price{font:normal 56px/1 Georgia,'Times New Roman',serif;margin:0}.price span{font:17px Arial,Helvetica,sans-serif}.price-end{border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.price-end p{margin:0}.photo-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}.photo-open img{width:100%;height:auto}.photo-open:focus-visible{outline:2px solid var(--white);outline-offset:4px}.gallery-hint{font-size:14px;margin:4px 0 0}.lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;background:var(--black);color:var(--white);overflow:hidden}.lightbox::backdrop{background:var(--black)}.lightbox-image{position:absolute;inset:65px 70px 35px;width:calc(100% - 140px);height:calc(100% - 100px);object-fit:contain}.lightbox-toolbar{position:absolute;z-index:2;top:0;left:0;right:0;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 23px}.lightbox button{border:1px solid var(--white);background:var(--black);color:var(--white);cursor:pointer}.lightbox-close{padding:7px 12px;font:15px Arial,Helvetica,sans-serif}.lightbox-prev,.lightbox-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:45px;height:55px;font-size:33px;line-height:1}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox button:focus-visible{outline:2px solid var(--white);outline-offset:3px}@media(max-width:650px){.price-grid{grid-template-columns:1fr}.price-grid>div{min-height:0}.price-grid h2{margin-bottom:28px}.price-end{align-items:start;flex-direction:column}.lightbox-image{inset:70px 18px 80px;width:calc(100% - 36px);height:calc(100% - 150px)}.lightbox-prev,.lightbox-next{top:auto;bottom:16px;transform:none}.lightbox-prev{left:18px}.lightbox-next{right:18px}}
