:root{
  --cream:#faf6f5;
  --cream-warm:#fff7ea;
  --ink:#4a3f3d;
  --ink-soft:#7d7370;
  --terracotta:#a44f42;
  --coral:#ef8f8f;
  --line:#eadfdc;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'DM Sans',Arial,Helvetica,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.55;
}
h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:700;margin:0 0 .5em;line-height:1.15}
.wrap{width:min(760px,calc(100% - 40px));margin:0 auto}
a{color:var(--terracotta)}
ul{list-style:none;margin:0;padding:0}

/* --- header --- */
.site-header{padding:22px 0;border-bottom:1px solid var(--line)}
.header-row{display:flex;justify-content:space-between;align-items:center}
.brand-logo{width:52px;height:52px;object-fit:contain;display:block}
.lang-switch{display:flex;gap:6px}
.lang{
  background:none;border:1px solid var(--line);border-radius:999px;
  padding:6px 14px;font:inherit;font-size:.85rem;color:var(--ink-soft);
  cursor:pointer;transition:background .15s,color .15s;
}
.lang.active{background:var(--terracotta);border-color:var(--terracotta);color:#fff}

/* --- hero --- */
.hero{padding:72px 0 56px;text-align:center}
.eyebrow{
  color:var(--terracotta);font-weight:600;font-size:.95rem;
  margin:0 0 18px;
}
.hero h1{font-size:clamp(2rem,5vw,2.9rem);max-width:14ch;margin-left:auto;margin-right:auto}
.hero-sub{
  max-width:52ch;margin:20px auto 0;color:var(--ink-soft);font-size:1.08rem;
}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}

.btn{
  display:inline-block;text-decoration:none;font-weight:600;font-size:.98rem;
  padding:13px 26px;border-radius:999px;border:1.5px solid transparent;
  transition:transform .15s,opacity .15s;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--terracotta);color:#fff}
.btn-primary:hover{opacity:.92}
.btn-ghost{background:transparent;color:var(--terracotta);border-color:var(--terracotta)}
.btn-ghost:hover{background:var(--cream-warm)}

/* --- services (menu style, not cards) --- */
.services{padding:44px 0 60px}
.services h2{font-size:1.7rem;text-align:center;margin-bottom:34px}
.service-list{border-top:1px solid var(--line)}
.service-row{
  display:flex;align-items:flex-start;gap:18px;
  padding:22px 4px;border-bottom:1px solid var(--line);
}
.service-icon{
  flex:none;width:46px;height:46px;border-radius:50%;
  background:var(--cream-warm);display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;
}
.service-copy{display:flex;flex-direction:column;gap:3px}
.service-copy strong{font-size:1.12rem;font-weight:700}
.service-copy span:last-child{color:var(--ink-soft);font-size:.97rem;max-width:56ch}

.extras-block{margin-top:34px;background:var(--cream-warm);border-radius:16px;padding:20px 24px}
.extras-label{margin:0 0 10px;font-weight:600;color:#795a00}
.extras-list{display:flex;gap:24px;flex-wrap:wrap}
.extras-list li{display:flex;align-items:center;gap:8px;font-size:.97rem}

/* --- about --- */
.about{background:#fff;padding:56px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-inner{text-align:center}
.about h2{font-size:1.6rem}
.about p{max-width:58ch;margin:0 auto;color:var(--ink-soft);font-size:1.05rem}

/* --- gallery --- */
.gallery{padding:56px 0}
.gallery h2{font-size:1.6rem;text-align:center}
.gallery-note{text-align:center;color:var(--ink-soft);margin:8px 0 28px}
.gallery-placeholder{
  display:flex;justify-content:center;gap:16px;
}
.gallery-placeholder span{
  width:88px;height:88px;border-radius:18px;
  border:1.5px dashed var(--line);
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;opacity:.55;
}

/* --- footer --- */
.site-footer{background:#4a3f3d;color:#f3ece9;padding:48px 0 40px}
.footer-inner{text-align:center}
.footer-logo{width:56px;height:56px;object-fit:contain;margin:0 auto 18px;display:block;border-radius:14px}
.site-footer a{color:#f3ece9;text-decoration:underline;text-decoration-color:rgba(243,236,233,.4)}
.footer-address{margin:4px 0}
.footer-contact{margin:4px 0}
.footer-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.site-footer .btn-ghost{color:#f3ece9;border-color:rgba(243,236,233,.5)}
.site-footer .btn-ghost:hover{background:rgba(255,255,255,.08)}

@media (max-width:520px){
  .service-row{gap:14px}
  .hero{padding:56px 0 44px}
}
