
:root{--bg:#fafaf7;--fg:#23120a;--muted-bg:#f1ece2;--muted:#7a6f5e;--border:#e6dfd1;--card:#ffffff;--primary:#7a2a1c;--primary-fg:#ffffff;--accent:#c47a3a;--radius:.5rem}
*{box-sizing:border-box;border-color:var(--border)}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,serif;letter-spacing:-.02em;margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.container{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.prose-container{max-width:48rem;margin:0 auto;padding:3.5rem 1.5rem}
.prose h2{margin:2.5rem 0 .75rem;font-size:1.5rem;font-weight:600}
.prose h3{margin:1.5rem 0 .5rem;font-size:1.125rem;font-weight:600}
.prose p{margin:1rem 0;color:rgba(35,18,10,.85)}
.prose ul{margin:1rem 0;padding-left:1.5rem;color:rgba(35,18,10,.85)}
.prose li{margin:.25rem 0}
.prose a{color:var(--primary);text-decoration:underline}
header.site{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--border);background:rgba(250,250,247,.85);backdrop-filter:blur(8px)}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;max-width:72rem;margin:0 auto}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:"Playfair Display",serif;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
.brand-name span{color:var(--primary)}
.brand-tag{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-top:2px}
nav.primary{display:none;gap:2rem}
nav.primary a{font-size:.875rem;font-weight:500;color:rgba(35,18,10,.8);transition:color .15s}
nav.primary a:hover,nav.primary a.active{color:var(--primary)}
.cta{display:none;border-radius:9999px;background:var(--primary);color:var(--primary-fg);padding:.5rem 1rem;font-size:.75rem;font-weight:600}
.cta:hover{opacity:.9}
nav.mobile{display:flex;justify-content:center;gap:1.25rem;border-top:1px solid var(--border);padding:.5rem 0}
nav.mobile a{font-size:.75rem;font-weight:500;color:rgba(35,18,10,.7)}
nav.mobile a.active{color:var(--primary)}
@media(min-width:768px){nav.primary{display:flex}.cta{display:inline-flex}nav.mobile{display:none}}
main{min-height:60vh}
footer.site{margin-top:5rem;border-top:1px solid var(--border);background:rgba(241,236,226,.4)}
.footer-grid{display:grid;gap:2.5rem;padding:3rem 1.5rem;max-width:72rem;margin:0 auto}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-brand{grid-column:span 2 / span 2}
.footer-brand h3{font-size:1.125rem;font-weight:600;margin-bottom:.75rem}
.footer-brand p.desc{max-width:24rem;font-size:.875rem;color:var(--muted);margin:0 0 1rem}
.footer-brand p.meta{font-size:.75rem;color:var(--muted);margin:.25rem 0}
.footer-brand a{color:inherit}
.footer-brand a:hover{color:var(--primary)}
.footer-col h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.75rem}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin:.5rem 0;font-size:.875rem;color:var(--muted)}
.footer-col a:hover{color:var(--primary)}
.copyright{border-top:1px solid var(--border);padding:1.25rem;text-align:center;font-size:.75rem;color:var(--muted)}
.page-header{border-bottom:1px solid var(--border);background:rgba(241,236,226,.3)}
.page-header-inner{max-width:56rem;margin:0 auto;padding:4rem 1.5rem;text-align:center}
.eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.25em;color:var(--primary);margin:0 0 .75rem}
.page-header h1{font-size:2.5rem;font-weight:600}
@media(min-width:768px){.page-header h1{font-size:3rem}}
.subtitle{max-width:42rem;margin:1rem auto 0;color:var(--muted);font-size:1rem}
.hero{border-bottom:1px solid var(--border);overflow:hidden;position:relative}
.hero-grid{display:grid;gap:3rem;max-width:72rem;margin:0 auto;padding:4rem 1.5rem;align-items:center}
@media(min-width:768px){.hero-grid{grid-template-columns:1fr 1fr;padding:6rem 1.5rem}}
.hero h1{font-size:3rem;line-height:1.05;font-weight:600;margin-top:1rem}
@media(min-width:768px){.hero h1{font-size:3.75rem}}
.hero p.lead{margin-top:1.25rem;max-width:28rem;color:var(--muted)}
.hero-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.btn{display:inline-flex;border-radius:9999px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600}
.btn-primary{background:var(--primary);color:var(--primary-fg)}
.btn-primary:hover{opacity:.9}
.btn-outline{border:1px solid var(--border);background:var(--bg)}
.btn-outline:hover{background:var(--muted-bg)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.875rem}
.stats dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.stats dd{font-family:"Playfair Display",serif;font-size:1.5rem;margin:.25rem 0 0}
.hero-img-wrap{position:relative}
.hero-img{aspect-ratio:4/5;overflow:hidden;border-radius:1rem;border:1px solid var(--border);box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-badge{position:absolute;bottom:-1.25rem;left:-1.25rem;border-radius:.75rem;border:1px solid var(--border);background:var(--card);padding:.75rem 1.25rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.hero-badge p:first-child{font-size:.75rem;color:var(--muted);margin:0}
.hero-badge p:last-child{font-family:"Playfair Display",serif;font-size:1.125rem;margin:.125rem 0 0}
section.block{padding:4rem 1.5rem;max-width:72rem;margin:0 auto}
.block-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2.5rem}
.block-head h2{font-size:1.875rem;font-weight:600;margin-top:.5rem}
@media(min-width:768px){.block-head h2{font-size:2.25rem}}
.view-all{font-size:.875rem;font-weight:600;color:var(--primary);display:none}
.view-all:hover{text-decoration:underline}
@media(min-width:768px){.view-all{display:inline}}
.grid-cards{display:grid;gap:1.5rem}
@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{overflow:hidden;border-radius:.75rem;border:1px solid var(--border);background:var(--card);transition:box-shadow .2s}
.card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.card-img{aspect-ratio:3/4;overflow:hidden;background:var(--muted-bg)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card-img img{transform:scale(1.05)}
.card-body{padding:1.25rem}
.card-meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.card-title{margin-top:.25rem;font-family:"Playfair Display",serif;font-size:1.125rem;font-weight:600}
.features{background:rgba(241,236,226,.4)}
.features-grid{display:grid;gap:2rem;max-width:72rem;margin:0 auto;padding:4rem 1.5rem}
@media(min-width:768px){.features-grid{grid-template-columns:repeat(3,1fr)}}
.feature{border-radius:.75rem;border:1px solid var(--border);background:var(--card);padding:1.5rem}
.feature h3{font-family:"Playfair Display",serif;font-size:1.25rem;font-weight:600}
.feature p{margin-top:.5rem;font-size:.875rem;color:var(--muted)}
.contact-grid{display:grid;gap:2rem;max-width:64rem;margin:0 auto;padding:3.5rem 1.5rem}
@media(min-width:768px){.contact-grid{grid-template-columns:repeat(2,1fr)}}
.contact-card{border-radius:.75rem;border:1px solid var(--border);background:var(--card);padding:2rem}
.contact-card h2{font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:600}
.contact-card .meta{margin-top:.75rem;color:rgba(35,18,10,.85)}
.contact-card .hours{margin-top:1rem;font-size:.875rem;color:var(--muted)}
.contact-card ul{list-style:none;padding:0;margin:.75rem 0 0}
.contact-card li{margin:.75rem 0}
.contact-card .label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.contact-card a.big{font-size:1.125rem;color:var(--primary)}
.contact-card a.big:hover{text-decoration:underline}
.help{margin-top:3rem;text-align:center;font-size:.875rem;color:var(--muted)}
.help a{color:var(--primary)}
.help a:hover{text-decoration:underline}
