:root{
  --ink:#182321;--night:#102124;--moss:#52644c;--fern:#788a61;--clay:#c96b4b;
  --amber:#eea35a;--cream:#f7efde;--sand:#e5d5b9;--paper:#f1e5d0;--line:#1823212e;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:78px;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}
.skip-link{z-index:30;background:var(--amber);color:var(--night);border-radius:0 0 .5rem .5rem;padding:.75rem 1rem;transition:top .2s;position:fixed;top:-5rem;left:1rem}
.skip-link:focus{top:0}

/* ---------- Header ---------- */
.site-header{width:100%;min-height:78px;color:var(--cream);background:var(--night);z-index:20;justify-content:space-between;align-items:center;gap:2rem;padding:0 clamp(1.25rem,4vw,4.5rem);display:flex;position:fixed;inset:0 0 auto;box-shadow:0 7px 20px #0610112e}
.wordmark{letter-spacing:.13em;align-items:center;gap:.58rem;font-size:.92rem;font-weight:700;display:inline-flex}
.wordmark-mark{color:var(--amber);font-size:1.8rem;line-height:.7;transform:rotate(-20deg)}
nav.main-nav{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:clamp(1rem,2.4vw,2.25rem);font-size:.77rem;font-weight:600;display:flex}
nav.main-nav a,.header-contact{transition:color .18s}
nav.main-nav a:hover,.header-contact:hover{color:var(--amber)}
.header-contact{letter-spacing:.06em;text-transform:uppercase;min-height:44px;color:var(--amber);align-items:center;gap:.25rem;font-size:.78rem;font-weight:700;display:inline-flex}
.contact-arrow{font-size:1.05rem}
.header-right{display:flex;align-items:center;gap:1rem}
.nav-toggle{display:none;background:none;border:1px solid #f7efde4d;border-radius:.6rem;color:var(--cream);width:42px;height:42px;font-size:1.15rem;line-height:1;cursor:pointer}
main{padding-top:78px}

/* ---------- Hero (accueil) ---------- */
.hero{background:var(--night);min-height:min(800px,100svh - 78px);color:var(--cream);isolation:isolate;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);padding:clamp(3.7rem,8vw,7.7rem) clamp(1.25rem,7vw,8rem) clamp(4rem,7vw,7rem);display:grid;position:relative;overflow:hidden}
.hero::before{content:"";z-index:-2;opacity:.26;background-image:radial-gradient(#f7efde7a .75px,#0000 .8px);background-size:19px 19px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 76%);mask-image:linear-gradient(90deg,#000,#0000 76%)}
.hero::after{content:"";z-index:-1;border:1px solid #f7efde2b;border-radius:50%;width:64vw;height:64vw;position:absolute;bottom:-41vw;right:-26vw}
.aurora{z-index:-1;pointer-events:none;filter:blur(8px);opacity:.8;position:absolute}
.aurora-left{background:#405a50;border-radius:45% 55% 53% 47%;width:42vw;height:42vw;bottom:-31vw;left:-23vw;transform:rotate(20deg);animation:drift 26s ease-in-out infinite alternate}
.aurora-right{opacity:.48;background:#6c4d3b;border-radius:50%;width:34vw;height:34vw;top:-28vw;right:2vw;animation:drift 32s ease-in-out infinite alternate-reverse}
@keyframes drift{from{transform:rotate(20deg) translate(0,0)}to{transform:rotate(24deg) translate(2.5vw,-1.5vw)}}
.hero-copy{z-index:1;align-self:center;max-width:680px;position:relative}
.eyebrow,.section-kicker{letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.62rem;font-size:.7rem;font-weight:700;display:flex}
.eyebrow span{background:var(--amber);width:28px;height:1px;display:inline-block}
h1,h2,h3{letter-spacing:-.055em;font-family:Fraunces,Georgia,serif;font-weight:500}
.hero h1{max-width:800px;margin:1.15rem 0 1.5rem;font-size:clamp(3.15rem,6.4vw,6.9rem);line-height:.94}
em{font-style:italic;font-weight:400}
.hero h1 em{color:var(--amber)}
.hero-intro{color:#f7efdec7;max-width:480px;font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.65}
.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}
.button{letter-spacing:.09em;text-transform:uppercase;border:1px solid #f7efde75;border-radius:999px;justify-content:center;align-items:center;gap:1.4rem;min-height:51px;padding:.8rem 1.15rem;font-size:.72rem;font-weight:700;transition:transform .2s,background .2s,border .2s,color .2s;display:inline-flex}
.button:hover{transform:translateY(-3px)}
.button-primary{background:var(--amber);color:var(--night);border-color:var(--amber)}
.button-primary:hover{background:#f4b877}
.button-quiet:hover{border-color:var(--amber);color:var(--amber)}
.button-accent{border:1.5px solid var(--amber);color:var(--amber);background:#eea35a14}
.button-accent:hover{background:var(--amber);color:var(--night)}
.hero-meta{letter-spacing:.07em;color:#f7efde94;text-transform:uppercase;margin-top:3rem;font-size:.76rem}
.hero-art{z-index:0;align-self:stretch;min-height:450px;position:relative}
.sun-disc{aspect-ratio:1;background:var(--amber);opacity:.96;border-radius:50%;width:clamp(300px,29vw,500px);position:absolute;top:7%;right:1%;box-shadow:0 0 0 2px #eea35a29,0 0 0 38px #eea35a0a}
.sun-orbit{border:1px solid #f7efde61;border-radius:50%;position:absolute}
.orbit-one{width:clamp(360px,35vw,570px);height:clamp(360px,35vw,570px);top:1%;right:-6%}
.orbit-two{border-color:#f7efde21;width:clamp(420px,42vw,670px);height:clamp(420px,42vw,670px);top:-5%;right:-14%}
.wolf-illustration{mix-blend-mode:multiply;filter:contrast(1.2) brightness(.95);clip-path:inset(0 1% 4% 0 round 50%);width:min(630px,116%);position:absolute;bottom:-14%;right:-12%;transform:rotate(-2deg)}

/* ---------- Invitation ---------- */
.invitation{background:var(--paper);grid-template-columns:minmax(140px,.45fr) minmax(0,1.35fr) minmax(170px,.45fr);gap:2rem;padding:clamp(4.5rem,9vw,9rem) clamp(1.25rem,9vw,12rem);display:grid;position:relative}
.section-kicker{color:var(--moss)}
.invitation-copy{max-width:800px;position:relative}
.invitation-copy a{color:var(--clay);text-decoration:underline;text-underline-offset:3px}
.quote-mark{color:var(--clay);font-family:Fraunces,Georgia,serif;font-size:8.5rem;line-height:1;position:absolute;top:-3.3rem;left:-4.2rem}
h2{font-size:clamp(2.55rem,4.8vw,5.4rem);line-height:.99}
.invitation h2{max-width:760px}
.invitation h2 em{color:var(--clay)}
.invitation-copy>p:last-child{max-width:585px;margin:2rem 0 0;font-family:Fraunces,Georgia,serif;font-size:clamp(1.15rem,1.55vw,1.45rem);line-height:1.55}
.side-note{border-left:1px solid var(--clay);letter-spacing:.08em;text-transform:uppercase;color:var(--moss);align-self:end;padding:0 0 .4rem 1rem;font-size:.72rem;font-weight:700;line-height:1.65}

/* ---------- Path ---------- */
.path{background:var(--night);color:var(--cream);padding:clamp(4.5rem,8vw,8rem) clamp(1.25rem,7vw,8rem)}
.path-heading{justify-content:space-between;align-items:end;gap:2rem;max-width:1240px;margin:0 auto 3.4rem;display:flex}
.section-kicker-light{color:var(--amber)}
.path h2{margin-top:.7rem}
.path h2 em{color:var(--amber)}
.path-heading>p{color:#f7efdeb3;max-width:350px;font-size:1rem;line-height:1.65}
.path-grid{grid-template-columns:repeat(3,1fr);gap:clamp(.75rem,1.4vw,1.25rem);max-width:1240px;margin:0 auto;display:grid}
.path-card{border-radius:1.45rem;flex-direction:column;min-height:340px;padding:clamp(1.6rem,3.5vw,3rem);display:flex;position:relative;overflow:hidden;transition:transform .25s}
.path-card:hover{transform:translateY(-5px)}
.path-card::after{content:"";aspect-ratio:1;opacity:.28;border:1px solid;border-radius:50%;width:220px;position:absolute;bottom:-105px;right:-92px}
.path-card-terracotta{background:var(--clay);color:#ffe6cb}
.path-card-moss{background:var(--moss);color:var(--cream)}
.path-card-cream{background:var(--cream);color:var(--ink)}
.path-number{letter-spacing:.1em;font-size:.7rem;font-weight:700}
.path-icon{margin-top:auto;font-family:Fraunces,Georgia,serif;font-size:4rem;line-height:.9;display:block}
.path-card h3{margin:.9rem 0 .7rem;font-size:clamp(1.8rem,2.7vw,2.8rem);line-height:1}
.path-card p{max-width:250px;font-size:.94rem;line-height:1.5}
.path-card{cursor:pointer}
.path-card .card-link{margin-top:1.1rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;display:inline-flex;align-items:center;gap:.55rem;align-self:flex-start;border:1.5px solid currentColor;border-radius:999px;padding:.6rem 1.05rem;transition:background .2s,color .2s,transform .2s}
.path-card .card-link::before{content:"";position:absolute;inset:0}
.path-card .card-link span{transition:transform .2s}
.path-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px #06101166}
.path-card:hover .card-link span{transform:translateX(4px)}
.path-card-terracotta:hover .card-link{background:#ffe6cb;color:var(--clay);border-color:#ffe6cb}
.path-card-moss:hover .card-link{background:var(--cream);color:var(--moss);border-color:var(--cream)}
.path-card-cream:hover .card-link{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* ---------- Rhythm ---------- */
.rhythm{background:var(--sand);border-radius:2rem;grid-template-columns:1fr 1fr;align-items:center;min-height:600px;margin:clamp(.85rem,2vw,2rem);display:grid;position:relative;overflow:hidden}
.rhythm::after{content:"";pointer-events:none;background:repeating-linear-gradient(100deg,#0000 0 31px,#18232108 32px 33px);position:absolute;inset:0}
.rhythm-visual{z-index:1;min-height:600px;position:relative}
.drum{background:var(--clay);border:14px solid var(--ink);width:min(38vw,520px);height:min(38vw,520px);box-shadow:0 0 0 2px #18232166,0 0 0 25px var(--sand),0 0 0 27px #18232166;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:13%;transform:translateY(-50%)}
.drum::before{content:"";border-radius:inherit;border:1px dashed #18232199;position:absolute;inset:18px}
.drum-inner{z-index:1;aspect-ratio:1;background:var(--amber);width:44%;color:var(--ink);box-shadow:inset 0 0 0 5px var(--cream);border-radius:50%;place-items:center;font-family:Fraunces,Georgia,serif;font-size:2rem;display:grid;position:relative;animation:pulse 3.2s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.drum-ray{z-index:-1;transform-origin:0 0;background:#18232159;width:370px;height:1px;position:absolute;top:50%;left:22%}
.ray-one{transform:rotate(-33deg)}
.ray-two{transform:rotate(18deg)}
.ray-three{transform:rotate(58deg)}
.rhythm-copy{z-index:1;max-width:640px;padding:2rem clamp(1.25rem,8vw,8rem) 2rem 1rem;position:relative}
.rhythm h2{margin-top:.8rem}
.rhythm h2 em{color:var(--clay)}
.rhythm-copy>p:last-child{max-width:440px;margin:1.8rem 0 0;font-size:1.07rem;line-height:1.7}
.rhythm-copy a{color:var(--clay);text-decoration:underline;text-underline-offset:3px}

/* ---------- Details ---------- */
.details{background:var(--cream);padding:clamp(4.5rem,9vw,9rem) clamp(1.25rem,7vw,8rem)}
.details-intro{text-align:center;max-width:690px;margin:0 auto}
.details-intro .section-kicker{justify-content:center}
.details h2{margin:.7rem 0 1.4rem}
.details h2 em{color:var(--clay)}
.details-intro>p:last-child{color:#182321bf;max-width:540px;margin:0 auto;line-height:1.65}
.details-intro a{color:var(--clay);text-decoration:underline;text-underline-offset:3px}
.details-grid{grid-template-columns:1.06fr 1fr .82fr;gap:1rem;max-width:1240px;margin:4rem auto 0;display:grid}
.detail-card{border:1px solid var(--line);border-radius:1.45rem;flex-direction:column;min-height:310px;padding:clamp(1.5rem,2.8vw,2.7rem);display:flex;overflow:hidden}
.detail-card-time{background:var(--moss);color:var(--cream);border-color:var(--moss)}
.detail-card-place{background:var(--paper)}
.detail-card-price{background:var(--clay);color:#ffe8d1;border-color:var(--clay)}
.detail-label{letter-spacing:.15em;text-transform:uppercase;opacity:.7;font-size:.68rem;font-weight:700}
.detail-card h3{margin:auto 0 .7rem;font-size:clamp(2rem,3vw,3.2rem);line-height:.98}
.detail-card p{line-height:1.65}
.detail-highlight{font-family:Fraunces,Georgia,serif;font-size:1.65rem}
.detail-card a{letter-spacing:.1em;text-transform:uppercase;margin-top:auto;font-size:.72rem;font-weight:700}
.detail-card a:hover{color:var(--clay)}
.price{letter-spacing:-.08em;font-family:Fraunces,Georgia,serif;font-size:clamp(4rem,7vw,6.6rem);margin:auto 0 .5rem!important;line-height:.8!important}
.price span{vertical-align:top;margin-left:.12em;font-size:.42em}

/* ---------- Contact ---------- */
.contact{isolation:isolate;background:var(--night);color:var(--cream);text-align:center;padding:clamp(5rem,10vw,10rem) max(1.25rem,50% - 455px);position:relative;overflow:hidden}
.contact::before{content:"";z-index:-1;aspect-ratio:1;border:1px solid #f7efde33;border-radius:50%;width:77vw;position:absolute;top:-59vw;left:50%;transform:translate(-50%)}
.contact::after{content:"";z-index:-2;opacity:.2;background-image:radial-gradient(#f7efde8c .75px,#0000 .8px);background-size:20px 20px;position:absolute;inset:0}
.contact .eyebrow{color:var(--amber);justify-content:center}
.contact h2{margin:1rem 0 1.45rem}
.contact h2 em{color:var(--amber)}
.contact>p:not(.eyebrow):not(.contact-name){color:#f7efdeb8;max-width:520px;margin:0 auto;line-height:1.7}
.phone-link{color:var(--night);background:var(--amber);letter-spacing:-.04em;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;margin-top:2.25rem;padding:.78rem 1.25rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.5rem,3.4vw,2.75rem);transition:transform .2s;display:inline-flex}
.phone-link:hover{transform:translateY(-3px)}
.phone-arrow{letter-spacing:0;font-family:"DM Sans",Arial,sans-serif;font-size:.62em;font-weight:700}
.contact-name{letter-spacing:.13em;text-transform:uppercase;color:#f7efde99;margin:1.2rem 0 0;font-size:.7rem}
.contact-name a:hover{color:var(--amber)}
.contact-moon{z-index:-1;aspect-ratio:1;border:1px solid #eea35a45;border-radius:50%;width:440px;position:absolute;bottom:-20%;right:-9%;box-shadow:0 0 0 40px #eea35a09,0 0 0 80px #eea35a06}

/* ---------- Pages de contenu ---------- */
.page-head{background:var(--night);color:var(--cream);isolation:isolate;padding:clamp(3rem,7vw,5.5rem) clamp(1.25rem,7vw,8rem) clamp(2.6rem,5vw,4rem);position:relative;overflow:hidden}
.page-head::before{content:"";z-index:-1;opacity:.2;background-image:radial-gradient(#f7efde7a .75px,#0000 .8px);background-size:19px 19px;position:absolute;inset:0}
.page-head::after{content:"";z-index:-1;border:1px solid #f7efde26;border-radius:50%;width:52vw;aspect-ratio:1;position:absolute;top:-30vw;right:-18vw}
.page-head h1{font-size:clamp(2.5rem,6.5vw,4.8rem);line-height:.98;max-width:900px;letter-spacing:-.05em;font-family:Fraunces,Georgia,serif;font-weight:500}
.page-head h1 em{color:var(--amber)}
.page-head .lede{color:#f7efdec4;max-width:620px;margin-top:1.4rem;font-size:clamp(1rem,1.3vw,1.14rem);line-height:1.7}
.breadcrumb{letter-spacing:.08em;text-transform:uppercase;color:#f7efde8c;font-size:.68rem;font-weight:600;margin-bottom:1.6rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.breadcrumb a:hover{color:var(--amber)}
.breadcrumb span[aria-current]{color:var(--amber)}

.prose{max-width:730px;margin:0 auto;padding:clamp(2.6rem,6vw,4.5rem) 1.25rem;font-size:1.03rem;line-height:1.75}
.prose h2{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.08;margin:2.6rem 0 1rem}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.28rem;margin:1.9rem 0 .6rem}
.prose p{margin:0 0 1.15rem}
.prose ul{margin:0 0 1.3rem;padding-left:1.25rem;list-style:disc}
.prose li{margin-bottom:.55rem}
.prose a{color:var(--clay);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:#a9542f}
.prose blockquote{border-left:3px solid var(--amber);padding:.4rem 0 .4rem 1.2rem;font-family:Fraunces,Georgia,serif;font-size:1.2rem;line-height:1.5;margin:1.8rem 0;color:#182321d9}
.prose strong{font-weight:600}

.faq-item{border:1px solid var(--line);border-radius:1.15rem;background:var(--cream);margin-bottom:.8rem;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:1.15rem 3rem 1.15rem 1.3rem;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);font-family:Fraunces,Georgia,serif;font-size:1.6rem;color:var(--clay);transition:transform .2s}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item summary h2{display:inline;font-size:1.12rem;font-family:"DM Sans",Arial,sans-serif;font-weight:600;letter-spacing:0;line-height:1.4}
.faq-item p{padding:0 1.3rem 1.2rem;margin:0;color:#182321d0}
.faq-more{margin-top:2rem}

.cta-panel{background:var(--night);color:var(--cream);border-radius:1.45rem;text-align:center;max-width:840px;margin:0 auto clamp(3rem,7vw,5rem);padding:clamp(2.2rem,5vw,3.5rem) 1.5rem;position:relative;overflow:hidden;isolation:isolate}
.cta-panel::after{content:"";z-index:-1;border:1px solid #eea35a45;border-radius:50%;width:300px;aspect-ratio:1;position:absolute;bottom:-160px;right:-110px;box-shadow:0 0 0 40px #eea35a09}
.cta-panel .eyebrow{color:var(--amber);justify-content:center}
.cta-panel h2{font-size:clamp(1.9rem,4.5vw,2.9rem);margin:.9rem 0 1rem}
.cta-panel h2 em{color:var(--amber)}
.cta-panel>p:not(.eyebrow){color:#f7efdeb8;max-width:460px;margin:0 auto;line-height:1.65}
.cta-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.8rem}

/* ---------- Formulaire de rappel ---------- */
.rappel-wrap{max-width:960px;margin:0 auto;padding:clamp(2.4rem,6vw,4.5rem) 1.25rem}
.form-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);border-radius:1.6rem;overflow:hidden;box-shadow:0 34px 70px -40px #18232180;border:1px solid var(--line);background:var(--cream)}
.form-intro{background:var(--night);color:var(--cream);padding:clamp(1.9rem,4vw,2.9rem);position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column}
.form-intro::before{content:"";z-index:-1;opacity:.22;background-image:radial-gradient(#f7efde7a .75px,#0000 .8px);background-size:19px 19px;position:absolute;inset:0}
.form-intro-moon{z-index:-1;aspect-ratio:1;border:1px solid #eea35a4d;border-radius:50%;width:280px;position:absolute;bottom:-130px;right:-110px;box-shadow:0 0 0 34px #eea35a0c,0 0 0 68px #eea35a07}
.form-intro .eyebrow{color:var(--amber)}
.form-intro h2{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.05;margin:1rem 0 1.4rem}
.form-intro h2 em{color:var(--amber)}
.form-points{list-style:none;display:grid;gap:.7rem;margin:0 0 2rem}
.form-points li{position:relative;padding-left:1.5rem;color:#f7efdec9;font-size:.95rem;line-height:1.5}
.form-points li::before{content:"✦";position:absolute;left:0;top:.05rem;color:var(--amber);font-size:.85rem}
.form-intro-tel{margin-top:auto;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#f7efde8c;line-height:1.9}
.form-intro-tel a{font-family:Fraunces,Georgia,serif;text-transform:none;letter-spacing:-.02em;font-size:1.5rem;color:var(--amber);border-bottom:1px solid #eea35a59;padding-bottom:.1rem}
.form-intro-tel a:hover{border-bottom-color:var(--amber)}
.form-fields{padding:clamp(1.9rem,4vw,2.9rem);display:grid;gap:1.5rem;align-content:start}
.form-field{display:grid;gap:.3rem}
.form-field label{letter-spacing:.11em;text-transform:uppercase;font-size:.66rem;font-weight:700;color:var(--moss);display:flex;align-items:baseline;gap:.5rem}
.form-field label em{font-style:italic;text-transform:none;letter-spacing:0;font-weight:400;font-family:Fraunces,Georgia,serif;color:#18232166;font-size:.8rem}
.form-field input,.form-field textarea{background:transparent;border:0;border-bottom:1.5px solid #18232138;border-radius:0;padding:.55rem 0;font:inherit;font-size:1.08rem;width:100%;color:var(--ink);transition:border-color .18s}
.form-field input::placeholder,.form-field textarea::placeholder{color:#18232145}
.form-field input:hover,.form-field textarea:hover{border-bottom-color:#18232170}
.form-field input:focus,.form-field textarea:focus{outline:none;border-bottom-color:var(--clay);border-bottom-width:2px}
.form-field textarea{resize:vertical;min-height:70px;line-height:1.6}
.form-submit{width:100%;min-height:56px;font-size:.78rem;cursor:pointer;margin-top:.4rem}
.form-note{margin:0;text-align:center;font-size:.78rem}
.form-note a{color:#18232180;text-decoration:underline;text-underline-offset:3px}
.form-note a:hover{color:var(--clay)}
.form-banner{background:#c96b4b1f;border:1px solid var(--clay);border-radius:.9rem;padding:.95rem 1.15rem;color:#8c3f1f;margin-bottom:1.4rem}
.trap-field{position:absolute;left:-9999px;top:auto;height:1px;width:1px;overflow:hidden}
@media (max-width:760px){
  .form-shell{grid-template-columns:1fr}
  .form-intro{padding-bottom:2.2rem}
  .form-intro-tel{margin-top:.4rem}
}
.contact-actions{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;align-items:center}
.phone-link-outline{background:transparent;color:var(--cream);border:1.5px solid #f7efde8c}
.phone-link-outline:hover{border-color:var(--amber);color:var(--amber)}

/* ---------- Footer ---------- */
footer{color:#f7efdea6;background:#0b1718;padding:clamp(2.2rem,5vw,3.5rem) clamp(1.25rem,7vw,8rem);font-size:.8rem}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2.5rem;max-width:1240px;margin:0 auto}
.footer-brand p{margin-top:1rem;line-height:1.7}
.footer-wordmark{color:var(--cream)}
.footer-wordmark .wordmark-mark{color:var(--amber)}
.footer-nav{display:flex;flex-direction:column;gap:.55rem}
.footer-nav a:hover,.footer-contact a:hover{color:var(--amber)}
.footer-contact p{line-height:1.8}
.footer-contact a{color:var(--amber);font-weight:700}

/* ---------- Scroll reveal (état masqué appliqué par JS uniquement) ---------- */
.reveal.reveal-pending{opacity:0;transform:translateY(26px)}
.reveal{transition:opacity .7s ease,transform .7s ease}
.reveal-delay-1{transition-delay:.12s}
.reveal-delay-2{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal.reveal-pending{opacity:1;transform:none;transition:none}
  .aurora-left,.aurora-right,.drum-inner{animation:none}
  .button:hover,.phone-link:hover,.path-card:hover{transform:none}
}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  html{scroll-padding-top:68px}
  .site-header{gap:.8rem;min-height:68px;padding:0 1rem}
  .nav-toggle{display:grid;place-items:center}
  nav.main-nav{display:none;position:fixed;top:68px;left:0;right:0;background:var(--night);flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 0 1rem;box-shadow:0 14px 24px #06101140}
  nav.main-nav.is-open{display:flex}
  nav.main-nav a{width:100%;padding:.9rem 1.25rem;font-size:.85rem;border-bottom:1px solid #f7efde14}
  main{padding-top:68px}
  .header-contact{letter-spacing:.08em;background:#eea35a14;border:1px solid #eea35aa3;border-radius:999px;place-items:center;height:42px;min-height:42px;padding:0 .82rem;font-size:.63rem;display:inline-flex}
  .hero{min-height:auto;padding:4rem 1.25rem 3rem;display:block}
  .hero-copy{max-width:590px}
  .hero h1{font-size:clamp(3.3rem,13.5vw,5.5rem)}
  .hero-meta{position:relative;z-index:2}
  .hero-art{min-height:calc(min(440px,92vw) + 2.4rem);margin:.9rem -1.25rem 0}
  .sun-disc{width:calc(min(440px,92vw)*.78);top:calc(2.4rem + min(440px,92vw)*.03);right:auto;left:50%;transform:translateX(-50%);box-shadow:none}
  .orbit-one{width:min(80vw,420px);height:min(80vw,420px);top:-2%;right:auto;left:50%;transform:translateX(-45%)}
  .orbit-two{display:none}
  .wolf-illustration{width:min(440px,92%);bottom:0;right:auto;left:50%;transform:translateX(-50%) rotate(-2deg);clip-path:inset(0 1% 1.5% 0 round 50%)}
  .invitation{grid-template-columns:1fr;gap:1.2rem}
  .invitation>.section-kicker{margin-bottom:2.6rem}
  .invitation-copy{padding-left:.6rem}
  .quote-mark{font-size:6rem;top:-3.2rem;left:-1.1rem}
  .side-note{margin-top:1rem}
  .path-heading{display:block}
  .path-heading>p{margin-top:1.6rem}
  .path-grid{grid-template-columns:1fr}
  .path-card{min-height:265px}
  .rhythm{border-radius:1.45rem;grid-template-columns:1fr;margin:1rem}
  .rhythm-visual{min-height:430px}
  .drum{width:310px;height:310px;left:calc(50% - 155px)}
  .rhythm-copy{padding:1rem 1.25rem 4.6rem}
  .details-grid{grid-template-columns:1fr}
  .detail-card{min-height:0}
  .detail-card h3{margin-top:1.4rem}
  .detail-card-price .price{margin-top:1.2rem!important}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:520px){
  .wordmark{font-size:.76rem}
  .hero-actions{grid-template-columns:1fr;display:grid}
  .button{width:100%}
  .hero-meta{font-size:.65rem;line-height:1.7}
  .hero-art{min-height:calc(min(440px,92vw) + 2.4rem)}
  .invitation-copy>p:last-child{font-size:1.09rem}
  .path{padding-left:1rem;padding-right:1rem}
  .path-card{border-radius:1.15rem;min-height:240px}
  .rhythm{border-radius:1.15rem;margin:.75rem}
  .rhythm-visual{min-height:355px}
  .drum{width:245px;height:245px;box-shadow:0 0 0 2px #18232166,0 0 0 18px var(--sand),0 0 0 20px #18232166;border-width:10px;left:calc(50% - 122px)}
  .details{padding-left:1rem;padding-right:1rem}
  .detail-card{border-radius:1.15rem}
  .phone-link{font-size:1.36rem}
  .cta-actions .button{width:100%}
  footer{font-size:.78rem}
}
