/* TC Bouliac — proposition visuelle Courtside */
:root{--sport-ink:#071d1f;--sport-orange:#ff7900;--sport-ball:#dfff35;--sport-paper:#f3efe5;--sport-white:#fffdf8}
.sport-site{background:var(--sport-paper);color:var(--sport-ink);overflow-x:hidden}
.sport-site *{scroll-margin-top:100px}
.sport-site header{background:rgba(7,29,31,.94);border-bottom:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.sport-site header .nav{max-width:1500px;min-height:84px}.sport-site .brand{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.86rem}.sport-site .brand img{height:54px;width:auto}
.sport-site .navlinks a{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.sport-site .navlinks a:not(.btn):after{background:var(--sport-ball)}
.sport-site .btn{border-radius:0;background:var(--sport-orange);border:1px solid var(--sport-orange);color:#071d1f;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;box-shadow:7px 7px 0 var(--sport-ball);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.sport-site .btn:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--sport-ball)}.sport-site .btn.ghost{background:transparent;color:var(--sport-ink);border-color:var(--sport-ink);box-shadow:none}.sport-site .btn.ghost:hover{background:var(--sport-ink);color:#fff}
.sport-site .hero{background:var(--sport-ink)!important;color:#fff;min-height:100svh;padding:150px 0 90px!important;isolation:isolate}.sport-site .hero:before{content:"";position:absolute;inset:84px 0 0;z-index:-2;background:linear-gradient(90deg,transparent 49.85%,rgba(255,255,255,.12) 50%,transparent 50.15%),linear-gradient(0deg,transparent 69.8%,rgba(255,255,255,.11) 70%,transparent 70.2%)}
.sport-site .hero:after{content:"33";position:absolute;right:-.04em;bottom:-.23em;z-index:-1;font:800 clamp(19rem,36vw,45rem)/1 "Bricolage Grotesque",sans-serif;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12)}.sport-site .hero .blob{display:none}
.sport-site .hero-grid{max-width:1500px;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(36px,5vw,90px)}.sport-site .hero .eyebrow{color:var(--sport-ball);border-color:var(--sport-ball)}
.sport-site .hero h1{color:#fff!important;font-size:clamp(4rem,7.6vw,9.4rem)!important;line-height:.82!important;letter-spacing:-.065em;text-transform:uppercase;margin-top:22px}.sport-site .hero h1 em{display:inline-block;color:var(--sport-orange)!important;font-style:italic!important;font-weight:600;transform:skew(-7deg)}
.sport-site .hero p.lead{color:rgba(255,255,255,.72)!important;font-size:clamp(1rem,1.35vw,1.35rem)!important;max-width:42ch!important}.sport-site .hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.7)}
.sport-site .hero-visual{transform:rotate(1.3deg)}.sport-site .hero-visual .photo{border-radius:0!important;box-shadow:22px 22px 0 var(--sport-orange)!important;aspect-ratio:1.12!important;clip-path:polygon(7% 0,100% 0,100% 92%,90% 100%,0 100%,0 8%)}.sport-site .hero-visual .photo img{filter:saturate(.9) contrast(1.05)}
.sport-site .hero-badge{left:-35px!important;bottom:-32px!important;border-radius:0!important;background:var(--sport-ball)!important;color:var(--sport-ink)!important;min-width:180px;padding:22px 28px!important;box-shadow:none!important;transform:rotate(-1.3deg)}.sport-site .hero-badge b{color:var(--sport-ink)!important;font-size:3rem!important;line-height:1}
.sport-site .sport-ticker{background:var(--sport-ball);color:var(--sport-ink);overflow:hidden;border-block:1px solid var(--sport-ink);transform:rotate(-1deg);margin:-10px -1vw 0;width:102vw;position:relative;z-index:3}.sport-site .sport-ticker-track{display:flex;width:max-content;gap:36px;padding:15px 0;animation:sportTicker 25s linear infinite;font:800 clamp(.82rem,1.3vw,1.15rem)/1 "Bricolage Grotesque",sans-serif;text-transform:uppercase;letter-spacing:.12em}.sport-site .sport-ticker i{font-style:normal;color:var(--sport-orange)}@keyframes sportTicker{to{transform:translateX(-50%)}}
.sport-site .stats{background:var(--sport-orange);color:var(--sport-ink);border:0}.sport-site .stats-inner{max-width:1500px}.sport-site .stat{border-right:1px solid rgba(7,29,31,.35);padding-block:34px}.sport-site .stat b{color:var(--sport-ink);font-size:clamp(2.5rem,5vw,5rem);line-height:.8}.sport-site .stat span{color:var(--sport-ink);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
.sport-site .block{padding:clamp(82px,9vw,150px) 0}.sport-site .wrap{max-width:1420px}.sport-site .head{display:grid;grid-template-columns:minmax(260px,.72fr) 1.28fr;gap:40px;align-items:end;max-width:none;margin-bottom:58px;border-top:1px solid var(--sport-ink);padding-top:18px}.sport-site .head .eyebrow{grid-column:1;color:var(--sport-orange)}.sport-site .head h2{grid-column:1;font-size:clamp(3.25rem,7vw,7.4rem);line-height:.85;letter-spacing:-.06em;text-transform:uppercase;color:var(--sport-ink)}.sport-site .head p{grid-column:2;grid-row:1/3;max-width:48ch;font-size:clamp(1.05rem,1.45vw,1.35rem);justify-self:end}
.sport-site .card,.sport-site .news,.sport-site .sc{border-radius:0!important;background:var(--sport-white);border:1px solid var(--sport-ink)!important;box-shadow:none!important;position:relative;overflow:hidden}.sport-site .card:before,.sport-site .sc:before{content:"";position:absolute;left:0;top:0;width:7px;height:100%;background:var(--sport-orange)}.sport-site .card:hover,.sport-site .news:hover,.sport-site .sc:hover{transform:translateY(-8px) rotate(-.35deg)!important;box-shadow:12px 12px 0 var(--sport-ball)!important}
.sport-site .school-grid{gap:0}.sport-site .sc{padding:36px!important}.sport-site .sc .age{font-size:.72rem;letter-spacing:.16em;background:var(--sport-ink);color:#fff;border-radius:0}.sport-site .sc .dot{border-radius:50%;background:var(--sport-ball);color:var(--sport-ink);font-weight:800}
.sport-site .compet{border-radius:0;background:var(--sport-ink);padding:clamp(38px,6vw,86px);clip-path:polygon(0 0,96% 0,100% 10%,100% 100%,4% 100%,0 90%)}.sport-site .compet h2{font-size:clamp(3.2rem,7vw,7.8rem);line-height:.84;text-transform:uppercase;letter-spacing:-.06em}.sport-site .compet-visual{border-radius:0;transform:rotate(2deg);box-shadow:16px 16px 0 var(--sport-orange)}
.sport-site footer{background:#041416;border-top:8px solid var(--sport-orange)}.sport-site .quick-play{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:88;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.35);box-shadow:0 15px 45px rgba(0,0,0,.22)}.sport-site .quick-play a{display:grid;place-items:center;width:54px;height:54px;background:var(--sport-ink);color:#fff;border-bottom:1px solid rgba(255,255,255,.16);font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sport-site .quick-play a:first-child{background:var(--sport-ball);color:var(--sport-ink)}.sport-site .quick-play a:hover{background:var(--sport-orange);color:var(--sport-ink)}.sport-site .burger span{background:#fff}
@media(max-width:1000px){.sport-site .hero{min-height:auto;padding:130px 0 82px!important}.sport-site .hero-grid{grid-template-columns:1fr}.sport-site .hero h1{font-size:clamp(3.4rem,14vw,7rem)!important}.sport-site .hero-visual{max-width:720px;margin-left:auto}.sport-site .head{grid-template-columns:1fr}.sport-site .head p{grid-column:1;grid-row:auto;justify-self:start}.sport-site .navlinks{background:var(--sport-ink)!important}.sport-site .navlinks a{font-size:1.4rem!important;border-color:rgba(255,255,255,.14)!important}.sport-site .quick-play{top:auto;right:12px;left:12px;bottom:12px;transform:none;flex-direction:row}.sport-site .quick-play a{width:auto;height:48px;flex:1}.sport-site{padding-bottom:70px}}
@media(max-width:620px){.sport-site header .nav{min-height:72px}.sport-site .brand{font-size:0}.sport-site .brand img{height:46px}.sport-site .hero{padding-top:105px!important}.sport-site .hero-grid{gap:56px}.sport-site .hero-visual .photo{aspect-ratio:4/3!important;box-shadow:10px 10px 0 var(--sport-orange)!important}.sport-site .hero-badge{left:8px!important;bottom:-25px!important;padding:14px 18px!important;min-width:135px}.sport-site .hero-badge b{font-size:2.2rem!important}.sport-site .hero:after{font-size:22rem;bottom:-.1em}.sport-site .stats-inner{grid-template-columns:1fr 1fr}.sport-site .stat:nth-child(2n){border-right:0}.sport-site .head h2{font-size:clamp(2.9rem,15vw,5rem)}.sport-site .sport-ticker-track{animation-duration:18s}.sport-site .btn{box-shadow:5px 5px 0 var(--sport-ball)}}
@media(prefers-reduced-motion:reduce){.sport-site .sport-ticker-track{animation:none}.sport-site *{scroll-behavior:auto!important}}

/* Correctifs QA multi-écrans */
.sport-site{width:100%;max-width:100vw}
.sport-site .hero-grid>*,.sport-site .head>*,.sport-site .compet>*,.sport-site .wrap{min-width:0}
.sport-site .hero h1{font-size:clamp(4rem,6.4vw,7.2rem)!important;max-width:100%;overflow-wrap:break-word}
.sport-site .head h2,.sport-site .compet h2{max-width:100%;overflow-wrap:anywhere}
.sport-site .sport-ticker{width:100%;margin:0;transform:none}
.sport-site .compet{max-width:100%;overflow:hidden}
.sport-site .banner{overflow:hidden}
.sport-site img{max-width:100%}
.sport-site table{max-width:100%}
@media(max-width:1000px){
 .sport-site .hero,.sport-site .block{overflow:hidden}
 .sport-site .head{width:100%;padding-inline:0}
 .sport-site .head h2{font-size:clamp(3rem,11vw,5.8rem)}
 .sport-site .compet{clip-path:none}
}
@media(max-width:620px){
 .sport-site .hero h1{font-size:clamp(3rem,13vw,4.8rem)!important;line-height:.86!important}
 .sport-site .hero-badge{top:14px!important;right:12px!important;bottom:auto!important;left:auto!important;min-width:0!important;width:auto;max-width:150px;padding:12px 15px!important;transform:none!important}
 .sport-site .hero-badge b{font-size:1.9rem!important}
 .sport-site .hero-badge span{display:block;font-size:.67rem;line-height:1.15}
 .sport-site .hero-visual{transform:none}
 .sport-site .head h2{font-size:clamp(2.55rem,13vw,4.2rem);overflow-wrap:break-word}
 .sport-site .head p{font-size:1rem}
 .sport-site .aca-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
 .sport-site .zenniz{max-width:100%;overflow:hidden}
 .sport-site .quick-play{z-index:120}
}

.sport-site .hero-badge .stat-num,.sport-site .stat .stat-num{opacity:1!important}

/* Titres éditoriaux : composition horizontale lisible */
@media(min-width:1001px){
 .sport-site .head{grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);column-gap:clamp(48px,7vw,110px);align-items:end}
 .sport-site .head h2{font-size:clamp(3.4rem,5.1vw,6rem);line-height:.9;letter-spacing:-.055em;overflow-wrap:normal!important;word-break:normal!important;hyphens:none;max-width:13ch}
 .sport-site .head p{max-width:39ch}
}
@media(min-width:1001px) and (max-width:1240px){
 .sport-site .head{grid-template-columns:minmax(0,1.5fr) minmax(270px,.5fr);column-gap:46px}
 .sport-site .head h2{font-size:clamp(3.2rem,5.5vw,4.8rem);max-width:14ch}
}
@media(max-width:1000px){
 .sport-site .head h2{overflow-wrap:normal!important;word-break:normal!important;hyphens:none;max-width:16ch}
}
@media(max-width:520px){
 .sport-site .head h2{font-size:clamp(2.45rem,11.5vw,3.6rem);line-height:.92;max-width:100%}
}

.ui-icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.2em;fill:none;color:currentColor;flex:0 0 auto}
.ui-icon-lg{width:1.45em;height:1.45em}
.sport-site .btn{display:inline-flex;align-items:center;gap:.75em}
.sport-site .btn:not(.no-arrow):after{content:"";width:15px;height:15px;display:inline-block;background:currentColor;mask:url("assets/ui-icons.svg#arrow");-webkit-mask:url("assets/ui-icons.svg#arrow");mask-size:contain;-webkit-mask-size:contain}
.sport-site .btn.prev:after{mask-image:url("assets/ui-icons.svg#back");-webkit-mask-image:url("assets/ui-icons.svg#back");order:-1}
.sport-site .social-link .arr{font-size:0;width:24px;height:24px;background:currentColor;mask:url("assets/ui-icons.svg#arrow") center/contain;-webkit-mask:url("assets/ui-icons.svg#arrow") center/contain}
.sport-site .info h3 .ui-icon,.sport-site .contact-card h3 .ui-icon{color:var(--sport-orange);margin-right:.5em}
.admin-site .ui-icon{width:20px;height:20px}.admin-site .iconbtn .ui-icon{width:21px;height:21px}.admin-site .dropzone .ui-icon{width:25px;height:25px;color:#ff7900}

/* Tableaux sportifs asymétriques */
.sport-site table{border-collapse:separate!important;border-spacing:0 10px!important;background:transparent!important;width:calc(100% - 20px)!important;margin-inline:10px!important}
.sport-site table thead{transform:translateX(10px)}
.sport-site table thead th{background:var(--sport-ink)!important;color:#fff!important;border:0!important;padding:16px 18px!important;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem!important}
.sport-site table thead th:first-child{border-left:7px solid var(--sport-orange)!important}
.sport-site table tbody tr{position:relative;transition:transform .22s ease}
.sport-site table tbody tr:nth-child(odd){transform:translateX(-9px)}
.sport-site table tbody tr:nth-child(even){transform:translateX(9px)}
.sport-site table tbody tr:hover{transform:translateX(0) scale(1.012);position:relative;z-index:2}
.sport-site table tbody td{background:#fffdf8!important;border-top:1px solid var(--sport-ink)!important;border-bottom:1px solid var(--sport-ink)!important;border-left:0!important;border-right:0!important;padding:18px!important}
.sport-site table tbody td:first-child{border-left:7px solid var(--sport-orange)!important;font-weight:800;color:var(--sport-ink)}
.sport-site table tbody tr:nth-child(even) td:first-child{border-left-color:var(--sport-ball)!important}
.sport-site table tbody td:last-child{border-right:1px solid var(--sport-ink)!important}
.sport-site table tbody tr:nth-child(3n) td:last-child{position:relative}
.sport-site table caption{text-align:left;font:800 .7rem/1 "Bricolage Grotesque",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--sport-orange);padding:0 0 14px 10px}
@media(max-width:700px){.sport-site .aca-table{padding:0 10px 12px}.sport-site table{min-width:680px;width:680px!important;margin-inline:0!important}.sport-site table tbody tr:nth-child(odd),.sport-site table tbody tr:nth-child(even){transform:none}}
/* flèches dessinées, sans glyphes système */
.sport-site .btn:not(.no-arrow):after{content:"";width:9px;height:9px;background:none!important;mask:none!important;-webkit-mask:none!important;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:.2em}
.sport-site .btn.prev:after{transform:rotate(-135deg);order:-1}

/* Langage graphique transversal */
.sport-site .accent-word{color:var(--sport-orange);font-style:italic;font-weight:600;display:inline}
.sport-site .banner{position:relative;background:var(--sport-ink)!important;color:#fff;padding:150px 0 105px;clip-path:polygon(0 0,100% 0,100% 88%,72% 100%,0 92%);isolation:isolate}
.sport-site .banner:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.11) 50%,transparent 50.1%),linear-gradient(0deg,transparent 64.9%,rgba(255,255,255,.1) 65%,transparent 65.1%)}
.sport-site .banner:after{content:"TCB";position:absolute;right:-.02em;bottom:-.34em;z-index:-1;font:800 clamp(13rem,26vw,28rem)/1 "Bricolage Grotesque",sans-serif;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.1)}
.sport-site .banner h1{font-size:clamp(3.8rem,7vw,7.8rem);line-height:.86;letter-spacing:-.06em;text-transform:uppercase;max-width:11ch;color:#fff}
.sport-site .banner h1 .accent-word{color:var(--sport-ball)}
.sport-site .banner p{color:rgba(255,255,255,.72);max-width:54ch;font-size:clamp(1rem,1.5vw,1.25rem)}
.sport-site .banner .crumb,.sport-site .banner .crumb a{color:rgba(255,255,255,.6)}
.sport-site .head{position:relative}.sport-site .head:after{content:"";position:absolute;top:-1px;left:0;width:clamp(70px,9vw,140px);height:5px;background:linear-gradient(90deg,var(--sport-orange) 0 68%,var(--sport-ball) 68%)}
.sport-site .infos-grid{gap:18px!important}.sport-site .infos-grid .info{position:relative;border-radius:0!important;border:1px solid var(--sport-ink)!important;clip-path:polygon(0 0,94% 0,100% 12%,100% 100%,6% 100%,0 88%);padding:38px!important;background:#fffdf8!important}.sport-site .infos-grid .info:nth-child(even){transform:translateY(28px)}.sport-site .infos-grid .info:after{content:"";position:absolute;right:0;top:0;width:8px;height:42%;background:var(--sport-ball)}
.sport-site .inst-grid{gap:26px!important;padding:18px}.sport-site .inst{border-radius:0!important;overflow:hidden;box-shadow:12px 12px 0 var(--sport-orange)!important;clip-path:polygon(5% 0,100% 0,100% 92%,95% 100%,0 100%,0 8%);transform:rotate(-1deg)}.sport-site .inst:nth-child(even){transform:translateY(28px) rotate(1deg);box-shadow:12px 12px 0 var(--sport-ball)!important}.sport-site .inst .cap{background:var(--sport-ink)!important;color:#fff!important}.sport-site .inst .cap span{color:rgba(255,255,255,.68)!important}
.sport-site .team-grid>*:nth-child(3n+1),.sport-site .news-grid>*:nth-child(3n+1){transform:translateY(18px) rotate(-.5deg)}.sport-site .team-grid>*:nth-child(3n),.sport-site .news-grid>*:nth-child(3n){transform:translateY(-12px) rotate(.5deg)}
.sport-site .zen-grid{gap:0!important}.sport-site .zen-card{border-radius:0!important;border:1px solid rgba(255,255,255,.24)!important}.sport-site .zen-card:nth-child(even){transform:translateY(20px);background:rgba(223,255,53,.07)!important}.sport-site .zen-card .zi{font-size:0}.sport-site .zen-card .zi .ui-icon{font-size:2rem;color:var(--sport-ball)}
@media(max-width:1000px){.sport-site .banner{padding:125px 0 85px;clip-path:polygon(0 0,100% 0,100% 94%,72% 100%,0 96%)}.sport-site .banner h1{font-size:clamp(3.2rem,11vw,6rem)}.sport-site .infos-grid .info:nth-child(even),.sport-site .inst:nth-child(even),.sport-site .zen-card:nth-child(even){transform:none}.sport-site .team-grid>*,.sport-site .news-grid>*{transform:none!important}}
@media(max-width:620px){.sport-site .banner{padding:105px 0 72px}.sport-site .banner h1{font-size:clamp(2.8rem,13vw,4.4rem)}.sport-site .infos-grid .info{clip-path:none}.sport-site .inst-grid{padding:6px}.sport-site .inst,.sport-site .inst:nth-child(even){transform:none;box-shadow:7px 7px 0 var(--sport-orange)!important}}

/* Header stable : même contraste avant/après scroll */
.sport-site header,.sport-site header.on-dark,.sport-site header.scrolled{background:rgba(7,29,31,.97)!important;border-bottom-color:rgba(255,255,255,.16)!important}
.sport-site header .brand,.sport-site header.on-dark .brand,.sport-site header.scrolled .brand{color:#fff!important;opacity:1!important}
.sport-site header .navlinks a,.sport-site header.on-dark .navlinks a,.sport-site header.scrolled .navlinks a{color:rgba(255,255,255,.82)!important;opacity:1!important}
.sport-site header .navlinks a:hover,.sport-site header .navlinks a.active{color:var(--sport-orange)!important}
.sport-site header .brand .lg-color{display:block!important;opacity:1!important;filter:none!important}
.sport-site header .brand .lg-dark{display:none!important}
.sport-site header .brand img{object-fit:contain}
.sport-site header .burger span,.sport-site header.scrolled .burger span{background:#fff!important}
.sport-site header .navlinks .btn{color:#071d1f!important}
@media(max-width:1000px){.sport-site header .navlinks,.sport-site header.scrolled .navlinks{background:#071d1f!important}.sport-site header .navlinks a{color:#fff!important}}


/* === TC BOULIAC COMPONENT SYSTEM V18 === */
.sport-site header .navlinks a.btn{color:#071d1f!important}

/* Anti-overlap: editorial heading switches before text columns collide. */
.sport-site .head{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;column-gap:clamp(42px,6vw,110px)!important;align-items:end!important}
.sport-site .head h1,.sport-site .head h2{min-width:0!important;max-width:100%!important;overflow-wrap:normal!important;word-break:normal!important}
.sport-site .head>p{min-width:0!important;position:relative!important;z-index:2!important}
@media(max-width:1199px){
 .sport-site .head{display:grid!important;grid-template-columns:1fr!important;gap:24px!important}
 .sport-site .head>p{max-width:720px!important;margin-left:0!important}
}

/* Sharp editorial info cards, replacing generic icon boxes. */
.sport-site .infos-grid{counter-reset:tc-info;gap:26px!important;align-items:start}
.sport-site .info{counter-increment:tc-info;position:relative;isolation:isolate;overflow:hidden;min-height:250px;padding:34px 34px 40px!important;border:1px solid #092d30!important;border-radius:0!important;background:#fffdf8!important;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));box-shadow:12px 12px 0 #dfff1f;transition:transform .28s ease,box-shadow .28s ease}
.sport-site .info:nth-child(2n){transform:translateY(28px);box-shadow:12px 12px 0 #ff7800}
.sport-site .info:hover{transform:translate(-4px,-5px) rotate(-.35deg);box-shadow:18px 18px 0 #ff7800}
.sport-site .info:nth-child(2n):hover{transform:translate(-4px,20px) rotate(.35deg);box-shadow:18px 18px 0 #dfff1f}
.sport-site .info::before{content:"0" counter(tc-info);position:absolute;right:18px;bottom:-20px;z-index:-1;color:rgba(7,29,31,.055);font:900 clamp(6rem,9vw,9.5rem)/1 'Bricolage Grotesque',sans-serif}
.sport-site .info h3{font-size:1.35rem!important;text-transform:uppercase;letter-spacing:-.025em;margin-bottom:22px!important}
.sport-site .info h3 .ui-icon,.sport-site .info h3 .ic{display:none!important}
.sport-site .info h3::before{content:"";width:42px;height:5px;flex:0 0 42px;background:#ff7800;transform:skewX(-25deg)}

/* Photorealistic content illustrations; UI icons remain functional only. */
.sport-object-zone{position:relative;overflow:hidden}
.sport-object-zone>.wrap{position:relative;z-index:2}
.sport-object{position:absolute;z-index:1;pointer-events:none;user-select:none;filter:drop-shadow(0 24px 22px rgba(0,20,22,.22))}
.sport-object-ball{width:clamp(112px,13vw,210px);right:max(3vw,30px);top:80px;transform:rotate(11deg)}
.sport-object-racket{width:clamp(220px,25vw,410px);right:max(2vw,12px);top:110px;transform:rotate(18deg)}
.sport-object-trophy{width:clamp(160px,18vw,300px);right:max(3vw,25px);top:95px;transform:rotate(5deg)}

/* Tariffs: graphic sport editorial system. */
.sport-site .tarif-tabs{gap:0!important;margin:0 0 50px!important;border-bottom:2px solid #092d30}
.sport-site .tarif-tabs button{border:1px solid #092d30!important;border-bottom:0!important;border-radius:0!important;padding:15px 25px!important;text-transform:uppercase;letter-spacing:.08em;font-weight:850!important;background:#fffdf8!important;color:#092d30!important}
.sport-site .tarif-tabs button.active{background:#092d30!important;color:#fff!important;box-shadow:7px -7px 0 #dfff1f}
.sport-site .tarif-grid{counter-reset:tc-tarif;gap:26px!important;align-items:stretch}
.sport-site .tarif{counter-increment:tc-tarif;position:relative;isolation:isolate;overflow:hidden;min-height:360px;padding:38px 32px 30px!important;border:1px solid #092d30!important;border-radius:0!important;background:#fffdf8!important;color:#092d30!important;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%);box-shadow:10px 10px 0 #dfff1f!important;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease!important}
.sport-site .tarif:nth-child(2n){transform:translateY(22px);box-shadow:10px 10px 0 #ff7800!important}
.sport-site .tarif::before{content:"0" counter(tc-tarif);position:absolute;right:16px;top:4px;z-index:-1;color:rgba(7,29,31,.06);font:900 6rem/1 'Bricolage Grotesque',sans-serif}
.sport-site .tarif::after{content:"";position:absolute;left:0;top:0;width:72%;height:8px;background:#ff7800;transform:skewX(-28deg);transform-origin:left}
.sport-site .tarif:hover{transform:translate(-5px,-7px) rotate(-.35deg)!important;box-shadow:17px 17px 0 #ff7800!important}
.sport-site .tarif:nth-child(2n):hover{transform:translate(-5px,15px) rotate(.35deg)!important;box-shadow:17px 17px 0 #dfff1f!important}
.sport-site .tarif.feature{background:#092d30!important;color:#fff!important;box-shadow:10px 10px 0 #ff7800!important}
.sport-site .tarif.feature::before{color:rgba(255,255,255,.08)}
.sport-site .tarif .name{font-size:1.45rem!important;text-transform:uppercase;max-width:78%;color:#092d30!important}
.sport-site .tarif.feature .name{color:#fff!important}
.sport-site .tarif .price{font-size:clamp(2.8rem,4vw,4.4rem)!important;letter-spacing:-.07em;color:#ff7800!important;margin:20px 0 12px}
.sport-site .tarif .desc{line-height:1.6!important}
.sport-site .tarif .pick{margin-top:auto!important;border:0!important;border-radius:0!important;background:#092d30!important;color:#fff!important;padding:16px 18px!important;text-align:left!important;text-transform:uppercase;letter-spacing:.09em;font-weight:850!important;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%)}
.sport-site .tarif .pick::after{content:"→";float:right;color:#dfff1f;font-size:1.2rem}
.sport-site .tarif.feature .pick{background:#ff7800!important;color:#092d30!important}
.sport-site .tarif.feature .pick::after{color:#092d30}
.sport-site .tarif .badge{border-radius:0!important;background:#dfff1f!important;color:#092d30!important;text-transform:uppercase;letter-spacing:.08em;box-shadow:5px 5px 0 #ff7800}

/* Public lightboxes: cinematic court grid and cut-corner image. */
.sport-site .lightbox{padding:clamp(18px,4vw,62px)!important;background:rgba(3,20,22,.94)!important;backdrop-filter:blur(18px) saturate(.8);cursor:default!important;overflow:hidden}
.sport-site .lightbox::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;background:linear-gradient(90deg,transparent 49.8%,rgba(223,255,31,.35) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,rgba(255,120,0,.3) 50%,transparent 50.2%);background-size:180px 180px}
.sport-site .lightbox::after{content:"TCB / PLEIN CADRE";position:absolute;left:28px;bottom:20px;color:#dfff1f;font:800 .72rem/1 'Instrument Sans',sans-serif;letter-spacing:.2em}
.sport-site .lightbox img{position:relative;z-index:2;max-width:min(1100px,92vw)!important;max-height:84vh!important;border-radius:0!important;clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,34px 100%,0 calc(100% - 34px));border:1px solid rgba(255,255,255,.52);box-shadow:18px 18px 0 #ff7800,-12px -12px 0 #dfff1f!important}
.sport-site .lightbox .lb-close{z-index:3;top:24px!important;right:26px!important;width:52px;height:52px;color:#092d30!important;background:#dfff1f!important;border:1px solid #092d30!important;font-size:0!important;clip-path:polygon(0 0,75% 0,100% 25%,100% 100%,25% 100%,0 75%)}
.sport-site .lightbox .lb-close::before,.sport-site .lightbox .lb-close::after{content:"";position:absolute;left:14px;top:25px;width:25px;height:2px;background:#092d30}
.sport-site .lightbox .lb-close::before{transform:rotate(45deg)} .sport-site .lightbox .lb-close::after{transform:rotate(-45deg)}

/* Same angular vocabulary across every card family. */
.sport-site :is(.card,.zen-card,.news,.weather-card,.social-card){border-radius:0!important;position:relative;overflow:hidden}
.sport-site :is(.card,.zen-card,.news,.weather-card,.social-card)::after{content:"";position:absolute;right:0;top:0;width:42px;height:8px;background:#dfff1f;transform:skewX(-28deg);transform-origin:right}

@media(max-width:900px){
 .sport-site .info,.sport-site .info:nth-child(2n){transform:none!important;min-height:0;box-shadow:7px 7px 0 #dfff1f!important}
 .sport-site .tarif-grid{grid-template-columns:1fr!important}
 .sport-site .tarif,.sport-site .tarif:nth-child(2n){transform:none!important;min-height:330px;box-shadow:7px 7px 0 #dfff1f!important}
 .sport-site .sport-object{opacity:.16;right:-55px}
 .sport-site .lightbox img{box-shadow:8px 8px 0 #ff7800,-6px -6px 0 #dfff1f!important}
}


/* === ACADEMY CAMPAIGN VISUAL V1 === */
.sport-site .academy-hero-section{position:relative;isolation:isolate;overflow:hidden;background:#071d1f!important;padding-top:0!important}
.sport-site .academy-hero-section::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#071d1f 0 42%,rgba(7,29,31,.93) 55%,rgba(7,29,31,.34) 78%,rgba(7,29,31,.1)),repeating-linear-gradient(90deg,transparent 0 149px,rgba(223,255,31,.08) 150px 151px)}
.sport-site .academy-hero-section::after{content:"ACADEMIE";position:absolute;z-index:0;left:-.03em;top:40px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);font:900 clamp(7rem,17vw,18rem)/.8 'Bricolage Grotesque',sans-serif;letter-spacing:-.09em;pointer-events:none}
.sport-site .academy-athlete{position:absolute;z-index:1;right:-1%;top:0;width:min(51vw,760px);height:640px;object-fit:cover;object-position:center 10%;pointer-events:none;user-select:none;clip-path:polygon(18% 0,100% 0,100% 88%,78% 100%,8% 91%,0 24%);filter:saturate(.94) contrast(1.05) drop-shadow(-24px 20px 32px rgba(0,0,0,.4));mix-blend-mode:screen}
.sport-site .academy-hero-section>.wrap{position:relative;z-index:2;padding-top:30px}
.sport-site .academy-hero-section .head{display:flex!important;flex-direction:column;justify-content:center;align-items:flex-start!important;min-height:590px;max-width:56%!important;margin:0!important;text-align:left!important;gap:18px!important}
.sport-site .academy-hero-section .head .eyebrow{color:#dfff1f!important}
.sport-site .academy-hero-section .head h2{color:#fff!important;font-size:clamp(3.8rem,6.5vw,7.5rem)!important;line-height:.84!important;max-width:750px!important;text-wrap:balance}
.sport-site .academy-hero-section .head h2 .accent-word{color:#ff7800!important}
.sport-site .academy-hero-section .head p{color:rgba(255,255,255,.78)!important;max-width:610px!important;font-size:1.04rem!important;line-height:1.7!important}
.sport-site .academy-hero-section .tier-grid{position:relative;z-index:3;margin-top:20px}
.sport-site .academy-hero-section .tier{border-radius:0!important;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%);border:1px solid rgba(255,255,255,.25)!important;box-shadow:8px 8px 0 rgba(223,255,31,.9)}
.sport-site .academy-hero-section .tier:nth-child(even){transform:translateY(22px);box-shadow:8px 8px 0 #ff7800}
.sport-site .academy-hero-section .aca-intro-note{position:relative;z-index:3;margin-top:58px!important;border-radius:0!important;border-left:8px solid #dfff1f!important;background:#fffdf8!important;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)}
@media(max-width:1199px){
 .sport-site .academy-athlete{right:-12%;width:78vw;height:560px;opacity:.72}
 .sport-site .academy-hero-section::before{background:linear-gradient(90deg,#071d1f 0 25%,rgba(7,29,31,.88) 55%,rgba(7,29,31,.45))}
 .sport-site .academy-hero-section .head{max-width:72%!important;min-height:540px}
 .sport-site .academy-hero-section .head h2{font-size:clamp(3.5rem,8.5vw,6.2rem)!important}
}
@media(max-width:700px){
 .sport-site .academy-hero-section>.wrap{padding-top:0}
 .sport-site .academy-athlete{right:-44%;top:0;width:150vw;height:500px;opacity:.43;object-position:center top;clip-path:none;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(to bottom,#000 68%,transparent 100%);mask-image:linear-gradient(to bottom,#000 68%,transparent 100%)}
 .sport-site .academy-hero-section::before{background:linear-gradient(90deg,rgba(7,29,31,.98),rgba(7,29,31,.58))}
 .sport-site .academy-hero-section::after{top:35px;font-size:8rem;writing-mode:vertical-rl;right:0;left:auto}
 .sport-site .academy-hero-section .head{max-width:100%!important;min-height:500px;justify-content:flex-end;padding-bottom:42px}
 .sport-site .academy-hero-section .head h2{font-size:clamp(3rem,15vw,4.5rem)!important;line-height:.87!important}
 .sport-site .academy-hero-section .head p{font-size:.95rem!important;line-height:1.55!important}
 .sport-site .academy-hero-section .tier:nth-child(even){transform:none}
}


/* === GRAPHIC SURFACES V20: forms, tournaments, partners === */
.sport-site .form-wrap{position:relative;isolation:isolate;max-width:900px!important;border:1px solid #092d30!important;border-radius:0!important;padding:clamp(30px,5vw,58px)!important;background:#fffdf8!important;clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,34px 100%,0 calc(100% - 34px));box-shadow:16px 16px 0 #dfff1f!important}
.sport-site .form-wrap::before{content:"INSCRIPTION / TCB";position:absolute;right:24px;top:18px;color:rgba(7,29,31,.09);font:900 clamp(2.6rem,6vw,5.5rem)/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.07em;z-index:-1}
.sport-site .form-wrap::after{content:"";position:absolute;left:0;top:0;width:64%;height:9px;background:#ff7800;transform:skewX(-28deg);transform-origin:left}
.sport-site .form-step-head{gap:8px!important;margin-bottom:34px!important}
.sport-site .form-step-head .s{height:7px!important;border-radius:0!important;background:#e7dfd2!important;transform:skewX(-28deg)}
.sport-site .form-step-head .s.on{background:#ff7800!important;box-shadow:6px 0 0 #dfff1f}
.sport-site .fieldset h3{text-transform:uppercase;letter-spacing:-.035em;font-size:1.6rem!important}
.sport-site .field input,.sport-site .field select,.sport-site .field textarea{border:1px solid rgba(9,45,48,.35)!important;border-radius:0!important;background:#fff!important;padding:14px 16px!important;box-shadow:none!important}
.sport-site .field input:focus,.sport-site .field select:focus,.sport-site .field textarea:focus{border-color:#ff7800!important;outline:3px solid rgba(255,120,0,.14)!important}
.sport-site .form-nav{border-top:1px solid rgba(9,45,48,.18);padding-top:22px!important}
.sport-site .form-nav .btn{border-radius:0!important;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%)}

/* Tournament campaign: image and typography form one poster. */
.sport-site .tournament-stage{position:relative;isolation:isolate;overflow:hidden;background:#071d1f!important;padding-top:0!important}
.sport-site .tournament-stage::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#071d1f 0 44%,rgba(7,29,31,.88) 59%,rgba(7,29,31,.15) 88%),repeating-linear-gradient(90deg,transparent 0 159px,rgba(223,255,31,.07) 160px 161px)}
.sport-site .tournament-stage::after{content:"MATCH POINT";position:absolute;left:-.03em;top:30px;z-index:0;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);font:900 clamp(7rem,15vw,16rem)/.82 'Bricolage Grotesque',sans-serif;letter-spacing:-.09em}
.sport-site .tournament-champion{position:absolute;z-index:1;right:0;top:0;width:min(50vw,760px);height:700px;object-fit:cover;object-position:center top;pointer-events:none;clip-path:polygon(18% 0,100% 0,100% 92%,72% 100%,4% 90%,0 24%);filter:saturate(.95) contrast(1.06) drop-shadow(-24px 20px 32px rgba(0,0,0,.42));mix-blend-mode:screen}
.sport-site .tournament-stage>.wrap{position:relative;z-index:2;padding-top:28px}
.sport-site .tournament-campaign{min-height:620px;width:58%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.sport-site .tournament-campaign .eyebrow{color:#dfff1f!important}
.sport-site .tournament-campaign h2{color:#fff;font-size:clamp(4rem,6.4vw,7.3rem);line-height:.84;letter-spacing:-.07em;text-transform:uppercase;max-width:900px}
.sport-site .tournament-campaign h2 em{color:#ff7800;font-style:italic}
.sport-site .tournament-campaign p{color:rgba(255,255,255,.76);max-width:590px;margin-top:30px;font-size:1.06rem;line-height:1.7}
.sport-site #tourn-zone{position:relative;z-index:3}
.sport-site .tourn-grid{counter-reset:tc-tourn;gap:30px!important;align-items:start}
.sport-site .tourn{counter-increment:tc-tourn;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.34)!important;border-radius:0!important;padding:30px!important;background:#fffdf8!important;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px));box-shadow:11px 11px 0 #dfff1f!important}
.sport-site .tourn:nth-child(even){transform:translateY(34px);box-shadow:11px 11px 0 #ff7800!important}
.sport-site .tourn::before{content:"0" counter(tc-tourn);position:absolute;right:18px;top:12px;color:rgba(7,29,31,.055);font:900 5.5rem/1 'Bricolage Grotesque',sans-serif}
.sport-site .tourn-img{position:relative;border:0!important;border-radius:0!important;clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%);filter:saturate(.9) contrast(1.04)}
.sport-site .tourn .top{position:relative;z-index:2}
.sport-site .stat-pill{border-radius:0!important;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);padding:6px 13px!important}

/* Partners become a visual wall, not an app grid. */
.sport-site .partner-tier{counter-reset:tc-partner;margin-bottom:70px!important}
.sport-site .partner-tier .gtitle{text-transform:uppercase;font-size:1.65rem!important;letter-spacing:-.035em;border-bottom:2px solid #092d30;padding-bottom:14px;margin-bottom:28px!important}
.sport-site .partner-tier .gtitle::before{height:6px!important;width:54px!important;border-radius:0!important;transform:skewX(-25deg)}
.sport-site .partner-grid{gap:18px!important;align-items:start}
.sport-site .partner{counter-increment:tc-partner;position:relative;overflow:hidden;min-height:190px;border:1px solid #092d30!important;border-radius:0!important;padding:28px 22px!important;background:#fffdf8!important;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);box-shadow:7px 7px 0 #dfff1f;text-align:left!important}
.sport-site .partner:nth-child(4n+2),.sport-site .partner:nth-child(4n+4){transform:translateY(24px);box-shadow:7px 7px 0 #ff7800}
.sport-site .partner::before{content:"P." counter(tc-partner,decimal-leading-zero);position:absolute;right:12px;bottom:2px;color:rgba(7,29,31,.055);font:900 3.8rem/1 'Bricolage Grotesque',sans-serif}
.sport-site .partner::after{content:"";position:absolute;left:0;top:0;width:50%;height:6px;background:#ff7800;transform:skewX(-28deg)}
.sport-site .partner:hover{transform:translate(-4px,-5px) rotate(-.4deg)!important;box-shadow:13px 13px 0 #ff7800!important}
.sport-site .partner .logo{height:86px!important;justify-content:flex-start!important;position:relative;z-index:1}
.sport-site .partner .logo img{max-width:78%!important;filter:grayscale(1);transition:filter .25s ease,transform .25s ease}
.sport-site .partner:hover .logo img{filter:none;transform:scale(1.04)}
.sport-site .partner b{position:relative;z-index:1;text-transform:uppercase;letter-spacing:-.015em}
.sport-site .partner p{position:relative;z-index:1}

@media(max-width:1199px){
 .sport-site .tournament-champion{right:-12%;width:72vw;height:620px;opacity:.72}
 .sport-site .tournament-campaign{width:70%;min-height:570px}
}
@media(max-width:900px){
 .sport-site .partner-grid{grid-template-columns:repeat(2,1fr)!important}
 .sport-site .partner,.sport-site .partner:nth-child(4n+2),.sport-site .partner:nth-child(4n+4){transform:none!important}
 .sport-site .tourn,.sport-site .tourn:nth-child(even){transform:none!important}
}
@media(max-width:700px){
 .sport-site .form-wrap{box-shadow:8px 8px 0 #dfff1f!important}
 .sport-site .partner-grid{grid-template-columns:1fr!important}
 .sport-site .tournament-champion{right:-52%;width:155vw;height:520px;opacity:.47;clip-path:none;-webkit-mask-image:linear-gradient(to bottom,#000 72%,transparent);mask-image:linear-gradient(to bottom,#000 72%,transparent)}
 .sport-site .tournament-stage::before{background:linear-gradient(90deg,rgba(7,29,31,.98),rgba(7,29,31,.55))}
 .sport-site .tournament-campaign{width:100%;min-height:520px;justify-content:flex-end;padding-bottom:42px}
 .sport-site .tournament-campaign h2{font-size:clamp(3.1rem,14vw,4.6rem)}
 .sport-site .tournament-campaign p{font-size:.95rem;line-height:1.55}
}

/* V20 QA: campaign content must never remain hidden by legacy reveal observers */
.tournament-campaign{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
  color:#f7f3e8 !important;
  z-index:4 !important;
}
.tournament-campaign .eyebrow{color:#dfff20 !important;}
.tournament-campaign h2{color:#fff !important;}
.tournament-campaign h2 em{color:#ff7600 !important;}
.tournament-campaign p{color:rgba(255,255,255,.78) !important;}

/* === V21 CLUB HORIZONTAL + CONTACT HAND-DRAWN SYSTEM === */
#presentation .club-intro-head{
  max-width:1180px !important;
  margin:0 auto 48px !important;
  text-align:left !important;
  display:grid;
  grid-template-columns:minmax(170px,.38fr) minmax(520px,1.62fr);
  align-items:end;
  gap:clamp(28px,6vw,110px);
}
#presentation .club-intro-head .eyebrow{align-self:center;white-space:nowrap;}
#presentation .club-intro-head h2{
  max-width:none !important;
  width:auto !important;
  margin:0 !important;
  font-size:clamp(3.3rem,6.4vw,7.2rem) !important;
  line-height:.86 !important;
  letter-spacing:-.07em !important;
  writing-mode:horizontal-tb !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.contact-grid>div:first-child{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-content:start;
}
.contact-grid .info-block{
  position:relative;
  min-height:300px;
  margin:0 !important;
  padding:28px 24px 24px !important;
  overflow:hidden;
  color:#f8f4e8;
  background:
    linear-gradient(145deg,rgba(255,118,0,.12),transparent 42%),
    #071d1f !important;
  border:1px solid rgba(223,255,32,.42) !important;
  border-radius:0 !important;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,20px 100%,0 calc(100% - 20px));
  box-shadow:8px 8px 0 #dfff20 !important;
}
.contact-grid .info-block:nth-child(2){transform:translateY(22px);box-shadow:8px 8px 0 #ff7600 !important;}
.contact-grid .info-block:nth-child(3){transform:translateY(-10px);}
.contact-grid .info-block h3{
  position:relative;z-index:2;
  display:flex;align-items:center;gap:14px;
  color:#fff !important;
  font-size:clamp(1.08rem,1.35vw,1.45rem) !important;
  line-height:1.05;
  text-transform:uppercase;
}
.contact-grid .info-block h3 span{display:block;}
.contact-grid .info-block p,.contact-grid .info-block a{position:relative;z-index:2;color:rgba(255,255,255,.76) !important;}
.contact-sketch{
  display:block;
  width:96px;height:72px;
  margin:-12px -8px -6px -10px;
  object-fit:cover;
  object-position:center;
  mix-blend-mode:screen;
  filter:saturate(1.2) contrast(1.1);
  flex:0 0 auto;
}
.contact-grid .map{
  grid-column:1/-1;
  margin-top:32px;
  border-radius:0 !important;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%);
  border:1px solid #071d1f;
}
@media(max-width:1050px){
  .contact-grid>div:first-child{grid-template-columns:1fr 1fr;}
  .contact-grid .info-block:nth-child(3){transform:none;grid-column:1/-1;}
}
@media(max-width:760px){
  #presentation .club-intro-head{display:block;text-align:left !important;margin-bottom:28px !important;}
  #presentation .club-intro-head .eyebrow{display:block;margin-bottom:18px;}
  #presentation .club-intro-head h2{
    font-size:clamp(2.8rem,14vw,4.7rem) !important;
    line-height:.9 !important;
    letter-spacing:-.055em !important;
  }
  .contact-grid>div:first-child{display:block;}
  .contact-grid .info-block{min-height:230px;margin:0 8px 24px 0 !important;}
  .contact-grid .info-block:nth-child(2),.contact-grid .info-block:nth-child(3){transform:none;}
  .contact-sketch{width:82px;height:62px;}
}

/* V21 QA: preserve generous contact-card width beside the form */
.contact-grid>div:first-child{grid-template-columns:1fr !important;gap:18px;}
.contact-grid .info-block{
  min-height:190px;
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(190px,1.2fr);
  align-items:center;
  column-gap:22px;
}
.contact-grid .info-block:nth-child(2),.contact-grid .info-block:nth-child(3){transform:none !important;}
.contact-grid .info-block h3{margin:0;}
.contact-grid .info-block p{margin:0;overflow-wrap:anywhere;}
.contact-grid .map{grid-column:auto;}
@media(max-width:760px){
 .contact-grid .info-block{display:block;min-height:230px;}
 .contact-grid .info-block h3{margin-bottom:14px;}
}

/* === V22 TRANSPARENT SKETCHES ON LIGHT EDITORIAL SURFACES === */
.contact-grid .info-block{
 color:#071d1f !important;
 background:
   linear-gradient(125deg,rgba(255,118,0,.055),transparent 42%),
   #fffdf7 !important;
 border:1px solid #071d1f !important;
 box-shadow:8px 8px 0 #dfff20 !important;
}
.contact-grid .info-block:nth-child(2){box-shadow:8px 8px 0 #ff7600 !important;}
.contact-grid .info-block h3{color:#071d1f !important;}
.contact-grid .info-block p,.contact-grid .info-block a{color:#52686a !important;}
.contact-sketch{mix-blend-mode:normal;filter:none;width:112px;height:84px;object-fit:contain;}
#infos .info h3{display:flex;align-items:center;gap:16px;}
.club-sketch{
 width:92px;height:76px;object-fit:contain;flex:0 0 auto;
 margin:-20px -8px -16px -12px;
 filter:drop-shadow(4px 5px 0 rgba(223,255,32,.42));
}
#infos .info:nth-child(2n) .club-sketch{filter:drop-shadow(4px 5px 0 rgba(255,118,0,.28));}
.club-sketch-cordage{transform:rotate(-8deg);}
@media(max-width:760px){.contact-sketch{width:92px;height:70px}.club-sketch{width:76px;height:64px}}
