:root{--navy:#14213d;--cream:#f4ecd8;--ink:#1d2433}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}
h1,h2,.brand-name{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.2}
a{color:var(--navy)}.wrap{max-width:1100px;margin:0 auto;padding:2rem 1.25rem}
.site-header{background:var(--navy);color:var(--cream);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--cream)}.logo-icon{width:48px;height:48px}
.brand-name{display:block;color:var(--cream);font-size:1.3rem;letter-spacing:.08em}.brand-tag{display:block;font-size:.7rem;letter-spacing:.2em;opacity:.85}
nav{display:flex;flex-wrap:wrap;gap:1rem}nav a{color:var(--cream);text-decoration:none}nav a[aria-current]{border-bottom:2px solid var(--cream)}
.hero{background-size:cover;background-position:center;color:var(--cream);min-height:60vh;display:flex;align-items:center}
.hero h1{color:var(--cream);font-size:clamp(2rem,5vw,3.4rem);margin:0}.hero .sub{font-size:1.2rem}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.btn{display:inline-block;background:var(--cream);color:var(--navy);border:2px solid var(--navy);padding:.7rem 1.2rem;border-radius:4px;text-decoration:none;font-weight:600;cursor:pointer;font-size:1rem}
main .btn{background:var(--navy);color:var(--cream)}.hero .btn{background:var(--cream);color:var(--navy);border-color:var(--cream)}.btn.alt{background:transparent!important;color:inherit!important}.hero .btn.alt{border-color:var(--cream)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}.gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:4px}
.band{background:var(--navy);color:var(--cream)}.band .btn{background:var(--cream);color:var(--navy)}
.visit,.contact{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.visit iframe{width:100%;min-height:320px;border:0;border-radius:4px}
form label{display:block;margin-bottom:.9rem;font-weight:600}input,textarea{display:block;width:100%;padding:.6rem;font:inherit;border:1px solid #9aa3b5;border-radius:4px;margin-top:.25rem;background:#fff}
#form-status{margin-top:1rem;font-weight:600}
.site-footer{background:var(--navy);color:var(--cream);text-align:center;padding:1.5rem 1rem;font-size:.9rem}.site-footer a{color:var(--cream)}
@media(max-width:720px){.visit,.contact{grid-template-columns:1fr}.brand-name{font-size:1.05rem}}
