@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');:root{--ink:#271e1a;--cream:#f6f2eb;--beige:#e9dfd2;--warm:#b17a55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}.site-header{height:86px;display:flex;justify-content:space-between;align-items:center;padding:0 5%;border-bottom:1px solid #d8cec2;background:var(--cream);position:sticky;top:0;z-index:10}.brand{font-weight:700;font-size:29px;letter-spacing:.08em;line-height:.8}.brand span{color:#af8062}.brand small{display:block;font-size:8px;letter-spacing:.32em;margin-top:12px}.site-header nav{display:flex;gap:38px;align-items:center;font-size:12px;font-weight:600}.nav-cta{border:1px solid var(--ink);padding:15px 19px}.nav-cta span{margin-left:16px}.mobile-toggle{display:none}.hero{display:grid;grid-template-columns:51% 49%;min-height:680px}.hero-copy{padding:88px 7% 28px 10%;display:flex;flex-direction:column}.eyebrow,.kicker{font-size:10px;font-weight:700;letter-spacing:.22em}.dot{display:inline-block;width:7px;height:7px;background:#b48b64;border-radius:50%;margin-right:10px}.hero h1{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(64px,7vw,116px);letter-spacing:-.06em;line-height:1.05;margin:40px 0 26px}.hero h1 em,h2 em,.statement em{font-weight:400;color:#a77756}.hero-copy>p{max-width:440px;font-size:15px;line-height:1.9;color:#62544a}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:27px}.btn{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;padding:19px 24px;border:0;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700}.btn-dark{background:var(--ink);color:white}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #b9a998;padding-bottom:8px}.hero-footer{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:40px;font-size:9px;letter-spacing:.13em;color:#9c8b7f}.hero-visual{position:relative;min-height:680px;background:#d7c6b3}.hero-visual>img{height:100%}.photo-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;background:#251d18c9;color:white;padding:22px 27px;font-size:9px;letter-spacing:.13em}.intro{text-align:center;padding:110px 20px 120px;max-width:970px;margin:auto}.intro h2,.section-heading h2,.contact h2{font-family:'Playfair Display',serif;font-weight:400;letter-spacing:-.04em;line-height:1.22;font-size:clamp(40px,5vw,70px);margin:25px 0}.intro>p:last-child{font-size:15px;color:#74665a;max-width:660px;line-height:1.9;margin:25px auto}.offer{padding:100px 5%;background:#eae1d6}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{background:var(--cream)}.service img{height:280px}.service-text{padding:22px}.service h3{font-family:'Playfair Display',serif;font-size:25px;font-weight:500;margin:0 0 10px}.service p{color:#74665a;line-height:1.7;font-size:12px}.statement{background:#30231d;color:#e7d7c7;text-align:center;padding:90px 15%}.statement span{font-size:10px;letter-spacing:.24em}.statement p{font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,58px);line-height:1.35}.gallery-section{padding:100px 5%}.gallery-intro{max-width:300px;color:#75665a;font-size:14px;line-height:1.8}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-item{margin:0;overflow:hidden;background:#eee6dd}.gallery-item img{height:240px;transition:transform .35s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item figcaption{font-size:11px;padding:12px 14px;min-height:45px;color:#635449}.contact{background:#d8c4b1;padding:105px 7%;display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact>div>p:not(.kicker){line-height:1.85;color:#625144}.contact-note{font-size:12px}form{display:flex;flex-direction:column;gap:9px}form label{font-size:11px;font-weight:700;margin-top:8px}input,textarea{width:100%;background:#f9f6f0;border:1px solid #b9a18c;border-radius:0;padding:15px;font:inherit;font-size:13px}form .btn{margin-top:12px;background:var(--ink);color:white}form small{font-size:10px;line-height:1.5;color:#6a5648}footer{background:#271e1a;color:#f7eee4;padding:60px 5% 30px}.footer-brand{font-size:32px;font-weight:700;letter-spacing:.06em}.footer-brand span{font-size:11px;letter-spacing:.3em}footer p{color:#cbbbae}.footer-links{display:flex;gap:35px;margin:35px 0;font-size:12px}footer small{font-size:10px;color:#b9a99a}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{padding:60px 7%}.hero-visual{min-height:460px;height:460px}.service-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr;gap:40px}.site-header nav{gap:15px}}@media(max-width:620px){.site-header{height:70px}.mobile-toggle{display:block;border:0;background:none;font-size:26px}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;padding:25px;background:var(--cream);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.hero h1{font-size:70px}.hero-copy{padding:55px 7% 30px}.hero-visual{min-height:330px;height:330px}.hero-footer{font-size:8px}.intro,.offer,.gallery-section{padding:70px 6%}.section-heading{display:block}.service-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:9px}.gallery-item img{height:150px}.gallery-item figcaption{font-size:10px}.contact{padding:70px 6%}.statement{padding:65px 8%}}
/* V2 : cadrage premium des visuels */
.hero-visual>img{object-position:center center}
.service img{object-position:center center}
.service:first-child img{object-fit:cover}
.gallery-item figcaption{font-weight:500;letter-spacing:.015em}
@media(min-width:901px){.hero-visual{min-height:680px}}

