
  :root{
    --brand-blue:#1596D8;
    --brand-blue-dark:#0E7AB3;
    --brand-pink:#E5108C;
    --brand-pink-dark:#B80C6F;
    --ink:#0F2438;
    --paper:#FBFCFE;
    --line:#E4EEF5;
  }

  *{box-sizing:border-box;}

  body{
    font-family:'Poppins', sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.75;
  }

  h1,h2,h3,h4,.display-font{
    font-family:'Playfair Display', serif;
  }

  .text-brand-blue{color:var(--brand-blue);}
  .text-brand-pink{color:var(--brand-pink);}

  /* ---------- NAVBAR ---------- */
  .navbar-wedpic{
    background:#fff;
    border-bottom:1px solid var(--line);
  }
  .navbar-wedpic .navbar-brand img{height:52px;}
  .navbar-wedpic .nav-link{
    font-weight:500;
    color:var(--ink);
    margin:0 .5rem;
  }
  .navbar-wedpic .nav-link:hover{color:var(--brand-pink);}
  .btn-brand{
    background:var(--brand-pink);
    border:none;
    color:#fff;
    font-weight:600;
    padding:.6rem 1.4rem;
    border-radius:50px;
    transition:.25s ease;
  }
  .btn-brand:hover{background:var(--brand-pink-dark);color:#fff;}
  .btn-outline-brand{
    border:2px solid var(--brand-blue);
    color:var(--brand-blue);
    font-weight:600;
    border-radius:50px;
    padding:.55rem 1.4rem;
    background:transparent;
  }
  .btn-outline-brand:hover{background:var(--brand-blue);color:#fff;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    background:
      radial-gradient(circle at 12% 20%, rgba(21,150,216,.10), transparent 45%),
      radial-gradient(circle at 88% 15%, rgba(229,16,140,.10), transparent 40%),
      #fff;
    padding:5.5rem 0 4.5rem;
    overflow:hidden;
    border-bottom:1px solid var(--line);
  }
  .hero .eyebrow{
    letter-spacing:.14em;
    text-transform:uppercase;
    font-size:.78rem;
    font-weight:600;
    color:var(--brand-pink);
  }
  .hero h1{
    font-size:clamp(2.1rem, 4vw, 3.35rem);
    font-weight:700;
    line-height:1.15;
  }
  .hero .lead{
    font-size:1.12rem;
    color:#3A526A;
    max-width:640px;
  }
  .hero-frame{
    border:3px solid var(--brand-blue);
    border-radius:18px;
    padding:.6rem;
    background:#fff;
    box-shadow:0 18px 40px -20px rgba(15,36,56,.25);
  }
  .hero-frame img{border-radius:12px; width:100%; display:block;}
  .stat-pill{
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:.9rem 1.1rem;
  }
  .stat-pill .num{
    font-family:'Playfair Display',serif;
    font-weight:700;
    font-size:1.5rem;
    color:var(--brand-blue);
  }

  /* ---------- SECTION HEADERS ---------- */
  .section-tag{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    font-size:.75rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--brand-blue);
  }
  .section-tag::before{
    content:"";
    width:26px;height:2px;
    background:var(--brand-pink);
    display:inline-block;
  }
  section{padding:4.5rem 0;}
  .section-alt{background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}

  /* ---------- CARDS ---------- */
  .icon-badge{
    width:56px;height:56px;
    border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.4rem;
    color:#fff;
    background:linear-gradient(135deg,var(--brand-blue),var(--brand-pink));
    flex-shrink:0;
  }
  .feature-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:1.8rem;
    height:100%;
    transition:.25s ease;
  }
  .feature-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 40px -24px rgba(15,36,56,.3);
    border-color:var(--brand-blue);
  }

  .step-num{
    font-family:'Playfair Display',serif;
    font-weight:700;
    font-size:2rem;
    color:var(--brand-pink);
    opacity:.35;
    line-height:1;
  }

  table.price-table{border-collapse:separate; border-spacing:0; width:100%;}
  table.price-table thead th{
    background:var(--brand-blue);
    color:#fff;
    font-weight:600;
    padding:.9rem 1rem;
  }
  table.price-table thead th:first-child{border-top-left-radius:12px;}
  table.price-table thead th:last-child{border-top-right-radius:12px;}
  table.price-table td{padding:.85rem 1rem; border-bottom:1px solid var(--line); background:#fff;}
  table.price-table tr:last-child td{border-bottom:none;}

  /* ---------- FAQ ---------- */
  .accordion-item{
    border:1px solid var(--line);
    border-radius:12px !important;
    overflow:hidden;
    margin-bottom:.9rem;
  }
  .accordion-button{
    font-weight:600;
    color:var(--ink);
    background:#fff;
  }
  .accordion-button:not(.collapsed){
    color:var(--brand-pink-dark);
    background:#FEF1F9;
    box-shadow:none;
  }
  .accordion-button:focus{box-shadow:none; border-color:var(--brand-blue);}
  .accordion-button::after{
    filter:none;
  }

  /* ---------- CTA ---------- */
  .cta-band{
    background:linear-gradient(120deg,var(--brand-blue),var(--brand-pink));
    border-radius:24px;
    padding:3rem;
    color:#fff;
  }

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--ink);
    color:#C9D6E2;
    padding:3.5rem 0 1.5rem;
  }
  footer h6{color:#fff; font-weight:600; margin-bottom:1rem;}
  footer a{color:#C9D6E2; text-decoration:none;}
  footer a:hover{color:var(--brand-pink);}
  .footer-brand img{height:48px; margin-bottom:1rem; background:#fff; padding:6px; border-radius:8px;}
  .social-circle{
    width:38px;height:38px;
    border-radius:50%;
    border:1px solid #33475A;
    display:flex;align-items:center;justify-content:center;
    color:#fff;
    transition:.2s;
  }
  .social-circle:hover{background:var(--brand-pink); border-color:var(--brand-pink);}