
:root{--navy:#153966;--navy2:#0f2748;--ink:#1d2430;--muted:#6b7280;--gold:#b6a36a;--gold2:#d9c78b;--cream:#f4efe5;--paper:#fffdf8;--line:rgba(21,57,102,.18);--shadow:0 22px 55px rgba(15,39,72,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.65}a{color:var(--navy)}.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.topbar{background:var(--navy2);color:#e9edf5;font:700 12px Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase}.topbar-inner{display:flex;justify-content:space-between;gap:16px;padding:8px 0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.97);border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(15,39,72,.08)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:310px}.brand-mark{width:60px;height:60px;border-radius:50%;overflow:hidden;border:2px solid var(--gold);display:block;background:#fff}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand strong{display:block;font-size:20px;line-height:1.1}.brand small{display:block;font:12px Arial,sans-serif;color:var(--muted);margin-top:3px}
nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}nav a{text-decoration:none;color:var(--ink);font:800 13px Arial,sans-serif;border-radius:999px;padding:9px 11px}nav a.active,nav a:hover{background:var(--navy);color:#fff}.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font:800 13px Arial,sans-serif}
.hero{color:#fff;background:linear-gradient(118deg,var(--navy2),var(--navy));overflow:hidden;border-bottom:7px solid var(--gold)}.hero-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center;padding:86px 0}.kicker{margin:0 0 12px;color:var(--gold2);font:900 13px Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em}.kicker.dark{color:var(--gold)}
h1,h2,h3{line-height:1.08;margin:0 0 18px}h1{font-size:clamp(43px,7vw,76px);max-width:920px}h2{font-size:clamp(30px,4vw,46px)}h3{font-size:24px}.lead{font-size:22px;max-width:790px;color:#edf3ff}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.btn{display:inline-block;border-radius:999px;padding:13px 19px;font:900 14px Arial,sans-serif;text-decoration:none}.btn-primary{background:var(--gold);color:#111827}.btn-primary:hover{background:var(--gold2);color:#111827}.btn-outline{border:1px solid rgba(255,255,255,.44);color:#fff}.btn-outline:hover{background:rgba(255,255,255,.12);color:#fff}
.banner-card{background:#fff;border:1px solid rgba(255,255,255,.25);border-radius:26px;padding:24px;text-align:center;box-shadow:0 28px 70px rgba(0,0,0,.25);color:var(--ink)}.banner-card img{width:100%;max-height:430px;object-fit:contain}.banner-card p{margin:12px 0 0;color:var(--muted);font-style:italic}
.section{padding:78px 0}.cream{background:var(--cream)}.quick-info{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.quick-info article,.feature-card,.side-card,.privacy-box,.news-feature,.news-sidebar a,.contact-panel,.centenary-card,.latest-strip,.link-card,.meeting-cards article{background:#fff;border:1px solid var(--line);border-top:5px solid var(--gold);border-radius:22px;padding:26px;box-shadow:var(--shadow)}.quick-info span,.feature-card span,.date{color:var(--gold);font:900 13px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}.quick-info strong{display:block;font-size:28px;margin-top:8px;color:var(--navy)}
.intro-grid,.content-layout,.contact-grid{display:grid;grid-template-columns:.82fr 1.25fr;gap:58px;align-items:start}.prose p{font-size:18px}
.feature-row{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:22px}.three-equal{grid-template-columns:repeat(3,1fr)}.feature-card-large{background:linear-gradient(145deg,#fff,#fff7e7)}.feature-card a{font:900 14px Arial,sans-serif}
.split-panel{background:var(--navy2);color:#fff}.split-panel-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:44px;align-items:center}.panel-image{display:grid;place-items:center}.panel-image img{width:min(340px,80%);filter:drop-shadow(0 24px 34px rgba(0,0,0,.35))}.panel-content p{font-size:18px;color:#e5ecf7}
.latest-strip{display:grid;grid-template-columns:.75fr 1.25fr;gap:32px;align-items:start}.news-mini{display:grid;grid-template-columns:1fr 1fr;gap:16px}.news-mini a{display:block;text-decoration:none;border-left:4px solid var(--gold);padding-left:16px}.news-mini strong,.news-mini span{display:block}.news-mini span{color:var(--muted);font:14px Arial,sans-serif;margin-top:4px}
.page-hero{color:#fff;background:linear-gradient(118deg,var(--navy2),var(--navy));padding:76px 0;border-bottom:6px solid var(--gold)}.gold-hero{background:linear-gradient(118deg,#3a2609,var(--navy2))}
.side-card{position:sticky;top:110px}.side-card img,.contact-panel img{width:100%;max-height:240px;object-fit:contain}.banner-side{text-align:center}.banner-side p{font-style:italic;color:var(--muted)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.info-grid div{background:var(--cream);border-radius:18px;padding:20px}.privacy-box{margin-top:28px;background:#fff7e7}
.timeline{display:grid;gap:20px;max-width:950px}.timeline article{background:#fff;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:20px;padding:24px;box-shadow:var(--shadow)}
.meeting-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.meeting-cards strong{display:block;font-size:26px;color:var(--navy)}
.news-layout{display:grid;grid-template-columns:1.35fr .75fr;gap:26px}.news-logo img{width:170px}.news-sidebar{display:grid;gap:18px}.news-sidebar a{text-decoration:none;display:block}.news-sidebar span{color:var(--gold);font:900 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}.news-sidebar strong{display:block;font-size:20px}.news-sidebar p{margin-bottom:0;color:var(--muted)}
.centenary-card{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:center}.centenary-card img{width:100%;max-height:330px;object-fit:contain}.links-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.muted{color:var(--muted);font:14px Arial,sans-serif}
.site-footer{background:var(--navy2);color:#d8deea;padding:34px 0;font:14px Arial,sans-serif}.site-footer a{color:var(--gold2)}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand img{width:70px;height:70px;object-fit:cover;border-radius:50%;border:2px solid var(--gold)}.footer-grid{display:flex;justify-content:space-between;gap:26px}
@media(max-width:960px){.topbar-inner,.footer-grid{flex-direction:column}.menu-button{display:inline-block}nav{display:none;width:100%;justify-content:flex-start}nav.open{display:flex}.header-inner{flex-wrap:wrap}.hero-inner,.quick-info,.intro-grid,.content-layout,.contact-grid,.feature-row,.split-panel-grid,.latest-strip,.news-mini,.news-layout,.centenary-card,.links-grid,.info-grid,.meeting-cards{grid-template-columns:1fr}.side-card{position:static}.section{padding:60px 0}.brand{min-width:0}}


/* Enriched history page */
.history-intro{display:grid;grid-template-columns:.72fr 1.28fr;gap:54px;align-items:center}
.history-banner{background:#fff;border:1px solid var(--line);border-top:5px solid var(--gold);border-radius:24px;padding:24px;text-align:center;box-shadow:var(--shadow)}
.history-banner img{width:100%;max-height:520px;object-fit:contain}
.history-banner p,.banner-side p{font-style:italic;color:var(--muted)}
.history-timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:28px}
.history-timeline article{background:#fff;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:20px;padding:24px;box-shadow:var(--shadow)}
.history-timeline span{color:var(--gold);font:900 13px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}
.history-feature-grid{display:grid;grid-template-columns:1.25fr .875fr .875fr;gap:22px}
.navy-section{background:var(--navy2);color:#fff}
.navy-section p{color:#e8eef7}
.history-closing{max-width:850px;text-align:center}
.history-closing h2{color:#fff}
.history-preview-section{background:#fff}
.history-preview{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.history-preview-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.history-preview-cards article{background:var(--cream);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:18px;padding:20px}
.history-preview-cards strong{display:block;color:var(--navy);font-size:30px;line-height:1}
.history-preview-cards span{display:block;margin-top:8px;color:var(--muted);font:14px Arial,sans-serif}
@media(max-width:960px){
  .history-intro,.history-timeline,.history-feature-grid,.history-preview,.history-preview-cards{grid-template-columns:1fr}
}


/* Proper vertical history timeline */
.history-timeline.timeline-line {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  max-width: 1040px;
  margin: 44px auto 0;
}

.history-timeline.timeline-line::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 50%;
  width: 4px;
  transform: translateX(-50%);
  background: linear-gradient(
    to bottom,
    transparent,
    var(--gold),
    var(--gold),
    transparent
  );
  border-radius: 999px;
}

.history-timeline.timeline-line article {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 54px;
  align-items: center;
  margin: 0;
  padding: 0 0 34px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.history-timeline.timeline-line article::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 22px;
  width: 22px;
  height: 22px;
  transform: translateX(-50%);
  background: var(--paper);
  border: 5px solid var(--gold);
  border-radius: 50%;
  z-index: 2;
  box-shadow: 0 0 0 8px rgba(182, 163, 106, 0.16);
}

.history-timeline.timeline-line article:nth-child(odd) .timeline-date {
  grid-column: 1;
  text-align: right;
}

.history-timeline.timeline-line article:nth-child(odd) .timeline-content {
  grid-column: 2;
}

.history-timeline.timeline-line article:nth-child(even) .timeline-date {
  grid-column: 2;
  text-align: left;
}

.history-timeline.timeline-line article:nth-child(even) .timeline-content {
  grid-column: 1;
  grid-row: 1;
  text-align: right;
}

.timeline-date {
  color: var(--gold);
  font: 900 15px Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .14em;
  padding-top: 18px;
}

.timeline-content {
  background: #fff;
  border: 1px solid var(--line);
  border-top: 5px solid var(--gold);
  border-radius: 22px;
  padding: 26px;
  box-shadow: var(--shadow);
}

.timeline-content h3 {
  margin-bottom: 12px;
}

.timeline-content p {
  margin-bottom: 0;
}

@media(max-width: 960px) {
  .history-timeline.timeline-line {
    margin-left: 8px;
  }

  .history-timeline.timeline-line::before {
    left: 16px;
  }

  .history-timeline.timeline-line article,
  .history-timeline.timeline-line article:nth-child(odd),
  .history-timeline.timeline-line article:nth-child(even) {
    display: block;
    padding-left: 42px;
    padding-bottom: 26px;
  }

  .history-timeline.timeline-line article::before {
    left: 16px;
    top: 8px;
  }

  .history-timeline.timeline-line article:nth-child(odd) .timeline-date,
  .history-timeline.timeline-line article:nth-child(even) .timeline-date,
  .history-timeline.timeline-line article:nth-child(even) .timeline-content {
    text-align: left;
  }

  .timeline-date {
    padding-top: 0;
    margin-bottom: 10px;
  }
}


/* Book-style history page */
.book-section {
  background:
    linear-gradient(90deg, rgba(182,163,106,.08), transparent 24%, transparent 76%, rgba(182,163,106,.08)),
    var(--cream);
}

.book-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}

.book-sidebar {
  position: sticky;
  top: 110px;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 5px solid var(--gold);
  border-radius: 24px;
  padding: 22px;
  box-shadow: var(--shadow);
  max-height: calc(100vh - 140px);
  overflow: auto;
}

.book-cover-card {
  text-align: center;
  border-bottom: 1px solid var(--line);
  margin-bottom: 18px;
  padding-bottom: 18px;
}

.book-cover-card img {
  width: 100%;
  max-height: 220px;
  object-fit: contain;
  margin-bottom: 12px;
}

.book-cover-card h2 {
  font-size: 24px;
  margin-bottom: 6px;
}

.book-search-label {
  display: block;
  color: var(--gold);
  font: 900 12px Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin: 0 0 8px;
}

.book-search {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 12px 14px;
  font: 15px Arial, sans-serif;
  margin-bottom: 20px;
}

.book-toc {
  display: grid;
  gap: 4px;
}

.book-toc a {
  display: block;
  text-decoration: none;
  padding: 9px 10px;
  border-radius: 12px;
  color: var(--ink);
  font: 800 13px Arial, sans-serif;
}

.book-toc a:hover {
  background: var(--cream);
  color: var(--navy);
}

.book-pages {
  display: grid;
  gap: 30px;
}

.book-note,
.book-chapter {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: clamp(26px, 5vw, 56px);
  box-shadow: var(--shadow);
  max-width: 900px;
  margin: 0 auto;
}

.book-chapter {
  position: relative;
  background:
    linear-gradient(90deg, rgba(182,163,106,.07), transparent 7%, transparent 93%, rgba(182,163,106,.07)),
    #fff;
}

.chapter-number {
  color: var(--gold);
  font: 900 13px Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .16em;
  margin-bottom: 14px;
}

.book-chapter h2 {
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
  margin-bottom: 24px;
}

.book-chapter p {
  font-size: 18px;
  line-height: 1.8;
}

.book-chapter mark {
  background: rgba(217,199,139,.6);
  color: inherit;
  padding: 0 2px;
  border-radius: 3px;
}

.book-chapter.hidden-by-search {
  display: none;
}

@media(max-width: 960px) {
  .book-layout {
    grid-template-columns: 1fr;
  }

  .book-sidebar {
    position: static;
    max-height: none;
  }
}

@media print {
  .topbar,
  .site-header,
  .site-footer,
  .book-sidebar,
  .page-hero .actions {
    display: none !important;
  }

  body {
    background: #fff;
  }

  .page-hero {
    color: #000;
    background: #fff;
    border-bottom: 1px solid #000;
    padding: 20px 0;
  }

  .page-hero .lead {
    color: #000;
  }

  .book-section {
    background: #fff;
    padding: 0;
  }

  .book-layout {
    display: block;
    width: 100%;
  }

  .book-note,
  .book-chapter {
    box-shadow: none;
    border: 0;
    padding: 0;
    max-width: none;
    page-break-after: always;
  }

  .book-chapter p {
    font-size: 11pt;
    line-height: 1.45;
  }

  a {
    color: #000;
    text-decoration: none;
  }
}

.contact-divider{border:0;border-top:1px solid var(--line);margin:22px 0;}

.admin-link{background:var(--gold);color:#111827!important;border-radius:999px;padding:9px 12px;text-decoration:none;font:900 13px Arial,sans-serif}.admin-link:hover{background:var(--gold2);color:#111827!important}


/* Draft watermark for history pages */
body.draft-history-page {
  position: relative;
}

body.draft-history-page::before {
  content: "DRAFT";
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  pointer-events: none;
  color: rgba(21, 57, 102, 0.08);
  font: 900 clamp(72px, 18vw, 220px) Arial, sans-serif;
  letter-spacing: 0.18em;
  transform: rotate(-28deg);
  text-transform: uppercase;
}

.draft-history-notice {
  margin-top: 22px;
  margin-bottom: -28px;
  background: rgba(182, 163, 106, 0.16);
  border: 1px solid rgba(182, 163, 106, 0.45);
  border-left: 6px solid var(--gold);
  border-radius: 16px;
  padding: 14px 18px;
  font: 700 14px Arial, sans-serif;
  color: var(--ink);
}

.draft-history-notice strong {
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: .08em;
}

@media print {
  body.draft-history-page::before {
    color: rgba(0, 0, 0, 0.08);
  }

  .draft-history-notice {
    display: block !important;
    margin: 0 0 18px;
    border: 1px solid #777;
    background: #fff;
  }
}

.history-source-note,
.history-attribution-note {
    background: #fffaf1;
    border: 1px solid rgba(21, 57, 102, 0.18);
    border-left: 6px solid #b6a36a;
    border-radius: 22px;
    padding: 26px;
    box-shadow: 0 18px 45px rgba(15,39,72,.10);
}

.history-source-note h2,
.history-attribution-note h2 {
    margin-top: 0;
}


/* Layout tidy-up for history book pages */
body.draft-history-page::before {
  content: none !important;
  display: none !important;
}

.draft-watermark {
  display: none !important;
}

.draft-history-notice {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  max-width: none !important;
  width: 100% !important;
  background: #fff7df !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(182, 163, 106, 0.5) !important;
  border-left: 0 !important;
  padding: 12px max(16px, calc((100vw - 1180px) / 2)) !important;
  position: relative;
  z-index: 2;
}

/* Keep the header/nav cleaner as the menu grows */
.header-inner {
  gap: 18px;
}

.brand {
  min-width: 280px;
}

nav#nav {
  align-items: center;
}

nav#nav a {
  white-space: nowrap;
}

.admin-link {
  margin-left: 6px;
}


.book-layout {
  position: relative;
  z-index: 1;
}

.page-hero.gold-hero {
  padding-top: 84px;
  padding-bottom: 84px;
}

.book-sidebar {
  top: 5px;
}

@media (max-width: 1100px) {
  .brand {
    min-width: 240px;
  }

  nav#nav a {
    padding-left: 8px;
    padding-right: 8px;
    font-size: 12px;
  }
}

@media (max-width: 960px) {
  nav#nav a {
    font-size: 13px;
  }

  .draft-history-notice {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

}

@media print {
  .book-section::before,
  .draft-history-notice {
    display: none !important;
  }
}


/* Book import cleanup */
.book-chapter p {
    margin: 0 0 1rem;
    text-indent: 0;
    word-spacing: normal;
    letter-spacing: normal;
    line-height: 1.72;
}

.book-chapter p + p {
    margin-top: 0;
}

.book-pages {
    overflow-wrap: anywhere;
}

.book-chapter h2 {
    overflow-wrap: anywhere;
}

/* Google-generated history audio player */
.history-audio-panel,
.history-copyright-panel {
    background: #fffaf1;
    border: 1px solid rgba(21, 57, 102, 0.18);
    border-left: 6px solid #b6a36a;
    border-radius: 22px;
    padding: 26px;
    box-shadow: 0 18px 45px rgba(15,39,72,.10);
    margin: 24px 0;
}

.history-audio-panel h2,
.history-copyright-panel h2 {
    margin-top: 0;
}

.history-audio-panel audio {
    display: block;
    width: 100%;
    margin-top: 16px;
}

.history-audio-panel code {
    display: inline-block;
    background: rgba(21, 57, 102, 0.08);
    border: 1px solid rgba(21, 57, 102, 0.18);
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 0.9rem;
}


/* Section audio controls */
.book-audio-toolbar {
    background: #fffaf1;
    border: 1px solid rgba(21, 57, 102, 0.18);
    border-left: 6px solid #b6a36a;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 18px 45px rgba(15,39,72,.10);
    max-width: 900px;
    margin: 0 auto 30px;
}

.book-audio-toolbar h2 {
    margin-bottom: 10px;
}

.book-audio-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0;
}

.btn-outline.dark {
    color: #1d2430;
    border-color: rgba(21, 57, 102, .32);
}

.history-audio-player {
    width: 100%;
    margin-top: 8px;
}

.audio-status {
    color: #667085;
    font: 700 14px Arial, sans-serif;
    margin: 12px 0 0;
}

.audio-missing-note {
    background: rgba(182, 163, 106, .13);
    border-radius: 16px;
    padding: 16px;
}

.section-play-button {
    appearance: none;
    border: 1px solid rgba(21, 57, 102, .18);
    background: #fffaf1;
    color: #153966;
    border-radius: 999px;
    padding: 9px 14px;
    margin: 0 0 18px;
    font: 900 13px Arial, sans-serif;
    cursor: pointer;
}

.section-play-button:hover {
    background: #b6a36a;
    color: #111827;
}

.book-chapter.is-currently-playing {
    outline: 4px solid rgba(182, 163, 106, .55);
    border-color: #b6a36a;
    box-shadow: 0 0 0 10px rgba(182, 163, 106, .13), 0 22px 55px rgba(15,39,72,.18);
}

.book-chapter.is-currently-playing::before {
    content: "Currently playing";
    display: inline-block;
    background: #153966;
    color: #fff;
    border-radius: 999px;
    padding: 7px 12px;
    margin-bottom: 14px;
    font: 900 12px Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* Contact page */
.contact-grid {
  grid-template-columns: .72fr 1.28fr;
  align-items: start;
}

.contact-panel {
  position: sticky;
  top: 110px;
  padding: 28px;
}

.contact-panel img {
  display: block;
  width: min(240px, 80%);
  max-height: 260px;
  margin: 0 auto 28px;
  object-fit: contain;
}

.contact-panel h2 {
  font-size: clamp(28px, 3vw, 42px);
  margin-bottom: 14px;
}

.contact-panel p {
  margin: 0 0 16px;
}

.contact-divider {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 24px 0;
}

.contact-main {
  max-width: 780px;
}

.contact-main h2 {
  margin-bottom: 18px;
}

.contact-intro {
  font-size: 18px;
  margin-bottom: 28px;
}

.contact-form-card {
  background: #fff;
  border: 1px solid var(--line);
  border-top: 5px solid var(--gold);
  border-radius: 24px;
  padding: clamp(22px, 3vw, 34px);
  box-shadow: var(--shadow);
}

.contact-form {
  display: grid;
  gap: 20px;
}

.contact-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.contact-form .form-group {
  display: grid;
  gap: 8px;
}

.contact-form label {
  font: 900 13px Arial, sans-serif;
  color: var(--navy);
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(21, 57, 102, .24);
  border-radius: 14px;
  padding: 12px 14px;
  background: var(--paper);
  color: var(--ink);
  font: 16px Arial, sans-serif;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline: 3px solid rgba(182, 163, 106, .28);
  border-color: var(--gold);
  background: #fff;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 4px;
}

.form-actions .btn {
  border: 0;
  cursor: pointer;
}

.form-note {
  margin: 0;
  color: var(--muted);
  font: 14px Arial, sans-serif;
}

.contact-alert {
  margin: 0 0 22px;
  border-radius: 16px;
  padding: 16px 18px;
  font: 700 14px Arial, sans-serif;
}

.contact-alert ul {
  margin: 8px 0 0 18px;
  padding: 0;
}

.contact-alert-success {
  background: #f6f1df;
  border: 1px solid rgba(182, 163, 106, .45);
  border-left: 6px solid var(--gold);
}

.contact-alert-error {
  background: #fff2f2;
  border: 1px solid rgba(153, 27, 27, .24);
  border-left: 6px solid #991b1b;
}

@media(max-width: 960px) {
  .contact-panel {
    position: static;
  }
}

@media(max-width: 700px) {
  .contact-form .form-row {
    grid-template-columns: 1fr;
  }

  .form-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Simple anti-spam honeypot field: visible to basic bots, hidden from visitors. */
.bot-field {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
