
:root{
  --orange:#ef6b10;
  --orange-700:#d95f0c;
  --orange-100:#fff1e6;
  --green:#28a844;
  --green-700:#1f8a38;
  --green-100:#e8f2df;
  --black:#1f1f1d;
  --text:#2e2e2a;
  --muted:#6f6b62;
  --cream:#f6f0e4;
  --sand:#ede3d0;
  --white:#fffdf8;
  --line:#e5dac8;
  --shadow:0 24px 70px rgba(31,31,29,.12);
  --shadow-soft:0 16px 42px rgba(31,31,29,.08);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:16px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--orange)}
button,input,textarea,select{font:inherit}
.skip-link{position:absolute;left:-999px;top:0;background:var(--black);color:white;padding:.7rem 1rem;z-index:999}
.skip-link:focus{left:1rem;top:1rem;border-radius:999px}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,253,248,.92);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(31,31,29,.08);
}
.navbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{display:flex;align-items:center;gap:.7rem;min-width:130px}
.logo img{width:132px;height:auto}
.nav-toggle{display:none;border:1px solid var(--line);background:white;border-radius:999px;padding:.68rem .82rem;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--black);margin:4px 0;border-radius:4px}
.main-nav{display:flex;align-items:stretch;gap:18px;font-weight:800;font-size:.94rem;color:var(--black);align-self:stretch}
.main-nav a{position:relative;display:inline-flex;align-items:center;min-height:100%;padding:0 10px;cursor:pointer}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:3px;background:var(--orange);border-radius:99px;transition:right .25s ease}
.main-nav a:hover::after,.main-nav a.active::after{right:0}
.main-nav a.active{color:var(--orange)}
.header-cta{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-height:48px;padding:.78rem 1.08rem;border:2px solid var(--orange);border-radius:999px;color:var(--orange);font-weight:900;white-space:nowrap;cursor:pointer}
.header-cta:hover{background:var(--orange);color:white}
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 8% 0%,rgba(239,107,16,.16),transparent 34%),
    radial-gradient(circle at 90% 18%,rgba(40,168,68,.16),transparent 35%),
    linear-gradient(112deg,#fff1e3 0%,#f5efe3 52%,#e9f2e1 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;opacity:.44;
  background-image:linear-gradient(90deg,rgba(31,31,29,.04) 1px,transparent 1px),linear-gradient(rgba(31,31,29,.04) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom,transparent,black 16%,transparent 88%);
}
.hero-home{min-height:720px;display:flex;align-items:center;padding:116px 0 104px}
.hero-inner{position:relative;text-align:center;z-index:1}
.eyebrow{margin:0 0 18px;color:var(--muted);font-size:.88rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.1rem,7vw,6.8rem);line-height:1.08;letter-spacing:-.008em;margin:0 auto 28px;color:var(--black);font-weight:900;max-width:980px}
h1 .orange,.text-orange{color:var(--orange)}
h1 .green,.text-green{color:var(--green)}
.hero-lead{font-size:clamp(1.06rem,2vw,1.42rem);max-width:810px;margin:0 auto;color:#4d4a43}
.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;border-radius:999px;padding:1rem 1.32rem;font-weight:900;border:2px solid transparent;line-height:1;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(31,31,29,.12)}
.btn-primary{background:var(--orange);color:white;border-color:var(--orange)}
.btn-primary:hover{color:white;background:var(--orange-700);border-color:var(--orange-700)}
.btn-secondary{background:rgba(255,253,248,.62);color:var(--orange);border-color:var(--orange)}
.btn-secondary:hover{background:white;color:var(--orange)}
.btn-green{background:var(--green);border-color:var(--green);color:white}
.btn-green:hover{background:var(--green-700);border-color:var(--green-700);color:white}
.hero-pattern{position:absolute;left:7%;top:22%;display:grid;grid-template-columns:repeat(5,10px);gap:16px;opacity:.25}
.hero-pattern span{width:10px;height:10px;border-radius:999px;background:var(--black)}
.hero-lines{position:absolute;right:6%;bottom:12%;display:flex;gap:11px;opacity:.45}
.hero-lines span{width:10px;height:86px;background:var(--green)}
.hero-lines span:nth-child(n+4){background:var(--orange);height:46px;margin-top:40px}
.section{padding:92px 0}
.section-tight{padding:68px 0}
.section-muted{background:linear-gradient(180deg,#fffdf8 0%,#f6f0e4 100%)}
.section-green{background:linear-gradient(130deg,#eaf4df 0%,#fff7eb 100%)}
.section-dark{background:var(--black);color:white}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin-bottom:36px}
.section-head.center{text-align:center;display:block;max-width:760px;margin-inline:auto}
.kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:var(--orange);margin-bottom:12px}
h2{font-size:clamp(2rem,4.4vw,4.2rem);line-height:1.1;letter-spacing:0;margin-bottom:16px;color:var(--black);font-weight:900}
.section-head p,.section-head.center p{max-width:660px;color:var(--muted);font-size:1.08rem;margin-bottom:0}
.grid{display:grid;gap:22px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{
  background:rgba(255,253,248,.82);
  border:1px solid rgba(31,31,29,.08);
  border-radius:var(--radius-lg);
  padding:28px;
  box-shadow:var(--shadow-soft);
}
.card h3{font-size:1.28rem;line-height:1.18;margin:0 0 12px;color:var(--black);font-weight:950;letter-spacing:0}
.card p{color:var(--muted);margin-bottom:0}.card strong{color:var(--black)}
.icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;margin-bottom:20px;background:var(--orange-100);color:var(--orange);font-weight:950;font-size:1.35rem}
.icon.green{background:var(--green-100);color:var(--green)}
.icon.dark{background:#f1eee7;color:var(--black)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:44px}
.stat{padding:24px;border-radius:22px;background:white;border:1px solid rgba(31,31,29,.08);text-align:center;box-shadow:var(--shadow-soft)}
.stat .num{display:block;font-size:clamp(2rem,4vw,3.6rem);line-height:1.04;font-weight:950;letter-spacing:-.008em;color:var(--orange)}
.stat .label{display:block;font-weight:850;color:var(--black);line-height:1.18;margin-top:8px}
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.visual{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(31,31,29,.08);background:var(--cream)}
.visual img{width:100%;height:100%;object-fit:cover}
.service-list{display:grid;gap:14px;margin-top:28px}
.service-row{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:18px;background:white;border:1px solid rgba(31,31,29,.08)}
.service-row span{flex:0 0 auto;width:28px;height:28px;border-radius:999px;background:var(--green);color:white;display:grid;place-items:center;font-weight:950;line-height:1}
.service-row h3{margin:0 0 5px;font-size:1rem;color:var(--black)}
.service-row p{margin:0;color:var(--muted);font-size:.96rem}
.reference-preview{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}
.ref-card{border-radius:26px;overflow:hidden;background:white;border:1px solid rgba(31,31,29,.08);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;min-height:100%}
.ref-card img{height:190px;width:100%;object-fit:cover;background:var(--cream)}
.ref-card-body{padding:22px}.ref-card .tag{display:inline-flex;font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-bottom:10px}.ref-card h3{font-size:1.28rem;letter-spacing:0;line-height:1.18;margin-bottom:8px;color:var(--black)}.ref-card p{margin-bottom:0;color:var(--muted);font-size:.96rem}.ref-subtitle{font-weight:760;line-height:1.3;text-transform:none;color:#5f5a51!important}.ref-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.ref-meta span{background:var(--cream);border-radius:999px;padding:.35rem .62rem;font-size:.78rem;font-weight:850;color:#565149}
.timeline{counter-reset:step;display:grid;gap:16px;margin-top:34px}.timeline-item{position:relative;padding:26px 26px 26px 86px;background:white;border:1px solid rgba(31,31,29,.08);border-radius:24px;box-shadow:var(--shadow-soft)}.timeline-item::before{counter-increment:step;content:counter(step);position:absolute;left:24px;top:25px;width:38px;height:38px;border-radius:999px;background:var(--orange);color:white;display:grid;place-items:center;font-weight:950}.timeline-item h3{margin:0 0 6px;font-size:1.12rem;color:var(--black)}.timeline-item p{margin:0;color:var(--muted)}
.cta-band{position:relative;overflow:hidden;border-radius:var(--radius-xl);padding:52px;background:linear-gradient(120deg,var(--black) 0%,#2b2b27 55%,#18341f 100%);color:white;box-shadow:var(--shadow)}
.cta-band h2{color:white;margin-bottom:14px}.cta-band p{color:rgba(255,255,255,.78);max-width:760px}.cta-band .hero-actions{justify-content:flex-start;margin-top:26px}.cta-band::after{content:"";position:absolute;right:-70px;top:-100px;width:300px;height:300px;border-radius:50%;background:rgba(239,107,16,.22)}
.page-hero{padding:94px 0 76px}.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:clamp(2.8rem,6vw,5.8rem);max-width:980px;text-align:left;margin-left:0}.page-hero p{font-size:1.18rem;max-width:760px;color:#4d4a43}.breadcrumb{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.88rem;font-weight:800;margin-bottom:18px}.breadcrumb a{color:var(--orange)}
.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.pill{display:inline-flex;align-items:center;border:1px solid rgba(31,31,29,.12);background:rgba(255,253,248,.76);border-radius:999px;padding:.6rem .82rem;font-size:.86rem;font-weight:850;color:#565149}
.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.team-note{max-width:760px;margin:24px auto 0;text-align:center;color:var(--muted);font-size:.92rem}.team-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:0;align-items:stretch;padding:18px;min-height:100%}.team-card::after{content:"";position:absolute;right:-40px;bottom:-40px;width:120px;height:120px;border-radius:50%;background:rgba(40,168,68,.08);pointer-events:none}.team-portrait{position:relative;aspect-ratio:1/1;border-radius:28px;overflow:hidden;background:radial-gradient(circle at 35% 18%,rgba(255,255,255,.92),rgba(255,255,255,.28) 28%,transparent 44%),linear-gradient(145deg,var(--orange-100),var(--green-100));border:1px solid rgba(31,31,29,.08);margin:0 0 18px;display:grid;place-items:end center}.team-portrait::before{content:"";position:absolute;inset:14px;border-radius:22px;border:1px solid rgba(255,255,255,.52)}.team-portrait::after{content:"";position:absolute;left:22px;right:22px;bottom:18px;height:28px;border-radius:50%;background:rgba(31,31,29,.12);filter:blur(10px)}.team-portrait img{position:relative;z-index:1;width:106%;height:106%;object-fit:contain;object-position:center bottom;transform:translateY(6px);filter:drop-shadow(0 18px 24px rgba(31,31,29,.18))}.team-copy{position:relative;z-index:1}.team-card h3{margin-bottom:4px;font-size:1.12rem;line-height:1.18;letter-spacing:0}.role{font-weight:850;color:var(--orange);margin-bottom:10px}.team-card p:last-child{font-size:.94rem;color:var(--muted);margin-bottom:0}
.values-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.value-card{padding:22px;border-radius:22px;border:1px solid rgba(31,31,29,.08);background:white}.value-card h3{font-size:1rem;margin-bottom:8px}.value-card p{font-size:.92rem;color:var(--muted);margin-bottom:0}
.service-detail{display:grid;grid-template-columns:96px 1fr;gap:24px;padding:30px;background:white;border:1px solid rgba(31,31,29,.08);border-radius:28px;box-shadow:var(--shadow-soft)}.service-number{width:74px;height:74px;border-radius:26px;background:var(--orange-100);color:var(--orange);font-size:1.8rem;font-weight:950;display:grid;place-items:center}.service-detail:nth-child(even) .service-number{background:var(--green-100);color:var(--green)}.service-detail h2{font-size:1.8rem;line-height:1.15;letter-spacing:0;margin-bottom:10px}.service-detail p{color:var(--muted);margin-bottom:14px}.mini-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.mini-list li{position:relative;padding-left:20px;color:#4d4a43}.mini-list li::before{content:"";position:absolute;left:0;top:.64em;width:8px;height:8px;border-radius:50%;background:var(--green)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filter-btn{border:1px solid rgba(31,31,29,.12);background:white;border-radius:999px;padding:.78rem 1rem;font-weight:900;cursor:pointer;color:var(--black)}.filter-btn.active,.filter-btn:hover{background:var(--black);color:white;border-color:var(--black)}.references-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.references-grid .ref-card img{height:176px}.reference-hidden{display:none!important}
.contact-layout{display:grid;grid-template-columns:1fr .78fr;gap:34px;align-items:start}.form-card{background:white;border:1px solid rgba(31,31,29,.08);border-radius:30px;padding:32px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px;margin-bottom:16px}.field.full{grid-column:1/-1}.field label{font-weight:900;color:var(--black);font-size:.92rem}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:16px;padding:.95rem 1rem;background:#fffdf8;color:var(--black);outline:none}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(239,107,16,.12)}.side-card{background:linear-gradient(135deg,var(--black),#28322a);color:white;border-radius:30px;padding:30px;box-shadow:var(--shadow)}.side-card h2{font-size:2rem;line-height:1.12;letter-spacing:0;color:white}.contact-item{padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}.contact-item strong{display:block;margin-bottom:4px}.contact-item span,.contact-item a{color:rgba(255,255,255,.78)}.contact-item a:hover{color:white}.checklist{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px}.checklist li{position:relative;padding-left:28px;color:rgba(255,255,255,.78)}.checklist li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:950}.site-footer{background:#171716;color:white;padding:64px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr .8fr;gap:34px}.footer-logo{width:190px;max-width:100%;height:auto;margin-bottom:22px;display:block}.site-footer p{color:rgba(255,255,255,.68)}.site-footer h3{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:white;margin-bottom:16px}.footer-links{display:grid;gap:10px}.footer-links a{color:rgba(255,255,255,.7)}.footer-links a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:24px;color:rgba(255,255,255,.52);font-size:.9rem}.notice{background:var(--orange-100);border:1px solid rgba(239,107,16,.24);padding:16px 18px;border-radius:18px;color:#76400f;font-weight:750}.notice strong{color:#4b2706}
@media (max-width:1180px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){
  .navbar{height:74px}.nav-toggle{display:block}.main-nav{position:fixed;left:20px;right:20px;top:84px;display:grid;gap:6px;background:white;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);transform:translateY(-16px);opacity:0;pointer-events:none;transition:.2s ease}.main-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}.header-cta{display:none}.hero-home{min-height:620px;padding:92px 0 80px}.section{padding:72px 0}.section-head{display:block}.grid-3,.grid-4,.reference-preview,.references-grid,.values-grid,.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.contact-layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.visual{max-width:680px;margin-inline:auto}.hero-pattern,.hero-lines{display:none}
}
@media (max-width:640px){
  .container{width:min(100% - 28px,var(--max))}.logo img{width:112px}h1{font-size:3.05rem}.page-hero h1{font-size:2.9rem}.hero-lead{font-size:1.04rem}.hero-actions{align-items:stretch}.btn{width:100%}.grid-2,.grid-3,.grid-4,.reference-preview,.references-grid,.values-grid,.team-grid{grid-template-columns:1fr}.card,.form-card,.side-card{padding:22px}.cta-band{padding:32px}.stats{grid-template-columns:1fr}.service-detail{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.page-hero{padding:72px 0 54px}.section{padding:58px 0}.hero-home{padding:78px 0 68px;min-height:auto}.timeline-item{padding-left:70px}.timeline-item::before{left:18px}.ref-card img{height:164px}.team-portrait{min-height:205px}.team-portrait img{width:min(190px,92%)}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.btn:hover{transform:none}}

/* Ajustements demandés : photos réelles, positionnement et boutons sur fonds foncés */
.visual-photo img,.visual img[src$="sportfloor-terrain.jpg"],.ref-card img[src$="sportfloor-terrain.jpg"]{object-fit:cover;filter:saturate(1.05) contrast(1.02)}
.visual img[src$="sportfloor-terrain.jpg"]{border-radius:28px;min-height:360px;width:100%;height:100%;box-shadow:0 28px 70px rgba(31,31,29,.16)}
.ref-card img[src$="sportfloor-terrain.jpg"]{height:210px;background:#17351f}
.positionnement-section{background:linear-gradient(180deg,#fffdf8 0%,#fbf5eb 100%)}
.positionnement-grid{grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.positionnement-copy .lead-text{font-size:1.22rem;color:#2f2d29;font-weight:750;line-height:1.55;margin-bottom:18px}
.positionnement-copy h2{max-width:780px;letter-spacing:-.025em;line-height:1.04}
.positionnement-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:30px}
.positionnement-stats .stat{padding:22px 18px;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(31,31,29,.08)}
.positionnement-stats .num{letter-spacing:.01em;line-height:1;color:var(--orange)}
.positionnement-photo{position:relative;overflow:hidden;border-radius:34px;padding:0;background:#17351f;box-shadow:0 34px 90px rgba(31,31,29,.20)}
.positionnement-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(0deg,rgba(31,31,29,.42),transparent);pointer-events:none}
.positionnement-photo img{display:block;aspect-ratio:4/3;min-height:520px;border-radius:34px;object-position:center center}
.cta-band .btn-secondary,.side-card .btn-secondary,.site-footer .btn-secondary,[class*="dark"] .btn-secondary{background:var(--orange);border-color:var(--orange);color:white;box-shadow:0 14px 32px rgba(239,107,16,.28)}
.cta-band .btn-secondary:hover,.side-card .btn-secondary:hover,.site-footer .btn-secondary:hover,[class*="dark"] .btn-secondary:hover{background:#ff7a1a;border-color:#ff7a1a;color:white}
.cta-band .btn-primary{background:white;border-color:white;color:#171716}
.cta-band .btn-primary:hover{background:#fff3e8;border-color:#fff3e8;color:#171716}
@media (max-width:980px){.positionnement-grid{grid-template-columns:1fr}.positionnement-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.positionnement-photo img{min-height:360px}}
@media (max-width:640px){.positionnement-stats{grid-template-columns:1fr}.visual img[src$="sportfloor-terrain.jpg"]{min-height:260px}.positionnement-photo img{min-height:300px}.ref-card img[src$="sportfloor-terrain.jpg"]{height:180px}}


/* Correction section Positionnement : cartes lisibles sans chevauchement */
.positionnement-points{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:32px;
}
.point-card{
  background:#fffdf8;
  border:1px solid rgba(31,31,29,.10);
  border-radius:24px;
  padding:22px 22px 20px;
  box-shadow:0 18px 42px rgba(31,31,29,.07);
  min-width:0;
  min-height:176px;
}
.point-value{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  height:44px;
  padding:0 14px;
  border-radius:999px;
  background:var(--orange-100);
  color:var(--orange);
  font-size:1.55rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.01em;
  white-space:nowrap;
  margin-bottom:18px;
}
.point-card h3{
  color:var(--black);
  font-size:1.08rem;
  line-height:1.16;
  letter-spacing:0;
  margin:0 0 8px;
  font-weight:950;
}
.point-card p{
  color:var(--muted);
  font-size:.96rem;
  line-height:1.38;
  margin:0;
  font-weight:650;
}
@media (max-width:980px){
  .positionnement-points{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .positionnement-points{grid-template-columns:1fr;}
  .point-card{min-height:auto;}
}


/* Citation Martin Jordan sur la page d’accueil — version compacte */
.section-quote-person{
  padding:22px 0;
  background:#fffdf8;
}
.quote-editorial-card{
  position:relative;
  margin:0 auto;
  max-width:980px;
  padding:22px 30px 22px 34px;
  border-left:4px solid var(--orange);
  border-radius:20px;
  background:#ffffff;
  box-shadow:0 12px 34px rgba(31,31,29,.07);
}
.quote-editorial-card::before{
  content:"“";
  position:absolute;
  right:24px;
  top:-4px;
  color:rgba(239,107,16,.08);
  font-size:4.8rem;
  line-height:1;
  font-weight:950;
  pointer-events:none;
}
.quote-editorial-card .kicker{
  display:none;
}
.quote-editorial-card blockquote{
  position:relative;
  z-index:1;
  margin:0;
  max-width:860px;
  color:var(--black);
  font-size:clamp(1.12rem,1.55vw,1.55rem);
  line-height:1.42;
  letter-spacing:.012em;
  font-weight:760;
}
.quote-editorial-card figcaption{
  margin-top:8px;
  color:var(--muted);
  font-size:.9rem;
  font-weight:720;
}
@media (max-width:640px){
  .section-quote-person{padding:16px 0}
  .quote-editorial-card{padding:20px 22px 20px 24px;border-radius:18px}
  .quote-editorial-card blockquote{font-size:1.08rem;line-height:1.44}
  .quote-editorial-card::before{font-size:3.8rem;right:14px}
}

/* Domaines d'intervention — icônes professionnelles */
.intervention-grid{align-items:stretch}
.intervention-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:260px;
  padding:30px;
}
.intervention-card::after{content:"";position:absolute;right:-38px;top:-38px;width:105px;height:105px;border-radius:999px;background:linear-gradient(135deg,rgba(238,103,13,.08),rgba(39,169,66,.08));pointer-events:none}
.domain-icon{
  width:78px;
  height:78px;
  border-radius:8px;
  display:grid;
  place-items:center;
  margin-bottom:26px;
  background:linear-gradient(135deg,#fff2e8 0%,#fffaf4 100%);
  border:1px solid rgba(239,107,16,.16);
}
.domain-icon img{
  width:54px;
  height:54px;
  object-fit:contain;
}
.intervention-card h3{
  margin-top:0;
  margin-bottom:12px;
}
.intervention-card p{
  line-height:1.45;
}

/* Rééquilibrage des sections Accueil : "Ce que nous faisons" et "Méthode" */
.home-balanced{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:48px;
  align-items:center;
}
.home-balanced-copy{
  max-width:620px;
}
.home-balanced-copy h2{
  max-width:610px;
  font-size:clamp(2.45rem,4.8vw,4.9rem);
  line-height:1.07;
  margin-bottom:22px;
}
.home-balanced-copy > p:not(.kicker){
  max-width:640px;
  font-size:1.08rem;
  line-height:1.62;
  color:#3f3c36;
}
.home-balanced-visual{
  min-height:0;
  aspect-ratio:1.16/1;
  align-self:center;
  border-radius:32px;
}
.home-balanced-visual img[src$="sportfloor-terrain.jpg"]{
  min-height:0;
  height:100%;
  aspect-ratio:1.16/1;
  border-radius:32px;
}
.home-work-section .service-list{
  max-width:620px;
  gap:16px;
  margin-top:30px;
}
.home-work-section .service-row{
  min-height:96px;
  padding:20px 22px;
  border-radius:22px;
  align-items:center;
}
.home-work-section .service-row span{
  width:34px;
  height:34px;
  font-size:1.05rem;
}
.home-work-section .service-row h3{
  font-size:1.08rem;
  line-height:1.2;
}
.home-work-section .service-row p{
  font-size:.98rem;
  line-height:1.45;
}
.home-method-section .home-method-grid{
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  gap:54px;
}
.home-method-section .home-balanced-copy h2{
  max-width:560px;
}
.home-method-section .timeline{
  gap:14px;
  margin-top:28px;
}
.home-method-section .timeline-item{
  min-height:96px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px 24px 22px 82px;
  border-radius:22px;
}
.home-method-section .timeline-item::before{
  left:24px;
  top:50%;
  transform:translateY(-50%);
}
.home-method-visual{
  aspect-ratio:1.18/1;
  max-width:560px;
  justify-self:center;
}
@media (max-width:980px){
  .home-balanced,.home-method-section .home-method-grid{grid-template-columns:1fr;gap:34px}
  .home-balanced-copy{max-width:760px}
  .home-balanced-copy h2{font-size:clamp(2.25rem,7vw,4rem)}
  .home-balanced-visual,.home-method-visual{width:100%;max-width:720px;justify-self:start;aspect-ratio:16/10}
  .home-method-section .home-method-visual{order:2}
  .home-method-section .home-balanced-copy{order:1}
}
@media (max-width:640px){
  .home-balanced-copy h2{font-size:2.45rem;line-height:1.08}
  .home-work-section .service-row{align-items:flex-start;padding:18px}
  .home-method-section .timeline-item{padding-left:70px}
  .home-method-section .timeline-item::before{left:18px}
  .home-balanced-visual img[src$="sportfloor-terrain.jpg"]{min-height:250px}
}

/* Ajustement typographique global : textes plus aérés */
body{
  line-height:1.66;
  letter-spacing:.006em;
}
h1,h2,h3,
.hero-title,
.section-title,
.page-title{
  letter-spacing:.012em !important;
  line-height:1.13 !important;
  text-wrap:balance;
}
h1{
  margin-bottom:32px;
}
h2{
  margin-bottom:20px;
}
h3{
  line-height:1.24 !important;
}
.hero-lead,
.section-head p,
.section-head.center p,
.card p,
.service-row p,
.ref-card p,
.timeline-item p,
.point-card p,
.team-card p,
.value-card p,
.service-detail p,
.mini-list li{
  line-height:1.62;
  letter-spacing:.008em;
}
.kicker,.eyebrow,.ref-card .tag,.site-footer h3{
  letter-spacing:.16em;
}
.card h3,
.ref-card h3,
.team-card h3,
.value-card h3,
.service-row h3,
.timeline-item h3,
.point-card h3,
.service-detail h2,
.side-card h2,
.positionnement-copy h2{
  letter-spacing:.01em !important;
}
.stat .num,
.point-value{
  letter-spacing:.015em !important;
}
@media (max-width:640px){
  h1,h2,h3{letter-spacing:.006em !important;}
  body{line-height:1.62;}
}

/* Compatibilité Safari / iOS Safari — version Hostinger */
html{
  -webkit-text-size-adjust:100%;
}
body{
  overflow-x:hidden;
}
.site-header{
  -webkit-backdrop-filter:blur(14px);
}
.hero::before{
  -webkit-mask-image:linear-gradient(to bottom,transparent,black 16%,transparent 88%);
}
.visual,
.ref-card,
.card,
.cta-band,
.positionnement-photo,
.home-balanced-visual,
.home-method-visual,
.team-portrait{
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.visual img,
.ref-card img,
.positionnement-photo img,
.home-balanced-visual img,
.home-method-visual img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.visual img[src$="sportfloor-terrain.jpg"],
.home-balanced-visual img[src$="sportfloor-terrain.jpg"],
.home-method-visual img[src$="sportfloor-terrain.jpg"],
.positionnement-photo img,
.ref-card img[src$="sportfloor-terrain.jpg"]{
  height:100%;
  object-fit:cover;
}
.home-balanced-visual,
.home-method-visual,
.team-portrait,
.positionnement-photo img{
  position:relative;
}
@supports not (aspect-ratio:1 / 1){
  .team-portrait{height:240px;}
  .home-balanced-visual,.home-method-visual{height:460px;}
  .positionnement-photo img{height:520px;}
  @media (max-width:980px){
    .home-balanced-visual,.home-method-visual{height:420px;}
    .positionnement-photo img{height:360px;}
  }
  @media (max-width:640px){
    .team-portrait{height:205px;}
    .home-balanced-visual,.home-method-visual{height:260px;}
    .positionnement-photo img{height:300px;}
  }
}
@supports not (text-wrap:balance){
  h1,h2,h3,.hero-title,.section-title,.page-title{text-wrap:normal;}
}
.main-nav{
  -webkit-overflow-scrolling:touch;
}
.btn,
.filter-btn,
.nav-toggle,
.header-cta{
  -webkit-tap-highlight-color:rgba(239,107,16,.18);
}
input,textarea,select,button{
  -webkit-appearance:none;
  appearance:none;
  border-radius:16px;
}
select{
  background-image:linear-gradient(45deg,transparent 50%,#6f6b62 50%),linear-gradient(135deg,#6f6b62 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  padding-right:2.6rem;
}
@media (max-width:980px){
  .main-nav{
    max-height:calc(100dvh - 110px);
    overflow:auto;
  }
  @supports not (height:100dvh){
    .main-nav{max-height:calc(100vh - 110px);}
  }
}
@media (max-width:640px){
  .container{width:calc(100% - 28px);}
  .hero-home{min-height:auto;}
  .visual img[src$="sportfloor-terrain.jpg"],
  .home-balanced-visual img[src$="sportfloor-terrain.jpg"],
  .home-method-visual img[src$="sportfloor-terrain.jpg"]{
    height:100%;
  }
}


/* Correctifs Safari finaux : logo footer et citation directeur */
.footer-logo{
  display:block !important;
  width:180px !important;
  max-width:180px !important;
  height:auto !important;
  margin:0 0 22px 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  object-fit:contain !important;
  -webkit-object-fit:contain !important;
  mix-blend-mode:normal !important;
  -webkit-transform:translateZ(0);
          transform:translateZ(0);
}
.section-quote-person.quote-editorial-section{
  padding:26px 0 !important;
  margin:0 !important;
  min-height:0 !important;
  height:auto !important;
  background:#fffdf8 !important;
  display:block !important;
}
.quote-editorial-card{
  display:block !important;
  max-width:1040px !important;
  margin:0 auto !important;
  padding:6px 0 6px 22px !important;
  min-height:0 !important;
  height:auto !important;
  border:0 !important;
  border-left:3px solid var(--orange) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.quote-editorial-card::before{display:none !important;content:none !important;}
.quote-editorial-card .kicker{
  display:block !important;
  margin:0 0 8px 0 !important;
  color:var(--orange) !important;
  font-size:.78rem !important;
  line-height:1.2 !important;
  letter-spacing:.16em !important;
}
.quote-editorial-card blockquote{
  display:block !important;
  margin:0 !important;
  max-width:none !important;
  color:var(--black) !important;
  font-size:1.22rem !important;
  line-height:1.48 !important;
  letter-spacing:.01em !important;
  font-weight:650 !important;
}
.quote-editorial-card figcaption{
  display:block !important;
  margin-top:8px !important;
  color:var(--muted) !important;
  font-size:.9rem !important;
  line-height:1.35 !important;
  font-weight:650 !important;
}
@media (max-width:760px){
  .section-quote-person.quote-editorial-section{padding:20px 0 !important;}
  .quote-editorial-card{padding-left:16px !important;}
  .quote-editorial-card blockquote{font-size:1.04rem !important;line-height:1.48 !important;}
  .footer-logo{width:150px !important;max-width:150px !important;}
}


/* Version finale de compatibilité Safari / Hostinger
   Objectif : éviter les rendus divergents sur Safari en utilisant des blocs simples,
   sans effet complexe ni hauteur calculée. */
.site-footer .footer-logo{
  display:block !important;
  width:210px !important;
  max-width:210px !important;
  height:auto !important;
  margin:0 0 22px 0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent !important;
  box-shadow:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:1 !important;
}

/* Citation directeur : variante bandeau éditorial très simple et stable */
.section-quote-person,
.section-quote-person.quote-editorial-section{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:34px 0 !important;
  background:#fffaf1 !important;
  border-top:1px solid rgba(31,31,29,.06) !important;
  border-bottom:1px solid rgba(31,31,29,.06) !important;
  overflow:visible !important;
}
.section-quote-person .container{
  display:block !important;
}
.quote-editorial-card{
  display:block !important;
  width:100% !important;
  max-width:980px !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:0 0 0 24px !important;
  background:transparent !important;
  border:0 !important;
  border-left:4px solid #ef6b10 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:none !important;
  -webkit-transform:none !important;
}
.quote-editorial-card::before,
.quote-editorial-card::after{
  display:none !important;
  content:none !important;
}
.quote-editorial-card .kicker{
  display:block !important;
  margin:0 0 10px 0 !important;
  padding:0 !important;
  color:#d9651d !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}
.quote-editorial-card blockquote{
  display:block !important;
  width:auto !important;
  max-width:920px !important;
  margin:0 !important;
  padding:0 !important;
  color:#232321 !important;
  font-size:25px !important;
  line-height:1.45 !important;
  font-weight:620 !important;
  letter-spacing:.005em !important;
  text-align:left !important;
}
.quote-editorial-card figcaption{
  display:block !important;
  margin:12px 0 0 0 !important;
  padding:0 !important;
  color:#6f6f6a !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:650 !important;
  text-align:left !important;
}
@media (max-width:760px){
  .site-footer .footer-logo{width:170px !important;max-width:170px !important;}
  .section-quote-person,
  .section-quote-person.quote-editorial-section{padding:26px 0 !important;}
  .quote-editorial-card{padding-left:18px !important;}
  .quote-editorial-card blockquote{font-size:19px !important;line-height:1.45 !important;}
}

/* Références cliquables et pages détail */
.ref-card-link{display:block;color:inherit;text-decoration:none;height:100%;}
.ref-card-link .ref-card{height:100%;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.ref-card-link:hover .ref-card,.ref-card-link:focus-visible .ref-card{transform:translateY(-4px);box-shadow:0 24px 60px rgba(15,23,42,.13);border-color:rgba(241,111,37,.35);}
.ref-card-link:focus-visible{outline:3px solid rgba(241,111,37,.55);outline-offset:5px;border-radius:28px;}
.project-hero{padding:120px 0 70px;background:#101711;color:#fff;overflow:hidden;}
.project-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:46px;align-items:center;}
.project-hero h1{color:#fff;margin:12px 0 18px;}
.project-hero p{color:rgba(255,255,255,.82);}
.project-hero-img{border-radius:28px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.35);background:#222;}
.project-hero-img img{display:block;width:100%;height:420px;object-fit:cover;}
.project-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px;}
.project-fact{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:18px;}
.project-fact span{display:block;color:#6b7280;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;}
.project-fact strong{display:block;color:#132018;font-size:1rem;line-height:1.35;}
.project-content{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start;}
.project-panel{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:28px;padding:30px;box-shadow:0 18px 50px rgba(15,23,42,.07);}
.project-panel h2,.project-panel h3{margin-top:0;}
.project-list{display:grid;gap:14px;margin:22px 0 0;padding:0;list-style:none;}
.project-list li{padding-left:26px;position:relative;line-height:1.65;color:#374151;}
.project-list li:before{content:'';position:absolute;left:0;top:.72em;width:10px;height:10px;border-radius:50%;background:#f16f25;}
.sia-mini{display:grid;gap:10px;margin-top:18px;}
.sia-mini span{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(15,23,42,.08);padding-bottom:10px;color:#374151;}
.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;color:#f16f25;text-decoration:none;font-weight:700;}
.source-link{display:inline-flex;margin-top:10px;color:#f16f25;font-weight:850;text-decoration:none;}
.source-link:hover{color:#132018;}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.project-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;box-shadow:0 18px 46px rgba(15,23,42,.1);background:#f3eee4;}
@media (max-width:900px){.project-hero-grid,.project-content{grid-template-columns:1fr}.project-facts{grid-template-columns:repeat(2,1fr)}.project-hero-img img{height:320px}}
@media (max-width:900px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.project-facts{grid-template-columns:1fr}.project-panel{padding:22px}.project-hero{padding:90px 0 46px}.project-hero-img img{height:250px}.project-gallery{grid-template-columns:1fr}.project-gallery img{border-radius:18px}}

/* Les couches décoratives ne doivent jamais intercepter les clics. */
.hero::before,
.cta-band::after,
.team-portrait::before,
.team-portrait::after,
.quote-editorial-card::before,
.quote-editorial-card::after,
.timeline-item::before,
.mini-list li::before,
.checklist li::before,
.main-nav a::after{
  pointer-events:none;
}
.hero .container,
.hero-inner,
.cta-band > *,
.ref-card-link,
.main-nav a,
.footer-links a,
.btn{
  position:relative;
  z-index:1;
}

/* En-têtes des pages internes : version plus compacte que la page d'accueil */
.page-hero{
  padding:48px 0 42px;
  min-height:auto;
}
.page-hero h1{
  font-size:clamp(2.25rem,4.6vw,4.15rem);
  line-height:1.04;
  max-width:900px;
}
.page-hero .breadcrumb{
  margin-bottom:14px;
}
.page-hero .eyebrow{
  margin-bottom:18px;
}

@media (max-width:640px){
  .page-hero{padding:38px 0 34px;}
  .page-hero h1{font-size:2.35rem;}
}

.project-hero{
  padding:72px 0 50px;
}
.project-hero-img img{
  height:360px;
}

.ref-gallery-trigger{
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  font:inherit;
  -webkit-tap-highlight-color:rgba(239,107,16,.16);
  touch-action:manipulation;
}
.ref-gallery-trigger:focus-visible{
  outline:3px solid var(--orange);
  outline-offset:4px;
}
.references-section{
  padding-top:54px;
}
html.gallery-open,
body.gallery-open{
  overflow:hidden;
  height:100%;
}
.gallery-modal{
  position:fixed;
  inset:0;
  z-index:300;
  display:grid;
  place-items:center;
  padding:28px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.gallery-modal.open{
  opacity:1;
  pointer-events:auto;
}
.gallery-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,15,14,.82);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.gallery-shell{
  position:relative;
  width:min(1120px,100%);
  max-height:calc(100vh - 56px);
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto;
  gap:16px;
  color:white;
  outline:none;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.gallery-stage{
  position:relative;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  background:#111;
  box-shadow:0 32px 100px rgba(0,0,0,.45);
}
.gallery-image{
  width:100%;
  height:min(68vh,690px);
  object-fit:contain;
  background:#111;
}
.gallery-close,
.gallery-nav{
  border:0;
  display:grid;
  place-items:center;
  color:white;
  background:rgba(255,255,255,.16);
  cursor:pointer;
  transition:background .18s ease,transform .18s ease;
}
.gallery-close:hover,
.gallery-nav:hover{
  background:rgba(239,107,16,.9);
}
.gallery-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:46px;
  height:46px;
  border-radius:999px;
  font-size:2rem;
  line-height:1;
}
.gallery-nav{
  position:absolute;
  top:50%;
  z-index:2;
  width:54px;
  height:78px;
  border-radius:999px;
  transform:translateY(-50%);
  font-size:3rem;
  line-height:1;
}
.gallery-prev{left:18px}
.gallery-next{right:18px}
.gallery-caption{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}
.gallery-caption h2{
  margin:0 0 4px;
  color:white;
  font-size:clamp(1.8rem,4vw,3.4rem);
}
.gallery-subtitle{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:1.05rem;
  font-weight:750;
}
.gallery-count{
  color:rgba(255,255,255,.72);
  font-weight:900;
  white-space:nowrap;
}
.gallery-thumbs{
  display:flex;
  gap:10px;
  overflow:auto;
  padding-bottom:4px;
  -webkit-overflow-scrolling:touch;
}
.gallery-thumbs button{
  flex:0 0 92px;
  height:64px;
  border:2px solid transparent;
  border-radius:14px;
  padding:0;
  overflow:hidden;
  background:#222;
  cursor:pointer;
  opacity:.58;
}
.gallery-thumbs button.active{
  border-color:var(--orange);
  opacity:1;
}
.gallery-thumbs img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Photos de contexte : garder un cadrage propre même quand l'image change */
.home-balanced-visual img,
.home-method-visual img{
  min-height:0;
  height:100%;
  aspect-ratio:1.16/1;
  object-fit:cover;
  border-radius:32px;
}

/* Mini-CV équipe : cartes sobres et professionnelles */
.team-cv-section .team-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
}
.team-cv-section .team-card,
.team-cv-section .team-card::after{
  background:none;
  box-shadow:none;
}
.team-cv-card{
  position:relative;
  display:block;
  min-height:100%;
  padding:38px;
  border:1px solid rgba(31,31,29,.08);
  border-radius:0;
  background:#fff;
  box-shadow:0 18px 46px rgba(31,31,29,.05);
  overflow:hidden;
}
.team-cv-card::after,
.team-cv-card .team-portrait{
  display:none;
}
.cv-accent{
  display:block;
  width:42px;
  height:4px;
  margin-bottom:26px;
  background:var(--green);
}
.cv-accent.orange{background:var(--orange);}
.cv-accent.green{background:var(--green);}
.team-cv-card h3{
  margin:0 0 8px;
  color:#1d2230;
  font-size:clamp(1.55rem,2.4vw,2.2rem);
  line-height:1.12;
  letter-spacing:0;
}
.team-cv-card .role{
  margin:0;
  color:var(--green);
  font-size:1.08rem;
  line-height:1.35;
  font-weight:850;
}
.team-cv-card:nth-child(even) .role{
  color:var(--orange);
}
.cv-divider{
  height:1px;
  margin:24px 0;
  background:#d9dce1;
}
.team-cv-card p{
  margin:0 0 20px;
  color:#535866;
  font-size:1rem;
  line-height:1.55;
}
.team-cv-card p:last-child{
  margin-bottom:0;
}
.cv-label{
  margin:0 0 8px !important;
  color:#6c7280 !important;
  font-size:.78rem !important;
  font-weight:950 !important;
  line-height:1.2 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}
.team-cv-card-wide{
  grid-column:1/-1;
  padding:28px 34px;
  background:#1d2230;
  border-color:#1d2230;
  color:white;
}
.team-cv-card-wide h3{
  display:inline;
  color:white;
  font-size:1.25rem;
  margin-right:6px;
}
.team-cv-card-wide .role{
  display:inline;
  color:white;
  font-size:1.08rem;
  font-weight:650;
}
.team-cv-card-wide p:last-child{
  margin-top:10px;
  color:rgba(255,255,255,.62);
  font-size:1.02rem;
}

@media (max-width:820px){
  .team-cv-section .team-grid{grid-template-columns:1fr;}
  .team-cv-card{padding:30px 24px;}
  .team-cv-card-wide h3,
  .team-cv-card-wide .role{display:block;}
}

/* Finitions présentation : mini-CV et ADN dans le langage visuel du site */
.team-cv-section{
  background:linear-gradient(180deg,#fffdf8 0%,#f7f1e7 100%);
}
.team-cv-section .section-head{
  margin-bottom:34px;
}
.team-cv-section{
  padding-top:58px;
}
.team-cv-section .team-grid{
  gap:22px;
}
.team-cv-card{
  border-radius:28px;
  border:1px solid rgba(31,31,29,.08);
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.team-cv-card:nth-child(1),
.team-cv-card:nth-child(3){
  background:#f4faef;
}
.team-cv-card:nth-child(2),
.team-cv-card:nth-child(4){
  background:#fff5eb;
}
.team-cv-card-wide{
  background:#fff;
}
.team-cv-card::before{
  display:none;
  content:none;
}
.team-cv-card:nth-child(even)::before{
  display:none;
}
.cv-accent{
  width:54px;
  height:5px;
  border-radius:999px;
  margin-bottom:24px;
}
.team-cv-card h3{
  color:var(--black);
  font-size:clamp(1.45rem,2vw,1.95rem);
}
.team-cv-card .role{
  color:var(--green);
}
.team-cv-card:nth-child(even) .role{
  color:var(--orange);
}
.cv-divider{
  margin:22px 0;
  background:rgba(31,31,29,.1);
}
.team-cv-card p{
  color:#5f5a51;
}
.cv-label{
  color:#6f6b62 !important;
}
.team-cv-card-wide{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:14px 28px;
  align-items:center;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(31,31,29,.08);
  box-shadow:var(--shadow-soft);
}
.team-cv-card-wide::before{
  display:none;
}
.team-cv-card-wide h3{
  display:block;
  margin:0;
  color:var(--black);
  font-size:1.42rem;
}
.team-cv-card-wide .role{
  display:block;
  color:var(--green);
  font-size:1.02rem;
  line-height:1.4;
  font-weight:850;
}
.team-cv-card-wide p:last-child{
  grid-column:2;
  margin:0;
  color:#5f5a51;
}

.adn-section{
  background:#fffdf8;
}
.adn-section .section-head{
  display:block;
  max-width:760px;
}
.adn-section .values-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.adn-section .value-card{
  position:relative;
  overflow:hidden;
  min-height:230px;
  padding:24px;
  border-radius:26px;
  background:white;
  box-shadow:var(--shadow-soft);
}
.adn-section .value-card::after{
  display:none;
  content:none;
}
.adn-section .value-card:nth-child(even)::after{
  display:none;
}
.value-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-bottom:18px;
  border-radius:16px;
  background:var(--green-100);
  color:var(--green);
  font-size:1.25rem;
  font-weight:950;
}
.adn-section .value-card:nth-child(even) .value-icon{
  background:var(--orange-100);
  color:var(--orange);
}
.adn-section .value-card h3{
  font-size:1.08rem;
  line-height:1.18;
  margin-bottom:10px;
}
.adn-section .value-card p{
  font-size:.94rem;
  line-height:1.52;
}

@media (max-width:980px){
  .adn-section .values-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .team-cv-card-wide{grid-template-columns:1fr;}
  .team-cv-card-wide p:last-child{grid-column:auto;}
  .adn-section .values-grid{grid-template-columns:1fr;}
  .adn-section .value-card{min-height:auto;}
}

/* Méthodologie SIA */
.sia-section{
  background:#fffdf8;
}
.sia-intro{
  max-width:980px;
  margin-bottom:58px;
}
.sia-intro h2{
  max-width:980px;
  font-size:clamp(2.6rem,5.5vw,5.2rem);
  line-height:1.05;
  margin-bottom:24px;
}
.sia-intro p:not(.kicker){
  max-width:860px;
  color:#4f5563;
  font-size:1.18rem;
  line-height:1.62;
}
.sia-timeline{
  position:relative;
  display:grid;
  gap:34px;
  max-width:1040px;
  margin-left:18px;
}
.sia-timeline::before{
  content:"";
  position:absolute;
  left:30px;
  top:30px;
  bottom:30px;
  width:2px;
  background:#d9dce1;
}
.sia-step{
  position:relative;
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:34px;
  align-items:start;
}
.sia-number{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border:3px solid #171b2a;
  border-radius:999px;
  background:#fffdf8;
  color:#171b2a;
  font-size:1rem;
  font-weight:950;
}
.sia-number.green{
  border-color:var(--green);
  color:var(--green);
}
.sia-number.orange{
  border-color:var(--orange);
  color:var(--orange);
}
.sia-step h3{
  margin:2px 0 8px;
  color:var(--black);
  font-size:1.7rem;
  line-height:1.18;
}
.sia-step p{
  margin:0;
  color:#4f5563;
  font-size:1.04rem;
  line-height:1.55;
}
.sia-note{
  max-width:1040px;
  margin:58px 0 0;
  color:#7b8190;
  font-size:1rem;
  font-style:italic;
  line-height:1.55;
}

@media (max-width:640px){
  .sia-intro{margin-bottom:38px;}
  .sia-step{grid-template-columns:64px minmax(0,1fr);gap:20px;}
  .sia-number{width:54px;height:54px;}
  .sia-timeline{gap:28px;margin-left:0;}
  .sia-timeline::before{left:26px;}
  .sia-step h3{font-size:1.35rem;}
}

@media (max-width:560px){
  .project-hero{padding:62px 0 40px;}
  .gallery-modal{padding:14px;}
  .gallery-shell{max-height:calc(100vh - 28px);}
  .gallery-image{height:58vh;}
  .gallery-nav{width:44px;height:60px;font-size:2.3rem;}
  .gallery-caption{display:block;}
  .gallery-thumbs button{flex-basis:74px;height:52px;}
}

/* Accueil : version fond illustré fourni par le graphiste */
.home-page .hero-home{
  min-height:100vh !important;
  padding:190px 0 92px !important;
  background:#fffaf4 !important;
}
.home-page .hero-home::before{
  display:none !important;
}
.home-page .site-header{
  background:transparent !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.home-page .home-hero-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-image:
    linear-gradient(180deg,rgba(255,250,244,.13),rgba(255,250,244,.17)),
    url('../img/hero-sportfloor-burier-selective.jpg') !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  opacity:.9 !important;
  filter:none !important;
}
.home-page .home-hero-bg::before,
.home-page .home-plan,
.home-page .home-hero-note{
  display:none !important;
}
.home-page .home-hero-bg::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(ellipse at 50% 47%,rgba(255,255,255,.84) 0%,rgba(255,255,255,.62) 33%,rgba(255,255,255,.24) 58%,rgba(255,250,244,.06) 78%),
    linear-gradient(180deg,rgba(255,250,244,.18),rgba(255,250,244,.08) 48%,rgba(255,250,244,.20)) !important;
  pointer-events:none !important;
}
.home-page .hero-inner{
  max-width:1160px !important;
  transform:translateY(22px) !important;
  isolation:isolate !important;
}
.home-page .hero-inner::before{
  content:"" !important;
  position:absolute !important;
  z-index:-1 !important;
  left:50% !important;
  top:47% !important;
  width:min(1040px,92vw) !important;
  height:min(500px,64vh) !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  background:radial-gradient(ellipse,rgba(255,255,255,.98) 0%,rgba(255,255,255,.82) 42%,rgba(255,255,255,.34) 72%,transparent 100%) !important;
  filter:blur(4px) !important;
}
.home-page .eyebrow,
.home-page h1,
.home-page .hero-lead{
  text-shadow:0 10px 34px rgba(255,255,255,.96),0 2px 0 rgba(255,255,255,.92),0 0 1px rgba(255,255,255,.9) !important;
}
.home-page .eyebrow{
  color:#171717 !important;
  letter-spacing:.28em !important;
  margin-bottom:24px !important;
  font-weight:950 !important;
}
.home-page h1{
  font-size:clamp(4.7rem,8vw,7.9rem) !important;
  line-height:.98 !important;
  letter-spacing:-.03em !important;
  margin-bottom:28px !important;
  color:#111 !important;
}
.home-page .hero-lead{
  max-width:980px !important;
  color:#191919 !important;
  font-size:clamp(1.24rem,1.75vw,1.62rem) !important;
  line-height:1.42 !important;
  font-weight:650 !important;
}
.home-page .hero-actions{
  margin-top:38px !important;
}
.home-page .btn-primary{
  box-shadow:0 18px 44px rgba(255,95,0,.28),0 4px 12px rgba(31,31,29,.12) !important;
}
.home-page .btn-secondary{
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 16px 42px rgba(31,31,29,.12) !important;
}
@media (max-width:980px){
  .home-page .site-header{
    position:sticky !important;
    background:rgba(255,253,248,.94) !important;
    border-bottom:1px solid rgba(31,31,29,.08) !important;
    -webkit-backdrop-filter:blur(14px) !important;
    backdrop-filter:blur(14px) !important;
  }
  .home-page .hero-home{
    min-height:calc(100vh - 74px) !important;
    padding:86px 0 70px !important;
  }
  .home-page .home-hero-bg{
    background-position:center top !important;
    background-size:auto 100% !important;
  }
  .home-page .hero-inner{transform:none !important;}
}
@media (max-width:640px){
  .home-page .hero-home{
    min-height:auto !important;
    padding:62px 0 54px !important;
  }
  .home-page .home-hero-bg{
    background-position:center top !important;
    background-size:auto 105% !important;
    opacity:.7 !important;
  }
  .home-page h1{font-size:3.1rem !important;line-height:1.02 !important;}
  .home-page .hero-lead{font-size:1.02rem !important;}
}



/* Override final prioritaire : accents plus angulaires et hero aligné comme un bureau technique */
:root{
  --black:#1a1d1b;
  --text:#2c302d;
  --muted:#646a63;
  --cream:#f5f0e7;
  --sand:#e8dfd0;
  --white:#fffdf8;
  --line:#d8d1c5;
  --shadow:0 18px 46px rgba(21,24,22,.10);
  --shadow-soft:0 10px 28px rgba(21,24,22,.07);
  --radius-xl:10px;
  --radius-lg:8px;
  --radius-md:6px;
}
body{
  font-family:"Aptos","Inter Tight","Roboto Condensed","Arial",sans-serif !important;
  color:var(--text) !important;
  letter-spacing:0 !important;
}
h1,h2,h3,
.hero-title,
.section-title,
.page-title{
  font-family:"DIN Alternate","Aptos Display","Roboto Condensed","Arial Narrow","Arial",sans-serif !important;
  font-weight:850 !important;
  letter-spacing:.006em !important;
}
.container{
  width:min(1220px,calc(100% - 48px)) !important;
}
.home-page .hero-inner{
  text-align:left !important;
  max-width:1220px !important;
  transform:none !important;
}
.home-page .hero-actions{
  justify-content:flex-start !important;
}
.home-page .hero-title-card{
  display:inline-block !important;
  max-width:900px !important;
  padding:1.05rem 1.22rem 1.28rem !important;
  border-radius:6px !important;
  background:rgba(255,253,248,.64) !important;
  -webkit-backdrop-filter:blur(2px) !important;
  backdrop-filter:blur(2px) !important;
}
.home-page .hero-kicker{
  display:block !important;
  margin:0 0 .58rem !important;
  color:#1f241f !important;
  font-family:"Aptos","Inter Tight","Roboto Condensed","Arial",sans-serif !important;
  font-size:clamp(.72rem,1.15vw,.95rem) !important;
  font-weight:950 !important;
  line-height:1.25 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
}
.home-page .hero-inner::before{
  display:none !important;
}
.home-page .hero-inner::after{
  display:none !important;
  content:none !important;
}
.home-page .eyebrow,
.home-page h1,
.home-page .hero-lead{
  text-shadow:none !important;
}
.home-page .eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 0 .58rem !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#1f241f !important;
  box-shadow:none !important;
  font-size:clamp(.72rem,1.15vw,.95rem) !important;
  line-height:1.25 !important;
}
.home-page h1{
  display:block !important;
  max-width:900px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-bottom:0 !important;
  padding:1.05rem 1.22rem 1.28rem !important;
  border-radius:6px !important;
  background:rgba(255,253,248,.64) !important;
  -webkit-backdrop-filter:blur(2px) !important;
  backdrop-filter:blur(2px) !important;
  font-size:clamp(3.6rem,6.8vw,7rem) !important;
  line-height:1 !important;
  letter-spacing:.002em !important;
}
.home-page .hero-lead{
  max-width:720px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  font-weight:520 !important;
}
.home-page .hero-home{
  min-height:min(760px,calc(100vh - 120px)) !important;
  padding:116px 0 66px !important;
}
.home-page .home-hero-bg{
  background-image:url('../img/hero-sportfloor-burier-selective.jpg') !important;
  background-position:center center !important;
  background-size:cover !important;
  opacity:1 !important;
  filter:saturate(1.22) contrast(1.08) brightness(1.03) !important;
}
.home-page .home-hero-bg::after{
  background:
    linear-gradient(90deg,rgba(255,253,248,.82) 0%,rgba(255,253,248,.68) 34%,rgba(255,253,248,.20) 58%,rgba(255,253,248,0) 78%),
    linear-gradient(180deg,rgba(255,253,248,0) 0%,rgba(255,253,248,.18) 68%,rgba(255,253,248,.72) 100%) !important;
}
.hero,
.section-muted,
.section-green,
.team-cv-section,
.page-hero{
  background:linear-gradient(180deg,#fffdf8 0%,#f4eee4 100%) !important;
  background-size:auto !important;
}
.site-header,
.home-page .site-header{
  background:rgba(255,253,248,.96) !important;
  border-bottom:1px solid rgba(26,29,27,.12) !important;
}
.main-nav{
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
}
.header-cta,
.btn,
.filter-btn,
.nav-toggle,
.card,
.stat,
.service-row,
.ref-card,
.timeline-item,
.form-card,
.side-card,
.project-panel,
.project-fact,
.team-cv-card,
.team-cv-card-wide,
.adn-section .value-card,
.point-card,
.service-detail,
.value-card,
.visual,
.visual img,
.home-balanced-visual,
.home-balanced-visual img,
.home-method-visual,
.home-method-visual img,
.positionnement-photo,
.positionnement-photo img,
.project-hero-img,
.project-gallery img,
.ref-card img,
.team-portrait{
  border-radius:8px !important;
}
.btn,
.filter-btn,
.header-cta{
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}
.section-head.center{
  text-align:left !important;
  margin-inline:0 !important;
}
.section-head{
  align-items:flex-start !important;
  border-left:0 !important;
  padding-left:0 !important;
}
.card,
.stat,
.service-row,
.ref-card,
.timeline-item,
.form-card,
.side-card,
.project-panel,
.project-fact{
  border:1px solid rgba(26,29,27,.12) !important;
  box-shadow:var(--shadow-soft) !important;
}
.stats{
  gap:18px !important;
}
.stat{
  position:relative !important;
  overflow:hidden !important;
  min-height:auto !important;
  padding:24px !important;
  text-align:center !important;
  color:var(--black) !important;
  background:white !important;
  border-color:rgba(31,31,29,.08) !important;
  box-shadow:var(--shadow-soft) !important;
}
.stat::before{
  display:none !important;
  content:none !important;
}
.stat::after{
  display:none !important;
  content:none !important;
}
.stat .num{
  display:block !important;
  position:relative !important;
  z-index:1 !important;
  color:var(--orange) !important;
  font-family:inherit !important;
  font-size:clamp(2rem,4vw,3.6rem) !important;
  font-style:normal !important;
  font-weight:950 !important;
  line-height:1.04 !important;
  letter-spacing:-.008em !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
  transform:none !important;
}
.stat .num::after{
  display:none !important;
  content:none !important;
}
.stat .label{
  position:relative !important;
  z-index:1 !important;
  max-width:none !important;
  margin:8px 0 0 !important;
  color:var(--black) !important;
  font-weight:850 !important;
}
@media (max-width:640px){
  .home-page h1{font-size:2.85rem !important;}
  .home-page .hero-inner::after{display:none !important;content:none !important;}
  .home-page .hero-home{
    min-height:auto !important;
    padding:70px 0 54px !important;
  }
  .section-head{padding-left:0 !important;}
}

/* Préproduction Hostinger : harmonisation finale des rayons et des petits encadrés */
:root{
  --radius-xl:10px;
  --radius-lg:8px;
  --radius-md:6px;
  --radius-sm:4px;
}
.btn,
.header-cta,
.nav-toggle,
.main-nav,
.card,
.stat,
.service-row,
.ref-card,
.timeline-item,
.form-card,
.side-card,
.project-panel,
.project-fact,
.team-cv-card,
.team-cv-card-wide,
.adn-section .value-card,
.value-card,
.point-card,
.service-detail,
.visual,
.home-balanced-visual,
.home-method-visual,
.positionnement-photo,
.project-hero-img,
.project-gallery img,
.gallery-stage,
.gallery-thumbs button,
.field input,
.field textarea,
.field select,
.filter-btn,
.pill,
.notice,
.quote-editorial-card,
.cta-band{
  border-radius:8px !important;
}
.icon,
.domain-icon,
.value-icon,
.service-number,
.service-row span,
.timeline-item::before,
.sia-number,
.point-value,
.ref-meta span,
.gallery-close,
.gallery-nav,
.checklist li::before,
.mini-list li::before{
  border-radius:6px !important;
}
.team-card::after,
.intervention-card::after,
.cta-band::after,
.team-portrait::after{
  display:none !important;
  content:none !important;
}
.card,
.service-row,
.ref-card,
.timeline-item,
.form-card,
.project-panel,
.project-fact,
.team-cv-card,
.team-cv-card-wide,
.adn-section .value-card,
.value-card,
.point-card,
.service-detail,
.stat{
  border:1px solid rgba(26,29,27,.12) !important;
  box-shadow:0 10px 28px rgba(21,24,22,.07) !important;
}
.icon,
.domain-icon,
.value-icon,
.service-number,
.service-row span,
.timeline-item::before,
.sia-number,
.point-value{
  box-shadow:none !important;
}
.section-head{
  border-left:0 !important;
  padding-left:0 !important;
}
.hero .eyebrow,
.home-page h1,
.hero-lead{
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
@media (max-width:980px){
  .main-nav{
    border-radius:8px !important;
  }
  .home-page .hero-title-card{
    max-width:100% !important;
  }
  .home-page h1{
    max-width:100% !important;
  }
}
@media (max-width:640px){
  .home-page .hero-title-card{
    display:block !important;
    padding:.92rem 1rem 1.05rem !important;
  }
  .home-page .eyebrow{
    display:inline-block !important;
    white-space:normal !important;
    line-height:1.45 !important;
  }
  .home-page h1{
    display:block !important;
    padding:.92rem 1rem 1.05rem !important;
    font-size:2.72rem !important;
  }
  .home-page .hero-lead{
    font-size:1rem !important;
  }
}

/* Annotation accueil : libellé intégré dans le même cadre que le titre */
.home-page h1 > .hero-kicker{
  display:block !important;
  margin:0 0 .58rem !important;
  color:#1f241f !important;
  font-family:"Aptos","Inter Tight","Roboto Condensed","Arial",sans-serif !important;
  font-size:clamp(.72rem,1.15vw,.95rem) !important;
  font-weight:950 !important;
  line-height:1.25 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
}

/* Palette recentrée : orange + gris, vert réservé au logo et au titre d'accueil */
.btn-green,
.btn-green:hover{
  background:var(--orange) !important;
  border-color:var(--orange) !important;
  color:white !important;
}
.hero-lines span,
.service-row span,
.mini-list li::before{
  background:var(--orange) !important;
}
.section-green{
  background:linear-gradient(180deg,#fffdf8 0%,#f4eee4 100%) !important;
}
.icon.green,
.icon.dark,
.service-detail:nth-child(even) .service-number,
.value-icon,
.domain-icon-green,
.domain-icon-dark{
  background:var(--orange-100) !important;
  color:var(--orange) !important;
}
.ref-card .tag,
.checklist li::before,
.cv-accent.green,
.team-cv-card .role,
.team-cv-card-wide .role,
.sia-number.green,
.sia-number.dark,
body:not(.home-page) h1 .green,
.text-green{
  color:var(--orange) !important;
}
.cv-accent,
.cv-accent.green{
  background:var(--orange) !important;
}
.sia-number.green,
.sia-number.dark{
  border-color:var(--orange) !important;
}
.home-page h1 .green{
  color:var(--green) !important;
}
.team-card::after{
  background:rgba(239,107,16,.08) !important;
}
.team-portrait{
  background:
    radial-gradient(circle at 35% 18%,rgba(255,255,255,.92),rgba(255,255,255,.28) 28%,transparent 44%),
    linear-gradient(145deg,var(--orange-100),var(--cream)) !important;
}
.team-cv-card:nth-child(1),
.team-cv-card:nth-child(3){
  background:#fffdf8 !important;
}
.adn-section .value-card:nth-child(even) .value-icon{
  background:var(--orange-100) !important;
  color:var(--orange) !important;
}
.side-card{
  background:linear-gradient(135deg,var(--black),#2c2c29) !important;
}

/* Annotation accueil : remonter le bloc titre + boutons pour libérer les terrains */
.home-page .hero-home{
  align-items:flex-start !important;
  min-height:min(760px,calc(100vh - 120px)) !important;
  padding:74px 0 86px !important;
}
.home-page .hero-actions{
  margin-top:28px !important;
}
.home-page .home-hero-bg{
  filter:saturate(1.12) contrast(1.04) brightness(1.02) !important;
}
.home-page .home-hero-bg::after{
  background:
    linear-gradient(90deg,rgba(255,253,248,.40) 0%,rgba(255,253,248,.26) 32%,rgba(255,253,248,.08) 56%,rgba(255,253,248,0) 76%),
    linear-gradient(180deg,rgba(255,253,248,0) 0%,rgba(255,253,248,.06) 70%,rgba(255,253,248,.30) 100%) !important;
}
.home-page h1{
  background:rgba(255,253,248,.78) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.home-page h1 .orange{color:var(--orange) !important;}
.home-page h1 .green{color:var(--black) !important;}
.home-page h1 > .hero-kicker{
  color:var(--orange) !important;
  font-size:clamp(.92rem,1.35vw,1.18rem) !important;
  letter-spacing:.14em !important;
}
@media (max-width:980px){
  .home-page .hero-home{
    padding:56px 0 70px !important;
  }
}
@media (max-width:640px){
  .home-page .hero-home{
    padding:42px 0 54px !important;
  }
}

/* Équipe : cartes de profil repliables */
.team-profile-card{
  padding:0 !important;
}
.team-profile-card summary{
  position:relative;
  display:grid;
  gap:8px;
  min-height:172px;
  padding:38px;
  cursor:pointer;
  list-style:none;
}
.team-profile-card summary::-webkit-details-marker{
  display:none;
}
.team-profile-card .profile-name{
  display:block;
  color:var(--black);
  font-size:clamp(1.45rem,2vw,1.95rem);
  font-weight:850;
  line-height:1.12;
}
.team-profile-card .role{
  display:block;
  margin:0;
  color:var(--orange) !important;
  font-size:1.05rem;
  line-height:1.35;
  font-weight:850;
}
.team-profile-card .profile-toggle{
  position:absolute;
  right:28px;
  top:34px;
  width:34px;
  height:34px;
  border:2px solid var(--orange);
  border-radius:6px;
}
.team-profile-card .profile-toggle::before,
.team-profile-card .profile-toggle::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:50%;
  height:2px;
  background:var(--orange);
  transform:translateY(-50%);
}
.team-profile-card .profile-toggle::after{
  transform:translateY(-50%) rotate(90deg);
}
.team-profile-card[open] .profile-toggle::after{
  display:none;
}
.team-profile-card .profile-details{
  padding:0 38px 38px;
}
.team-profile-card:not([open]) .profile-details{
  display:none;
}
.team-profile-card[open]{
  box-shadow:0 16px 42px rgba(21,24,22,.10) !important;
}
.team-cv-card-wide.team-profile-card{
  display:block !important;
}
.team-cv-card-wide.team-profile-card summary{
  min-height:auto;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr) auto;
  align-items:center;
  gap:14px 28px;
  padding:28px 34px;
}
.team-cv-card-wide.team-profile-card .profile-details{
  padding:0 34px 28px;
}
@media (max-width:820px){
  .team-profile-card summary{
    min-height:auto;
    padding:30px 24px;
  }
  .team-profile-card .profile-details{
    padding:0 24px 30px;
  }
  .team-cv-card-wide.team-profile-card summary{
    grid-template-columns:1fr auto;
  }
  .team-cv-card-wide.team-profile-card .role{
    grid-column:1 / -1;
  }
}

/* Équipe : grille uniforme et cartes claires */
.team-cv-section .team-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
.team-cv-card,
.team-cv-card:nth-child(1),
.team-cv-card:nth-child(2),
.team-cv-card:nth-child(3),
.team-cv-card:nth-child(4),
.team-cv-card:nth-child(5){
  background:#fffdf8 !important;
}
.team-profile-card{
  min-height:168px !important;
}
.team-profile-card summary{
  min-height:168px !important;
}
.team-profile-card[open]{
  min-height:auto !important;
}
@media (max-width:820px){
  .team-cv-section .team-grid{
    grid-template-columns:1fr !important;
  }
}

/* Équipe : présentation éditoriale en profils pleine largeur */
.team-cv-section{
  background:linear-gradient(180deg,#fffdf8 0%,#f4eee4 100%) !important;
}
.team-showcase-head{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,.55fr);
  gap:34px;
  align-items:end;
  margin-bottom:34px;
}
.team-showcase-head h2{
  margin:0;
  max-width:820px;
  font-size:clamp(2.4rem,5vw,5.15rem);
}
.team-showcase-head p:last-child{
  margin:0;
  color:#5f5a51;
  font-size:1.12rem;
  line-height:1.6;
}
.team-cv-section .team-grid{
  grid-template-columns:1fr !important;
  gap:16px !important;
}
.team-profile-card{
  min-height:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(26,29,27,.12) !important;
  background:#fffdf8 !important;
  box-shadow:0 14px 38px rgba(21,24,22,.06) !important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.team-profile-card:hover,
.team-profile-card[open]{
  transform:translateY(-2px);
  border-color:rgba(239,107,16,.34) !important;
  box-shadow:0 20px 54px rgba(21,24,22,.11) !important;
}
.team-profile-card summary{
  display:grid !important;
  grid-template-columns:86px minmax(0,1.1fr) minmax(220px,.72fr) 44px;
  align-items:center;
  gap:24px;
  min-height:150px !important;
  padding:28px 30px !important;
}
.team-profile-card .cv-accent{
  display:none !important;
}
.profile-number{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border:2px solid var(--orange);
  border-radius:8px;
  color:var(--orange);
  font-weight:950;
  letter-spacing:.06em;
}
.profile-main{
  display:grid;
  gap:8px;
}
.team-profile-card .profile-name{
  font-size:clamp(1.7rem,3vw,2.7rem) !important;
  letter-spacing:0 !important;
}
.team-profile-card .role{
  font-size:1.08rem !important;
}
.profile-focus{
  color:#5f5a51;
  font-size:1rem;
  line-height:1.45;
  font-weight:760;
}
.team-profile-card .profile-toggle{
  position:relative !important;
  right:auto !important;
  top:auto !important;
  justify-self:end;
}
.team-profile-card .profile-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  padding:0 30px 30px 140px !important;
  border-top:1px solid rgba(26,29,27,.1);
}
.team-profile-card:not([open]) .profile-details{
  display:none !important;
}
.team-profile-card .profile-details > div{
  padding-top:26px;
}
.team-profile-card .profile-details p{
  margin-bottom:0;
}
@media (max-width:900px){
  .team-showcase-head{
    grid-template-columns:1fr;
  }
  .team-profile-card summary{
    grid-template-columns:68px minmax(0,1fr) 44px;
  }
  .profile-focus{
    grid-column:2 / -1;
  }
  .team-profile-card .profile-details{
    grid-template-columns:1fr;
    padding-left:30px !important;
  }
}
@media (max-width:640px){
  .team-profile-card summary{
    grid-template-columns:1fr 44px;
    gap:14px;
  }
  .profile-number{
    width:52px;
    height:52px;
  }
  .profile-main,
  .profile-focus{
    grid-column:1 / -1;
  }
  .team-profile-card .profile-toggle{
    position:absolute !important;
    right:24px !important;
    top:28px !important;
  }
}

/* Page équipe : concept graphique inspiré du moodboard fourni */
.team-concept-page{
  background:#fffdf8;
}
.team-concept-hero{
  position:relative;
  overflow:hidden;
  min-height:560px;
  padding:66px 0 48px;
  background:
    linear-gradient(90deg,#fffdf8 0%,rgba(255,253,248,.96) 44%,rgba(255,253,248,.55) 72%,#fffdf8 100%),
    repeating-linear-gradient(135deg,rgba(26,29,27,.025) 0 1px,transparent 1px 16px);
}
.team-concept-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:42px;
  align-items:center;
}
.team-concept-copy{
  position:relative;
  z-index:2;
}
.team-concept-copy h1{
  margin:34px 0 0;
  max-width:680px;
  color:#111;
  font-size:clamp(3.5rem,7vw,6.6rem);
  line-height:.98;
  letter-spacing:0;
}
.team-concept-copy h1 span{
  display:block;
  color:var(--orange);
}
.team-hero-rule{
  width:70px;
  height:3px;
  margin:38px 0 26px;
  background:var(--orange);
}
.team-concept-copy p:not(.team-signature){
  max-width:460px;
  margin:0;
  color:#191919;
  font-size:1.08rem;
  line-height:1.65;
}
.team-signature{
  margin:32px 0 0;
  color:var(--orange);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:1.6rem;
  line-height:1;
}
.team-concept-visual{
  position:relative;
  min-height:440px;
}
.team-concept-visual img{
  position:absolute;
  right:-28px;
  bottom:0;
  width:min(760px,70vw);
  height:360px;
  object-fit:cover;
  filter:grayscale(1) contrast(1.08);
  clip-path:ellipse(62% 58% at 58% 50%);
}
.team-concept-visual::after{
  content:"";
  position:absolute;
  right:-28px;
  bottom:0;
  width:min(760px,70vw);
  height:360px;
  background:linear-gradient(0deg,rgba(239,107,16,.56),rgba(239,107,16,.18) 48%,transparent 74%);
  mix-blend-mode:multiply;
  clip-path:ellipse(62% 58% at 58% 50%);
}
.team-visual-arch{
  position:absolute;
  right:86px;
  top:2px;
  width:260px;
  height:340px;
  border-radius:999px 999px 0 0;
  background:rgba(26,29,27,.055);
}
.team-visual-frame{
  position:absolute;
  right:150px;
  bottom:8px;
  width:390px;
  height:260px;
  border:2px solid rgba(255,255,255,.72);
  z-index:2;
}
.team-visual-stripes{
  position:absolute;
  right:40px;
  top:74px;
  width:82px;
  height:70px;
  background:repeating-linear-gradient(0deg,var(--orange) 0 3px,transparent 3px 7px);
  z-index:3;
}
.team-members-concept{
  background:#fffdf8;
  padding-top:48px;
}
.team-section-title{
  text-align:center;
  margin:0 auto 24px;
}
.team-section-title h2{
  margin:0 auto;
  max-width:760px;
  color:#111;
  font-size:clamp(2.1rem,4vw,3.25rem);
  line-height:1.05;
}
.team-section-title h2 span{
  color:var(--orange);
}
.team-concept-cards{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:22px;
}
.team-person-card{
  position:relative;
  overflow:hidden;
  min-height:590px;
  padding:18px 22px 22px;
  border:1px solid rgba(26,29,27,.10);
  border-radius:8px;
  background:#fff;
  box-shadow:0 16px 38px rgba(21,24,22,.07);
}
.team-person-card::before{
  content:none;
}
.team-person-card::after{
  content:none;
}
.team-card-number{
  display:none;
}
.team-portrait-cutout{
  position:relative;
  z-index:2;
  height:212px;
  margin:0 0 20px;
  display:grid;
  place-items:end center;
  overflow:hidden;
  border-radius:7px;
  border:3px solid var(--orange);
  background:#fff;
}
.team-portrait-cutout img{
  width:220px;
  height:220px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.16));
}
.team-person-card h3{
  position:relative;
  z-index:2;
  margin:0 0 6px;
  color:#111;
  font-size:1.42rem;
  line-height:1.15;
}
.team-role{
  position:relative;
  z-index:2;
  margin:0 0 18px;
  color:var(--orange);
  font-size:.96rem;
  font-weight:950;
  line-height:1.25;
  text-transform:uppercase;
}
.team-person-card p:not(.team-role){
  position:relative;
  z-index:2;
  margin:0 0 22px;
  color:#333;
  font-size:1rem;
  line-height:1.54;
}
.team-person-card h4{
  margin:0 0 10px;
  color:#111;
  font-size:.9rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.team-person-card ul{
  margin:0;
  padding:0;
  list-style:none;
}
.team-person-card li{
  position:relative;
  margin:.38rem 0;
  padding-left:14px;
  color:#111;
  font-size:.92rem;
  line-height:1.35;
  font-weight:700;
}
.team-person-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--orange);
}
.team-values-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:22px;
  padding:28px 24px;
  border:1px solid rgba(26,29,27,.1);
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 34px rgba(21,24,22,.06);
}
.team-values-strip article{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:12px 16px;
  padding:0 22px;
  border-right:1px solid rgba(239,107,16,.22);
}
.team-values-strip article:last-child{
  border-right:0;
}
.team-values-strip span{
  grid-row:1 / span 2;
  color:var(--orange);
  font-size:2.3rem;
  line-height:1;
}
.team-values-strip h3{
  margin:0;
  font-size:.9rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.team-values-strip p{
  margin:0;
  color:#333;
  font-size:.82rem;
  line-height:1.35;
}
.team-proof-band{
  position:relative;
  overflow:hidden;
  padding:0 0 64px;
  color:#111;
  background:#fffdf8;
}
.team-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.team-proof-grid h2{
  grid-column:1 / -1;
  margin:0 0 22px;
  max-width:none;
  padding:62px 48px;
  border-radius:0;
  background:#171716;
  color:white;
  font-size:clamp(2.45rem,4.8vw,4.9rem);
  line-height:1.02;
}
.team-proof-grid h2 span{
  color:var(--orange);
}
.team-proof-stat{
  min-height:205px;
  border:1px solid rgba(26,29,27,.10);
  border-radius:8px;
  background:#fff;
  padding:26px 24px;
  box-shadow:0 14px 34px rgba(21,24,22,.06);
}
.team-proof-stat span{
  display:block;
  color:var(--orange);
  font-size:3.5rem;
  line-height:1;
  font-weight:950;
}
.team-proof-stat strong{
  display:block;
  margin-top:8px;
  color:#171716;
  font-size:.95rem;
  line-height:1.1;
  text-transform:uppercase;
}
.team-proof-stat p{
  margin:14px 0 0;
  color:#555;
  font-size:.86rem;
  line-height:1.35;
}
@media (max-width:1120px){
  .team-concept-cards{grid-template-columns:repeat(3,minmax(0,1fr));}
  .team-proof-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  .team-concept-hero-grid{grid-template-columns:1fr;}
  .team-concept-visual{min-height:300px;}
  .team-concept-visual img,
  .team-concept-visual::after{width:100%;height:280px;right:0;}
  .team-values-strip{grid-template-columns:1fr 1fr;gap:22px;}
  .team-values-strip article{border-right:0;padding:0;}
}
@media (max-width:640px){
  .team-concept-hero{padding:42px 0;}
  .team-concept-copy h1{font-size:3.25rem;}
  .team-concept-cards{grid-template-columns:1fr;}
  .team-person-card{min-height:auto;}
  .team-values-strip,
  .team-proof-grid{grid-template-columns:1fr;}
  .team-proof-grid h2{padding:42px 24px;}
  .team-proof-stat{padding:24px;}
}

/* Page équipe : hero simplifié dans l'esprit de l'accueil */
.team-concept-page .team-concept-hero{
  min-height:640px;
  display:flex;
  align-items:flex-start;
  padding:78px 0 172px;
  background:
    linear-gradient(90deg,rgba(255,253,248,.84) 0%,rgba(255,253,248,.48) 38%,rgba(255,253,248,.08) 78%),
    linear-gradient(0deg,rgba(255,253,248,.18),rgba(255,253,248,.02)),
    url('../img/team-hero-footgris.jpg') center/cover no-repeat;
}
.team-concept-page .team-concept-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:22%;
  background:linear-gradient(0deg,#fffdf8 0%,rgba(255,253,248,0) 100%);
  pointer-events:none;
}
.team-concept-page .team-concept-hero-grid{
  position:relative;
  z-index:1;
  display:block;
}
.team-concept-page .team-concept-copy{
  width:min(620px,100%);
  padding:18px 24px 24px;
  border-radius:8px;
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 48px rgba(17,17,17,.08);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
.team-concept-page .team-concept-copy h1{
  margin:0;
  max-width:570px;
  color:#111;
  font-size:clamp(3rem,5.7vw,4.9rem);
  line-height:1.02;
  letter-spacing:0;
}
.team-concept-page .team-concept-copy h1 span{
  display:block;
  color:var(--orange);
}
.team-concept-page .team-concept-copy p{
  max-width:660px;
  margin:24px 0 0;
  color:#141414;
  font-size:clamp(1.05rem,1.55vw,1.28rem);
  font-weight:700;
  line-height:1.48;
}
.team-concept-page .team-concept-visual,
.team-concept-page .team-visual-arch,
.team-concept-page .team-visual-frame,
.team-concept-page .team-visual-stripes,
.team-concept-page .team-hero-rule,
.team-concept-page .team-signature{
  display:none !important;
}
@media (max-width:760px){
  .team-concept-page .team-concept-hero{
    min-height:540px;
    padding:72px 0 62px;
    background-position:center;
  }
  .team-concept-page .team-concept-copy{
    padding:18px 18px 22px;
  }
  .team-concept-page .team-concept-copy h1{
    font-size:clamp(2.8rem,14vw,4.2rem);
  }
}

/* Page prestations : hero image dans la continuité Accueil / Équipe */
.prestations-page .prestations-hero{
  position:relative;
  overflow:hidden;
  min-height:660px;
  display:flex;
  align-items:flex-start;
  padding:74px 0 188px;
  background:#111;
}
.prestations-page .prestations-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('../img/prestations-hero-sportif.jpg') center/cover no-repeat;
  filter:contrast(1.04);
  transform:scale(1.02);
}
.prestations-page .prestations-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,253,248,.62) 0%,rgba(255,253,248,.22) 38%,rgba(255,253,248,.03) 78%),
    linear-gradient(0deg,rgba(255,253,248,.38) 0%,rgba(255,253,248,0) 18%,rgba(239,107,16,.14) 48%,rgba(255,253,248,.02) 100%);
  mix-blend-mode:normal;
  pointer-events:none;
}
.prestations-page .prestations-hero .container{
  position:relative;
  z-index:1;
}
.prestations-hero-card{
  width:min(680px,100%);
  padding:26px;
  border-radius:8px;
  background:rgba(255,255,255,.68);
  box-shadow:0 18px 48px rgba(17,17,17,.08);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
.prestations-hero-card .hero-kicker{
  display:block;
  margin:0 0 10px;
  color:var(--orange);
  font-size:1.02rem;
  font-weight:950;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}
.prestations-page .prestations-hero h1{
  margin:0;
  max-width:620px;
  color:#111;
  font-size:clamp(3.2rem,5.5vw,5rem);
  line-height:1.04;
  letter-spacing:0;
}
.prestations-page .prestations-hero h1 span{
  color:var(--orange);
}
@media (max-width:760px){
  .prestations-page .prestations-hero{
    min-height:540px;
    padding:54px 0 82px;
  }
  .prestations-hero-card{
    padding:18px 18px 22px;
  }
  .prestations-page .prestations-hero h1{
    font-size:clamp(2.55rem,12vw,3.8rem);
  }
}

/* Page références : hero image dans la continuité Accueil / Équipe / Prestations */
.references-page .references-hero{
  position:relative;
  overflow:hidden;
  min-height:540px;
  display:flex;
  align-items:flex-start;
  padding:74px 0 78px;
  background:#111;
}
.references-page .references-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('../img/xamax.png') center/cover no-repeat;
  filter:contrast(1.04) saturate(1.04);
  transform:scale(1.02);
  opacity:1;
  -webkit-mask-image:none;
  mask-image:none;
}
.references-page .references-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,253,248,.12) 0%,rgba(255,253,248,.06) 54%,rgba(255,253,248,.18) 100%),
    linear-gradient(90deg,rgba(255,253,248,.18) 0%,rgba(255,253,248,.08) 35%,rgba(255,253,248,0) 72%);
  pointer-events:none;
}
.references-page .references-hero .container{
  position:relative;
  z-index:1;
}
.references-hero-card{
  width:min(720px,100%);
  padding:26px;
  border-radius:8px;
  background:rgba(255,255,255,.68);
  box-shadow:0 18px 48px rgba(17,17,17,.08);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
.references-page .references-hero h1{
  margin:0;
  max-width:660px;
  color:#111;
  font-size:clamp(3.2rem,5.5vw,5rem);
  line-height:1.04;
  letter-spacing:0;
}
.references-page .references-hero h1 span{
  color:var(--orange);
}
@media (max-width:760px){
  .references-page .references-hero{
    min-height:430px;
    padding:54px 0 56px;
  }
  .references-hero-card{
    padding:18px 18px 22px;
  }
  .references-page .references-hero h1{
    font-size:clamp(2.55rem,12vw,3.8rem);
  }
}

/* Correctif navigation : les couches image/decor ne doivent jamais bloquer les liens. */
.site-header{
  isolation:isolate;
  z-index:1000 !important;
}
.navbar,
.logo,
.main-nav,
.main-nav a,
.header-cta,
.nav-toggle{
  position:relative;
  z-index:2;
}
.home-hero-bg,
.home-hero-bg::before,
.home-hero-bg::after,
.hero::before,
.hero::after,
.team-concept-hero::before,
.team-concept-hero::after,
.team-concept-visual,
.team-concept-visual::before,
.team-concept-visual::after,
.prestations-hero::before,
.prestations-hero::after,
.project-hero::before,
.project-hero::after{
  pointer-events:none !important;
}
.hero-inner,
.hero-actions,
.hero-actions a,
.prestations-hero-card,
.breadcrumb,
.breadcrumb a,
.back-link,
.source-link,
.ref-card-link,
.footer-links,
.footer-links a{
  position:relative;
  z-index:3;
}
@media (max-width:980px){
  .main-nav.open{
    z-index:1001 !important;
    pointer-events:auto !important;
  }
}

/* Garde-fou final : le header doit toujours rester cliquable. */
.site-header,
.home-page .site-header{
  position:sticky !important;
  top:0 !important;
  z-index:10000 !important;
  pointer-events:auto !important;
  isolation:isolate !important;
}
.site-header .logo,
.site-header .main-nav a,
.site-header .header-cta,
.site-header .nav-toggle{
  position:relative !important;
  z-index:2 !important;
  pointer-events:auto !important;
}
main,
.hero,
.page-hero,
.team-concept-hero,
.prestations-hero,
.project-hero{
  position:relative;
  z-index:0;
}
.home-hero-bg,
.hero::before,
.hero::after,
.page-hero::before,
.page-hero::after,
.team-concept-hero::before,
.team-concept-hero::after,
.prestations-hero::before,
.prestations-hero::after,
.project-hero::before,
.project-hero::after{
  pointer-events:none !important;
}

/* Nettoyage section équipe : aucun surtitre au-dessus du titre principal. */
.team-section-title .kicker{
  display:none !important;
}

/* Équipe : aligner les blocs de contenu de chaque carte. */
.team-person-card{
  display:grid;
  grid-template-rows:224px 38px 48px 168px 42px auto;
  row-gap:0;
}
.team-person-card .team-portrait-cutout{
  align-self:start;
  margin:0;
}
.team-person-card h3{
  min-height:38px;
  margin:0;
  align-self:start;
}
.team-person-card .team-role{
  min-height:48px;
  margin:0;
  align-self:start;
}
.team-person-card p:not(.team-role){
  min-height:168px;
  margin:0;
  align-self:start;
}
.team-person-card h4{
  min-height:42px;
  margin:0;
  padding-top:14px;
  border-top:1px solid rgba(26,29,27,.14);
  align-self:start;
}
.team-person-card ul{
  align-self:start;
}
@media (max-width:1120px){
  .team-person-card{
    grid-template-rows:224px 38px 48px 142px 42px auto;
  }
  .team-person-card p:not(.team-role){
    min-height:142px;
  }
}
@media (max-width:640px){
  .team-person-card{
    display:block;
  }
  .team-person-card h3,
  .team-person-card .team-role,
  .team-person-card p:not(.team-role),
  .team-person-card h4{
    min-height:0;
  }
  .team-person-card h3{margin:0 0 6px;}
  .team-person-card .team-role{margin:0 0 18px;}
  .team-person-card p:not(.team-role){margin:0 0 22px;}
  .team-person-card h4{margin:0 0 10px;padding-top:14px;}
}

/* Accueil : citation directeur en bandeau sombre. */
.section-quote-person.quote-editorial-section{
  padding:58px 0 !important;
  background:#151515 !important;
  border:0 !important;
}
.section-quote-person.quote-editorial-section .container{
  width:min(1220px,calc(100% - 48px)) !important;
}
.section-quote-person.quote-editorial-section .quote-editorial-card{
  max-width:1060px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.section-quote-person.quote-editorial-section .quote-editorial-card .kicker{
  display:none !important;
}
.section-quote-person.quote-editorial-section .quote-editorial-card blockquote{
  max-width:980px !important;
  color:#fffdf8 !important;
  font-size:clamp(2rem,3.6vw,4.1rem) !important;
  line-height:1.12 !important;
  font-weight:850 !important;
  letter-spacing:0 !important;
}
.section-quote-person.quote-editorial-section .quote-editorial-card blockquote span{
  color:var(--orange) !important;
}
.section-quote-person.quote-editorial-section .quote-editorial-card figcaption{
  margin-top:28px !important;
  color:rgba(255,253,248,.78) !important;
  font-size:1rem !important;
  font-weight:750 !important;
  letter-spacing:.01em !important;
}
@media (max-width:640px){
  .section-quote-person.quote-editorial-section{
    padding:42px 0 !important;
  }
  .section-quote-person.quote-editorial-section .quote-editorial-card blockquote{
    font-size:2rem !important;
    line-height:1.16 !important;
  }
}

/* Équipe : photo hero sans voile blanc. */
.team-concept-page .team-concept-hero{
  background:url('../img/team-hero-footgris.jpg') center/cover no-repeat !important;
}
.team-concept-page .team-concept-hero::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  height:auto !important;
  background:
    linear-gradient(180deg,rgba(255,253,248,.12) 0%,rgba(255,253,248,.06) 54%,rgba(255,253,248,.18) 100%),
    linear-gradient(90deg,rgba(255,253,248,.18) 0%,rgba(255,253,248,.08) 35%,rgba(255,253,248,0) 72%) !important;
  pointer-events:none !important;
}

/* Garde-fou publication Hostinger : heroes finaux Références / Prestations. */
.references-page .references-hero{
  min-height:540px !important;
  padding:74px 0 78px !important;
  background:#111 !important;
}
.references-page .references-hero::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:url('../img/xamax.png') center/cover no-repeat !important;
  filter:contrast(1.04) saturate(1.04) !important;
  opacity:1 !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.references-page .references-hero::after,
.prestations-page .prestations-hero::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  height:auto !important;
  background:
    linear-gradient(180deg,rgba(255,253,248,.12) 0%,rgba(255,253,248,.06) 54%,rgba(255,253,248,.18) 100%),
    linear-gradient(90deg,rgba(255,253,248,.18) 0%,rgba(255,253,248,.08) 35%,rgba(255,253,248,0) 72%) !important;
  pointer-events:none !important;
}
.prestations-page .prestations-hero::before{
  background:url('../img/prestations-hero-sportif.jpg') center/cover no-repeat !important;
  filter:contrast(1.05) saturate(1.04) !important;
  opacity:1 !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* Prestations : photo hero sans voile blanc. */
.prestations-page .prestations-hero::before{
  background:url('../img/prestations-hero-sportif.jpg') center/cover no-repeat !important;
  filter:contrast(1.05) saturate(1.04) !important;
  opacity:1 !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.prestations-page .prestations-hero::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  height:auto !important;
  background:
    linear-gradient(180deg,rgba(255,253,248,.12) 0%,rgba(255,253,248,.06) 54%,rgba(255,253,248,.18) 100%),
    linear-gradient(90deg,rgba(255,253,248,.18) 0%,rgba(255,253,248,.08) 35%,rgba(255,253,248,0) 72%) !important;
  pointer-events:none !important;
}

/* Prestations : section animée "Pourquoi travailler avec nous ?" */
.why-work-section{
  position:relative;
  overflow:hidden;
  background:#151515 !important;
  color:#fffdf8;
}
.why-work-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(239,107,16,.16),rgba(239,107,16,0) 42%),
    repeating-linear-gradient(135deg,rgba(255,253,248,.055) 0 1px,transparent 1px 18px);
  pointer-events:none;
}
.why-work-section .container{
  position:relative;
  z-index:1;
}
.why-work-title{
  max-width:880px;
  margin:0 0 34px;
}
.why-work-title .kicker{
  color:var(--orange) !important;
}
.why-work-title h2{
  margin:0;
  color:#fffdf8;
  font-size:clamp(2.6rem,5.4vw,5.4rem);
  line-height:1.02;
  letter-spacing:0;
}
.why-work-grid{
  display:grid;
  gap:18px;
}
.why-work-section .service-detail{
  position:relative;
  overflow:hidden;
  grid-template-columns:86px minmax(0,1fr);
  align-items:start;
  padding:28px;
  background:rgba(255,253,248,.07) !important;
  border:1px solid rgba(255,253,248,.16) !important;
  box-shadow:none !important;
  color:#fffdf8;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  transition:transform .28s ease, border-color .28s ease, background .28s ease;
}
.why-work-section .service-detail::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(239,107,16,.14),rgba(239,107,16,0) 34%);
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}
.why-work-section .service-detail:hover{
  transform:translateY(-4px);
  border-color:rgba(239,107,16,.55) !important;
  background:rgba(255,253,248,.10) !important;
}
.why-work-section .service-detail:hover::after{
  opacity:1;
}
.why-work-section .service-number{
  background:var(--orange) !important;
  color:#fffdf8 !important;
}
.why-work-section .service-detail h2{
  color:#fffdf8;
}
.why-work-section .service-detail p,
.why-work-section .mini-list li{
  color:rgba(255,253,248,.78) !important;
}
.why-work-section .mini-list li::before{
  background:var(--orange) !important;
}
.reveal-on-scroll.js-animated{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .72s ease, transform .72s cubic-bezier(.2,.8,.2,1);
}
.reveal-on-scroll.js-animated.is-visible{
  opacity:1;
  transform:translateY(0);
}
.why-work-section .service-detail:nth-child(2).js-animated{transition-delay:.08s;}
.why-work-section .service-detail:nth-child(3).js-animated{transition-delay:.16s;}
.why-work-section .service-detail:nth-child(4).js-animated{transition-delay:.24s;}
.why-work-section .service-detail:nth-child(5).js-animated{transition-delay:.32s;}
@media (prefers-reduced-motion:reduce){
  .reveal-on-scroll.js-animated{
    opacity:1;
    transform:none;
    transition:none;
  }
  .why-work-section .service-detail:hover{
    transform:none;
  }
}
@media (max-width:760px){
  .why-work-section .service-detail{
    grid-template-columns:1fr;
    padding:24px;
  }
  .why-work-title{
    margin-bottom:24px;
  }
}

/* Accueil : photo hero sans voile blanc. */
.home-page .home-hero-bg{
  background-image:url('../img/hero-sportfloor-burier-selective.jpg') !important;
  opacity:1 !important;
  filter:saturate(1.12) contrast(1.04) brightness(1.02) !important;
}
.home-page .home-hero-bg::before{
  display:none !important;
  content:none !important;
  background:none !important;
}
.home-page .home-hero-bg::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(180deg,rgba(255,253,248,.12) 0%,rgba(255,253,248,.06) 54%,rgba(255,253,248,.18) 100%),
    linear-gradient(90deg,rgba(255,253,248,.18) 0%,rgba(255,253,248,.08) 35%,rgba(255,253,248,0) 72%) !important;
  pointer-events:none !important;
}
