/* FREIRAUM: green as the brand anchor, softer editorial forms. */
@font-face{font-family:FreiraumEditorial;src:url('/assets/editorial-normal.ttf');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:FreiraumEditorial;src:url('/assets/editorial-italic.ttf');font-style:italic;font-weight:400 600;font-display:swap}
:root{--forest:#174b35;--dark:#103825;--green:#00d861;--paper:#fbf9f2;--ink:#194630;--muted:#647363;--line:#d4decc;--sage:#eaf0de;--blush:#f0e5dc}
body{background:var(--paper);font-size:14px}
h1,h2{font-family:FreiraumEditorial,Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:1.04}
h2{font-size:clamp(39px,4.2vw,64px)}
h3{font-weight:500;letter-spacing:-.035em}
p{line-height:1.9}
.eyebrow{font-size:9px;letter-spacing:.19em;font-weight:500}
header{height:108px;position:absolute;background:transparent;color:var(--ink);padding:15px 5.6vw;border-bottom:1px solid #19463017}
.brand{width:135px}.brand img{height:74px;object-fit:contain;filter:url('#brand-transparency')}
header nav{gap:32px}header nav a{font-size:11px}header nav a:hover{color:#008a43}
.head-actions{gap:26px}.head-actions .btn{font-size:10px;padding:13px 23px;background:var(--green);color:var(--dark)}
#menu-toggle span{background:var(--ink)}
body:has(#menu:not([hidden])) header{background:var(--paper)}
#menu{top:108px;background:var(--sage);color:var(--ink)}
#menu a{font-family:FreiraumEditorial,Georgia,serif;font-size:34px;border-color:var(--line)}
#menu a:hover{color:#008c42}
.btn{background:var(--green);color:#083e25;font-size:12px;min-height:55px;padding:17px 29px;font-weight:600;box-shadow:0 5px 16px #1a543408}
.btn:hover{background:#3be583;box-shadow:0 8px 22px #1a543414;transform:translateY(-2px)}
.btn.outline{background:transparent;color:var(--ink);box-shadow:none;border-color:#b0c3a9}
.btn.outline:hover{background:#e8efdf}.textlink,.textbutton{font-size:11px}
.hero{background:#eff3e7;color:var(--ink);min-height:830px;height:96svh;max-height:1100px;padding-top:108px;isolation:isolate}
.hero:before{content:'';position:absolute;z-index:-2;width:55vw;height:75%;border:1px solid #acbf9c80;border-radius:50%;right:-8vw;top:20%;transform:rotate(-18deg);pointer-events:none}
.hero:after{content:'f.';font-family:FreiraumEditorial,Georgia,serif;font-style:italic;color:#dce6d0;font-size:470px;line-height:.8;position:absolute;z-index:-2;left:-65px;bottom:30px;pointer-events:none}
.hero-img{inset:151px 4.8vw 75px auto;width:47%;height:calc(100% - 226px);max-height:750px;object-position:65% 50%;border-radius:49% 49% 43% 43% / 38% 38% 30% 30%;filter:saturate(.83);box-shadow:0 24px 65px #173e2b0a;z-index:-1;animation:softimage 1.4s cubic-bezier(.2,.6,.2,1) both}
.hero-shade{display:none}
.hero-content{padding:20vh 5.9vw 100px;max-width:61%;animation:softtext .9s ease-out both}
.hero-content .eyebrow{color:#4d6e43;margin-bottom:23px;font-size:9px;max-width:480px}
.hero h1{font-size:clamp(80px,9.2vw,146px);margin-left:-4px;white-space:nowrap;line-height:1.04;position:relative;z-index:1}
.hero h1 em{font-family:FreiraumEditorial,Georgia,serif;font-weight:400;color:#278455}
.hero-content>p{max-width:375px;font-size:13px;line-height:1.95;color:#5d7059;margin-top:28px;text-wrap:pretty}
.hero-actions{margin-top:30px;gap:24px;align-items:center}
.hero-actions .ghost{color:var(--ink);border:0;border-radius:0;min-height:0;padding:5px 0;border-bottom:1px solid #7a9271;font-size:11px;box-shadow:none}
.hero-actions .ghost:hover{background:none;color:#008b43}
.hero-note{position:absolute;right:5.5vw;bottom:95px;z-index:2;background:#fbf9f2ed;padding:16px 27px;border-radius:40px;transform:rotate(-6deg);font-family:FreiraumEditorial,Georgia,serif;font-style:italic;font-size:26px;color:var(--ink);box-shadow:0 10px 26px #244e3010}
.hero-note:before{content:'✳';font-family:Georgia,serif;font-size:19px;color:#229b59;margin-right:12px}
.hero-bottom{bottom:27px;color:#73816b;font-size:8px;letter-spacing:.15em;left:6vw;right:6vw}
.location-strip{background:var(--forest);color:#f7faef;border-radius:26px;margin:0 4vw;transform:translateY(-10px);padding:26px 3vw;gap:25px;box-shadow:0 16px 35px #213e2110}
.location-strip>span{color:#c0d5b2;font-size:8px}.location-strip b{color:#f4faeb;font-size:12px;font-weight:400}.location-strip a{font-family:FreiraumEditorial,Georgia,serif;font-size:26px;letter-spacing:-.015em}.location-strip a:after{background:#b8dfab}
.section{padding-top:105px;padding-bottom:105px}.intro{padding-top:100px;padding-bottom:45px;gap:70px}.intro .lead{font-size:18px;line-height:1.85;color:#68785f}
.editorial{padding-top:20px;gap:9vw}.editorial-image>img{border-radius:230px 230px 35px 35px / 160px 160px 35px 35px;height:600px;filter:saturate(.85)}
.editorial-image>span{font-size:8px;border-radius:30px;background:#f8faedeb;color:var(--forest);left:28px;bottom:28px;padding:13px 19px}
.editorial-copy>p{font-size:13px;color:#65775e}.small-note{font-size:7px;color:#87927b;font-weight:400}
.offer-section{background:#edf2e4;border-radius:45px 45px 0 0}.section-title>p{font-size:12px;color:#6d7d63}
.offer-img{border-radius:250px 250px 100px 100px / 250px 250px 70px 70px;height:605px;filter:saturate(.78)}
.offer-visual>span{color:#687a5d;font-size:8px}.service-list>a{border-color:#c9d7bc;padding:26px 0}.service-list>a:first-child{border-color:#c9d7bc}
.service-list h3{font-family:FreiraumEditorial,Georgia,serif;font-size:38px;font-weight:400;letter-spacing:-.025em}.service-list .service-small{font-size:9px;color:#77856a}.service-list b{color:#6b8c57;font-size:22px}
.service-list>a:hover{padding-left:12px;color:#078243}
.manifesto{background:#174b35;padding:120px 6vw;border-radius:0 0 45px 45px;color:#fbfaef;isolation:isolate}
.manifesto:after{content:'f.';font-family:FreiraumEditorial,Georgia,serif;font-style:italic;font-size:440px;color:#ffffff07;position:absolute;z-index:-1;right:2%;bottom:-130px;line-height:1}
.manifesto h2{font-family:FreiraumEditorial,Georgia,serif;font-size:clamp(60px,8.4vw,122px);letter-spacing:-.03em}.manifesto p{color:#b9ceae;font-size:12px}.manifesto .eyebrow{color:#b5d2a8}
.club-row{padding:36px 0;border-color:var(--line)}.club-row h3{font-family:FreiraumEditorial,Georgia,serif;font-size:49px;font-weight:400}.club-row p{font-size:11px}.club-hours{font-size:8px}.club-hours b{font-size:12px}.roundlink{border-color:#c4d3b7;color:#5f7651;font-size:10px}
.team-preview{background:#e9f0de;border-radius:45px}.team-preview img{border-radius:180px 180px 30px 30px / 120px 120px 30px 30px;filter:saturate(.82);height:500px}.team-preview p{font-size:13px;color:#65785a}
.faq summary{font-size:12px;font-weight:500;padding:27px 0}.faq details p{font-size:12px;color:#6d7d64}.faq>div>p{font-size:13px}
.final-cta{background:#edf2df;padding:100px 6vw;border-radius:45px 45px 0 0}.final-cta h2{font-family:FreiraumEditorial,Georgia,serif;font-size:clamp(60px,7.6vw,115px);letter-spacing:-.035em}.final-cta .eyebrow{color:#758a64}.final-cta p{color:#6e805e;font-size:12px}.final-cta .btn{background:var(--green);color:#0c4028}.final-cta .decor{color:#518835;opacity:.08;right:10%;top:-70px;font-size:470px}
footer{background:#103825;color:#ccdcc0}.footer-top .eyebrow{color:#91b67d}.footer-top p{color:#9db58e}.footer-bottom{border-color:#3c5d3d;color:#a5bf95}
.subhero{height:83svh;min-height:720px;max-height:910px;background:#f3f5eb}.subhero .hero-content{padding-top:17vh;max-width:63%}.subhero h1{font-size:clamp(58px,6.1vw,95px);white-space:normal;max-width:650px;text-wrap:pretty;line-height:1.06}.subhero .hero-img{width:44%;top:150px;right:5vw;height:calc(100% - 210px)}.subhero .hero-content>p{max-width:430px;font-size:12px}.subhero .hero-note{display:none}.subhero:after{font-size:380px;left:-20px;bottom:30px}
.numbered article{border-color:var(--line)}.numbered h3{font-family:FreiraumEditorial,Georgia,serif;font-size:34px;font-weight:400}.numbered p{font-size:12px}.numbered article>span{font-size:9px;color:#76915f}
.related{background:#edf2e5}.booking{background:#e9f0dc}.booking h2{font-size:52px}.booking p{font-size:12px}.booking small{color:#6c7f5e}
.people{gap:45px 28px}.person img,.initials{border-radius:150px 150px 24px 24px / 140px 140px 24px 24px;filter:saturate(.8)}.person h3{font-family:FreiraumEditorial,Georgia,serif;font-size:29px;font-weight:400}.person p{font-size:10px;color:#6d7d62}.initials{font-family:FreiraumEditorial,Georgia,serif;font-style:italic;background:#edf1df;color:#8ea679}
.filter-tabs{gap:12px}.filter-tabs button{font-size:11px;border-color:#c7d6bc;padding:13px 25px}.filter-tabs button[aria-pressed=true]{background:var(--forest)}
.contact-panel h2,.club-story h2{font-family:FreiraumEditorial,Georgia,serif;font-size:48px}.contact-panel>p{font-size:14px}.contact-links{font-size:13px}.contact-times h3{font-family:FreiraumEditorial,Georgia,serif;font-size:29px}.club-story>p{font-size:12px}.club-story>img{border-radius:180px 180px 24px 24px / 100px 100px 24px 24px;filter:saturate(.85)}
.location-typography{background:#e9efdc;color:#537d3c;border-radius:160px 160px 30px 30px;font-family:FreiraumEditorial,Georgia,serif;padding:85px 30px 55px}.source-note{background:#e8efdb;color:#6c7f5d;font-size:9px}
.contacts .contact-panel{border-color:#d0ddc5;border-radius:32px;background:#fffdf7}.contacts .contact-panel:nth-child(2),.contacts .contact-panel:nth-child(3){background:#edf2e4}
.course-heading{color:#6e805f;font-size:12px}.course-row{border-color:#d5dfca}.course-row strong{font-family:FreiraumEditorial,Georgia,serif;font-size:29px;font-weight:400}.course-row small{color:#7f8e71}.empty{background:#eaf0df;border-radius:25px}.empty h3{font-family:FreiraumEditorial,Georgia,serif;font-size:35px;font-weight:400}.empty p{font-size:12px}
.price-card{border:1px solid #d3dfc8;border-radius:180px 180px 28px 28px / 70px 70px 28px 28px;padding:55px 30px 30px;background:#fffdf7;text-align:center}.price-card:nth-child(2){background:#e8efdc}.price-card h3{font-family:FreiraumEditorial,Georgia,serif;font-size:40px}.price-card .price{font-family:FreiraumEditorial,Georgia,serif;font-size:75px;font-weight:400}.price-card .annual{border-color:#cad9bc}.price-card .btn{font-size:10px}
.legal h1{font-size:76px}.legal h2{font-family:FreiraumEditorial,Georgia,serif;font-size:36px}.legal p{font-size:13px}
dialog{background:#fcfaf4;border-radius:32px}.modal-art{background:#ecf1e2;border-radius:28px 130px 130px 28px;min-height:700px}.modal-art>img{filter:saturate(.76);object-position:64%}.modal-art:after{background:linear-gradient(0deg,#1d4c32d9,transparent 60%)}.modal-art>div{left:32px;bottom:48px}.modal-art p{font-family:FreiraumEditorial,Georgia,serif;font-size:53px;font-weight:400;line-height:.95}.modal-art .eyebrow{font-size:7px;color:#e5edda}.modal-body{padding:52px 42px 35px}.modal-body h2{font-family:FreiraumEditorial,Georgia,serif;font-size:44px;font-weight:400}.modal-body .progress i{background:#23ad62}.progress>div{background:#dce7d0}.option{border-color:#d0dec5;border-radius:18px;background:#f4f6eb;font-size:12px}.option small{color:#829075}.option[aria-pressed=true]{background:#e0efd3;border-color:#288a51;box-shadow:inset 0 0 0 1px #288a51}.close{background:#edf2e2;color:#5a7451}.review-data{background:#eaf1dd}.form-error{color:#9b3434}.modal-body .fine{color:#6c7d62}.back{color:#577446;border-color:#b8cbaa}
input:not([type=checkbox]),select{border-color:#c6d5b9;background:#fffef9;border-radius:13px;font-size:12px}.modal-body input:focus-visible,.modal-body select:focus-visible{outline:2px solid #2b9b57;outline-offset:2px}
@keyframes softimage{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes softtext{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero-content{padding-left:max(6vw,calc((100vw - 1450px)/2))}.hero-img{right:max(5vw,calc((100vw - 1450px)/2));width:43%}.hero-content>p{font-size:15px;max-width:410px}}
@media(max-width:1100px){header{padding-left:5vw;padding-right:5vw}.hero{min-height:800px}.hero-content{padding-top:21vh;max-width:62%}.hero h1{font-size:10vw}.hero-content>p{max-width:320px;font-size:12px}.hero-img{width:46%;right:4vw;top:160px;height:calc(100% - 245px)}.hero-actions{gap:18px}.hero-actions .btn{font-size:10px;padding:15px 23px}.hero-actions .ghost{font-size:10px}.hero-note{font-size:23px;bottom:105px}.subhero h1{font-size:6.7vw}.subhero .hero-content>p{max-width:340px}.subhero .hero-img{width:42%;right:4vw}.editorial-image>img{height:500px}.offer-img{height:600px}.service-list h3{font-size:33px}.location-strip a{font-size:23px}.club-row h3{font-size:42px}.price-card{padding-left:22px;padding-right:22px}.price-card .price{font-size:66px}.person h3{font-size:27px}}
@media(max-width:800px){header{height:88px;padding:8px 6vw;background:#f3f5ec}.brand{width:110px}.brand img{height:64px}.head-actions{gap:20px}.head-actions .btn{font-size:9px;padding:12px 17px;min-height:41px}#menu{top:88px}#menu a{font-size:27px}
.hero{height:auto;min-height:0;max-height:none;padding:88px 0 0;display:flex;flex-direction:column;background:#eff3e7;overflow:hidden}.hero-content{padding:44px 7vw 27px;max-width:100%;order:0}.hero-content .eyebrow{font-size:8px;margin-bottom:19px}.hero h1{font-size:clamp(70px,14.3vw,112px);line-height:1.03;white-space:nowrap;margin-left:-2px}.hero-content>p{font-size:12px;max-width:470px;line-height:1.85;margin-top:19px}.hero-actions{gap:22px;margin-top:23px}.hero-actions .btn{font-size:10px;min-height:47px;padding:14px 24px}.hero-actions .ghost{display:inline-flex;font-size:10px}.hero-img{position:relative;inset:auto;width:85%;height:440px;margin:5px 7.5% 66px;max-height:none;order:1;z-index:0;border-radius:49% 49% 35% 35% / 36% 36% 24% 24%;object-position:63% 50%}.hero-note{bottom:84px;right:5vw;font-size:23px;padding:12px 22px;z-index:2}.hero-note:before{font-size:16px}.hero:before{right:-120px;top:44%;width:125%;height:50%;border-color:#afc39977;z-index:-1}.hero:after{display:none}.hero-bottom{bottom:22px;font-size:7px;left:8vw;right:8vw}.hero-bottom>span{display:none}.hero-bottom a{margin-left:auto}.location-strip{margin:0 5vw;border-radius:24px;transform:translateY(-8px);padding:21px 7vw 25px;gap:10px 0;justify-content:space-between}.location-strip>span{margin-bottom:6px;font-size:7px}.location-strip b{font-size:11px}.location-strip a{font-size:24px;margin-right:0;width:46%;padding:5px 0;line-height:1.25}.location-strip a:after{bottom:0}.section{padding:70px 7vw}h2{font-size:46px}.intro{gap:24px;padding-top:70px;padding-bottom:30px}.intro .lead{font-size:16px;line-height:1.9}.intro .eyebrow{margin-bottom:18px}.editorial{gap:35px;padding-top:15px}.editorial-image>img{height:470px;border-radius:180px 180px 30px 30px / 130px 130px 30px 30px}.editorial-copy>p{font-size:12px}.editorial-image>span{font-size:7px;padding:11px 16px;left:20px}.small-note{font-size:7px;margin-top:30px;padding-top:20px}.offer-section{border-radius:30px 30px 0 0}.section-title>p{font-size:11px}.offer-img{height:420px;border-radius:180px 180px 60px 60px / 180px 180px 45px 45px}.offer-visual>span{font-size:7px}.service-list h3{font-size:34px}.service-list>a{padding:22px 0}.service-list .service-small{font-size:8px}.manifesto{padding:85px 7vw;border-radius:0 0 30px 30px}.manifesto h2{font-size:63px;line-height:1}.manifesto .eyebrow{font-size:8px}.manifesto p{font-size:11px}.club-row h3{font-size:36px}.club-row{grid-template-columns:15px 1fr 90px;gap:10px;padding:28px 0}.club-row p{font-size:9px;max-width:200px}.roundlink{font-size:8px;padding:11px 9px}.row-no{font-size:8px}.team-preview{border-radius:30px;gap:30px}.team-preview img{height:370px;border-radius:140px 140px 25px 25px / 100px 100px 25px 25px}.team-preview p{font-size:12px}.faq summary{font-size:11px;line-height:1.7;padding:23px 0}.faq details p{font-size:11px;margin-right:10px}.final-cta{padding:80px 7vw;border-radius:30px 30px 0 0}.final-cta h2{font-size:66px;line-height:1}.final-cta p{font-size:11px}.final-cta .decor{font-size:310px;top:-20px;right:2%}.footer-top>div>a{font-size:10px}.footer-top .eyebrow{font-size:8px}.footer-bottom{font-size:7px}.mobile-cta{background:#fbf9f2ef;border-color:#c7d8b9;box-shadow:0 5px 24px #143a201a;backdrop-filter:blur(12px);bottom:12px;left:12px;right:12px;padding:6px}.mobile-cta>.btn{background:var(--green);color:#10432c;box-shadow:none;min-height:44px;font-size:10px}.mobile-cta>a{color:#3d6548;font-size:9px;padding:0 19px}.subhero{padding-top:88px;height:auto;min-height:0;max-height:none}.subhero .hero-content{padding:40px 7vw 25px;max-width:100%}.subhero h1{font-size:clamp(47px,10vw,72px);max-width:630px;line-height:1.02}.subhero .hero-content>p{max-width:540px;font-size:11px;line-height:1.9;margin-top:20px}.subhero .hero-img{inset:auto;width:84%;height:350px;margin:5px 8% 65px;border-radius:47% 47% 28% 28% / 38% 38% 25% 25%;order:1;object-position:center 40%}.subhero .hero-bottom{bottom:23px}.numbered h3{font-size:32px}.numbered p{font-size:11px}.booking h2{font-size:45px}.booking p{font-size:11px}.related .service-list{margin-top:30px}.person img,.initials{height:290px;border-radius:110px 110px 20px 20px / 100px 100px 20px 20px}.person h3{font-size:26px}.person p{font-size:9px}.people{gap:35px 18px}.contact-panel h2,.club-story h2{font-size:43px}.contact-panel>p{font-size:13px}.contact-links{font-size:12px}.contact-times{font-size:11px}.contact-times h3{font-size:28px}.club-story>p{font-size:11px}.club-story>img{height:350px;border-radius:130px 130px 20px 20px / 100px 100px 20px 20px}.source-note{font-size:8px}.contacts .contact-panel{padding:26px;border-radius:28px}.filter-tabs{gap:8px}.filter-tabs button{font-size:10px;padding:11px 18px}.section-title label{font-size:10px}.course-heading{font-size:11px}.course-row{grid-template-columns:67px 57px 1fr;gap:12px}.course-row strong{font-size:24px}.course-row>span:first-child{font-size:9px}.course-row>span:nth-child(2){font-size:10px}.course-row small{font-size:10px}.course-row .textbutton{font-size:10px}.price-card{padding:45px 28px 30px;border-radius:180px 180px 25px 25px / 60px 60px 25px 25px}.price-card .price{font-size:75px}.legal{padding-top:130px}.legal h1{font-size:62px}.legal h2{font-size:33px}.legal p{font-size:12px}dialog{border-radius:28px}.modal-body{padding:49px 25px 29px}.modal-body h2{font-size:40px}.modal-body p{font-size:11px}.modal-body .fine{font-size:10px}.option{font-size:11px;padding:15px;border-radius:17px}.option small{font-size:8px}.modal-body label{font-size:9px}.modal-body input,.modal-body select{font-size:11px}.form-error{font-size:11px!important}.modal-body .btn{font-size:11px}.review-data{font-size:12px}}
@media(max-width:420px){header{height:82px;padding:7px 6vw}.brand{width:95px}.brand img{height:59px}.head-actions{gap:18px}.head-actions .btn{font-size:8px;padding:11px 15px;min-height:38px}#menu{top:82px}#menu a{font-size:24px}.hero{padding-top:82px}.hero-content{padding-top:38px}.hero h1{font-size:15.4vw}.hero-content>p{font-size:11px;margin-top:20px}.hero-img{height:380px;width:86%;margin-left:7%;margin-right:7%}.hero-actions .ghost{font-size:9px}.hero-note{font-size:22px;right:3vw}.location-strip a{font-size:22px}.subhero{padding-top:82px}.subhero .hero-content{padding-top:37px}.subhero h1{font-size:12.2vw}.subhero .hero-img{height:320px}.club-row h3{font-size:33px}.club-row{grid-template-columns:12px 1fr 78px;gap:8px}.roundlink{font-size:7px}.person img,.initials{height:245px}.person h3{font-size:24px}.phone-grid{grid-template-columns:105px 1fr}.modal-body h2{font-size:37px}.final-cta h2{font-size:59px}}
@media(prefers-reduced-motion:reduce){.hero-img,.hero-content{animation:none!important}}
/* Final readability pass, including natural headline wrapping on phones. */
.hero-content>p{font-size:14px}.subhero .hero-content>p{font-size:13px}.editorial-copy>p,.team-preview p,.numbered p{font-size:14px}.faq details p{font-size:13px}.club-story>p{font-size:13px}
@media(max-width:800px){.subhero h1{white-space:normal;overflow-wrap:normal;max-width:100%}.hero-content>p,.subhero .hero-content>p{font-size:13px;line-height:1.85}.editorial-copy>p,.team-preview p,.numbered p,.club-story>p{font-size:13px}.faq details p{font-size:12px}}
