@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#372c31;--muted:#655960;--rose:#efd8dc;--pale:#fff9f9;--gold:#9b7040;--line:#e7d9d6;--white:#fff;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--white);color:var(--ink);font:400 1.05rem/1.65 'Manrope',sans-serif}a{color:inherit}a:focus-visible,input:focus-visible{outline:3px solid #af704f;outline-offset:4px}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:1rem;z-index:50}.skip:focus{left:1rem}.header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,5vw,6rem);border-bottom:1px solid #f0e9e7;background:#fff;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:600 1.05rem 'DM Sans',sans-serif;white-space:nowrap}.brand i,footer i{font-style:normal;color:var(--gold)}.brand-mark{border:1px solid var(--gold);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:.76rem;letter-spacing:-.08em}.brand-mark span{color:var(--gold)}nav{display:flex;align-items:center;gap:clamp(1rem,2.1vw,2.5rem)}nav a{text-decoration:none;font-size:.84rem;font-weight:600}nav a:hover,.text-link:hover{color:var(--gold)}.nav-contact{border:1px solid var(--gold);padding:.65rem 1rem;border-radius:999px}.hero-copy{text-align:center;padding:clamp(3rem,6vw,5.5rem) 1rem 1rem}.eyebrow{font:700 .75rem/1.4 'DM Sans',sans-serif;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);margin:0 0 1rem}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'DM Sans',sans-serif;letter-spacing:-.045em;font-weight:500;line-height:1.08}h1{font-size:clamp(3.5rem,7.5vw,7.5rem);margin:0 0 1.1rem}h1 em{font-style:normal;color:#bf8794}h2{font-size:clamp(2.8rem,5vw,5.5rem);max-width:900px;margin-bottom:1.5rem}h3{font:600 1.25rem 'DM Sans',sans-serif}.hero-copy>p:last-child{max-width:650px;margin:0 auto;font-size:1.1rem;color:var(--muted)}.doors{position:relative;max-width:1900px;margin:auto}.doors img{display:block;width:100%;height:auto}.door{position:absolute;top:18%;bottom:23%;width:19%;text-decoration:none;display:flex;justify-content:center;align-items:flex-end;transition:transform .3s ease}.door:hover{transform:translateY(-8px)}.door-one{left:8%}.door-two{left:40.5%}.door-three{right:8%}.door span{position:absolute;bottom:-2.8rem;text-align:center;font:600 .78rem 'DM Sans',sans-serif;letter-spacing:.08em;color:var(--gold);white-space:nowrap}.door b{display:block;color:var(--ink);font-size:1.05rem;letter-spacing:0}.mobile-doors{display:none}.section{padding:clamp(5rem,9vw,10rem) clamp(1.4rem,7vw,8rem);scroll-margin-top:1rem}.lead{font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.5;max-width:760px}.encounter{display:grid;grid-template-columns:minmax(260px,.82fr) 1fr;gap:clamp(3rem,8vw,10rem);align-items:center;max-width:1600px;margin:auto}.portrait{overflow:hidden;border-radius:55% 55% 6px 6px;max-height:670px;background:#f7e9e6}.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.encounter-copy>p:not(.eyebrow){max-width:650px}.note,.fine{font-size:.87rem;color:var(--muted)}blockquote{border-left:2px solid var(--gold);padding-left:1.5rem;margin:2rem 0;font:400 clamp(1.4rem,2vw,1.9rem)/1.4 'DM Sans',sans-serif;color:#9b6771}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.4rem;background:var(--ink);color:#fff;border-radius:999px;text-decoration:none;font-size:.95rem;font-weight:700;line-height:1.2;min-height:52px}.button:hover{background:#74545f}.narrative{background:var(--pale)}.narrative>h2,.narrative>.lead{max-width:900px}.narrative-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin:5rem 0 2rem;max-width:1400px}.narrative-grid>div{border-top:1px solid #caa9a6;padding-top:1.5rem}.line-icon{color:var(--gold);display:block;margin-bottom:2rem;font:500 1.4rem 'DM Sans',sans-serif}.narrative-grid p{max-width:330px}.memory{background:linear-gradient(135deg,#ead2d5,#fbf4f0 58%,#e9d5c4)}.memory-intro{max-width:960px}.memory-path{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:5rem 0 3rem}.memory-path>div{background:#ffffffbc;padding:2rem;min-height:220px}.memory-path strong{color:var(--gold);font:500 2rem 'DM Sans',sans-serif}.memory-path h3{margin:1.2rem 0 .5rem}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.3rem}.composer{max-width:1550px;margin:auto}.composer-head{max-width:750px}.models{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:3rem 0 4rem}.model{display:block;cursor:pointer;border:1px solid var(--line);position:relative;background:#fff;transition:box-shadow .2s,border-color .2s}.model:has(input:checked){border:2px solid var(--gold);box-shadow:0 15px 35px #5d424419}.model input{position:absolute;top:1rem;right:1rem;width:20px;height:20px;accent-color:var(--gold);z-index:1}.model-art{display:block;height:220px;background:#f3e2e4;position:relative;overflow:hidden}.art-fil{background:radial-gradient(ellipse at 53% 80%,#f9f1ed 7%,transparent 60%),linear-gradient(130deg,#ead0d1,#f7e8e8)}.art-fil:after{content:'';position:absolute;left:14%;top:15%;width:80%;height:130%;border-left:2px solid #b78d55;border-radius:50%;transform:rotate(30deg)}.art-voix{background:linear-gradient(135deg,#faf7f6,#e8d9db)}.art-voix:after{content:'';position:absolute;inset:35% 10%;border-top:2px solid #ad825d;border-bottom:2px solid #ad825d;border-radius:50%;transform:rotate(-9deg)}.art-heritage{background:linear-gradient(145deg,#e8d2c8,#fffaf5)}.art-heritage:after{content:'';position:absolute;inset:18% 30%;border:2px solid #a77d4b;border-radius:48% 48% 3% 3%;box-shadow:17px 13px 0 -8px #a77d4b}.model-copy{display:block;padding:1.5rem}.model-copy b{display:block;font:600 1.4rem 'DM Sans',sans-serif}.model-copy small{display:block;font-size:.9rem;color:var(--muted);margin-top:.3rem}.options{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;border-top:1px solid var(--line);padding-top:3rem}.options h3{font-size:1.7rem}.checks{display:grid;gap:.7rem}.checks label{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);cursor:pointer}.checks label:has(input:checked){background:var(--pale);border-color:var(--gold)}.checks input{width:21px;height:21px;flex:none;accent-color:var(--gold)}.selection{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:#faf4f1;margin-top:3rem;padding:2rem}.selection p{margin:0;max-width:740px}.writings{display:grid;grid-template-columns:1fr 1fr;gap:5rem;background:#fbf8f6}.themes{display:flex;align-content:center;align-items:flex-start;justify-content:center;gap:.7rem;flex-wrap:wrap}.themes span{border:1px solid #cbb4ad;padding:.6rem 1rem;border-radius:999px;font-size:.9rem}.themes p{flex-basis:100%;text-align:center;color:var(--muted);margin-top:2rem}.contact{text-align:center;max-width:900px;margin:auto}.contact h2{margin-left:auto;margin-right:auto}.contact>p:not(.eyebrow){max-width:620px;margin:0 auto 2rem}.contact-links{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}footer{background:#392f33;color:#f9eeee;padding:3rem clamp(1.4rem,7vw,8rem);display:flex;justify-content:space-between;gap:3rem;align-items:start;font-size:.85rem}footer p{max-width:440px;color:#e4d6d9}footer a{white-space:nowrap}.footer-brand{font:500 1.3rem 'DM Sans',sans-serif}.footer-brand small{display:block;font-size:.75rem;margin-top:.3rem;color:#ddc6c7}@media(max-width:900px){.header{height:auto;min-height:74px;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem}nav{gap:1rem;overflow-x:auto;width:100%;padding-bottom:.3rem}nav a{white-space:nowrap}.encounter,.writings{grid-template-columns:1fr}.portrait{max-width:500px}.models{grid-template-columns:1fr 1fr}.options{grid-template-columns:1fr}footer{flex-wrap:wrap}.narrative-grid{gap:1.5rem}}@media(max-width:650px){.hero-copy{padding-top:3.5rem}h1{font-size:3.6rem}.hero-copy>p:last-child{font-size:1rem}.doors img{height:330px;object-fit:cover;object-position:center}.door{display:none}.mobile-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;padding:0 1rem 2rem}.mobile-doors a{text-align:center;border-top:1px solid var(--gold);text-decoration:none;padding:.65rem .2rem;font-size:.8rem;font-weight:700}.section{padding:5rem 1.4rem}.narrative-grid,.memory-path,.models{grid-template-columns:1fr;margin-top:3rem}.model-art{height:150px}.memory-path{gap:.7rem}.memory-path>div{min-height:auto}.selection{display:block}.selection .button{margin-top:1rem}.contact-links{flex-direction:column}footer{display:block}footer p{margin:1.5rem 0}nav{font-size:.8rem}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.door{transition:none}}
.door-captions{display:grid;grid-template-columns:repeat(3,1fr);max-width:1700px;margin:-1.5rem auto 0;padding:0 clamp(1rem,5vw,4rem) 5rem;gap:1rem;position:relative}.door-captions a{text-align:center;text-decoration:none;display:block;padding:.8rem .5rem;border-top:2px solid transparent}.door-captions a:hover,.door-captions a:focus-visible{border-color:var(--gold)}.door-captions span{display:block;color:var(--gold);font:700 .8rem 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase}.door-captions strong{display:block;font:500 clamp(1.7rem,2.5vw,2.8rem)/1.2 'DM Sans',sans-serif;letter-spacing:-.04em;margin:.25rem 0}.door-captions small{display:block;color:var(--muted);font-size:.9rem;line-height:1.4}.mobile-doors{display:none}@media(max-width:650px){.door-captions{margin:0;padding:0 1rem 3rem;gap:.35rem}.door-captions a{border-top:1px solid var(--gold);padding:.65rem .15rem}.door-captions span{font-size:.65rem;letter-spacing:0}.door-captions strong{font-size:1.2rem}.door-captions small{font-size:.75rem;line-height:1.25}}

