
:root{
  --pink:#f6e6eb;
  --pink-strong:#f0d6df;
  --ink:#3a2b2f;
  --ink-soft:#5a4a4f;
  --beige:#fcf9f7;
  --services-bg:#fdfcfb;
  --accent:#b08b94;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--beige);color:var(--ink);font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}
a{color:var(--ink);text-decoration:none}
a:hover{opacity:.9}

.header{
  background: rgba(246,230,235,.9);
  border-bottom:1px solid rgba(0,0,0,0.06);
}
.header-inner{
  max-width:1100px; margin:0 auto; padding:10px 16px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.logo img{height:46px; width:auto; display:block}
.nav{display:flex; gap:18px; align-items:center; font-weight:600;}
.nav a{padding:10px 8px; border-radius:8px}
.nav a.active{background:var(--pink);}

.hamburger{display:none; cursor:pointer; padding:10px; border-radius:10px}
.mobile-nav{display:none; position:fixed; top:58px; right:12px; left:12px; background:rgba(246,230,235,.95); border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:8px 12px; z-index:999; box-shadow:0 10px 30px rgba(0,0,0,.08)}
.mobile-nav a{display:block; padding:12px 8px; border-radius:10px}
.mobile-nav a:hover{background:var(--pink)}

main{max-width:1100px; margin:0 auto; padding:0 16px 40px}
.title-top{ padding:18px 0 8px; font-size:28px; font-weight:700; letter-spacing:.2px}

.hero{ margin:6px 0 14px; }
.hero-frame{
  position:relative; overflow:hidden; border-radius:18px;
  aspect-ratio: 4 / 5; background:#ddd;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  max-height: 520px;
}
.hero-frame img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
  opacity:0; transition:opacity 900ms ease;
}
.hero-frame img.active{opacity:1}

.services-wrap{ background:var(--services-bg); border:1px solid rgba(0,0,0,.04); border-radius:18px; padding:16px 16px 4px; margin-top:10px; }
.services-grid{ display:grid; grid-template-columns: 1.4fr .9fr; gap:18px; align-items:start; }
.services-grid.single{ grid-template-columns: 1fr; }
.section{ padding:8px 6px 10px; }
.section .h1{ font-family:"Inter"; font-size:22px; font-weight:800; margin:2px 0 10px; }
.section ul{ margin:0; padding-left:18px; line-height:1.7 }
.section em{ color:var(--ink-soft); font-size:14px }

.separator{ height:1px; background:linear-gradient(90deg, rgba(0,0,0,0), rgba(0,0,0,.08), rgba(0,0,0,0)); margin:20px 0; }

.side-image{ border-radius:16px; width:100%; height:auto; box-shadow:0 6px 18px rgba(0,0,0,.06); }

.price-wrap{ background:var(--pink); border:1px solid rgba(0,0,0,.04); border-radius:18px; padding:18px; }
.price-logo{ display:flex; justify-content:center; margin:8px 0 12px;}
.price-logo img{ height:64px; width:auto;}

.menu { max-width:820px; margin:0 auto; }
.menu h2{ font-family:"Inter"; font-size:22px; font-weight:800; margin:10px 0 6px; }
.row{ display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px dashed rgba(0,0,0,.08); }
.row:last-child{ border-bottom:none }
.name{ flex:1 }
.price{ min-width:180px; text-align:right; white-space:nowrap }

.readonly-note{ text-align:center; opacity:.7; margin-top:8px; font-style:italic }

.gallery-grid{
  display:grid; grid-template-columns: repeat(3,1fr); gap:12px; margin-top:14px;
}
.gallery-grid img{ width:100%; height:100%; object-fit:cover; border-radius:16px; aspect-ratio:4/5; cursor:pointer; transition:transform .2s ease, box-shadow .2s ease }
.gallery-grid img:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08) }
.lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.8); display:none; align-items:center; justify-content:center; z-index:2000;}
.lightbox img{max-width:92vw; max-height:86vh; border-radius:14px;}

.logo-page{ display:flex; justify-content:center; margin:12px 0 8px; }
.logo-page img{ height:64px; }

.footer{ color:var(--ink-soft); font-size:14px; padding:18px 0 60px; text-align:center }

@media (max-width: 900px){
  .nav{display:none}
  .hamburger{display:block}
  .mobile-nav{ top:54px }
  .services-grid{ grid-template-columns: 1fr; }
  .hero-frame{ max-height: 440px; }
  .price{ min-width:120px }
  .gallery-grid{ grid-template-columns: repeat(2,1fr) }
}


/* Auto-added by FIXED v2: center images on home */
img{display:block;margin-left:auto;margin-right:auto}


/* Auto-added tagline style */
.tagline { font-size: 1.125rem; line-height: 1.6; margin-top: 0.5rem; opacity: 0.9; }


/* Auto: neat single-column price list */
.price-list { list-style: none; padding: 0; margin: 0 0 1.25rem; }
.price-list li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 0.375rem 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.price-list li span:first-child { font-weight: 500;  text-align:right; font-variant-numeric: tabular-nums; }
.price-list li span:last-child { white-space: nowrap;  padding-left: .75rem; }
.prices-note { margin-top: 1rem; opacity: .9; }
