
:root{
  --bg: #0a0f1a;
  --ink: #0a0f1a;
  --ink-2: #334155;
  --brand: #2563eb;
  --brand-2:#60a5fa;
  --paper:#ffffff;
  --paper-2:#f1f5f9;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}
.container{max-width:1120px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--paper-2);z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:800;letter-spacing:.5px}
.logo img{display:block}
nav a{margin:0 8px;text-decoration:none;color:var(--ink-2);font-weight:600}
nav a.cta{color:var(--paper);background:var(--brand);padding:10px 14px;border-radius:10px}
.contact-mini{display:none}
@media (min-width:960px){.contact-mini{display:block;color:var(--ink-2)}.contact-mini a{color:inherit;text-decoration:none} .contact-mini .dot{opacity:.5}}

.hero{background:linear-gradient(180deg,var(--paper),var(--paper-2));padding:48px 0 16px}
.hero-inner{display:grid;gap:28px;align-items:center}
@media (min-width:960px){.hero-inner{grid-template-columns:1.1fr .9fr}}
.hero-copy h1{font-size:40px;line-height:1.1;margin:0 0 12px;font-weight:900}
.hero-copy p{margin:0 0 16px;color:var(--ink-2)}
.actions{display:flex;gap:12px;margin:16px 0 0}
.btn{display:inline-block;padding:11px 16px;border-radius:12px;border:1px solid var(--ink-2);text-decoration:none;color:var(--ink);font-weight:700}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.badges{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:16px 0 0;list-style:none;color:var(--ink-2);font-weight:600}
.hero-media img{width:100%;border-radius:16px;box-shadow:0 10px 30px rgba(2,6,23,.12)}

.section{padding:56px 0}
.section.alt{background:var(--paper-2)}
h2{font-size:28px;margin:0 0 18px}
.grid{display:grid;gap:18px}
.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid var(--paper-2);border-radius:14px;padding:14px}
.card img{width:100%;border-radius:10px}
.card h3{margin:10px 0 6px}

.before-after{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.before-after figure{margin:0}
.before-after img{width:100%;border-radius:12px;border:1px solid var(--paper-2)}
.before-after figcaption{text-align:center;color:var(--ink-2);font-weight:700;margin-top:6px}

.quotes{display:grid;gap:14px}
blockquote{margin:0;padding:14px 16px;background:#fff;border:1px solid var(--paper-2);border-radius:12px}
blockquote span{display:block;color:var(--ink-2);margin-top:6px}

.price-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.price-card{background:#fff;border:1px solid var(--paper-2);border-radius:14px;padding:16px}
.price-card .price{font-size:22px;font-weight:900;margin:6px 0 10px}
.price-card.featured{border:2px solid var(--brand);position:relative}
.price-card.featured:after{content:"Most Popular";position:absolute;top:-10px;right:12px;background:var(--brand);color:#fff;padding:4px 8px;border-radius:8px;font-size:12px;font-weight:800}

.booking-embed{background:#fff;border:1px solid var(--paper-2);border-radius:16px;overflow:hidden}
.contact-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.site-footer{background:var(--bg);color:#e2e8f0;padding:28px 0;margin-top:32px}
.site-footer a{color:#cbd5e1;text-decoration:none}
.foot{display:grid;gap:18px}
@media (min-width:800px){.foot{grid-template-columns:1.2fr .8fr 1fr;align-items:start}}
.copy{opacity:.7}

.back-to-top{position:fixed;bottom:18px;right:18px;border:none;background:var(--brand);color:#fff;width:40px;height:40px;border-radius:999px;box-shadow:0 8px 20px rgba(2,6,23,.25);display:none;align-items:center;justify-content:center;font-size:18px}
.back-to-top.show{display:flex}

.fineprint{color:var(--ink-2);font-size:14px}


.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:10px}
.gallery-grid img{width:100%;border-radius:10px;border:1px solid var(--paper-2)}
.faq details{background:#fff;border:1px solid var(--paper-2);border-radius:12px;padding:12px}
.faq details+details{margin-top:10px}
.faq summary{font-weight:700;cursor:pointer}
.booking-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;background:#fff;border:1px solid var(--paper-2);border-radius:12px;padding:12px;margin:10px 0 16px}
.booking-inline label{display:flex;flex-direction:column;font-weight:700}
.booking-inline input{margin-top:6px;padding:10px;border:1px solid var(--paper-2);border-radius:10px}


.before-after.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.gallery-grid figure{margin:0}
.gallery-grid figure img{display:block;width:100%;border-radius:10px;border:1px solid var(--paper-2)}
.gallery-grid figure figcaption{font-size:12px;color:var(--ink-2);margin-top:6px}
