:root{--primary:#8b6b49;--accent:#d4b483;--dark:#1a1613;--light:#f8f6f2;--muted:#6b7280}
*{box-sizing:border-box}
body{margin:0;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Arial;background:var(--light);color:var(--dark)}
.container{max-width:1160px;margin:0 auto;padding:1rem}
.header{position:sticky;top:0;background:#111111d9;color:#f1f5f9;backdrop-filter:blur(10px);z-index:50}
.header-inner{display:flex;align-items:center;gap:1rem;padding:.75rem 0}
.header img{height:58px}
.header nav a{color:#f1f5f9;text-decoration:none;margin:0 .7rem;padding-bottom:2px;border-bottom:2px solid transparent}
.header nav a:hover{border-bottom-color:var(--accent)}
.hero{position:relative;min-height:64vh;background:url('assets/hero.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.65) 80%)}
.hero .content{position:relative;z-index:1;padding:3rem 0;max-width:1160px;padding-left:1rem;padding-right:1rem}
.hero h1{font-size:3rem;line-height:1.05;margin:.25rem 0}
.btn{display:inline-block;padding:.85rem 1.2rem;border-radius:999px;border:none;cursor:pointer}
.btn-primary{background:var(--accent);color:#111827}
.btn-ghost{background:transparent;border:1px solid #e5e7eb;color:#fff}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr}.hero h1{font-size:2.2rem}}
.card{background:white;border:1px solid #e5e7eb;border-radius:14px;padding:1.2rem;box-shadow:0 8px 18px rgba(0,0,0,.06)}
.section-muted{background:#f2efe9}
blockquote.quote{border-left:4px solid var(--primary);margin:0;padding:.4rem 0 .4rem 1rem;color:#4b5563}
footer{background:#0f0f0f;color:#e5e7eb;padding:2rem 0;margin-top:3rem}
footer img{height:54px}
a.cta{color:var(--primary);text-decoration:none;border-bottom:2px solid var(--primary);padding-bottom:2px}

/* Align hero content left edge to match .container content below */
.hero .hero-pad{
  padding-left: max(1rem, calc((100vw - 1160px)/2 + 1rem));
  padding-right: 1rem;
}
