/* A quick curtain opening and a brighter, more expressive green brand rhythm. */
.brand img{filter:none!important;width:145px;height:84px;object-fit:contain;image-rendering:auto}.brand{width:145px}
header{position:fixed;transition:background .3s,padding .3s,box-shadow .3s;height:108px;background:#f0f4e8e8;backdrop-filter:blur(14px)}
header.scrolled{background:#fbf9f2f5;box-shadow:0 7px 28px #12462b0a}
header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#00d861;transform:scaleX(var(--read-progress,0));transform-origin:left;transition:transform .1s linear}
.hero{min-height:850px;background:#ecf4e3}
.hero-content .eyebrow{display:flex;align-items:center;gap:12px;letter-spacing:.16em;color:#326940}
.hero-content .eyebrow:before{content:'';width:6px;height:6px;flex-shrink:0;background:#00c85b;border-radius:50%;box-shadow:0 0 0 5px #00d86110}
.hero h1 em{color:#149955;position:relative}
.hero h1 em:after{content:'';position:absolute;left:5%;right:-3%;height:9px;bottom:3px;border-bottom:2px solid #00d861;transform:rotate(-4deg);border-radius:50%;opacity:.8}
.hero-img{box-shadow:24px 24px 0 #d8edc5,0 30px 80px #236e2410;filter:saturate(1.02);object-position:64% 50%;will-change:transform}
.hero:before{border-color:#58ba7355;right:-8vw;transform:rotate(-18deg);height:73%}
.hero:after{color:#d4e9c1;opacity:.8}
.hero-note{font-size:24px;bottom:95px;right:4vw;border:1px solid #deebd3;background:#fffdf4f5}
.hero-note:before{color:#00b959}
.hero-seal{position:absolute;z-index:3;left:46%;top:155px;width:136px;height:136px;border-radius:50%;background:#00d861;color:#10432c;box-shadow:0 6px 22px #164d2714;transform:rotate(-10deg)}
.hero-seal svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:sealturn 36s linear infinite;fill:currentColor;letter-spacing:2.35px;font:9px Montserrat,sans-serif}
.hero-seal>span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:FreiraumEditorial,Georgia,serif;font-size:34px;line-height:.8}
.hero-seal em{font-size:42px;font-weight:400}.hero-seal br{display:none}
.subhero .hero-seal{display:none}.subhero .hero-img{box-shadow:18px 18px 0 #d8ebc4;filter:saturate(.96)}
.location-strip{background:#154f32;box-shadow:0 13px 30px #174b3512;position:relative;z-index:3;transform:translateY(-12px)}
.location-strip a{transition:color .2s,transform .2s}.location-strip a:hover{color:#3def8d;transform:translateY(-3px)}
.brand-ribbon{overflow:hidden;background:#00d861;color:#103d26;padding:18px 0 16px;margin-top:35px;transform:rotate(-1.2deg) scale(1.01);position:relative;z-index:1}
.ribbon-track{width:max-content;white-space:nowrap;font-size:13px;letter-spacing:.15em;font-weight:500;animation:ribbonmove 55s linear infinite;display:flex;align-items:center;gap:35px;line-height:1.3}
.ribbon-track i{font-style:normal;font-size:25px;line-height:.6;margin:0 30px}
.offer-section{position:relative;background:#e9f2df}.offer-img{transition:opacity .22s,transform .6s;border-radius:240px 240px 80px 80px / 220px 220px 60px 60px;filter:saturate(.96)}
.offer-img.switching{opacity:.18;transform:scale(.985)}.offer-visual{overflow:hidden}.offer-visual>span{font-weight:500;letter-spacing:.13em;color:#3f7450}
.service-list>a{position:relative;transition:padding .3s,color .3s,background .3s}.service-list>a:before{content:'';position:absolute;inset:8px -18px;background:#dceeca;border-radius:22px;opacity:0;z-index:-1;transition:opacity .25s}
.service-list>a:hover:before,.service-list>a:focus-visible:before{opacity:1}.service-list>a:hover b{transform:rotate(90deg);color:#00ae54}.service-list b{transition:transform .3s,color .3s}
.manifesto{background:#0d4930}.manifesto .eyebrow{color:#66e192}.manifesto h2{color:#f0f7df}.manifesto:after{color:#00d8610d}.manifesto .btn{box-shadow:0 6px 28px #00d86112}
.team-preview{background:#e4efd7}.editorial-image,.team-preview>div:first-child{overflow:hidden}.editorial-image>img,.team-preview img{transition:transform 1s cubic-bezier(.2,.6,.2,1);filter:saturate(.95)}
@media(hover:hover){.editorial-image:hover>img,.team-preview>div:first-child:hover img{transform:scale(1.025)}}
.club-row{transition:padding .3s}.club-row:hover{padding-left:12px}.club-row:hover .row-no{color:#00a950}.roundlink:hover{background:#00d861;color:#10442a;border-color:#00d861}
.final-cta{background:#d8edc3}.final-cta .decor{color:#00c95a;opacity:.11}.final-cta h2{color:#174b35}
.motion-controls{display:flex;gap:24px;margin-bottom:27px}.motion-controls button{padding:3px 0;border-bottom:1px solid #6b9367;background:none;color:#c0d5b2;font-size:9px}
.reveal{transition:opacity .8s ease,transform 1s cubic-bezier(.2,.65,.2,1)}
.reveal.is-pending{opacity:.15;transform:translateY(32px)}.reveal.is-visible{opacity:1;transform:translateY(0)}
.entry,#intro-skip{display:none}.fr-intro .entry{display:block;position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden}
.entry-panel{position:absolute;top:0;bottom:0;width:50.1%;background:#07442a;will-change:transform}.entry-left{left:0;animation:openleft 2.1s cubic-bezier(.76,0,.24,1) both}.entry-right{right:0;animation:openright 2.1s cubic-bezier(.76,0,.24,1) both}
.entry-brand{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#f0f6e7;animation:entryfade 2.1s ease both}
.entry-small{font-size:9px;font-weight:500;letter-spacing:.28em;color:#b8d7b7;margin-bottom:24px}
.entry-word{font-size:clamp(60px,15vw,240px);line-height:.94;font-weight:500;letter-spacing:-.075em;animation:entrytype 1s cubic-bezier(.2,.7,.2,1) both;padding:0 .07em 0 0}
.entry-word>span{color:#00df68}.entry-sign{font-family:FreiraumEditorial,Georgia,serif;font-style:italic;font-size:clamp(28px,3vw,48px);margin-top:20px;animation:entrytype 1s .12s cubic-bezier(.2,.7,.2,1) both}
.entry-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#57dc8c;opacity:.24;animation:entryfade 1.4s both}
.fr-intro #intro-skip{display:block;position:fixed;right:28px;bottom:26px;z-index:61;background:transparent;color:#c7dec0;border:1px solid #7ea58e;padding:10px 20px;border-radius:99px;font-size:9px;animation:skipfade 2.1s both}
.fr-intro .hero-content{animation:heroarrival 1.3s 1.15s both}.fr-intro .hero-img{animation:photoarrival 1.8s .9s both}.fr-intro .hero-seal{animation:sealarrival 1s 1.75s both}
html.motion-paused .ribbon-track,html.motion-paused .hero-seal svg{animation-play-state:paused!important}
html.motion-paused .reveal{transition:none!important;opacity:1!important;transform:none!important}
@keyframes openleft{0%,44%{transform:translateX(0)}100%{transform:translateX(-102%)}}
@keyframes openright{0%,44%{transform:translateX(0)}100%{transform:translateX(102%)}}
@keyframes entryfade{0%,43%{opacity:1}68%,100%{opacity:0}}
@keyframes entrytype{from{opacity:0;transform:translateY(18px);letter-spacing:-.055em}to{opacity:1;transform:translateY(0)}}
@keyframes skipfade{0%,55%{opacity:1}100%{opacity:0}}
@keyframes heroarrival{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
@keyframes photoarrival{from{opacity:.3;transform:scale(1.07) translateY(15px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes sealarrival{from{opacity:0;transform:rotate(15deg) scale(.75)}to{opacity:1;transform:rotate(-10deg) scale(1)}}
@keyframes sealturn{to{transform:rotate(360deg)}}
@keyframes ribbonmove{to{transform:translateX(-50%)}}
@media(max-width:1100px){.hero-seal{width:115px;height:115px;left:46%;top:160px}.hero-seal>span{font-size:28px}.hero-seal em{font-size:36px}.hero-seal svg{font-size:9px}.hero-note{font-size:22px}}
@media(max-width:800px){header{height:88px;padding:8px 6vw;background:#f0f4e8ee}.brand,.brand img{width:110px;height:64px}.hero{min-height:0}.hero-content{padding-top:47px}.hero h1 em:after{bottom:1px;height:4px;border-bottom-width:1px}.hero-img{box-shadow:10px 12px 0 #d5eabd;filter:saturate(.96)}.hero-seal{top:auto;bottom:340px;left:auto;right:4%;width:99px;height:99px;z-index:3}.hero-seal>span{font-size:25px}.hero-seal em{font-size:31px}.hero-seal svg{font-size:9px}.hero-note{font-size:21px;bottom:87px;right:4vw}.brand-ribbon{padding:16px 0 15px;margin-top:27px;transform:rotate(-1.5deg) scale(1.01)}.ribbon-track{font-size:10px;letter-spacing:.13em}.ribbon-track i{font-size:22px;margin:0 23px}.subhero .hero-img{box-shadow:10px 12px 0 #d5eabd}.club-row:hover{padding-left:0}.reveal.is-pending{transform:translateY(20px)}.entry-small{font-size:7px;letter-spacing:.2em;margin-bottom:20px}.entry-word{font-size:15.4vw}.entry-sign{font-size:30px}.fr-intro #intro-skip{font-size:8px;padding:10px 16px;right:20px;bottom:95px}.entry-panel{width:50.2%}.motion-controls{gap:20px}.motion-controls button{font-size:8px}}
@media(max-width:420px){header{height:82px}.brand,.brand img{width:97px;height:59px}.hero-content{padding-top:39px}.hero-seal{bottom:325px;width:91px;height:91px;right:4%}.hero-seal>span{font-size:23px}.hero-seal em{font-size:29px}.entry-word{font-size:15.2vw}}
@media(prefers-reduced-motion:reduce){.entry,#intro-skip,.fr-intro .entry,.fr-intro #intro-skip{display:none!important}.ribbon-track,.hero-seal svg{animation:none!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}.fr-intro .hero-content,.fr-intro .hero-img,.fr-intro .hero-seal{animation:none!important}.brand-ribbon{transform:none}.hero-img{will-change:auto}}
html,body{overflow-x:clip}
