
  :root{
    --wf-gold:#C9A227;
    --wf-gold-light:#E8C766;
    --wf-bronze:#8A6A1E;
    --wf-ink:#231C10;
    --wf-paper:#FFFFFF;
    --wf-cream:#FBF7EC;
  }
  body{
    font-family:'Inter',system-ui,sans-serif;
    color:var(--wf-ink);
    background:var(--wf-paper);
  }
  h1,h2,h3,.brand{
    font-family:'Cormorant Garamond',Georgia,serif;
  }
  a{ color:var(--wf-bronze); }

  .topbar{
    background:var(--wf-paper);
    border-bottom:1px solid #EDE4CC;
  }
  .brand-mark{
    width:38px; height:38px;
    border-radius:50%;
  }
  .brand{
    font-weight:600;
    font-size:1.4rem;
    color:var(--wf-ink);
    letter-spacing:.3px;
  }
  .brand .thin{ font-weight:500; color:var(--wf-bronze); }

  .hero{
    background:linear-gradient(180deg,var(--wf-cream) 0%, var(--wf-paper) 100%);
    padding:4.5rem 0 3rem;
    border-bottom:1px solid #EDE4CC;
  }
  .hero h1{
    font-size:2.7rem;
    font-weight:600;
    line-height:1.15;
    max-width:800px;
  }
  .hero .lede{
    font-size:1.15rem;
    color:#4E4732;
    max-width:660px;
    line-height:1.65;
  }
  .hero-meta{
    font-size:.85rem;
    color:#8A7F5C;
    letter-spacing:.05em;
    text-transform:uppercase;
  }
  .gold-rule{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    color:var(--wf-bronze);
    font-size:.95rem;
  }
  .gold-rule svg{ width:16px; height:16px; fill:var(--wf-gold); }

  .toc{
    background:var(--wf-cream);
    border:1px solid #EDE4CC;
    border-radius:6px;
    padding:1.5rem 1.75rem;
  }
  .toc a{
    display:block;
    padding:.3rem 0;
    color:var(--wf-ink);
    text-decoration:none;
    border-bottom:1px dotted #E3D8B3;
  }
  .toc a:last-child{ border-bottom:none; }
  .toc a:hover{ color:var(--wf-bronze); }
  .toc .num{ color:var(--wf-gold); font-weight:700; margin-right:.5rem; }

  .entry{
    padding:2.75rem 0;
    border-bottom:1px solid #EDE4CC;
  }
  .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:linear-gradient(135deg,var(--wf-gold-light),var(--wf-bronze));
    color:#fff;
    font-family:'Cormorant Garamond',serif;
    font-weight:700;
    font-size:1.25rem;
    flex-shrink:0;
  }
  .entry h2{
    font-size:1.55rem;
    font-weight:600;
    margin-bottom:.15rem;
  }
  .entry .location{
    font-size:.88rem;
    color:#8A7F5C;
    margin-bottom:.85rem;
  }
  .entry .specialty-tag{
    display:inline-block;
    font-size:.78rem;
    padding:.2rem .65rem;
    border-radius:20px;
    background:var(--wf-cream);
    color:var(--wf-bronze);
    border:1px solid #EAD9A0;
    margin:.15rem .3rem .15rem 0;
  }
  .entry.is-wedpic{
    background:linear-gradient(90deg,#FBF3DA 0%, var(--wf-paper) 65%);
    margin:0 -1.5rem;
    padding:2.75rem 1.5rem;
    border-radius:8px;
    border-bottom:1px solid #EDE4CC;
  }
  .entry p{ color:#3E3826; line-height:1.7; }

  .cmp-table th{
    background:var(--wf-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:#FBF3DA; font-weight:500; }

  .tip-card{
    border:1px solid #EDE4CC;
    border-radius:8px;
    padding:1.5rem;
    height:100%;
  }
  .tip-card .tip-num{
    font-family:'Cormorant Garamond',serif;
    color:var(--wf-bronze);
    font-size:1.4rem;
    font-weight:700;
  }

  .accordion-button{
    font-weight:600;
    color:var(--wf-ink);
  }
  .accordion-button:not(.collapsed){
    color:var(--wf-bronze);
    background:#FBF3DA;
  }
  .accordion-button:focus{ box-shadow:0 0 0 .2rem rgba(201,162,39,.2); }

  .closing{
    background:var(--wf-ink);
    color:#E4D9B8;
    padding:3.5rem 0;
  }
  .closing h2{ color:#fff; font-size:1.7rem; }
  .closing a.btn-cta{
    background:linear-gradient(135deg,var(--wf-gold-light),var(--wf-bronze));
    color:#231C10;
    border:none;
    padding:.65rem 1.6rem;
    border-radius:4px;
    font-weight:700;
    text-decoration:none;
    display:inline-block;
  }
  .closing a.btn-cta:hover{ opacity:.9; }

  footer{
    font-size:.85rem;
    color:#9A8F6C;
    padding:2rem 0;
  }

  strong.kw{ color:var(--wf-bronze); }

  @media (max-width:767px){
    .hero h1{ font-size:2.1rem; }
    .entry.is-wedpic{ margin:0; }
  }
