:root{
  --red:#e10600;--red2:#ff2b22;--black:#080808;--dark:#111;--dark2:#181818;
  --white:#fff;--muted:#a9a9a9;--line:#292929;--soft:#f4f4f2;
  --max:1180px;--cond:"Barlow Condensed",sans-serif;--sans:"Inter",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:#101010;font-family:var(--sans);line-height:1.55}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.site-header{height:84px;background:rgba(8,8,8,.94);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:50;border-bottom:1px solid #222}.brand img{width:76px;height:64px;object-fit:contain}.nav{display:flex;gap:27px;align-items:center;color:#eee;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav a:hover{color:#ff3128}.nav-cta{background:var(--red);padding:12px 18px;border-radius:2px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:28px}
.hero{min-height:calc(100vh - 84px);background:#070707;color:white;position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 45%,rgba(225,6,0,.28),transparent 33%),linear-gradient(110deg,#050505 0%,#0a0a0a 58%,#170000 100%)}.hero:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-180px;top:50%;transform:translateY(-50%)}.hero-content{width:min(var(--max),90%);margin:auto;position:relative;z-index:2;padding:85px 0}.eyebrow{font-family:var(--cond);font-weight:700;letter-spacing:.15em;font-size:13px;color:var(--red);margin:0 0 15px}.hero h1{font-family:var(--cond);font-size:clamp(58px,8vw,112px);line-height:.87;letter-spacing:-.02em;margin:0;max-width:850px}.hero h1 span,h2 span,.about h2 span{color:var(--red)}.hero-text{max-width:600px;color:#c5c5c5;font-size:18px;margin:30px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:15px 22px;font-weight:800;font-size:13px;letter-spacing:.08em;min-height:50px}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red2);transform:translateY(-1px)}.btn-ghost{border:1px solid #555;color:#fff}.btn-ghost:hover{border-color:#fff}.hero-pills{display:flex;gap:24px;flex-wrap:wrap;margin-top:38px;color:#aaa;font-size:12px;font-weight:600}.hero-mark{position:absolute;right:6%;bottom:-50px;font-family:var(--cond);font-size:260px;font-weight:800;color:rgba(255,255,255,.025);z-index:1}.hero-mark span{color:rgba(225,6,0,.12)}
.stats{background:#151515;color:#fff;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #272727}.stats div{padding:28px 30px;text-align:center;border-right:1px solid #272727}.stats div:last-child{border:0}.stats strong{display:block;font:800 32px var(--cond);color:#fff}.stats span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#888}
.section{max-width:var(--max);margin:auto;padding:105px 5%}.section-head{max-width:760px;margin-bottom:55px}.section-head h2,.about h2,.booking h2{font:800 clamp(42px,6vw,72px)/.95 var(--cond);margin:0 0 20px;letter-spacing:-.02em}.section-head>p:last-child{color:#666;max-width:680px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-card{background:#fff;padding:42px;min-height:270px;border:1px solid #e7e7e7;position:relative;overflow:hidden;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,0,0,.08)}.service-card.featured{background:#111;color:#fff;border-color:#111}.service-number{font:800 58px var(--cond);color:#ddd;position:absolute;right:28px;top:20px}.featured .service-number{color:#333}.service-card h3{font:800 28px var(--cond);margin:45px 0 10px}.service-card p{color:#777;max-width:430px}.featured p{color:#aaa}.service-card a{color:var(--red);font-weight:800;font-size:13px;text-transform:uppercase}
.dark-band{background:#0a0a0a;color:#fff}.dark-band-inner{max-width:var(--max);margin:auto;padding:100px 5%}.dark-band h2{font:800 clamp(42px,6vw,72px)/.95 var(--cond);margin:0 0 22px}.dark-band p:not(.eyebrow){color:#aaa;max-width:670px}.goal-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:35px}.goal-list span{border:1px solid #333;padding:10px 14px;font:700 12px var(--cond);letter-spacing:.1em}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps article{background:#fff;padding:30px;border-top:3px solid #111}.steps b{font:800 44px var(--cond);color:var(--red)}.steps h3{font:800 23px var(--cond);margin:10px 0}.steps p{font-size:14px;color:#666}
.about{background:#151515;color:#fff;padding:100px max(5%,calc((100% - 1080px)/2));display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}.about-logo{display:flex;justify-content:center;align-items:center}.about-logo img{display:block;width:min(420px,100%);max-height:560px;aspect-ratio:2/3;object-fit:cover;object-position:center;border-radius:8px;box-shadow:0 22px 55px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12)}.about h2{margin-bottom:25px}.about h2 span{display:block;font-size:.45em;margin-top:10px;letter-spacing:.03em}.about p:not(.eyebrow){color:#aaa;max-width:600px}.text-link{display:inline-block;margin-top:18px;color:#fff;font-weight:800;border-bottom:1px solid var(--red);padding-bottom:6px}
.price-block{background:#111;color:#fff;padding:40px;margin-bottom:18px}.price-title{display:flex;justify-content:space-between;gap:20px;align-items:end;border-bottom:1px solid #333;padding-bottom:20px}.price-title span{font:800 32px var(--cond)}.price-title small{color:#888}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:25px}.price-grid div{padding:20px;border-right:1px solid #2e2e2e}.price-grid div:last-child{border:0}.price-grid strong{display:block;font:800 42px var(--cond);color:#fff}.price-grid span{font-size:11px;color:#aaa}.discounts{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.discounts span{background:#1f1f1f;padding:8px 12px;font-size:11px}.discounts b{color:#ff3028}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.offer-card{background:#fff;border:1px solid #e6e6e6;padding:32px;min-height:240px}.offer-card.highlight{border-top:4px solid var(--red)}.offer-price{font:800 45px var(--cond);margin:8px 0 12px}.offer-price small{font:500 14px var(--sans);color:#777}.offer-card p:not(.eyebrow){color:#666}.legal{display:block;color:#999;font-size:10px;margin-top:18px}.online{margin-top:18px;background:linear-gradient(110deg,#1a1a1a,#0d0d0d);color:#fff;padding:35px;display:flex;justify-content:space-between;gap:30px;align-items:center}.online h3{font:800 34px var(--cond);margin:0 0 8px}.online p:not(.eyebrow){color:#aaa}.online-prices{display:flex;gap:35px}.online-prices strong{display:block;font:800 45px var(--cond)}.online-prices span{font-size:10px;color:#aaa;letter-spacing:.12em}
.video-section{background:#fff;padding:100px 5%}.video-section .section-head{max-width:var(--max);margin:0 auto 45px}.video-gallery{max-width:920px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.video-item{min-width:0}.video-frame{width:100%;aspect-ratio:9/16;max-height:620px;overflow:hidden;background:#111;border-radius:8px;line-height:0}.video-frame video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#111;cursor:pointer}.video-item h3{margin:18px 0 6px;font:800 28px var(--cond);text-transform:uppercase;letter-spacing:.03em}.video-item p{margin:0;color:#666;line-height:1.6}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.testimonial{background:#fff;padding:32px;border:1px solid #e6e6e6}.testimonial .stars{color:var(--red);letter-spacing:3px}.testimonial blockquote{margin:18px 0;font-size:16px;color:#444}.testimonial cite{font-style:normal;font-weight:800;font-size:13px}.edit-note{font-size:11px;color:#999;margin-top:25px}
.booking{background:#e10600;color:#fff}.booking-inner{max-width:var(--max);margin:auto;padding:90px 5%;display:flex;align-items:center;justify-content:space-between;gap:50px}.booking .eyebrow{color:#111}.booking h2 span{color:#111}.booking p:not(.eyebrow){color:#fff;max-width:620px}.booking-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.booking .btn-red{background:#111}.booking .btn-red:hover{background:#222}.btn.light{border-color:rgba(255,255,255,.65)}.qr-card{background:#fff;color:#111;padding:20px;text-align:center;min-width:190px}.qr-card img{width:150px;height:150px;object-fit:contain;margin:auto}.qr-card span{font:800 11px var(--cond);letter-spacing:.1em}
.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.contact-list{display:flex;flex-direction:column;gap:12px}.contact-list a,.contact-list>span{background:#fff;border:1px solid #e7e7e7;padding:17px 20px;font-weight:700}.contact-list span span{margin-right:10px}
footer{background:#080808;color:#777;padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.footer img,footer img{width:80px;height:55px;object-fit:contain}footer a{color:#fff;font-weight:700}
@media(max-width:850px){
 .site-header{height:70px}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#090909;padding:18px 5%;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 0}.nav-cta{text-align:center}.menu-toggle{display:block}.hero-content{padding:70px 0}.hero h1{font-size:clamp(54px,14vw,88px)}.hero-text{font-size:16px}.stats{grid-template-columns:repeat(2,1fr)}.stats div:nth-child(2){border-right:0}.service-grid,.cards-3,.testimonial-grid{grid-template-columns:1fr}.video-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.video-frame{max-height:500px}.steps{grid-template-columns:repeat(2,1fr)}.about,.contact{grid-template-columns:1fr;gap:40px}.about-logo{order:0}.price-grid{grid-template-columns:repeat(2,1fr)}.price-grid div:nth-child(2){border-right:0}.price-title{display:block}.online{display:block}.online-prices{margin-top:25px}.booking-inner{display:block}.qr-card{margin-top:35px;width:190px}.section{padding:75px 5%}
}
@media(max-width:520px){.video-gallery{grid-template-columns:1fr;max-width:360px}.video-frame{max-height:none}
 .hero-actions .btn{width:100%}.hero-pills{gap:10px;flex-direction:column}.steps{grid-template-columns:1fr}.price-grid{grid-template-columns:1fr}.price-grid div{border-right:0;border-bottom:1px solid #2e2e2e}.price-grid div:last-child{border-bottom:0}.online-prices{display:grid;grid-template-columns:1fr 1fr;gap:15px}.online-prices strong{font-size:37px}.dark-band-inner{padding:75px 5%}.stats strong{font-size:27px}footer{flex-direction:column;text-align:center}
}

/* Pricing additions: DUO and SAP */
.cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-offer{border-top:4px solid #d71920}
.duo-offer{border-top:4px solid #171717}
.sap-benefit{margin-top:18px;padding:14px;background:#f7f7f8;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.sap-benefit img{width:100%;max-width:230px;height:auto;object-fit:contain}
.sap-benefit strong{font-size:17px;color:#c8172a}
.sap-benefit small{font-size:10px;line-height:1.5;color:#777}
.offer-tag{display:inline-block;margin-top:12px;padding:9px 12px;background:#f3f3f3;border-radius:6px;font-size:12px;font-weight:700;color:#222}
@media(max-width:700px){.cards-3{grid-template-columns:1fr}}

/* Mise à jour : tarifs à la semaine + domicile SAP compact */
.week-note{font-style:normal;font-weight:500;font-size:.6em;opacity:.8;letter-spacing:.02em;text-transform:none}
.week-explain{margin:14px 0 0;font-size:.9rem;color:#aaa}
.home-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.home-top .offer-price{margin-bottom:6px}.home-offer .sap-logo{display:block;height:48px;width:auto;max-width:130px;object-fit:contain;margin:0}
.home-offer .sap-benefit{margin-top:14px;padding:10px 12px;gap:4px}
.home-offer .sap-benefit strong{font-size:15px}
.home-offer .sap-benefit small{font-size:10px;line-height:1.4}
.offer-card{min-height:0}

/* FAQ, avis, mentions légales, barre mobile */
[hidden]{display:none!important}
.faq-list{max-width:820px;display:flex;flex-direction:column;gap:10px}
.faq-list details{background:#fff;border:1px solid #e7e7e7;padding:0}
.faq-list summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:800;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";font:800 26px var(--cond);color:var(--red);line-height:1}
.faq-list details[open] summary:after{content:"–"}
.faq-list details p{margin:0;padding:0 24px 22px;color:#666}
.review-cta{margin-top:30px}
.testimonial-grid:empty{display:none}
footer{display:block;padding:35px 5% 28px}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-legal{margin:22px 0 0;padding-top:18px;border-top:1px solid #222;font-size:11px;color:#777;text-align:center}
.footer-legal a{color:#aaa;font-weight:600}
.mobile-bar{display:none}
@media(max-width:850px){
 .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;padding-bottom:env(safe-area-inset-bottom,0)}
 .mobile-bar a{flex:1;text-align:center;padding:16px 8px;font-weight:800;font-size:13px;letter-spacing:.08em;color:#fff}
 .mb-call{background:#111}.mb-book{background:var(--red)}
 body{padding-bottom:calc(54px + env(safe-area-inset-bottom,0))}
}
@media(max-width:520px){.footer-row{flex-direction:column;text-align:center}}

.review-empty{max-width:620px;color:#666;margin:0}

/* Photo d'accueil : Thomas à gauche sur la photo, textes à droite */
.hero-bg{background:
  linear-gradient(270deg,rgba(5,5,5,.9) 0%,rgba(5,5,5,.78) 38%,rgba(5,5,5,.25) 68%,rgba(5,5,5,0) 100%),
  linear-gradient(0deg,rgba(5,5,5,.45) 0%,rgba(5,5,5,0) 35%),
  url("assets/hero.jpg") center 63%/cover no-repeat}
.hero-content{width:min(660px,52%);margin:0 5% 0 auto}
.hero h1{font-size:clamp(46px,6.2vw,96px)}
@media(max-width:700px){
  .hero{align-items:flex-start;background:#070707}
  .hero-bg{background:
    linear-gradient(180deg,rgba(7,7,7,1) 0%,rgba(7,7,7,.92) 35%,rgba(7,7,7,.35) 52%,rgba(7,7,7,0) 64%) left bottom/130% 174vw no-repeat,
    url("assets/hero.jpg") left bottom/130% auto no-repeat,
    #070707}
  .hero-content{width:90%;margin:0 auto;padding:60px 0 calc(88vw + 24px)}
  .hero h1{font-size:clamp(54px,14vw,88px)}
}

/* Filigrane TS34 à gauche (les textes sont à droite) */
.hero-mark{right:auto;left:6%}
