
:root{
  --bg:#ffffff; --text:#111; --muted:#6b7280; --ink:#0b0b0b;
  --gold:#c9a227; --light:#f7f7f7; --border:#e5e7eb;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.container{width:min(1120px,92%);margin-inline:auto}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:20}
.header-wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:700}
.logo{width:42px;height:42px;object-fit:contain}
.nav-toggle{display:none;background:transparent;border:0;font-size:24px}
.nav-list{display:flex;gap:18px;align-items:center;list-style:none;margin:0;padding:0}
.nav-list a{color:var(--text);text-decoration:none}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;border:2px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;font-weight:700}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.btn-ghost{border-color:var(--text);background:transparent;color:var(--text)}
.btn.w100{width:100%;text-align:center}

.hero{background:linear-gradient(120deg,#0f0f0f,#242424);color:#fff;padding:72px 0}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.hero-text h1{font-family:'Playfair Display',serif;font-size:56px;line-height:1.05;margin:0 0 12px}
.accent{color:var(--gold)}
.hero-text p{font-size:18px;color:#e7e7e7;margin:0 0 16px}
.hero-badges{display:flex;gap:12px;flex-wrap:wrap;padding:0;margin:10px 0 0;list-style:none}
.hero-badges li{border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:6px 10px;font-size:12px;color:#ddd}
.hero-card{display:flex;align-items:center;justify-content:center;border:1px solid #333;border-radius:16px;padding:26px;background:#111}
.hero-card img{width:220px;height:auto}

.badges{padding:26px 0;background:var(--light);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.badges-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.badge{background:#fff;border:1px solid var(--border);padding:10px 12px;border-radius:10px;text-align:center}

.package{padding:46px 0}
.split-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.card{border:1px solid var(--border);border-radius:14px;padding:18px;background:#fff}
.price{font-size:30px;font-weight:800;color:var(--gold)}
.checklist{padding-left:18px}
.mini-list{padding-left:18px}

.process{padding:40px 0;background:var(--light);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}

.page-hero{padding:54px 0;background:var(--light);border-bottom:1px solid var(--border)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding:30px 0}

.gallery{padding:30px 0}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.ph{background:linear-gradient(135deg,#f1f1f1,#e7e7e7);border:1px dashed var(--border);height:160px;border-radius:12px}

.about{padding:34px 0}

.contact{padding:30px 0}
.contact-form{border:1px solid var(--border);padding:18px;border-radius:12px;background:#fff}
.contact-form .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff}

.site-footer{padding:28px 0;background:#0f0f0f;color:#e8e8e8;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.contact-list,.social-list{list-style:none;padding:0;margin:0}
.tiny{font-size:12px;color:var(--muted)}

@media (max-width:880px){
  .hero-inner{grid-template-columns:1fr}
  .nav-toggle{display:block}
  .nav-list{display:none;position:absolute;right:4%;top:64px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px}
  .nav-list.show{display:flex;flex-direction:column;gap:10px;min-width:200px}
}


/* Featured Work grid */
.featured-work{padding:46px 0}
.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:10px}
.tile{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff;transition:transform .15s ease, box-shadow .15s ease}
.tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.tile-ph{height:120px;border:1px dashed var(--border);border-radius:8px;background:linear-gradient(135deg,#f6f6f6,#fff);display:flex;align-items:center;justify-content:center;color:#888;font-weight:600}
.tile span{font-weight:600}


/* Before/After slider */
.ba{
  position:relative;
  max-width: 100%;
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.ba img{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  pointer-events:none;
}
.ba .ba-after,
.ba .ba-before{
  position:absolute; top:0; left:0; width:100%; height:100%;
}
.ba .ba-before{ z-index:2; overflow:hidden; }
.ba .ba-handle{
  position:absolute; top:0; bottom:0; width:2px; background:rgba(0,0,0,.6); z-index:3;
  box-shadow:0 0 0 9999px rgba(255,255,255,.0);
}
.ba .ba-knob{
  position:absolute; top:50%; transform:translate(-50%,-50%);
  width:34px; height:34px; border-radius:50%; background:#fff; border:2px solid #000;
  display:flex; align-items:center; justify-content:center; font-weight:700; z-index:4;
}
.ba input[type="range"]{
  position:absolute; left:0; right:0; top:0; bottom:0; width:100%; height:100%;
  -webkit-appearance:none; background:transparent; z-index:5; cursor:ew-resize;
}
.ba input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:0; height:0; }
.ba input[type="range"]::-moz-range-thumb{ width:0; height:0; border:0; }

.ba-caption{
  display:flex; justify-content:space-between; gap:10px; margin-top:8px; color:var(--muted); font-size:13px;
}


/* Filter chips */
.filters{padding:12px 0; position:sticky; top:68px; background:#fff; border-bottom:1px solid var(--border); z-index:15;}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap}
.chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer}
.chip.active{background:#0f0f0f;color:#fff;border-color:#0f0f0f}
.tile-link{display:block; text-decoration:none; color:inherit}
.item{transition:opacity .2s ease, transform .2s ease}
.item.hidden{opacity:.15; transform:scale(.98); pointer-events:none}
