
:root{--sand:#f4eadb;--sand-light:#fbf6ed;--gold:#b9873d;--gold-dark:#8d642e;--ink:#211910;--muted:#6e6254;--dark:#12100c;--line:#ddc6a2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand-light);color:var(--ink);font-family:Avenir Next,Montserrat,Arial,sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{margin:0 0 18px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06}h1{font-size:clamp(42px,6vw,84px)}h2{font-size:clamp(32px,4.5vw,58px)}h3{text-transform:uppercase;letter-spacing:.08em;font-size:15px}p{margin:0 0 18px}.header{position:fixed;top:0;left:0;right:0;z-index:1000;height:118px;padding:8px 4.5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(244,234,219,.97);border-bottom:1px solid rgba(185,135,61,.28);box-shadow:0 10px 30px rgba(65,43,15,.08)}.logo img{height:106px;width:auto}.nav{display:flex;align-items:center;gap:18px}.nav a,.lang button{color:var(--gold-dark);font-size:12px;text-transform:uppercase;font-weight:850;letter-spacing:.055em;text-decoration:none;white-space:nowrap;background:none;border:0;cursor:pointer;padding:0}.nav a.active{color:var(--gold);border-bottom:2px solid var(--gold);padding-bottom:8px}.nav .study{background:var(--gold);color:white;padding:14px 18px;border-radius:2px;box-shadow:0 9px 18px rgba(185,135,61,.24)}.lang{display:flex;gap:8px;color:var(--gold-dark);align-items:center}.lang button.active-lang{color:var(--gold);border-bottom:1px solid var(--gold)}.menu{display:none;background:transparent;border:0;color:var(--gold-dark);font-size:34px}.hero{position:relative;min-height:92vh;padding-top:118px;display:flex;align-items:center;overflow:hidden;color:white}.hero-img{position:absolute;inset:0;background-size:cover;background-position:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.18) 55%,rgba(0,0,0,.03)),linear-gradient(0deg,rgba(0,0,0,.26),transparent 45%)}.hero-content{position:relative;z-index:2;max-width:760px;margin-left:6vw;padding:70px 0}.eyebrow{font-weight:900;text-transform:uppercase;letter-spacing:.20em;color:var(--gold);font-size:13px;margin-bottom:14px}.hero .eyebrow{color:#e2bd79}.hero p{font-size:18px;max-width:650px}.btns{display:flex;gap:15px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 22px;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.07em;border:1px solid currentColor;border-radius:2px}.btn.gold{background:var(--gold);border-color:var(--gold);color:white}.btn.dark{background:var(--dark);border-color:var(--dark);color:white}.section{position:relative;overflow:hidden;padding:86px 7vw}.light{background:var(--sand)}.white{background:var(--sand-light)}.goldband{background:linear-gradient(180deg,#d7ad62,#b9873d);color:white}.palm:before,.palm:after{content:"";position:absolute;z-index:0;pointer-events:none;width:410px;height:410px;opacity:.16;border-radius:50%;background:repeating-conic-gradient(from 24deg,transparent 0 10deg,rgba(80,59,27,.36) 12deg 16deg,transparent 17deg 31deg)}.palm:before{left:-170px;top:10px;transform:rotate(-25deg)}.palm:after{right:-160px;bottom:-70px;transform:rotate(18deg)}.section>*{position:relative;z-index:1}.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}.split.rev{grid-template-columns:1.08fr .92fr}.photo{min-height:480px;background-size:cover;background-position:center;border-radius:2px;box-shadow:0 30px 70px rgba(78,48,15,.18);border:1px solid rgba(185,135,61,.24)}.photo.tall{min-height:610px}.icon-row{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff9ed}.icon-item{padding:22px 14px;text-align:center;border-right:1px solid var(--line)}.icon-item:last-child{border-right:0}.icon-item b{display:block;color:var(--gold);font-family:Georgia,serif;font-size:28px;font-weight:400;margin-bottom:6px}.icon-item span{font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.06em;color:#4d4031}.tech-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:34px}.tech-mini{position:relative;background:white;border:1px solid var(--line);box-shadow:0 16px 35px rgba(79,52,18,.08)}.tech-mini img{width:100%;height:130px;object-fit:cover}.tech-mini div{padding:16px;text-align:center}.tech-mini strong{display:block;color:var(--gold-dark);font-size:12px;text-transform:uppercase;letter-spacing:.07em}.tech-mini small{display:block;color:var(--muted);margin-top:4px}.img-translation{position:absolute;left:10px;top:10px;background:rgba(251,246,237,.92);color:#8d642e;border:1px solid rgba(185,135,61,.38);padding:6px 8px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 8px 20px rgba(38,24,7,.14)}html[lang=fr] .en-only,html[lang=en] .fr-only{display:none}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.cards.four{grid-template-columns:repeat(4,1fr)}.card{background:rgba(255,255,255,.72);border:1px solid var(--line);padding:28px;box-shadow:0 18px 42px rgba(80,52,18,.08)}.card .num{font-family:Georgia,serif;font-size:40px;color:var(--gold);display:block;margin-bottom:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:38px 0}.stat{background:rgba(255,255,255,.72);border:1px solid var(--line);padding:30px;text-align:center;box-shadow:0 18px 42px rgba(80,52,18,.08)}.stat b{font-family:Georgia,serif;font-size:46px;color:var(--gold);font-weight:400;display:block}.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:36px}.tech-card{position:relative;background:white;border:1px solid var(--line);box-shadow:0 18px 42px rgba(80,52,18,.09)}.tech-card img{height:225px;width:100%;object-fit:cover}.tech-card div{padding:24px}.form-grid{display:grid;grid-template-columns:1fr .78fr;gap:44px;align-items:start}form{background:rgba(255,255,255,.76);border:1px solid var(--line);padding:30px;box-shadow:0 20px 50px rgba(80,52,18,.08)}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,textarea,select{width:100%;padding:15px 14px;border:1px solid #d9c09b;background:#fffdf8;margin-bottom:14px;font:inherit}textarea{min-height:150px;resize:vertical}button.submit{background:var(--gold);border:0;color:white;padding:15px 25px;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.07em}.contact-box{background:#fff7e9;border:1px solid var(--line);padding:30px;box-shadow:0 18px 42px rgba(80,52,18,.08)}.float{position:fixed;right:22px;top:38%;z-index:999;display:flex;flex-direction:column;gap:12px}.float a{width:90px;height:76px;background:white;color:#111;text-decoration:none;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:900;text-transform:uppercase;box-shadow:0 16px 35px rgba(0,0,0,.16)}.float a:first-child{background:var(--gold);color:white}.float i{font-style:normal;font-size:27px;line-height:1}.footer{position:relative;overflow:hidden;background:linear-gradient(180deg,#f5e8d2,#d5aa63);padding:55px 6vw 22px;color:#2a1e10;border-top:1px solid rgba(141,100,46,.25)}.footer:after{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;opacity:.14;background:repeating-conic-gradient(from 25deg,transparent 0 10deg,rgba(57,37,15,.40) 12deg 17deg,transparent 18deg 32deg)}.footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr 1fr 1fr 1.1fr;gap:38px}.footer-logo{width:285px;max-width:100%;margin-bottom:14px}.footer h4{margin:0 0 14px;color:#6f4a1d;text-transform:uppercase;letter-spacing:.08em}.footer a{text-decoration:none;display:block;margin:8px 0}.social{display:flex;gap:12px;margin-top:18px}.social a{width:44px;height:44px;border-radius:50%;background:#fff7e7;border:1px solid rgba(141,100,46,.35);display:flex;align-items:center;justify-content:center}.social img{width:25px;height:25px}.footer-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;margin-top:36px;padding-top:20px;border-top:1px solid rgba(111,74,29,.25);font-size:12px;color:#67481d}
[data-lang=en]{display:none}html[lang=en] [data-lang=fr]{display:none}html[lang=en] [data-lang=en]{display:initial}html[lang=en] div[data-lang=en],html[lang=en] section[data-lang=en],html[lang=en] p[data-lang=en]{display:block}
@media(max-width:1120px){.header{height:92px}.logo img{height:82px}.menu{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--sand);padding:22px 6vw;flex-direction:column;align-items:flex-start}.open .nav{display:flex}.hero{padding-top:92px}.split,.split.rev,.form-grid{grid-template-columns:1fr}.icon-row,.tech-strip{grid-template-columns:repeat(2,1fr)}.cards,.cards.four,.stats,.tech-grid,.footer-grid{grid-template-columns:1fr}.float{top:auto;left:12px;right:12px;bottom:12px;flex-direction:row}.float a{flex:1;height:58px;width:auto;border-radius:999px}.float i{display:none}.row{grid-template-columns:1fr}}

