@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=DM+Sans:wght@400;500&display=swap');
:root{
  --bg:#DDB08C;
  --card:#F5E4D3;
  --accent:#B06B35;
  --ink:#5A3620;
  --sage:#5D7A4C;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}
header{height:82px;padding:0 6vw;display:flex;align-items:center;background:var(--card);border-bottom:1px solid rgba(90,54,32,.22)}
.logo{font:500 19px 'Cinzel',serif;letter-spacing:.1em;color:var(--ink);text-decoration:none}
.logo:first-letter{color:var(--accent)}
nav{display:flex;justify-content:center;gap:32px;flex:1}
nav a{font:11px 'Cinzel',serif;letter-spacing:.14em;color:var(--ink);text-decoration:none;padding:8px 0;opacity:.75}
nav a:hover,nav .active{color:var(--accent);border-bottom:1px solid var(--accent);opacity:1}
.moon{font-size:29px;color:var(--accent)}
.hero{background:var(--accent);text-align:center;padding:72px 20px 78px}
.stars{font-size:32px;margin-bottom:35px;color:var(--card)}
.eyebrow{font:11px 'Cinzel',serif;letter-spacing:.28em;margin:0 0 18px;color:var(--card)}
.hero h1{font:400 clamp(46px,6vw,78px)/1.05 'Cinzel',serif;margin:0;color:var(--card)}
.hero em,h2 em{font-family:Georgia,serif}
.ornament{margin:25px 0 18px;color:var(--card)}
.hero>p:last-child{font:19px/1.65 Georgia,serif;color:var(--card);opacity:.9}
.content{max-width:1050px;margin:auto;padding:80px 6vw;display:grid;grid-template-columns:1fr 1.3fr;gap:55px}
.content h2{font:400 clamp(38px,4.5vw,58px)/1.05 'Cinzel',serif;margin:0 0 22px;color:var(--ink)}
.content .eyebrow{color:var(--accent)}
.content p{font:18px/1.8 Georgia,serif;color:var(--ink);opacity:.85;max-width:650px}
.yule{background:var(--card);border:1px solid rgba(90,54,32,.22);padding:50px 40px;text-align:center}
.yule span{font-size:54px;color:var(--accent)}
.yule h2{font-size:32px;margin-top:18px}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding:28px 6vw;background:var(--ink);color:var(--card);font:11px 'Cinzel',serif;letter-spacing:.08em}
footer span{opacity:.7}
.footer-legal{display:flex;gap:18px;flex-wrap:wrap;width:100%;justify-content:center;margin-top:6px;padding-top:14px;border-top:1px solid rgba(245,228,211,.15)}
.footer-legal a{color:var(--card);opacity:.55;text-decoration:none;font:10px 'Cinzel',serif;letter-spacing:.08em}
.footer-legal a:hover{opacity:.9}
/* Pages légales */
.legal-content{max-width:800px;margin:auto;padding:70px 6vw 100px}
.legal-content h2{font:400 clamp(30px,4vw,42px)/1.2 'Cinzel',serif;margin:0 0 8px;color:var(--ink);text-align:left}
.legal-content .updated{font:14px Georgia,serif;color:var(--ink);opacity:.55;margin:0 0 44px}
.legal-content h3{font:600 14px 'Cinzel',serif;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:38px 0 14px}
.legal-content p{font:16px/1.8 Georgia,serif;color:var(--ink);opacity:.85;margin:0 0 16px;text-align:left}
.legal-content ul{margin:0 0 18px;padding-left:22px}
.legal-content li{font:16px/1.8 Georgia,serif;color:var(--ink);opacity:.85;margin-bottom:8px}
.legal-content a{color:var(--accent)}
.legal-content strong{color:var(--ink)}
.legal-content .fill-in{background:rgba(176,107,53,.1);border-bottom:1px dashed var(--accent);padding:0 3px}
.legal-content .note-box{background:var(--card);border:1px solid rgba(90,54,32,.22);padding:22px 26px;margin:0 0 30px}
.legal-content .note-box p{margin:0;opacity:.8;font-size:15px}
/* --- Sections de prose (texte centré, une colonne) --- */
.section{max-width:760px;margin:auto;padding:74px 6vw}
.section .eyebrow{color:var(--accent);font:11px 'Cinzel',serif;letter-spacing:.28em;margin:0 0 18px;text-align:center}
.section h2{font:400 clamp(32px,4vw,50px)/1.18 'Cinzel',serif;margin:0 0 30px;color:var(--ink);text-align:center}
.section h2 em{font-family:Georgia,serif}
.section p{font:18px/1.85 Georgia,serif;color:var(--ink);opacity:.85;margin:0 0 20px}
.section p.lede{font:italic 24px/1.55 Georgia,serif;color:var(--accent);text-align:center;max-width:640px;margin:0 auto 36px;opacity:1}
.section .manifesto{text-align:center;margin:36px auto 0;max-width:520px}
.section .manifesto p{font:italic 19px/1.8 Georgia,serif;color:var(--accent);margin:0 0 6px;opacity:1}
/* --- Bloc "Regarder / Ressentir / Choisir" --- */
.triad{max-width:1050px;margin:auto;padding:74px 6vw}
.triad h2{text-align:center;font:400 clamp(32px,4vw,50px)/1.18 'Cinzel',serif;margin:0 0 46px;color:var(--ink)}
.triad h2 em{font-family:Georgia,serif}
.triad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.triad-card{background:var(--card);border:1px solid rgba(90,54,32,.22);padding:42px 28px;text-align:center}
.triad-card .num{display:block;font:11px 'Cinzel',serif;letter-spacing:.22em;color:var(--accent);margin-bottom:16px}
.triad-card h3{font:500 17px 'Cinzel',serif;letter-spacing:.1em;margin:0 0 16px;color:var(--ink)}
.triad-card p{font:16px/1.7 Georgia,serif;color:var(--ink);opacity:.85;margin:0}
/* --- Bloc de clôture (fond accent, comme le hero) --- */
.closing{background:var(--accent);text-align:center;padding:84px 6vw}
.closing .eyebrow{color:var(--card);font:11px 'Cinzel',serif;letter-spacing:.28em;margin:0 0 18px}
.closing h2{font:400 clamp(34px,4.5vw,54px)/1.12 'Cinzel',serif;color:var(--card);margin:0 0 26px}
.closing p{font:18px/1.8 Georgia,serif;color:var(--card);opacity:.9;max-width:600px;margin:0 auto 16px}
.closing .signature{margin-top:38px}
.closing .signature strong{display:block;font:500 21px 'Cinzel',serif;letter-spacing:.1em;color:var(--card)}
.closing .signature span{display:block;font:15px Georgia,serif;color:var(--card);opacity:.85;margin-top:8px}
@media(max-width:760px){header{height:auto;padding:17px 5vw;flex-wrap:wrap;gap:12px}
nav{order:3;flex-basis:100%;justify-content:flex-start;gap:18px;overflow:auto}
nav a{font-size:9px}
.content{grid-template-columns:1fr;padding:55px 7vw}
.hero{padding:55px 18px 65px}
footer{flex-direction:column;gap:12px}
.section{padding:54px 7vw}
.triad{padding:54px 7vw}
.triad-grid{grid-template-columns:1fr;gap:22px}
.closing{padding:60px 7vw}
}
/* --- Cadre orné réutilisable (carte / encart) --- */
.ornate-card{
  position:relative;
  background:var(--card);
  border:1.5px solid var(--accent);
  border-radius:16px;
  max-width:360px;
  width:100%;
  padding:46px 32px 38px;
  text-align:center;
  box-shadow:0 10px 30px rgba(90,54,32,.12);
}
.ornate-card::before{
  content:"";
  position:absolute;
  inset:9px;
  border:1px solid var(--accent);
  border-radius:9px;
  pointer-events:none;
}
.ornate-card .ornate-star{
  width:22px;height:22px;margin:0 auto 18px;display:block;color:var(--accent);
}
.ornate-card h3{
  font:500 24px 'Cinzel',serif;letter-spacing:.03em;line-height:1.3;margin:0 0 16px;color:var(--ink);
}
.ornate-card .ornate-divider{width:120px;height:12px;margin:0 auto 20px;color:var(--accent)}
.ornate-card p{font:16px/1.7 Georgia,serif;color:var(--ink);opacity:.85;margin:0 0 22px}
.ornate-card .ornate-leaf{width:26px;height:26px;margin:0 auto;display:block;color:var(--sage)}
/* Yule — version texte uniquement */
.yule-text-only{display:flex;flex-direction:column;justify-content:center;min-height:260px}
.yule-text-only h2{margin-top:0}
.yule-text-only p{margin:0 auto;max-width:420px}
/* Mise en page éditoriale — plus ample et moins linéaire */
.intention-section{max-width:1240px;padding:92px 5vw;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:8vw;align-items:center}
.intention-main{min-width:0}
.intention-section .lede{text-align:left;max-width:780px;margin-left:0}
.intention-section .manifesto{text-align:left;margin-left:0;max-width:620px;padding-left:28px;border-left:1px solid var(--accent)}
.intention-card{display:flex;justify-content:center;align-items:center}
.intention-card .ornate-card{max-width:330px;transform:translateY(22px)}
.section.approach-section{max-width:none;padding:92px 5vw}
.approach-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.5fr);column-gap:clamp(32px,6vw,90px);align-items:start}
.approach-inner .eyebrow{grid-column:1}
.approach-inner h2{grid-column:1;grid-row:2 / span 3;text-align:left;position:sticky;top:30px;margin-top:0;font-size:clamp(26px,2.4vw,34px);line-height:1.18}
.approach-inner p:not(.eyebrow):not(.lede){grid-column:2}
.approach-inner .lede{grid-column:2;text-align:left;margin-left:0}
.yule-section{max-width:1240px;padding:100px 5vw;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:9vw;align-items:center}
.yule-section .yule{padding:54px 46px;min-height:420px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 16px 38px rgba(90,54,32,.08)}
.yule-section .yule-text-only h2{font-size:38px;margin-bottom:28px}
.yule-section .yule-text-only p{max-width:500px;text-align:left}
.yule-section>div:last-child{padding-right:2vw}
.yule-section>div:last-child h2{font-size:clamp(40px,4.6vw,62px);margin-bottom:28px}
.method-section{padding:92px 5vw}
.method-inner{max-width:900px;margin:0 auto}
.triad{max-width:1240px;padding:96px 5vw}
.triad-grid{gap:24px}
.triad-card{padding:48px 32px;min-height:205px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:900px){.intention-section,.yule-section{grid-template-columns:1fr;gap:48px}
.intention-card .ornate-card{transform:none}
.approach-inner{display:block}
.approach-inner h2{position:static;text-align:center;margin-bottom:30px}
.approach-inner .eyebrow{text-align:center}
.approach-inner p:not(.eyebrow):not(.lede),.approach-inner .lede{max-width:760px;margin-left:auto;margin-right:auto}
.yule-section>div:last-child{padding-right:0}
}
/* =========================
   PAGE TIRAGES
   ========================= */
