
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  :root{--gold:#aa943f;--navy:#0b1022;--navy2:#141c38;--muted:#8892a4;--border:#232d4a;--bg:#0f1626;--card:#131c30}
  html{font-size:16px;scroll-behavior:smooth}
  body{font-family:'Inter',sans-serif;background:var(--bg);color:#e2e8f0;line-height:1.6;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4,h5{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.1}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .serif{font-family:'Cormorant Garamond',serif}

  /* Layout */
  .container{max-width:1152px;margin:0 auto;padding:0 1.5rem}
  .container-sm{max-width:768px;margin:0 auto;padding:0 1.5rem}
  .container-md{max-width:960px;margin:0 auto;padding:0 1.5rem}

  /* Eyebrow */
  .eyebrow{font-family:'Inter',sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem}

  /* Nav */
  nav{background:rgba(11,16,34,0.97);backdrop-filter:blur(8px);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--border)}
  nav .inner{max-width:1250px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:flex-start;gap:2rem;height:64px}
  nav .logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:0.75rem;white-space:nowrap;flex-shrink:0}
  nav .logo img{height:30px;width:auto;flex-shrink:0}
  nav ul{list-style:none;display:flex;flex:1;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:clamp(0.55rem,0.9vw,1.1rem)}
  nav ul li{flex-shrink:0;white-space:nowrap}
  nav ul a{display:block;white-space:nowrap;font-size:clamp(0.7rem,0.85vw,0.78rem);font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.7);transition:color 0.2s}
  nav ul a:hover,nav ul a.active{color:var(--gold)}

  /* Hero dark */
  .hero-dark{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%);padding:7rem 1.5rem;text-align:center;position:relative;overflow:hidden}
  .hero-dark::before{content:'';position:absolute;inset:0;opacity:0.05;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23aa943f'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E")}
  .hero-dark h1{font-size:clamp(2.4rem,6vw,4.25rem);color:#fff;margin-bottom:1.25rem;line-height:1.05}
  .hero-dark p.sub{font-size:1.1rem;color:rgba(255,255,255,0.7);max-width:640px;margin:0 auto;line-height:1.7}

  /* Sections */
  section{padding:5rem 1.5rem}
  .bg-dark{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%)}
  .bg-card{background:var(--card)}
  .bg-muted{background:#111827}

  /* Gold bar */
  .gold-bar{background:var(--gold);padding:2rem 1.5rem}
  .gold-bar .inner{max-width:1152px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;text-align:center}
  .gold-bar .stat-val{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500;color:#fff}
  .gold-bar .stat-lbl{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-top:0.2rem}

  /* Grid */
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
  .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
  @media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}}
  @media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.gold-bar .inner{grid-template-columns:repeat(2,1fr)}}

  /* Cards */
  .card{border:1px solid var(--border);padding:2rem;background:var(--bg)}
  .card-dark{border:1px solid rgba(255,255,255,0.1);padding:2rem;background:rgba(255,255,255,0.04)}
  .person-card{border:1px solid var(--border);background:var(--bg)}
  .person-card .card-head{padding:1.75rem;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:1rem}
  .person-card .avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid rgba(170,148,63,0.35);flex-shrink:0;background:var(--navy2)}
  .person-card .avatar img{width:100%;height:100%;object-fit:cover;object-position:top}
  .person-card .card-body{padding:1.75rem}
  .person-card h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:600;color:#fff}
  .person-card .role{font-size:0.78rem;color:var(--gold);letter-spacing:0.05em;margin-top:0.25rem}
  .person-card .memorial{font-size:0.7rem;color:rgba(255,255,255,0.5);font-style:italic;letter-spacing:0.12em;text-transform:uppercase;margin-top:0.15rem}
  .person-card p{font-size:0.875rem;color:var(--muted);line-height:1.75}

  /* Buttons */
  .btn-gold{display:inline-flex;align-items:center;gap:0.5rem;background:var(--gold);color:#fff;padding:0.875rem 2rem;font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;border:none;cursor:pointer;transition:opacity 0.2s}
  .btn-gold:hover{opacity:0.88}
  .btn-outline{display:inline-flex;align-items:center;gap:0.5rem;border:1px solid rgba(255,255,255,0.25);color:rgba(255,255,255,0.8);padding:0.875rem 2rem;font-size:0.75rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;transition:all 0.2s}
  .btn-outline:hover{border-color:var(--gold);color:var(--gold)}
  .btn-dark{display:inline-flex;align-items:center;gap:0.5rem;background:var(--navy2);color:#fff;padding:0.875rem 2rem;font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;transition:opacity 0.2s}

  /* Text utilities */
  .text-gold{color:var(--gold)}
  .text-white{color:#fff}
  .text-muted{color:var(--muted)}
  .text-sm{font-size:0.875rem}
  .text-xs{font-size:0.75rem}
  .text-lg{font-size:1.125rem}
  .leading-relaxed{line-height:1.75}
  .font-serif{font-family:'Cormorant Garamond',serif}
  .font-medium{font-weight:500}

  /* Spacing */
  .mb-1{margin-bottom:0.25rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}
  .mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
  .mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}
  .mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}
  .gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}

  /* Section heading block */
  .section-head{text-align:center;margin-bottom:3.5rem}
  .section-head h2{font-size:clamp(2.1rem,4.75vw,3.6rem);color:#fff;margin-top:0.5rem}
  .section-head p{color:var(--muted);max-width:560px;margin:0.75rem auto 0;line-height:1.7;font-size:0.95rem}

  /* Gold accent line */
  .accent-line{width:40px;height:3px;background:var(--gold);margin-bottom:1.5rem}

  /* Two-col layout */
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
  @media(max-width:900px){.two-col{grid-template-columns:1fr;gap:2.5rem}}

  /* Timeline */
  .timeline{position:relative;padding-left:2rem}
  .timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--border)}
  .timeline-item{position:relative;padding-bottom:1.4rem}
  .timeline-item::before{content:'';position:absolute;left:-2.35rem;top:0.35rem;width:0.75rem;height:0.75rem;border-radius:50%;background:var(--gold);border:3px solid var(--bg)}
  .timeline-item .year{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:500;color:var(--gold);line-height:1.1}
  .timeline-item p{font-size:0.875rem;color:var(--muted);margin-top:0.2rem;line-height:1.6;max-width:480px}

  /* Events */
  .event-card{border:1px solid var(--border);background:var(--bg);display:grid;grid-template-columns:200px 1fr;overflow:hidden}
  .event-card img{width:200px;height:100%;object-fit:cover}
  .event-card .event-body{padding:2rem}
  .event-card .event-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:0.75rem}
  .event-card .badge{font-size:0.65rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:0.25rem 0.625rem;border:1px solid var(--border);color:var(--muted)}
  .event-card .badge.upcoming{border-color:rgba(170,148,63,0.5);color:var(--gold)}
  .event-card h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:#fff;margin-bottom:0.5rem}
  .event-card .loc{font-size:0.8rem;color:var(--muted);margin-bottom:1rem}
  .event-card p{font-size:0.875rem;color:var(--muted);line-height:1.75}
  @media(max-width:640px){.event-card{grid-template-columns:1fr}.event-card img{width:100%;height:200px}}

  /* Membership tiers */
  .tier-card{border:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column}
  .tier-card.featured{border-color:var(--gold);background:var(--navy2)}
  .tier-card .tier-head{padding:1.75rem;border-bottom:1px solid var(--border)}
  .tier-card.featured .tier-head{border-color:rgba(170,148,63,0.3)}
  .tier-card .tier-name{font-size:0.7rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem}
  .tier-card.featured .tier-name{color:var(--gold)}
  .tier-card .tier-price{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:500;color:#fff}
  .tier-card .tier-period{font-size:0.8rem;color:var(--muted)}
  .tier-card .tier-desc{font-size:0.85rem;color:var(--muted);margin-top:0.5rem;line-height:1.6}
  .tier-card .tier-body{padding:1.75rem;flex:1;display:flex;flex-direction:column}
  .tier-card ul{list-style:none;flex:1;margin-bottom:1.5rem}
  .tier-card li{font-size:0.85rem;color:var(--muted);padding:0.4rem 0;padding-left:1.25rem;position:relative;line-height:1.5}
  .tier-card li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700}
  .most-popular{display:inline-block;background:var(--gold);color:#fff;font-size:0.65rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;padding:0.2rem 0.75rem;margin-bottom:0.75rem}

  /* FAQ */
  .faq-item{border:1px solid var(--border);padding:1.5rem;margin-bottom:0.75rem}
  .faq-item h3{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:0.5rem}
  .faq-item p{font-size:0.875rem;color:var(--muted);line-height:1.7}

  /* Council */
  .council-section{padding:4rem 1.5rem;border-bottom:1px solid var(--border)}
  .council-section:nth-child(even){background:rgba(255,255,255,0.02)}

  /* Affiliate card */
  .affiliate-card{border:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column}
  .affiliate-card .aff-head{padding:2.5rem 2rem;background:rgba(255,255,255,0.03);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;min-height:100px}
  .affiliate-card .aff-head h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:#fff;text-align:center}
  .affiliate-card .aff-body{padding:2rem;flex:1;display:flex;flex-direction:column}
  .affiliate-card .aff-type{font-size:0.7rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem}
  .affiliate-card p{font-size:0.875rem;color:var(--muted);line-height:1.7;flex:1}
  .affiliate-card a{display:inline-flex;align-items:center;gap:0.4rem;color:var(--gold);font-size:0.85rem;margin-top:1.25rem}

  /* Contact form */
  .form-group{margin-bottom:1.25rem}
  label{display:block;font-size:0.7rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem}
  input,select,textarea{width:100%;background:var(--navy2);border:1px solid var(--border);color:#e2e8f0;padding:0.75rem 1rem;font-family:'Inter',sans-serif;font-size:0.875rem;outline:none;transition:border-color 0.2s}
  input:focus,select:focus,textarea:focus{border-color:var(--gold)}
  textarea{resize:vertical;min-height:140px}
  .form-note{font-size:0.75rem;color:var(--muted);margin-top:0.75rem;line-height:1.6}

  /* Benefits list */
  .benefit-row{display:flex;gap:1.25rem;border:1px solid var(--border);background:var(--bg);padding:1.25rem}
  .benefit-row .accent{width:3px;flex-shrink:0;background:var(--gold)}
  .benefit-row h4{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:0.2rem}
  .benefit-row p{font-size:0.85rem;color:var(--muted);line-height:1.6}

  /* CTA sections */
  .cta-section{padding:5rem 1.5rem;text-align:center;background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 100%)}
  .cta-section h2{font-size:clamp(2.1rem,4.75vw,3.6rem);color:#fff;margin-bottom:1.25rem;line-height:1.15}
  .cta-section p{color:rgba(255,255,255,0.7);max-width:560px;margin:0 auto 2.5rem;line-height:1.7}
  .cta-gold{background:var(--gold);padding:5rem 1.5rem;text-align:center}
  .cta-gold h2{font-size:clamp(2.1rem,4.75vw,3.6rem);color:#fff;margin-bottom:1rem}
  .cta-gold p{color:rgba(255,255,255,0.85);max-width:560px;margin:0 auto 2rem;line-height:1.7}
  .btn-white{display:inline-flex;align-items:center;gap:0.5rem;background:#fff;color:var(--gold);padding:0.875rem 2rem;font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;transition:opacity 0.2s}
  .flex-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}

  /* Testimonials */
  .testimonial{border:1px solid rgba(255,255,255,0.1);padding:2rem}
  .testimonial .quote-mark{font-family:'Cormorant Garamond',serif;font-size:3rem;color:var(--gold);line-height:1;margin-bottom:0.5rem}
  .testimonial blockquote{font-size:0.9rem;color:rgba(255,255,255,0.8);font-style:italic;line-height:1.75;margin-bottom:1.5rem}
  .testimonial .attr-name{font-size:0.875rem;font-weight:600;color:#fff}
  .testimonial .attr-title{font-size:0.75rem;color:rgba(255,255,255,0.5);margin-top:0.2rem}

  /* Nine Muses stat boxes */
  .muse-stat{border:1px solid rgba(170,148,63,0.3);background:rgba(170,148,63,0.07);padding:1.5rem 2rem;text-align:center}
  .muse-stat .val{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500;color:var(--gold)}
  .muse-stat .lbl{font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-top:0.3rem}

  /* Contact info items */
  .contact-item{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}
  .contact-icon{width:36px;height:36px;background:rgba(170,148,63,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}
  .contact-label{font-size:0.75rem;font-weight:700;color:#fff;margin-bottom:0.2rem;text-transform:uppercase;letter-spacing:0.08em}
  .contact-val{font-size:0.875rem;color:var(--muted)}
  .contact-val a{color:var(--muted);transition:color 0.2s}
  .contact-val a:hover{color:var(--gold)}

  /* Council media */
  .video-wrap{position:relative;padding-bottom:56.25%;overflow:hidden;border:1px solid var(--border);max-width:700px}
  .video-wrap iframe{position:absolute;inset:0;width:100%;height:100%}
  .video-caption{font-size:0.8rem;color:var(--muted);font-style:italic;margin-top:0.5rem}

  /* Footer */
  footer{background:var(--navy);border-top:1px solid var(--border);padding:3rem 1.5rem 2rem}
  footer .footer-grid{max-width:1152px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}
  @media(max-width:768px){footer .footer-grid{grid-template-columns:1fr}}
  footer .footer-brand{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:600;color:#fff;margin-bottom:0.75rem}
  footer .footer-tagline{font-size:0.8rem;color:var(--muted);line-height:1.7;max-width:280px}
  footer h4{font-size:0.7rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:1rem}
  footer ul{list-style:none}
  footer ul li{margin-bottom:0.5rem}
  footer ul a{font-size:0.85rem;color:var(--muted);transition:color 0.2s}
  footer ul a:hover{color:var(--gold)}
  footer .footer-bottom{max-width:1152px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid var(--border);font-size:0.75rem;color:rgba(255,255,255,0.3);display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.5rem}


/* ============ Checkout / payment pages ============ */
.checkout-wrap{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
@media(max-width:900px){.checkout-wrap{grid-template-columns:1fr;gap:2.5rem}}
.summary-card{border:1px solid var(--gold);background:var(--navy2);padding:2rem;position:sticky;top:88px}
@media(max-width:900px){.summary-card{position:static}}
.summary-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.25rem;border-bottom:1px solid rgba(170,148,63,0.3);margin-bottom:1.5rem}
.summary-row .amt{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500;color:#fff}
.benefit-list{list-style:none}
.benefit-list li{font-size:0.85rem;color:var(--muted);padding:0.45rem 0 0.45rem 1.4rem;position:relative;line-height:1.6}
.benefit-list li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700}
.pay-note{display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.12);font-size:0.72rem;color:var(--muted)}
.tax-note{font-size:0.72rem;color:var(--muted);text-align:center;margin-top:1rem;line-height:1.7}
.paypal-slot{margin-top:0.5rem}
.paypal-slot form{margin:0}

/* Suggested-amount chips (guidance only, not controls) */
.suggest-row{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem}
.suggest-chip{border:1px solid var(--border);color:var(--muted);padding:0.4rem 0.85rem;font-size:0.8rem;font-family:'Cormorant Garamond',serif;font-size:1.05rem;letter-spacing:0.02em}

/* PayPal button slot + fallback */
.paypal-slot{margin-top:0.5rem;min-height:52px}
.pp-fallback{border:1px solid rgba(220,38,38,0.45);background:rgba(220,38,38,0.08);padding:1rem;margin-top:0.75rem}
.pp-fallback p{font-size:0.82rem;color:#e2e8f0;line-height:1.65;margin-bottom:0.6rem}
.pp-fallback p:last-child{margin-bottom:0}
.pp-fallback a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.next-note{font-size:0.75rem;color:var(--muted);line-height:1.7;margin-top:1rem;text-align:center}
.notice-gold{border-left:3px solid var(--gold);background:rgba(170,148,63,0.08);padding:1.25rem;margin:1.75rem 0}

/* Forms */
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#fff;margin-bottom:0.5rem}
.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--card);border:1px solid var(--border);color:#e2e8f0;padding:0.85rem 1rem;font-family:'Inter',sans-serif;font-size:0.9rem;outline:none;transition:border-color 0.2s;border-radius:0}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold)}
.form-group input::placeholder,.form-group textarea::placeholder{color:#5b6478}
.form-group textarea{resize:vertical;min-height:120px}
.form-note{font-size:0.72rem;color:var(--muted);margin-top:1rem;line-height:1.7}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{background:rgba(220,38,38,0.1);border:1px solid rgba(220,38,38,0.4);color:#fca5a5;padding:1rem;font-size:0.85rem;margin-bottom:1.5rem}
.form-success{background:rgba(170,148,63,0.1);border:1px solid var(--gold);color:#e2e8f0;padding:1.25rem;font-size:0.9rem;margin-bottom:1.5rem}

/* Legal / prose pages */
.prose h2{font-size:1.6rem;color:#fff;margin:2.5rem 0 0.85rem}
.prose h3{font-size:1.15rem;color:#fff;margin:1.75rem 0 0.6rem;font-family:'Inter',sans-serif;font-weight:600}
.prose p{color:var(--muted);font-size:0.925rem;line-height:1.85;margin-bottom:1rem}
.prose ul{color:var(--muted);font-size:0.925rem;line-height:1.85;margin:0 0 1rem 1.25rem}
.prose li{margin-bottom:0.4rem}
.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.prose .updated{font-size:0.75rem;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase}

/* Accessibility */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:#fff;padding:0.75rem 1.25rem;z-index:1000;font-size:0.8rem;font-weight:700}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* Mobile nav */
.nav-toggle{display:none;background:none;border:1px solid var(--border);color:#fff;padding:0.45rem 0.6rem;cursor:pointer;font-size:1rem;line-height:1}
@media(max-width:1200px){
  .nav-toggle{display:block}
  nav ul{display:none;flex:none;justify-content:flex-start;flex-wrap:wrap;gap:0;position:absolute;top:64px;left:0;right:0;background:rgba(11,16,34,0.99);flex-direction:column;gap:0;padding:0.5rem 1.5rem 1.25rem;border-bottom:1px solid var(--border)}
  nav ul.open{display:flex}
  nav ul li{width:100%}
  nav ul a{display:block;padding:0.7rem 0;font-size:0.8rem}
}
@media print{nav,footer,.btn-gold,.btn-outline{display:none!important}body{background:#fff;color:#000}}


/* Keep the ten nav items on one line down to the hamburger breakpoint. */

/* ============ Scroll cue (home hero only) ============ */
/* Styled like .btn-outline; sits in the hero button row, not absolutely placed. */
.scroll-cue{display:inline-flex;align-items:center;gap:0.65rem;
  border:1px solid rgba(170,148,63,0.55);padding:0.7rem 1.15rem;
  font-family:'Inter',sans-serif;font-size:0.8rem;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);
  text-decoration:none;white-space:nowrap;
  transition:border-color 0.2s,background 0.2s,color 0.2s}
.scroll-cue svg{width:14px;height:14px;flex-shrink:0;display:block;
  animation:cue-bob 2.4s ease-in-out infinite}
.scroll-cue:hover{border-color:var(--gold);background:rgba(170,148,63,0.12);color:#fff}
.scroll-cue:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@keyframes cue-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){.scroll-cue svg{animation:none}}

/* ============ Header donate button ============ */
/* Solid gold so it reads as an action, not a menu item. Sits outside <ul>. */
.nav-donate{flex-shrink:0;display:inline-flex;align-items:center;
  background:var(--gold);color:#fff;padding:0.62rem 1.25rem;margin-left:1.5rem;
  font-family:'Inter',sans-serif;font-size:0.76rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;white-space:nowrap;
  transition:background 0.2s,transform 0.15s}
.nav-donate:hover{background:#c0a848;color:#fff}
.nav-donate:active{transform:scale(0.97)}
.nav-donate:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:1200px){
  .nav-toggle{order:3}
  .nav-donate{order:2;margin-left:auto;margin-right:0.85rem;
    padding:0.55rem 1rem;font-size:0.7rem;letter-spacing:0.1em}
}
@media(max-width:420px){
  .nav-donate{padding:0.5rem 0.8rem;font-size:0.65rem;letter-spacing:0.08em}
  nav .logo{font-size:0.95rem}
  nav .logo img{height:26px}
}

/* ============ Home hero brand lockup ============ */
/* ALIGNMENT: .hero-inner is sized and offset by JS to span exactly from the nav
   logo's left edge to the right edge of the last menu item (CONTACT), excluding
   the Donate button. The lockup centres inside that span; the scroll cue pins to
   its right edge. The shift depends on the Donate button's width, which changes
   per breakpoint, so it is measured at runtime rather than hard-coded.
   Without JS it falls back to a centred 1250px container.

   WIDTH: .hero-text is width:max-content and must be sized by the NAME alone,
   so .hero-col uses width:0 (contributes 0 to max-content) + min-width:100%. */

.hero-home{position:relative;
  min-height:calc(100vh - 64px);min-height:calc(100svh - 64px);
  padding:4rem 1.5rem;display:flex;
  flex-direction:column;align-items:center;justify-content:center}

.hero-inner{position:relative;width:100%;max-width:1250px;
  display:flex;flex-direction:column;align-items:center}

.hero-lockup{display:flex;align-items:flex-start;justify-content:center;
  gap:clamp(1.25rem,2.6vw,3rem);max-width:100%}
.hero-mark{height:clamp(110px,11vw,180px);width:auto;flex-shrink:0}

.hero-text{width:max-content;max-width:100%}
.hero-org{margin:0;font-family:'Cormorant Garamond',serif;font-weight:600;
  font-size:clamp(2.4rem,5.6vw,5.2rem);line-height:1.04;color:#fff;
  letter-spacing:0.005em;white-space:nowrap;text-align:left}

.hero-col{width:0;min-width:100%;padding-top:1rem;text-align:center}
.hero-tagline{font-size:clamp(1.4rem,3.1vw,2.6rem);font-weight:400;
  color:rgba(255,255,255,0.92);margin:0;line-height:1.25}
/* Must outrank `.hero-dark p.sub{margin:0 auto}`, which zeroes these margins. */
.hero-home p.hero-sub{margin:2rem auto 0;max-width:min(640px,100%)}
.hero-btns{justify-content:center;margin-top:2.75rem}

/* Pinned to the hero's RIGHT PADDING EDGE, i.e. the full viewport width, not to
   .hero-inner (which is only as wide as the menu span and has no room beside the
   centred buttons). JS sets `top` so it is vertically centred on the buttons.
   Clearance measured 107px at 1200px up to 655px at 2560px. */
.hero-home > .scroll-cue{position:absolute;right:1.5rem;top:0;
  padding:0.875rem 1.5rem}

@media(max-width:1200px){
  .hero-inner{width:100%!important;transform:none!important}
  .hero-home > .scroll-cue{position:static;align-self:center;margin-top:1.75rem}
}
@media(max-width:900px){
  .hero-home{padding:3.5rem 1.5rem;min-height:auto}
  .hero-lockup{flex-direction:column;align-items:center;gap:1.25rem}
  .hero-mark{height:clamp(140px,32vw,200px)}
  .hero-text{width:100%}
  .hero-org{white-space:normal;text-align:center;font-size:clamp(1.9rem,6.6vw,2.9rem)}
  .hero-org br{display:none}
  .hero-col{width:auto;min-width:0;padding-top:0.5rem}
  .hero-tagline{font-size:clamp(1.2rem,4.6vw,1.8rem)}
  .hero-btns{margin-top:2rem}
}

/* ============ Panel badge (gold box on a navy panel) ============ */
/* Used on index.html ("2020 / Founded in Nashville, TN") and about.html
   ("TN / Nashville, Tennessee"). Centred horizontally on its parent panel,
   overhanging the bottom edge. Defined once so both stay in sync. */
.panel-badge{position:absolute;bottom:-1.5rem;left:50%;transform:translateX(-50%);
  background:var(--gold);padding:1.25rem 1.75rem;text-align:center;white-space:nowrap}
.panel-badge > p{margin:0}
.panel-badge .badge-value{font-family:'Cormorant Garamond',serif;color:#fff;font-weight:500}
.panel-badge .badge-label{font-size:0.65rem;color:rgba(255,255,255,0.85);
  letter-spacing:0.1em;text-transform:uppercase;margin-top:0.2rem}
@media(max-width:640px){
  .panel-badge{padding:1rem 1.25rem}
  .panel-badge .badge-label{font-size:0.6rem;letter-spacing:0.08em}
}

/* Sticky nav is 64px tall, so in-page anchors need that much breathing room
   or the target lands underneath the header. */
[id]{scroll-margin-top:72px}
