  :root{
    --wp-blue: #1B9BD8;
    --wp-blue-dark: #147AAE;
    --wp-pink: #EC0C8C;
    --wp-pink-dark: #C4096F;
    --wp-ink: #16233B;
    --wp-slate: #55617A;
    --wp-mist: #F4FAFD;
    --wp-line: #E1EEF5;
    --serif: 'Playfair Display', Georgia, serif;
    --sans: 'Poppins', system-ui, sans-serif;
  }

  *{ scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce){ *{ scroll-behavior: auto; } }

  body{
    font-family: var(--sans);
    color: var(--wp-ink);
    background: #ffffff;
  }

  h1,h2,h3,.brandmark{ font-family: var(--serif); }

  a{ color: var(--wp-blue-dark); }
  a:hover{ color: var(--wp-pink); }

  /* ---------- Navbar ---------- */
  .navbar{
    background: #ffffff;
    border-bottom: 1px solid var(--wp-line);
  }
  .brandmark{
    font-weight: 700;
    font-size: 1.45rem;
    letter-spacing: .01em;
  }
  .brandmark .pic{ color: var(--wp-pink); }
  .brandmark .wed{ color: var(--wp-blue); }
  .nav-cta{
    background: var(--wp-pink);
    color: #fff;
    border-radius: 999px;
    padding: .5rem 1.4rem;
    font-weight: 500;
    font-size: .92rem;
    transition: background .15s ease;
  }
  .nav-cta:hover{ background: var(--wp-pink-dark); color:#fff; }

  /* ---------- Hero ---------- */
  .hero{
    background: linear-gradient(180deg, var(--wp-mist) 0%, #ffffff 100%);
    padding: 4.5rem 0 3.5rem;
  }
  .hero h1{
    font-weight: 700;
    font-size: clamp(2.1rem, 4vw, 3rem);
    line-height: 1.18;
    color: var(--wp-ink);
    max-width: 15ch;
  }
  .hero .lede{
    font-size: 1.08rem;
    color: var(--wp-slate);
    max-width: 52ch;
    line-height: 1.7;
  }
  .breadcrumb-row{
    font-size: .85rem;
    color: var(--wp-slate);
  }
  .breadcrumb-row a{ color: var(--wp-slate); text-decoration: none; }
  .breadcrumb-row a:hover{ color: var(--wp-pink); }

  .hero-mark{ width: 100%; max-width: 300px; }

  /* ---------- Article intro ---------- */
  .lead-copy{
    max-width: 68ch;
    color: var(--wp-slate);
    font-size: 1.04rem;
    line-height: 1.8;
  }
  .lead-copy p{ margin-bottom: 1.15rem; }

  /* ---------- Listing ---------- */
  .listing-section{ padding: 2rem 0 1rem; }
  .entry{
    border-bottom: 1px solid var(--wp-line);
    padding: 2.4rem 0;
  }
  .entry:first-of-type{ padding-top: 0; }
  .entry-num{
    font-family: var(--serif);
    font-style: italic;
    font-weight: 600;
    font-size: 3.1rem;
    color: var(--wp-blue);
    line-height: 1;
    opacity: .9;
  }
  .entry-num.pink{ color: var(--wp-pink); }
  .entry h3{
    font-weight: 600;
    font-size: 1.55rem;
    margin-bottom: .35rem;
    color: var(--wp-ink);
  }
  .entry .loc-badge{
    display:inline-block;
    font-size: .78rem;
    font-weight: 500;
    color: var(--wp-blue-dark);
    background: var(--wp-mist);
    border: 1px solid var(--wp-line);
    border-radius: 999px;
    padding: .2rem .7rem;
    margin-bottom: .8rem;
  }
  .entry p{
    color: var(--wp-slate);
    line-height: 1.75;
    max-width: 62ch;
  }
  .entry .best-for{
    font-size: .88rem;
    color: var(--wp-ink);
    margin-top: .6rem;
  }
  .entry .best-for strong{ color: var(--wp-pink-dark); font-weight: 600; }
  .entry.featured{
    background: var(--wp-mist);
    border-radius: 18px;
    padding: 2.2rem;
    border-bottom: none;
  }
  .entry.featured .entry-num{ color: var(--wp-pink); }

  /* ---------- Tips ---------- */
  .tips{ background: var(--wp-ink); color: #fff; padding: 3.5rem 0; }
  .tips h2{ color:#fff; font-weight: 600; }
  .tips .tip-item{ border-left: 3px solid var(--wp-pink); padding-left: 1.1rem; }
  .tips .tip-item h4{ font-size: 1.05rem; font-weight: 600; margin-bottom: .35rem; }
  .tips .tip-item p{ color: #C3CEE0; font-size: .93rem; line-height: 1.65; margin: 0; }

  /* ---------- FAQ ---------- */
  .faq-section{ padding: 3.5rem 0; }
  .accordion-button{
    font-weight: 500;
    color: var(--wp-ink);
    background: #fff;
  }
  .accordion-button:not(.collapsed){
    color: var(--wp-pink-dark);
    background: var(--wp-mist);
    box-shadow: none;
  }
  .accordion-button:focus{ box-shadow: 0 0 0 .2rem rgba(236,12,140,.15); }
  .accordion-item{ border-color: var(--wp-line); }

  /* ---------- CTA ---------- */
  .cta-band{
    background: radial-gradient(120% 140% at 20% 20%, var(--wp-blue) 0%, var(--wp-blue-dark) 60%, var(--wp-ink) 130%);
    color: #fff;
    padding: 3.5rem 0;
    border-radius: 20px;
  }
  .cta-band h2{ font-weight: 600; color:#fff; }
  .cta-band .btn-light-pink{
    background: var(--wp-pink);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: .75rem 2rem;
    font-weight: 500;
  }
  .cta-band .btn-light-pink:hover{ background: var(--wp-pink-dark); color:#fff; }

  /* ---------- Footer ---------- */
  footer{
    border-top: 1px solid var(--wp-line);
    padding: 2rem 0;
    font-size: .87rem;
    color: var(--wp-slate);
  }

  a:focus-visible, button:focus-visible{
    outline: 2px solid var(--wp-pink);
    outline-offset: 2px;
  }
