*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
:root {
  --bg: #07090c; --bg2: #0c0f14; --bg3: #111520;
  --border: rgba(255,255,255,0.07); --border2: rgba(255,255,255,0.13);
  --ice: #7ee8ff; --ice2: #b8f4ff; --ice-glow: rgba(126,232,255,0.18); --ice-dim: rgba(126,232,255,0.08);
  --fire: #ff7a3d; --jade: #3ddcb0; --oxy: #9b7eff;
  --white: #f0f4f8; --soft: rgba(240,244,248,0.55); --muted: rgba(240,244,248,0.28);
  --cond: 'Barlow Condensed', sans-serif; --body: 'DM Sans', sans-serif;
}
body { background: var(--bg); color: var(--white); font-family: var(--body); font-weight: 300; overflow-x: hidden; }
body::after { content: ''; position: fixed; inset: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E"); pointer-events: none; z-index: 9999; opacity: 0.5; }
a { text-decoration: none; color: inherit; }

nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: 60px; display: flex; align-items: center; padding: 0 40px; gap: 40px; background: rgba(7,9,12,0.88); backdrop-filter: blur(16px); border-bottom: 1px solid var(--border); }
.nav-logo { font-family: var(--cond); font-size: 1.3rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; flex-shrink: 0; }
.nav-logo span { color: var(--ice); }
.nav-links { display: flex; gap: 28px; flex: 1; }
.nav-links a { font-family: var(--cond); font-size: 0.82rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--soft); transition: color 0.2s; }
.nav-links a:hover { color: var(--white); }
.nav-links a.active { color: var(--ice); }
.nav-cta { background: var(--ice); color: var(--bg); font-family: var(--cond); font-size: 0.82rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; padding: 10px 22px; border-radius: 3px; flex-shrink: 0; display: inline-block; transition: background 0.2s; }
.nav-cta:hover { background: var(--ice2); }
.breadcrumb { position: fixed; top: 60px; left: 0; right: 0; z-index: 999; padding: 10px 40px; background: rgba(7,9,12,0.75); backdrop-filter: blur(8px); border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 8px; font-family: var(--cond); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.breadcrumb a { color: var(--muted); }
.breadcrumb-sep { opacity: 0.3; }
.breadcrumb-current { color: var(--ice); }

@keyframes fade-up { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

/* HERO */
.page-hero { padding: 148px 40px 80px; border-bottom: 1px solid var(--border); position: relative; overflow: hidden; }
.page-hero::before { content:''; position:absolute; top:-20%; right:0; width:50vw; height:100vh; background:radial-gradient(ellipse at 80% 40%, rgba(126,232,255,0.08) 0%, transparent 60%); pointer-events:none; }
.hero-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 420px; gap:64px; align-items:center; position:relative; z-index:2; }
.label { display:flex; align-items:center; gap:12px; margin-bottom:22px; opacity:0; animation:fade-up 0.5s ease forwards 0.2s; }
.label-line { width:28px; height:1px; background:var(--ice); }
.label-text { font-family:var(--cond); font-size:0.72rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--ice); }
.page-h1 { font-family:var(--cond); font-size:clamp(3rem,6vw,5.5rem); font-weight:900; line-height:0.92; letter-spacing:-0.02em; text-transform:uppercase; margin-bottom:20px; opacity:0; animation:fade-up 0.6s ease forwards 0.35s; }
.page-h1 em { font-style:italic; color:var(--ice); display:block; }
.page-sub { font-size:1rem; color:var(--soft); line-height:1.7; max-width:480px; opacity:0; animation:fade-up 0.6s ease forwards 0.5s; }

