:root{
      --bg:#fff8fa;
      --surface:#ffffff;
      --surface-2:#fff1f5;
      --text:#2a1e24;
      --muted:#6f5661;
      --primary:#c13f72;
      --primary-dark:#9f315d;
      --accent:#f8c9da;
      --border:#efdae2;
      --shadow:0 12px 30px rgba(98,36,63,.12);
      --radius:18px;
      --radius-lg:26px;
      --space-1:.5rem;
      --space-2:.875rem;
      --space-3:1.25rem;
      --space-4:2rem;
      --space-5:3.5rem;
      --max:1120px;
      --font: "Nunito", "Avenir Next", "Segoe UI", Roboto, Arial, sans-serif;
    }

    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family:var(--font);
      color:var(--text);
      background:
        radial-gradient(circle at 12% 8%, rgba(193,63,114,.14), transparent 40%),
        radial-gradient(circle at 88% 20%, rgba(248,201,218,.5), transparent 38%),
        var(--bg);
      line-height:1.6;
    }

    img{max-width:100%;display:block;height:auto}
    a{text-decoration:none;color:inherit}
    .container{width:min(var(--max),92vw);margin-inline:auto}
    .section{padding:var(--space-5) 0}
    .section-title{font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.2;margin:0 0 .75rem}
    .section-intro{color:var(--muted);margin:0 0 1.25rem}
    .card{
      background:var(--surface);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }

    .site-header{
      position:sticky;top:0;z-index:30;
      backdrop-filter: blur(8px);
      background:rgba(255,248,250,.9);
      border-bottom:1px solid var(--border);
    }
    .nav{
      display:flex;align-items:center;justify-content:space-between;
      gap:1rem;padding:.8rem 0;
    }
    .brand{font-weight:800;letter-spacing:.2px}
    .brand small{display:block;font-weight:600;color:var(--muted);font-size:.76rem}
    .nav-links{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
    .nav-links a{font-weight:700;color:var(--muted)}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      border-radius:999px;
      padding:.78rem 1.15rem;
      font-weight:800;
      border:1px solid transparent;
      transition:.2s ease;
      white-space:nowrap;
    }
    .btn-primary{
      background:linear-gradient(135deg,var(--primary),var(--primary-dark));
      color:#fff;
      box-shadow:0 10px 20px rgba(159,49,93,.3);
    }
    .btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-1px);filter:saturate(1.05)}
    .btn-ghost{
      background:#fff;color:var(--primary-dark);border-color:var(--border);
    }

    .hero{padding:3.2rem 0 2.6rem}
    .hero-grid{
      display:grid;grid-template-columns:1.08fr .92fr;gap:1.5rem;align-items:stretch;
    }
    .hero-copy{
      position:relative;
      padding:2rem;
      border-radius:var(--radius-lg);
      background:
        linear-gradient(155deg, rgba(255,255,255,.98), rgba(255,241,245,.95)),
        repeating-linear-gradient(45deg, rgba(193,63,114,.035) 0 10px, transparent 10px 20px);
      border:1px solid var(--border);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .hero-copy:after{
      content:"";
      position:absolute;right:-60px;bottom:-90px;
      width:220px;height:220px;border-radius:50%;
      background:radial-gradient(circle, rgba(193,63,114,.18), rgba(193,63,114,0));
      pointer-events:none;
    }
    .eyebrow{font-weight:800;color:var(--primary-dark);margin:0 0 .6rem}
    .hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;margin:.2rem 0 .7rem}
    .hero p{margin:.4rem 0 1.2rem;color:var(--muted);max-width:46ch}
    .hero-cta{display:flex;gap:.7rem;flex-wrap:wrap}
    .hero-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
    .badge{
      border:1px solid var(--border);
      background:#fff;border-radius:999px;padding:.35rem .7rem;
      font-size:.86rem;color:var(--muted);font-weight:700;
    }
    .hero-media{
      border-radius:var(--radius-lg);
      overflow:hidden;
      min-height:340px;
      position:relative;
      background:#f3dde6;
      border:1px solid var(--border);
      box-shadow:var(--shadow);
    }
    .hero-media img{width:100%;height:100%;object-fit:cover}
    .hero-media:before{
      content:"";
      position:absolute;inset:0;
      background:linear-gradient(to top, rgba(42,30,36,.28), rgba(42,30,36,.05));
      pointer-events:none;
    }

    .services-grid,.pricing-grid,.testimonials-grid{
      display:grid;gap:1rem;
    }
    .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .service,.price,.quote{padding:1.1rem}
    .service h3,.price h3{margin:.2rem 0 .4rem;font-size:1.1rem}
    .service p,.price p,.quote p{margin:0;color:var(--muted)}
    .section-alt{
      background:
        linear-gradient(180deg, rgba(248,201,218,.24), rgba(255,248,250,.7));
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
    }

    .gallery-grid{
      display:grid;gap:1rem;
      grid-template-columns:1.2fr .8fr .8fr;
      grid-auto-rows:190px;
    }
    .gallery-item{
      overflow:hidden;border-radius:16px;border:1px solid var(--border);position:relative;
      background:#f6e2ea;
    }
    .gallery-item img{width:100%;height:100%;object-fit:cover}
    .gallery-item:first-child{grid-row:span 2}

    .about-wrap{
      display:grid;grid-template-columns:1fr .95fr;gap:1rem;align-items:center;
    }
    .about-box{padding:1.4rem}
    .about-box ul{margin:.6rem 0 0;padding-left:1.1rem}
    .about-box li{margin:.25rem 0;color:var(--muted)}

    .contact-wrap{
      display:grid;grid-template-columns:1fr .95fr;gap:1rem;
      align-items:stretch;
    }
    .contact-card,.cta-card{padding:1.4rem}
    .contact-list{list-style:none;margin:0;padding:0}
    .contact-list li{margin:.4rem 0;color:var(--muted)}
    .mini-form{
      display:grid;gap:.65rem;margin-top:.8rem;
    }
    label{font-weight:700;font-size:.94rem}
    input,select,textarea{
      width:100%;padding:.72rem .8rem;
      border:1px solid var(--border);
      border-radius:12px;
      font:inherit;color:var(--text);background:#fff;
    }
    textarea{min-height:96px;resize:vertical}

    footer{
      padding:1.3rem 0 2rem;color:var(--muted);font-size:.94rem
    }

    @media (max-width:940px){
      .hero-grid,.about-wrap,.contact-wrap{grid-template-columns:1fr}
      .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
      .gallery-item:first-child{grid-column:span 2;grid-row:span 1}
    }
    @media (max-width:620px){
      .nav-links a:not(.btn){display:none}
      .services-grid,.pricing-grid,.testimonials-grid,.gallery-grid{grid-template-columns:1fr}
      .gallery-item:first-child{grid-column:auto}
      .hero{padding-top:2.2rem}
      .hero-copy{padding:1.3rem}
    }