:root{--cream:#f8f3e6;--bone:#e9dfce;--stone:#bab1a4;--oxblood:#3b0912;--buccaneer:#633538;--charcoal:#1e0e10;--rule:rgba(59,9,18,.2);--serif:'Newsreader',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--oxblood);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{background:none;border:0;padding:0}a,button{touch-action:manipulation}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:300}h1,h2{font-family:var(--serif);letter-spacing:-.045em;line-height:.98}h3{font-family:var(--serif);font-size:34px;line-height:1.1;letter-spacing:-.025em}em{font-weight:300}p{line-height:1.6}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}.skip-link{position:fixed;top:0;left:20px;z-index:100;background:var(--cream);padding:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.preview-bar{height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:var(--oxblood);color:var(--cream);font-family:var(--mono);font-size:9px;letter-spacing:.06em}.preview-bar button{font-size:9px}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 40px;border-bottom:1px solid var(--rule);background:var(--cream);position:sticky;top:0;z-index:30}.brand{width:216px;display:grid;justify-items:center;gap:7px;flex-shrink:0}.brand img{height:auto;width:216px}.brand span{font-size:8px;letter-spacing:.4em;margin-left:.4em}.site-header nav{display:flex;gap:34px;margin-left:auto;margin-right:auto}.site-header nav a{font-size:13px;padding:12px 0;position:relative}.site-header nav a::after{content:'';height:1px;position:absolute;bottom:5px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.site-header nav a[aria-current=page]::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:26px}.cart-button{font-size:12px;white-space:nowrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:42px;padding:17px 24px;background:var(--oxblood);color:var(--cream);border:1px solid var(--oxblood);font:italic 12px var(--mono);letter-spacing:.045em;min-height:52px;transition:background .2s,color .2s}.button span{font-style:normal;font-size:19px}.button-small{min-height:44px;padding:10px 17px;gap:24px;font-size:11px}.button-light{background:var(--cream);border-color:var(--cream);color:var(--oxblood)}.button-outline{background:transparent;color:var(--oxblood)}.menu-toggle{display:none}.eyebrow{text-transform:uppercase;font:10px var(--mono);letter-spacing:.13em;line-height:1.6}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;font:italic 12px var(--mono);border-bottom:1px solid currentColor;padding:0 0 9px}.text-link span{font-size:19px;font-style:normal}.section-topline{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--rule);padding-top:18px;margin-bottom:46px}.section-pad{padding:90px 48px}.hero{height:calc(100svh - 126px);min-height:600px;max-height:900px;position:relative;background:var(--charcoal);overflow:hidden;color:var(--cream)}.hero-images{height:100%;display:grid;grid-template-columns:58% 42%}.hero-images img{width:100%;height:100%;object-fit:cover}.hero-movement{object-position:50% 50%}.hero-boxing{object-position:56% center}.hero::after{position:absolute;inset:0;content:'';background:linear-gradient(0deg,rgba(30,14,16,.67),rgba(30,14,16,.03) 75%);pointer-events:none}.hero-kicker{position:absolute;left:48px;top:32px;z-index:1}.hero-number{position:absolute;right:48px;top:32px;z-index:1}.hero-content{position:absolute;inset:auto 48px 57px;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.hero h1{font-size:clamp(80px,8.7vw,146px);line-height:.91;max-width:700px;letter-spacing:-.055em}.hero h1 em{display:block;margin-left:50px}.hero-copy{width:275px;flex-shrink:0;padding-bottom:5px}.hero-copy p{font-size:14px;margin-bottom:26px;max-width:270px}.hero-copy .button{width:100%}.hero-bottom{position:absolute;bottom:15px;left:48px;right:48px;display:flex;justify-content:space-between;z-index:1;font:9px var(--mono);letter-spacing:.07em}.hero-bottom span{opacity:.8}.hero-bottom a{border-bottom:1px solid rgba(248,243,230,.5);padding-bottom:2px}.intro-strip{padding:24px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.intro-strip p{font:italic 15px var(--serif)}.intro-strip .eyebrow{font:10px var(--mono);font-style:normal}.intro{padding:108px 48px 116px;display:grid;grid-template-columns:1fr 2.2fr;gap:50px}.intro .eyebrow{padding-top:9px}.intro h2{font-size:clamp(45px,5.2vw,78px);max-width:930px;line-height:1.06}.intro-lower{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:35px}.intro-lower p{max-width:420px;font-size:14px;color:var(--buccaneer)}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.method-card{position:relative;min-height:590px;overflow:hidden;background:var(--stone);color:var(--cream);display:flex;align-items:flex-end}.method-card img{position:absolute;inset:0;height:100%;width:100%;transition:transform .65s}.method-card::after{position:absolute;inset:0;content:'';background:linear-gradient(0deg,rgba(30,14,16,.75),transparent 70%)}.method-card-content{position:relative;z-index:1;padding:34px;width:100%}.method-card .eyebrow{margin-bottom:14px}.method-card h3{font-size:64px;margin-bottom:15px}.method-card p:not(.eyebrow){max-width:315px;font-size:14px}.circle-link{position:absolute;right:30px;bottom:36px;width:44px;height:44px;border-radius:50%;border:1px solid var(--cream);display:grid;place-items:center;font-size:23px}.method-section{padding-top:0}.method-foot{display:flex;justify-content:space-between;padding-top:17px;font:10px var(--mono);color:var(--buccaneer)}.studio-feature{display:grid;grid-template-columns:1.12fr 1fr;background:var(--oxblood);color:var(--cream);min-height:620px}.studio-feature figure{position:relative;margin:0;min-height:500px}.studio-feature figure>img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;object-position:35% center}.studio-feature figcaption{position:absolute;bottom:18px;left:24px;font:9px var(--mono);padding:7px 9px;background:rgba(30,14,16,.55);color:var(--cream)}.studio-copy{padding:80px 70px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.studio-copy h2{font-size:clamp(50px,5.1vw,80px);margin:32px 0}.studio-copy>p:not(.eyebrow){max-width:340px;margin-bottom:35px;font-size:14px;color:var(--bone)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}.section-heading h2{font-size:clamp(48px,5vw,76px)}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{font-size:13px;max-width:320px;color:var(--buccaneer)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-card{text-align:left;display:block;width:100%}.product-image{background:var(--bone);overflow:hidden;position:relative;aspect-ratio:4/4.7}.product-image img{height:100%;width:100%;object-fit:cover;transition:transform .55s}.product-image .product-plus{position:absolute;bottom:15px;right:15px;border:1px solid rgba(59,9,18,.3);background:var(--cream);border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:22px}.product-info{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;gap:15px}.product-info h3{font-family:var(--sans);font-size:14px;letter-spacing:0;font-weight:500}.product-info span{font:10px var(--mono)}.product-card>p{color:var(--buccaneer);font-size:12px;margin-top:7px}.shop-foot{display:flex;justify-content:space-between;align-items:center;margin-top:42px;gap:20px}.shop-foot>p{font:10px var(--mono);color:var(--buccaneer)}.site-footer{background:var(--oxblood);color:var(--cream);padding:66px 48px 22px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr .5fr;gap:50px;margin-bottom:90px}.footer-top h2{font-size:70px;margin-top:25px}.footer-links{display:flex;gap:60px;justify-content:center}.footer-links>div{display:flex;align-items:flex-start;flex-direction:column;gap:13px}.footer-links .eyebrow{margin-bottom:16px;color:var(--stone)}.footer-links a,.footer-links button{font-size:12px}.footer-mark{width:130px;height:auto;justify-self:end;align-self:start;margin-top:15px}.footer-wordmark{width:100%;height:auto;max-height:190px;object-fit:contain;object-position:left center;margin-bottom:48px}.footer-bottom{border-top:1px solid rgba(248,243,230,.25);padding-top:22px;display:flex;justify-content:space-between;gap:25px;font:9px var(--mono);color:var(--bone)}.footer-bottom button{font:inherit}.page-intro{padding:72px 48px 55px}.page-intro h1{font-size:clamp(64px,8vw,115px);margin:27px 0 22px;max-width:900px}.page-intro>p:not(.eyebrow){max-width:480px;color:var(--buccaneer);font-size:14px}.catalog{padding:0 48px 95px}.filter-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:17px 0;margin-bottom:32px;gap:25px}.filters{display:flex;gap:9px;flex-wrap:wrap}.filter{font-size:12px;padding:9px 17px;border:1px solid transparent}.filter[aria-pressed=true]{background:var(--oxblood);color:var(--cream)}.filter-count{font:10px var(--mono);white-space:nowrap}.catalog-note{margin-top:34px;font:11px var(--mono);max-width:600px;line-height:1.8;color:var(--buccaneer)}.method-banner{margin:0 48px 75px;display:grid;grid-template-columns:1fr 1fr;gap:16px;height:540px}.method-banner img{width:100%;height:100%;min-width:0}.method-details{padding:0 48px 90px;display:grid;grid-template-columns:repeat(2,1fr);gap:70px}.method-details article{border-top:1px solid var(--rule);padding-top:25px}.method-details h2{font-size:52px;margin:22px 0}.method-details p:not(.eyebrow){max-width:470px;color:var(--buccaneer);font-size:15px}.method-details .button{margin-top:30px}.feature-quote{background:var(--bone);padding:88px 48px;text-align:center}.feature-quote h2{font-size:clamp(48px,6vw,90px);margin:28px auto 34px;max-width:900px}.feature-quote .monogram{width:88px;margin:0 auto 26px}.studio-wide{margin:0 48px;position:relative}.studio-wide img{width:100%;height:650px;object-fit:cover}.studio-wide figcaption{font:10px var(--mono);margin-top:14px;color:var(--buccaneer)}.studio-description{padding:85px 48px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.studio-description h2{font-size:65px}.studio-description p{font-size:15px;color:var(--buccaneer);margin-bottom:25px}.schedule-layout{display:grid;grid-template-columns:300px 1fr;gap:60px;padding:0 48px 100px}.schedule-side{border-top:1px solid var(--rule);padding-top:24px}.schedule-side h2{font-size:38px;margin:24px 0}.schedule-side p{color:var(--buccaneer);font-size:13px;margin-bottom:30px}.schedule-panel{border:1px solid var(--rule);background:#fbf8f0;min-height:470px}.schedule-tabs{display:flex;border-bottom:1px solid var(--rule);padding:15px 20px;gap:8px}.schedule-tabs :is(button,a){padding:10px 15px;font-size:12px}.schedule-tabs :is(button[aria-pressed=true],a[aria-current=page]){background:var(--bone)}.schedule-empty{display:flex;min-height:360px;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center}.schedule-empty img{width:62px;margin-bottom:23px}.schedule-empty h2{font-size:43px;margin-bottom:15px}.schedule-empty p{max-width:360px;color:var(--buccaneer);font-size:13px;margin-bottom:20px}.schedule-caption{border-top:1px solid var(--rule);padding:13px 20px;font:10px var(--mono);color:var(--buccaneer)}.faq{padding:0 48px 90px;max-width:1000px;margin:auto}.faq h2{font-size:50px;margin-bottom:35px}.faq details{border-top:1px solid var(--rule);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;font-size:15px}.faq details p{margin-top:18px;max-width:670px;color:var(--buccaneer);font-size:14px}dialog{border:0;background:var(--cream);color:var(--oxblood);padding:52px;max-width:760px;width:calc(100% - 40px);max-height:90svh;overflow:auto}dialog::backdrop{background:rgba(30,14,16,.65);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:18px;top:14px;width:34px;height:34px;font-size:22px}.dialog-copy h2{font-size:50px;margin:22px 0}.dialog-copy p:not(.eyebrow){color:var(--buccaneer);font-size:14px;max-width:550px}.dialog-copy .button{margin-top:25px}.dialog-copy ul{line-height:1.9;font-size:14px;padding-left:20px;color:var(--buccaneer)}.product-dialog{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.product-dialog>img{width:100%;height:380px;object-fit:cover}.product-dialog h2{font-size:43px;margin:17px 0}.product-dialog p:not(.eyebrow){font-size:13px;color:var(--buccaneer)}.product-dialog label{display:block;font:10px var(--mono);margin:22px 0 8px}.product-dialog select{padding:12px;border:1px solid var(--rule);background:var(--cream);color:var(--oxblood);width:100%;border-radius:0}.product-dialog .button{width:100%;margin-top:17px;padding:14px 12px;gap:20px;font-size:10px}.product-dialog .small-note{font-size:10px;margin-top:12px;line-height:1.5}.cart-item{display:grid;grid-template-columns:75px 1fr auto;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--rule)}.cart-item img{width:75px;height:85px}.cart-item h3{font-size:24px;margin-bottom:8px}.cart-item p{font-size:11px!important}.cart-item button{text-decoration:underline;font-size:11px}.cart-notice{padding:20px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);z-index:60;background:var(--oxblood);color:var(--cream);padding:16px 24px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 5px 30px #0002;text-align:center;max-width:calc(100% - 40px)}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{padding:50px;text-align:center}
@media(min-width:1600px){.site-header,.section-pad,.intro,.site-footer,.page-intro,.catalog,.method-details,.schedule-layout,.studio-description{padding-left:max(48px,calc((100vw - 1504px)/2));padding-right:max(48px,calc((100vw - 1504px)/2))}.hero-content,.hero-kicker,.hero-bottom{left:max(48px,calc((100vw - 1504px)/2))}.hero-content,.hero-number,.hero-bottom{right:max(48px,calc((100vw - 1504px)/2))}}
@media(max-width:1050px){.site-header{padding:0 25px;gap:20px}.brand{width:178px}.brand img{width:178px}.site-header nav{gap:20px}.header-actions{gap:18px}.hero-content{left:32px;right:32px}.hero h1{font-size:90px}.hero h1 em{margin-left:15px}.hero-copy{width:235px}.hero-kicker,.hero-bottom{left:32px}.hero-number,.hero-bottom{right:32px}.section-pad{padding:65px 30px}.method-section{padding-top:0}.intro{padding:80px 30px;grid-template-columns:1fr 3fr;gap:25px}.intro-lower{align-items:flex-start;flex-direction:column;gap:25px}.method-card{min-height:500px}.method-card h3{font-size:54px}.method-card-content{padding:28px}.method-card p:not(.eyebrow){max-width:240px}.circle-link{right:22px;bottom:27px}.studio-copy{padding:50px 40px}.studio-feature{min-height:550px}.footer-top{grid-template-columns:1.2fr 1fr;gap:40px}.footer-mark{display:none}.footer-links{gap:40px}.schedule-layout{grid-template-columns:230px 1fr;gap:30px}.studio-description h2{font-size:55px}}
@media(max-width:760px){.preview-bar{padding:0 18px;font-size:8px;height:27px}.preview-bar button{font-size:8px}.site-header{height:78px;padding:0 20px;gap:16px}.brand{width:155px;gap:5px}.brand img{width:155px}.brand span{font-size:6px}.header-actions{gap:16px}.header-actions>.button{display:none}.cart-button{font-size:11px}.menu-toggle{display:flex;width:28px;height:36px;flex-direction:column;gap:6px;justify-content:center}.menu-toggle span{display:block;width:24px;height:1px;background:var(--oxblood);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);padding:30px 25px;gap:15px;border-bottom:1px solid var(--rule);margin:0;box-shadow:0 10px 20px #1e0e1010}.site-header nav.open{display:flex;flex-direction:column}.site-header nav a{font-family:var(--serif);font-size:34px}.hero{height:calc(100svh - 105px);min-height:620px;max-height:820px}.hero-images{grid-template-columns:50% 50%}.hero-images img{object-fit:cover}.hero-movement{object-position:50% 0}.hero-boxing{object-position:53% 0}.hero::after{background:linear-gradient(0deg,rgba(30,14,16,.86) 4%,rgba(30,14,16,.14) 72%)}.hero-kicker{left:22px;top:25px;font-size:8px;max-width:140px}.hero-number{right:22px;top:25px;font-size:8px}.hero-content{left:23px;right:23px;bottom:62px;display:block}.hero h1{font-size:clamp(61px,13vw,94px);line-height:.98;max-width:600px}.hero h1 em{margin-left:22px}.hero-copy{width:100%;margin-top:26px;padding:0;max-width:420px}.hero-copy p{font-size:12px;max-width:280px;margin-bottom:20px}.hero-copy .button{width:auto;gap:38px;min-height:47px;padding:12px 20px;font-size:11px}.hero-bottom{left:23px;right:23px;bottom:20px;font-size:8px}.hero-bottom span{max-width:190px}.intro-strip{padding:20px 23px}.intro-strip p{font-size:14px}.intro-strip .eyebrow{font-size:8px}.intro{display:block;padding:64px 23px}.intro>.eyebrow{margin-bottom:25px}.intro h2{font-size:43px;line-height:1.07;letter-spacing:-.035em}.intro-lower{margin-top:25px;gap:25px}.intro-lower p{font-size:13px}.section-pad{padding:60px 23px}.method-section{padding-top:0}.section-topline{margin-bottom:25px;padding-top:16px}.section-topline .eyebrow{font-size:9px}.method-grid{gap:16px;grid-template-columns:1fr}.method-card{min-height:440px}.method-card-content{padding:27px}.method-card h3{font-size:59px}.method-card p:not(.eyebrow){max-width:270px;font-size:13px}.method-foot{font-size:8px;gap:20px;line-height:1.7}.method-foot span:last-child{text-align:right}.studio-feature{grid-template-columns:1fr}.studio-feature figure{min-height:360px}.studio-copy{padding:48px 26px 55px}.studio-copy h2{font-size:56px;margin:25px 0}.studio-copy>p:not(.eyebrow){font-size:13px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:28px}.section-heading h2{font-size:52px}.section-heading .eyebrow{font-size:9px;margin-bottom:17px}.section-heading>p{font-size:12px;max-width:330px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 13px}.product-grid .product-card:last-child:nth-child(3){grid-column:1/-1;width:calc(50% - 7px)}.product-image{aspect-ratio:3/4}.product-image .product-plus{width:28px;height:28px;bottom:10px;right:10px;font-size:20px}.product-info{display:block;margin-top:13px}.product-info h3{font-size:12px;line-height:1.4}.product-info span{display:none}.product-card>p{font-size:10px;margin-top:4px}.shop-foot{align-items:flex-start;flex-direction:column;gap:25px;margin-top:30px}.shop-foot>p{font-size:9px;line-height:1.8}.site-footer{padding:47px 23px 24px}.footer-top{display:block;margin-bottom:50px}.footer-top h2{font-size:64px}.footer-top>.eyebrow{font-size:9px}.footer-links{margin-top:40px;justify-content:flex-start;gap:60px}.footer-links .eyebrow{font-size:9px;margin-bottom:10px}.footer-links a,.footer-links button{font-size:11px}.footer-wordmark{margin-bottom:26px}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:18px}.footer-bottom button{flex-basis:100%;text-align:left}.page-intro{padding:48px 23px 36px}.page-intro h1{font-size:65px;line-height:1;max-width:600px;margin:22px 0}.page-intro>p:not(.eyebrow){font-size:13px}.catalog{padding:0 23px 55px}.filter-row{gap:12px;padding:12px 0;align-items:flex-start}.filters{gap:4px}.filter{padding:7px 9px;font-size:10px}.filter-count{font-size:8px;padding-top:10px}.catalog-note{font-size:10px}.method-banner{margin:0 23px 45px;height:320px;gap:8px}.method-details{padding:0 23px 55px;grid-template-columns:1fr;gap:40px}.method-details h2{font-size:48px;margin:20px 0}.method-details p:not(.eyebrow){font-size:14px}.feature-quote{padding:55px 23px}.feature-quote h2{font-size:48px}.studio-wide{margin:0 23px}.studio-wide img{height:330px;object-position:35% center}.studio-wide figcaption{font-size:8px;line-height:1.6}.studio-description{padding:50px 23px;grid-template-columns:1fr;gap:25px}.studio-description h2{font-size:50px}.studio-description p{font-size:14px}.schedule-layout{padding:0 23px 55px;display:flex;flex-direction:column-reverse;gap:35px}.schedule-panel{min-height:390px}.schedule-tabs{padding:10px;gap:0}.schedule-tabs :is(button,a){font-size:10px;padding:10px 12px}.schedule-empty{padding:30px 20px;min-height:320px}.schedule-empty h2{font-size:35px}.schedule-empty p{font-size:12px}.schedule-caption{font-size:8px;line-height:1.7;padding:12px}.schedule-side h2{margin:18px 0}.faq{padding:0 23px 55px}.faq h2{font-size:42px}.faq summary{font-size:13px;line-height:1.6}.faq details p{font-size:12px}.dialog-copy h2{font-size:40px}dialog{padding:46px 23px 28px;width:calc(100% - 26px);max-height:88svh}.product-dialog{grid-template-columns:1fr;gap:22px}.product-dialog>img{height:240px;object-position:center}.product-dialog h2{font-size:37px;margin:14px 0}.cart-item{grid-template-columns:60px 1fr auto;gap:12px}.cart-item img{width:60px;height:75px}.cart-item h3{font-size:21px}.toast{font-size:11px;width:max-content;bottom:18px}}
.class-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.class-card{text-align:left;min-width:0;display:block}.class-image{aspect-ratio:3/4;position:relative;overflow:hidden;background:var(--bone)}.class-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.class-card:nth-child(1) img{object-position:55% center}.class-card:nth-child(2) img{object-position:57% center}.class-duration{position:absolute;left:13px;top:13px;background:var(--cream);font:10px var(--mono);padding:6px 9px}.class-arrow{position:absolute;bottom:15px;right:15px;background:var(--cream);width:33px;height:33px;border-radius:50%;display:grid;place-items:center;font-size:20px}.class-title{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-top:21px}.class-title h3{font-size:31px;white-space:nowrap}.class-title .eyebrow{font-size:7px}.class-card>p{font-size:11px;color:var(--buccaneer);margin-top:10px}.classes-page{padding-top:5px}.classes-page+.feature-quote{margin-bottom:80px}#main:focus{outline:none}.mobile-book{display:none!important}
@media(max-width:1100px){.class-title{display:block}.class-title .eyebrow{display:none}.class-title h3{font-size:28px}}
@media(max-width:760px){.class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 13px}.class-title{margin-top:15px}.class-title h3{font-size:27px;white-space:normal}.class-card>p{font-size:10px;margin-top:7px;line-height:1.5;max-width:180px}.class-duration{font-size:8px;padding:5px 7px;left:10px;top:10px}.class-arrow{width:28px;height:28px;font-size:17px;bottom:10px;right:10px}.classes-page{padding-top:0}.classes-page+.feature-quote{margin-bottom:50px}.mobile-book{display:block!important}}
/* Revision 02: open navigation, centered cover, and browsable collection. */
.site-header{height:84px;background:var(--oxblood);color:var(--cream);border:0;gap:48px;padding:0 40px}
.site-header nav{display:flex;position:static;flex-direction:row;gap:32px;margin:0 auto 0 0;padding:0;background:transparent;border:0;box-shadow:none}
.site-header nav a{font:13px var(--sans);padding:14px 0;white-space:nowrap}
.site-header nav a::after{bottom:6px}
.header-actions{margin-left:auto;gap:0}
.cart-button{font-size:13px;min-height:44px;white-space:nowrap}
.hero{height:calc(100svh - 84px);min-height:600px;max-height:950px}
.hero::after{background:linear-gradient(0deg,rgba(30,14,16,.5),rgba(30,14,16,.19) 70%)}
.hero-content{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:27px;padding:45px 24px}
.hero h1{font-size:clamp(76px,8.4vw,132px);line-height:.96;max-width:850px;text-shadow:0 2px 28px #1e0e1026}
.hero h1 em{margin:0}
.hero-copy{width:100%;max-width:390px;flex-shrink:0;padding:0;margin:0}
.hero-copy p{max-width:390px;font-size:14px;line-height:1.7;margin:0 auto 26px;text-wrap:balance}
.hero-copy .button{width:auto;min-width:220px}
.method-section{padding-top:90px}
.class-title .eyebrow{display:none}
.home-shop .section-heading{align-items:flex-end;margin-bottom:14px}
.merch-carousel{min-width:0}
.carousel-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}
.carousel-buttons{display:flex;gap:8px;margin-left:auto}
.carousel-arrow{border:1px solid var(--rule);width:43px;height:43px;display:grid;place-items:center;font-size:22px;transition:color .2s,background .2s;line-height:1}

.carousel-arrow:disabled{opacity:.3;cursor:default}
.product-track{display:flex;align-items:flex-start;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;padding:4px 3px 24px;margin:0 -3px;scrollbar-width:thin;scrollbar-color:var(--oxblood) var(--bone)}
.product-track::-webkit-scrollbar{height:4px}
.product-track.has-hover-scroll{scroll-snap-type:none}
.product-track::-webkit-scrollbar-track{background:var(--bone)}
.product-track::-webkit-scrollbar-thumb{background:var(--oxblood)}
.product-track>.product-card{flex:0 0 calc((100% - 66px)/4);width:calc((100% - 66px)/4);min-width:0;scroll-snap-align:start}
.product-track .product-image{aspect-ratio:1/1.06}
.product-track .product-image img{transition:opacity var(--action-duration) var(--action-ease)}
.product-image .product-image-alternate{position:absolute;inset:0;opacity:0}
.product-card:focus-visible .product-image-alternate{opacity:1}
@media(hover:hover) and (pointer:fine){.product-card:hover .product-image-alternate{opacity:1}}
.product-track .product-info{margin-top:13px}
.product-track .product-info span{display:none}
.product-track:focus-visible{outline:2px solid var(--oxblood);outline-offset:6px}
.collection-note{font:10px var(--mono);color:var(--buccaneer);line-height:1.7;margin-top:22px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){
  .product-track>.product-card{flex-basis:calc((100% - 44px)/3);width:calc((100% - 44px)/3)}
  .site-header{gap:32px;padding:0 25px}
  .site-header nav{gap:26px}
  .hero h1{font-size:90px}
  .method-section{padding-top:65px}
}
@media(max-width:760px){
  html{scroll-padding-top:115px}
  .site-header{height:113px;padding:17px 22px 0;display:grid;grid-template-columns:1fr auto;grid-template-rows:46px 50px;gap:0 20px;align-items:start}
  .brand{width:166px;gap:6px;grid-column:1;grid-row:1;align-self:start}
  .brand img{width:166px}
  .header-actions{grid-column:2;grid-row:1;align-self:start;margin:0}
  .cart-button{font-size:12px;min-height:34px}
  .site-header nav{display:flex;grid-column:1/-1;grid-row:2;position:static;flex-direction:row;align-self:stretch;align-items:center;justify-content:space-between;gap:18px;width:100%;margin:0;padding:0;background:none;border:0;box-shadow:none}
  .site-header nav a{font:12px var(--sans);padding:15px 0;min-height:44px}
  .hero{height:calc(100svh - 113px);min-height:550px;max-height:820px}
  .hero-content{inset:0;gap:25px;padding:40px 20px;display:flex;text-align:center}
  .hero h1{font-size:clamp(56px,14.5vw,90px);line-height:1;max-width:650px}
  .hero h1 em{margin:0}
  .hero-copy{max-width:290px;margin:0}
  .hero-copy p{font-size:12px;max-width:290px;margin:0 auto 25px;line-height:1.8}
  .hero-copy .button{min-width:190px;min-height:49px}
  .method-section{padding-top:56px}
  .home-shop .section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:22px}
  .carousel-tools{display:none}
  .product-track{gap:15px;padding-bottom:22px}
  .product-track>.product-card{flex-basis:calc((100% - 15px)/2);width:calc((100% - 15px)/2)}
  .product-track .product-image{aspect-ratio:4/4.7}
  .product-track .product-info h3{font-size:14px}
  .product-track .product-card>p{font-size:11px}
  .collection-note{font-size:9px;margin-top:18px}
}
@media(pointer:coarse){.carousel-tools{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.schedule-download{display:flex;justify-content:center;padding:20px 20px 28px}
.schedule-download .button{max-width:100%;gap:24px;padding:16px 22px}

/* Shared footer policy disclosure opens upward to stay within the page. */
.footer-bottom{align-items:center}
.footer-policies{position:relative}
.footer-bottom #policies-toggle{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-align:left}
#policies-toggle span{font-family:var(--sans);font-size:15px;transition:transform .2s}
#policies-toggle[aria-expanded=true] span{transform:rotate(180deg)}
.footer-policy-menu{position:absolute;bottom:100%;right:0;width:220px;max-width:calc(100vw - 46px);padding:9px;background:var(--cream);color:var(--oxblood);border:1px solid var(--bone);box-shadow:0 8px 28px #1e0e1033;z-index:35}
.footer-policy-menu[hidden]{display:none}
.footer-policy-menu a{display:flex;align-items:center;min-height:44px;padding:10px 13px;font:12px var(--sans)}

.footer-policy-menu a:focus-visible{outline-offset:-2px}
.policy-page{min-height:55vh;padding-bottom:90px}
.policy-page .text-link{margin-top:32px}
@media(max-width:760px){.footer-policies{flex-basis:100%}.footer-policy-menu{left:0;right:auto}.policy-page{padding-bottom:55px}}

/* Instagram appears in the shared footer on every page. */
.footer-meta-actions{display:flex;align-items:center;gap:18px}
.footer-social{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;color:var(--cream);border-radius:50%;transition:background .2s}

.footer-social svg{display:block}
.footer-bottom .footer-meta-actions>button{flex-basis:auto}
@media(max-width:760px){.footer-meta-actions{width:100%;justify-content:space-between}}

/* Studio location and team introduction. */
.studio-heading{padding:52px 48px 36px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.studio-heading h1{font-size:clamp(36px,3.3vw,48px);line-height:1.05}
.studio-heading address{font:normal 13px/1.7 var(--sans);color:var(--buccaneer);flex-shrink:0}
.studio-instructors{display:flex;justify-content:center;padding:32px 48px 52px}
.studio-instructors .instructor-link{max-width:100%;min-height:44px}
@media(min-width:1600px){.studio-heading{padding-left:max(48px,calc((100vw - 1504px)/2));padding-right:max(48px,calc((100vw - 1504px)/2))}}
@media(max-width:760px){.studio-heading{display:block;padding:38px 23px 28px}.studio-heading h1{font-size:32px}.studio-heading address{margin-top:18px;font-size:12px}.studio-instructors{padding:28px 23px 40px}}

.schedule-intro{padding-top:52px;padding-bottom:36px}
.schedule-intro h1{font-size:48px;line-height:1.05;margin:0}
@media(max-width:760px){.schedule-intro{padding-top:38px;padding-bottom:28px}.schedule-intro h1{font-size:40px}}

/* Owner copy update: studio introduction and concise booking placeholder. */
.studio-heading{align-items:flex-start}
.studio-location{width:470px;max-width:100%;flex-shrink:1}
.studio-location p{font-size:14px;line-height:1.75;color:var(--buccaneer);margin-top:16px}
.schedule-empty{min-height:270px;gap:24px}
.schedule-empty img,.schedule-empty p{margin-bottom:0}
.schedule-empty .schedule-coming-soon{font-size:16px;line-height:1.5;color:var(--oxblood)}
@media(max-width:760px){
  .studio-location p{font-size:13px}
  .schedule-empty{min-height:240px;gap:22px}
  .schedule-empty .schedule-coming-soon{font-size:14px}
}

/* Shared newsletter preview; connect the studio's Xplor Growth form before launch. */
.footer-top{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,1.15fr) 90px;align-items:start;gap:48px;margin-bottom:64px}
.footer-links{justify-content:space-between;gap:24px;margin-top:0;max-width:300px}
.footer-mark{width:90px;margin-top:0}
.footer-community{min-width:0;width:100%;max-width:380px}
.footer-community h2{font:10px/1.6 var(--mono);letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;color:var(--stone)}
.community-input-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--cream)}
.community-input-row input{flex:1;min-width:0;width:100%;border:0;border-radius:0;background:transparent;color:var(--cream);padding:14px 0;font:13px var(--sans);min-height:48px}
.community-input-row input::placeholder{color:var(--bone);opacity:1}
.community-input-row input:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.community-input-row button{display:inline-flex;align-items:center;gap:20px;flex-shrink:0;min-height:48px;font:italic 12px var(--mono);color:var(--cream)}
.community-input-row button span[aria-hidden]{font-size:19px;font-style:normal}

.community-input-row button:disabled{opacity:.5;cursor:default}
.community-status{font-size:12px;line-height:1.6;color:var(--bone);margin-top:12px}
.community-status:empty{display:none}
@media(max-width:1050px){
  .footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px}
}
@media(max-width:760px){
  .footer-top{gap:24px;margin-bottom:40px}
  .footer-links{gap:16px;margin-top:0}
  .footer-community{max-width:100%}
  .footer-community h2{font-size:9px;margin:0 0 10px}
  .community-input-row input{font-size:16px}
  .community-input-row button{gap:12px}
}
@media(max-width:460px){
  .footer-top{grid-template-columns:1fr;gap:30px}
  .footer-links{justify-content:flex-start;gap:60px}
}

