:root{
  --black:#0b0d0c;--black2:#121513;--paper:#f4f5ef;--paper2:#e9ebe3;--lime:#d8ff3e;--lime-dark:#9dbc18;
  --ink:#111410;--muted:#6d7269;--line:#d0d4c9;--darkline:#30352f;--white:#f8faf4;--pad:clamp(22px,5vw,84px);
  --display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Manrope',Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--body);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.025em}h2{font-size:clamp(58px,7vw,108px);line-height:.86;font-weight:800}p{color:var(--muted)}
.skip{position:fixed;left:16px;top:-100px;z-index:1000;background:var(--lime);color:var(--black);padding:10px 14px;font-weight:800}.skip:focus{top:16px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--lime-dark);outline-offset:4px}
.site-header{height:86px;padding:0 var(--pad);display:flex;align-items:center;gap:34px;position:fixed;inset:0 0 auto;z-index:100;border-bottom:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(8,10,9,.82),rgba(8,10,9,.25));backdrop-filter:blur(10px);transition:background .25s,border-color .25s}.site-header.scrolled{background:rgba(11,13,12,.96);border-color:#262a26}.brand{margin-right:auto}.brand img{width:132px;height:auto;filter:invert(1)}nav{display:flex;gap:28px;color:#eff2ea;font-size:13px;font-weight:700}nav a{opacity:.82;transition:opacity .2s,color .2s}nav a:hover{opacity:1;color:var(--lime)}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:15px 22px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;transition:transform .2s,background .2s,color .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-small{min-height:44px;padding:11px 17px;background:var(--lime);color:var(--black)}.button-lime{background:var(--lime);color:var(--black)}.button-lime:hover,.button-small:hover{background:#e3ff75}.menu-toggle{display:none;background:transparent;border:0;width:36px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{width:25px;height:2px;background:#fff;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.hero{min-height:clamp(720px,100svh,960px);position:relative;display:flex;align-items:flex-end;background:var(--black);color:#fff;overflow:hidden}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% 57%;transform:scale(1.018);filter:saturate(.94) contrast(1.02)}.hero-overlay{background:radial-gradient(ellipse 23% 20% at 50% 29%,rgba(5,7,6,.48) 0%,rgba(5,7,6,.28) 38%,transparent 74%),linear-gradient(90deg,rgba(7,9,8,.97) 0%,rgba(7,9,8,.90) 31%,rgba(7,9,8,.55) 54%,rgba(7,9,8,.12) 78%),linear-gradient(0deg,rgba(6,8,7,.90) 0%,rgba(6,8,7,.22) 48%,transparent 72%)}.hero-content{position:relative;z-index:2;width:min(100%,1080px);padding:160px var(--pad) 54px}.hero-kicker,.eyebrow,.section-head>span{font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.hero-kicker{display:flex;align-items:center;gap:10px;color:#e6eadf}.signal{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(216,255,62,.16)}h1{font-size:clamp(74px,9vw,142px);font-family:var(--display);font-weight:800;line-height:.82;letter-spacing:-.035em;margin:28px 0 26px;max-width:900px}h1 span{color:var(--lime)}.hero-content>p{color:#d9ddd4;max-width:610px;font-size:clamp(16px,1.4vw,19px);line-height:1.7}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}.ghost-link{color:#fff;border-bottom:1px solid rgba(255,255,255,.46);padding:7px 0;font-size:13px;font-weight:700}.ghost-link span{margin-left:10px;color:var(--lime)}.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:64px;max-width:760px;border-top:1px solid rgba(255,255,255,.25)}.hero-proof span{padding:17px 22px 0 0;color:#dce0d7;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.hero-proof b{color:var(--lime);font-weight:800;margin-right:8px}.hero-stamp{position:absolute;right:var(--pad);bottom:44px;z-index:3;width:148px;height:148px;border:1px solid rgba(255,255,255,.48);border-radius:50%;display:grid;place-items:center;text-align:center;transform:rotate(-8deg);backdrop-filter:blur(4px);background:rgba(10,12,10,.16)}.hero-stamp span{font:800 50px/.8 var(--display);color:var(--lime)}.hero-stamp small{font-size:9px;line-height:1.35;letter-spacing:.14em;font-weight:800;color:#fff;position:absolute;bottom:27px}
.proof-strip{overflow:hidden;background:var(--lime);color:var(--black);white-space:nowrap}.proof-strip>div{display:flex;align-items:center;gap:30px;width:max-content;padding:17px 0;animation:marquee 34s linear infinite}.proof-strip span{font:800 20px/1 var(--display);letter-spacing:.04em}.proof-strip i{font-style:normal;font-size:24px}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:clamp(72px,8vw,126px) var(--pad)}.section-head{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:clamp(45px,5vw,78px)}.section-head>p{max-width:520px;justify-self:end;text-align:right;font-size:13px}.section-head.light{border-color:#343a34}.section-head.light>p{color:#aeb5aa}.why-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(50px,8vw,140px);align-items:start}.why-title .eyebrow{color:#798078;margin-bottom:21px}.why-copy{padding-top:23px;max-width:570px}.why-copy p+p{margin-top:23px}.why-copy .lead{color:var(--ink);font-size:clamp(22px,2.1vw,30px);line-height:1.4;font-weight:600}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;margin-top:84px;border-top:1px solid var(--line);border-left:1px solid var(--line);align-items:stretch}.feature-grid article{min-height:286px;height:100%;padding:25px 26px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-rows:44px 78px 1fr;align-content:stretch}.feature-grid article>span{font-size:11px;color:#888e84;align-self:start}.feature-grid h3{font-size:26px;line-height:1.03;margin:0;align-self:start}.feature-grid p{font-size:13px;line-height:1.6;margin:0;align-self:start}
.clubs{background:var(--black);color:#fff;padding:clamp(72px,8vw,120px) var(--pad)}.clubs-intro{display:grid;grid-template-columns:200px 1fr 1fr;gap:30px;align-items:end;margin-bottom:52px}.clubs-intro>span{font-size:11px;font-weight:800;letter-spacing:.11em;align-self:start}.clubs-intro h2{font-size:clamp(58px,6.3vw,96px)}.clubs-intro p{color:#aeb4aa;max-width:370px;justify-self:end;text-align:right}.logo-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--darkline);border-left:1px solid var(--darkline)}.logo-card{aspect-ratio:1.12/1;border-right:1px solid var(--darkline);border-bottom:1px solid var(--darkline);display:flex;align-items:center;justify-content:center;padding:20px;background:#0f1210;transition:background .25s,transform .25s}.logo-card:hover{background:#171b17}.logo-card img{width:100%;height:100%;max-width:150px;max-height:128px;object-fit:contain;filter:saturate(.92);transition:transform .25s}.logo-card:hover img{transform:scale(1.05)}.clubs-note{display:flex;gap:18px;flex-wrap:wrap;padding-top:25px}.clubs-note span{font-size:10px;letter-spacing:.12em;color:#939a8f;border:1px solid #353a34;padding:7px 10px}
.range-section{background:var(--paper2)}.range-header{display:grid;grid-template-columns:1.1fr .7fr;gap:60px;align-items:end;margin-bottom:54px}.range-header>p{max-width:450px;justify-self:end}.range-shell{display:grid;grid-template-columns:.78fr 1.22fr;border:1px solid #cdd2c7;min-height:530px}.range-tabs{border-right:1px solid #cdd2c7;display:flex;flex-direction:column}.range-tabs button{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:16px;min-height:112px;padding:22px 25px;background:transparent;border:0;border-bottom:1px solid #cdd2c7;text-align:left;cursor:pointer}.range-tabs button:last-child{border-bottom:0}.range-tabs button span{font-size:11px;color:#7e847a}.range-tabs button b{font:700 clamp(26px,3vw,42px)/1 var(--display)}.range-tabs button i{font-style:normal;font-size:20px;transition:transform .2s}.range-tabs button[aria-selected=true]{background:var(--lime)}.range-tabs button[aria-selected=true] i{transform:rotate(45deg)}.range-panel{position:relative;padding:clamp(34px,5vw,72px);overflow:hidden;background:#f7f8f3}.range-number{font:800 clamp(150px,22vw,340px)/.7 var(--display);color:#e8eadf;position:absolute;right:-10px;bottom:-5px;letter-spacing:-.06em;user-select:none}.range-content{position:relative;z-index:1;max-width:620px}.range-content .eyebrow{color:#7e8479}.range-content h3{font-size:clamp(42px,4.5vw,70px);line-height:.92;margin:24px 0}.range-content p{font-size:16px;max-width:580px}.range-content ul{list-style:none;padding:0;margin:28px 0 34px;display:flex;flex-wrap:wrap;gap:8px}.range-content li{font-size:11px;text-transform:uppercase;letter-spacing:.06em;border:1px solid #cbd0c5;padding:8px 10px}.under-link{border:0;background:none;border-bottom:1px solid currentColor;padding:5px 0;font-size:13px;font-weight:800;cursor:pointer}.under-link span{margin-left:8px}
.process{background:var(--black2);color:#fff}.process-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(60px,9vw,150px)}.process-title .eyebrow{color:#92998e;margin-bottom:20px}.process-title h2 span{color:var(--lime)}.steps{border-top:1px solid var(--darkline)}.steps details{border-bottom:1px solid var(--darkline)}.steps summary{list-style:none;display:grid;grid-template-columns:34px 1fr 24px;align-items:center;gap:18px;padding:25px 0;cursor:pointer}.steps summary::-webkit-details-marker{display:none}.steps summary span{font-size:11px;color:#7e867b}.steps summary h3{font:700 clamp(24px,2.4vw,34px)/1 var(--display)}.steps summary b{font-size:26px;font-weight:400;color:var(--lime);transition:transform .2s}.steps details[open] summary b{transform:rotate(45deg)}.steps details p{color:#aeb5aa;max-width:660px;padding:0 25px 28px 52px;font-size:14px}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,8vw,130px)}.about-mark{border:1px solid var(--line);min-height:420px;padding:50px;display:flex;flex-direction:column;justify-content:space-between;background:#eceee6}.about-mark img{width:min(86%,350px);height:auto}.about-mark div{font:700 clamp(30px,4vw,58px)/1 var(--display)}.about-mark b{color:#8baa10}.about-copy h2{font-size:clamp(46px,5vw,78px);margin-bottom:34px}.about-copy>p{max-width:660px;font-size:15px}.about-copy>p+p{margin-top:18px}.service-note{margin-top:38px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px 1fr;gap:30px}.service-note span{font-size:12px;font-weight:800;line-height:1.5}.service-note p{font-size:13px}
.contact{background:var(--lime);display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(50px,8vw,130px);padding:clamp(72px,8vw,120px) var(--pad)}.contact-copy .eyebrow{color:#4d5817}.contact-copy h2{font-size:clamp(62px,7.5vw,112px);margin:28px 0 30px}.contact-copy h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.4px var(--black)}.contact-copy>p{color:#303622;max-width:510px}.contact-email{display:inline-flex;align-items:center;gap:16px;margin-top:35px;font-weight:800;border-bottom:1px solid var(--black);padding-bottom:5px}.enquiry-form{background:var(--black);color:#fff;padding:clamp(30px,4vw,55px)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:23px}.enquiry-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.enquiry-form input,.enquiry-form textarea{width:100%;border:0;border-bottom:1px solid #434942;background:transparent;color:#fff;border-radius:0;padding:11px 0;font-size:15px;text-transform:none;letter-spacing:0;font-weight:400}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#7f877c}.enquiry-form textarea{resize:vertical}.enquiry-form fieldset{border:0;padding:0;margin:28px 0}.enquiry-form legend{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;margin-bottom:12px}.check-options{display:flex;flex-wrap:wrap;gap:8px}.check-options label{position:relative;cursor:pointer}.check-options input{position:absolute;inset:0;opacity:0}.check-options span{border:1px solid #444b43;padding:8px 10px;font-size:10px;letter-spacing:.06em;color:#b8c0b4}.check-options input:checked+span{background:var(--lime);color:var(--black);border-color:var(--lime)}.form-button{width:100%;margin-top:27px}.form-note,#form-status,#email-fallback{font-size:11px;color:#899087;margin-top:11px}.enquiry-form .under-link{color:#fff}
footer{background:#080a09;color:#fff;padding:48px var(--pad) 25px}.footer-brand{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:38px;border-bottom:1px solid #2d322d}.footer-brand img{filter:invert(1);width:140px}.footer-brand span{font:700 clamp(28px,4vw,54px)/1 var(--display);color:#d9ded5}.footer-links{display:flex;justify-content:flex-end;gap:34px;padding:23px 0;font-size:12px;color:#b6bdb2}.footer-links a:hover,.eslik-credit:hover{color:var(--lime)}.footer-bottom{border-top:1px solid #2d322d;padding-top:20px;display:flex;justify-content:space-between;gap:30px;font-size:10px;letter-spacing:.04em;color:#777f75}.eslik-credit b{color:#c8cec4;letter-spacing:.08em}
@media(max-width:1100px){nav{gap:17px;font-size:11px}.header-cta{font-size:11px}.hero-content{width:82%}.hero-stamp{width:120px;height:120px}.hero-stamp span{font-size:42px}.hero-stamp small{bottom:19px}.feature-grid{grid-template-columns:repeat(2,1fr)}.clubs-intro{grid-template-columns:160px 1fr}.clubs-intro p{grid-column:2;text-align:left;justify-self:start}.range-shell{grid-template-columns:.9fr 1.1fr}.service-note{grid-template-columns:1fr}}
@media(max-width:820px){html{scroll-padding-top:74px}.site-header{height:74px}.brand img{width:105px}.header-cta{margin-left:auto;min-height:40px;padding:9px 12px}.menu-toggle{display:flex}nav{display:none;position:absolute;top:74px;left:0;right:0;background:#0b0d0c;border-top:1px solid #282c28;padding:22px var(--pad) 30px;flex-direction:column;font-size:20px;gap:0}nav.open{display:flex}nav a{padding:12px 0;border-bottom:1px solid #242824}.hero{min-height:820px;align-items:flex-end}.hero-media{top:74px;height:47%;bottom:auto}.hero-media img{object-position:61% 52%}.hero-overlay{background:radial-gradient(ellipse 32% 24% at 52% 27%,rgba(5,7,6,.42) 0%,rgba(5,7,6,.18) 48%,transparent 78%),linear-gradient(0deg,#080a09 0%,#080a09 49%,rgba(8,10,9,.24) 76%,rgba(8,10,9,.08) 100%)}.hero-content{width:100%;padding:400px var(--pad) 42px}.hero-kicker{font-size:10px}h1{font-size:clamp(66px,15vw,110px)}.hero-content>p{font-size:15px;max-width:560px}.hero-proof{margin-top:42px}.hero-stamp{display:none}.section-head{grid-template-columns:1fr;gap:12px;margin-bottom:45px}.section-head>p{text-align:left;justify-self:start}.why-grid,.range-header,.process-grid,.about-grid,.contact{grid-template-columns:1fr;gap:42px}.why-copy{padding-top:0}.feature-grid{margin-top:50px}.feature-grid article{min-height:210px}.clubs-intro{grid-template-columns:1fr;gap:20px}.clubs-intro p{grid-column:auto}.range-header>p{justify-self:start}.range-shell{grid-template-columns:1fr}.range-tabs{border-right:0;border-bottom:1px solid #cdd2c7;display:grid;grid-template-columns:repeat(3,1fr)}.range-tabs button{min-height:94px;grid-template-columns:1fr;gap:7px;padding:14px;border-bottom:0;border-right:1px solid #cdd2c7}.range-tabs button:last-child{border-right:0}.range-tabs button i{display:none}.range-tabs button b{font-size:22px}.range-panel{min-height:450px}.process-title h2{font-size:clamp(70px,14vw,105px)}.about-mark{min-height:320px}.contact-copy h2{font-size:clamp(72px,14vw,106px)}.footer-brand{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.header-cta{display:none}.hero{min-height:780px}.hero-media{height:42%}.hero-content{padding-top:345px}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero-proof{grid-template-columns:1fr;gap:0}.hero-proof span{border-bottom:1px solid rgba(255,255,255,.14);padding:11px 0}.proof-strip>div{padding:14px 0}.proof-strip span{font-size:18px}.section{padding-top:62px;padding-bottom:62px}.why-grid{gap:35px}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:175px}.clubs-note{gap:7px}.range-tabs button{padding:13px 7px}.range-tabs button span{display:none}.range-tabs button b{font-size:18px}.range-panel{padding:32px 22px;min-height:420px}.range-content h3{font-size:44px}.process-grid{gap:30px}.steps details p{padding-left:0}.about-mark{min-height:260px;padding:30px}.about-mark img{width:70%}.service-note{gap:12px}.contact{padding-top:64px;padding-bottom:64px}.form-row{grid-template-columns:1fr;gap:20px}.enquiry-form{padding:28px 22px}.footer-links,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-links{gap:12px}.footer-brand span{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* v3 — continuous motion, club marquee and interaction polish */
.proof-strip{position:relative;isolation:isolate}
.proof-strip::before,.proof-strip::after{content:"";position:absolute;inset:0 auto 0 0;width:6vw;z-index:2;pointer-events:none;background:linear-gradient(90deg,var(--lime),rgba(216,255,62,0))}
.proof-strip::after{left:auto;right:0;transform:scaleX(-1)}
.proof-track{display:flex!important;align-items:center!important;gap:0!important;width:max-content!important;padding:0!important;animation:proofLoop 26s linear infinite!important;will-change:transform}
.proof-group{display:flex;align-items:center;gap:30px;flex:none;padding:17px 30px 17px 0}
@keyframes proofLoop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.clubs{overflow:hidden;position:relative}
.clubs::before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(216,255,62,.08);border-radius:50%;right:-170px;top:70px;pointer-events:none}
.clubs-intro{position:relative;z-index:2}
.logo-marquee{position:relative;width:calc(100% + (var(--pad) * 2));margin-left:calc(var(--pad) * -1);overflow:hidden;padding:34px 0 42px;border-top:1px solid var(--darkline);border-bottom:1px solid var(--darkline);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.logo-track{display:flex;width:max-content;animation:clubLogoLoop 44s linear infinite;will-change:transform}
.logo-set{display:flex;align-items:center;gap:clamp(24px,2.8vw,46px);flex:none;padding-right:clamp(24px,2.8vw,46px)}
.logo-item{width:clamp(138px,11.5vw,188px);height:150px;display:flex;align-items:center;justify-content:center;flex:none;position:relative}
.logo-item::after{content:"";position:absolute;left:50%;bottom:-17px;width:0;height:2px;background:var(--lime);transform:translateX(-50%);transition:width .28s ease}
.logo-item img{display:block;max-width:100%;max-height:128px;width:auto;height:auto;object-fit:contain;filter:saturate(.9) brightness(.93);opacity:.76;transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .35s,opacity .35s}
.logo-item:hover img{transform:translateY(-5px) scale(1.07);filter:saturate(1.08) brightness(1.08);opacity:1}
.logo-item:hover::after{width:38px}
@keyframes clubLogoLoop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.logo-marquee:hover .logo-track{animation-play-state:paused}

/* richer interaction without turning the site into a UI demo */
.feature-grid article{position:relative;overflow:hidden;transition:background .3s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
.feature-grid article::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.feature-grid article:hover{background:#f8faef;transform:translateY(-4px)}
.feature-grid article:hover::after{transform:scaleX(1)}
.range-tabs button{transition:background .3s ease,color .3s ease,padding-left .3s ease}
.range-tabs button:hover{padding-left:31px}
.range-panel{transition:background .3s ease}
.range-panel.range-changing .range-content{animation:rangeIn .38s cubic-bezier(.2,.7,.2,1)}
@keyframes rangeIn{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:none}}
.steps details{transition:background .25s ease,padding .25s ease}
.steps details[open]{background:rgba(216,255,62,.045)}
.steps summary h3{transition:color .25s ease,transform .25s ease}
.steps summary:hover h3{color:var(--lime);transform:translateX(5px)}
.button span,.ghost-link span,.under-link span{display:inline-block;transition:transform .22s ease}
.button:hover span,.ghost-link:hover span,.under-link:hover span{transform:translate(3px,-2px)}
.site-header nav a{position:relative}
.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--lime);transition:right .25s ease}
.site-header nav a:hover::after,.site-header nav a.active::after{right:0}
.site-header nav a.active{opacity:1;color:#fff}
.signal{animation:signalPulse 2.3s ease-in-out infinite}
@keyframes signalPulse{0%,100%{box-shadow:0 0 0 4px rgba(216,255,62,.14)}50%{box-shadow:0 0 0 9px rgba(216,255,62,0)}}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}

@media(max-width:820px){
  .logo-marquee{padding:26px 0 34px;mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}
  .logo-set{gap:28px;padding-right:28px}.logo-item{width:132px;height:118px}.logo-item img{max-height:102px}
  .range-tabs button:hover{padding-left:14px}
}
@media(max-width:520px){
  .proof-group{gap:22px;padding:14px 22px 14px 0}
  .logo-set{gap:22px;padding-right:22px}.logo-item{width:112px;height:102px}.logo-item img{max-height:88px}
  .clubs-note{justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .proof-track,.logo-track{animation:none!important;transform:none!important}
  .logo-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
  .logo-set[aria-hidden=true],.proof-group[aria-hidden=true]{display:none}
  .reveal{opacity:1!important;transform:none!important}
}

/* v4 alignment refinement */
@media(max-width:820px){.feature-grid article{grid-template-rows:36px 70px 1fr;min-height:230px}}
@media(max-width:520px){.feature-grid article{grid-template-rows:auto auto auto;min-height:0;gap:14px}.feature-grid h3{margin:0}.feature-grid p{margin:0}}

/* v5 — seamless principle ticker + process spacing polish */
/* Four identical groups keep the marquee filled even on wide desktop displays. */
.proof-track{
  animation-name:proofLoopV5!important;
  animation-duration:38s!important;
}
.proof-group{
  padding-right:0!important;
  margin-right:30px;
}
@keyframes proofLoopV5{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-25%,0,0)}
}

/* Give process numbering breathing room from the accordion edge. */
.steps summary{
  padding:25px 22px;
  grid-template-columns:42px minmax(0,1fr) 24px;
  gap:18px;
}
.steps details p{
  padding:0 22px 28px 82px;
}
.steps details[open]{
  box-shadow:inset 3px 0 0 var(--lime);
}
.steps details[open] summary span{
  color:var(--lime);
}

@media(max-width:820px){
  .steps summary{padding:23px 16px;grid-template-columns:36px minmax(0,1fr) 24px}
  .steps details p{padding:0 16px 26px 70px}
}
@media(max-width:520px){
  .proof-group{margin-right:22px!important;padding-right:0!important}
  .steps summary{padding:21px 14px;grid-template-columns:32px minmax(0,1fr) 22px;gap:12px}
  .steps details p{padding:0 14px 24px 58px}
}
@media(prefers-reduced-motion:reduce){
  .proof-track{animation:none!important;transform:none!important}
  .proof-group:nth-child(n+2){display:none}
}

/* v6 — final trust, alignment and UX quality pass */
/* Keep the circular hero lock-up optically centred as one unit. */
.hero-stamp{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.hero-stamp-lockup{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
  transform:translateY(1px);
}
.hero-stamp .hero-stamp-lockup span{
  display:block;
  margin:0;
  font:800 50px/.82 var(--display);
  color:var(--lime);
}
.hero-stamp .hero-stamp-lockup small{
  position:static!important;
  display:block;
  margin-top:8px;
  font-size:9px;
  line-height:1.28;
  letter-spacing:.14em;
  font-weight:800;
  color:#fff;
}

/* More assured interaction states and clearer section navigation. */
.site-header{box-shadow:0 1px 0 rgba(255,255,255,.03)}
.site-header.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.16)}
.button{border-radius:1px}
.button:active{transform:translateY(0) scale(.985)}
.ghost-link,.under-link,.contact-email{transition:color .2s ease,border-color .2s ease,opacity .2s ease}
.ghost-link:hover,.under-link:hover,.contact-email:hover{color:var(--lime-dark)}
.hero .ghost-link:hover{color:var(--lime)}

/* Help visitors scan the long process without losing the section headline. */
@media(min-width:821px){
  .process-title{position:sticky;top:124px;align-self:start}
}

/* Stronger, cleaner form feedback and tap targets. */
.enquiry-form input,.enquiry-form textarea{
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.enquiry-form input:focus,.enquiry-form textarea:focus{
  border-color:var(--lime)!important;
  box-shadow:0 0 0 1px var(--lime);
  background:#111411;
  outline:none;
}
.check-options label{transition:border-color .2s ease,background .2s ease,color .2s ease}
.check-options label:has(input:checked){border-color:var(--lime);background:rgba(216,255,62,.08)}

/* Keep motion polished rather than jumpy on pointer devices only. */
@media(hover:hover) and (pointer:fine){
  .feature-grid article:hover{transform:translateY(-4px)}
  .logo-item:hover img{transform:translateY(-5px) scale(1.07)}
}
@media(hover:none),(pointer:coarse){
  .feature-grid article:hover{transform:none}
  .logo-item:hover img{transform:none}
  .range-tabs button:hover{padding-left:25px}
}

/* Prevent clipped anchors beneath the fixed header. */
section[id]{scroll-margin-top:86px}

/* Avoid accidental layout overflow from long form/user-entered content. */
.range-shell,.process-grid,.about-grid,.contact,.section-head,.why-grid{min-width:0}
.range-shell>*,.process-grid>*,.about-grid>*,.contact>*,.section-head>*,.why-grid>*{min-width:0}

@media(max-width:820px){
  .hero-stamp-lockup{transform:none}
  section[id]{scroll-margin-top:74px}
}


/* v7 — launch readiness, conversion and accessibility pass */
.hp-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
.form-trust{margin:4px 0 0;color:#c3c9bf;font-size:12px;line-height:1.55;max-width:520px}
.form-note a{color:#dfe6d8;text-decoration:underline;text-underline-offset:3px}
.form-note a:hover{color:var(--lime)}
.form-button[disabled]{opacity:.64;cursor:wait;transform:none!important}

/* Utility/legal pages share the same visual system without carrying homepage JS. */
.utility-body{background:var(--paper);min-height:100vh}
.utility-header{height:86px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:var(--black);color:#fff;border-bottom:1px solid #262a26}
.utility-header img{width:132px;filter:invert(1)}
.utility-header a:last-child{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--lime)}
.utility-main{padding:clamp(80px,10vw,150px) var(--pad);max-width:1120px;margin:0 auto}
.utility-kicker{font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#777e74;margin-bottom:18px}
.utility-main h1{font-size:clamp(64px,9vw,122px);line-height:.84;margin:0 0 42px;color:var(--ink)}
.utility-main h1 span{color:var(--lime-dark)}
.utility-copy{max-width:760px}
.utility-copy h2{font-size:clamp(34px,4vw,52px);line-height:1;margin:44px 0 14px}
.utility-copy p,.utility-copy li{font-size:15px;line-height:1.75;color:var(--muted)}
.utility-copy p+p{margin-top:15px}.utility-copy ul{padding-left:20px}
.utility-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}
.utility-actions .button-secondary{border-color:var(--line);background:transparent;color:var(--ink)}
.utility-footer{background:#080a09;color:#fff;padding:28px var(--pad);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;color:#8f978b}
.utility-footer a{color:#cdd3c8}.utility-footer a:hover{color:var(--lime)}
@media(max-width:820px){.utility-header{height:74px}.utility-header img{width:105px}.utility-main{padding-top:72px}}

/* v8 — about photography + balanced feature-card rhythm */
.feature-grid article{
  grid-template-rows:44px 70px minmax(0,1fr);
}
.feature-grid h3{
  font-size:clamp(23px,1.6vw,26px);
  line-height:1.02;
  text-wrap:balance;
}
.feature-grid p{
  max-width:31ch;
  text-wrap:pretty;
}

.about-grid{
  align-items:stretch;
}
.about-photo{
  position:relative;
  margin:0;
  min-height:560px;
  aspect-ratio:4/5;
  overflow:hidden;
  border:1px solid var(--line);
  background:#dfe2da;
  isolation:isolate;
}
.about-photo picture{
  position:absolute;
  inset:0;
  display:block;
}
.about-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 45%;
  filter:saturate(.88) contrast(1.035);
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
.about-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(7,9,8,.02) 38%,rgba(7,9,8,.12) 66%,rgba(7,9,8,.76) 100%);
}
.about-photo figcaption{
  position:absolute;
  z-index:2;
  left:clamp(22px,3vw,38px);
  right:clamp(22px,3vw,38px);
  bottom:clamp(20px,3vw,34px);
  display:flex;
  align-items:center;
  gap:13px;
  color:#fff;
  font:700 clamp(24px,3vw,42px)/1 var(--display);
  letter-spacing:.015em;
}
.about-photo figcaption b{
  color:var(--lime);
  font-weight:700;
}
.about-copy{
  align-self:center;
}

@media(hover:hover) and (pointer:fine){
  .about-photo:hover img{
    transform:scale(1.025);
    filter:saturate(.94) contrast(1.045);
  }
}

@media(max-width:1100px){
  .feature-grid article{grid-template-rows:40px 64px minmax(0,1fr)}
  .feature-grid p{max-width:38ch}
  .about-photo{min-height:500px}
}

@media(max-width:820px){
  .feature-grid article{grid-template-rows:36px 62px minmax(0,1fr)}
  .about-photo{min-height:0;aspect-ratio:4/5;order:2}
  .about-copy{order:1}
  .about-photo img{object-position:50% 44%}
}

@media(max-width:520px){
  .feature-grid article{grid-template-rows:auto auto auto;gap:14px}
  .feature-grid p{max-width:34ch}
  .about-photo figcaption{gap:10px;font-size:28px}
}

/* v9 — preserve the ISPO photograph's true 3:4 proportions (no stretching / forced crop) */
.about-grid{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  align-items:center;
}
.about-photo{
  min-height:0;
  aspect-ratio:auto;
  align-self:center;
  overflow:hidden;
  background:#dfe2da;
}
.about-photo picture{
  position:relative;
  inset:auto;
  display:block;
  width:100%;
}
.about-photo img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
.about-photo::after{
  background:linear-gradient(180deg,rgba(7,9,8,0) 52%,rgba(7,9,8,.08) 72%,rgba(7,9,8,.74) 100%);
}
@media(max-width:1100px){
  .about-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(42px,6vw,78px)}
  .about-photo{min-height:0}
}
@media(max-width:820px){
  .about-grid{grid-template-columns:1fr}
  .about-photo{min-height:0;aspect-ratio:auto;order:2}
  .about-photo picture{position:relative;inset:auto}
  .about-photo img{width:100%;height:auto;object-fit:contain;object-position:center}
}


/* v10 — exact 3:4 ISPO photo treatment; preserve geometry, prevent visual stretching */
.about-grid{
  grid-template-columns:minmax(0,560px) minmax(0,1fr);
  align-items:center;
  justify-content:space-between;
}
.about-photo{
  width:min(100%,560px);
  max-width:560px;
  aspect-ratio:3/4;
  min-height:0;
  height:auto;
  justify-self:start;
  align-self:center;
  overflow:hidden;
  background:#dfe2da;
}
.about-photo picture{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.about-photo img{
  width:100%;
  height:100%;
  max-width:none;
  aspect-ratio:3/4;
  object-fit:contain;
  object-position:center center;
  transform:none!important;
}
@media(hover:hover) and (pointer:fine){
  .about-photo:hover img{transform:none!important;}
}
@media(max-width:1100px){
  .about-grid{grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:clamp(36px,5vw,68px)}
  .about-photo{width:min(100%,480px);max-width:480px}
}
@media(max-width:820px){
  .about-grid{grid-template-columns:1fr}
  .about-photo{width:min(100%,560px);max-width:560px;aspect-ratio:3/4;justify-self:center;order:2}
  .about-photo picture{position:absolute;inset:0;width:100%;height:100%}
  .about-photo img{width:100%;height:100%;aspect-ratio:3/4;object-fit:contain;object-position:center}
}


/* v10 final — use the supplied photograph at its intrinsic 1536×2048 (3:4) geometry. */
.about-grid{
  grid-template-columns:minmax(0,520px) minmax(0,1fr);
  align-items:center;
  gap:clamp(44px,6vw,96px);
}
.about-photo{
  position:relative;
  display:block;
  width:min(100%,520px);
  max-width:520px;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:auto!important;
  margin:0;
  justify-self:start;
  align-self:center;
  overflow:hidden;
  border:1px solid var(--line);
  background:#dfe2da;
}
.about-photo picture{position:static!important;inset:auto!important;width:auto!important;height:auto!important}
.about-photo>img,.about-photo picture img{
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:100%;
  aspect-ratio:auto!important;
  object-fit:fill!important;
  object-position:center!important;
  transform:none!important;
}
@media(hover:hover) and (pointer:fine){
  .about-photo:hover img{transform:none!important;}
}
@media(max-width:1100px){
  .about-grid{grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:clamp(36px,5vw,68px)}
  .about-photo{width:min(100%,460px);max-width:460px}
}
@media(max-width:820px){
  .about-grid{grid-template-columns:1fr}
  .about-photo{width:min(100%,520px);max-width:520px;justify-self:center;order:2}
  .about-copy{order:1}
}

/* v11 — final ISPO image sizing: preserve the source ratio and keep the portrait at a natural editorial size. */
.about-grid{
  grid-template-columns:minmax(300px,420px) minmax(0,1fr);
  gap:clamp(56px,7vw,118px);
  align-items:center;
}
.about-photo{
  position:relative;
  width:min(100%,420px);
  max-width:420px;
  min-height:0;
  height:auto;
  aspect-ratio:auto;
  margin:0;
  align-self:center;
  justify-self:start;
  overflow:hidden;
  border:1px solid var(--line);
  background:#dfe2da;
}
.about-photo picture{
  position:static;
  inset:auto;
  display:block;
  width:100%;
  height:auto;
}
.about-photo img{
  display:block;
  width:100%;
  height:auto!important;
  max-width:100%;
  max-height:none;
  aspect-ratio:auto!important;
  object-fit:unset;
  object-position:initial;
  transform:none!important;
}
.about-photo::after{
  background:linear-gradient(180deg,rgba(7,9,8,0) 54%,rgba(7,9,8,.08) 75%,rgba(7,9,8,.74) 100%);
}
@media(hover:hover) and (pointer:fine){
  .about-photo:hover img{transform:none!important;}
}
@media(max-width:1100px){
  .about-grid{grid-template-columns:minmax(280px,370px) minmax(0,1fr);gap:clamp(42px,6vw,72px)}
  .about-photo{width:min(100%,370px);max-width:370px}
}
@media(max-width:820px){
  .about-grid{grid-template-columns:1fr;gap:36px}
  .about-copy{order:1}
  .about-photo{order:2;width:min(100%,420px);max-width:420px;justify-self:center}
}

/* v13 — balanced section intro copy; avoid single-word orphan lines. */
.section-head>p{max-width:760px;text-wrap:balance;}
@media(max-width:820px){.section-head>p{max-width:100%;text-wrap:pretty;}}

/* v15 — final about section image fix: square image beside copy, no stretch, no portrait cropping. */
.about-grid{
  grid-template-columns:minmax(320px,520px) minmax(0,1fr) !important;
  gap:clamp(44px,5vw,88px) !important;
  align-items:start !important;
}
.about-photo{
  width:min(100%,520px) !important;
  max-width:520px !important;
  aspect-ratio:1 / 1 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:block !important;
  justify-self:start !important;
  align-self:start !important;
  background:#dfe2da !important;
}
.about-photo > img,
.about-photo picture img,
.about-photo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
}
.about-photo picture{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.about-photo figcaption{
  z-index:2 !important;
}
@media(max-width:1100px){
  .about-grid{
    grid-template-columns:minmax(280px,420px) minmax(0,1fr) !important;
    gap:clamp(36px,4vw,60px) !important;
  }
  .about-photo{
    width:min(100%,420px) !important;
    max-width:420px !important;
  }
}
@media(max-width:820px){
  .about-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .about-copy{order:1 !important;}
  .about-photo{
    order:2 !important;
    width:min(100%,520px) !important;
    max-width:520px !important;
    justify-self:center !important;
  }
}
