:root{--bg:#080a0b;--bg2:#111417;--card:#171b1e;--yellow:#B0C4A3;--orange:#f89416;--text:#f7f5ef;--muted:#b0b1ad;--stroke:#303337;--max:1370px;--display:Impact,'Arial Narrow','Franklin Gothic Heavy',sans-serif;--body:'Arial',system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}img{display:block;max-width:100%}::selection{background:var(--yellow);color:#080a0b}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.site{max-width:1600px;margin:0 auto;overflow:clip}.wrap{max-width:var(--max);margin:auto;padding:0 36px}.preview-strip{color:#aeb1b1;background:#202225;text-align:center;padding:7px 14px;font-size:11px;letter-spacing:.045em}.preview-strip strong{color:var(--yellow)}.topbar{background:#090b0d;border-bottom:1px solid #202328;position:sticky;top:0;z-index:40;box-shadow:0 8px 30px #0008}.nav-inner{height:90px;max-width:1470px;margin:auto;padding:0 26px;display:flex;align-items:center;gap:25px}.brand{height:80px;width:128px;display:flex;align-items:center;justify-content:center;flex:0 0 128px;overflow:visible}.brand img{height:84px;width:auto;max-width:115px;object-fit:contain;filter:drop-shadow(0 1px 5px #000)}.nav-links{display:flex;align-items:center;justify-content:center;flex:1;gap:clamp(12px,1.3vw,24px)}.nav-links a{font-size:11px;line-height:1.2;font-weight:900;letter-spacing:1px;white-space:nowrap;color:#e9e7e2;text-transform:uppercase;padding:15px 0;position:relative;transition:color .2s}.nav-links a.active,.nav-links a:hover{color:var(--yellow)}.nav-links a.active:after,.nav-links a:hover:after{content:'';height:3px;background:var(--yellow);position:absolute;left:0;right:0;bottom:7px}.btn{border:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:47px;padding:12px 21px;background:linear-gradient(115deg,#C7D9B8 0%,#AEC39F 62%,#90A984 100%);color:#101010;font-family:var(--display);font-size:17px;letter-spacing:.35px;line-height:1;text-transform:uppercase;box-shadow:0 5px 17px #0003;transition:transform .2s,filter .2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.09)}.btn--outline{border:1px solid #ffffffa3;background:#08090ba8;color:white;box-shadow:none}.btn--dark{background:#0e1012;border:1px solid #90A984;color:#B0C4A3}.btn--small{min-height:39px;padding:9px 15px;font-size:14px}.btn .ico{width:18px;height:18px;stroke-width:2.4}.nav-cta{white-space:nowrap;padding:11px 17px;min-height:42px;font-size:14px}.hamburger{display:none;background:none;color:white;border:1px solid #3a3a3a;border-radius:4px;padding:8px 9px}.hamburger .ico{width:25px;height:25px}.ico{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}.section{padding:75px 0}.section--dark{background:linear-gradient(180deg,#131618,#0a0b0d)}.section--texture{background-color:#101214;background-image:radial-gradient(circle at 7% 15%,#41403b1c,transparent 27%),repeating-linear-gradient(130deg,#fff0 0 20px,#ffffff04 21px 22px,#fff0 23px 43px)}.eyebrow{font-size:14px;line-height:1.2;color:var(--yellow);font-family:var(--display);letter-spacing:3px;text-transform:uppercase}.section-title{font:normal clamp(35px,4.3vw,55px)/.98 var(--display);letter-spacing:.2px;margin:11px 0 21px;text-transform:uppercase}.section-title:after{content:'';background:var(--yellow);display:inline-block;height:4px;width:38px;vertical-align:middle;margin-left:16px}.muted{color:#b9bab6;line-height:1.8;font-size:15px}.meta-label{font-size:12px;text-transform:uppercase;letter-spacing:1.8px;color:#b8ae9c;font-weight:800}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #708568;color:var(--yellow);font-size:11px;font-weight:800;letter-spacing:.7px;border-radius:999px;padding:6px 12px;text-transform:uppercase}.hero{position:relative;isolation:isolate;min-height:580px;background:radial-gradient(ellipse at 32% 63%,#272727 0,#0c0f10 52%,#030506 100%);overflow:hidden;display:flex;align-items:center}.hero:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(145deg,#ffffff03 0px,#ffffff03 1px,transparent 2px,transparent 6px),radial-gradient(circle at 5% 104%,#bd78282b,transparent 27%);z-index:1;pointer-events:none}.hero-photo{position:absolute;inset:0 0 0 35%;height:100%;z-index:-1;background-image:linear-gradient(90deg,#090b0b 0%,#090b0b80 22%,#090b0b00 56%,#070809bf 100%),linear-gradient(0deg,#090b0bf1,transparent 26%),url('assets/hero-athlete.jpg');background-size:cover,cover,cover;background-position:center,center,51% 38%;filter:saturate(.92)}.hero .wrap{width:100%;position:relative;z-index:3;padding-top:72px;padding-bottom:72px}.hero-text{max-width:760px;position:relative;z-index:4}.hero h1{font:normal clamp(56px,5.2vw,81px)/.98 var(--display);letter-spacing:-.6px;text-shadow:2px 6px 15px #000d;text-transform:uppercase;margin:13px 0 0}.hero-mark{display:block;color:var(--yellow);font-family:var(--display);font-style:italic;font-size:clamp(57px,6.7vw,99px);line-height:1.1;text-shadow:2px 4px 0 #405A3B,5px 8px 18px #000;transform:rotate(-2deg);transform-origin:left center;margin:12px 0 16px;white-space:nowrap;letter-spacing:-2px}.hero p{max-width:580px;line-height:1.66;font-size:15px;color:#f2f0eb;margin:0 0 27px;text-shadow:0 2px 8px #000}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-anniversary{position:absolute;width:clamp(225px,29vw,410px);right:1.8%;top:50%;transform:translateY(-49%) rotate(1deg);filter:drop-shadow(2px 6px 14px #000b);z-index:2;pointer-events:none}.hero-footer{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:5;color:#ded8cb;font-size:10px;letter-spacing:3px;text-transform:uppercase;white-space:nowrap}.home-highlights{padding:19px 0 24px;background:#050708;border-top:1px solid #202325;border-bottom:1px solid #202325}.highlights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.highlight-card{height:185px;display:flex;align-items:flex-end;position:relative;overflow:hidden;border-radius:8px;border:1px solid #383b3d;background:#1a1818;isolation:isolate;padding:19px;transition:transform .25s,box-shadow .25s}.highlight-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #0009}.highlight-card:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09090a 5%,#09090aa6 47%,#0001 100%);z-index:-1}.highlight-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 85%);z-index:-1}.highlight-card .highlight-photo{position:absolute;right:-1px;top:0;height:100%;width:64%;object-fit:cover;z-index:-2;filter:saturate(.78)}.highlight-card--anniv{background:radial-gradient(circle at 80% 45%,#a14c16a8 0%,transparent 55%),#180f0e}.highlight-card--anniv .highlight-photo{width:65%;object-fit:contain;opacity:.91}.highlight-card--rose{background:#321323}.highlight-card--rose .highlight-photo{filter:saturate(1.1)}.highlight-card--mov{background:#101e25}.highlight-card--compe{background:#2c2018}.highlight-card .kicker{display:block;font:normal 13px var(--display);color:#B0C4A3;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:4px}.highlight-card h3{font:normal 33px/1.02 var(--display);margin:0 0 16px;text-transform:uppercase;text-shadow:1px 3px 8px black}.highlight-card .linkline{font:normal 13px var(--display);letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid #ddd;display:inline-block;padding-bottom:3px}.home-values{background:radial-gradient(circle at 20% 70%,#2a2e2d50,transparent 43%),#101416;border-bottom:1px solid #2f3132}.value-layout{display:grid;grid-template-columns:1.5fr repeat(4,.72fr);gap:26px;align-items:center}.value-layout .copy p{font-size:14px;line-height:1.7;color:#c3c7c4;margin:0 0 22px}.value-item{text-align:center;min-height:168px;padding:13px 10px;border-left:1px solid #383a3a}.value-item .ico{width:38px;height:38px;color:#B0C4A3;stroke-width:2.2;margin-bottom:10px}.value-item h3{font:normal 23px var(--display);text-transform:uppercase;margin:9px 0}.value-item p{font-size:12px;line-height:1.6;color:#b5b8b8;margin:0}.wide-photo-banner{background:#0d1011;display:grid;grid-template-columns:1fr 1fr;min-height:245px;border-bottom:1px solid #323536}.wide-photo-banner .copy{padding:36px max(26px,calc((100vw - var(--max)) / 2));padding-right:30px;align-self:center}.wide-photo-banner .copy p{font-size:14px;line-height:1.6;color:#cacdca}.wide-photo-banner .photo{background:url('assets/training-action.jpg') center 45%/cover;position:relative}.wide-photo-banner .photo:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d1011 0%,#0d101100 30%)}.coach-layout{display:grid;grid-template-columns:270px 1fr;gap:22px;align-items:stretch}.coach-layout .copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.coach-layout .copy .muted{font-size:13px;margin:0 0 22px}.coach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.coach-card{height:242px;border:1px solid #363a3c;position:relative;overflow:hidden;background:#131619;border-radius:6px}.coach-card img{width:100%;height:100%;object-fit:cover;object-position:center 8%;filter:saturate(.8) contrast(1.09)}.coach-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000 0%,#000d 14%,transparent 65%)}.coach-caption{position:absolute;bottom:13px;left:13px;right:12px;z-index:2}.coach-caption strong{font:normal 28px var(--display);text-transform:uppercase;display:block}.coach-caption small{font-size:11px;color:#e6e3df}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quote{padding:26px;background:#161a1b;border:1px solid #333536;border-radius:8px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between}.quote p{margin:0 0 17px;font-style:italic;font-size:14px;color:#e0e0dc;line-height:1.6}.quote .foot{font-size:12px;color:#d0d0cd}.stars{color:var(--yellow);letter-spacing:2px}.footer-top{display:grid;grid-template-columns:.9fr 1fr 1.25fr;gap:30px;align-items:center}.footer{padding:40px 0 22px;background:#090b0d;border-top:1px solid #313131}.footer h3{font:normal 27px var(--display);margin:0 0 18px}.footer p,.footer address{font-style:normal;color:#cccac5;font-size:13px;line-height:1.9;margin:0}.footer .contact-row{display:flex;align-items:center;gap:12px;margin:8px 0;color:#d4d0cb;font-size:13px}.footer .contact-row .ico{color:var(--yellow);width:18px;height:18px}.phone-reveal{color:var(--yellow);background:transparent;border:1px dashed #78916C;border-radius:4px;padding:7px 10px;font-size:12px;text-align:left}.footer .map-placeholder{height:175px;position:relative;border-radius:9px;overflow:hidden;border:1px solid #6b765f;background:linear-gradient(135deg,#dcebdc 2%,#e9eee1 20%,#d8e8da 21% 38%,#f7eee4 40% 54%,#dae4d3 57% 85%,#f0efdf 90%);color:#232f28;display:flex;justify-content:center;align-items:center}.footer .map-placeholder:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(25deg,transparent 0 30px,#c8d6c7 32px 34px,transparent 36px 87px),repeating-linear-gradient(115deg,transparent 0 56px,#fff 57px 63px,transparent 64px 100px);opacity:.75}.map-pin{position:relative;text-align:center;z-index:1;background:#ffffffe8;padding:12px;border-radius:6px;box-shadow:0 4px 16px #0003;font-size:12px;font-weight:800}.map-pin .ico{color:#e23832;margin-bottom:4px}.footer-bottom{margin-top:40px;border-top:1px solid #242626;padding-top:18px;color:#929997;font-size:11px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-bottom a:hover{color:var(--yellow)}.footer-bottom .footer-links{display:flex;gap:18px}.page-banner{min-height:270px;background:linear-gradient(90deg,#0b0d0ef5,#0b0d0ee6 45%,#090b0b63),url('assets/training-action.jpg') 75% 38%/cover;display:flex;align-items:center;border-bottom:1px solid #272727}.page-banner .wrap{width:100%;padding-top:48px;padding-bottom:48px}.page-banner h1{font:normal clamp(48px,6.2vw,82px)/.98 var(--display);margin:12px 0 17px;text-transform:uppercase}.page-banner p{max-width:700px;color:#dcdbd7;font-size:15px;line-height:1.7;margin:0}.notice{padding:15px 20px;background:#24221a;border:1px solid #42563b;border-radius:7px;color:#d0deca;font-size:13px;line-height:1.6;margin:22px 0}.planning-intro{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap}.planner-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.planner-controls select,.planner-controls button{font-size:13px;color:#e6e9e8;background:#1b1f22;border:1px solid #3f4345;border-radius:5px;padding:11px}.week-days{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-top:22px}.day-btn{border:1px solid #3d4143;background:#191d1f;color:#d0d1ce;min-height:61px;border-radius:6px;font:normal 22px var(--display);text-transform:uppercase}.day-btn small{display:block;color:#83888a;font:normal 11px var(--body);margin-top:3px}.day-btn.active{color:#10110f;background:var(--yellow);border-color:var(--yellow)}.day-btn.active small{color:#24221d}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;min-height:220px}.course-card{position:relative;border:1px solid #363b3d;border-top:4px solid var(--yellow);background:linear-gradient(135deg,#1b2021,#111517);border-radius:8px;padding:21px;min-height:182px}.course-card[data-type='hyrox']{border-top-color:#ec8f31}.course-card[data-type='gym']{border-top-color:#c278ac}.course-card[data-type='kids']{border-top-color:#47aaa0}.course-card .course-time{color:#c6cecc;font-size:12px;font-weight:800;letter-spacing:.6px}.course-card h3{font:normal 31px var(--display);text-transform:uppercase;margin:12px 0 18px}.course-card .course-sub{color:#c2c7c4;font-size:12px;line-height:1.7}.course-card .tag{font-size:10px;text-transform:uppercase;letter-spacing:.9px;padding:5px 9px;border-radius:5px;background:#343633;color:#D0DECA;position:absolute;top:20px;right:17px}.empty-state{padding:40px;background:#151819;border:1px dashed #3a3c3e;color:#c4c7c6;border-radius:7px;grid-column:1/-1}.howitworks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step{padding:27px;border:1px solid #323538;background:#16191b;border-radius:7px}.step .n{font:normal 51px var(--display);color:var(--yellow)}.step h3{font:normal 26px var(--display);margin:15px 0 7px;text-transform:uppercase}.step p{color:#b7bab9;font-size:13px;line-height:1.7;margin:0}.tariff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:28px 0}.tariff-card{position:relative;border:1px solid #37393b;background:#14181a;border-radius:8px;padding:32px 28px;min-height:366px;display:flex;flex-direction:column}.tariff-card.featured{border:2px solid var(--yellow);box-shadow:0 0 50px #B0C4A30e}.tariff-card .tag{color:var(--yellow);font:normal 13px var(--display);text-transform:uppercase;letter-spacing:1px}.tariff-card h3{font:normal 35px var(--display);text-transform:uppercase;margin:12px 0 15px}.tariff-card .price{font:normal 31px var(--display);color:var(--yellow);margin-bottom:12px}.tariff-card p{font-size:13px;color:#b7bbb9;line-height:1.6;margin:0 0 20px}.tariff-card ul{list-style:none;padding:0;margin:0 0 25px;flex:1}.tariff-card li{font-size:12px;color:#d5d7d4;padding:10px 0;border-top:1px solid #353738}.tariff-card li:before{content:'✓';color:var(--yellow);font-weight:900;margin-right:11px}.tariff-card .btn{width:100%}.price-disclaimer{color:#afb0a9;font-size:12px;line-height:1.6}.contact-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:28px;align-items:start}.contact-aside{border:1px solid #34393a;background:#151a1d;border-radius:10px;overflow:hidden}.aside-image{height:245px;background:url('assets/hero-athlete.jpg') center 42%/cover;position:relative}.aside-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#151a1d 0%,transparent 55%)}.aside-content{padding:30px}.aside-content h2{font:normal 39px var(--display);margin:0 0 13px}.aside-content p{font-size:14px;color:#b9c0bf;line-height:1.7}.contact-info{margin:23px 0 0;padding-top:15px;border-top:1px solid #3b3f41}.contact-info .line{margin:16px 0;display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#e0dfd9;line-height:1.6}.contact-info .ico{color:var(--yellow)}.contact-form-panel{border:1px solid #35393a;background:#141819;border-radius:10px;padding:38px}.contact-form-panel h2{font:normal 38px var(--display);margin:0 0 11px}.contact-form-panel .subtitle{color:#adb5b2;font-size:13px;line-height:1.6;margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:19px}.field label{display:block;font-size:12px;font-weight:900;letter-spacing:.4px;margin-bottom:8px;color:#eae9e2}.field input,.field select,.field textarea{width:100%;background:#202527;border:1px solid #495054;color:#fff;border-radius:6px;min-height:46px;padding:12px 13px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 2px #B0C4A322}.field input::placeholder,.field textarea::placeholder{color:#9ca2a0}.field select option{color:#fff;background:#1a1e20}.field textarea{resize:vertical;min-height:132px}.hint{display:block;color:#a4aca9;font-size:11px;margin-top:6px;line-height:1.5}.consent{display:flex;gap:12px;align-items:start;color:#afb7b3;font-size:12px;line-height:1.6;margin:19px 0}.consent input{accent-color:var(--yellow);width:17px;height:17px;flex-shrink:0;margin:3px 0 0}.consent a{color:var(--yellow);text-decoration:underline}.form-result{display:none;margin-top:18px;border-radius:5px;padding:13px 15px;font-size:12px;line-height:1.6}.form-result.visible{display:block}.form-result.warning{background:#332916;color:#ffdda2;border:1px solid #796024}.form-result.error{background:#36181c;color:#ffb3b9;border:1px solid #923444}.form-result.success{background:#173021;color:#b8e4c5;border:1px solid #36764c}.simple-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}.simple-grid img{width:100%;height:400px;object-fit:cover;border-radius:10px;border:1px solid #333}.simple-grid p{color:#bfc1bc;line-height:1.8}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.chip{padding:10px 13px;border:1px solid #708568;color:var(--yellow);font-size:12px;border-radius:6px;font-weight:900}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:19px}.news-card{display:grid;grid-template-columns:1fr 1.1fr;background:#16191c;border:1px solid #393c3d;border-radius:9px;min-height:253px;overflow:hidden}.news-card .visual{background:#252a2b;min-height:245px;position:relative}.news-card .visual img{height:100%;width:100%;object-fit:cover;object-position:center}.news-card .txt{padding:29px 23px}.news-card .txt h3{font:normal 34px var(--display);margin:10px 0 12px;text-transform:uppercase}.news-card .txt p{font-size:13px;line-height:1.75;color:#b8bfbb;margin:0 0 23px}.news-card .txt .btn{font-size:14px}.legal-copy{background:#16191c;border:1px solid #363a3c;padding:35px;border-radius:9px;line-height:1.9;color:#cbd0cd}.legal-copy h2{color:white;font:normal 28px var(--display);margin:23px 0 11px}.legal-copy p{margin:9px 0}.social-link:hover{color:var(--yellow)}
@media(max-width:1260px){.nav-inner{gap:15px;padding:0 15px}.nav-links{gap:12px}.nav-links a{font-size:10px;letter-spacing:.5px}.nav-cta{padding:10px;font-size:13px}.brand{flex-basis:98px;width:98px}.brand img{max-width:90px;height:78px}.hero-anniversary{width:32%;right:1%}.hero-text{max-width:680px}.hero h1{font-size:69px}.hero-mark{font-size:73px}.value-layout{grid-template-columns:1.5fr repeat(2,1fr)}.value-item:nth-child(4){border-left:none}}
@media(max-width:1030px){.nav-links{position:absolute;display:none;top:90px;right:0;left:0;background:#0a0d0f;border-top:1px solid #383838;box-shadow:0 25px 40px #000d;flex-direction:column;gap:0;padding:12px 23px 24px;align-items:stretch}.nav-links.open{display:flex}.nav-links a{font-size:16px;padding:14px 10px;border-bottom:1px solid #252525}.nav-links a.active:after,.nav-links a:hover:after{height:2px;bottom:0}.hamburger{display:inline-flex;margin-left:auto}.nav-cta{margin-left:0}.hero h1{font-size:62px}.hero-mark{font-size:67px}.hero-anniversary{width:34%;opacity:.95}.highlights-grid{grid-template-columns:repeat(2,1fr)}.coach-layout{grid-template-columns:1fr}.coach-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.wrap{padding-left:20px;padding-right:20px}.nav-inner{height:77px;padding:0 15px}.brand{flex-basis:78px;width:78px}.brand img{height:67px;max-width:74px}.nav-links{top:77px}.nav-cta{min-height:40px;font-size:12px}.nav-cta .ico{display:none}.hero{min-height:700px;align-items:flex-start}.hero-photo{inset:0 0 15% 17%;background-position:center,center,54% 20%;opacity:.9}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080a0b 1%,#080a0b5c 42%,#0007 85%)}.hero .wrap{padding-top:365px;padding-bottom:50px}.hero-anniversary{width:230px;top:8%;right:1%;transform:none;opacity:.95}.hero-text{max-width:100%}.hero h1{font-size:clamp(41px,8.5vw,58px)}.hero-mark{font-size:clamp(48px,10vw,67px);white-space:normal}.hero p{font-size:13px}.hero-footer{display:none}.section{padding:50px 0}.section-title{font-size:39px}.value-layout{grid-template-columns:1fr 1fr;gap:12px}.value-layout .copy{grid-column:1/-1;margin-bottom:10px}.value-item{border-left:1px solid #414141}.wide-photo-banner{grid-template-columns:1fr}.wide-photo-banner .copy{padding:32px 20px}.wide-photo-banner .photo{min-height:240px}.coach-grid{grid-template-columns:repeat(2,1fr)}.coach-card{height:225px}.quotes{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer .map-placeholder{height:215px}.contact-grid{grid-template-columns:1fr}.contact-form-panel{padding:25px 19px}.simple-grid{grid-template-columns:1fr}.simple-grid img{height:280px}.course-grid{grid-template-columns:1fr 1fr}.tariff-grid{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr}.page-banner{min-height:240px}.page-banner h1{font-size:57px}}
@media(max-width:480px){.preview-strip{font-size:10px}.nav-inner{gap:9px}.nav-cta{font-size:11px;padding:9px 11px}.hero{min-height:690px}.hero .wrap{padding-top:344px}.hero-anniversary{width:195px;top:6%;right:-1%}.hero h1{font-size:42px}.hero-mark{font-size:51px}.hero .btn{font-size:14px;padding:11px 15px;min-height:44px}.highlights-grid{grid-template-columns:1fr;gap:12px}.highlight-card{height:165px}.value-layout{grid-template-columns:1fr 1fr}.value-item{padding:9px 3px}.value-item h3{font-size:21px}.coach-grid{gap:8px}.coach-card{height:210px}.week-days{display:flex;overflow:auto;padding-bottom:8px}.day-btn{flex:0 0 78px}.course-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}.footer-bottom{flex-direction:column}.news-card{grid-template-columns:1fr}.news-card .visual{min-height:220px}.page-banner h1{font-size:51px}}
/* Bold condensed sport-display titles: local fallback, no external font dependency. */
:root{--display:'Roboto Condensed','Arial Narrow','Liberation Sans Narrow',sans-serif}
.hero h1,.hero-mark,.section-title,.page-banner h1,.highlight-card h3,.value-item h3,.coach-caption strong,.coach-layout h2,.wide-photo-banner h2,.footer h3,.contact-form-panel h2,.aside-content h2,.course-card h3,.tariff-card h3,.tariff-card .price,.step h3,.news-card h3,.pill,.btn{font-weight:900}
.highlight-card h3,.page-banner h1,.hero h1,.section-title,.tariff-card h3,.coach-caption strong{font-stretch:condensed}
.nav-links a{font-family:'Roboto Condensed','Arial Narrow',sans-serif;font-weight:900;letter-spacing:1.2px}


/* V3 - editorial news, anniversary, HYROX and authenticated review excerpts. */
.highlight-card--compe h3{font-size:clamp(25px,2.15vw,33px)}
.hyrox-feature{border-block:1px solid #42563b;background:radial-gradient(circle at 82% 24%,#405a3b35,transparent 36%),linear-gradient(115deg,#111313 0%,#0c0e0f 53%,#172019 100%);overflow:hidden;position:relative}
.hyrox-feature::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(137deg,transparent 0 55px,#b0c4a307 56px 57px,transparent 58px 110px)}
.hyrox-inner{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:30px;min-height:390px;padding-top:52px;padding-bottom:54px;position:relative;z-index:1}
.affiliate-tag{display:inline-flex;align-items:center;gap:10px;border:1px solid #708568;border-radius:4px;color:#c7d9b8;background:#1a231c;padding:10px 15px;font-size:12px;font-weight:900;letter-spacing:1.4px;margin-bottom:20px}
.tag-dot{width:10px;height:10px;border-radius:50%;background:#B0C4A3;box-shadow:0 0 0 5px #b0c4a330}
.hyrox-intro h2{font:900 clamp(62px,6.8vw,108px)/.91 var(--display);letter-spacing:-2px;margin:12px 0 19px;color:#fff}
.hyrox-intro h2 span{color:#d0deca}
.hyrox-intro p{max-width:605px;font-size:15px;line-height:1.85;color:#d8d7ce;margin:0 0 25px}
.hyrox-actions{display:flex;flex-wrap:wrap;gap:12px}
.hyrox-visual{min-height:280px;border-radius:12px;background:linear-gradient(90deg,#0b0e0f70,#03050633),url('assets/training-action.jpg') center/cover;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:skewY(-2deg);outline:1px solid #ffffff40;box-shadow:15px 16px 0 #B0C4A31c}
.hyrox-word{font:900 clamp(60px,7.8vw,116px)/1 var(--display);letter-spacing:-5px;color:#b0c4a3;text-shadow:5px 6px 0 #050505,0 0 30px #000f}
.hyrox-visual>span{color:white;background:#111c;padding:7px 12px;letter-spacing:3px;font-size:10px;font-weight:900;text-align:center}
.hyrox-visual b{color:var(--yellow)}
.wide-photo-banner{min-height:360px}.wide-photo-banner .section-title{font-size:clamp(38px,3.7vw,58px)}.wide-photo-banner .copy .btn{margin-top:20px}
.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.concept-card{padding:31px;background:linear-gradient(125deg,#181d1f,#101315);border:1px solid #3b3e3d;border-top:4px solid #B0C4A3;border-radius:9px;min-height:270px;box-shadow:0 14px 36px #0003}
.concept-number{color:#b0c4a3;letter-spacing:2px;font-family:var(--display);font-size:14px;font-weight:900}
.concept-card h3{font:900 clamp(26px,3vw,41px)/1.05 var(--display);margin:18px 0;text-transform:uppercase}
.concept-card p{color:#c3c8c5;font-size:14px;line-height:1.86;margin:0 0 15px}
.concept-link{text-align:center;padding-top:30px}
.box-hyrox{background:linear-gradient(90deg,#101516,#11171a)}
.box-hyrox-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:55px;align-items:center}
.box-hyrox-grid p{line-height:1.8;color:#c3c8c5;font-size:15px}
.box-hyrox-image{min-height:390px;border:1px solid #5e7355;background:linear-gradient(#16170c40,#050505c0),url('assets/hero-athlete.jpg') center/cover;display:grid;place-items:center;border-radius:9px}
.box-hyrox-image span{font:900 clamp(64px,8vw,118px)/1 var(--display);letter-spacing:-5px;color:#b0c4a3;text-shadow:4px 6px 3px black}
.quote{border-top:3px solid #95a487;min-height:210px}
.quote .quote-source{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:900;color:#c9c8c1;letter-spacing:1.1px;margin-bottom:14px}
.quote p{font-size:16px;line-height:1.65;font-style:normal;color:#f3f1eb}
.quote .foot{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.review-link{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:19px;font-size:12px;color:#aeb3ae}
.review-link a{border:1px solid #95a487;border-radius:4px;padding:11px 15px;color:#b0c4a3;font-weight:900;letter-spacing:.4px;transition:background .2s}
.review-link a:hover{background:#263428}
.article-masthead{background:#0d0f11;border-bottom:1px solid #424143;overflow:hidden}
.article-masthead--rose{background:radial-gradient(circle at 30% 80%,#63233c9a,transparent 55%),#111015}
.article-masthead--movember{background:radial-gradient(circle at 48% 60%,#1c3b4c,transparent 58%),#111416}
.article-masthead--anniversary{background:radial-gradient(circle at 60% 40%,#6e441f52,transparent 60%),#11100c}
.article-masthead--battle{background:radial-gradient(circle at 64% 64%,#5e401b73,transparent 55%),#121111}
.article-masthead-grid{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:45px;padding-top:60px;padding-bottom:60px;min-height:425px}
.article-masthead h1{font:900 clamp(56px,6.2vw,94px)/.96 var(--display);letter-spacing:-1px;text-transform:uppercase;margin:17px 0}
.article-masthead h1 span{color:#b0c4a3}
.article-masthead--rose h1 span{color:#ff98c0}
.article-masthead p{font-size:17px;line-height:1.8;max-width:720px;color:#e0e0d9}
.article-photo{height:340px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff30;border-radius:9px;overflow:hidden;background:#191d1e;box-shadow:0 20px 50px #0009}
.article-photo img{width:100%;height:100%;object-fit:cover}
.article-masthead--anniversary .article-photo{background:radial-gradient(circle at center,#413016,#080909)}
.article-masthead--anniversary .article-photo img{object-fit:contain;padding:10px}
.date-pill{display:inline-block;border:1px solid #5e7355;background:#1c2a20;color:#b0c4a3;font:900 14px var(--display);letter-spacing:1.5px;padding:9px 13px;border-radius:4px;margin:0 0 4px}
.article-prose{max-width:1020px}
.article-prose p{color:#c6cbc6;font-size:16px;line-height:1.9;margin:0 0 21px}
.article-prose h2{font:900 clamp(32px,3.8vw,46px)/1.05 var(--display);margin:44px 0 17px;text-transform:uppercase;color:#f5f4ee}
.article-prose h2:before{content:'';display:inline-block;width:32px;height:4px;background:#b0c4a3;vertical-align:middle;margin-right:13px}
.article-prose .article-intro{font-size:21px;color:#f5f2e9;line-height:1.6;border-left:5px solid #B0C4A3;padding-left:25px;margin-bottom:30px;max-width:940px}
.article-prose strong{color:#f5eee1}
.article-prose .article-small-note{font-size:12px;color:#adb1a9;font-style:italic}
.editorial-highlight{background:linear-gradient(115deg,#1d2a21,#161717);border:1px solid #5e7355;border-radius:8px;padding:31px;margin:30px 0;color:#b0c4a3;font:900 clamp(20px,2.6vw,32px)/1.3 var(--display);text-transform:uppercase}
.editorial-highlight b{display:block;color:white;margin-top:8px}
.editorial-highlight.rose{background:linear-gradient(115deg,#4d1e34,#19131c);border-color:#c25882;color:#ff91bc}
.article-related{padding:45px 0;border-top:1px solid #484747}
.article-related .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.article-related p{color:#c0c2bb;line-height:1.65}
.related-actions{display:flex;gap:11px;flex-wrap:wrap}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:32px 0}
.event-info{border:1px solid #484035;border-radius:8px;background:linear-gradient(125deg,#1a1b1b,#111314);padding:22px;min-width:0}
.event-info span{display:block;color:#b0c4a3;font-size:12px;letter-spacing:1.2px;font-weight:900}
.event-info strong{display:block;color:white;margin:12px 0;font:900 clamp(29px,3.6vw,47px)/1 var(--display)}
.event-info p{font-size:13px;line-height:1.65;color:#c9c4b8;margin:0}
.article-end-actions{text-align:center;margin-top:20px}
.external-feature-link{display:inline-flex;border:1px solid #95a487;background:#1c2a20;color:#c7d9b8;font:900 19px var(--display);padding:15px 22px;border-radius:5px}
.external-feature-link:hover{background:#513918}
@media(max-width:1000px){.hyrox-inner,.box-hyrox-grid,.article-masthead-grid{gap:22px}.hyrox-intro h2{font-size:72px}.article-masthead h1{font-size:66px}}
@media(max-width:760px){.hyrox-inner,.box-hyrox-grid,.article-masthead-grid,.concept-grid{grid-template-columns:1fr}.hyrox-inner{padding-block:44px}.hyrox-visual{min-height:215px}.hyrox-word{font-size:70px}.article-masthead-grid{padding-top:35px;padding-bottom:35px}.article-masthead h1{font-size:62px}.article-photo{height:260px}.concept-card{padding:22px}.article-prose .article-intro{font-size:18px}.article-related .wrap{display:block}.event-grid{grid-template-columns:1fr}.article-related .related-actions{margin-top:17px}}
@media(max-width:480px){.hyrox-intro h2{font-size:64px}.hyrox-visual .hyrox-word{font-size:58px;letter-spacing:-3px}.article-masthead h1{font-size:52px}.article-masthead p{font-size:15px}.wide-photo-banner .section-title{font-size:38px}.article-photo{height:210px}.article-prose .article-intro{padding-left:15px}.article-related .btn{width:100%}.hyrox-actions .btn{font-size:14px}}

/* PATCH CROSSFIT V3: VALEURS 4 + DROP-IN + CTA ESSAI */
.howitworks--four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1200px){.howitworks--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.howitworks--four{grid-template-columns:minmax(0,1fr)}}
/* A ninth nav link and a longer trial CTA must not overflow the header. */
@media(max-width:1320px){
 .nav-links{position:absolute;display:none;top:90px;right:0;left:0;background:#0a0d0f;border-top:1px solid #383838;box-shadow:0 25px 40px #000d;flex-direction:column;gap:0;padding:12px 23px 24px;align-items:stretch}
 .nav-links.open{display:flex}
 .nav-links a{font-size:16px;padding:14px 10px;border-bottom:1px solid #252525;letter-spacing:1px}
 .nav-links a.active:after,.nav-links a:hover:after{height:2px;bottom:0}
 .hamburger{display:inline-flex;margin-left:auto}
 .nav-cta{margin-left:0}
}
@media(max-width:760px){.nav-links{top:77px}}
@media(max-width:480px){.nav-cta{white-space:normal;max-width:185px;text-align:center;line-height:1.12;font-size:11px;padding:8px 10px;gap:6px}}
@media(max-width:380px){.nav-inner{padding:0 8px;gap:6px}.brand{flex-basis:64px;width:64px}.brand img{max-width:61px;height:62px}.nav-cta{max-width:166px;font-size:10px;padding:7px 7px}.hamburger{padding:6px}}

/* PATCH CFVDG PLANNING 2026-10-12 / GOOGLE MAPS */
.week-days{grid-template-columns:repeat(7,minmax(0,1fr))}
.schedule-actual-grid{grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}
.schedule-actual-grid .course-card{min-height:120px;padding:21px 18px;display:flex;flex-direction:column;gap:12px}
.schedule-actual-grid .course-card .course-time{display:block;font-size:17px;font-weight:900;color:var(--yellow);letter-spacing:0}
.schedule-actual-grid .course-card .course-time small{font-size:13px;color:#c4c8c4;font-weight:600}
.schedule-actual-grid .course-card h3{font-size:clamp(22px,2.25vw,31px);line-height:1.08;margin:0;color:#fff}
.schedule-actual-grid .course-card[data-type="engine"]{border-top-color:#5abac0}
.schedule-actual-grid .course-card[data-type="haltero"]{border-top-color:#a5aab1}
.schedule-actual-grid .course-card[data-type="team"]{border-top-color:#edaf45}
@media(max-width:1050px){.week-days{display:flex;overflow:auto;gap:8px;padding-bottom:8px}.day-btn{flex:0 0 108px}.schedule-actual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.schedule-actual-grid{grid-template-columns:1fr}.schedule-actual-grid .course-card{min-height:100px}}
@media(max-width:480px){.day-btn{flex:0 0 78px}}

/* CFVDG WEEK_FILTER_AND_SUNDAY_REST_V1: HYROX sled push, weekly filter and Sunday recovery */
.hyrox-visual{
  background-image:linear-gradient(90deg,rgba(8,10,12,.56),rgba(8,10,12,.30)),url('assets/hyrox-sled-push.webp');
  background-position:center,center 48%;
  background-size:cover;
}
.week-days.is-week-filtered{display:none !important}
.schedule-week-summary[hidden]{display:none !important}
.schedule-week-summary{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin-top:24px;padding:22px 25px;border-radius:8px;
  background:linear-gradient(110deg,#162018,#101618);border:1px solid #5e7355;
}
.schedule-week-summary .schedule-week-kicker{
  display:block;color:#b0c4a3;font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;
}
.schedule-week-summary p{
  margin:6px 0;font-family:var(--display);font-size:clamp(20px,2.3vw,31px);text-transform:uppercase;
}
.schedule-week-summary strong{color:#fff}
.schedule-week-summary small{color:#c6c7c2;font-size:13px}
.schedule-reset{
  flex:0 0 auto;border:1px solid #b0c4a3;border-radius:5px;background:transparent;
  color:#b0c4a3;font-weight:900;font-size:13px;text-transform:uppercase;
  padding:13px 18px;transition:background .2s,color .2s;
}
.schedule-reset:hover{background:#b0c4a3;color:#171717}
.schedule-week-view,.schedule-rest-view{display:block;min-height:0}
.schedule-week-day{margin-top:28px}
.schedule-week-day-title{
  color:#d0deca;margin:0;font-family:var(--display);
  font-size:clamp(23px,2.5vw,34px);text-transform:uppercase;line-height:1.1;
  border-bottom:1px solid #343636;padding-bottom:11px;
}
.schedule-week-day-slots{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:15px;
}
.rest-day-card{
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  overflow:hidden;min-height:320px;border:1px solid #414646;
  border-top:4px solid #b0c4a3;border-radius:10px;
  background:linear-gradient(115deg,#202525,#101315);
}
.rest-day-card>img{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center}
.rest-day-copy{padding:clamp(24px,4.5vw,54px);display:flex;flex-direction:column;justify-content:center}
.rest-day-copy h3{margin:12px 0;font-family:var(--display);font-size:clamp(47px,6vw,78px);line-height:.95;color:white}
.rest-day-copy p{font-size:16px;line-height:1.7;color:#d7d9d5;max-width:460px;margin:10px 0 22px}
.rest-day-tag{font-weight:900;letter-spacing:1px;color:#b0c4a3;font-size:11px}
@media(max-width:1050px){.schedule-week-day-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .schedule-week-summary{align-items:stretch;flex-direction:column;gap:14px;padding:18px}
  .schedule-reset{width:100%}
  .rest-day-card{grid-template-columns:1fr}
  .rest-day-card>img{height:220px;min-height:0}
  .rest-day-copy{padding:28px}
}
@media(max-width:600px){.schedule-week-day-slots{grid-template-columns:1fr}}

/* CFVDG_KIDS_CELINE_ROSE_V1 */
/* Keep the sage identity and compact navigation while adding a 10th link. */
@media(min-width:1321px){.nav-links{gap:clamp(8px,1vw,18px)}.nav-links a{letter-spacing:.75px}}
/* Image-only photographs, no pre-composed screenshot or text baked into these sections. */
.highlight-card--rose .highlight-photo{width:76%;object-fit:cover;object-position:center 42%;filter:saturate(.98)}
.article-masthead--rose .article-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.coach-card img[src*="cfvdg-coach-celine-v1"]{object-position:center 18%;filter:saturate(.90) contrast(1.04)}
.kids-page .kids-banner{min-height:255px;background:linear-gradient(90deg,#0b0e0fee,#0b0e0fd9),linear-gradient(115deg,#202d25,#0b1011);border-bottom:1px solid #323937}
.kids-page .kids-banner .eyebrow{color:#b0c4a3}
.kids-feature{display:grid;grid-template-columns:1.02fr .98fr;gap:38px;align-items:center}
.kids-feature .copy p{color:#c2c9c4;font-size:15px;line-height:1.85;max-width:620px}
.kids-photo{position:relative;min-height:430px;overflow:hidden;border:1px solid #425048;border-radius:12px;background:#151a1b;box-shadow:0 20px 45px #0006}
.kids-photo img{width:100%;height:480px;object-fit:cover;object-position:center 43%;filter:saturate(.86) contrast(1.07)}
.kids-photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#070b0c82 0%,transparent 55%)}
.kids-photo-tag{position:absolute;left:22px;bottom:22px;z-index:1;padding:10px 15px;background:#101919de;color:#d5e5ce;border:1px solid #b0c4a369;border-radius:6px;font:normal 21px var(--display);text-transform:uppercase;letter-spacing:.6px}
.kids-timetable{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:29px 0}
.kids-slot{background:#151c1a;border:1px solid #435248;border-top:4px solid #a5b99a;border-radius:9px;padding:27px 25px;min-height:188px}
.kids-slot .time{font:normal clamp(31px,3vw,44px)/1.1 var(--display);color:#b8cda9;letter-spacing:.5px}
.kids-slot h3{font:normal 29px var(--display);margin:18px 0 8px;text-transform:uppercase}
.kids-slot p{font-size:13px;line-height:1.65;color:#bfc8c1;margin:0}
.kids-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:24px}
.kids-note{padding:14px 19px;border-left:3px solid #a5b99a;background:#18201c;font-size:13px;line-height:1.7;color:#cbd7cd}
.schedule-actual-grid .course-card[data-type="kids"]{border-top-color:#95b999}
.schedule-actual-grid .course-card[data-type="kids"] h3{font-size:clamp(21px,2vw,26px)}
@media(max-width:900px){.kids-feature{grid-template-columns:1fr;gap:25px}.kids-photo{min-height:360px}.kids-photo img{height:420px}}
@media(max-width:760px){.kids-timetable{grid-template-columns:1fr;gap:12px}.kids-slot{min-height:0;padding:21px}.kids-slot h3{margin:9px 0}}
@media(max-width:520px){.kids-photo img{height:340px}.kids-photo{min-height:0}.kids-photo-tag{font-size:17px}.kids-actions .btn{width:100%}}

/* CFVDG_BLACKSMITH_LOGO_INTEGRE_V1 */
/* L'embleme possede un fond presque noir : l'integration par fusion
   supprime le carre noir sans toucher au dessin du logo d'origine. */
.article-masthead--battle .article-photo {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.article-masthead--battle .article-photo img[src*="blacksmith-battle-logo"] {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: contain !important;
  padding: 0 !important;
  mix-blend-mode: lighten;
}

/* CFVDG_HOME_BOX_UP_V1 */
/* Photo editoriale et quatre valeurs (2x2), avec mise en page responsive. */
.home-values .cfvdg-values-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(230px, .81fr) minmax(0, 1.34fr);
  align-items: center;
  gap: clamp(16px, 2vw, 29px);
}
.home-values .cfvdg-values-layout .copy {min-width: 0;}
.home-values .cfvdg-values-layout .copy p {
  color: #c3c7c4; font-size: 14px; line-height: 1.7; margin: 0 0 22px;
}
.home-values .cfvdg-values-photo {
  margin: 0; min-width: 0; height: 440px; overflow: hidden;
  border: 1px solid #536251; border-radius: 9px;
  box-shadow: 0 15px 38px #0006;
  background: #14191a;
}
.home-values .cfvdg-values-photo img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center 40%;
  filter: saturate(.92) contrast(1.04);
}
.home-values .cfvdg-values-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px; min-width: 0;
}
.home-values .cfvdg-values-grid .value-item {
  display: flex; flex-direction: column; align-items: flex-start;
  text-align: left; min-width: 0; min-height: 202px;
  margin: 0; padding: 23px 18px;
  border: 1px solid #3b4840; border-top: 3px solid #b0c4a3;
  border-radius: 8px; background: linear-gradient(140deg, #1b2220, #111618);
}
.home-values .cfvdg-values-grid .value-item .ico {
  display: block; color: #b0c4a3; width: 33px; height: 33px; margin: 0 0 10px;
}
.home-values .cfvdg-values-grid .value-item h3 {
  font-size: clamp(19px, 1.8vw, 25px); margin: 0 0 10px; line-height: 1.06;
  overflow-wrap: break-word;
}
.home-values .cfvdg-values-grid .value-item p {
  color: #c3c7c4; font-size: 12px; line-height: 1.55; margin: 0;
}
/* Bouton discret accessible en bas a droite apres defilement. */
.cfvdg-scroll-top {
  position: fixed; right: 23px; bottom: 23px; z-index: 90;
  width: 47px; height: 47px; padding: 0;
  display: flex; align-items: center; justify-content: center;
  color: #e9f3e1; background: #18221ee8;
  border: 1px solid #b0c4a3a8; border-radius: 50%;
  box-shadow: 0 10px 26px #0009; cursor: pointer;
  opacity: 0; visibility: hidden;
  transform: translateY(10px);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.cfvdg-scroll-top.is-visible {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.cfvdg-scroll-top:hover {background: #2b3a2f; transform: translateY(-3px);}
.cfvdg-scroll-top svg {display:block; width: 23px; height: 23px;}
.cfvdg-scroll-top:focus-visible {outline: 3px solid #c7d9b8; outline-offset: 3px;}
@media (max-width: 1150px) {
  .home-values .cfvdg-values-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: center;
  }
  .home-values .cfvdg-values-grid {grid-column: 1 / -1;}
  .home-values .cfvdg-values-grid .value-item {min-height: 165px;}
}
@media (max-width: 760px) {
  .home-values .cfvdg-values-layout {grid-template-columns: minmax(0, 1fr); gap: 22px;}
  .home-values .cfvdg-values-photo {height: 355px;}
  .home-values .cfvdg-values-grid {grid-column: 1;}
  .home-values .cfvdg-values-grid .value-item {min-height: 160px; padding: 17px 13px;}
  .home-values .cfvdg-values-grid .value-item h3 {font-size: 20px;}
  .cfvdg-scroll-top {right: 14px; bottom: 14px; width: 44px; height: 44px;}
}
@media (max-width: 380px) {
  .home-values .cfvdg-values-grid {grid-template-columns: minmax(0, 1fr);}
  .home-values .cfvdg-values-grid .value-item {min-height: 0;}
}
@media (prefers-reduced-motion: reduce) {
  .cfvdg-scroll-top {transition: none;}
}

/* CFVDG_HOME_VALUES_IMMERSIVE_V2 */
/* Desktop : contenu / 4 valeurs / photo immersive, sans cadre. */
.home-values {overflow: hidden;}
.home-values .cfvdg-values-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.99fr) minmax(0, 1.19fr) minmax(0, 0.98fr);
  gap: clamp(12px, 1.75vw, 24px);
  align-items: center;
}
.home-values .cfvdg-values-layout > .copy {grid-column: 1; grid-row: 1;}
.home-values .cfvdg-values-grid {
  grid-column: 2; grid-row: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.home-values .cfvdg-values-grid .value-item {
  min-height: 204px;
  padding: clamp(15px, 1.5vw, 21px);
}
.home-values .cfvdg-values-photo {
  grid-column: 3; grid-row: 1;
  position: relative; isolation: isolate;
  width: calc(100% + 42px);
  height: clamp(415px, 34vw, 500px);
  margin: -18px -42px -18px -13px;
  border: 0; border-radius: 0;
  background: transparent; box-shadow: none;
  overflow: visible;
}
.home-values .cfvdg-values-photo img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 40%;
  filter: saturate(.86) contrast(1.08) brightness(.90);
  -webkit-mask-image: radial-gradient(ellipse 59% 61% at 55% 50%, #000 45%, transparent 100%);
  mask-image: radial-gradient(ellipse 59% 61% at 55% 50%, #000 45%, transparent 100%);
}
/* Tablette : titre pleine largeur, valeurs a gauche et photo fondue a droite. */
@media (max-width: 1180px) {
  .home-values .cfvdg-values-layout {
    grid-template-columns: minmax(0, 1.10fr) minmax(0, .90fr);
    gap: 22px;
  }
  .home-values .cfvdg-values-layout > .copy {
    grid-column: 1 / -1; grid-row: 1;
    max-width: 760px;
  }
  .home-values .cfvdg-values-grid {
    grid-column: 1; grid-row: 2;
  }
  .home-values .cfvdg-values-photo {
    grid-column: 2; grid-row: 2;
    width: calc(100% + 30px); height: 430px;
    margin: -12px -30px -12px -9px;
  }
}
/* Telephone : texte, quatre valeurs en 2x2, puis photo sans encadrement. */
@media (max-width: 760px) {
  .home-values .cfvdg-values-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 19px;
  }
  .home-values .cfvdg-values-layout > .copy {grid-column: 1; grid-row: 1;}
  .home-values .cfvdg-values-grid {grid-column: 1; grid-row: 2; gap: 10px;}
  .home-values .cfvdg-values-grid .value-item {
    min-height: 164px; padding: 15px 12px;
  }
  .home-values .cfvdg-values-grid .value-item h3 {font-size: clamp(16px, 4.5vw, 22px);}
  .home-values .cfvdg-values-photo {
    grid-column: 1; grid-row: 3;
    width: 100%; height: 340px;
    margin: -7px 0 -18px;
    justify-self: stretch;
  }
  .home-values .cfvdg-values-photo img {object-position: center 35%;}
}
@media (max-width: 380px) {
  .home-values .cfvdg-values-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .home-values .cfvdg-values-grid .value-item {min-height: 177px;}
  .home-values .cfvdg-values-grid .value-item h3 {font-size: 17px;}
  .home-values .cfvdg-values-grid .value-item p {font-size: 11px;}
}

/* CFVDG_RECOVERY_CONCEPT_TARIFS_V2 */
/* Only the Recovery feature and article; existing CFVDG colors are retained. */
.highlight-card--recovery {background:#101b1e;}
.highlight-card--recovery .highlight-photo {width:73%;object-position:center;filter:saturate(.92);}
.recovery-banner {min-height:350px;background:#0b1011;}
.recovery-banner .copy {position:relative;z-index:2;}
.recovery-banner .copy p {max-width:575px;line-height:1.72;}
.recovery-banner .photo {
  background:linear-gradient(90deg,#0b1011 0%,#0b101150 24%,transparent 56%),
    url('assets/cfvdg-recovery-porte-fusion-b090bfb95147.png') center center/cover no-repeat;
  min-height:350px;
}
.recovery-banner .photo:before {
  background:linear-gradient(90deg,#0b1011 0%,transparent 30%);
}
.article-masthead--recovery {background:radial-gradient(circle at 65% 45%,#1e343c70,transparent 60%),#101516;}
.article-masthead--recovery .article-photo {background:#090d10;}
.article-masthead--recovery .article-photo img {object-fit:contain;}
/* Keep the existing tariffs grid and card styles; permit long prices to wrap. */
.tariff-card .price {overflow-wrap:anywhere;}
@media (max-width:760px) {
  .recovery-banner .photo {min-height:230px;background-position:center 50%;}
  .recovery-banner .copy {padding-bottom:24px;}
}

/* CFVDG_RECOVERY_BANDEAUX_IMMERSIFS_V3 */
/* Accueil: section immersive avec image fondue, sans encart / sans cadre. */
.wide-photo-banner.recovery-banner {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  overflow: hidden;
  min-height: clamp(425px, 33vw, 520px);
  border-bottom: 1px solid #323a36;
  background-color: #0b1011;
  background-image:
    linear-gradient(90deg,
      #0b1011 0%, #0b1011 21%,
      rgba(11,16,17,.96) 34%, rgba(11,16,17,.72) 50%,
      rgba(11,16,17,.22) 78%, rgba(11,16,17,.08) 100%),
    linear-gradient(0deg,
      #0b1011 0%, transparent 20%, transparent 82%,
      rgba(11,16,17,.35) 100%),
    url('assets/cfvdg-recovery-porte-fusion-b090bfb95147.png');
  background-size: cover, cover, auto 100%;
  background-position: center, center, right center;
  background-repeat: no-repeat;
}
.wide-photo-banner.recovery-banner > .photo {
  display: none;
}
.wide-photo-banner.recovery-banner > .copy {
  position: relative;
  z-index: 2;
  align-self: center;
  width: min(70%, 870px);
  max-width: 100%;
  padding: 62px 26px 62px max(36px, calc((100vw - 1370px) / 2));
}
.wide-photo-banner.recovery-banner .section-title {
  font-size: clamp(39px, 4vw, 61px);
  line-height: 1.03;
  max-width: 750px;
}
.wide-photo-banner.recovery-banner .copy p {
  max-width: 625px;
  line-height: 1.75;
}

/* Article: meme principe immersif; photo non encadree, texte lisible a gauche. */
.article-masthead.article-masthead--recovery {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 500px;
  background-color: #0b1011;
  background-image:
    linear-gradient(90deg,
      #0b1011 0%, #0b1011 22%,
      rgba(11,16,17,.97) 33%, rgba(11,16,17,.71) 52%,
      rgba(11,16,17,.20) 82%, rgba(11,16,17,.07) 100%),
    linear-gradient(0deg, #0b1011 0%, transparent 22%),
    url('assets/cfvdg-recovery-porte-fusion-b090bfb95147.png');
  background-size: cover, cover, auto 100%;
  background-position: center, center, right center;
  background-repeat: no-repeat;
}
.article-masthead--recovery .article-masthead-grid {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 500px;
  gap: 0;
  padding-top: 68px;
  padding-bottom: 68px;
}
.article-masthead--recovery .article-lede {
  position: relative;
  z-index: 2;
  flex: 0 1 65%;
  max-width: 790px;
}
.article-masthead--recovery h1 {
  font-size: clamp(53px, 6vw, 88px);
  line-height: .98;
}
.article-masthead--recovery .article-photo {
  display: none;
}

/* Tablette: proteger la lisibilite du texte sans casser les sections. */
@media (min-width: 761px) and (max-width: 1050px) {
  .wide-photo-banner.recovery-banner > .copy {width: 76%;}
  .article-masthead--recovery .article-lede {flex-basis: 72%;}
}

/* Telephone: visuel d'abord, fondu vers texte ensuite, toujours sans cadre. */
@media (max-width: 760px) {
  .wide-photo-banner.recovery-banner {
    display: block;
    min-height: 0;
    background-image:
      linear-gradient(0deg,
        #0b1011 0%, #0b1011 22%,
        rgba(11,16,17,.96) 47%,
        rgba(11,16,17,.12) 75%, rgba(11,16,17,.10) 100%),
      url('assets/cfvdg-recovery-porte-fusion-b090bfb95147.png');
    background-size: cover, 100% auto;
    background-position: center, center top;
    background-repeat: no-repeat;
  }
  .wide-photo-banner.recovery-banner > .copy {
    width: 100%;
    max-width: 100%;
    padding: clamp(235px, 58vw, 330px) 20px 44px;
  }
  .wide-photo-banner.recovery-banner .section-title {
    font-size: clamp(36px, 8vw, 49px);
  }
  .article-masthead.article-masthead--recovery {
    min-height: 0;
    background-image:
      linear-gradient(0deg,
        #0b1011 0%, #0b1011 22%,
        rgba(11,16,17,.97) 47%,
        rgba(11,16,17,.09) 76%, rgba(11,16,17,.07) 100%),
      url('assets/cfvdg-recovery-porte-fusion-b090bfb95147.png');
    background-size: cover, 100% auto;
    background-position: center, center top;
    background-repeat: no-repeat;
  }
  .article-masthead--recovery .article-masthead-grid {
    display: block;
    min-height: 0;
    padding-top: clamp(240px, 60vw, 335px);
    padding-bottom: 45px;
  }
  .article-masthead--recovery .article-lede {
    max-width: 100%;
  }
  .article-masthead--recovery h1 {
    font-size: clamp(43px, 10.5vw, 57px);
  }
}

/* CFVDG_ACTUALITES_BATTLE_LOGO_V1 */
/* Logo de la competition, sans ecraser l'identite des autres vignettes. */
.news-card--battle .visual {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: radial-gradient(ellipse at center, #1b2521 0%, #080b0c 78%);
}
.news-card--battle .visual img {
  width: 100%;
  height: 100%;
  padding: clamp(12px, 2vw, 25px);
  object-fit: contain;
  object-position: center;
  mix-blend-mode: lighten;
  filter: none;
}

/* CFVDG_RECOVERY_RESPONSIVE_LAPTOP_V4 */
/* Deux heros autonomes : aucune grille, carte photo ou style .copy herite. */
.cfvdg-r4-home,
.cfvdg-r4-article {
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #303936;
  background-color: #0b1011;
  background-image:
    linear-gradient(90deg,
      #0b1011 0%, rgba(11,16,17,.99) 19%,
      rgba(11,16,17,.96) 32%, rgba(11,16,17,.76) 46%,
      rgba(11,16,17,.32) 66%, rgba(11,16,17,.06) 100%),
    linear-gradient(0deg,
      rgba(11,16,17,.66) 0%, transparent 24%,
      transparent 85%, rgba(11,16,17,.23) 100%),
    url('assets/cfvdg-recovery-porte-fusion-b090bfb95147.png');
  background-repeat: no-repeat;
  background-size: cover, cover, auto 100%;
  background-position: center, center, right center;
}
.cfvdg-r4-home-inner,
.cfvdg-r4-article-inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 1370px;
  min-width: 0;
  margin: 0 auto;
  padding-left: 36px;
  padding-right: 36px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.cfvdg-r4-home-inner { min-height: 455px; }
.cfvdg-r4-article-inner { min-height: 470px; }
.cfvdg-r4-home-content,
.cfvdg-r4-article-content {
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  display: block;
  flex: none;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 54px 0;
  align-self: center;
  overflow-wrap: normal;
  word-break: normal;
  white-space: normal;
  text-align: left;
}
.cfvdg-r4-home-content { max-width: 610px; }
.cfvdg-r4-article-content { max-width: 650px; }
.cfvdg-r4-home-content .eyebrow,
.cfvdg-r4-article-content .eyebrow {
  width: auto;
  max-width: 100%;
  letter-spacing: 2px;
  font-size: 12px;
  line-height: 1.4;
  white-space: normal;
}
.cfvdg-r4-home-content h2.section-title {
  max-width: 100%;
  margin: 12px 0 23px;
  font: 900 clamp(37px, 4.0vw, 55px)/1.05 var(--display, Impact, sans-serif);
  letter-spacing: -.25px;
  text-transform: uppercase;
  overflow-wrap: normal;
  word-break: normal;
}
.cfvdg-r4-home-content p,
.cfvdg-r4-article-content p {
  width: auto;
  max-width: 100%;
  color: #e6eae5;
  font-size: 15px;
  line-height: 1.7;
  overflow-wrap: normal;
  word-break: normal;
}
.cfvdg-r4-home-content p { margin: 0 0 23px; }
.cfvdg-r4-home-content .btn { margin-top: 3px; max-width: 100%; }
.cfvdg-r4-article-content h1 {
  max-width: 100%;
  margin: 17px 0 21px;
  font: 900 clamp(49px, 5.6vw, 76px)/.98 var(--display, Impact, sans-serif);
  letter-spacing: -.5px;
  text-transform: uppercase;
  overflow-wrap: normal;
  word-break: normal;
}
.cfvdg-r4-article-content .date-pill {
  margin: 0 0 9px;
}
.cfvdg-r4-article-content p { margin: 8px 0 0; }

/* Ecrans de laptops et tablettes en orientation horizontale. */
@media (min-width: 761px) and (max-width: 1150px) {
  .cfvdg-r4-home-inner,
  .cfvdg-r4-article-inner {
    padding-left: 30px;
    padding-right: 30px;
  }
  .cfvdg-r4-home-content {
    max-width: min(60%, 570px);
  }
  .cfvdg-r4-article-content {
    max-width: min(64%, 640px);
  }
  .cfvdg-r4-home-content h2.section-title {
    font-size: clamp(35px, 4.0vw, 46px);
  }
  .cfvdg-r4-article-content h1 {
    font-size: clamp(45px, 5.2vw, 62px);
  }
}

/* Telephones : on garde l'image immersive en haut puis le texte, sans cadre. */
@media (max-width: 760px) {
  .cfvdg-r4-home,
  .cfvdg-r4-article {
    background-image:
      linear-gradient(0deg,
        #0b1011 0%, #0b1011 19%,
        rgba(11,16,17,.98) 43%,
        rgba(11,16,17,.16) 76%, rgba(11,16,17,.06) 100%),
      url('assets/cfvdg-recovery-porte-fusion-b090bfb95147.png');
    background-size: cover, 100% auto;
    background-position: center, center top;
  }
  .cfvdg-r4-home-inner,
  .cfvdg-r4-article-inner {
    display: block;
    min-height: 0;
    padding: 0 20px;
  }
  .cfvdg-r4-home-content,
  .cfvdg-r4-article-content {
    width: 100%;
    max-width: none;
    padding: clamp(238px, 60vw, 334px) 0 43px;
  }
  .cfvdg-r4-home-content h2.section-title {
    font-size: clamp(34px, 8.6vw, 48px);
    line-height: 1.02;
  }
  .cfvdg-r4-article-content h1 {
    font-size: clamp(44px, 10.4vw, 58px);
    line-height: .98;
  }
  .cfvdg-r4-home-content p,
  .cfvdg-r4-article-content p {
    font-size: 14px;
    line-height: 1.65;
  }
}

/* CFVDG_RECOVERY_ARTICLE_IMAGE_COMPLETE_V5 */
/* ARTICLE SEULEMENT : image entiere en fond, sans carte, sans rognage. */
@media (min-width: 761px) {
  .cfvdg-r4-article.cfvdg-r5-article {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #0b1011 !important;
  }
  .cfvdg-r5-article .cfvdg-r5-article-media {
    position: absolute;
    inset: 0 0 0 auto;
    width: min(68%, 1020px);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .cfvdg-r5-article .cfvdg-r5-article-media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: right center;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .cfvdg-r5-article::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(90deg,
        #0b1011 0%, #0b1011 21%, rgba(11,16,17,.97) 31%,
        rgba(11,16,17,.83) 43%, rgba(11,16,17,.40) 59%,
        rgba(11,16,17,.08) 78%, transparent 100%),
      linear-gradient(0deg, rgba(11,16,17,.42), transparent 25%);
  }
  .cfvdg-r5-article .cfvdg-r4-article-inner {
    position: relative;
    z-index: 2;
  }
}
/* Sur mobile : rendu V4 deja approuve, inchange visuellement. */
@media (max-width: 760px) {
  .cfvdg-r5-article .cfvdg-r5-article-media { display: none !important; }
  .cfvdg-r4-article.cfvdg-r5-article {
    background-image:
      linear-gradient(0deg,
        #0b1011 0%, #0b1011 19%,
        rgba(11,16,17,.98) 43%,
        rgba(11,16,17,.16) 76%, rgba(11,16,17,.06) 100%),
      url('assets/cfvdg-recovery-porte-fusion-b090bfb95147.png') !important;
    background-size: cover, 100% auto !important;
    background-position: center, center top !important;
    background-repeat: no-repeat !important;
  }
  .cfvdg-r5-article::after { content: none; }
}

/* CFVDG_RECOVERY_ARTICLE_ALIGNMENT_V6 */
/* Sur laptop, meme largeur et meme retrait que .article-prose. */
@media (min-width: 1100px) {
  .cfvdg-r5-article .cfvdg-r4-article-inner {
    width: 100%;
    max-width: 1020px;
    min-height: 470px;
    margin-inline: auto;
    padding-inline: 36px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .cfvdg-r5-article .cfvdg-r4-article-content {
    flex: 0 1 625px;
    width: 100%;
    max-width: 625px;
    min-width: 0;
    padding-block: 48px;
  }
  .cfvdg-r5-article .cfvdg-r4-article-content h1 {
    font-size: clamp(51px, 4.55vw, 66px);
    line-height: 1.01;
    letter-spacing: -.5px;
    max-width: 100%;
  }
  .cfvdg-r5-article .cfvdg-r4-article-content p { max-width: 565px; }
}

/* CFVDG_RECOVERY_ARTICLE_ALIGN_TO_CONTACT_V7 */
/* La marge gauche de reference est celle de .article-related .wrap (PARLONS). */
@media (min-width: 761px) {
  .cfvdg-r5-article .cfvdg-r4-article-inner,
  .cfvdg-r5-article + .article-body > .wrap.article-prose {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--max, 1370px);
    margin-left: auto;
    margin-right: auto;
    padding-left: 36px;
    padding-right: 36px;
  }
  .cfvdg-r5-article + .article-body > .wrap.article-prose > * {
    max-width: 940px;
  }
  /* Le mot (pas seulement le bloc) commence au meme x que PARLONS. */
  .cfvdg-r5-article + .article-body > .wrap.article-prose > h2::before {
    content: none;
  }
  .cfvdg-r5-article + .article-body > .wrap.article-prose > h2::after {
    content: "";
    display: inline-block;
    width: 32px;
    height: 4px;
    margin-left: 16px;
    vertical-align: middle;
    background: var(--yellow, #b0c4a3);
  }
  .cfvdg-r5-article + .article-body > .wrap.article-prose > .article-intro {
    border-left: 0;
    padding-left: 0;
  }
  .cfvdg-r5-article + .article-body > .wrap.article-prose > .article-intro::before {
    content: "";
    display: block;
    width: 32px;
    height: 4px;
    margin: 0 0 15px;
    background: var(--yellow, #b0c4a3);
  }
}

/* CFVDG_DYNAMIC_NEWS_CAROUSEL_V1 */
/* Non-JS visitors retain the original hero and the existing highlight cards. */
.hero.cfvdg-news-carousel { position:relative; isolation:isolate; }
.cfvdg-news-viewport {position:absolute;inset:0;z-index:1;overflow:hidden;}
.cfvdg-news-stage {position:absolute;inset:0;display:flex;align-items:center;isolation:isolate;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease, visibility 0s linear .65s;}
.cfvdg-news-stage.cfvdg-news-stage--active {opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition:opacity .65s ease, visibility 0s;}
.cfvdg-news-stage--original .hero-photo {z-index:-1;}
.cfvdg-news-stage .wrap {width:100%;position:relative;z-index:4;}
.cfvdg-news-stage--new {background:radial-gradient(circle at 86% 38%,#26342e,#080c0d 70%);}
.cfvdg-news-background {position:absolute;inset:0 0 0 38%;z-index:0;pointer-events:none;overflow:hidden;}
.cfvdg-news-background::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080a0b 0%,#080a0bed 13%,#080a0b86 40%,#080a0b00 75%),linear-gradient(0deg,#080a0bd4,transparent 33%);pointer-events:none;}
.cfvdg-news-background img {width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.88);}
.cfvdg-news-background--logo {background:radial-gradient(ellipse at 65% 55%,#304337 0%,#101b1b 57%,#090d0e 95%);}
.cfvdg-news-background img.cfvdg-news-media-logo {object-fit:contain;object-position:center right;padding:45px 5% 45px 20%;filter:drop-shadow(0 12px 18px #0009);}
.cfvdg-news-background--logo::after {background:linear-gradient(90deg,#080a0b 0%,#080a0bd9 22%,transparent 72%);}
.cfvdg-news-copy {max-width:min(670px,62vw);position:relative;z-index:4;}
.hero .cfvdg-news-copy .eyebrow {font-size:14px;letter-spacing:2.5px;}
.hero .cfvdg-news-title {font:900 clamp(42px,4.8vw,74px)/.99 var(--display);text-transform:uppercase;letter-spacing:-.4px;margin:15px 0 23px;text-shadow:2px 5px 16px #000c;overflow-wrap:break-word;}
.hero .cfvdg-news-copy p {max-width:560px;line-height:1.65;margin-bottom:25px;}
.cfvdg-news-controls {position:absolute;right:29px;bottom:21px;z-index:12;display:flex;align-items:center;gap:8px;padding:5px 8px;background:#090e10c9;border:1px solid #65755c7a;border-radius:999px;box-shadow:0 10px 28px #0007;backdrop-filter:blur(7px);}
.cfvdg-news-control,.cfvdg-news-dot {appearance:none;border:0;cursor:pointer;color:#f8fbf4;background:none;display:inline-grid;place-items:center;}
.cfvdg-news-control {min-width:29px;min-height:29px;border-radius:50%;font-size:22px;line-height:1;}
.cfvdg-news-control:hover,.cfvdg-news-control:focus-visible {background:#bed2b224;color:#fff;}
.cfvdg-news-pause {padding:0 9px;font-size:11px;min-width:auto;border-radius:16px;letter-spacing:.3px;font-weight:700;}
.cfvdg-news-dots {display:flex;align-items:center;gap:6px;}
.cfvdg-news-dot {width:21px;height:29px;position:relative;}
.cfvdg-news-dot::before {content:"";width:8px;height:8px;background:#c0c8ba8a;border-radius:50%;transition:width .2s,background .2s,border-radius .2s;}
.cfvdg-news-dot.is-active::before {width:20px;border-radius:8px;background:#b0c4a3;}
.cfvdg-news-counter {font-size:11px;color:#d1dbca;min-width:35px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;}
.cfvdg-news-visually-hidden {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.highlights-grid.cfvdg-news-many {grid-template-columns:repeat(3,minmax(0,1fr));}
.highlights-grid .highlight-photo.cfvdg-news-logo {object-fit:contain!important;padding:9px 8px;filter:drop-shadow(0 2px 6px #000d);}
@media(max-width:1100px) {
  .cfvdg-news-copy {max-width:64vw;}
  .hero .cfvdg-news-title {font-size:clamp(40px,5.3vw,60px);}
  .cfvdg-news-controls {bottom:14px;right:16px;}
}
@media(max-width:1030px) {
  .highlights-grid.cfvdg-news-many {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px) {
  .hero.cfvdg-news-carousel {min-height:745px;}
  .cfvdg-news-stage {align-items:flex-start;}
  .cfvdg-news-stage--new .wrap {padding-top:330px;padding-bottom:105px;}
  .cfvdg-news-stage--original .wrap {padding-bottom:105px;}
  .cfvdg-news-background {inset:0 0 34% 0;}
  .cfvdg-news-background::after {background:linear-gradient(0deg,#080a0b 1%,#080a0b6b 40%,#0006 100%),linear-gradient(90deg,#080a0ba0,transparent 60%);}
  .cfvdg-news-background img.cfvdg-news-media-logo {padding:35px 10% 80px;object-position:center;}
  .cfvdg-news-copy {max-width:100%;}
  .hero .cfvdg-news-title {font-size:clamp(38px,8.5vw,54px);line-height:1.02;margin-bottom:17px;}
  .hero .cfvdg-news-copy p {font-size:13px;line-height:1.55;max-width:100%;}
  .cfvdg-news-controls {left:50%;right:auto;bottom:13px;transform:translateX(-50%);white-space:nowrap;max-width:calc(100% - 14px);gap:3px;}
  .cfvdg-news-dots {gap:1px;}
  .cfvdg-news-dot {width:17px;}
  .cfvdg-news-counter {min-width:32px;}
}
@media(max-width:480px) {
  .hero.cfvdg-news-carousel {min-height:780px;}
  .cfvdg-news-stage--new .wrap {padding-top:335px;}
  .cfvdg-news-stage--original .wrap {padding-top:344px;}
  .hero .cfvdg-news-title {font-size:clamp(35px,9vw,43px);}
  .cfvdg-news-controls {padding:5px 7px;}
  .cfvdg-news-control {min-width:25px;}
  .cfvdg-news-pause {font-size:10px;padding:0 6px;}
  .cfvdg-news-counter {font-size:10px;min-width:27px;}
  .highlights-grid.cfvdg-news-many {grid-template-columns:minmax(0,1fr);}
}
@media(prefers-reduced-motion:reduce) {
  .cfvdg-news-stage,.cfvdg-news-stage.cfvdg-news-stage--active {transition:none!important;}
  .cfvdg-news-dot::before {transition:none;}
}

/* CFVDG_DYNAMIC_NEWS_CAROUSEL_V2 */
/* A natural-height, stacked grid prevents cutting the original hero CTA.
   CSS grid allocates the tallest slide height without JS measurements. */
.hero.cfvdg-news-carousel {
  display: block;
  min-height: 0;
  height: auto;
  overflow: hidden;
}
.hero.cfvdg-news-carousel > .cfvdg-news-viewport {
  position: relative;
  inset: auto;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: visible;
}
.hero.cfvdg-news-carousel .cfvdg-news-stage {
  position: relative;
  inset: auto;
  grid-area: 1 / 1;
  min-width: 0;
  min-height: 670px;
  align-self: stretch;
  overflow: hidden;
}
/* Reserve a line at the bottom for nav + the anniversary footer. */
.hero.cfvdg-news-carousel .cfvdg-news-stage--original > .wrap {
  padding-bottom: 116px;
}
.hero.cfvdg-news-carousel .cfvdg-news-stage--new > .wrap {
  padding-bottom: 100px;
}
@media (max-width: 1100px) {
  .hero.cfvdg-news-carousel .cfvdg-news-stage--original .hero-footer {display: none;}
}
@media (max-width: 760px) {
  .hero.cfvdg-news-carousel .cfvdg-news-stage {min-height: 745px;}
  .hero.cfvdg-news-carousel .cfvdg-news-stage--original > .wrap,
  .hero.cfvdg-news-carousel .cfvdg-news-stage--new > .wrap {padding-bottom: 120px;}
}
@media (max-width: 480px) {
  .hero.cfvdg-news-carousel .cfvdg-news-stage {min-height: 780px;}
}

/* CFVDG_RECOVERY_FUSION_V3_START
   Dedicated to the home Recovery banner. New photo is masked into the
   dark background; no modification to global cards or other banners. */
.wide-photo-banner.recovery-banner {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  background: #080e10 !important;
}
.wide-photo-banner.recovery-banner > .copy {
  position: relative !important;
  z-index: 2 !important;
}
.wide-photo-banner.recovery-banner > .photo {
  display: block !important;
  position: absolute !important;
  inset: 0 0 0 auto !important;
  width: min(55%, 880px) !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  background-image: url('assets/cfvdg-recovery-porte-fusion-b090bfb95147.png') !important;
  background-repeat: no-repeat !important;
  background-position: right center !important;
  background-size: auto 103% !important;
  -webkit-mask-image: linear-gradient(to right,
    transparent 0%, rgba(0,0,0,.09) 21%, rgba(0,0,0,.36) 46%,
    rgba(0,0,0,.79) 77%, #000 100%);
  mask-image: linear-gradient(to right,
    transparent 0%, rgba(0,0,0,.09) 21%, rgba(0,0,0,.36) 46%,
    rgba(0,0,0,.79) 77%, #000 100%);
  filter: saturate(.94) brightness(.94);
}
/* Old overlay is irrelevant with masked photo; avoid a hard vertical seam. */
.wide-photo-banner.recovery-banner > .photo::before,
.wide-photo-banner.recovery-banner > .photo::after {
  content: none !important;
  display: none !important;
}
@media (max-width: 850px) {
  .wide-photo-banner.recovery-banner > .copy {
    width: 100% !important;
    max-width: 100% !important;
  }
  .wide-photo-banner.recovery-banner > .photo {
    width: 100% !important;
    background-size: auto 92% !important;
    background-position: right bottom !important;
    opacity: .42;
    -webkit-mask-image: linear-gradient(to right,
      transparent 0%, rgba(0,0,0,.20) 45%, #000 100%);
    mask-image: linear-gradient(to right,
      transparent 0%, rgba(0,0,0,.20) 45%, #000 100%);
  }
}
/* CFVDG_RECOVERY_FUSION_V3_END */

/* CFVDG_V4_COACHS_DROPIN_BLACKSMITH_FAVICON BEGIN: fiches coachs, contact Drop-in, bouton externe Blacksmith */
.coach-grid .cfvdg-coach-profile{min-width:0;display:flex;flex-direction:column;gap:0}
.cfvdg-coach-profile .coach-card{width:100%;flex:0 0 auto}
.cfvdg-coach-facts{flex:1;background:#11191b;border:1px solid #2b3738;border-top:0;
  padding:20px 18px 24px;border-radius:0 0 12px 12px}
.cfvdg-coach-facts dl{margin:0;display:grid;gap:13px}
.cfvdg-coach-fact dt{color:#bcd2ae;font-size:12px;letter-spacing:.02em;font-weight:700;margin:0 0 4px}
.cfvdg-coach-fact dd{color:#f0f2ee;font-size:14px;line-height:1.45;margin:0}
html.cfvdg-dropin .contact-aside{display:none!important}
html.cfvdg-dropin .contact-grid{display:block!important;max-width:940px!important;margin-left:auto!important;margin-right:auto!important}
html.cfvdg-dropin .contact-form-panel{width:100%!important;max-width:none!important}
.cfvdg-scoring-action{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:100%}
.cfvdg-scoring-btn{white-space:normal;text-align:center;line-height:1.4}
.cfvdg-scoring-note{font-size:13px;line-height:1.5;color:#bcc4c0;margin:12px 0 0}
/* CFVDG_V4_COACHS_DROPIN_BLACKSMITH_FAVICON END */

/* CFVDG_BOX_INTEGRATED_STICKY_V6_BEGIN
   Keep the existing header sticky throughout scrolling: the outer .site
   must not form a hidden-overflow scroll container. No fixed overlay. */
.topbar {position:sticky;top:0;z-index:1000;}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-history-photo,
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-concept-photo,
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-photo {
  position:relative;margin:0;overflow:hidden;border-radius:12px;
  border:1px solid rgba(176,196,163,.23);background:#101718;
  box-shadow:0 18px 48px rgba(0,0,0,.24);
}
[data-cfvdg-box-layout="v6"] figure img{display:block;width:100%;object-fit:cover;}
[data-cfvdg-box-layout="v6"] figure figcaption{color:#d9e5d2;font-size:11px;font-weight:800;
  line-height:1.5;letter-spacing:.095em;text-transform:uppercase;}
/* Existing 2016/community text, with its original photo slot replaced. */
[data-cfvdg-box-layout="v6"] .simple-grid {grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:clamp(28px,4vw,54px);}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-history-photo {height:clamp(355px,40vw,470px);}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-history-photo img {
  height:100%;object-position:center 48%;border:0;border-radius:0;
}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-history-photo::after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(5,11,12,.83),transparent 38%);
}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-history-photo figcaption{
  position:absolute;left:22px;bottom:19px;right:14px;z-index:1;
}
/* Equipments illustrate the two existing concept paragraphs; no gallery. */
[data-cfvdg-box-layout="v6"] .concept-card{display:flex;flex-direction:column;}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-concept-photo{margin-top:auto;box-shadow:none;background:#11191b;}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-concept-photo img{height:245px;object-position:center 51%;}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-concept-photo--rameurs img{object-position:center 59%;}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-concept-photo--bikes img{object-position:center 55%;}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-concept-photo figcaption{
  min-height:39px;padding:11px 14px;background:#11191b;
}
/* Sleds stand beside, not above, the four coaching values. */
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-layout{
  display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.82fr);
  gap:20px;align-items:stretch;margin-top:24px;
}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-layout .howitworks--four{
  grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-photo{min-height:425px;}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-photo img{
  height:100%;min-height:425px;object-position:center 65%;
}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(6,12,13,.80),transparent 35%);
}
[data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-photo figcaption{
  position:absolute;bottom:19px;left:18px;right:12px;z-index:1;
}
@media(max-width:980px){
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-layout{grid-template-columns:1fr;}
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-photo{height:365px;min-height:0;}
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-photo img{height:100%;min-height:0;object-position:center 66%;}
}
@media(max-width:760px){
  [data-cfvdg-box-layout="v6"] .simple-grid{grid-template-columns:1fr;}
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-history-photo{height:300px;}
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-concept-photo img{height:290px;}
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-layout .howitworks--four{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-history-photo{height:260px;}
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-concept-photo img{height:255px;}
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-layout .howitworks--four{grid-template-columns:1fr;}
  [data-cfvdg-box-layout="v6"] .cfvdg-box-v6-values-photo{height:340px;}
}
/* CFVDG_BOX_INTEGRATED_STICKY_V6_END */

/* CFVDG_V7_COACHS_SUR_ACCUEIL - begin */
.cfvdg-v7-home-coaches { scroll-margin-top: 104px; }
.cfvdg-v7-home-coaches .coach-layout { display: block; }
.cfvdg-v7-home-coaches .coach-layout > .copy {
  display: block; max-width: 760px; margin-bottom: 28px;
}
.cfvdg-v7-home-coaches .coach-layout > .copy .muted {
  font-size: 15px; line-height: 1.65; margin-bottom: 0;
}
.cfvdg-v7-home-coaches .coach-grid {
  display: grid; grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px; align-items: stretch;
}
.cfvdg-v7-home-coaches .cfvdg-coach-profile {
  min-width: 0; display: flex; flex-direction: column;
}
.cfvdg-v7-home-coaches .cfvdg-coach-profile > .coach-card {
  height: 260px; border-radius: 10px 10px 0 0;
}
.cfvdg-v7-home-coaches .cfvdg-coach-facts {
  border-radius: 0 0 10px 10px;
  padding: 20px 17px 22px;
}
.cfvdg-v7-home-coaches .cfvdg-coach-facts dl { gap: 15px; }
@media (max-width: 1100px) {
  .cfvdg-v7-home-coaches .coach-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px;
  }
}
@media (max-width: 600px) {
  .cfvdg-v7-home-coaches .coach-grid {
    grid-template-columns: minmax(0,1fr); gap: 18px;
  }
  .cfvdg-v7-home-coaches .cfvdg-coach-profile > .coach-card { height: 305px; }
}
/* CFVDG_V7_COACHS_SUR_ACCUEIL - end */

/* CFVDG_V957_HOME_VALUES_TITLE_FIT_PREVIEW */
/* Measured against the inner width of each individual grid tile. */
.home-values .cfvdg-values-grid .value-item {
  container-type: inline-size;
}
.home-values .cfvdg-values-grid .value-item h3 {
  min-width: 0;
  max-width: 100%;
  /* Fallback for browsers without container-relative units. */
  font-size: clamp(15px, 1.1vw, 19px);
  font-size: clamp(15px, 10cqi, 22px);
  line-height: 1.12;
  letter-spacing: -0.025em;
  overflow-wrap: normal;
  word-break: normal;
  white-space: normal;
  hyphens: none;
  text-wrap: balance;
}
/* On very narrow screens, never squeeze four card titles into two tiny columns. */
@media (max-width: 430px) {
  .home-values .cfvdg-values-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .home-values .cfvdg-values-grid .value-item {
    min-height: 0;
  }
}

/* CFVDG_MOBILE_UI_FIX_V333 */
/* Mobile: make carousel pagination as obvious as desktop. */
@media (max-width:760px) {
  .cfvdg-news-dots {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    align-items:center;
    gap:4px !important;
    flex:0 0 auto;
  }
  .cfvdg-news-dot {
    display:inline-grid !important;
    visibility:visible !important;
    opacity:1 !important;
    width:19px !important;
    min-width:19px !important;
    height:29px !important;
  }
  .cfvdg-news-dot::before {
    width:8px !important;
    height:8px !important;
    background:#c0c8babf !important;
  }
  .cfvdg-news-dot.is-active::before {
    width:18px !important;
    border-radius:8px !important;
    background:#b0c4a3 !important;
  }

  /* Tarifs only: the 3 cards must all remain visible on phones. */
  [data-cfvdg-tarifs-layout="mobile-v333"] .howitworks {
    grid-template-columns:minmax(0,1fr) !important;
  }
  [data-cfvdg-tarifs-layout="mobile-v333"] .howitworks > .step {
    width:100%;
    min-width:0;
  }
}

@media (max-width:430px) {
  .cfvdg-news-controls {
    gap:2px !important;
    padding:5px 6px !important;
    max-width:calc(100% - 10px) !important;
  }
  .cfvdg-news-dots { gap:2px !important; }
  .cfvdg-news-dot {
    width:17px !important;
    min-width:17px !important;
  }
  .cfvdg-news-pause {
    font-size:9px !important;
    padding:0 4px !important;
  }
  .cfvdg-news-counter {
    font-size:9px !important;
    min-width:25px !important;
  }
}

/* cfvdg-seo-v10-local-20261017-v4-noindex-safe */
.cfvdg-seo-copy{max-width:980px}
.cfvdg-seo-copy>p{font-size:1.04rem;line-height:1.75}
.cfvdg-seo-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.cfvdg-seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.cfvdg-seo-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.cfvdg-seo-card{border:1px solid var(--stroke);background:var(--card);padding:22px;border-radius:16px}
.cfvdg-seo-card h2,.cfvdg-seo-card h3{margin:0 0 10px}
.cfvdg-seo-card p{margin:0;line-height:1.65}
.cfvdg-seo-card .btn{margin-top:16px}
.cfvdg-seo-faq{display:grid;gap:10px;margin-top:22px}
.cfvdg-seo-faq details{border:1px solid var(--stroke);background:var(--card);padding:16px 18px;border-radius:12px}
.cfvdg-seo-faq summary{cursor:pointer;font-weight:700}
.cfvdg-seo-faq details p{margin:12px 0 0;line-height:1.65}
@media(max-width:980px){.cfvdg-seo-grid,.cfvdg-seo-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cfvdg-seo-grid,.cfvdg-seo-grid--four{grid-template-columns:1fr}}
