:root{--ink:#1e2926;--paper:#f4f0e7;--sand:#d8c3a2;--orange:#c96a34;--green:#1b4a42;--line:rgba(30,41,38,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.55}h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:600;line-height:1.03;margin:0;letter-spacing:-.04em}h2{font-size:clamp(2.35rem,5vw,4.55rem)}p{margin:0 0 1rem}.topbar{height:78px;background:#fbf9f3;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,74px);position:absolute;z-index:4;top:0;width:100%;color:var(--ink)}.brand{color:inherit;text-decoration:none;display:flex;gap:10px;align-items:center;text-transform:uppercase;font-size:10px;letter-spacing:.12em;line-height:1.1}.brand strong{font-size:12px}.brand-mark{border:1px solid currentColor;border-radius:50%;height:37px;width:37px;display:grid;place-items:center;font-weight:700;letter-spacing:0}.topbar nav{display:flex;gap:28px}.topbar nav a,.call-mini{color:inherit;text-decoration:none;font-size:14px}.call-mini{border-bottom:1px solid var(--orange);padding-bottom:3px;font-weight:700}.menu-button{display:none}.hero{min-height:760px;height:100vh;max-height:900px;color:white;position:relative;display:flex;align-items:end;padding:120px clamp(20px,8vw,140px) 112px;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background:url("assets/maison-terminee.webp") center 44%/cover no-repeat;filter:saturate(.78)}.hero-overlay{background:linear-gradient(90deg,rgba(12,27,25,.82),rgba(12,27,25,.40) 54%,rgba(12,27,25,.13)),linear-gradient(0deg,rgba(12,27,25,.42),transparent 50%)}.hero-content{position:relative;max-width:960px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;margin-bottom:17px;color:#f2c597}.eyebrow.dark{color:var(--orange)}h1{font-size:clamp(3.1rem,5vw,5.1rem)}h1 em{font-style:italic;color:#f3cfa3}.hero-text{font-size:clamp(1rem,1.7vw,1.25rem);max-width:540px;margin:26px 0 32px;color:#f7f5ef}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.button{padding:15px 19px;text-decoration:none;font-weight:700;font-size:14px;display:inline-flex;gap:20px;align-items:center}.button-primary{background:var(--orange);color:white}.button-primary span{font-size:20px;line-height:0}.button-quiet{color:white;border:1px solid rgba(255,255,255,.65)}.hero-note{position:absolute;bottom:27px;right:clamp(20px,5vw,74px);z-index:1;display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:9px;letter-spacing:.17em}.hero-note .line{height:1px;width:55px;background:rgba(255,255,255,.7)}.section-wrap{max-width:1190px;margin:auto;padding-left:28px;padding-right:28px}.intro{padding-top:115px;padding-bottom:108px}.split-title{display:grid;grid-template-columns:1.5fr .72fr;gap:70px;align-items:end}.split-title p{font-size:17px;line-height:1.6;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:72px;padding-top:24px;gap:20px}.stats div{display:flex;flex-direction:column;gap:3px}.stats strong{font-family:"Playfair Display",serif;font-size:34px;color:var(--orange);font-weight:600}.stats span{font-size:13px}.services{background:var(--green);color:#fff;padding:112px 0}.services h2{margin-bottom:58px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid rgba(255,255,255,.18)}.service-grid article{border-top:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18);padding:25px 25px 34px;min-height:205px}.service-grid article:nth-child(n+4){border-bottom:1px solid rgba(255,255,255,.18)}.service-grid span{font-size:12px;color:#f2c597}.service-grid h3{font-family:"Playfair Display",serif;font-size:24px;margin:26px 0 9px;font-weight:600}.service-grid p{font-size:14px;color:#d6e0de;margin:0}.craft{padding-top:122px;padding-bottom:122px;display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}.craft-picture{height:535px;overflow:hidden}.craft-picture img{width:100%;height:100%;object-fit:cover}.craft-copy p:not(.eyebrow){font-size:17px;line-height:1.65;max-width:470px}.craft-copy h2{font-size:clamp(2.2rem,4.2vw,4rem);margin-bottom:27px}.portfolio{background:#eadfcb;padding:112px 0}.portfolio-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:49px}.portfolio-head>p{max-width:310px;margin:0;line-height:1.6}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:15px}.gallery-card{position:relative;border:0;padding:0;overflow:hidden;background:#273630;color:#fff;cursor:pointer;text-align:left}.gallery-card.large{grid-column:span 2;grid-row:span 2}.gallery-card.wide{grid-column:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.gallery-card:hover img{transform:scale(1.04)}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.66),transparent 53%)}.gallery-card span{position:absolute;z-index:1;bottom:17px;left:18px;right:18px;display:flex;justify-content:space-between;font-size:14px;font-weight:700}.gallery-card b{font-size:19px}.method{padding-top:115px;padding-bottom:115px}.method>h2{margin-bottom:55px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.steps div{border-top:1px solid var(--line);padding-top:19px}.steps b{font-family:"Playfair Display",serif;color:var(--orange);font-size:25px}.steps h3{font-family:"Playfair Display",serif;font-size:26px;margin:23px 0 6px}.steps p{font-size:15px}.contact{padding:112px 0;background:var(--orange);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:clamp(3rem,5vw,5.2rem);margin-bottom:25px}.contact-grid>div>p:not(.eyebrow){max-width:410px;font-size:17px}.contact-links{border-top:1px solid rgba(255,255,255,.45)}.contact-links a{border-bottom:1px solid rgba(255,255,255,.45);color:#fff;text-decoration:none;display:grid;grid-template-columns:1fr auto;align-items:center;padding:17px 0}.contact-links small{font-size:11px;text-transform:uppercase;letter-spacing:.14em;grid-column:1}.contact-links strong{font-size:16px;grid-column:1}.contact-links span{grid-column:2;grid-row:1 / 3;font-size:22px}footer{min-height:120px;background:#153b35;color:#fff;padding:28px clamp(20px,5vw,74px);display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:12px}footer p{margin:0;color:#c5d3d0}dialog{border:0;background:rgba(12,20,19,.96);max-width:100vw;width:100vw;height:100vh;padding:35px;align-items:center;justify-content:center;flex-direction:column;color:white}dialog[open]{display:flex}dialog img{max-height:82vh;max-width:90vw;object-fit:contain}dialog p{font-size:14px;margin:12px 0 0}dialog button{position:absolute;top:20px;right:30px;border:0;background:transparent;color:white;font-size:42px;cursor:pointer}@media(max-width:760px){.topbar{height:70px}.topbar nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fbf9f3;padding:20px;flex-direction:column;gap:15px}.topbar nav.open{display:flex}.menu-button{display:block;border:0;background:none;color:var(--ink);font:inherit;font-size:13px}.call-mini{display:none}.hero{min-height:690px;padding:160px 25px 102px}.hero-image{background-position:57% center}.hero-note{left:25px;right:auto;font-size:8px}.split-title,.craft,.contact-grid{grid-template-columns:1fr;gap:30px}.intro{padding-top:75px;padding-bottom:75px}.stats{margin-top:43px;gap:10px}.stats strong{font-size:27px}.stats span{font-size:11px}.services,.portfolio,.contact{padding:75px 0}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:nth-child(n+4){min-height:0;border-bottom:1px solid rgba(255,255,255,.18)}.craft{padding-top:75px;padding-bottom:75px}.craft-picture{height:350px;order:2}.portfolio-head{display:block;margin-bottom:33px}.portfolio-head>p{margin-top:21px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-card.large{grid-column:span 2;grid-row:span 2}.gallery-card.wide{grid-column:span 2}.steps{grid-template-columns:1fr;gap:20px}.method{padding-top:75px;padding-bottom:75px}footer{align-items:flex-start;flex-direction:column}footer p{font-size:11px}}
