/* NARI ATELIER styles - elegant, modern, responsive */
:root{
  --magenta: #d61b5a;
  --ivory: #f7e9e6;
  --dark: #111111;
  --muted: #7a6b6b;
  --accent: #d6b36a;
  --radius: 12px;
}

*{box-sizing:border-box}
body{font-family:Inter,system-ui,Arial,sans-serif;margin:0;color:var(--dark);background:linear-gradient(180deg,#fff 0%, #fff 40%, #fdeef2 100%);}
.container{max-width:1100px;margin:0 auto;padding:24px}
.site-header{background:transparent;position:sticky;top:0;z-index:40}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.logo{height:64px;display:block}
.brand-title{font-family:'Playfair Display',serif;font-size:48px;letter-spacing:4px;margin:0;color:var(--magenta)}
.tagline{margin:12px 0 20px;font-weight:300;color:var(--muted)}
.main-nav a{margin-left:18px;color:var(--dark);text-decoration:none;font-weight:600}
.btn{padding:10px 16px;border-radius:8px;border:0;cursor:pointer;font-weight:600}
.btn-primary{background:var(--magenta);color:var(--ivory);box-shadow:0 6px 18px rgba(214,27,90,0.14)}
.btn-ghost{background:transparent;border:1px solid rgba(0,0,0,0.06)}
.hero{padding:48px 0;background: linear-gradient(90deg, rgba(214,27,90,0.05), rgba(214,27,90,0.02));border-radius:14px;margin-top:12px}
.hero-inner{display:flex;gap:24px;align-items:center}
.hero-left{flex:1}
.hero-right{flex:1;display:flex;justify-content:center}
.hero-card{width:320px;height:320px;border-radius:16px;background:var(--ivory);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(17,17,17,0.06)}
.hero-logo{max-width:220px;max-height:220px}
.section{padding:48px 0}
.services .service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.service-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,0.04)}
.price{margin-top:12px;font-weight:700;color:var(--magenta)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery-item img{width:100%;height:100px;object-fit:cover;border-radius:10px}
.booking-grid{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.booking-form{background:#fff;padding:18px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.04);display:flex;flex-direction:column;gap:10px}
.booking-form label{display:flex;flex-direction:column;font-size:14px;color:var(--muted)}
.booking-form input, .booking-form select, .booking-form textarea{padding:10px;border-radius:8px;border:1px solid #eee;margin-top:8px;font-size:15px}
.form-actions{display:flex;gap:10px;margin-top:6px}
.booking-side{background:#fff;padding:16px;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,0.03)}
.appointments-list{list-style:none;padding:0;margin:0}
.appointments-list li{padding:8px;border-bottom:1px solid #f2eaea;font-size:14px}
.muted{color:var(--muted);font-size:13px;margin-top:12px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form{background:#fff;padding:16px;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,0.03)}
.site-footer{border-top:1px solid #f2eaea;padding:18px;margin-top:24px;background:transparent}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.socials a{margin-left:10px;text-decoration:none;color:var(--muted);font-weight:700}

/* Responsive */
@media (max-width:900px){
  .hero-inner{flex-direction:column}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .booking-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .logo{height:48px}
  .brand-title{font-size:36px}
}
