
:root{--bg:#faf7f2;--alt:#f0ebe2;--ink:#1c2321;--muted:#6b6f6b;--acc:#1f4d3f;--line:#ddd6c8}
@media(prefers-color-scheme:dark){:root{--bg:#141816;--alt:#1b211e;--ink:#eee9df;--muted:#9aa09a;--acc:#8fc5b0;--line:#2c352f}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Inter,sans-serif}
h1,h2,h3,.logo{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.1;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,5rem)}h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}h3{font-size:1.5rem}
a{color:inherit;text-decoration:none}.muted{color:var(--muted)}
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:var(--bg);border-bottom:1px solid var(--line)}
.logo{font-size:1.8rem;letter-spacing:.04em}nav{display:flex;gap:22px;align-items:center;font-size:.92rem}
.dd{position:relative}.dd button{all:unset;cursor:pointer}.menu{display:none;position:absolute;top:100%;left:-12px;min-width:220px;padding:10px;background:var(--bg);border:1px solid var(--line)}
.dd:hover .menu,.dd:focus-within .menu{display:block}.menu a{display:block;padding:7px 10px}.menu a:hover{color:var(--acc)}
.pill{border:1px solid var(--ink);padding:7px 16px;border-radius:99px}.burger{display:none}
.hero{min-height:78vh;display:flex;align-items:center;gap:40px;padding:64px 32px;background:linear-gradient(135deg,var(--alt),var(--bg))}
.hero>.ht{max-width:640px}.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--acc);margin:0 0 12px}
.lead{font-size:1.15rem;color:var(--muted);max-width:60ch}
.btn{display:inline-block;background:var(--acc);color:var(--bg);padding:13px 26px;border:0;border-radius:2px;font:inherit;cursor:pointer;margin:8px 8px 0 0}
.btn.ghost{background:none;color:var(--ink);border:1px solid var(--ink)}
.sec{padding:80px 32px;max-width:1280px;margin:auto}.alt{background:var(--alt);max-width:none}.alt>*{max-width:1216px;margin-left:auto;margin-right:auto}
.narrow{max-width:760px}.two{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.shead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px}
.card span,.big span{color:var(--acc)}.card p,.big p{color:var(--muted)}
.ph{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:16px;background:var(--alt)}.card:hover .ph,.big:hover .ph{opacity:.92}
.banner{max-width:1280px;margin:16px auto 0;padding:0 32px}.banner img{display:block;width:100%;height:clamp(200px,38vw,440px);object-fit:cover}
.himg{display:block;width:46%;max-width:560px;aspect-ratio:4/3;object-fit:cover;margin-left:auto}
.ph.tall{aspect-ratio:3/2}
.phead{padding:96px 32px 24px;max-width:1280px;margin:auto}
blockquote{margin:0;padding:24px;border-left:2px solid var(--acc);font-family:'Cormorant Garamond',serif;font-size:1.4rem}
.form{display:grid;gap:14px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
input,select,textarea{font:inherit;padding:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);width:100%}
label{font-size:.9rem;color:var(--muted)}label input{width:auto;margin-right:8px}
details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:500}
footer{border-top:1px solid var(--line);padding:56px 32px 24px}.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;max-width:1280px;margin:auto}
footer h4{margin:0 0 10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}footer a{display:block;padding:3px 0}footer .logo{display:inline}
.legal{max-width:1280px;margin:32px auto 0;color:var(--muted);font-size:.85rem}
@media(max-width:860px){.hero{flex-direction:column;align-items:flex-start}.himg{width:100%}.banner{padding:0 16px}.burger{display:block;all:unset;cursor:pointer}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;padding:16px 32px;background:var(--bg);border-bottom:1px solid var(--line)}
.open nav{display:flex}.menu{display:block;position:static;border:0;padding:0 0 0 12px}.two,.row,.fgrid{grid-template-columns:1fr}.top,.sec,.phead,.hero{padding-left:16px;padding-right:16px}}