.tirages-page{background:var(--bg)}
.tirages-hero{padding-bottom:88px}
.tirages-hero h1{font-size:clamp(43px,6vw,76px)}
.tirages-intro{max-width:850px;text-align:center;padding-top:72px;padding-bottom:72px}
.tirages-intro .lede{margin-bottom:28px}
.offers{max-width:1240px;margin:0 auto;padding:70px 5vw 105px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.offers-heading{grid-column:1/-1;text-align:center;padding:0 0 34px}
.offers-heading .eyebrow{color:var(--accent)}
.offers-heading h2{font:400 clamp(34px,4vw,52px)/1.15 'Cinzel',serif;color:var(--ink);margin:0}
.offers-heading h2 em{font-family:Georgia,serif}
.offer{position:relative;background:var(--card);border:1px solid rgba(90,54,32,.25);padding:42px 30px 34px;box-shadow:0 14px 32px rgba(90,54,32,.07);min-width:0}
.offer.featured{border:1.5px solid var(--accent);box-shadow:0 18px 42px rgba(90,54,32,.12);transform:translateY(-12px)}
.offer-symbol{height:34px;color:var(--accent);font-size:25px;text-align:center;margin-bottom:17px}
.offer-topline{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(176,107,53,.45);border-bottom:1px solid rgba(176,107,53,.45);padding:9px 0;font:10px 'Cinzel',serif;letter-spacing:.16em;color:var(--accent)}
.offer h3{text-align:center;font:500 37px 'Cinzel',serif;letter-spacing:.05em;margin:25px 0 8px;color:var(--ink)}
.offer-tagline{text-align:center;font:italic 18px/1.5 Georgia,serif;color:var(--accent);margin:0 0 20px;min-height:55px}
.price{display:flex;align-items:flex-start;justify-content:center;color:var(--ink);margin:6px 0 25px}
.price strong{font:400 48px/1 'Cinzel',serif}
.price span{font:500 20px/1.3 'Cinzel',serif;margin-left:4px}
.offer>p{font:16px/1.75 Georgia,serif;color:var(--ink);opacity:.88;margin:0 0 17px}
.offer ul{margin:0;padding:0 0 0 19px;color:var(--ink)}
.offer ul li{font:15px/1.65 Georgia,serif;padding-left:5px;margin-bottom:8px}
.offer ul li::marker{color:var(--accent)}
.offer-video-note{font:italic 13px/1.55 Georgia,serif;color:var(--accent);margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(0,0,0,.08)}
.offer-cta{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:29px;padding:14px 18px;background:var(--accent);border:1px solid var(--accent);color:var(--card);font:500 11px 'Cinzel',serif;letter-spacing:.13em;text-decoration:none;transition:all .2s ease}
.offer-cta:hover{background:var(--ink);border-color:var(--ink)}
.offer-cta span{font-size:15px}
.tirages-method{background:var(--card);max-width:none}
.tirages-method .method-inner{max-width:1100px}
.tirages-method h2{text-align:center;margin-bottom:48px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.step{text-align:center;padding:26px 15px;border-top:1px solid var(--accent)}
.step>span{display:block;font:11px 'Cinzel',serif;letter-spacing:.18em;color:var(--accent);margin-bottom:17px}
.step h3{font:500 15px/1.35 'Cinzel',serif;color:var(--ink);margin:0 0 13px}
.step p{font:15px/1.65 Georgia,serif;color:var(--ink);opacity:.82;margin:0}
.delay{text-align:center!important;color:var(--accent)!important;font:italic 17px Georgia,serif!important;margin:45px auto 0!important}
.choice-section{padding:96px 5vw;background:var(--bg)}
.choice-inner{max-width:1000px;margin:0 auto;text-align:center}
.choice-inner .eyebrow{color:var(--accent)}
.choice-inner h2{font:400 clamp(35px,4.5vw,54px)/1.1 'Cinzel',serif;color:var(--ink);margin:0 0 45px}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}
.choice-grid div{background:var(--card);border:1px solid rgba(90,54,32,.2);padding:28px 25px;min-height:130px;display:flex;flex-direction:column;justify-content:space-between}
.choice-grid strong{font:500 15px/1.5 'Cinzel',serif;color:var(--ink)}
.choice-grid span{font:italic 17px Georgia,serif;color:var(--accent);margin-top:18px}
.choice-end{font:italic 19px/1.75 Georgia,serif;color:var(--accent);margin:45px auto 0;max-width:700px}
.tirages-closing{padding-top:82px;padding-bottom:90px}
.tirages-closing .hero-cta{margin-top:25px}
@media(max-width:1050px){.offers{grid-template-columns:1fr;max-width:760px}
.offers-heading{padding-bottom:20px}
.offer.featured{transform:none}
.steps{grid-template-columns:repeat(2,1fr)}
.choice-grid{grid-template-columns:1fr}
.offer{padding:42px 34px}
}
@media(max-width:760px){.offers{padding:48px 7vw 70px}
.offers-heading{padding-bottom:8px}
.offer{padding:35px 24px 30px}
.offer-tagline{min-height:0}
.tirages-intro{padding:55px 7vw}
.steps{grid-template-columns:1fr;gap:0}
.step{text-align:left;display:grid;grid-template-columns:45px 1fr;column-gap:15px;align-items:start;padding:23px 0}
.step>span{grid-row:1 / span 2;margin:2px 0 0}
.step h3,.step p{grid-column:2}
.choice-section{padding:65px 7vw}
.tirages-closing{padding:62px 7vw 72px}
}
/* =========================
   PAGE COMMANDE — formulaire
   ========================= */
.order-section{max-width:640px;padding-left:clamp(20px,6vw,40px);padding-right:clamp(20px,6vw,40px)}
.order-card{background:var(--card);border:1px solid rgba(90,54,32,.22);padding:46px 42px;box-shadow:0 14px 32px rgba(90,54,32,.07)}
.order-summary{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(90,54,32,.2);padding-bottom:18px;margin-bottom:28px}
.order-summary .label{font:11px 'Cinzel',serif;letter-spacing:.14em;color:var(--accent)}
.order-summary .value{font:500 20px 'Cinzel',serif;color:var(--ink)}
.order-field{margin-bottom:22px}
.order-field label{display:block;font:500 11px 'Cinzel',serif;letter-spacing:.12em;color:var(--accent);margin-bottom:8px;text-transform:uppercase}
.order-field input,.order-field textarea{width:100%;padding:13px 15px;border:1px solid rgba(90,54,32,.3);background:var(--bg);color:var(--ink);font:15px 'DM Sans',sans-serif;border-radius:4px}
.order-field textarea{min-height:130px;resize:vertical;font-family:Georgia,serif;line-height:1.6}
.order-field input:focus,.order-field textarea:focus{outline:none;border-color:var(--accent)}
.order-submit{width:100%;border:none;cursor:pointer;font:500 12px 'Cinzel',serif}
.order-submit:disabled{opacity:.5;cursor:not-allowed}
/* Case à cocher — renoncement au droit de rétractation */
.order-consent{display:flex;align-items:flex-start;gap:12px;margin:28px 0 22px;padding:18px 20px;background:var(--bg);border:1px solid rgba(90,54,32,.22);border-radius:4px}
.order-consent input[type="checkbox"]{margin-top:4px;width:17px;height:17px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}
.order-consent label{font:14px/1.6 Georgia,serif;color:var(--ink);opacity:.85;text-align:left;cursor:pointer;text-transform:none;letter-spacing:normal}
.order-consent label a{color:var(--accent)}
.order-note{font:13px/1.6 Georgia,serif;color:var(--ink);opacity:.75;text-align:center;margin-top:18px}
.offer-lame .offer-symbol.moon-inverted{display:flex;align-items:center;justify-content:center;width:100%;height:34px;margin:0 auto 17px;transform:rotate(180deg);transform-origin:center center;}
/* =========================
   PAGE ODYSSÉES — parcours & avis
   ========================= */
.odyssees-triad{max-width:1000px}
.triad-grid.two-cols{grid-template-columns:repeat(2,1fr)}
.triad-grid.two-cols .triad-card{text-align:left;min-height:auto;padding:40px 36px}
.triad-grid.two-cols .triad-card p{opacity:.85}
.odyssees-note{text-align:center;font:italic 15px/1.7 Georgia,serif;color:var(--ink);opacity:.7;max-width:620px;margin:38px auto 0}
@media(max-width:900px){.triad-grid.two-cols{grid-template-columns:1fr}
}
/* --- Cadre doré : récit long mis en valeur (odyssée fondatrice) --- */
.founder-story-section{max-width:900px}
.golden-frame{position:relative;background:var(--card);border:2px solid var(--accent);border-radius:6px;padding:66px 68px 56px;box-shadow:0 22px 50px rgba(90,54,32,.15);text-align:left}
.golden-frame::before{content:"";position:absolute;inset:11px;border:1px solid var(--accent);border-radius:3px;pointer-events:none}
.golden-frame .frame-star{width:26px;height:26px;display:block;margin:0 auto 30px;color:var(--accent)}
.golden-frame p{font:18px/1.85 Georgia,serif;color:var(--ink);opacity:.88;margin:0 0 20px;text-align:left;max-width:none}
.golden-frame p strong{opacity:1;color:var(--ink)}
.golden-frame .frame-divider{color:var(--accent);width:120px;margin:12px auto 30px}
.golden-frame .manifesto{margin:36px auto;max-width:520px;text-align:center;padding-left:0;border-left:none}
.golden-frame .manifesto p{text-align:center}
.golden-frame .frame-signature{text-align:right;font:500 15px 'Cinzel',serif;letter-spacing:.08em;color:var(--accent);opacity:1;margin-top:34px}
@media(max-width:760px){.golden-frame{padding:44px 26px 36px}
.golden-frame::before{inset:8px}
}
/* --- Mascotte Yule réutilisable --- */
.yule-mascot-block{display:flex;flex-direction:column;align-items:center;gap:12px;margin:10px auto 0}
.yule-mascot-block img{width:84px;height:auto;display:block}
.yule-mascot-block p{font-style:italic;color:var(--accent);margin:0;text-align:center;font-family:Georgia,serif;font-size:15px;max-width:360px}
.yule-mascot-inline{width:64px;height:auto;display:block;margin:0 auto 18px}
.closing .yule-mascot-block p{color:var(--card)}
header{position:sticky;top:0;z-index:20;height:auto;min-height:92px;padding:15px 5vw;background:rgba(90,54,32,.85);border-bottom:0;justify-content:flex-start;gap:60px}
header .logo{font-size:24px;color:var(--card);white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.7)}
header nav{gap:50px;justify-content:flex-start;flex:none}
header nav a{font-size:16px;letter-spacing:.18em;color:var(--card);opacity:1;text-shadow:0 1px 8px rgba(0,0,0,.7)}
header nav a:hover,header nav .active{color:#fff;border-bottom-color:#fff}
header .moon{font-size:44px;color:var(--card)}
@media(max-width:760px){header{padding:15px 5vw;gap:15px}
header .logo{font-size:16px}
header nav{gap:18px}
header nav a{font-size:12px}
header .moon{font-size:31px}
}

/* V43.8 — AFFICHAGE MOBILE (menu sur plusieurs lignes, accueil lisible) */
.mobile-intro{display:none}
@media(max-width:760px){
  header.home-header{position:relative;height:auto;min-height:0;padding:12px 5vw;gap:8px 12px;flex-wrap:wrap;background:#5A3620}
  header,header.home-header{padding-top:12px;padding-bottom:12px;gap:8px 12px;flex-wrap:wrap}
  header .logo,header.home-header .logo{font-size:17px;gap:6px}
  header .moon,header.home-header .moon{font-size:26px;margin-left:auto}
  header nav,header.home-header nav{order:3;flex:1 1 100%;flex-wrap:wrap;gap:4px 14px;overflow:visible;justify-content:flex-start;padding-bottom:0}
  header nav a,header.home-header nav a{font-size:11px;letter-spacing:.1em;padding:6px 0}
  .mobile-intro{display:block;background:var(--bg);text-align:center;padding:30px 7vw 44px}
  .mobile-intro h1{font:600 34px 'Cinzel',serif;letter-spacing:.04em;color:var(--ink);margin:0 0 8px}
  .mobile-intro p{font:13px 'Cinzel',serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 20px}
  .home-page footer{position:relative}
  body.home-page{min-height:100svh;display:flex;flex-direction:column}
  .home-page footer{margin-top:auto}
}