.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}.faq-item{background:rgba(255,255,255,.76);border:1px solid var(--line);padding:28px;box-shadow:0 18px 42px rgba(80,52,18,.08)}.faq-item h3{color:var(--gold-dark)}@media(max-width:1120px){.faq-grid{grid-template-columns:1fr}}

/* À propos — version sobre premium */
.about-intro{background:linear-gradient(180deg,#fbf6ed 0%,#f4eadb 100%)}
.about-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:stretch;max-width:1180px;margin:0 auto}.about-text{padding-right:20px}.about-panel{background:#fffaf1;border:1px solid rgba(185,135,61,.28);box-shadow:0 24px 55px rgba(80,52,18,.09);padding:38px;display:flex;align-items:center;font-size:18px;color:#4a3d2f}.about-values{background:#efe1ca}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1180px;margin:0 auto}.value-card{background:#fffaf1;border:1px solid rgba(185,135,61,.24);padding:36px 30px;min-height:285px;box-shadow:0 20px 48px rgba(80,52,18,.10)}.value-card.featured{background:#fffaf1;color:inherit;border-color:rgba(185,135,61,.24)}.value-card.featured h3{color:#6f4a1d}.value-card.featured p{color:#5f5244}.value-number{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5vw,64px);line-height:1;color:var(--gold);margin-bottom:22px}.value-card h3{color:#6f4a1d}.value-card p{color:#5f5244}.about-visual{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;background:#fbf6ed}.about-visual-img{min-height:520px;background-size:cover;background-position:center;border:1px solid rgba(185,135,61,.24);box-shadow:0 30px 70px rgba(78,48,15,.16)}.about-visual-text{max-width:560px}.about-visual .btn{margin-top:14px}@media(max-width:1120px){.about-wrap,.values-grid,.about-visual{grid-template-columns:1fr}.about-panel{padding:28px}.value-card{min-height:auto}.about-visual-img{min-height:380px}}




/* Très petits écrans iPhone */
@media (max-width: 430px) {
  .hero,
  .page-hero,
  .section-hero,
  .hero-section,
  .page-header,
  .banner,
  .top-visual {
    min-height: 76vh !important;
    background-position: center center !important;
  }
}



/* Réglages par page pour garder le simulateur visible */
@media (max-width: 768px) {
  body.home .hero,
  body.accueil .hero,
  body#index .hero {
    background-position: 58% center !important;
  }

  body.technologies .hero,
  body.technologie .hero,
  body[class*="tech"] .hero,
  body[class*="technologies"] .page-hero {
    background-position: 52% center !important;
  }

  body.valorisation .hero,
  body[class*="valorisation"] .page-hero {
    background-position: 54% center !important;
  }

  body.contact .hero,
  body[class*="contact"] .page-hero {
    background-position: 50% center !important;
  }
}






/* ==========================================================
   V4 MOBILE PREMIUM — IMAGE COMPLETE + TEXTE DESSOUS
   Version ordinateur inchangée.
   Mobile uniquement : image panoramique entière en haut,
   texte et boutons en dessous sur fond clair.
   SEO et contenus conservés.
   ========================================================== */
@media (max-width: 768px) {

  .header {
    height: 118px !important;
    padding: 8px 7vw !important;
  }

  .logo img {
    height: 82px !important;
  }

  .menu {
    display: block !important;
  }

  .nav {
    position: fixed !important;
    inset: 118px 0 auto 0 !important;
  }

  .hero {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding-top: 118px !important;
    overflow: visible !important;
    background: var(--sand-light) !important;
    color: var(--ink) !important;
  }

  /* La photo reste entière, comme une vraie image panoramique */
  .hero-img {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 56.25vw !important;
    min-height: 220px !important;
    max-height: 430px !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #120f0b !important;
  }

  .hero::after,
  .hero::before {
    display: none !important;
    opacity: 0 !important;
    content: none !important;
  }

  .hero-content {
    position: relative !important;
    z-index: 2 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 48px 7vw 56px 7vw !important;
    background: linear-gradient(180deg, var(--sand-light), var(--sand)) !important;
    color: var(--ink) !important;
  }

  .hero .eyebrow {
    color: var(--gold) !important;
    font-size: 13px !important;
    letter-spacing: .20em !important;
    margin-bottom: 18px !important;
  }

  .hero h1 {
    color: var(--ink) !important;
    font-size: clamp(2.45rem, 10vw, 4rem) !important;
    line-height: 1.05 !important;
    margin-bottom: 22px !important;
    text-shadow: none !important;
  }

  .hero p {
    color: #3b3328 !important;
    font-size: 1.08rem !important;
    line-height: 1.5 !important;
    max-width: 95% !important;
    text-shadow: none !important;
  }

  .hero .btns {
    margin-top: 32px !important;
    gap: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .hero .btn {
    width: 100% !important;
    min-height: 58px !important;
    border-radius: 3px !important;
    font-size: .82rem !important;
    letter-spacing: .07em !important;
    text-shadow: none !important;
  }

  .hero .btn.gold {
    background: var(--gold) !important;
    border-color: var(--gold) !important;
    color: white !important;
  }

  .hero .btn:not(.gold) {
    background: transparent !important;
    border-color: var(--ink) !important;
    color: var(--ink) !important;
  }
}

@media (max-width: 430px) {
  .hero-img {
    height: 56.25vw !important;
    min-height: 205px !important;
  }

  .hero-content {
    padding: 42px 6.5vw 52px 6.5vw !important;
  }

  .hero h1 {
    font-size: clamp(2.25rem, 10.5vw, 3.35rem) !important;
  }
}
