:root{
  --gold:#D4AF37; --ink:#000; --bg:#FAFAFA; --hover:#6A0DAD;
  --line:rgba(0,0,0,.08); --muted:#6b6b6b;
}
/* Charte */
body{font-family:Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:'Heisei Mincho','HeiseiMin-W3','Hiragino Mincho Pro','Times New Roman',Times,serif;font-weight:600;letter-spacing:.2px}
a:hover{color:var(--hover)}
.flag{display:inline-block;width:22px;height:4px;background:var(--gold);border-radius:2px;vertical-align:middle;margin-right:.5rem}
.btn.minimal{border:1px solid var(--ink)}
.btn.minimal:hover{border-color:var(--gold);color:var(--ink)}
/* Contact fixes */
form .fields{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:920px){form .fields{grid-template-columns:1fr}}
.form-agree{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:flex-start;width:100%;margin:.6rem 0 1rem}
.form-agree small{white-space:normal;word-break:break-word;overflow-wrap:anywhere;max-width:none;line-height:1.45}
.contact-card{overflow:visible}
/* Muverans */
.trustline{margin:.4rem 0 0;font-size:.98rem;opacity:.9;border-left:2px solid var(--gold);padding-left:.6rem}
.section.highlight{background:#0b0b0b;color:#fff}
.section.highlight .sub{color:#e9e9e9}
.section.highlight .btn.minimal{border-color:var(--gold);color:#fff}
.p-logo{max-height:56px;width:auto;display:block}


:root{
  --bg:#FAFAFA; --ink:#0b0b0b; --muted:#595959; --card:#ffffff;
  --gold:#9F8B56; --violet:#6A0DAD; --line: rgba(0,0,0,.08); --shadow: 0 14px 40px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; color:var(--ink); background:var(--bg); line-height:1.65}
.container{width:min(1140px,92%); margin:0 auto}
/* Header */
header{position:sticky; top:0; z-index:60; transition: background .25s ease, box-shadow .25s ease}
header.is-top{background:transparent; border-bottom-color: transparent}
header.is-top .brand img.logo-dark{display:none}
header.is-top .brand img.logo-light{display:block}
header.is-top nav a{color:#fff}
header.is-top .btn.primary{background:#fff; color:#111; border-color:#fff}
header.is-solid{background:rgba(255,255,255,.95); backdrop-filter: blur(10px); border-bottom:1px solid var(--line)}
header.is-solid .brand img.logo-dark{display:block}
header.is-solid .brand img.logo-light{display:none}
header.is-solid nav a{color:inherit}
/* Header layout: centered logo, nav right */
header .container{display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; padding:.8rem 0}
.brand{grid-column:2; justify-self:center; display:flex; align-items:center; gap:.6rem; text-decoration:none; color:inherit}
.brand img{height:64px}
nav{grid-column:3; justify-self:end; display:flex; align-items:center; gap:1rem}
nav ul{display:flex; gap:1rem; list-style:none; margin:0; padding:0}
nav a{text-decoration:none; color:inherit; font-weight:600}
.btn{display:inline-block; padding:.85rem 1.15rem; border-radius:999px; text-decoration:none; font-weight:700; border:1px solid var(--line); transition:.2s transform ease,.2s box-shadow ease}
.btn:hover{transform: translateY(-1px); box-shadow:var(--shadow)}
.btn.primary{background:#111; color:#fff; border-color:#111}
.btn.minimal{background:transparent; border-color: var(--line); color:#111}

/* Hero full-screen background */
.hero{position:relative; min-height:92vh; display:flex; align-items:center; color:#fff}
.hero::before{content:''; position:absolute; inset:0; background:url('assets/hero.webp') center/cover no-repeat; z-index:-2}
.hero::after{content:''; position:absolute; inset:0; background:linear-gradient(to right,rgba(0,0,0,.55),rgba(0,0,0,.25)); z-index:-1}
.hero .content{max-width:720px; padding:3rem}
.hero h1{font-size:clamp(2.4rem,3.2vw + 1rem,4rem); line-height:1.1; margin:0 0 1rem}
.hero .accent{color:var(--gold)}
.hero .lead{font-size:1.15rem; margin-bottom:1.6rem}

/* Sections */
.section{padding:4rem 0}
.section h2{font-family:"Times New Roman",serif; font-size:clamp(1.7rem,1.4vw + 1rem,2.2rem); margin:0 0 .6rem}
.section .sub{color:var(--muted); max-width:63ch}

/* Services cards with images */
.service-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:1.2rem}
.service-card{background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,.05); overflow:hidden}
.service-card img{display:block; width:100%; height:220px; object-fit:cover}
.service-card .body{padding:1rem 1rem 1.1rem}
.service-card h3{margin:.2rem 0 .6rem; font-family:"Times New Roman",serif}
.service-card ul{margin:.2rem 0 0 1.1rem}

/* Partners compact carousel */
.logo-ticker{overflow:hidden; position:relative; border:1px solid var(--line); border-radius:16px; background:#fff; padding:.4rem 0; margin-top:1rem}
.logo-ticker .track{display:flex; gap:2.2rem; align-items:center; width:max-content; animation:scroll 30s linear infinite; padding-inline:1rem}
.logo{height:32px; width:auto; object-fit:contain; filter:grayscale(100%) contrast(1.05); opacity:.95}
.logo:hover{filter:none; opacity:1}
.logo-ticker:hover .track{animation-play-state:paused}
@keyframes scroll{from{transform:translateX(0)} to{transform:translateX(-50%)}}
.logo-ticker:before,.logo-ticker:after{content:''; position:absolute; top:0; bottom:0; width:40px; pointer-events:none}
.logo-ticker:before{left:0; background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.logo-ticker:after{right:0; background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}

/* Contact two-column */
.contact-wrap{display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; align-items:start}
.contact-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:1.2rem; box-shadow:0 10px 30px rgba(0,0,0,.05)}
.contact-list{list-style:none; padding:0; margin:0}
.contact-list li{margin:.5rem 0; display:flex; gap:.6rem; align-items:center}
small.hint{color:#666}

input, select, textarea{width:100%; padding:.9rem 1rem; border-radius:12px; border:1px solid var(--line); background:#fff}
label{font-weight:600}
footer{padding:2.2rem 0 3rem}
footer .row{display:flex; gap:1.5rem; flex-wrap:wrap; align-items:center; justify-content:space-between; border-top:1px solid var(--line); padding-top:1.2rem; margin-top:1.2rem}

@media (max-width:920px){
  nav ul{display:none}
  .brand img{height:44px}
  .service-cards{grid-template-columns:1fr}
  .service-card img{height:200px}
  .contact-wrap{grid-template-columns:1fr}
}

/* V7.1 base */
.features{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1.2rem}
.feature{background:#fff; border:1px solid var(--line); border-radius:16px; padding:1rem; box-shadow:0 10px 30px rgba(0,0,0,.05); display:flex; gap:.8rem; align-items:flex-start}
.feature svg{flex:0 0 28px; height:28px; width:28px}
.feature h3{margin:0 0 .2rem; font-size:1.05rem}
.feature p{margin:0; color:var(--muted)}
@media(max-width:1000px){ .features{grid-template-columns:1fr 1fr} }
@media(max-width:620px){ .features{grid-template-columns:1fr} }

.process{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:1.2rem; counter-reset:step}
.step{background:#fff; border:1px solid var(--line); border-radius:16px; padding:1rem; box-shadow:0 10px 30px rgba(0,0,0,.05); position:relative}
.step::before{counter-increment:step; content:counter(step); position:absolute; top:-12px; left:-12px; height:36px; width:36px; border-radius:50%; background:#111; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; box-shadow:0 8px 20px rgba(0,0,0,.15)}
.step h3{margin:.1rem 0 .3rem; font-size:1.05rem}
.step p{margin:0; color:var(--muted)}
.step svg{height:26px; width:26px; vertical-align:-4px; margin-right:.4rem}
@media(max-width:1000px){ .process{grid-template-columns:1fr 1fr} }
@media(max-width:620px){ .process{grid-template-columns:1fr} }

/* V7.2 premium */
:root{ --gold:#C8AD63; }

header.is-solid{background:rgba(11,11,11,.94); border-bottom:1px solid rgba(255,255,255,.08)}
header.is-solid nav a{color:#fff}
header.is-solid .btn.primary{background:transparent; color:#fff; border-color:#fff}
header.is-solid .btn.primary:hover{border-color:var(--gold); color:var(--gold)}
header.is-solid .brand img.logo-dark{display:none}
header.is-solid .brand img.logo-light{display:none}
header.is-solid .brand img.logo-gold{display:block}
.brand img.logo-gold{display:none}

.section h2{position:relative; padding-top:.2rem}
.section h2 .flag{display:none}
.section h2:after{content:''; display:block; width:64px; height:2px; background:linear-gradient(90deg,var(--gold),#8a6f3d); margin-top:.4rem; border-radius:2px}

.btn.minimal{border-color:var(--gold); color:#111}
.btn.minimal:hover{color:#111}

.band{position:relative; min-height:46vh; display:grid; place-items:center; color:#fff; text-align:center}
.band::before{content:''; position:absolute; inset:0; background:url('assets/banner.webp') center/cover no-repeat; z-index:-2}
.band::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.35)); z-index:-1}
.band h2{font-family:"Times New Roman",serif; font-size:clamp(1.8rem,2.8vw+1rem,3rem); margin:0}

#atouts{background:#0b0b0b; color:#fff}
#atouts .feature{background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.12)}
#atouts .feature p{color:#d7d7d7}
#atouts .feature svg{color:var(--gold)}

footer{background:#0b0b0b; color:#d8d8d8}
footer a{color:#d8d8d8}
footer .brand img{height:28px}
footer .brand img.logo-dark{display:none}
footer .brand img.logo-gold{display:block}

/* V7.2.1 — fix checkbox alignment */
.form-agree{display:flex; gap:.6rem; align-items:flex-start; margin:.6rem 0 1rem; max-width:100%}
.form-agree small{display:block; max-width:46ch; line-height:1.45; word-break:break-word}

/* V7.2.2 — form grid and logo sizing */
form .fields{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
@media (max-width:920px){ form .fields{ grid-template-columns:1fr; } }

.form-agree{ grid-column:1 / -1; display:flex; gap:.6rem; align-items:flex-start; width:100%; margin:.6rem 0 1rem; }
.form-agree small{ white-space:normal; word-break:normal; max-width:60ch; line-height:1.45; }

.brand img{ height:84px; }
@media (max-width:920px){ .brand img{ height:56px; } }

/* V7.2.3 — Fix consent overflow and enlarge logo */
.contact-card{overflow:visible}
form .fields{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
@media (max-width:920px){ form .fields{ grid-template-columns:1fr; } }

.form-agree{
  grid-column:1 / -1;
  display:grid; grid-template-columns:auto 1fr; gap:.6rem;
  align-items:flex-start; width:100%; margin:.6rem 0 1rem;
}
.form-agree small{ white-space:normal; word-break:break-word; overflow-wrap:anywhere; max-width:none; line-height:1.45; }

.brand img{ height:96px; }
@media (max-width:920px){ .brand img{ height:64px; } }

/* Ensure logos visible & hide empty images */
.partner img{height:36px;width:auto;display:block;}
.partner img[src=''],.partner img:not([src]){display:none;}