/* V3 : typographie et présentation haut de gamme */
.hero h1{font-size:clamp(43px,4.65vw,78px);line-height:1.12;letter-spacing:-.045em}
.hero-copy{justify-content:center;padding-top:55px;padding-bottom:55px}
.hero h1 em{color:#9c6748}
.service img{transition:transform .35s ease}
.service:hover img{transform:scale(1.025)}
@media(max-width:760px){.hero h1{font-size:clamp(40px,10vw,58px)}.hero-copy{padding-top:55px}}

/* Pages 2026 */
.inner-hero{padding:95px 7% 75px;background:#e9dfd2}.inner-hero .kicker{color:#825f46}.inner-hero h1{font:400 clamp(46px,6vw,86px)/1.12 'Playfair Display',serif;letter-spacing:-.04em;max-width:1000px;margin:24px 0}.inner-hero p{max-width:720px;line-height:1.9;color:#655449;font-size:16px}.page-wrap{padding:75px 7% 100px;max-width:1500px;margin:auto}.split-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;margin:0 0 85px}.split-feature img{height:440px;border-radius:3px}.split-feature h2,.page-wrap h2{font:400 clamp(35px,4vw,55px)/1.2 'Playfair Display',serif;margin:0 0 22px}.split-feature p,.page-wrap p{line-height:1.85;color:#68584c}.chips{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.chip{padding:11px 17px;border:1px solid #c6b4a2;font-size:12px}.action-row{display:flex;gap:15px;flex-wrap:wrap;margin-top:28px}.action-row a{background:#271e1a;color:white;padding:15px 20px;font-size:12px;font-weight:700}.action-row a.outline{background:transparent;color:#271e1a;border:1px solid #271e1a}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tile{background:#fffaf4;border:1px solid #e5d9cc;overflow:hidden}.tile img{height:240px}.tile div{padding:24px}.tile h3{font:400 28px 'Playfair Display',serif;margin:0 0 12px}.tile p{font-size:13px}.mini-note{padding:22px 25px;background:#eee4d8;border-left:3px solid #9c6748;font-size:13px;line-height:1.8}.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.quote-panel{background:#fffaf5;border:1px solid #ddcbbb;padding:32px}.quote-panel h2{font-size:34px}.quote-panel input,.quote-panel select,.quote-panel textarea{padding:13px;background:#fff;border:1px solid #bda996;width:100%;font:inherit}.quote-panel label{display:block;font-size:12px;font-weight:700;margin:14px 0 7px}.quote-panel .check{display:flex;align-items:center;gap:10px;font-size:13px}.quote-panel .check input{width:auto}.quote-panel button{background:#271e1a;color:white;border:0;padding:16px 20px;cursor:pointer;font:600 13px 'DM Sans',sans-serif;margin-top:18px}.quote-panel button.secondary{background:transparent;color:#271e1a;border:1px solid #271e1a}.quote-document{background:white;padding:35px;border:1px solid #ddd;box-shadow:0 10px 30px #0000000b}.quote-document h2{font:400 38px 'Playfair Display',serif}.quote-document table{border-collapse:collapse;width:100%;margin:20px 0}.quote-document td,.quote-document th{border-bottom:1px solid #ddd;padding:12px 4px;text-align:left;font-size:12px}.quote-document th:last-child,.quote-document td:last-child{text-align:right}.quote-total{font-size:23px;font-weight:700;text-align:right}.quote-document small{color:#655449;line-height:1.7;display:block}.quote-buttons{display:flex;gap:10px;flex-wrap:wrap}.quote-buttons button{flex:1}.legal{font-size:12px;line-height:1.8}.site-header nav{gap:22px}.site-header nav a{white-space:nowrap}@media(max-width:950px){.split-feature,.quote-layout{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr)}.site-header nav{gap:12px;font-size:10px}}@media(max-width:700px){.tiles{grid-template-columns:1fr}.inner-hero{padding:65px 7%}.page-wrap{padding:50px 6%}.split-feature{gap:25px}.split-feature img{height:270px}.quote-panel{padding:20px}.quote-document{padding:20px}.site-header nav{gap:18px;font-size:12px}}@media print{.site-header,.inner-hero,.quote-panel,.quote-buttons,footer,.print-hide{display:none!important}.page-wrap{padding:0;margin:0;max-width:none}.quote-layout{display:block}.quote-document{box-shadow:none;border:0;padding:0}body{background:white}@page{size:A4;margin:18mm}}

.quote-advice{background:#f1e8de;border-left:3px solid #a77756;padding:12px 14px;font-size:12px;line-height:1.6}.quote-panel .check{line-height:1.5}.quote-panel .check input{min-width:16px;min-height:16px;flex-shrink:0}
@media print{.quote-advice{display:none}}
