:root{
    --gold-deep:#8a6a12;
    --gold:#c9a227;
    --gold-light:#e6c96b;
    --cream:#fbf8f1;
    --ink:#2a2416;
    --ink-soft:#5c5340;
    --hairline:#e5dcc2;
  }

  html{scroll-behavior:smooth;}

  body{
    font-family:'Karla', sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.7;
  }

  h1, h2, h3, .display-font{
    font-family:'Cormorant Garamond', serif;
    font-weight:700;
    color:var(--ink);
  }

  a{color:var(--gold-deep);}
  a:hover{color:var(--gold);}

  /* Header */
  .site-header{
    background:var(--cream);
    border-bottom:1px solid var(--hairline);
  }
  .brand-mark{
    width:40px;height:40px;
    border-radius:50%;
    background:conic-gradient(from 220deg, var(--gold-deep), var(--gold-light), var(--gold-deep));
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1rem;
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.6);
  }
  .brand-name{
    font-family:'Cormorant Garamond', serif;
    font-weight:700;
    font-size:1.4rem;
    letter-spacing:.02em;
  }

  /* Hero */
  .hero{
    background:
      radial-gradient(1100px 480px at 85% -10%, rgba(201,162,39,.18), transparent 60%),
      var(--cream);
    padding:5.5rem 0 4rem;
    border-bottom:1px solid var(--hairline);
  }
  .hero .kicker{
    color:var(--gold-deep);
    font-size:.95rem;
    margin-bottom:.75rem;
  }
  .hero h1{
    font-size:clamp(2.4rem, 5vw, 3.6rem);
    line-height:1.08;
    max-width:14ch;
  }
  .hero p.lead{
    max-width:56ch;
    color:var(--ink-soft);
    font-size:1.15rem;
  }
  .hero-rule{
    width:64px;height:3px;
    background:linear-gradient(90deg, var(--gold-deep), var(--gold-light));
    margin:1.5rem 0;
  }

  /* Intro */
  .intro{max-width:70ch;}
  .intro p{color:var(--ink-soft);}

  /* Photographer entries */
  .entry{
    border-top:1px solid var(--hairline);
    padding:3rem 0;
  }
  .entry:last-of-type{border-bottom:1px solid var(--hairline);}
  .entry-number{
    font-family:'Cormorant Garamond', serif;
    font-size:3.4rem;
    line-height:1;
    color:var(--gold);
    font-weight:600;
  }
  .entry h2{
    font-size:1.9rem;
    margin-bottom:.35rem;
  }
  .entry .specialty{
    display:inline-block;
    font-size:.85rem;
    color:var(--gold-deep);
    border:1px solid var(--gold-light);
    background:rgba(201,162,39,.08);
    border-radius:4px;
    padding:.2rem .6rem;
    margin-bottom:1rem;
  }
  .entry p.desc{color:var(--ink-soft);max-width:62ch;}
  .entry .visit-link{
    font-size:.95rem;
    font-weight:600;
    text-decoration:none;
    border-bottom:1px solid var(--gold);
    padding-bottom:2px;
  }

  .entry.is-host{
    background:linear-gradient(180deg, rgba(201,162,39,.07), transparent 70%);
    border-radius:8px;
    padding:3rem 2rem;
    margin:0 -2rem;
  }

  /* FAQ */
  .faq-section{
    background:#fff;
    border-top:1px solid var(--hairline);
    border-bottom:1px solid var(--hairline);
    padding:4rem 0;
  }
  .accordion-button{
    font-family:'Cormorant Garamond', serif;
    font-size:1.25rem;
    font-weight:600;
    color:var(--ink);
    background:transparent;
  }
  .accordion-button:not(.collapsed){
    color:var(--gold-deep);
    background:rgba(201,162,39,.06);
    box-shadow:none;
  }
  .accordion-button:focus{box-shadow:0 0 0 2px rgba(201,162,39,.35);}
  .accordion-item{border-color:var(--hairline);}

  /* Closing CTA */
  .closing{
    padding:4.5rem 0 5.5rem;
    text-align:center;
  }
  .closing h2{
    font-size:2.1rem;
    max-width:24ch;
    margin:0 auto 1rem;
  }
  .closing p{
    color:var(--ink-soft);
    max-width:52ch;
    margin:0 auto 1.75rem;
  }
  .btn-gold{
    background:linear-gradient(90deg, var(--gold-deep), var(--gold));
    border:none;
    color:#fff;
    padding:.7rem 1.9rem;
    font-weight:600;
    border-radius:4px;
  }
  .btn-gold:hover{color:#fff;filter:brightness(1.06);}

  footer{
    background:var(--ink);
    color:#d8d1bd;
    padding:2.5rem 0;
    font-size:.9rem;
  }
  footer a{color:#f0dfa4;}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
  }
