  :root{
    --wp-blue:#1B9DD9;
    --wp-blue-dark:#0F6E9C;
    --wp-pink:#E6007E;
    --wp-pink-dark:#B4005F;
    --wp-ink:#1E2430;
    --wp-paper:#FFFFFF;
    --wp-cream:#F7F9FC;
  }
  body{
    font-family:'Inter',system-ui,sans-serif;
    color:var(--wp-ink);
    background:var(--wp-paper);
  }
  h1,h2,h3,.brand{
    font-family:'Fraunces',Georgia,serif;
  }
  a{ color:var(--wp-blue-dark); }

  /* Top bar */
  .topbar{
    background:var(--wp-paper);
    border-bottom:1px solid #EAEDF2;
  }
  .brand{
    font-weight:600;
    font-size:1.3rem;
    color:var(--wp-ink);
    letter-spacing:.2px;
  }
  .brand .dot{ color:var(--wp-pink); }

  /* Hero */
  .hero{
    background:linear-gradient(180deg,var(--wp-cream) 0%, var(--wp-paper) 100%);
    padding:4.5rem 0 3rem;
    border-bottom:1px solid #EAEDF2;
  }
  .hero h1{
    font-size:2.6rem;
    font-weight:600;
    line-height:1.15;
    max-width:780px;
  }
  .hero .lede{
    font-size:1.15rem;
    color:#4A5468;
    max-width:640px;
    line-height:1.65;
  }
  .hero-meta{
    font-size:.9rem;
    color:#6B7386;
    letter-spacing:.02em;
  }
  .heart-rule{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:var(--wp-pink);
  }
  .heart-rule svg{ width:16px; height:16px; fill:var(--wp-pink); }

  /* TOC */
  .toc{
    background:var(--wp-cream);
    border:1px solid #EAEDF2;
    border-radius:6px;
    padding:1.5rem 1.75rem;
  }
  .toc a{
    display:block;
    padding:.3rem 0;
    color:var(--wp-ink);
    text-decoration:none;
    border-bottom:1px dotted #D9DEE8;
  }
  .toc a:last-child{ border-bottom:none; }
  .toc a:hover{ color:var(--wp-pink); }
  .toc .num{ color:var(--wp-blue); font-weight:600; margin-right:.5rem; }

  /* Photographer entries */
  .entry{
    padding:2.75rem 0;
    border-bottom:1px solid #EAEDF2;
  }
  .entry:last-of-type{ border-bottom:none; }
  .entry-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px; height:46px;
    border-radius:50%;
    background:var(--wp-blue);
    color:#fff;
    font-family:'Fraunces',serif;
    font-weight:600;
    font-size:1.2rem;
    flex-shrink:0;
  }
  .entry.is-wedpic .entry-badge{ background:var(--wp-pink); }
  .entry h2{
    font-size:1.55rem;
    font-weight:600;
    margin-bottom:.15rem;
  }
  .entry .location{
    font-size:.88rem;
    color:#6B7386;
    margin-bottom:.85rem;
  }
  .entry .specialty-tag{
    display:inline-block;
    font-size:.78rem;
    padding:.2rem .65rem;
    border-radius:20px;
    background:var(--wp-cream);
    color:var(--wp-blue-dark);
    border:1px solid #DCEAF5;
    margin:.15rem .3rem .15rem 0;
  }
  .entry.is-wedpic{
    background:linear-gradient(90deg,#FFF5FA 0%, var(--wp-paper) 60%);
    margin:0 -1.5rem;
    padding:2.75rem 1.5rem;
    border-radius:8px;
  }
  .entry p{ color:#3B4353; line-height:1.7; }

  /* Comparison table */
  .cmp-table th{
    background:var(--wp-ink);
    color:#fff;
    font-weight:600;
    font-size:.85rem;
    white-space:nowrap;
  }
  .cmp-table td{ font-size:.92rem; vertical-align:middle; }
  .cmp-table tr.is-wedpic td{ background:#FFF5FA; font-weight:500; }

  /* Tips */
  .tip-card{
    border:1px solid #EAEDF2;
    border-radius:8px;
    padding:1.5rem;
    height:100%;
  }
  .tip-card .tip-num{
    font-family:'Fraunces',serif;
    color:var(--wp-blue);
    font-size:1.4rem;
    font-weight:600;
  }

  /* FAQ */
  .accordion-button{
    font-weight:600;
    color:var(--wp-ink);
  }
  .accordion-button:not(.collapsed){
    color:var(--wp-pink-dark);
    background:#FFF5FA;
  }
  .accordion-button:focus{ box-shadow:0 0 0 .2rem rgba(230,0,126,.15); }

  /* Closing */
  .closing{
    background:var(--wp-ink);
    color:#DDE2EC;
    padding:3.5rem 0;
  }
  .closing h2{ color:#fff; font-size:1.7rem; }
  .closing a.btn-cta{
    background:var(--wp-pink);
    color:#fff;
    border:none;
    padding:.65rem 1.6rem;
    border-radius:4px;
    font-weight:600;
    text-decoration:none;
    display:inline-block;
  }
  .closing a.btn-cta:hover{ background:var(--wp-pink-dark); }

  footer{
    font-size:.85rem;
    color:#8890A0;
    padding:2rem 0;
  }

  @media (max-width:767px){
    .hero h1{ font-size:2rem; }
    .entry.is-wedpic{ margin:0; }
  }
