:root{
  --yellow:#F7C948; --green:#2E7D32; --red:#C62828;
  --black:#0B0F14; --fg:#F9FAFB; --muted:#C7D2FE;
  --card:#121821; --ring:rgba(247,201,72,.5);
  --max:1100px; --radius:20px; --shadow:0 10px 30px rgba(0,0,0,.3);
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;background:var(--black);color:var(--fg);
     font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin-inline:auto;padding:clamp(14px,2vw,24px)}
.narrow{max-width:760px} .flex{display:flex;gap:16px}
.between{justify-content:space-between} .center{align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}

.skip-link{position:absolute;left:-9999px} .skip-link:focus{left:8px;top:8px;background:#000;color:#fff;padding:8px 12px;border-radius:8px}

.site-header{position:sticky;top:0;z-index:10;background:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.2));
  backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid rgba(255,255,255,.06)}
.site-header .brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)}
.site-nav .nav-toggle{display:none}
.site-nav .nav-list{display:flex;gap:16px;list-style:none;margin:0;padding:0}
.site-nav a{color:var(--fg);text-decoration:none;padding:10px 12px;border-radius:12px}
.site-nav a:hover{background:rgba(255,255,255,.06)}

.hero{position:relative;min-height:72vh;display:grid;place-items:center;text-align:center}
.hero-media{position:absolute;inset:0;background:url('../images/hero.jpg') center/cover no-repeat;filter:brightness(.55)}
.hero-content{position:relative}
.hero h1{font-size:clamp(34px,6vw,64px);line-height:1.05;margin:0 0 12px;color:var(--yellow)}
.hero p{font-size:clamp(16px,2.6vw,22px);margin:0 0 20px;color:#EAF2FF}

.card{background:var(--card);padding:22px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.06)}

.btn{display:inline-block;padding:12px 16px;border-radius:14px;font-weight:700;text-decoration:none;border:2px solid transparent}
.btn:focus{outline:3px solid var(--ring);outline-offset:2px}
.btn-primary{background:var(--yellow);color:#111}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.2);color:var(--fg)}
.btn-secondary{background:var(--green);color:#fff}

.menu-table{width:100%;border-collapse:collapse}
.menu-table th,.menu-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1)}
.menu-table tr:hover{background:rgba(255,255,255,.04)}
.note{color:var(--muted);font-size:.95rem}

.map-embed iframe{width:100%;height:360px;border:0;border-radius:14px}

.site-footer{padding:28px 0;background:#0A0F13;border-top:1px solid rgba(255,255,255,.06)}
.site-footer nav{display:flex;gap:12px;flex-wrap:wrap}
.legal{color:#9FB0C2}

@media (max-width:740px){
  .site-nav .nav-toggle{display:inline-block;background:transparent;border:1px solid rgba(255,255,255,.2);
    color:#fff;padding:8px 10px;border-radius:10px}
  .site-nav .nav-list{display:none}
  .site-nav[aria-expanded="true"] .nav-list{display:flex;flex-direction:column;position:absolute;right:16px;top:58px;
    background:#0B1218;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.08)}
}
::selection{background:var(--yellow);color:#111}
.hidden{display:none!important}
.highlight{color:var(--yellow);background:linear-gradient(90deg,rgba(198,40,40,.2),rgba(46,125,50,.2));padding:2px 6px;border-radius:8px}
@media print{.hero,.site-header,.site-footer{display:none} body{background:#fff;color:#000}}
