@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#191919;--lime:#f5a31b;--paper:#f5f5f5;--muted:#a7ada5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#f4f4ee;font-family:'DM Sans',Arial,sans-serif}a{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}.skip{position:absolute;left:12px;top:-100px;background:var(--lime);color:var(--ink);padding:10px;z-index:20}.skip:focus{top:12px}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.site-header{position:absolute;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:28px clamp(24px,5vw,84px);border-bottom:1px solid #ffffff32}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{font:900 42px/.8 'Barlow Condensed',Impact,sans-serif;letter-spacing:-4px}.brand-mark span{color:var(--lime)}.brand-name{font:800 12px/1.05 'Barlow Condensed',Impact,sans-serif;letter-spacing:.13em}.site-header nav{display:flex;gap:clamp(15px,2.5vw,38px)}.site-header nav a,.header-cta{font-size:12px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}.site-header nav a:hover,.text-link:hover{color:var(--lime)}.header-cta{padding:13px 17px;border:1px solid #ffffff80}.header-cta span{margin-left:14px;color:var(--lime)}.hero{min-height:780px;height:100svh;max-height:1100px;position:relative;overflow:hidden;display:flex;align-items:center;background:radial-gradient(circle at 72% 50%,#453225 0,#29231c 25%,#191919 61%)}.hero-grid{position:absolute;inset:0;opacity:.25;background-image:linear-gradient(#ffffff13 1px,transparent 1px),linear-gradient(90deg,#ffffff13 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent 10%,black 85%)}.hero-orbit{position:absolute;width:min(68vw,950px);aspect-ratio:1;border:1px solid #f5a31b45;border-radius:50%;right:-8%;top:12%;box-shadow:0 0 0 90px #f5a31b0a,0 0 0 190px #f5a31b08,0 0 0 300px #f5a31b06}.hero-orbit:before,.hero-orbit:after{content:'';position:absolute;background:var(--lime);border-radius:50%}.hero-orbit:before{width:14px;height:14px;top:9%;left:21%;box-shadow:0 0 30px var(--lime)}.hero-orbit:after{width:5px;height:5px;bottom:25%;right:6%}.hero-content{position:relative;z-index:2;margin:90px 0 0 clamp(24px,10vw,170px);width:min(780px,72vw)}.eyebrow,.kicker,.section-number{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--lime)}.pulse{height:8px;width:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px #f5a31b25}.hero h1,h2,.statement-line{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:-.035em}.hero h1{font-size:clamp(108px,17vw,265px);line-height:.71;margin:47px 0 40px;font-weight:900}.hero h1 em,h2 em{color:var(--lime);font-style:normal}.hero-lead{max-width:480px;font-size:clamp(16px,1.45vw,21px);line-height:1.55;color:#ece8e1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:17px 20px;margin-top:22px;font-size:12px;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:transform .25s,background .25s}.button:hover{transform:translateY(-4px)}.button-lime{background:var(--lime);color:var(--ink)}.button-dark{background:var(--ink);color:white}.hero-side{position:absolute;right:42px;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em;color:#bbc4b8}.hero-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;gap:0;border-top:1px solid #ffffff30}.hero-bottom span{width:33.333%;padding:24px clamp(24px,5vw,84px);font-size:11px;letter-spacing:.2em;border-right:1px solid #ffffff30;color:#c4c9c2}.section-pad{padding:clamp(85px,10vw,160px) clamp(24px,8vw,135px)}.intro{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 2fr;gap:6vw}.section-number{color:#778078}.intro-main{max-width:890px}.kicker{color:#ba7417}.intro h2,.coaching h2,.visit h2{font-size:clamp(62px,8vw,128px);line-height:.88;margin:20px 0 35px;font-weight:800}.intro h2 span{color:#df8f19}.intro-main>p:not(.kicker){font-size:clamp(17px,1.8vw,24px);line-height:1.55;max-width:660px;color:#3c453d}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:90px;border-top:1px solid #bfc5b9;padding-top:30px}.stats strong{display:block;font:800 clamp(54px,6vw,90px)/1 'Barlow Condensed',Impact,sans-serif}.stats strong span{font-size:.5em}.stats small{display:block;margin-top:8px;text-transform:uppercase;font-size:11px;letter-spacing:.14em;color:#687266}.equipment{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:0 clamp(24px,8vw,135px);background:#201d1a}.equipment-sticky{position:sticky;top:0;align-self:start;padding:130px 0}.equipment-sticky h2{font-size:clamp(68px,7vw,114px);line-height:.9;margin:45px 0 30px}.equipment-sticky>p:last-child{max-width:310px;color:#b5bdb2;line-height:1.6}.equipment-list{padding:100px 0}.equipment-card{position:relative;padding:20px 0 70px;border-top:1px solid #536056;margin-bottom:12px}.card-index{color:var(--lime);font-size:11px;letter-spacing:.18em}.card-visual{height:260px;margin:25px 0;overflow:hidden;position:relative;background:#3a332a}.visual-mat{background:repeating-linear-gradient(0deg,transparent 0 56px,#f5a31b25 57px 59px),repeating-linear-gradient(90deg,#3b342c 0 56px,#f5a31b25 57px 59px)}.visual-mat span{position:absolute;width:190px;height:190px;border:12px solid #f5a31b5e;border-radius:50%;top:35px;left:calc(50% - 95px)}.visual-tatami{background:repeating-linear-gradient(45deg,#4a3b2c 0 35px,#352b24 35px 70px)}.visual-tatami span{position:absolute;inset:22px;border:1px solid #f5a31b8a}.visual-strength{background:radial-gradient(circle at center,#5b422b,#30271f 70%)}.visual-strength:before,.visual-strength:after{content:'';position:absolute;background:#f5a31b;top:52px;height:155px;width:23px;border-radius:3px}.visual-strength:before{left:35%}.visual-strength:after{right:35%}.visual-strength span{position:absolute;top:122px;left:20%;right:20%;height:10px;background:#f5a31b}.equipment-card h3{font:800 50px/1 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0 0 10px}.equipment-card p{color:#aeb8ac;line-height:1.5;margin:0}.statement{min-height:670px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:var(--lime);color:var(--ink);overflow:hidden}.statement .kicker{color:#385124}.statement-line{font-size:clamp(74px,10.5vw,175px);font-weight:900;line-height:.84;margin:35px 0}.statement-line i{font-style:normal;color:#d58615}.text-link{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:8px}.text-link span{margin-left:20px}.coaching{display:grid;grid-template-columns:1fr 2fr;gap:6vw;background:#faf8f4;color:var(--ink)}.coaching-content{max-width:880px}.coaching h2 em{color:#df8f19}.coaching-content>p:not(.kicker){font-size:clamp(16px,1.5vw,21px);line-height:1.65;max-width:690px;color:#3c453d}.price-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:55px 0 20px}.price-row>div{border-top:1px solid #b5beb0;padding-top:17px}.price-row span,.address-block span{display:block;font-size:11px;letter-spacing:.18em;font-weight:700;color:#677265}.price-row strong{display:block;font:800 clamp(36px,4vw,60px)/1 'Barlow Condensed',Impact,sans-serif;margin-top:15px}.price-row small{display:block;margin-top:4px;color:#596258}.coaching-links{display:flex;align-items:center;gap:35px;flex-wrap:wrap}.coaching-links .text-link:hover{color:#648435}.visit{display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:5vw;background:#f3e2c8;color:var(--ink);overflow:hidden}.visit .kicker{color:#587c2d}.visit h2 em{color:#d58a1c}.visit-content{min-width:0}.address-block{display:flex;gap:60px;margin:50px 0 25px}.address-block strong{display:block;font:700 clamp(24px,2.5vw,38px)/1.1 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin-top:10px}.visit-note{margin-top:50px;max-width:500px;line-height:1.55;color:#495447;font-size:13px}.visit-note a{font-weight:700}.map-art{min-height:430px;position:relative;align-self:stretch;background:#d9b87e;transform:rotate(9deg) scale(1.35);box-shadow:0 0 0 40px #ebd1a2}.map-lines{position:absolute;inset:0;background:linear-gradient(35deg,transparent 42%,#f7ecd8 42% 46%,transparent 46% 63%,#f7ecd8 63% 68%,transparent 68%),linear-gradient(110deg,transparent 27%,#f7ecd8 27% 32%,transparent 32% 70%,#f7ecd8 70% 75%,transparent 75%),repeating-linear-gradient(0deg,#243e2217 0 2px,transparent 2px 85px)}.map-pin{position:absolute;top:45%;left:45%;display:grid;place-items:center;width:70px;height:70px;background:var(--ink);color:white;border-radius:50%;font:800 40px 'Barlow Condensed';box-shadow:0 0 0 15px #19191924;transform:rotate(-9deg)}.map-pin span{color:var(--lime)}.map-label{position:absolute;top:65%;left:33%;font:800 22px/1 'Barlow Condensed';transform:rotate(-9deg)}footer{padding:65px clamp(24px,8vw,135px) 25px;background:#191919}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:100px}.footer-top .brand-mark{font-size:78px}.footer-top .brand-name{font-size:20px}.footer-top p{font:800 clamp(50px,6vw,100px)/1 'Barlow Condensed';text-transform:uppercase;margin:0;color:var(--lime)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff30;padding-top:22px;color:#aab4a8;font-size:11px}.footer-bottom div{display:flex;gap:25px}.footer-bottom a{text-decoration:none}@media(max-width:900px){.site-header nav{display:none}.hero-content{width:80vw}.intro,.coaching{grid-template-columns:1fr}.equipment{grid-template-columns:1fr;gap:0}.equipment-sticky{position:relative;padding:90px 0 0}.equipment-list{padding:20px 0 80px}.visit{grid-template-columns:1fr 1fr}.visit>.section-number{grid-column:1/-1}.map-art{min-height:300px}}@media(max-width:600px){.site-header{padding:20px 24px}.header-cta{font-size:10px;padding:10px}.hero{min-height:690px;max-height:none}.hero-content{margin:60px 24px 0;width:auto}.hero h1{font-size:clamp(95px,22vw,145px);margin:42px 0}.hero-lead{font-size:16px}.hero-side{display:none}.hero-bottom span{font-size:8px;padding:17px 10px;text-align:center}.hero-orbit{width:110vw;right:-50%;top:26%}.section-pad{padding:85px 24px}.stats{gap:10px;margin-top:50px}.stats strong{font-size:51px}.stats small{font-size:9px}.equipment{padding:0 24px}.equipment-sticky h2{font-size:76px}.card-visual{height:210px}.statement{min-height:500px}.statement-line{font-size:clamp(60px,14vw,90px)}.coaching h2,.visit h2,.intro h2{font-size:70px}.price-row{gap:15px}.price-row strong{font-size:39px}.visit{display:block}.map-art{margin:75px 0 0;height:260px;min-height:0;transform:rotate(7deg) scale(1.08)}.address-block{gap:30px}.footer-top{display:block;padding-bottom:60px}.footer-top p{margin-top:45px}.footer-bottom{flex-direction:column}.footer-bottom div{flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(38px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Original branding from terastiensali.fi */
.brand-logo{display:block;width:118px;height:auto}.site-header{background:#fff;border-bottom:2px solid #dd9933}.site-header nav a{color:#242424}.site-header nav a:hover{color:#dd9933}.header-cta{border-color:#dd9933;color:#242424}.header-cta span{color:#dd9933}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,#191919ef 0%,#191919d8 39%,#19191965 100%),url(/sali.jpg) center 42%/cover no-repeat;opacity:.9}.hero-grid{opacity:.13}.hero-orbit{opacity:.55}.hero{background:#191919}.hero-content{margin-top:135px}.hero-bottom{background:#1919199e}.footer-top .brand-logo{width:180px;background:#fff;padding:8px}.footer-top .brand{width:max-content}@media(max-width:600px){.brand-logo{width:90px}.site-header{padding:9px 24px}.hero-content{margin-top:90px}.hero-photo{background-position:55% center}}

.membership{margin-top:42px;padding:28px 32px;background:#fff;border-left:4px solid #dd9933;box-shadow:0 14px 35px #19191910}.membership-label{font-size:11px;font-weight:800;letter-spacing:.18em;color:#ba7417}.membership h3{font:800 clamp(30px,3vw,45px)/1.05 "Barlow Condensed",Impact,sans-serif;text-transform:uppercase;margin:15px 0}.membership p{max-width:650px;color:#4b4f58;line-height:1.6;margin-bottom:25px}.membership .text-link:hover{color:#ba7417}.price-row.single{grid-template-columns:minmax(0,400px)}@media(max-width:600px){.membership{padding:24px}}

.statement-line{font-size:clamp(68px,9vw,145px)}@media(max-width:600px){.statement-line{font-size:clamp(48px,10vw,70px)}}

/* Authentic photos, Google Maps reviews and directions */
.brand-logo{width:130px}.footer-top .brand-logo{width:200px}.sali-photo,.coach-photo{margin:50px 0 0}.sali-photo img,.coach-photo img{display:block;width:100%;height:auto}.sali-photo img{max-height:500px;object-fit:cover}.coach-photo{max-width:420px}.coach-photo img{aspect-ratio:1;object-fit:cover;object-position:center 28%}.sali-photo figcaption,.coach-photo figcaption{padding-top:9px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#756d63}.reviews{display:grid;grid-template-columns:1fr 2fr;gap:6vw;background:#f3e2c8;color:#191919}.reviews-content{min-width:0}.reviews-header{display:flex;align-items:start;justify-content:space-between;gap:25px}.reviews h2{font-size:clamp(62px,8vw,120px);line-height:.88;margin:20px 0 35px}.reviews h2 em{font-style:normal;color:#ba7417}.review-crest{width:clamp(85px,11vw,170px);height:auto}.review-score{display:flex;align-items:center;gap:25px;border-top:1px solid #d2b887;border-bottom:1px solid #d2b887;padding:18px 0 25px}.review-score strong{font:800 clamp(75px,9vw,135px)/.9 "Barlow Condensed",Impact,sans-serif}.review-score strong span{font-size:.4em}.review-score p{line-height:1.4}.review-score small{color:#66594b;font-size:11px}.stars{color:#b66b08;letter-spacing:.12em;font-size:18px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}.review-grid blockquote{margin:0;padding:24px;background:#fff;min-height:205px;display:flex;flex-direction:column}.review-grid blockquote p{font-size:17px;line-height:1.35;margin:20px 0 auto}.review-grid cite{font-style:normal;color:#675f54;font-size:11px;margin-top:20px}.review-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.review-actions .button{margin-top:0}.map-panel{min-height:430px;align-self:stretch;display:flex;flex-direction:column;background:#fff;box-shadow:0 15px 35px #36270e1a}.map-panel iframe{border:0;width:100%;flex:1;min-height:380px}.map-panel>a{display:block;padding:15px 20px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#191919}.map-panel>a:hover{color:#ba7417}@media(max-width:1100px){.reviews{grid-template-columns:1fr}.review-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.map-panel{min-height:320px}.map-panel iframe{min-height:280px}}@media(max-width:600px){.brand-logo{width:98px}.reviews{padding:85px 24px}.reviews h2{font-size:70px}.review-grid{grid-template-columns:1fr}.review-grid blockquote{min-height:140px}.review-score strong{font-size:85px}.review-crest{width:90px}.map-panel{margin-top:55px}.map-panel iframe{min-height:300px}}
@media(max-width:600px){.reviews{overflow:hidden}.review-crest{display:none}}

.visual-tatami{background:none}.visual-tatami img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%}

.visual-strength:before,.visual-strength:after{display:none}.visual-strength img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.visual-mat{background:none}.visual-mat img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 65%}
.schedule{background:#20201e;color:#f5f5f0}.schedule-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:50px;align-items:end;margin-bottom:48px}.schedule-heading h2{font:800 clamp(70px,10vw,150px)/.85 "Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.025em;margin:18px 0 0}.schedule-heading h2 em{font-style:normal;color:var(--lime)}.schedule-heading>p{max-width:390px;font-size:17px;line-height:1.6;color:#c9c9c1}.schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#6a604c;border:1px solid #6a604c}.schedule-day{background:#20201e;padding:28px 26px;min-width:0}.schedule-day h3{font:800 31px/1 "Barlow Condensed",Impact,sans-serif;text-transform:uppercase;margin:0 0 24px;color:var(--lime)}.schedule-slot{display:grid;grid-template-columns:112px 1fr;gap:13px;padding:12px 0;border-top:1px solid #ffffff27;line-height:1.35}.schedule-slot time{font-weight:800;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-slot span{font-size:14px;color:#e0dfd8}.schedule-source{font-size:13px;line-height:1.6;color:#bebdb4;margin:24px 0 0}.schedule-source a{color:var(--lime);text-underline-offset:3px}@media(max-width:1050px){.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.schedule-heading{grid-template-columns:1fr;gap:16px}.schedule-heading h2{font-size:clamp(65px,15vw,110px)}.schedule-grid{grid-template-columns:1fr}.schedule-day{padding:22px}.schedule-slot{grid-template-columns:112px 1fr}}
.coaching{background:#191919;color:#f5f5f0}.coaching-content>p:not(.kicker){color:#d5d4cd}.coaching .section-number,.coaching .kicker{color:#f5a31b}.coaching .price-row>div{border-top-color:#ffffff50}.coaching .price-row span{color:#bcbab2}.coaching .coach-photo{max-width:620px}.coaching .coach-photo img{aspect-ratio:1;object-fit:contain;object-position:center}.coaching .coach-photo figcaption{color:#bcbab2}.coaching .text-link:hover{color:var(--lime)}
.hero h1 em{font-size:.65em;white-space:nowrap;letter-spacing:-.04em}
.coaching{display:block;padding-top:80px;padding-bottom:50px}.coaching>.section-number{margin-bottom:20px}.coaching-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(25px,5vw,80px);align-items:center;max-width:none}.coaching-copy{min-width:0}.coaching-copy>p:not(.kicker){font-size:clamp(16px,1.35vw,19px);line-height:1.55;max-width:650px;color:#d5d4cd}.coaching h2{font-size:clamp(64px,7vw,105px)}.coaching .price-row{margin-top:32px}.coaching .coach-photo{margin:0;max-width:none;align-self:end;text-align:center}.coaching .coach-photo img{display:block;height:min(55vw,600px);width:auto;max-width:100%;margin:auto;aspect-ratio:auto;object-fit:contain}.coaching .coach-photo figcaption{padding-top:8px}@media(max-width:800px){.coaching-content{grid-template-columns:1fr;gap:22px}.coaching .coach-photo img{height:360px}.coaching{padding-bottom:60px}}
.footer-wordmark{display:inline-flex;flex-direction:column;border-left:6px solid var(--lime);padding-left:20px;text-decoration:none;font:800 clamp(34px,4vw,60px)/.83 "Barlow Condensed",Impact,sans-serif;letter-spacing:.02em;color:#f5f5f0}.footer-wordmark strong{font:inherit;color:var(--lime)}.footer-wordmark:hover{transform:translateY(-2px)}.footer-bottom a:hover{color:var(--lime)}
.coaching{position:relative;overflow:hidden;min-height:750px;display:flex;flex-direction:column;justify-content:center;padding-top:70px;padding-bottom:70px}.coaching>.section-number{position:relative;z-index:3;align-self:flex-start}.coaching-content{display:block;width:100%;max-width:none}.coaching-copy{position:relative;z-index:3;max-width:54%}.coaching .coach-photo{position:absolute;top:0;right:0;bottom:0;width:60%;height:100%;margin:0;max-width:none;overflow:hidden;z-index:1}.coaching .coach-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;aspect-ratio:auto}.coaching .coach-photo figcaption{position:absolute;right:clamp(24px,5vw,80px);bottom:18px;color:#c8c5ba}.coaching:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#191919 0%,#191919 38%,#191919c9 48%,transparent 68%)}@media(max-width:900px){.coaching{min-height:0;display:block;padding-top:70px;padding-bottom:0}.coaching-content{display:flex;flex-direction:column}.coaching-copy{max-width:none}.coaching:after{display:none}.coaching .coach-photo{position:relative;top:auto;right:auto;bottom:auto;width:calc(100% + 48px);height:clamp(320px,90vw,560px);margin:28px -24px 0}.coaching .coach-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.coaching .coach-photo figcaption{right:24px;bottom:14px}}
.coaching .coach-photo img{object-fit:contain;object-position:right bottom}
@media(max-width:900px){.coaching .coach-photo img{object-fit:contain;object-position:center bottom}}
@media(max-width:900px){.coaching .coach-photo{height:min(100vw,560px)}}
.hero h1 .hero-descriptor{display:block;max-width:560px;margin-bottom:22px;color:#f5f5f0;font:700 clamp(12px,1.25vw,17px)/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
