
  :root{
    --wp-blue: #1596d6;
    --wp-blue-dark: #0d6ea8;
    --wp-pink: #e6007e;
    --wp-pink-light: #ff5ca8;
    --wp-ink: #1f2430;
    --wp-cream: #fbfaf8;
  }
  html{scroll-behavior:smooth;}
  body{
    font-family:'Poppins', sans-serif;
    color:var(--wp-ink);
    background:var(--wp-cream);
  }
  h1,h2,h3,.display-font{
    font-family:'Playfair Display', serif;
  }
  a{color:var(--wp-pink);}
  a:hover{color:var(--wp-blue-dark);}

  /* Navbar */
  .navbar-wedpic{
    background:#ffffff;
    border-bottom:1px solid #eee;
  }
  .navbar-wedpic .navbar-brand{
    font-family:'Playfair Display', serif;
    font-weight:800;
    font-size:1.5rem;
    color:var(--wp-ink);
  }
  .navbar-wedpic .navbar-brand .brand-pink{color:var(--wp-pink);}
  .navbar-wedpic .navbar-brand .brand-blue{color:var(--wp-blue);}
  .navbar-wedpic .nav-link{
    font-weight:500;
    color:var(--wp-ink);
  }
  .navbar-wedpic .nav-link:hover{color:var(--wp-pink);}
  .btn-wedpic{
    background:linear-gradient(90deg,var(--wp-pink),var(--wp-blue));
    color:#fff;
    border:none;
    font-weight:600;
    padding:.6rem 1.4rem;
    border-radius:50px;
  }
  .btn-wedpic:hover{opacity:.9;color:#fff;}

  /* Hero */
  .hero{
    background:
      radial-gradient(circle at 15% 20%, rgba(230,0,126,.12), transparent 40%),
      radial-gradient(circle at 85% 30%, rgba(21,150,214,.14), transparent 45%),
      #ffffff;
    padding:5rem 0 4rem;
    border-bottom:1px solid #f0f0f0;
  }
  .hero .eyebrow{
    letter-spacing:.12em;
    text-transform:uppercase;
    font-size:.8rem;
    font-weight:600;
    color:var(--wp-pink);
  }
  .hero h1{
    font-weight:800;
    font-size:2.6rem;
    line-height:1.2;
    color:var(--wp-ink);
  }
  .hero h1 .accent{color:var(--wp-blue);}
  .hero p.lead{
    color:#555;
    font-weight:300;
  }
  .hero-heart-frame{
    width:100%;
    max-width:420px;
    border-radius:20px;
    border:3px solid var(--wp-blue);
    padding:1.2rem;
    background:#fff;
  }

  /* Section headers */
  .section-eyebrow{
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.78rem;
    font-weight:600;
    color:var(--wp-blue-dark);
  }
  section h2{
    font-weight:700;
    color:var(--wp-ink);
  }
  .divider-heart{
    width:46px;height:3px;
    background:var(--wp-pink);
    border-radius:2px;
    margin:.5rem 0 1.2rem;
  }

  /* Cards */
  .feature-card{
    background:#fff;
    border:1px solid #eee;
    border-radius:16px;
    padding:2rem 1.6rem;
    height:100%;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .feature-card:hover{
    transform:translateY(-6px);
    box-shadow:0 14px 30px rgba(21,150,214,.12);
  }
  .feature-icon{
    width:52px;height:52px;
    border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--wp-pink),var(--wp-blue));
    color:#fff;
    font-size:1.4rem;
    margin-bottom:1rem;
  }

  /* Steps */
  .step-num{
    font-family:'Playfair Display', serif;
    font-weight:800;
    font-size:2.2rem;
    color:var(--wp-blue);
    opacity:.5;
  }

  /* Testimonials */
  .testimonial-card{
    background:#fff;
    border-radius:16px;
    padding:1.8rem;
    border-left:4px solid var(--wp-pink);
    height:100%;
  }
  .testimonial-name{font-weight:600;color:var(--wp-ink);}
  .testimonial-role{font-size:.85rem;color:#888;}

  /* FAQ accordion */
  .accordion-button:not(.collapsed){
    color:var(--wp-pink);
    background:#fff0f7;
  }
  .accordion-button:focus{box-shadow:0 0 0 .2rem rgba(230,0,126,.15);}

  /* CTA band */
  .cta-band{
    background:linear-gradient(90deg,var(--wp-blue-dark),var(--wp-pink));
    color:#fff;
    border-radius:20px;
    padding:3rem 2rem;
  }
  .cta-band h2{color:#fff;}

  /* Gallery */
  .gallery-img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:14px;
    display:block;
    transition:transform .3s ease;
  }
  .gallery-item{
    overflow:hidden;
    border-radius:14px;
    position:relative;
  }
  .gallery-item:hover .gallery-img{transform:scale(1.06);}
  .gallery-caption{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:.9rem 1rem;
    background:linear-gradient(0deg, rgba(0,0,0,.55), transparent);
    color:#fff;
    font-size:.85rem;
    font-weight:500;
  }
  .avatar-img{
    width:52px;height:52px;
    border-radius:50%;
    object-fit:cover;
    margin-bottom:.8rem;
    border:2px solid var(--wp-pink);
  }

  footer{
    background:var(--wp-ink);
    color:#cfd3da;
  }
  footer a{color:#fff;}
  footer .brand-pink{color:var(--wp-pink-light);}
  footer .brand-blue{color:#7fd4ff;}