/* Titres des trois portes */
.door-captions{margin:0 auto;padding-top:1.4rem}
.door-captions a{padding:1rem .5rem 1.2rem}
.door-captions span{color:#a9772b;font:500 clamp(1.9rem,3.1vw,3.5rem)/1.12 Georgia,serif;letter-spacing:-.025em;text-transform:none}
.door-captions small{margin-top:.75rem;color:#75645e;font:italic 400 clamp(1rem,1.3vw,1.25rem)/1.45 Georgia,serif;letter-spacing:.015em}
@media(max-width:650px){.door-captions{padding-top:.6rem}.door-captions a{padding:.85rem .15rem}.door-captions span{font-size:clamp(1.12rem,4.4vw,1.65rem);line-height:1.15}.door-captions small{margin-top:.5rem;font-size:clamp(.76rem,2.8vw,.95rem)}}

/* Présentation de Stella */
.about-page{background:#fffaf9}.about-hero{max-width:1400px;margin:auto;padding:clamp(3rem,8vw,8rem) clamp(1.25rem,6vw,6rem);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,7rem);align-items:center}.about-hero-copy{max-width:670px}.about-hero h1{font:400 clamp(3rem,6vw,6rem)/1.04 Georgia,serif;letter-spacing:-.045em;margin:1rem 0 2rem}.about-hero h1 em{color:#a9772b;font-weight:400}.about-hero p{font-size:clamp(1.1rem,1.4vw,1.3rem);line-height:1.7}.about-hero .about-opening{font-family:Georgia,serif;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.5}.about-affirmation{color:#a9772b;font-family:Georgia,serif;font-style:italic}.about-portrait{max-width:430px;justify-self:center;border:1px solid #d9bb88;padding:12px;border-radius:220px 220px 12px 12px;background:#f9eceb}.about-portrait img{display:block;width:100%;height:auto;max-height:540px;object-fit:cover;border-radius:210px 210px 4px 4px}.about-content{max-width:850px;padding:0 1.4rem 7rem;margin:auto}.about-content section{padding:3.5rem 0;border-top:1px solid #d9bb88}.about-content h2{font:400 clamp(2.1rem,4vw,3.4rem)/1.15 Georgia,serif;margin:.6rem 0 1.8rem}.about-content p{font-size:1.12rem;line-height:1.8;margin:0 0 1.1rem}.about-content .eyebrow{font-size:.82rem;line-height:1.4}.about-finale{background:#f9eeee;padding:clamp(2rem,5vw,4rem)!important;margin:1rem -2rem;border:1px solid #d9bb88}.about-signature{color:#a9772b;font:italic 1.65rem Georgia,serif!important;margin:2rem 0!important}.about-signature span{display:block;color:#75645e;font-size:1rem;margin-top:.3rem}.about-finale .button{display:inline-block;margin-top:.75rem}@media(max-width:750px){.about-hero{grid-template-columns:1fr;padding-top:3rem}.about-portrait{max-width:300px}.about-content section{padding:2.6rem 0}.about-finale{margin:0 -1rem}.about-content p{font-size:1rem}}

/* Propositions tarifaires */
.pricing-page{background:#fffaf9}.pricing-main{max-width:1450px;margin:auto;padding:clamp(3rem,7vw,7rem) clamp(1.25rem,5vw,5rem) 7rem}.pricing-intro{max-width:850px;margin-bottom:3.5rem}.pricing-intro h1{font:400 clamp(2.8rem,5vw,5rem)/1.09 Georgia,serif;letter-spacing:-.04em;margin:1rem 0}.pricing-intro h1 em{color:#a9772b;font-weight:400}.pricing-intro>p{font-size:1.16rem;line-height:1.6}.pricing-intro .pricing-notice{border-left:3px solid #bb934e;padding:.7rem 1rem;background:#fff3f1;font-size:.98rem}.pricing-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,360px);gap:clamp(1.5rem,4vw,4rem);align-items:start}.pricing-group{border:0;margin:0 0 3rem;padding:0}.pricing-group legend{font:400 clamp(1.55rem,2.6vw,2.3rem) Georgia,serif;margin-bottom:1.4rem}.pricing-cards,.pricing-options{display:grid;gap:1rem}.pricing-card,.pricing-options label{display:flex;align-items:center;gap:1rem;padding:1.4rem;border:1px solid #d8c9bc;border-radius:10px;background:white;cursor:pointer;transition:border-color .2s,background .2s}.pricing-card:has(input:checked),.pricing-options label:has(input:checked){border:2px solid #a9772b;background:#fff6f2}.pricing-card:focus-within,.pricing-options label:focus-within{outline:2px solid #a9772b;outline-offset:3px}.pricing-card input,.pricing-options input{accent-color:#a9772b;width:1.25rem;height:1.25rem;flex:none}.pricing-card span,.pricing-options label span{flex:1}.pricing-card b,.pricing-options b{display:block;font:400 1.38rem Georgia,serif}.pricing-card small,.pricing-options small{display:block;color:#6d6060;font-size:.94rem;line-height:1.45;margin-top:.4rem}.pricing-card strong,.pricing-options strong{white-space:nowrap;color:#9b6d28;font-size:1.25rem}.pricing-summary{position:sticky;top:6rem;background:#f8eeee;border:1px solid #dac2aa;border-radius:12px;padding:1.7rem}.pricing-summary ul{list-style:none;margin:1.5rem 0;padding:0}.pricing-summary li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #e1cfc5;padding:.8rem 0;line-height:1.35}.pricing-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:1.4rem 0;border-top:2px solid #a9772b;padding-top:1rem}.pricing-total strong{font:400 2.2rem Georgia,serif;color:#a9772b;white-space:nowrap}.pricing-summary p:not(.eyebrow){font-size:.95rem;line-height:1.5}.pricing-summary .button{display:inline-block;margin:1rem 0}.pricing-summary>small{display:block;font-size:.85rem;line-height:1.5;color:#685f5c}@media(max-width:880px){.pricing-layout{grid-template-columns:1fr}.pricing-summary{position:static}}@media(max-width:520px){.pricing-card,.pricing-options label{padding:1rem;gap:.6rem}.pricing-card b,.pricing-options b{font-size:1.1rem}.pricing-card strong,.pricing-options strong{font-size:1rem}}

/* Prestations concrètes sur la page d’accueil */
.products .product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin:2.6rem 0}.product-grid article{background:#fff;border:1px solid #dac4af;padding:clamp(1.3rem,2.3vw,2.2rem);display:flex;flex-direction:column}.product-grid .product-index{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:#a9772b}.product-grid h3{font:400 clamp(1.5rem,2vw,2.05rem)/1.2 Georgia,serif;margin:1.1rem 0}.product-grid p{line-height:1.6}.product-grid .product-delivery{border-top:1px solid #e3d0c7;padding-top:1rem;margin-top:auto}.product-grid .product-price{color:#9b6d28;font-weight:700;margin-bottom:0}.products-next{max-width:780px}.products-next p{line-height:1.65}.products-next .button{display:inline-block;margin:.8rem 0}.products-next small{display:block;color:#675e5c;line-height:1.5;font-size:.85rem}@media(max-width:820px){.products .product-grid{grid-template-columns:1fr}}

/* Formulaire de contact */
.contact{align-items:start}.contact-intro{max-width:610px}.contact-email a{color:#8f6227;text-underline-offset:3px}.contact-form{display:grid;gap:.65rem;width:min(100%,570px);background:#fff;padding:clamp(1.4rem,3vw,2.5rem);border:1px solid #dac4af;border-radius:12px}.contact-form label{font-weight:600;margin-top:.65rem}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font:inherit;width:100%;padding:.85rem 1rem;border:1px solid #bdaea9;border-radius:5px;background:#fff;color:#292631}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:2px solid #a9772b;outline-offset:2px}.contact-form textarea{resize:vertical}.contact-form .contact-consent{display:flex;gap:.75rem;font-weight:400;font-size:.94rem;line-height:1.5}.contact-consent input{width:1.1rem;height:1.1rem;accent-color:#a9772b;margin-top:.25rem;flex:none}.contact-form button{border:0;cursor:pointer;justify-self:start;margin-top:1rem}.contact-form .contact-help{font-size:.85rem;margin:0;color:#675e5c}.contact-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