/* Location card */
.loc-card { background:var(--bg2); border:1px solid rgba(126,232,255,0.18); border-radius:8px; padding:32px; opacity:0; animation:fade-up 0.8s ease forwards 0.4s; }
.loc-row { display:flex; gap:16px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--border); }
.loc-row:last-child { border-bottom:none; padding-bottom:0; }
.loc-row:first-child { padding-top:0; }
.loc-icon { font-size:1.1rem; flex-shrink:0; margin-top:2px; }
.loc-title { font-family:var(--cond); font-size:0.72rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.loc-val { font-size:0.88rem; color:var(--white); line-height:1.6; }
.loc-val a { color:var(--ice); }
.loc-val a:hover { text-decoration:underline; }

/* BOOKING SECTION */
.booking-section { padding:96px 40px; }
.booking-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.sec-label { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.sec-line { width:24px; height:1px; background:var(--ice); }
.sec-lbl { font-family:var(--cond); font-size:0.72rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--ice); }
.sec-h2 { font-family:var(--cond); font-size:clamp(2.2rem,4vw,3.2rem); font-weight:900; text-transform:uppercase; letter-spacing:-0.02em; line-height:0.95; margin-bottom:20px; }
.sec-h2 em { color:var(--ice); font-style:normal; }

/* Alteg booking widget area */
.alteg-widget { background:var(--bg2); border:1px solid rgba(126,232,255,0.2); border-radius:8px; padding:40px; text-align:center; min-height:400px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; }
.alteg-logo { font-family:var(--cond); font-size:0.68rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); }
.alteg-cta-big { font-family:var(--cond); font-size:2rem; font-weight:900; text-transform:uppercase; letter-spacing:-0.02em; line-height:0.95; }
.alteg-cta-big em { color:var(--ice); font-style:normal; display:block; }
.alteg-note { font-size:0.82rem; color:var(--soft); line-height:1.65; max-width:300px; }
.btn-primary { background:var(--ice); color:var(--bg); font-family:var(--cond); font-size:1rem; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; padding:16px 36px; border-radius:3px; border:none; cursor:pointer; box-shadow:0 0 32px rgba(126,232,255,0.22); display:inline-block; transition:background 0.2s, transform 0.15s, box-shadow 0.2s; }
.btn-primary:hover { background:var(--ice2); transform:translateY(-2px); box-shadow:0 0 50px rgba(126,232,255,0.35); }

/* Contact info */
.contact-grid { display:flex; flex-direction:column; gap:0; }
.contact-item { padding:22px 0; border-bottom:1px solid var(--border); display:flex; gap:16px; align-items:flex-start; }
.contact-item:last-child { border-bottom:none; }
.ci-icon { font-size:1.2rem; flex-shrink:0; margin-top:2px; }
.ci-title { font-family:var(--cond); font-size:0.78rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.ci-val { font-size:0.9rem; color:var(--white); line-height:1.6; }
.ci-val a { color:var(--ice); }
.ci-val a:hover { text-decoration:underline; }
.ci-note { font-size:0.78rem; color:var(--soft); margin-top:4px; }

/* HOURS */
.hours-section { padding:96px 40px; background:var(--bg2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.hours-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.hours-table { margin-top:32px; }
.hours-row { display:flex; align-items:center; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--border); }
.hours-row:first-child { border-top:1px solid var(--border); }
.hours-day { font-size:0.88rem; color:var(--soft); }
.hours-time { font-family:var(--cond); font-size:1rem; font-weight:800; text-transform:uppercase; letter-spacing:0.04em; }
.hours-time.closed { color:var(--muted); font-weight:600; }

/* Map */
.map-block { background:var(--bg3); border:1px solid var(--border); border-radius:8px; overflow:hidden; margin-top:0; }
.map-embed { position:relative; aspect-ratio:16 / 10; min-height:260px; background:var(--bg3); }
.map-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; filter:grayscale(1) contrast(1.05) brightness(0.9); }
.map-overlay { padding:18px 20px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; border-top:1px solid var(--border); background:rgba(7,9,12,0.92); }
.map-overlay-copy { min-width:0; }
.map-address { font-size:0.82rem; color:var(--white); line-height:1.6; }
.map-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.map-tag { font-family:var(--cond); font-size:0.65rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:4px 10px; border-radius:3px; background:var(--ice-dim); color:var(--ice); }
.map-cta { display:inline-flex; align-items:center; gap:8px; font-family:var(--cond); font-size:0.76rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--ice); white-space:nowrap; }
.map-cta:hover { color:var(--ice2); }