/* All actions share Join's soft color fade, diagonal icon motion, and press response. */
:root{--action-hover:var(--buccaneer);--action-duration:.2s;--action-ease:ease}
.site-header,.site-footer,.studio-feature,.hero{--action-hover:var(--stone)}
.footer-policy-menu,dialog{--action-hover:var(--buccaneer)}
.button,.filter[aria-pressed=true]{--action-hover:var(--stone)}
.button-light,.button-outline{--action-hover:var(--buccaneer)}
button,a,.button,.text-link,.footer-social,.carousel-arrow,.community-input-row button{transition:color var(--action-duration) var(--action-ease),transform var(--action-duration) var(--action-ease)}
.text-link>span,.button>span,.community-input-row button>span,.class-arrow,.product-plus,.footer-meta-actions>button>span{display:inline-block;transition:transform var(--action-duration) var(--action-ease)}
.class-arrow,.product-plus{display:grid}
:is(button,a):not(:disabled):not(.brand):not(.skip-link):focus-visible{color:var(--action-hover)}
:is(.text-link,.button,.community-input-row button,.footer-meta-actions>button):not(:disabled):focus-visible>span,.class-card:focus-visible .class-arrow,.product-card:focus-visible .product-plus{transform:translate(3px,-3px)}
@media(hover:hover){
  :is(button,a):not(:disabled):not(.brand):not(.skip-link):hover{color:var(--action-hover)}
  :is(.text-link,.button,.community-input-row button,.footer-meta-actions>button):not(:disabled):hover>span,.class-card:hover .class-arrow,.product-card:hover .product-plus{transform:translate(3px,-3px)}
}
button:not(:disabled):active,a:not(.brand):not(.skip-link):active{transform:translateY(1px) scale(.98)}
@media(prefers-reduced-motion:reduce){
  button,a,.text-link>span,.button>span,.community-input-row button>span,.class-arrow,.product-plus,.footer-meta-actions>button>span{transform:none!important}
}

