
:root{--ink:#171717;--paper:#f7f5ef;--sand:#ebe6dc;--gold:#c49a55;--white:#fff;--line:#d8d3c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Avenir Next','Avenir','Helvetica Neue',Arial,sans-serif}h1,h2,h3,.brand,.band{font-family:'Avenir Next','Avenir','Helvetica Neue',Arial,sans-serif;letter-spacing:-.045em}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.65rem,6.2vw,6.4rem);line-height:.94;margin-bottom:32px}h2{font-size:clamp(2.1rem,4.2vw,4.6rem);line-height:1.02;margin-bottom:45px}h2 em,h1 em{font-style:normal;color:var(--gold)}h3{font-size:clamp(1.25rem,2vw,1.9rem);line-height:1.14}.container{width:min(1200px,calc(100% - 80px));margin:auto}.topbar{height:82px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(30px,calc((100vw - 1200px)/2));position:sticky;top:0;z-index:20;border-bottom:1px solid #333}.brand{color:#fff;text-decoration:none;font-size:18px;line-height:.82;display:block;letter-spacing:-.07em}.brand span{color:#f0eee8}.brand small{display:block;letter-spacing:.17em;font:600 7px 'DM Sans',sans-serif;margin-top:8px;color:var(--gold)}nav{display:flex;align-items:center;gap:23px}nav a{color:#eee;text-decoration:none;font-size:11px;font-weight:700}nav a:hover,.text-link:hover{color:var(--gold)}.nav-cta,.button{background:var(--gold);color:#171717!important;padding:14px 19px;border-radius:2px;text-decoration:none;font-weight:700;display:inline-flex;gap:20px;align-items:center;justify-content:space-between}.menu-toggle{display:none}.dark{background:var(--ink);color:#fff}.paper{background:var(--paper)}.sand{background:var(--sand)}.section{padding:110px 0}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;color:#a57a38;text-transform:uppercase}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:30px}.section-intro{max-width:390px;font-size:14px;line-height:1.7;color:#6e6a62}.dark .section-intro{color:#b3aea5}.hero{position:relative;min-height:700px;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background:none}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.84) 0%,rgba(10,10,10,.65) 44%,rgba(10,10,10,.08) 100%)}.hero-content{position:relative;z-index:2;padding:110px 0}.hero-lead{max-width:600px;font-size:18px;line-height:1.6;color:#e2ded6}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:28px}.button{font-size:12px}.text-link{font-weight:700;color:var(--ink);font-size:12px;text-decoration:none}.text-link.light{color:#fff}.hero-side{position:absolute;z-index:2;right:16px;bottom:60px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;color:#d1c3a9}.challenge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.challenge{background:#fff;padding:32px;min-height:240px;display:flex;flex-direction:column}.challenge span,.offer-index{color:#ae8447;font-size:12px;font-weight:700}.challenge h3{max-width:420px;margin:25px 0 12px}.challenge p{font-size:14px;line-height:1.6;color:#67625c;max-width:410px;margin:0}.terrain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.terrain{background:var(--ink);color:#fff;overflow:hidden}.terrain img{width:100%;aspect-ratio:1.65;object-fit:cover;display:block}.terrain-copy{padding:25px 28px 32px}.terrain-copy span{font-size:10px;letter-spacing:.15em;color:var(--gold);font-weight:700}.terrain-copy h3{margin:16px 0 12px}.terrain-copy p{font-size:13px;color:#c5c0b7;line-height:1.6;margin:0}.offers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.offers article{padding:30px 24px 40px 0}.offers article+article{padding-left:25px;border-left:1px solid var(--line)}.offers h3{font-size:clamp(1.8rem,3vw,3rem);margin:40px 0 18px}.offers p{font-size:15px;line-height:1.5;min-height:72px}.offers ul{padding-left:18px;color:#68635d;font-size:13px;line-height:1.9}.micro-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:25px}.micro-cta p{margin:0;font-size:13px;color:#6b655c}.approach h2{margin-bottom:65px}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr)}.approach-grid article{padding:25px 24px 20px 0;border-top:1px solid #595959}.approach-grid article+article{padding-left:22px;border-left:1px solid #444}.approach-grid b{color:var(--gold);font-size:13px}.approach-grid h3{margin:30px 0 14px}.approach-grid p{color:#b5b0a8;font-size:13px;line-height:1.7}.experience-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.portrait-wrap{position:relative;background:var(--sand);margin-top:35px}.portrait-wrap img{width:100%;display:block}.portrait-wrap small{position:absolute;bottom:15px;left:15px;background:#171717;color:#fff;padding:8px;font-size:9px;letter-spacing:.1em}.experience-text{padding-top:48px}.experience-text p{font-size:14px;line-height:1.75;color:#5d5952}.experience-text .big-copy{font-size:22px;font-weight:700;line-height:1.5;color:#222}.proofs{margin-top:35px;border-top:1px solid var(--line)}.proofs>div{display:grid;grid-template-columns:190px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:17px 0}.proofs strong{font-size:11px}.proofs span{font-size:12px;color:#69645e}.experience-text .disclaimer{font-size:10px;color:#777}.band{background:var(--gold);padding:25px 0;font-size:clamp(1rem,2.7vw,2.4rem)}.band-inner{display:flex;justify-content:space-between;gap:10px}.contact-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center}.contact p:not(.eyebrow){max-width:520px;line-height:1.7;color:#d0cbc2}.contact .button{margin:20px 0}.contact .contact-note{font-size:12px;color:#9b958b!important}.contact-art img{width:100%}footer{background:#101010;color:#fff;padding:38px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer p,footer a,footer span{font-size:11px;color:#bfbab0;text-decoration:none}footer .brand{font-size:17px;color:#fff}footer .brand span{font-size:17px;color:#fff}section{scroll-margin-top:82px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:850px){.container{width:min(100% - 36px,650px)}.topbar{height:72px;padding:0 18px}.menu-toggle{display:block;background:none;color:#fff;border:0;font-size:25px;cursor:pointer}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#171717;padding:25px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{min-height:660px}.hero-content{padding:85px 0}.section{padding:70px 0}.section-top{display:block}.section-intro{max-width:100%}.offers,.approach-grid{grid-template-columns:1fr}.offers article,.offers article+article,.approach-grid article,.approach-grid article+article{border-left:0;padding:24px 0;border-bottom:1px solid var(--line)}.offers h3{margin:20px 0}.offers p{min-height:0}.experience-layout,.contact-layout{grid-template-columns:1fr;gap:20px}.experience-text{padding-top:0}.contact-art{display:none}.band-inner{flex-wrap:wrap}.hero-side{display:none}}@media(max-width:550px){h1{font-size:clamp(3rem,12vw,5rem)}.hero-lead{font-size:15px}.challenge-grid,.terrain-grid{grid-template-columns:1fr}.challenge{min-height:0;padding:25px}.micro-cta{align-items:flex-start;flex-direction:column}.proofs>div{grid-template-columns:1fr;gap:4px}.band-inner{display:block}.band-inner span{display:block}.hero-shade{background:linear-gradient(90deg,rgba(10,10,10,.92),rgba(10,10,10,.55))}}

/* V3: editorial typography + play / serious / pleasure */
h1,h2,h3,.brand,.band{font-weight:800}h1,h2{overflow-wrap:normal}h3{letter-spacing:-.035em}.brand{font-size:15px;line-height:1.06}.brand small{font-size:6px}.terrain img{object-position:center}.philosophy{border-top:1px solid var(--line)}.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.philosophy-grid article{background:#171717;color:#fff;padding:32px 27px;min-height:290px}.philosophy-grid article:nth-child(3){background:#c49a55;color:#171717}.philosophy-grid article span{font-size:10px;letter-spacing:.16em;color:#d6a85f;font-weight:700}.philosophy-grid article:nth-child(3) span{color:#171717}.philosophy-grid h3{font-size:clamp(1.5rem,2.8vw,2.6rem);margin:44px 0 22px}.philosophy-grid p{font-size:14px;line-height:1.75;color:#e7e0d5}.philosophy-grid article:nth-child(3) p{color:#25201a}.philosophy-signature{font-family:'Avenir Next','Avenir','Helvetica Neue',Arial,sans-serif;font-size:clamp(1rem,2.1vw,1.8rem);letter-spacing:-.04em;margin:28px 0 0}.philosophy-signature strong{color:#aa7936}@media(max-width:850px){.philosophy-grid{grid-template-columns:1fr}.philosophy-grid article{min-height:0}.philosophy-grid h3{margin:20px 0}.topbar nav{gap:12px}h1{font-size:clamp(2.5rem,8vw,5rem)}}@media(max-width:550px){h1{font-size:clamp(2.25rem,9.5vw,3.8rem)}h2{font-size:clamp(1.9rem,8vw,3rem)}}

/* Avenir: typography refinements */
h1,h2,h3,.brand,.band{letter-spacing:-.035em;font-weight:800}
h1{line-height:1.02}h2{line-height:1.07}h3{line-height:1.16}
body{font-weight:400}nav,.eyebrow,.button{font-weight:700}

/* V4 — Typographie Avenir plus légère et nette, sans effet ondulé */
h1,h2{font-weight:650;letter-spacing:-.025em;line-height:1.07;text-shadow:none;filter:none;-webkit-text-stroke:0}
h3,.brand,.band{font-weight:650;letter-spacing:-.018em;text-shadow:none;filter:none;-webkit-text-stroke:0}
nav a,.button,.eyebrow,.text-link{font-weight:600}
.experience-text .big-copy{font-weight:600}
@media(max-width:550px){h1{line-height:1.1}}

/* V5 — Logos officiels et méthode centrée sur les utilisateurs */
.brand{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}
.brand-logo{display:block;width:158px;height:auto;max-height:56px;object-fit:contain}
footer .brand-logo{width:156px}
h1,h2{font-weight:600;letter-spacing:-.024em;line-height:1.09}
h3{font-weight:600;letter-spacing:-.012em}
.band{font-weight:600}
.approach-lead{max-width:800px;font-size:17px;line-height:1.7;color:#e7dfd3;margin:-28px 0 46px}
.approach-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.approach-grid article{padding-right:17px}
.approach-grid article+article{padding-left:17px}
.approach-grid h3{font-size:clamp(1.12rem,1.65vw,1.65rem);margin:22px 0 14px}
.approach-grid b{font-size:10px;letter-spacing:.07em}
.approach-footnote{font-size:13px;line-height:1.6;color:#b5b0a8;margin:28px 0 0;max-width:750px}
.contact-art{display:flex;align-items:center;justify-content:center}
.contact-art img{max-width:230px;opacity:.9;object-fit:contain}
@media(max-width:1100px){.approach-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.approach-grid article:nth-child(4){border-left:0;padding-left:0}}
@media(max-width:850px){.brand-logo{width:135px}.approach-grid{grid-template-columns:1fr}.approach-grid article,.approach-grid article+article,.approach-grid article:nth-child(4){padding:22px 0;border-left:0}.approach-lead{margin:0 0 26px;font-size:15px}}

/* V6 — hero éditorial en deux volets, photographie originale */
.hero{min-height:660px;display:grid;grid-template-columns:53% 47%;align-items:stretch;background:#171717}
.hero-image{position:relative;inset:auto;grid-column:2;grid-row:1;background-image:url('images/hero-wakeboard.webp');background-position:center 62%;background-size:cover;min-height:660px}
.hero-content{grid-column:1;grid-row:1;width:auto;max-width:650px;margin:0 0 0 max(40px,calc((100vw - 1200px)/2));padding:105px 38px 105px 0;align-self:center}
.hero-content h1{font-size:clamp(2.8rem,5.3vw,5.5rem)}
.hero-side{right:16px;bottom:30px;text-shadow:0 1px 5px #111}
@media(max-width:850px){.hero{grid-template-columns:1fr;min-height:0}.hero-content{grid-column:1;grid-row:1;margin:0;padding:65px 24px 55px;max-width:none}.hero-image{grid-column:1;grid-row:2;min-height:450px;background-position:center 62%}.hero-side{display:none}}
@media(max-width:550px){.hero-image{min-height:370px}.hero-content h1{font-size:clamp(2.8rem,11vw,4.2rem)}}

/* V8 — authentic founder portrait; preserve aspect ratio and face framing */
.portrait-wrap{overflow:hidden;max-width:520px}.portrait-wrap img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;display:block}
