:root{
  --bg:#f7f2ec;
  --card:#ffffff;
  --text:#2f2a26;
  --muted:#6f655d;
  --brand:#7f6550;
  --brand-2:#b69373;
  --soft:#efe4d7;
  --line:#e6d9cc;
}
body{background:
  linear-gradient(180deg, rgba(255,255,255,.84) 0%, rgba(247,242,236,.94) 100%),
  url('../../images/background.jpg') center top / cover fixed no-repeat;
  color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:hidden}
.site-header,.site-footer,.step-panel,.hero-card,.feature-box,.service-card,.summary-card,.payment-card,.confirmation-card,.booking-step,.testimonial{backdrop-filter:saturate(140%) blur(4px)}
.brand-mark{display:flex;gap:.8rem;align-items:center;text-decoration:none}
.brand-badge{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;display:grid;place-items:center;font-weight:700}
.hero{padding-top:4rem}
.eyebrow{display:inline-block;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;color:var(--brand);font-weight:700}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover{background:#6d5644;color:#fff}
.hero-card,.feature-box,.service-card,.summary-card,.payment-card,.confirmation-card,.step-panel{background:rgba(255,255,255,.88);border:1px solid rgba(230,217,204,.9);border-radius:24px;box-shadow:0 10px 40px rgba(67,46,33,.06)}
.hero-gallery{background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,249,244,.92))}
.info-tile{background:#fbf7f3;border:1px solid var(--line);border-radius:18px;padding:1rem;display:flex;align-items:center;gap:1rem;min-height:110px;position:relative;overflow:hidden}
.info-tile.with-image img{width:76px;height:76px;flex:0 0 76px;border-radius:16px;object-fit:cover;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.feature-box.feature-illustrated{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}
.feature-box.feature-illustrated img{width:100%;max-width:120px;height:120px;border-radius:18px;object-fit:cover;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.info-tile span,.text-muted{color:var(--muted)!important}
.service-image{width:100%;height:220px;object-fit:cover;border-top-left-radius:24px;border-top-right-radius:24px;background:#efe7de;box-shadow:inset 0 -60px 60px rgba(0,0,0,.08)}
.section-heading{max-width:720px}
.bg-soft{background:rgba(239,228,215,.5)}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.testimonial{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:18px;padding:1.25rem}
.booking-step{padding:1.25rem;border:1px solid var(--line);border-radius:20px;background:#fff}
.service-choose,.payment-choice,.slot-pill{width:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:1rem;transition:.2s ease;min-height:72px}
.service-choose{display:grid;grid-template-columns:88px 1fr auto;gap:1rem;text-align:left;align-items:center;position:relative}
.service-choose img{width:88px;height:88px;object-fit:cover;border-radius:16px}
.service-copy{min-width:0}
.service-selected-badge{display:inline-flex;align-items:center;justify-content:center;padding:.38rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;background:#f3ebe3;color:var(--brand);border:1px solid transparent;white-space:nowrap;opacity:0;transform:scale(.96);transition:.2s ease}
.service-choose:hover,.payment-choice:hover,.slot-pill:hover,.service-choose.selected,.payment-choice.active,.slot-pill.selected{border-color:var(--brand);box-shadow:0 8px 24px rgba(127,101,80,.12)}
.service-choose.selected{background:linear-gradient(180deg,#fff 0%, #fbf7f3 100%);transform:translateY(-1px)}
.service-choose.selected .service-selected-badge{opacity:1;border-color:var(--brand)}
.service-choose.selected img{outline:2px solid rgba(127,101,80,.24);outline-offset:2px}
.slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem}
.payment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.demo-qr{width:160px;height:160px;background:
  linear-gradient(90deg,#000 25%,transparent 25%) 0 0/40px 40px,
  linear-gradient(#000 25%,transparent 25%) 0 0/40px 40px,
  linear-gradient(90deg,transparent 75%,#000 75%) 0 0/40px 40px,
  linear-gradient(transparent 75%,#000 75%) 0 0/40px 40px;
  background-color:#fff;border:12px solid #fff;box-shadow:0 0 0 1px #ddd;margin-bottom:1rem}
.demo-panel{background:#faf7f3;border-radius:18px;padding:1rem}
.site-footer{border-top:1px solid var(--line);background:#fff}
.footer-credit-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right}
.footer-credit-text{margin:0;color:var(--muted);font-size:.95rem}
.footer-credit-link{color:var(--brand);font-weight:700;text-decoration:none}
.footer-credit-link:hover{text-decoration:underline}
.confirmation-card{max-width:920px;padding:2rem}
.summary-item{background:#faf7f3;border-radius:16px;padding:1rem;border:1px solid var(--line)}
.form-control:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(127,101,80,.15)}
@media (max-width: 576px){
  .payment-options{grid-template-columns:1fr}
  .service-choose{grid-template-columns:1fr;justify-items:start}
  .service-choose img{width:100%;height:180px}
  .service-selected-badge{width:100%}
  .info-tile{align-items:flex-start}
  .info-tile.with-image img,.feature-box.feature-illustrated img{width:64px;height:64px}
  .footer-credit-wrap{align-items:flex-start;text-align:left}
}
