:root{--bg:#070b14;--bg2:#0c1322;--card:#111a2c;--green:#3ee27a;--green2:#22b85a;--blue:#3fa4ef;--orange:#ff8c2a;--text:#eef3fb;--muted:#9fb0c8;--line:#1f2b42}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
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:repeating-linear-gradient(135deg,#ff8c2a 0 18px,#ff9d45 18px 36px);color:#160800;text-align:center;font-weight:800;padding:.75rem 1rem;font-size:1.02rem;letter-spacing:.2px;border-bottom:3px solid #160800}
.id-banner span{display:inline-block;background:#160800;color:#ffb36b;border-radius:6px;padding:0 .5rem;margin-right:.45rem;font-weight:900}
header.nav{position:sticky;top:0;z-index:20;background:rgba(7,11,20,.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.8rem;letter-spacing:1.5px;color:var(--text);text-decoration:none}
.brand b{color:var(--green)}.brand i{font-style:normal;color:var(--blue);font-size:1rem;margin-left:.3rem;letter-spacing:2px}
.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:#04150b;font-weight:800;text-decoration:none;padding:.8rem 1.4rem;border-radius:999px;transition:.2s}
.btn:hover{background:#6ff0a0;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--text);border:2px solid var(--blue)}
.btn.ghost:hover{background:rgba(63,164,239,.15)}
.btn.sm{padding:.5rem 1rem;font-size:.9rem}
.hero{position:relative;min-height:min(90vh,780px);display:grid;place-items:center;text-align:center;padding:4rem 1.2rem;background:linear-gradient(180deg,rgba(7,11,20,.6),rgba(7,11,20,.96)),url(../images/interior-wide.jpg) center/cover}
.hero img.logo{width:min(420px,80vw);margin:0 auto 1.2rem;filter:drop-shadow(0 0 40px rgba(62,226,122,.35))}
.hero .eyebrow{display:inline-block;color:var(--green);border:1px solid var(--green2);background:rgba(62,226,122,.08);border-radius:999px;padding:.25rem .9rem;font-weight:700;font-size:.85rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,7.2vw,5rem);letter-spacing:1.5px;line-height:1;max-width:900px;margin:auto}
.hero h1 em{font-style:normal;color:var(--green)}
.hero p{color:var(--muted);max-width:640px;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(17,26,44,.85);padding:.35rem .8rem;border-radius:999px;font-size:.85rem;color:var(--muted)}
.badge strong{color:var(--green)}.badge.id{border-color:var(--orange);color:#ffd2a8}.badge.id strong{color:var(--orange)}
section{padding:5rem 1.2rem}
section:nth-of-type(even){background:var(--bg2)}
.wrap{max-width:1150px;margin:auto}
.kicker{color:var(--blue);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}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.split img{border-radius:18px;border:1px solid var(--line);max-height:520px;width:100%;object-fit:cover}
.hydro{background:radial-gradient(1000px 400px at 10% 0%,rgba(62,226,122,.14),transparent 60%),var(--bg2)!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hydro .tag,.card.feature .tag{display:inline-block;font-size:.72rem;font-weight:800;background:var(--green);color:#04150b;padding:.15rem .55rem;border-radius:6px;letter-spacing:1px}
.hydro h2 span{color:var(--green)}
.hydro ul{list-style:none;margin:1.4rem 0;display:grid;gap:.6rem}
.hydro li{padding-left:1.8rem;position:relative;color:var(--text)}
.hydro li:before{content:"🌱";position:absolute;left:0}
.hydro-art{aspect-ratio:4/3;border-radius:18px;border:1px solid var(--green2);background:linear-gradient(160deg,#10301f,#0b1626);display:grid;place-items:center;text-align:center;padding:2rem}
.hydro-art .big{font-size:5rem;line-height:1}.hydro-art p{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:1.5px;color:var(--green);margin-top:.6rem}.hydro-art small{color:var(--muted)}
.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(--blue);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,#122c20,#101a2a)}
.note{margin-top:1.6rem;font-size:.85rem;color:var(--muted);border-left:3px solid var(--orange);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 figure.wide{grid-column:span 2;aspect-ratio:auto}
.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:#ffc94a;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:440px;border:0;display:block}
.id-callout{margin:1.5rem 0;background:#2a1606;border:2px solid var(--orange);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(--orange);line-height:1;border:3px solid var(--orange);border-radius:12px;padding:.3rem .6rem}
.id-callout strong{display:block;font-size:1.12rem}
.id-callout span{color:#ffd2a8;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.05rem;word-break:break-word}
footer{background:#04070d;border-top:1px solid var(--line);padding:2.5rem 1.2rem 6rem;color:var(--muted);font-size:.88rem;text-align:center}
footer .warn{display:inline-block;color:#160800;background:var(--orange);font-weight:800;margin-bottom:1rem;padding:.5rem 1rem;border-radius:10px}
footer p{margin:.25rem 0}
.callbar{display:none}
@media(max-width:860px){
 .nav-links{display:none}
 .split,.visit{grid-template-columns:1fr}
 .gallery{grid-template-columns:repeat(2,1fr)}
 section{padding:3.5rem 1.1rem}
 .id-banner{font-size:.92rem}
 .hero .eyebrow{font-size:.72rem;letter-spacing:1px}
 .callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;gap:.5rem;padding:.6rem;background:rgba(4,7,13,.96);border-top:1px solid var(--line)}
 .callbar a{flex:1;text-align:center}
}
