:root{--bg:#fffaf8;--fg:#3a2430;--muted:#86707a;--primary:#c2457a;--gold:#b8904f;--blush:#fbe9ee;--card:#fff;--border:#f0dde3}
*{box-sizing:border-box}body{margin:0;font-family:Karla,sans-serif;background:var(--bg);color:var(--fg)}
h1,h2,.logo{font-family:"Cormorant Garamond",serif;font-weight:600;margin:0}h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1}h2{font-size:2rem}
a{color:inherit;text-decoration:none}em{color:var(--primary)}.muted{color:var(--muted)}
.wrap{max-width:72rem;margin:auto;padding:0 1.25rem}.narrow{max-width:32rem;margin:auto;padding:0 1.25rem}.pad{padding-top:4rem;padding-bottom:4rem}.center{text-align:center}
header{position:sticky;top:0;background:#fffaf8dd;backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:9}
.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;flex-wrap:wrap;gap:.5rem}.logo{font-size:1.6rem;color:var(--primary)}.logo span{color:var(--gold)}
nav{display:flex;gap:1.2rem;font-size:.9rem}nav a{color:var(--muted)}nav a:hover,nav a.active{color:var(--primary)}
.blush{background:var(--blush)}.hero{padding:4rem 1.25rem}.eyebrow{color:var(--gold);letter-spacing:.25em;text-transform:uppercase;font-size:.8rem}
.grid2,.grid3{display:grid;gap:2rem;align-items:center}@media(min-width:768px){.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}}
.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2rem;box-shadow:0 20px 50px -20px #c2457a55}
.card{background:var(--card);border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;box-shadow:0 10px 30px -15px #c2457a33;display:flex;flex-direction:column;align-self:stretch}
.card.link{padding:0;overflow:hidden}.card.link img{width:100%;aspect-ratio:4/3;object-fit:cover}.card.link div{padding:1.75rem}
.tag{font-size:.75rem;color:var(--gold);text-transform:uppercase;letter-spacing:.15em}.chip{background:var(--blush);border-radius:99px;padding:.2rem .7rem;font-size:.75rem;margin-right:.4rem}
.btn{display:inline-block;background:var(--primary);color:#fff;border:0;border-radius:99px;padding:.8rem 1.6rem;font:600 1rem Karla,sans-serif;cursor:pointer;margin-top:1rem}
.btn.outline{background:transparent;color:var(--primary);border:1px solid var(--primary)}.row .btn{margin-right:.6rem}.full{width:100%}.grow{flex:1}
form label{display:block;margin-top:1rem;font-size:.9rem}input{display:block;width:100%;margin-top:.3rem;padding:.7rem;border:1px solid var(--border);border-radius:.6rem;font:inherit}
.err{color:#b42318;min-height:1em}footer{margin-top:6rem;border-top:1px solid var(--border);background:var(--blush)}.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:2rem 1.25rem;color:var(--muted);font-size:.9rem}
