:root{--brun:#3d2b21;--sable:#d1b79a;--creme:#faf6ef;--carte:#f7efe3;--texte:#6b4f3f;--accent:#b08a5f;--bord:#e8d9c4}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:400 16px/1.7 Poppins,sans-serif;color:var(--texte);background:var(--creme)}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;color:var(--brun);line-height:1.2}
h1{font-size:clamp(2.4rem,6vw,4.2rem)}h2{font-size:clamp(1.8rem,4vw,2.6rem)}h3{font-size:1.2rem}
a{color:inherit;text-decoration:none}
.script{font-family:Caveat,cursive;font-size:1.6rem;color:var(--accent)}
.wrap{max-width:1140px;margin:auto;padding:0 24px}
.narrow{max-width:760px;margin:auto;text-align:center}
section{padding:80px 0}
.center{text-align:center}.sub{max-width:620px;margin:12px auto 40px}
header{position:fixed;inset:0 0 auto;z-index:10;background:rgba(61,43,33,.92);padding:10px 0}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:Fraunces,serif;color:#fff;background:#fff;padding:2px 8px;border-radius:2px;font-size:1.1rem}
.logo{color:var(--accent)}
nav{display:flex;gap:28px;font-size:.92rem;font-weight:500;color:#fff}
.btn{display:inline-block;padding:12px 28px;border-radius:99px;font-weight:500;font-size:.95rem;border:1px solid transparent}
.btn-sable{background:var(--sable);color:var(--brun)}.btn-brun{background:var(--brun);color:#fff}
.btn-clair{background:var(--creme);color:var(--brun)}
.btn-ligne{border-color:rgba(255,255,255,.5);color:#fff}.btn-ligne2{border-color:var(--bord);color:var(--brun)}
.hero{min-height:100vh;display:grid;place-items:center;text-align:center;color:#fff;padding:120px 24px 60px;background:linear-gradient(rgba(61,43,33,.82),rgba(61,43,33,.82)),url(images/hero.jpg) center/cover var(--brun)}
.hero h1{color:#fff;margin:14px 0 20px}.hero p{max-width:620px;margin:0 auto 32px;font-size:1.1rem}
.hero small{letter-spacing:.2em;text-transform:uppercase;font-size:.8rem}
.btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.band{background:var(--sable);color:#fff}.band h2,.band h3{color:#fff}.band .script{color:#fff;opacity:.9}
.band .card{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}
.page-hero{background:var(--sable);color:#fff;text-align:center;padding:150px 24px 70px}
.page-hero h1{color:#fff}.page-hero .script{font-size:1.9rem;color:#fff}.page-hero p{max-width:620px;margin:16px auto 24px}
.alt{background:var(--carte)}.dark{background:var(--brun);color:#e9ddd0;text-align:center}.dark h2{color:#fff;margin-bottom:14px}
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--carte);border:1px solid var(--bord);border-radius:18px;padding:28px}
.card h3{margin:10px 0}.card p{font-size:.9rem}
.ico{font-size:1.5rem;color:var(--accent)}
.tag{display:inline-block;background:var(--sable);color:#fff;font-size:.75rem;padding:2px 12px;border-radius:99px;margin:12px 6px 0 0}
.kicker{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}
.lien{color:var(--accent);font-size:.9rem}
.dash{border-style:dashed;background:transparent;font-style:italic}
details{background:var(--carte);border:1px solid var(--bord);border-radius:14px;padding:18px 22px;margin-bottom:14px}
summary{font-family:Fraunces,serif;color:var(--brun);cursor:pointer;font-size:1.05rem}
details p{margin-top:10px;font-size:.92rem}
.service{max-width:960px;margin:0 auto 28px;text-align:left}
.service h4{font-family:Fraunces,serif;font-weight:500;color:var(--brun);margin-top:14px}
.service .btns{justify-content:flex-start;margin-top:22px}
.about{display:grid;gap:48px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:center;max-width:960px;margin:auto}
.photo{aspect-ratio:4/5;border-radius:14px;background:url(images/portrait.jpg) center/cover no-repeat,linear-gradient(160deg,#a98363,#c9a888);box-shadow:0 10px 30px rgba(61,43,33,.2)}
footer{padding:60px 0 24px;font-size:.92rem}
footer .grid{grid-template-columns:2fr 1fr 1.2fr}footer h3{margin-bottom:10px;font-size:1rem}
footer li{list-style:none;padding:2px 0}footer ul{padding:0}
.copy{border-top:1px solid var(--bord);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:820px){nav{display:none}footer .grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