/* Studio contact links follow the shared understated link style. */
.studio-contact{display:flex;flex-wrap:wrap;gap:16px 28px}
.studio-contact .text-link{max-width:100%;gap:18px;overflow-wrap:anywhere;color:var(--oxblood)}

/* Class preview labels include duration and equipment. */
.class-duration{max-width:calc(100% - 26px);line-height:1.5}
.class-duration>span{white-space:nowrap}
@media(max-width:760px){.class-duration{max-width:calc(100% - 20px)}}

.community-input-row button .community-button-label{font:inherit;transform:none}
#community-captcha:not(:empty){margin-top:16px}

/* Mariana Tek retains its own secure booking UI inside the existing layout. */
.schedule-panel{min-width:0}
.schedule-tabs{flex-wrap:wrap}
.schedule-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.booking-embed{min-height:360px;padding:20px;scroll-margin-top:100px}
.booking-embed iframe{max-width:100%;border:0}
.booking-status,.booking-error{padding:16px 20px;font-size:13px;color:var(--buccaneer)}
.booking-error[hidden],.booking-status[hidden]{display:none}
.booking-error .text-link{display:inline-flex;font-size:inherit}
@media(max-width:760px){.booking-embed{padding:12px 8px}.schedule-tabs{padding:10px 8px;gap:2px}.schedule-tabs a{padding:10px 11px}}
.shop-status{min-height:250px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;color:var(--buccaneer);font-size:13px}
.product-track .product-info .product-price{display:block;white-space:nowrap;font:11px var(--mono);margin-top:8px}
.product-media>img{width:100%;height:380px;object-fit:contain;background:var(--bone)}
.product-thumbnails{display:flex;gap:8px;overflow-x:auto;margin-top:10px;padding:3px}
.product-thumbnails button{flex:0 0 52px;border:1px solid var(--rule);min-height:52px}
.product-thumbnails img{width:52px;height:52px;object-fit:cover}
.product-dialog .detail-price{font:14px var(--mono);margin-bottom:18px;color:var(--oxblood)}
.shop-action-status{font-size:12px;line-height:1.6;margin-top:16px;overflow-wrap:anywhere}
.shop-action-status:empty{display:none}
.cart-quantity{display:inline-flex;align-items:center;gap:5px;margin-top:5px}
.cart-quantity button{width:36px;min-height:44px;text-decoration:none;font-size:18px}
.cart-quantity span{min-width:24px;text-align:center;font:12px var(--mono)}
.cart-subtotal{display:flex;justify-content:space-between;gap:20px;margin:24px 0 12px;font:14px var(--mono)}
.cart-subtotal strong{font-weight:500}
.button:disabled,.cart-quantity button:disabled{opacity:.45;cursor:default}
@media(max-width:760px){.product-media>img{height:260px}.cart-item h3{font-size:19px}.product-track .product-info .product-price{font-size:11px}}

