:root{--black:#111;--nude:#eadbd4;--cream:#faf7f4;--gold:#c08b5c;--taupe:#bfa59a}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#faf7f4,#eadbd4);color:#111}h1,h2,h3{font-family:Georgia,serif}a{text-decoration:none;color:inherit}.nav{position:sticky;top:12px;z-index:100;margin:12px auto;max-width:1150px;width:92%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-radius:999px;padding:10px 16px;box-shadow:0 18px 45px #0001}.brand{display:flex;align-items:center;gap:10px;font-size:19px}.brand img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #111}nav{display:flex;align-items:center;gap:24px;font-weight:700}.admin-link{background:#111;color:white;padding:12px 18px;border-radius:999px}#menuBtn{display:none;border:0;background:#111;color:#fff;border-radius:14px;padding:10px 14px}.hero{min-height:86vh;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:40px 8% 90px}.hero h1{font-size:clamp(42px,7vw,86px);line-height:.96;margin:12px 0}.hero p,.lead{font-size:18px;line-height:1.7;color:#333}.eyebrow,.hero span{color:var(--gold);font-weight:900;letter-spacing:4px;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;border-radius:999px;font-weight:900;margin:8px 8px 0 0;border:1px solid #111}.primary{background:#111;color:#fff}.ghost{background:#fff}.hero-img img{width:100%;border-radius:36px;box-shadow:0 35px 90px #0002;object-fit:cover;max-height:600px}.about,.section,.booking,.contact{padding:90px 8%}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;background:#fff8}.section h2,.booking h2,.contact h2,.about h2{font-size:clamp(30px,4vw,52px);margin:12px 0 28px}.alt{background:#fff5}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.card{background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 20px 55px #0001;border:1px solid #eadbd4;transition:.25s}.card:hover{transform:translateY(-8px)}.card img{width:100%;height:255px;object-fit:cover;display:block;cursor:pointer}.card-body{padding:22px}.card h3{font-size:25px;margin:10px 0}.card p{line-height:1.6;color:#333}.pills{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.pills span,.tag{background:#f6efe9;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px}.tag{display:inline-block;background:#111;color:#fff}.card button,.form button{border:0;background:#111;color:#fff;border-radius:999px;padding:13px 20px;font-weight:900;cursor:pointer}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 30px}.filter-btn{border:1px solid #ddd;background:#fff;border-radius:999px;padding:10px 18px;font-weight:900;cursor:pointer}.filter-btn.active{background:#111;color:#fff}.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;background:#fff}.summary{background:#faf7f4;border:1px solid #eadbd4;border-radius:24px;padding:22px;line-height:1.7}.form{background:#fff;border:1px solid #eadbd4;border-radius:32px;padding:28px;box-shadow:0 20px 65px #0001}.form label{display:block;font-weight:900;margin-bottom:16px}.form input,.form select,.form textarea{width:100%;margin-top:8px;border:1px solid #dfd2ca;border-radius:18px;padding:16px;font-size:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{width:100%}.message{margin-top:15px;font-weight:900}.preview{position:relative;max-width:260px;margin:10px 0}.preview img{width:100%;border-radius:20px}.preview button{position:absolute;top:8px;right:8px}.hidden{display:none}.contact{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact iframe{width:100%;min-height:330px;border:0;border-radius:30px}footer{display:flex;justify-content:space-between;padding:28px 8%;background:#111;color:#fff}.wa{position:fixed;right:20px;bottom:20px;background:#25d366;color:#fff;padding:15px 20px;border-radius:999px;font-weight:900;z-index:90}.image-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;justify-content:center;align-items:center;padding:25px}.image-modal img{max-width:92%;max-height:92vh;border-radius:22px;box-shadow:0 25px 70px #0008}.close-modal{position:absolute;top:18px;right:30px;font-size:45px;color:white;cursor:pointer}@media(max-width:1050px){.grid{grid-template-columns:repeat(2,1fr)}.hero,.booking,.contact,.about{grid-template-columns:1fr}}@media(max-width:720px){nav{display:none;position:absolute;right:0;top:66px;background:#fff;padding:20px;border-radius:24px;flex-direction:column;box-shadow:0 20px 50px #0002}nav.show{display:flex}#menuBtn{display:block}.hero{padding-top:25px}.grid,.two{grid-template-columns:1fr}footer{flex-direction:column;gap:10px}.card img{height:310px}}
.design-desc{color:#62554d;line-height:1.5;margin:8px 0 12px;font-size:.95rem}
.summary small{display:block;margin-top:6px;color:#6b5d55;line-height:1.4}
@media (max-width: 768px) {
  body {
    font-size: 17px;
  }

  .nav {
    width: calc(100% - 20px);
    padding: 12px 14px;
    border-radius: 0 0 22px 22px;
  }

  .brand {
    font-size: 18px;
  }

  .nav img {
    width: 42px;
    height: 42px;
  }

  .nav-links a {
    font-size: 13px;
  }

  .section,
  .services,
  .designs,
  .booking,
  .contact {
    padding: 70px 22px;
  }

  h1, h2 {
    font-size: 36px !important;
    line-height: 1.1;
  }

  .grid,
  .cards,
  #servicesGrid,
  #designGrid {
    grid-template-columns: 1fr !important;
    gap: 26px;
  }

  .card,
  .service-card,
  .design-card {
    border-radius: 28px;
  }

  .card img,
  .service-card img,
  .design-card img {
    height: 270px !important;
    object-fit: cover;
  }

  .card-body {
    padding: 28px;
  }

  .card-body h3 {
    font-size: 28px;
  }

  .card-body p {
    font-size: 17px;
    line-height: 1.6;
  }

  .card button,
  .btn,
  button {
    font-size: 16px;
    padding: 15px 24px;
  }

  .form,
  form {
    padding: 26px;
    border-radius: 28px;
  }

  input,
  select,
  textarea {
    font-size: 17px;
    padding: 17px;
  }

  .two {
    grid-template-columns: 1fr !important;
  }

  .wa {
    font-size: 16px;
    padding: 16px 22px;
    right: 18px;
    bottom: 18px;
  }
}