:root{--bg:#121826;--bg2:#1a2338;--card:#212c45;--gold:#f2a33a;--gold2:#ffc560;--text:#f2f4f8;--muted:#c3cbdb}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.25rem/1.6 Georgia,"Times New Roman",serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold2)}
h1,h2{font-family:"Arial Black",Impact,"Helvetica Neue",Arial,sans-serif;line-height:1.1;margin:0 0 .6em}
h2{font-size:2rem;color:var(--gold);text-align:center;letter-spacing:.02em}
section{padding:3rem 1.25rem;max-width:56rem;margin:0 auto}
.btn{display:inline-block;padding:1.05rem 1.6rem;border-radius:.6rem;font:700 1.3rem/1.2 Arial,Helvetica,sans-serif;text-decoration:none;text-align:center;min-height:3.5rem}
.btn-call{background:var(--gold);color:#1a1006;box-shadow:0 4px 18px rgba(232,165,48,.35)}
.btn-call:hover,.btn-call:focus{background:var(--gold2)}
.btn-map,.btn-fb{background:transparent;color:var(--gold2);border:2px solid var(--gold)}
.btn-fb{background:#1877f2;border-color:#1877f2;color:#fff}
.hero{background:radial-gradient(ellipse at top,#2c3d66 0%,var(--bg) 70%);display:flex;flex-direction:column}
.hero-text{padding:2.25rem 1.25rem 1.5rem;text-align:center}
.kicker{margin:0 0 .4rem;color:var(--gold);font:700 1rem/1 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.hero h1{font-size:2.6rem;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.tagline{font-size:1.35rem;color:var(--muted);margin:0 auto 1.5rem;max-width:30rem}
.hero .btn-call{width:100%;max-width:26rem;font-size:1.4rem}
.hero-img{width:100%;max-height:80vh;object-fit:cover;object-position:50% 30%}
.quote{text-align:center}
blockquote{margin:0;padding:1.75rem 1.25rem;border-left:5px solid var(--gold);background:var(--card);border-radius:.5rem;text-align:left}
blockquote p{margin:0 0 1rem;font-size:1.4rem;font-style:italic}
blockquote footer{color:var(--gold);font-weight:700}
.jam{background:var(--bg2);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);text-align:center;max-width:none}
.jam>*{max-width:40rem;margin-left:auto;margin-right:auto}
.jam-title{font:700 1.7rem/1.25 Arial,sans-serif;color:#fff;margin-top:0}
.big{font-size:1.45rem;margin:.5rem auto}
.welcome{font-weight:700;color:var(--gold2);font-size:1.4rem}
.mini-quotes{list-style:none;padding:0;margin:2rem auto 1rem}
.mini-quotes li{font-style:italic;margin:.75rem 0}
.mini-quotes span,.quote-small span{font-style:normal;color:var(--muted)}
.small{font-size:1rem;color:var(--muted)}
.grid{display:grid;grid-template-columns:1fr;gap:.75rem}
.grid figure{margin:0;border-radius:.5rem;overflow:hidden;background:#000}
.grid img{width:100%;height:100%;object-fit:cover}
.checks{list-style:none;padding:0;margin:0 auto 1.5rem;max-width:26rem}
.checks li{text-align:left;padding:.6rem 0 .6rem 2.2rem;position:relative;font-size:1.35rem;border-bottom:1px solid #2e3a55}
.checks li:before{content:"\266A";position:absolute;left:.3rem;color:var(--gold)}
.book{text-align:center}
.quote-small{font-style:italic;margin:1.5rem auto}
.venues ul{list-style:none;padding:0;margin:0 auto;max-width:34rem}
.venues li{padding:.7rem 0;border-bottom:1px solid #2e3a55}
.venues strong{color:#fff}
.fb{text-align:center}
.site-footer{text-align:center;padding:2.5rem 1.25rem 3rem;background:#0b0f19;border-top:3px solid var(--gold)}
.site-footer p{margin:.4rem 0}
.foot-name{font:700 1.4rem Arial,sans-serif;color:var(--gold)}
.site-footer a[href^="tel"]{font-size:1.5rem;font-weight:700}
@media (min-width:700px){
 body{font-size:1.3rem}
 .hero h1{font-size:3.6rem}
 .grid{grid-template-columns:1fr 1fr}
 .grid .wide{grid-column:span 2}
 .grid .wide img{max-height:34rem}
}
@media (min-width:1000px){
 .hero-text{padding:3rem 2rem 2rem}
 .hero-img{width:min(100%,60rem);max-height:none;margin:0 auto 2.5rem;border-radius:.6rem;box-shadow:0 8px 30px rgba(0,0,0,.5)}
}
.email-line{margin-top:.75rem;font-size:1.05rem;word-break:break-word}
.email-line a{color:inherit;text-decoration:underline}
.travel{color:var(--gold2);font:700 1.1rem/1.3 Arial,sans-serif;letter-spacing:.04em;margin:0 auto 1.25rem}
.tailor{font-size:1.25rem;color:var(--muted);max-width:30rem;margin:0 auto 1.5rem}
.tagline strong{color:#fff}
.grid img{object-position:50% 20%}
