
:root{
  --taupe:#A98E90; --taupe-700:#877178; --taupe-800:#6D5C61;
  --cream:#FFF9F4; --white:#FFFFFF; --black:#111111;
  --radius:16px; --border:#E8DCD6; --shadow:0 10px 30px rgba(0,0,0,.08); --maxw:1200px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--taupe-800);font-family:'Playfair Display', Georgia, 'Times New Roman', serif;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--taupe-800);text-decoration:none}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.section{padding:4rem 0}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}
.grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:980px){.grid{grid-template-columns:1.05fr 1fr}}
.grid-cards{display:grid;gap:1.2rem;grid-template-columns:repeat(1,minmax(0,1fr))}
@media(min-width:640px){.grid-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:clip;box-shadow:var(--shadow);display:flex;flex-direction:column}
.card .body{padding:1rem;display:flex;gap:.8rem;align-items:center;justify-content:space-between}
.card .title{font-family:'Work Sans', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;font-weight:700;color:var(--taupe-800)}
.card .sub{color:var(--taupe-700);font-size:.95rem}
.mosaic{display:grid;gap:10px;grid-template-columns:repeat(6,1fr)}
.mosaic figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:var(--white)}
.m1{grid-column:span 3;aspect-ratio:3/2}
.m2{grid-column:span 2;aspect-ratio:2/3}
.m3{grid-column:span 1;aspect-ratio:1/1}
@media(max-width:720px){.mosaic{grid-template-columns:repeat(2,1fr)}.m1,.m2,.m3{grid-column:span 1;aspect-ratio:1/1}}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.1rem;border-radius:999px;background:var(--taupe);color:var(--white);border:1px solid var(--taupe-700);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(0,0,0,.15)}
.btn.alt{background:var(--white);color:var(--taupe-800);border-color:var(--border)}
.chip{display:inline-block;padding:.35rem .6rem;border:1px solid var(--border);border-radius:999px;font-size:.85rem;color:var(--taupe-700);background:var(--white)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,249,244,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;gap:.6rem;align-items:center;font-family:'Work Sans', system-ui; font-weight:700; letter-spacing:.02em; color:var(--taupe-800)}
.site-nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.site-footer{border-top:1px solid var(--border);padding:2rem 0 4rem;color:var(--taupe-700)}
.footer-grid{display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:840px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.hero .copy .claim{font-family:'Work Sans', system-ui; font-weight:700; color:var(--taupe-800)}
.lead{color:var(--taupe-700)}
.hero .grid .ph{border:1px dashed var(--border);border-radius:16px;min-height:280px;display:flex;align-items:center;justify-content:center;color:var(--taupe-700);background:var(--white)}
.small{font-size:.9rem;color:var(--taupe-700)}