/* Published studio policies: original wording in the site's existing typography. */
.legal-page{max-width:800px;margin:0 auto;padding:48px 32px 72px}
.legal-copy{font-size:14px;line-height:1.75;color:var(--buccaneer);overflow-wrap:anywhere}
.legal-copy h1{font-size:32px;line-height:1.15;letter-spacing:-.025em;color:var(--oxblood);margin-bottom:18px}
.legal-copy h1+p{font:10px/1.7 var(--mono);margin-bottom:28px}
.legal-copy h2{font:500 16px/1.5 var(--sans);letter-spacing:0;color:var(--oxblood);margin:28px 0 12px}
.legal-copy h3{font:500 14px/1.5 var(--sans);letter-spacing:0;color:var(--oxblood);margin:22px 0 10px}
.legal-copy p{line-height:1.75;margin:0 0 16px}
.legal-copy ul,.legal-copy ol{padding-left:24px;margin:18px 0 24px}
.legal-copy li{padding-left:4px;margin-bottom:10px}
.legal-copy li p{margin-bottom:10px}
.legal-copy a{text-decoration:underline;text-underline-offset:3px}
.legal-copy strong{font-weight:600}
.legal-page>.text-link{margin-top:36px}
@media(max-width:760px){.legal-page{padding:32px 23px 48px}.legal-copy h1{font-size:28px}}

/* Official CadenceCo app download choices. */
.app-download-dialog h2{font-size:clamp(32px,5vw,44px)}
.app-download-links{display:grid;gap:16px;margin-top:24px}
.app-download-links .text-link{width:100%;min-height:48px;margin:0}
