/* MAREME - feuille de style commune */
:root{--aub:#452057;--aub2:#2b1436;--gold:#C8912B;--cream:#FBF7EF;--sand:#f2ead9;--ink:#2B2530;--muted:#6b6152;--line:#e6dfcd;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Roboto',Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:var(--aub);line-height:1.15;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.eyebrow{color:var(--gold);letter-spacing:2px;font-size:12px;text-transform:uppercase;}
.btn{display:inline-block;padding:12px 22px;border-radius:26px;font-size:14px;font-weight:500;transition:transform .15s ease,opacity .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-gold{background:var(--gold);color:var(--aub2);}
.btn-aub{background:var(--aub);color:var(--cream);}
.btn-line{border:1px solid #9a7fae;color:var(--cream);}
.btn-line-aub{border:1px solid var(--aub);color:var(--aub);}

/* header */
header{position:sticky;top:0;z-index:20;background:rgba(251,247,239,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0;}
.logo{display:inline-flex;align-items:center;gap:9px;}
.logo span{font-family:'Playfair Display',serif;font-size:20px;letter-spacing:2px;color:var(--aub);}
.links{display:flex;align-items:center;gap:20px;font-size:14px;color:var(--aub);}
.links a.current{color:var(--gold);}
@media(max-width:820px){.links a:not(.btn){display:none;}}

/* hero */
.hero{background:var(--aub);color:var(--cream);}
.hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding:64px 0;}
.hero h1{color:var(--cream);font-size:44px;margin:14px 0;}
.hero p{color:#e0d5e8;max-width:460px;margin-bottom:26px;}
.hero .media{height:340px;border-radius:14px;overflow:hidden;background:#5a3226;}
.hero .media img{width:100%;height:100%;object-fit:cover;}
@media(max-width:820px){.hero .grid{grid-template-columns:1fr;padding:44px 0;}.hero h1{font-size:32px;}.hero .media{height:220px;}}

/* sections */
section{padding:60px 0;}
.lead{text-align:center;max-width:640px;margin:0 auto 40px;}
.lead h2{font-size:30px;margin-bottom:10px;}
.lead p{color:var(--muted);}
.sand{background:var(--sand);}
.center{text-align:center;}

/* cards */
.cards{display:grid;gap:18px;}
.cards.c3{grid-template-columns:repeat(3,1fr);}
.cards.c4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.cards.c3,.cards.c4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.cards.c3,.cards.c4{grid-template-columns:1fr;}}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;}
.card .num{font-family:'Playfair Display',serif;color:var(--gold);font-size:15px;}
.card h3{font-size:19px;margin:6px 0 8px;}
.card p{font-size:13.5px;color:var(--muted);margin-bottom:12px;}
.card .price{font-family:'Playfair Display',serif;color:var(--gold);font-size:15px;}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:820px){.gallery{grid-template-columns:repeat(2,1fr);}}
.gallery figure{border-radius:12px;overflow:hidden;background:#e7decb;aspect-ratio:3/4;position:relative;}
.gallery img{width:100%;height:100%;object-fit:cover;}
.gallery figcaption{position:absolute;left:10px;bottom:8px;color:#fff;font-size:11px;text-shadow:0 1px 3px rgba(0,0,0,.5);}

/* split (texte + image) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
.split .media{border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:#e7decb;}
.split .media img{width:100%;height:100%;object-fit:cover;}
@media(max-width:820px){.split{grid-template-columns:1fr;}}

/* table formules */
table.form{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
table.form th,table.form td{text-align:left;padding:14px 18px;border-bottom:1px solid #efe8d8;font-size:14px;}
table.form th{background:var(--aub);color:var(--cream);font-weight:500;}
table.form tr:last-child td{border-bottom:none;}
table.form td.p{font-family:'Playfair Display',serif;color:var(--aub);white-space:nowrap;}
.note{font-size:12px;color:var(--muted);margin-top:10px;}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.steps{grid-template-columns:1fr;}}
.step .n{font-family:'Playfair Display',serif;font-size:26px;color:var(--gold);}
.step h3{font-size:18px;margin:6px 0;}
.step p{font-size:13.5px;color:var(--muted);}

/* proof */
.proof{background:var(--aub);color:var(--cream);text-align:center;}
.proof .quote{font-family:'Playfair Display',serif;font-size:24px;line-height:1.4;max-width:760px;margin:0 auto 12px;color:var(--cream);}
.proof .who{color:#c9b7d0;font-size:13px;}
.reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px;margin:0 auto;text-align:left;}
@media(max-width:700px){.reviews{grid-template-columns:1fr;}}
.review{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:18px;}
.review .stars{color:var(--gold);letter-spacing:2px;font-size:13px;}
.review p{color:#eaddf0;font-size:14px;margin:8px 0;}
.review .who{color:#c9b7d0;font-size:12px;}
.refs{color:#c9b7d0;font-size:13px;letter-spacing:1px;margin-top:22px;text-align:center;}

/* CTA band */
.ctaband{background:var(--sand);text-align:center;}
.ctaband h2{font-size:30px;margin-bottom:12px;}
.ctaband p{color:var(--muted);max-width:560px;margin:0 auto 22px;}

/* form */
form.q{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin:0 auto;}
form.q input,form.q textarea{width:100%;padding:12px 14px;border:1px solid #d9d0bb;border-radius:8px;font-family:inherit;font-size:14px;background:#fff;}
form.q .full{grid-column:1/3;}
form.q button{border:none;cursor:pointer;}
@media(max-width:600px){form.q{grid-template-columns:1fr;}form.q .full{grid-column:1;}}

/* footer */
footer{background:var(--aub2);color:#d8cce0;}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;padding:40px 0 20px;}
@media(max-width:700px){footer .cols{grid-template-columns:1fr;}}
footer h4{color:var(--cream);font-family:'Roboto';font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;font-weight:500;}
footer a{display:block;color:#d8cce0;font-size:13.5px;padding:3px 0;}
footer .brand span{font-family:'Playfair Display',serif;color:var(--cream);letter-spacing:2px;font-size:18px;}
footer .legal{border-top:1px solid rgba(255,255,255,.12);padding:14px 0;font-size:12px;color:#a88fb8;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

/* boutons flottants reseaux */
.floatbtns{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:12px;z-index:60;}
.floatbtns a{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 16px rgba(0,0,0,.28);transition:transform .15s ease;}
.floatbtns a:hover{transform:scale(1.06);}
.fb-wa{background:#25D366;}
.fb-ig{background:#452057;}
@media(max-width:520px){.floatbtns{right:14px;bottom:14px;}.floatbtns a{width:46px;height:46px;}}

/* logos partenaires */
.logos{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1000px;margin:20px auto 0;}
@media(max-width:900px){.logos{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.logos{grid-template-columns:repeat(2,1fr);}}
.logos .logo-tile{background:#fff;border:1px solid var(--line);border-radius:12px;height:92px;display:flex;align-items:center;justify-content:center;padding:14px;text-align:center;}
.logos .logo-tile img{max-height:60px;max-width:100%;width:auto;object-fit:contain;}
.logos .logo-tile span{font-family:'Playfair Display',serif;color:var(--aub);font-size:14px;line-height:1.25;}
