@import url('fonts.css');
:root{--cream:#faf8f2;--ink:#383d31;--olive:#72785c;--pale:#e8eadf;--rose:#c24978;--line:#daddcf;--muted:#65675f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--rose);outline-offset:6px}.header{max-width:1440px;margin:auto;padding:28px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;flex-direction:column}.brand-title{font:500 25px 'Playfair Display',Georgia,serif;white-space:nowrap}.brand-title i{font-weight:400;color:var(--olive)}.brand-sub{font-size:10px;letter-spacing:2.4px;margin-top:8px}.header nav{display:flex;gap:32px;font-size:14px}.header nav a:hover,footer>a:hover{color:var(--rose)}.nav-cta{padding:12px 21px;border:1px solid var(--olive);border-radius:3px;font-size:13px}.nav-cta:hover{background:var(--pale)}.hero{max-width:1320px;margin:auto;padding:56px 6% 64px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.eyebrow{font-size:11px;font-weight:500;letter-spacing:2.2px;display:block}.hero-copy>.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{height:1px;width:26px;background:var(--olive)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(58px,5.9vw,84px);line-height:1.1;letter-spacing:-2.5px;margin:28px 0}em{font-weight:400;color:var(--rose)}.hero-copy>p{max-width:425px;color:var(--muted);font-size:16px;line-height:1.9}.button{display:inline-flex;background:var(--olive);color:white;padding:10px 24px;border-radius:999px;min-height:44px;align-items:center;justify-content:center;margin-top:29px;font-size:14px;transition:background .2s}.button:hover{background:#535b42}.hero-note{display:flex;align-items:center;gap:14px;font-size:12px;line-height:1.6;margin-top:33px;color:var(--muted)}.small-star{font-size:36px;color:var(--olive)}.hero-visual{position:relative;padding:20px 0 0}.image-index{display:block;text-align:center;font-size:10px;letter-spacing:2.1px;margin-bottom:15px}.arch{border-radius:250px 250px 5px 5px;overflow:hidden;height:520px;background:#dbdcd5}.arch img{width:100%;height:100%;object-fit:cover;object-position:center 58%;transform:scale(1.08)}.seal{position:absolute;bottom:41px;left:-47px;width:124px;height:124px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;background:var(--pale);border:5px solid var(--cream);font-size:11px;line-height:1.8;transform:rotate(-12deg)}.seal em{font:italic 17px 'Playfair Display',serif;color:var(--olive)}.image-caption{font:italic 13px 'Playfair Display',serif;color:var(--muted);display:block;text-align:right;margin-top:16px}.values{background:var(--pale);display:flex;justify-content:center;align-items:center;gap:55px;padding:23px 5%;font-size:13px;letter-spacing:.5px}.diamond{font-size:25px;color:var(--olive)}.section{max-width:1320px;margin:auto;padding:94px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}h2{font-size:clamp(35px,3.4vw,49px);line-height:1.23;letter-spacing:-1px;margin-top:17px}.section-heading>p{max-width:335px;color:var(--muted);font-size:15px}.universe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}.universe-grid article{border-top:1px solid var(--line);padding:27px 0 32px}.number{font-size:12px;letter-spacing:1px;color:var(--rose)}h3{font-size:25px;margin:12px 0}.universe-grid p{color:var(--muted);font-size:14px;line-height:1.8}.tag{font-size:11px;display:block;color:var(--olive);margin-top:17px;letter-spacing:.6px}.gallery-section{max-width:none;background:#efece5;padding-left:max(6%,calc((100vw - 1160px)/2));padding-right:max(6%,calc((100vw - 1160px)/2))}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:35px 25px}.creation{border:0;background:none;text-align:left;color:inherit;padding:0;cursor:pointer;width:100%;display:block}.creation-image{overflow:hidden;display:block;aspect-ratio:4/4.3;border-radius:3px;background:#dbddd6;position:relative}.creation img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:transform .5s}.creation:hover img{transform:scale(1.18)}.zoom-label{position:absolute;bottom:12px;right:12px;padding:5px 12px;background:#faf8f2e8;border-radius:20px;font-size:11px}.creation-title{display:block;font:23px 'Playfair Display',serif;margin:17px 0 4px}.creation-category{font-size:11px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase}.atelier{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.atelier-photo{position:relative;margin:15px 0 30px}.atelier-photo img{width:100%;height:510px;object-fit:cover;border-radius:220px 220px 3px 3px}.photo-label{position:absolute;bottom:-20px;left:20px;right:-20px;background:var(--pale);padding:19px;text-align:center;font:italic 17px 'Playfair Display',serif}.atelier-copy>p{color:var(--muted);font-size:15px;margin-top:23px}.atelier-foot{border-top:1px solid var(--line);padding-top:23px;margin-top:28px;font:italic 20px/1.6 'Playfair Display',serif;color:var(--olive)}.personal{max-width:none;background:#e9ddd8;text-align:center;padding-top:75px;padding-bottom:75px}.personal>p{color:#685e58;margin-top:23px;font-size:15px}.steps{display:grid;grid-template-columns:repeat(3,1fr);max-width:990px;margin:48px auto 0;gap:45px}.steps>div{border-top:1px solid #cbbab1;padding-top:23px}.steps span{font-size:12px;color:#795d58}.steps h3{font-size:24px}.steps p{color:#685e58;font-size:14px;max-width:245px;margin:auto}footer{padding:42px 6%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer p,footer>a{font-size:11px;color:var(--muted)}footer .brand-sub{font-size:8px;letter-spacing:1.4px}dialog{border:none;border-radius:8px;background:var(--cream);padding:18px;max-width:90vw;max-height:94vh;overflow:auto}dialog::backdrop{background:#24271fe3}dialog img{display:block;max-height:76vh;max-width:80vw;object-fit:contain;margin:auto}dialog p{font:20px 'Playfair Display',serif;text-align:center;padding-top:15px}.close{position:sticky;top:0;float:right;border:0;background:var(--cream);color:var(--ink);border-radius:50%;width:40px;height:40px;font-size:30px;line-height:1;cursor:pointer;z-index:2}.contact-details{margin-top:35px}.contact-details a{display:inline-block;border-bottom:1px solid #795d58;margin:10px;font-size:16px}@media(min-width:1500px){.hero{padding-left:65px;padding-right:65px}}@media(max-width:1000px){.header{padding:24px 5%}.header nav{gap:18px}.nav-cta{display:none}.hero{gap:40px;padding:45px 5%}.arch{height:480px}.hero-copy>.eyebrow{font-size:9px;letter-spacing:1.5px}.seal{left:-25px}.values{gap:25px}.atelier{gap:45px}footer p{display:none}}@media(max-width:650px){.header{padding:21px 6%;flex-wrap:wrap;gap:18px}.brand-title{font-size:23px}.header nav{font-size:12px;gap:23px;width:100%;justify-content:space-between}.brand-sub{font-size:8px}.hero{grid-template-columns:1fr;padding:39px 7% 35px;gap:31px}.hero-copy>.eyebrow{font-size:9px;letter-spacing:1.6px}h1{font-size:61px;margin:22px 0}h1 br:last-of-type{display:none}h1 em{margin-right:9px}.hero-copy>p{font-size:15px}.hero-note{margin-top:22px}.hero-visual{margin:0 14px}.arch{height:425px}.seal{bottom:38px;left:-28px;width:110px;height:110px}.image-index{font-size:8px}.image-caption{font-size:11px}.values{gap:11px;flex-wrap:wrap;font-size:10px;padding:17px 5%}.values .diamond{font-size:15px}.values .diamond:nth-of-type(4){display:none}.section{padding:60px 7%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:14px}h2{font-size:37px}.universe-grid{grid-template-columns:1fr 1fr;gap:0 22px}.universe-grid h3{font-size:21px;line-height:1.35}.universe-grid p{font-size:13px}.tag{font-size:10px}.gallery{grid-template-columns:1fr 1fr;gap:26px 15px}.creation-title{font-size:19px;line-height:1.3;margin-top:12px}.creation-category{font-size:9px;letter-spacing:1px}.zoom-label{font-size:10px;bottom:8px;right:7px;padding:2px 9px}.atelier{grid-template-columns:1fr;gap:34px}.atelier-photo img{height:430px}.photo-label{left:10px;right:-10px;font-size:15px}.atelier-copy h2{font-size:39px}.steps{grid-template-columns:1fr;gap:28px;margin-top:33px}.steps>div{max-width:310px;width:100%;margin:auto}.steps h3{margin:6px}.desktop{display:none}footer{align-items:flex-start;padding:30px 7%}footer .brand-title{font-size:20px}footer .brand-sub{font-size:6px}footer>a{font-size:10px;white-space:nowrap}dialog{padding:10px}dialog img{max-width:83vw}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Identité fournie : logo et pictogrammes originaux. */
.header{padding-top:14px;padding-bottom:14px}.brand-logo{display:block;width:116px;height:116px;object-fit:contain;mix-blend-mode:multiply}.universe-icon{display:block;width:94px;height:94px;object-fit:contain;mix-blend-mode:multiply;margin:0 0 17px}.header nav a:hover,footer>a:hover{color:#b23c69}footer .brand-logo{width:105px;height:105px}@media(max-width:650px){.header{justify-content:center;gap:10px;padding-top:12px;padding-bottom:18px}.header .brand-logo{width:104px;height:104px}.universe-icon{width:80px;height:80px;margin-bottom:14px}footer{align-items:center}footer .brand-logo{width:94px;height:94px}}

/* Pastilles des six univers. */
.universe-grid .tag{display:inline-block;background:#d9e6cf;color:#46523b;border-radius:999px;padding:8px 14px;font-size:12px;line-height:1.5;letter-spacing:.2px;max-width:100%}@media(max-width:650px){.universe-grid .tag{font-size:11px;padding:7px 11px}}

/* Pages légales et pied de page commun. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-footer{display:block}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-main .footer-top{font-size:12px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid var(--line);margin-top:24px;padding-top:24px;flex-wrap:wrap}.footer-legal{display:flex;gap:12px 26px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.site-footer .footer-credit{display:block;font-size:12px;margin:0}.footer-credit a,.footer-legal a{transition:color .2s}.footer-credit a:hover,.footer-legal a:hover{color:var(--rose);text-decoration:underline;text-underline-offset:4px}
.legal-page{max-width:1000px;margin:auto;padding:48px 6% 90px}.legal-back{font-size:14px;color:var(--olive);text-decoration:underline;text-underline-offset:4px}.legal-heading{padding:35px 0 36px;border-bottom:1px solid var(--line)}.legal-heading h1{font-size:clamp(36px,4.6vw,60px);line-height:1.18;letter-spacing:-1.5px;margin:20px 0}.legal-heading>p{color:var(--muted);max-width:660px}.legal-heading .legal-date{font-size:13px;margin-top:17px}.legal-content section{padding-top:34px;scroll-margin-top:30px}.legal-content h2{font-size:28px;line-height:1.35;letter-spacing:-.4px;margin:0 0 16px}.legal-content p,.legal-content li{font-size:16px;line-height:1.85;color:var(--muted)}.legal-content p+p{margin-top:16px}.legal-content strong{font-weight:600;color:var(--ink)}.legal-content a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-content a:hover{color:var(--rose)}.legal-content ul{padding-left:24px;margin:14px 0}.legal-content li+li{margin-top:7px}.legal-details{margin:0 0 20px}.legal-details>div{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.legal-details dt{font-weight:500;font-size:15px}.legal-details dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.legal-content .legal-notice{padding:15px 20px;background:var(--pale);border-radius:6px;margin:20px 0}
@media(max-width:650px){.footer-main{gap:16px}.footer-signature{display:none}.footer-bottom{display:block;margin-top:18px;padding-top:20px}.footer-legal{gap:12px 20px;font-size:13px}.site-footer .footer-credit{margin-top:19px;font-size:12px}.legal-page{padding:30px 7% 55px}.legal-heading{padding-top:25px}.legal-heading h1{font-size:36px;letter-spacing:-.8px;overflow-wrap:anywhere}.legal-content h2{font-size:25px}.legal-details>div{grid-template-columns:1fr;gap:4px}.legal-content section{padding-top:29px}}
