/* Pages destinations : même univers que l'accueil (vert pin, or, Cormorant pour les titres). */
:root{
  --pine:#0E3A31; --green:#145C45; --fairway:#2F7A55; --mist:#EEF5F0; --line:#D5E3DA;
  --ink:#10261E; --muted:#51675D; --gold:#A3C9B8; --white:#FFFFFF;
  --brand:"Cinzel",Georgia,serif;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--white);color:var(--ink);font:16px/1.6 var(--body)}
h1,h2,h3,p,ul,ol{margin:0}
h1,h2{font-family:var(--display);font-weight:700;line-height:1.05;text-wrap:balance}
a{color:var(--fairway)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.in{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

.top{position:sticky;top:0;z-index:9;background:rgba(14,58,49,.95);backdrop-filter:blur(8px)}
.top .in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:10px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--white)}
.logo img{width:48px;height:48px;display:block}
.logo span{font:700 15px/1 var(--brand);letter-spacing:.18em}
.top nav{display:flex;align-items:center;gap:6px}
.top nav a:not(.btn){color:#DCEBE3;text-decoration:none;font:500 14.5px/1 var(--body);padding:10px 14px;border-radius:99px}
.top nav a:not(.btn):hover{background:rgba(255,255,255,.1)}
.btn{display:inline-flex;align-items:center;justify-content:center;font:600 15px/1 var(--body);padding:15px 22px;border-radius:99px;text-decoration:none;border:1px solid transparent}
.btn.gold{background:var(--gold);color:var(--pine)}
.btn.gold:hover{background:#D8B25C}
.btn.light{background:var(--white);color:var(--pine)}
.btn.sm{padding:11px 16px;font-size:14px}

.hero{position:relative;overflow:hidden;color:var(--white);background:linear-gradient(135deg,#0E3A31,#2F7A55)}
.hero .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,45,36,.55),rgba(10,45,36,.78))}
.hero .in{position:relative;padding-block:56px 64px;display:flex;flex-direction:column;gap:14px}
.hero.short .in{padding-block:44px 48px}
.crumbs{font-size:14px;color:#CFE2D8}
.crumbs a{color:#FFFFFF}
.tag{font:600 12.5px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#FFFFFF}
.hero h1{font-size:clamp(38px,6vw,68px);max-width:18ch}
.lead{font-size:clamp(17px,2vw,20px);color:#E5F1EA;max-width:52ch}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

.band{padding-block:56px}
.band.tint{background:var(--mist)}
.band h2{font-size:clamp(30px,4vw,42px);color:var(--pine);margin-bottom:18px}
.grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:36px;align-items:start}
.txt{display:flex;flex-direction:column;gap:14px;max-width:68ch}
.txt h3{font:600 19px/1.3 var(--body);color:var(--pine);margin-top:10px}
.txt ul,.txt ol{padding-left:22px;display:grid;gap:6px}
.more a{font-weight:600}
.box{position:sticky;top:90px;background:var(--pine);color:#DCEBE3;border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:14px}
.box h2{color:var(--white);font-size:32px;margin:0}
.box .call{font-size:14px}
.box .call b{font:700 26px/1.2 var(--display);color:var(--white);letter-spacing:.03em;user-select:all}

.faq{display:grid;gap:10px;max-width:820px}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 20px}
.faq summary{cursor:pointer;font-weight:600;color:var(--pine)}
.faq p{margin-top:10px;color:var(--muted)}

.others{display:flex;flex-wrap:wrap;gap:10px}
.others a{display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:14px;padding:11px 15px;text-decoration:none;font-weight:600;color:var(--pine)}
.others a small{font-weight:400;color:var(--muted);font-size:12.5px}
.others a:hover{border-color:var(--fairway);background:var(--mist)}
.others + .more{margin-top:18px}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);background:var(--white);min-width:0}
.card:hover{border-color:var(--fairway);box-shadow:0 10px 24px rgba(14,58,49,.10)}
.card .pic{display:block;height:140px;background:linear-gradient(135deg,#0E3A31,#2F7A55)}
.card .pic img{width:100%;height:100%;object-fit:cover;display:block}
.card b{font:600 17px/1.2 var(--body);color:var(--pine);padding:14px 16px 2px}
.card small{color:var(--fairway);font-weight:600;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;padding:0 16px}
.card .t{color:var(--muted);font-size:14.5px;padding:6px 16px 16px}

.wa{position:fixed;z-index:20;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));background:#1FAF57;color:#FFFFFF;text-decoration:none;font:600 15px/1 var(--body);padding:14px 18px;border-radius:99px;box-shadow:0 10px 26px rgba(0,0,0,.25)}
.wa:hover{background:#1A9C4D}

footer{background:var(--pine);color:#CFE2D8;padding-block:36px 90px}
footer .in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer strong{display:block;font:700 15px/1.2 var(--brand);letter-spacing:.16em;color:var(--white)}
footer .links{display:flex;gap:16px;flex-wrap:wrap}
footer .links a{color:#CFE2D8}
footer .tel{font:700 24px/1 var(--display);color:var(--white);letter-spacing:.03em;user-select:all}

@media (max-width:860px){.grid{grid-template-columns:1fr}.box{position:static}}
@media (max-width:560px){.logo span{display:none}.top nav a:not(.btn){display:none}.band{padding-block:40px}}

/* Guides */
.guide{gap:6px}
.guide .block{display:flex;flex-direction:column;gap:12px;padding-bottom:22px}
.guide h2{font-size:clamp(26px,3.2vw,34px);margin:0}
.guide ul{padding-left:22px;display:grid;gap:8px}
.steps{list-style:none;padding:0;counter-reset:s;display:grid;gap:12px}
.steps li{counter-increment:s;position:relative;padding:14px 16px 14px 58px;background:var(--mist);border-radius:14px}
.steps li::before{content:counter(s);position:absolute;left:16px;top:12px;width:30px;height:30px;border-radius:50%;background:var(--pine);color:var(--gold);display:grid;place-items:center;font:700 17px/1 var(--display)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choice{display:flex;flex-direction:column;gap:8px;border:1.5px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;color:var(--ink)}
.choice:hover{border-color:var(--fairway);background:var(--mist)}
.choice b{font:700 24px/1.1 var(--display);color:var(--pine)}
.choice span{color:var(--muted);font-size:15px}
.choice em{font-style:normal;font-weight:600;color:var(--fairway);font-size:14px}
.mt{margin-top:34px}
.others.plain a{font-weight:600}
@media (max-width:560px){.duo{grid-template-columns:1fr}}

/* Finition premium (mêmes boutons que l'accueil) */
.btn.gold{background:linear-gradient(135deg,#FFFFFF 0%,#A3C9B8 45%,#A3C9B8 70%,#A3C9B8 100%);background-size:180% 180%;color:#0A1E17;border:1px solid rgba(163,201,184,.55);box-shadow:0 10px 26px rgba(163,201,184,.28),inset 0 1px 0 rgba(255,255,255,.55);transition:background-position .6s ease,transform .2s ease}
.btn.gold:hover{background-position:100% 50%;transform:translateY(-2px)}
.top{background:rgba(9,26,20,.85);border-bottom:1px solid rgba(163,201,184,.12)}
.hero{background:linear-gradient(135deg,#091A14,#1F5A44)}
.band.tint{background:#F8F9F8}
footer{background:#091A14}

/* ===== Carte magazine 4:3 ===== */
.band.ivory{background:#F8F9F8}
.band.ivory h2,.band h2{color:#091A14}
.mc-eyebrow{font:600 12px/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;color:#A3C9B8;margin-bottom:6px}
.mc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:22px}
.mc{position:relative;display:block;aspect-ratio:4/3;border-radius:16px;overflow:hidden;isolation:isolate;text-decoration:none;color:#FFFFFF;background:linear-gradient(135deg,#0E3A31,#2F7A55);box-shadow:0 24px 48px -14px rgba(9,26,20,.45),0 8px 18px -8px rgba(9,26,20,.25);transform:translateY(0);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s cubic-bezier(.2,.8,.2,1)}
.mc>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform .5s cubic-bezier(.2,.8,.2,1);z-index:-2}
.mc-fb{position:absolute;top:18px;left:18px;font:700 26px/1 var(--display);color:#A3C9B8;opacity:.55}
.mc-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.45) 38%,rgba(0,0,0,0) 68%)}
.mc-tag{position:absolute;top:14px;left:14px;font:700 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#091A14;background:#A3C9B8;padding:7px 11px;border-radius:99px;box-shadow:0 6px 16px rgba(0,0,0,.25);opacity:0;transform:translateY(-8px);transition:opacity .4s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
.mc-body{position:absolute;left:0;right:0;bottom:0;padding:18px 20px 18px;display:flex;flex-direction:column;gap:4px}
.mc-body small{font:600 11.5px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#A3C9B8}
.mc-body b{font:700 clamp(24px,2.3vw,30px)/1.05 var(--display);color:#FFFFFF;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.mc-txt{font-size:14px;line-height:1.4;color:rgba(255,255,255,.85);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mc-cta{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font:600 13.5px/1 var(--body);color:#FFFFFF}
.mc-cta i{font-style:normal;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.mc:hover,.mc:focus-visible{transform:translateY(-4px);box-shadow:0 34px 60px -16px rgba(9,26,20,.55),0 10px 22px -8px rgba(9,26,20,.3)}
.mc:hover>img,.mc:focus-visible>img{transform:scale(1.05)}
.mc:hover .mc-tag,.mc:focus-visible .mc-tag{opacity:1;transform:none}
.mc:hover .mc-cta i,.mc:focus-visible .mc-cta i{transform:translateX(4px)}
.mc:focus-visible{outline:3px solid #A3C9B8;outline-offset:3px}
@media (hover:none){.mc-tag{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mc,.mc>img,.mc-tag,.mc-cta i{transition:none}}

/* Charte vert & blanc */
.btn.gold{background:#FFFFFF;color:#0A1E17;border:1px solid #FFFFFF;box-shadow:0 8px 22px rgba(0,0,0,.18);background-size:auto}
.btn.gold:hover{background:#D0E4DC;border-color:#D0E4DC;transform:translateY(-2px)}
.box .btn.gold,.hero .btn.gold{background:#FFFFFF;color:#0A1E17}
.txt .btn.gold,.band .btn.gold:not(.box .btn.gold){background:#0A1E17;color:#FFFFFF;border-color:#0A1E17}
.top{background:rgba(10,30,23,.9)}
.hero{background:linear-gradient(135deg,#0A1E17,#1F5A44)}
.tag,.mc-body small{color:#A3C9B8}
.mc-eyebrow{color:#2F6B55}
.mc-tag{background:rgba(255,255,255,.92);color:#0A1E17}
.mc{border:1px solid rgba(255,255,255,.15)}
footer{background:#0A1E17}
.box{background:#0A1E17}
.box .call b{font-family:var(--display)}

.logo img{width:64px;height:64px;margin-bottom:-20px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.85),0 10px 24px rgba(0,0,0,.4)}
.logo span{font-size:17px}

.logo img{width:48px;height:48px;margin-bottom:0}
.logo span{font-size:15px}
/* Réponse directe + profils (SEO) */
.answer{font-size:17px;line-height:1.6;background:var(--mist,#F1F6F3);border-left:3px solid var(--fairway,#2E6B55);padding:14px 18px;border-radius:0 12px 12px 0;margin:0 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.chip{display:inline-block;padding:7px 13px;border-radius:999px;border:1px solid var(--line,#D0E4DC);font-size:13.5px;font-weight:600;color:var(--pine,#0F241C);text-decoration:none;background:#fff}
a.chip:hover{border-color:var(--fairway,#2E6B55);background:var(--mist,#F1F6F3)}
