
:root{--dark:#14213d;--accent:#e63946;--accent2:#e63946;--pop:#ffd23f;--bg:#fff8ec;--bg2:#e8f4f8;--ink:#2a2420;--grad:linear-gradient(90deg,#e63946,#ff7b54);--glow:rgba(230,57,70,.35);--overlay:linear-gradient(100deg,rgba(20,33,61,.92),rgba(20,33,61,.55) 55%,rgba(230,57,70,.25));--cta:linear-gradient(90deg,#e63946,#ff7b54);--focus:#e63946;--chat-bg:#e63946}
body{font:17px/1.65 Nunito,system-ui,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:Bungee,Georgia,serif;line-height:1.05;margin:0 0 .6rem;font-weight:800}h2{font-size:clamp(2rem,5vw,3rem);color:var(--dark)}h2::after{content:"";display:block;width:64px;height:6px;border-radius:6px;margin-top:12px;background:var(--grad)}
a{color:var(--accent)}.wrap{max-width:1160px;margin:0 auto;padding:0 22px}.eyebrow{font:700 .85rem Nunito;letter-spacing:.18em;text-transform:uppercase;color:var(--accent2);margin:0 0 10px}
.top{position:sticky;top:0;z-index:40;background:var(--dark);color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.2)}.bar{display:flex;justify-content:space-between;align-items:center;height:66px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:800 1.3rem Bungee}.brand .logo{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--grad);font-size:1.3rem}
.nav-toggle{background:none;border:0;color:#fff;font-size:1.6rem}#nav-links{display:none;position:absolute;top:66px;left:0;right:0;background:var(--dark);flex-direction:column;padding:10px 22px 20px}
#nav-links.open{display:flex}#nav-links a{color:#fff;text-decoration:none;font-weight:700;padding:9px 0}#nav-links a.go{background:var(--grad);padding:8px 18px;border-radius:999px;text-align:center}
.btn{display:inline-block;background:var(--grad);color:#fff;text-decoration:none;font-weight:800;padding:14px 24px;border-radius:999px;border:0;cursor:pointer;font-size:1rem;box-shadow:0 10px 26px var(--glow)}.btn.line{background:transparent;border:2px solid #fff;box-shadow:none;color:#fff!important}
.photo-hero h1{font-size:clamp(2.8rem,9vw,5.6rem);color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.45)}.photo-hero h1 span{color:var(--pop)}.lead{font-size:1.18rem;max-width:560px;color:#f3f3f3}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 16px}.stars{color:#ffd166;font-weight:700}.stars span{color:#fff;font-weight:400;font-size:.92rem}
.hero-grid{display:grid;gap:30px;align-items:center}.hero-card{background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:24px;color:#fff}
.hero-card h2{color:#fff;font-size:1.5rem}.hero-card h2::after{display:none}.hero-card ul{list-style:none;margin:0;padding:0}.hero-card li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.3)}
.ribbon{background:var(--grad);color:#fff;overflow:hidden;white-space:nowrap;font:800 1.05rem Bungee;padding:14px 0}.ribbon div{display:inline-block}.ribbon span{margin:0 28px}
section{padding:80px 0}.sec.alt{background:var(--bg2)}.intro{max-width:680px;font-size:1.1rem}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.08)}.card .ex{aspect-ratio:4/3}.card .body{padding:14px 16px 18px}.card h3{font-size:1.15rem;color:var(--dark);margin:0 0 4px}.card p{margin:0;font-size:.95rem}
.mgrid{display:grid;gap:18px;margin-top:24px}.mcol{background:#fff;border-radius:18px;padding:22px 24px;border-top:6px solid var(--accent);box-shadow:0 10px 26px rgba(0,0,0,.06)}.mcol h3{color:var(--accent)}.mcol ul{margin:0;padding-left:18px}.note{font-size:.9rem;opacity:.8;margin-top:16px}
.chips{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.chips li{background:#fff;border-radius:18px;padding:20px;box-shadow:0 10px 26px rgba(0,0,0,.07)}.chips .ci{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--grad);font-size:1.6rem;margin-bottom:10px}.chips b{display:block;color:var(--dark);font-size:1.05rem}.chips small{display:block;opacity:.8;margin-top:4px}
.split{display:grid;gap:30px;align-items:center;margin-top:20px}.splitimg{border-radius:24px;aspect-ratio:4/3;box-shadow:0 20px 50px rgba(0,0,0,.18)}.splittxt p{font-size:1.1rem}
.visit{background:var(--dark);color:#eee}.visit h2,.visit h3{color:#fff}.vgrid{display:grid;gap:34px}address{font-style:normal;font-size:1.2rem}.big{font:800 1.8rem Bungee;color:var(--pop);text-decoration:none}
.hours{width:100%;border-collapse:collapse}.hours caption{text-align:left;font:800 1.7rem Bungee;color:var(--pop);margin-bottom:6px}.hours td{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.2)}.hours td:last-child{text-align:right;font-weight:700}.hnote{font-size:.85rem;opacity:.8}
label{display:block;font-weight:700;font-size:.88rem;margin-bottom:12px}input,textarea,select{width:100%;padding:12px;border:0;border-radius:10px;font:inherit;margin-top:4px}
footer{text-align:center;padding:30px 0 90px;background:#111;color:#ccc;font-size:.92rem}footer a{color:var(--pop)}.small{font-size:.8rem}
@media(min-width:860px){.nav-toggle{display:none}#nav-links{display:flex;position:static;flex-direction:row;padding:0;gap:22px;align-items:center}.hero-grid{grid-template-columns:1.3fr .9fr}.cards{grid-template-columns:repeat(4,1fr)}.cards.c3{grid-template-columns:repeat(3,1fr)}.mgrid{grid-template-columns:repeat(3,1fr)}.chips{grid-template-columns:repeat(4,1fr)}.split{grid-template-columns:1fr 1fr}.vgrid{grid-template-columns:1fr 1fr 1.1fr}}
.rating-sum{font-size:1.15rem;margin:10px 0 0}.ex-badge{font-size:9px!important;opacity:.75;padding:2px 6px!important}
.ribbon{background:repeating-conic-gradient(#111 0 25%,#fff 0 50%) 0 0/28px 28px;color:#111}.ribbon span{background:var(--pop);padding:4px 12px;border-radius:6px}.sec.alt{background-image:radial-gradient(rgba(0,0,0,.05) 2px,transparent 2px);background-size:22px 22px}h1,h2{letter-spacing:.01em;font-weight:400}