:root {
      --purple:#a31a8a;
      --light:#f7eef5;
      --text:#3a2c39;
      --muted:#7b6477;
      --card:#ffffff;
      --shadow:0 18px 40px rgba(84, 20, 69, 0.14);
    }
    * { box-sizing:border-box; }
    body {
      margin:0;
      font-family: 'Poppins', sans-serif;
      color:var(--text);
      background:linear-gradient(180deg, #fff 0%, #fbf7fa 100%);
      line-height:1.55;
    }
    .hero {
      min-height:90vh;
      display:grid;
      grid-template-columns:1.1fr 0.9fr;
      gap:40px;
      align-items:center;
      padding:64px 6vw;
      background-image: url("all-the-cake-you-need.jpg");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      position: relative;
      &::after{
        content: "";
        width: 100%;
        height: 100%;
        background-color: rgba(255,255,255,.5);
        display: block;
        position: absolute;
        z-index: 0;
      }
    }
    .hero-card {
      max-width:760px;
      background:rgba(255,255,255,.78);
      backdrop-filter: blur(4px);
      border:1px solid rgba(163,26,138,.14);
      border-radius:28px;
      box-shadow:var(--shadow);
      padding:40px;
      position: relative;
      z-index: 2;
    }
    .eyebrow {
      display:inline-block;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:var(--purple);
      background:#f8dff2;
      padding:8px 12px;
      border-radius:999px;
      font-size:.8rem;
      margin-bottom:18px;
    }
    h1 {
      margin:0 0 16px;
      font-size:clamp(2.7rem, 5.2vw, 5.4rem);
      line-height:.9;
      color:var(--purple);
    }
    .lead { font-size:1.15rem; color:#5d4858; margin-bottom:26px; }
    .buttons { display:flex; gap:14px; flex-wrap:wrap; margin-top:24px; }
    .btn {
      display:inline-block; text-decoration:none; padding:14px 20px; border-radius:14px; font-weight:700;
      transition:transform .15s ease, box-shadow .15s ease;
    }
    .btn:hover { transform:translateY(-1px); }
    .btn-primary { background:var(--purple); color:#fff; box-shadow:0 10px 22px rgba(163,26,138,.22); }
    .btn-secondary { background:#fff; color:var(--purple); border:2px solid #ebc4e4; }

    .logo-panel { text-align:center; position:  relative; z-index: 2;}
    .logo-card {
      background:#fff; border-radius:28px; padding:24px; box-shadow:var(--shadow); display:inline-block;
      transform: rotate(-3deg);
      max-width:min(100%, 520px);
    }
    .logo-card img { width:100%; height:auto; display:block; border-radius:18px; }

    section { padding:78px 6vw; }
    .section-head { max-width:760px; margin:0 auto 26px; text-align:center; }
    .section-head h2 { color:var(--purple); font-size:clamp(2rem, 3vw, 3rem); line-height: 1; margin:0 0 10px; }
    .section-head p { color:var(--muted); margin:0; }

    .story { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
    .panel { background:var(--card); border-radius:24px; box-shadow:var(--shadow); padding:30px; }
    .panel p:last-child { margin-bottom:0; }

    .gallery-wrap { background:var(--light); }
    .gallery { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:stretch; }
    .gallery img { width:100%; height:100%; object-fit:cover; display:block; border-radius:24px; box-shadow:var(--shadow); }
    .stack { display:grid; gap:28px; }

    .offer { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
    .offer .card { background:#fff; border-radius:22px; box-shadow:var(--shadow); padding:26px; }
    .offer h3 { margin-top:0; color:var(--purple); }

    .cta { text-align:center; }
    .cta-box { max-width:900px; margin:0 auto; background:linear-gradient(135deg, #fff 0%, #f9e7f5 100%); border-radius:28px; box-shadow:var(--shadow); padding:42px; }
    .cta-box h2 { margin-top:0; color:var(--purple); font-size:clamp(2rem, 3vw, 3rem); }
    .site-link { color:var(--purple); font-weight:700; word-break:break-word; }
    footer { padding:32px 6vw 50px; text-align:center; color:#7f667c; font-size:.95rem; }

    @media (max-width: 920px) {
      .hero, .story, .gallery, .offer { grid-template-columns:1fr; }
      .hero { padding-top:34px; }
      .logo-card { transform:none; }
    }