:root{--bg:#0a0d0b;--bg2:#111712;--card:#151d17;--green:#2ee59d;--green2:#18b87a;--text:#e9f2ec;--muted:#9fb3a7;--line:#22302a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{color:var(--green)}
img{max-width:100%;display:block}
.id-banner{background:var(--green);color:#04150d;text-align:center;font-weight:800;padding:.6rem 1rem;font-size:.98rem;letter-spacing:.2px}
.id-banner span{display:inline-block;background:#04150d;color:var(--green);border-radius:6px;padding:0 .45rem;margin-right:.4rem}
header.nav{position:sticky;top:0;z-index:20;background:rgba(10,13,11,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-inner{max-width:1150px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.2rem;gap:1rem}
.brand{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:1.5px;color:var(--text);text-decoration:none}
.brand b{color:var(--green)}
.nav-links{display:flex;gap:1.2rem;list-style:none}
.nav-links a{color:var(--muted);text-decoration:none;font-weight:600;font-size:.92rem}
.nav-links a:hover{color:var(--green)}
.btn{display:inline-block;background:var(--green);color:#04150d;font-weight:800;text-decoration:none;padding:.8rem 1.4rem;border-radius:999px;transition:.2s}
.btn:hover{background:#5ff2b6;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--text);border:2px solid var(--green)}
.btn.sm{padding:.5rem 1rem;font-size:.9rem}
.hero{position:relative;min-height:min(88vh,760px);display:grid;place-items:center;text-align:center;padding:4rem 1.2rem;background:linear-gradient(180deg,rgba(10,13,11,.55),rgba(10,13,11,.95)),url(../images/interior-glass.jpg) center/cover}
.hero img.logo{width:min(420px,85vw);margin:0 auto 1.2rem;border-radius:18px;box-shadow:0 0 60px rgba(46,229,157,.25)}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,7vw,4.6rem);letter-spacing:2px;line-height:1}
.hero p{color:var(--muted);max-width:620px;margin:1rem auto 1.6rem;font-size:1.1rem}
.hero .ctas{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.badges{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem}
.badge{border:1px solid var(--line);background:rgba(21,29,23,.8);padding:.35rem .8rem;border-radius:999px;font-size:.85rem;color:var(--muted)}
.badge strong{color:var(--green)}
section{padding:5rem 1.2rem}
section:nth-of-type(even){background:var(--bg2)}
.wrap{max-width:1150px;margin:auto}
.kicker{color:var(--green);text-transform:uppercase;letter-spacing:3px;font-weight:700;font-size:.8rem}
h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.2rem,5vw,3.2rem);letter-spacing:1.5px;margin:.2rem 0 1rem}
.lead{color:var(--muted);max-width:720px}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.about-grid img{border-radius:18px;border:1px solid var(--line);max-height:520px;width:100%;object-fit:cover}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;margin-top:2rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.5rem;transition:.2s}
.card:hover{border-color:var(--green2);transform:translateY(-3px)}
.card .ic{font-size:1.9rem}
.card h3{margin:.5rem 0 .3rem;font-size:1.15rem}
.card p{color:var(--muted);font-size:.95rem}
.card.feature{border-color:var(--green2);background:linear-gradient(160deg,#15281e,#121a15)}
.card.feature .tag{display:inline-block;font-size:.7rem;font-weight:800;background:var(--green);color:#04150d;padding:.1rem .5rem;border-radius:6px;letter-spacing:1px}
.note{margin-top:1.6rem;font-size:.85rem;color:var(--muted);border-left:3px solid var(--green);padding-left:.8rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:2rem}
.gallery figure{overflow:hidden;border-radius:14px;border:1px solid var(--line);aspect-ratio:3/4;position:relative}
.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:.5rem .8rem;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:.85rem}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1.5rem}
.review{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.2rem}
.stars{color:var(--green);letter-spacing:2px}
.review p{margin:.4rem 0;font-style:italic}
.review small{color:var(--muted)}
.visit{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:start}
table.hours{width:100%;border-collapse:collapse;margin:1rem 0}
table.hours td{padding:.45rem 0;border-bottom:1px solid var(--line)}
table.hours td:last-child{text-align:right;color:var(--green);font-weight:600}
.map{border-radius:16px;overflow:hidden;border:1px solid var(--line);min-height:380px}
.map iframe{width:100%;height:420px;border:0;display:block}
.id-callout{margin:1.5rem 0;background:#0f2a1d;border:2px solid var(--green);border-radius:16px;padding:1.2rem 1.4rem;display:flex;gap:1rem;align-items:center}
.id-callout .big{font-family:'Bebas Neue',sans-serif;font-size:2.6rem;color:var(--green);line-height:1;border:3px solid var(--green);border-radius:12px;padding:.3rem .6rem}
.id-callout strong{display:block;font-size:1.1rem}
.id-callout span{color:var(--muted);font-size:.95rem}
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.5rem}
.contact-cards a.card{text-decoration:none;color:var(--text);display:block}
.contact-cards .val{color:var(--green);font-weight:700;font-size:1.1rem;word-break:break-word}
footer{background:#060807;border-top:1px solid var(--line);padding:2.5rem 1.2rem 6rem;color:var(--muted);font-size:.88rem;text-align:center}
footer .warn{color:var(--text);font-weight:700;margin-bottom:.6rem}
.callbar{display:none}
@media(max-width:860px){
 .nav-links{display:none}
 .about-grid,.visit{grid-template-columns:1fr}
 .gallery{grid-template-columns:repeat(2,1fr)}
 section{padding:3.5rem 1.1rem}
 .callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;gap:.5rem;padding:.6rem;background:rgba(6,8,7,.96);border-top:1px solid var(--line)}
 .callbar a{flex:1;text-align:center}
}