/* SERVICES quick links */
.services-section { padding:96px 40px; border-bottom:1px solid var(--border); }
.services-inner { max-width:1100px; margin:0 auto; }
.svc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:40px; }
.svc-card { background:var(--bg2); padding:32px 24px; position:relative; overflow:hidden; transition:background 0.2s; display:block; }
.svc-card:hover { background:var(--bg3); }
.svc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; transform:scaleX(0); transform-origin:left; transition:transform 0.35s; }
.svc-card:hover::before { transform:scaleX(1); }
.svc-card.ice::before { background:var(--ice); }
.svc-card.fire::before { background:var(--fire); }
.svc-card.jade::before { background:var(--jade); }
.svc-card.oxy::before { background:var(--oxy); }
.svc-icon { font-size:1.4rem; margin-bottom:14px; display:block; }
.svc-name { font-family:var(--cond); font-size:1.1rem; font-weight:900; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:6px; }
.svc-meta { font-family:var(--cond); font-size:0.68rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; margin-bottom:12px; }
.svc-desc { font-size:0.8rem; color:var(--soft); line-height:1.6; margin-bottom:16px; }
.svc-price-row { display:flex; align-items:baseline; gap:4px; }
.svc-price { font-family:var(--cond); font-size:1.3rem; font-weight:900; }
.svc-per-small { font-size:0.72rem; color:var(--muted); }
.svc-arrow { font-family:var(--cond); font-size:0.72rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); position:absolute; bottom:24px; right:20px; }

/* CTA */
.cta-section { padding:120px 40px; text-align:center; position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:80vw; height:60vh; background:radial-gradient(ellipse, rgba(126,232,255,0.07) 0%, transparent 60%); pointer-events:none; }
.cta-big { font-family:var(--cond); font-size:clamp(2rem,5vw,4rem); font-weight:900; text-transform:uppercase; letter-spacing:-0.02em; line-height:0.95; max-width:700px; margin:0 auto 28px; position:relative; }
.cta-big em { color:var(--ice); font-style:normal; display:block; }
.cta-sub { font-size:0.95rem; color:var(--soft); max-width:400px; margin:0 auto 40px; line-height:1.65; }
.cta-row { display:flex; justify-content:center; align-items:center; gap:16px; flex-wrap:wrap; }
.btn-ghost { font-family:var(--cond); font-size:0.88rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--soft); background:none; border:none; cursor:pointer; display:inline-flex; align-items:center; gap:8px; transition:color 0.2s; }
.btn-ghost:hover { color:var(--white); }

footer { background:var(--bg); border-top:1px solid var(--border); padding:30px 40px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.footer-logo { font-family:var(--cond); font-size:1.05rem; font-weight:900; letter-spacing:0.1em; text-transform:uppercase; }
.footer-logo span { color:var(--ice); }
.footer-links { display:flex; gap:22px; flex-wrap:wrap; }
.footer-links a { font-family:var(--cond); font-size:0.72rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); transition:color 0.2s; }
.footer-links a:hover { color:var(--soft); }
.footer-copy { font-size:0.72rem; color:var(--muted); }

@media (max-width:900px) {
  nav { padding:0 20px; gap:14px; }
  .nav-links { display:none; }
  .breadcrumb { padding:8px 20px; }
  .page-hero { padding:130px 24px 60px; }
  .hero-inner, .booking-inner, .hours-inner { grid-template-columns:1fr; gap:40px; }
  .svc-grid { grid-template-columns:1fr 1fr; }
  section, .booking-section, .hours-section, .services-section, .cta-section { padding-left:24px; padding-right:24px; }
  footer { flex-direction:column; align-items:flex-start; }
}
