@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--paper:#fffaf5;--cream:#f6eee6;--ink:#342b28;--muted:#766963;--rose:#b98476;--terra:#9c675a;--terra2:#845449;--sage:#788274;--line:#e7d9cf;--dark:#332c29;--shadow:0 24px 70px rgba(65,43,36,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}
/* Ombres végétales : vrais SVG intégrés, floutés et animés. */
.leaf-atmosphere{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.leaf{position:absolute;display:block;width:430px;height:600px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20500%20700%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke%3D%27%25235f665a%27%20stroke-width%3D%279%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.78%27%3E%0A%3Cpath%20d%3D%27M430%200%20C390%20150%20320%20245%20235%20350%20C160%20445%20105%20555%2070%20700%27%2F%3E%0A%3Cpath%20d%3D%27M330%20225%20C390%20200%20435%20160%20468%20112%27%2F%3E%3Cpath%20d%3D%27M270%20310%20C205%20278%20162%20232%20132%20180%27%2F%3E%3Cpath%20d%3D%27M210%20390%20C270%20382%20325%20348%20365%20300%27%2F%3E%3Cpath%20d%3D%27M155%20500%20C100%20472%2065%20430%2040%20385%27%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%27%25235f665a%27%20opacity%3D%27.78%27%3E%0A%3Cellipse%20cx%3D%27458%27%20cy%3D%2796%27%20rx%3D%2728%27%20ry%3D%2758%27%20transform%3D%27rotate%2838%20458%2096%29%27%2F%3E%0A%3Cellipse%20cx%3D%27405%27%20cy%3D%27164%27%20rx%3D%2727%27%20ry%3D%2755%27%20transform%3D%27rotate%2855%20405%20164%29%27%2F%3E%0A%3Cellipse%20cx%3D%27132%27%20cy%3D%27170%27%20rx%3D%2728%27%20ry%3D%2758%27%20transform%3D%27rotate%28-42%20132%20170%29%27%2F%3E%0A%3Cellipse%20cx%3D%27174%27%20cy%3D%27235%27%20rx%3D%2727%27%20ry%3D%2755%27%20transform%3D%27rotate%28-55%20174%20235%29%27%2F%3E%0A%3Cellipse%20cx%3D%27365%27%20cy%3D%27292%27%20rx%3D%2729%27%20ry%3D%2760%27%20transform%3D%27rotate%2846%20365%20292%29%27%2F%3E%0A%3Cellipse%20cx%3D%27312%27%20cy%3D%27350%27%20rx%3D%2727%27%20ry%3D%2755%27%20transform%3D%27rotate%2862%20312%20350%29%27%2F%3E%0A%3Cellipse%20cx%3D%2742%27%20cy%3D%27376%27%20rx%3D%2729%27%20ry%3D%2760%27%20transform%3D%27rotate%28-38%2042%20376%29%27%2F%3E%0A%3Cellipse%20cx%3D%2792%27%20cy%3D%27450%27%20rx%3D%2727%27%20ry%3D%2755%27%20transform%3D%27rotate%28-55%2092%20450%29%27%2F%3E%0A%3Cellipse%20cx%3D%27185%27%20cy%3D%27430%27%20rx%3D%2728%27%20ry%3D%2758%27%20transform%3D%27rotate%2835%20185%20430%29%27%2F%3E%0A%3Cellipse%20cx%3D%27125%27%20cy%3D%27540%27%20rx%3D%2729%27%20ry%3D%2760%27%20transform%3D%27rotate%28-30%20125%20540%29%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E");background-size:contain;background-repeat:no-repeat;opacity:.075;filter:blur(4px);will-change:transform}
.leaf-a{right:-150px;top:110px;transform-origin:100% 0;animation:leafWindA 12s ease-in-out infinite alternate}
.leaf-b{left:-190px;top:48%;transform:rotate(180deg);opacity:.045;animation:leafWindB 16s ease-in-out infinite alternate}
.leaf-c{right:-220px;bottom:-160px;opacity:.04;transform:rotate(-30deg);animation:leafWindC 19s ease-in-out infinite alternate}
@keyframes leafWindA{0%{transform:rotate(-7deg) translate(0,0)}50%{transform:rotate(-2deg) translate(-12px,10px)}100%{transform:rotate(4deg) translate(-4px,18px)}}
@keyframes leafWindB{0%{transform:rotate(174deg) translate(0,0)}100%{transform:rotate(184deg) translate(14px,-12px)}}
@keyframes leafWindC{0%{transform:rotate(-34deg)}100%{transform:rotate(-25deg) translate(-10px,-8px)}}
.topbar,.site-header,main,.footer{position:relative;z-index:2}
.topbar{min-height:34px;padding:7px 5vw;background:var(--dark);color:#fff;display:flex;justify-content:center;gap:30px;align-items:center;font-size:11px;letter-spacing:.08em}
.site-header{min-height:94px;padding:0 clamp(24px,5vw,86px);display:flex;align-items:center;justify-content:space-between;gap:28px;position:sticky;top:0;z-index:50;background:rgba(255,250,245,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(231,217,207,.75)}
.brand{display:flex;align-items:center;gap:13px;flex:0 0 auto}.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%;box-shadow:0 8px 24px rgba(65,43,36,.12)}.brand b{display:block;font:500 25px 'Playfair Display',serif}.brand small{display:block;margin-top:3px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;align-items:center;gap:clamp(13px,1.45vw,25px);margin-left:auto;font-size:12px;font-weight:500;white-space:nowrap}.nav>a:not(.btn){position:relative;padding:37px 0 30px}.nav>a:not(.btn):after{content:"";position:absolute;left:50%;bottom:24px;width:0;height:1px;background:var(--terra);transform:translateX(-50%);transition:.25s}.nav>a:hover,.nav>a.active{color:var(--terra)}.nav>a:hover:after,.nav>a.active:after{width:100%}.nav-gift:before{content:"✦";margin-right:5px;color:var(--rose)}.nav-toggle{display:none;border:1px solid var(--line);border-radius:50%;background:#fff;width:44px;height:44px;font-size:21px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 24px;border:1px solid transparent;border-radius:999px;background:var(--terra);color:#fff;font-weight:600;box-shadow:0 10px 28px rgba(156,103,90,.22);transition:.28s}.btn:hover{transform:translateY(-2px);background:var(--terra2);box-shadow:0 15px 35px rgba(156,103,90,.28)}.btn-small{min-height:44px;padding:11px 18px}.btn-light{background:#fff;color:var(--ink)}.btn-ghost{background:rgba(255,255,255,.35);color:var(--ink);border-color:rgba(156,103,90,.25);box-shadow:none}
.hero{min-height:735px;display:grid;place-items:center;padding:100px 7vw;text-align:center;position:relative;overflow:hidden;background:radial-gradient(circle at 10% 20%,rgba(232,211,201,.88),transparent 31%),radial-gradient(circle at 91% 14%,rgba(214,224,211,.82),transparent 29%),linear-gradient(145deg,#fbf5ef,#f5e9e1)}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(156,103,90,.13);border-radius:50%}.hero:before{width:560px;height:560px;left:-260px;bottom:-250px}.hero:after{width:410px;height:410px;right:-160px;top:70px}.hero-inner{position:relative;z-index:2;max-width:900px}
.eyebrow{display:inline-block;color:var(--terra);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.hero h1,.page-hero h1{font:500 clamp(54px,7.4vw,102px)/.97 'Playfair Display',serif;letter-spacing:-.045em;margin:22px auto 25px}.hero h1 em{color:var(--terra);font-weight:500}.hero p,.page-hero p{max-width:700px;margin:0 auto 34px;color:var(--muted);font-size:17px}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.actions.left{justify-content:flex-start}
.section{padding:105px 7vw;position:relative}.section.alt{background:rgba(246,238,230,.92)}.section-head{max-width:760px;margin-bottom:52px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section h2,.gift-section h2{font:500 clamp(38px,5vw,64px)/1.08 'Playfair Display',serif;letter-spacing:-.025em;margin:13px 0 19px}.section p{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card,.service{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 14px 45px rgba(80,55,45,.06);transition:.35s}.card:hover,.service:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(185,132,118,.35)}.card .num{font:italic 28px 'Playfair Display';color:var(--rose)}.card h3,.service h3{font:500 28px/1.15 'Playfair Display',serif;margin:14px 0 9px}.card p,.service p{color:var(--muted)}.price,.link,.service-meta{color:var(--terra);font-size:14px;font-weight:600}.service-meta{display:flex;gap:14px;flex-wrap:wrap}
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,6vw,82px);align-items:center}.story-art,.portrait-placeholder{min-height:540px;border-radius:180px 30px 180px 30px;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.38),transparent 27%),linear-gradient(155deg,#d7beb3,#efddd3 47%,#a9b5a6);box-shadow:var(--shadow);display:grid;place-items:center;overflow:hidden}.monogram{font:italic 100px 'Playfair Display',serif;color:rgba(255,255,255,.55)}.portrait-placeholder span{font:italic 58px 'Playfair Display',serif;color:#fff;text-align:center}.portrait-placeholder small{font:500 12px 'DM Sans';letter-spacing:.2em;text-transform:uppercase}
.quote{padding:95px 7vw;text-align:center;background:radial-gradient(circle at 10% 0,rgba(185,132,118,.15),transparent 30%),linear-gradient(135deg,#3d3430,#2d2724);color:#fff}.quote blockquote{font:italic 500 clamp(34px,5vw,60px)/1.15 'Playfair Display',serif;max-width:950px;margin:12px auto 20px}.quote p{opacity:.7}.quote .eyebrow{color:#dcb8ae}
.gift-section{padding:105px 7vw;background:linear-gradient(135deg,#ead9cf,#f8eee7 48%,#dce4d9);text-align:center}.gift-inner{max-width:760px;margin:auto}.gift-inner p{color:var(--muted);margin:0 auto 30px}
.page-hero{padding:105px 7vw 78px;text-align:center;background:radial-gradient(circle at 88% 18%,rgba(174,184,170,.2),transparent 27%),var(--cream)}.page-hero h1{font-size:clamp(50px,7vw,84px)}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.center-actions{text-align:center;margin-top:45px}
.contact-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}.contact-panel{padding:42px;border-radius:30px;background:linear-gradient(145deg,#453a35,#302a27);color:#fff;box-shadow:var(--shadow)}.contact-panel h2{font:500 42px 'Playfair Display',serif}.contact-panel p{color:#ddd2cc}.form{padding:40px;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#fffdfb;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--rose);box-shadow:0 0 0 4px rgba(185,132,118,.11)}.field textarea{min-height:155px;resize:vertical}.hp{position:absolute;left:-9999px}.notice{padding:14px 18px;border-radius:14px;margin-bottom:20px}.success{background:#e8f2e7;color:#39563a}.error{background:#f9e6e2;color:#813f35}
.legal{max-width:900px;margin:auto;padding:45px;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:0 14px 45px rgba(80,55,45,.06)}.legal h2{font:500 32px 'Playfair Display',serif;margin-top:42px}.legal h2:first-child{margin-top:0}.legal p{color:var(--muted)}
.footer{padding:75px 7vw 26px;background:#2f2926;color:#e9dfd9;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:45px}.footer-logo{font:500 35px 'Playfair Display',serif;color:#fff}.footer h3{font:500 20px 'Playfair Display',serif;color:#fff}.footer p{color:#bfb3ad}.footer-bottom{grid-column:1/-1;border-top:1px solid #514742;padding-top:22px;color:#9e918b;font-size:12px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.nav{gap:12px;font-size:11px}}
@media(max-width:900px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 6vw 28px;background:rgba(255,250,245,.99);flex-direction:column;align-items:stretch;gap:0;white-space:normal;box-shadow:0 20px 40px rgba(66,45,38,.09)}.nav.open{display:flex}.nav>a:not(.btn){padding:12px 0;border-bottom:1px solid var(--line)}.nav>a:not(.btn):after{display:none}.nav .btn{margin-top:15px}.grid,.story,.contact-wrap{grid-template-columns:1fr}.services{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}.leaf{opacity:.045}}
@media(max-width:600px){.topbar{justify-content:space-between;gap:8px;font-size:9px;padding:7px 4vw}.site-header{min-height:78px;padding:0 5vw}.brand img{width:48px;height:48px}.brand b{font-size:21px}.brand small{font-size:7px}.hero{min-height:650px;padding:75px 6vw}.hero h1{font-size:clamp(48px,15vw,64px)}.hero p{font-size:15px}.actions{width:100%}.actions .btn{width:100%}.section{padding:75px 6vw}.grid,.form-row{grid-template-columns:1fr}.story-art,.portrait-placeholder{min-height:370px;border-radius:110px 24px}.form,.contact-panel,.legal{padding:27px}.footer{grid-template-columns:1fr;padding:65px 6vw 25px}.footer-bottom{grid-column:1}.leaf-b,.leaf-c{display:none}.leaf-a{right:-245px;top:130px;opacity:.04}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.leaf{animation:none!important}.reveal{opacity:1;transform:none;transition:none}}
