/* FILE: css/custom.css */
:root {
  --adfm-ink: #180c0d;
  --adfm-dark: #241012;
  --adfm-dark-2: #3b1419;
  --adfm-dark-3: #5b2026;
  --adfm-burgundy: #6f2028;
  --adfm-burgundy-dark: #4a151b;
  --adfm-light: #fff8e7;
  --adfm-light-2: #f7ecd3;
  --adfm-white: #fffdf7;
  --adfm-gold: #f5d76e;
  --adfm-gold-deep: #c8952e;
  --adfm-gold-soft: #f3dc89;
  --adfm-bronze: #9b5c2f;
  --adfm-text: #2a1a17;
  --adfm-muted: #6e5b53;
  --adfm-border: rgba(42, 26, 23, .14);
  --adfm-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --adfm-radius-sm: .65rem;
  --adfm-radius: 1.1rem;
  --adfm-radius-lg: 1.65rem;
  --adfm-shadow-sm: 0 10px 25px rgba(55, 20, 20, .09);
  --adfm-shadow: 0 24px 60px rgba(55, 20, 20, .16);
  --adfm-shadow-dark: 0 30px 80px rgba(24, 8, 9, .34);
  --adfm-transition: 180ms ease;
  --adfm-section: clamp(4.5rem, 8vw, 7rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body {
  margin: 0;
  max-width: 100%;
  overflow-x: hidden;
  background: var(--adfm-light-2);
  color: var(--adfm-text);
  font-family: var(--adfm-font);
  font-size: 1rem;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img, svg, video, iframe { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: inherit; }
button, input, select, textarea { max-width: 100%; }
.container, .container-fluid, .row, [class*="col-"] { min-width: 0; }
.place-items-center { place-items: center; }
p, li, blockquote, .form-note, .contact-list span { overflow-wrap: anywhere; }
::selection { background: var(--adfm-gold); color: var(--adfm-dark); }

h1, h2, h3, h4, h5, h6 {
  color: var(--adfm-dark);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
  text-wrap: balance;
}
h1 { font-size: clamp(2.65rem, 7vw, 5.9rem); }
h2 { font-size: clamp(2rem, 4.4vw, 3.7rem); }
h3 { font-size: clamp(1.35rem, 2.4vw, 1.85rem); }
p:last-child { margin-bottom: 0; }
.lead { font-size: clamp(1.08rem, 1.9vw, 1.34rem); line-height: 1.65; }
.text-muted { color: var(--adfm-muted) !important; }

.skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 2000;
  transform: translateY(-180%);
  border-radius: var(--adfm-radius-sm);
  background: var(--adfm-gold);
  color: var(--adfm-dark);
  padding: .7rem 1rem;
  font-weight: 800;
  transition: transform var(--adfm-transition);
}
.skip-link:focus { transform: translateY(0); }


.site-header {
  z-index: 1040;
  background: rgba(30, 10, 12, .97);
  border-bottom: 1px solid rgba(245, 215, 110, .18);
  box-shadow: 0 8px 30px rgba(24, 8, 9, .22);
  backdrop-filter: blur(14px);
}
.navbar { min-height: 90px; padding-block: 0; }
.nav-shell {
  width: 100%;
  max-width: 1520px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 3vw, 2.75rem);
}
.navbar-brand, .footer-brand {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  max-width: min(100%, 390px);
  min-width: 0;
  text-decoration: none;
}
.navbar-brand img {
  width: 68px;
  height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.2));
}
.brand-copy, .footer-brand span { display: grid; min-width: 0; line-height: 1.08; }
.brand-copy strong, .footer-brand strong { color: var(--adfm-gold); font-size: .95rem; letter-spacing: -.01em; }
.brand-copy small, .footer-brand small { color: var(--adfm-white); font-size: .72rem; letter-spacing: .03em; }
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255,253,247,.84);
  font-weight: 750;
  padding: .72rem .7rem;
  border-radius: .6rem;
  white-space: nowrap;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link.active {
  color: var(--adfm-gold);
  background: rgba(245,215,110,.09);
}
.navbar-toggler {
  margin-left: auto;
  border-color: rgba(245,215,110,.52);
  color: var(--adfm-gold);
}
.navbar-toggler:focus { box-shadow: 0 0 0 .25rem rgba(245,215,110,.22); }
#primaryNav { --bs-offcanvas-width: min(90vw, 380px); }
.mobile-nav-panel { background: linear-gradient(165deg, var(--adfm-dark) 0%, var(--adfm-dark-2) 100%); color: var(--adfm-white); }
.offcanvas-brand { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.offcanvas-brand img { width: 52px; height: 49px; object-fit: contain; }
.offcanvas-brand-copy { display: grid; min-width: 0; line-height: 1.08; }
.offcanvas-brand-copy strong { color: var(--adfm-gold); font-size: .88rem; }
.offcanvas-brand-copy small { color: rgba(255,253,247,.76); font-size: .66rem; }
.nav-balance { display: none; }
.navbar-nav .btn { white-space: nowrap; }

@media (min-width: 1200px) {
  .nav-shell {
    display: grid !important;
    grid-template-columns: clamp(220px, 20vw, 290px) minmax(0, 1fr) clamp(220px, 20vw, 290px);
    align-items: center;
  }
  .navbar-brand { grid-column: 1; justify-self: start; }
  #primaryNav {
    grid-column: 2;
    justify-self: center;
    width: 100%;
    max-width: 760px;
  }
  .mobile-nav-panel { background: transparent; color: inherit; }
  #primaryNav .offcanvas-body { display: flex; justify-content: center; padding: 0; overflow: visible; }
  #primaryNav .navbar-nav { margin-inline: auto !important; justify-content: center; align-items: center; }
  .nav-balance { display: block; grid-column: 3; width: 100%; }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .navbar-brand { gap: .6rem; }
  .navbar-brand img { width: 56px; height: 53px; }
  .brand-copy strong { font-size: .82rem; }
  .brand-copy small { font-size: .62rem; }
  .navbar-dark .navbar-nav .nav-link { padding-inline: .48rem; font-size: .9rem; }
  .navbar-nav .btn { padding-inline: 1rem !important; }
}

.btn { border-radius: .72rem; font-weight: 800; letter-spacing: .01em; padding: .82rem 1.25rem; transition: transform var(--adfm-transition), box-shadow var(--adfm-transition), background-color var(--adfm-transition), border-color var(--adfm-transition); }
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible { outline: 3px solid rgba(250,225,132,.55); outline-offset: 3px; }
.btn-gold { border: 1px solid var(--adfm-gold); background: var(--adfm-gold); color: var(--adfm-dark); box-shadow: 0 10px 26px rgba(212,175,55,.18); }
.btn-gold:hover, .btn-gold:focus { background: #ffe59a; border-color: #ffe59a; color: var(--adfm-dark); box-shadow: 0 16px 35px rgba(212,175,55,.28); }
.btn-outline-gold { border: 1px solid var(--adfm-gold); color: var(--adfm-gold); background: transparent; }
.btn-outline-gold:hover, .btn-outline-gold:focus { color: var(--adfm-dark); background: var(--adfm-gold); border-color: var(--adfm-gold); box-shadow: 0 14px 30px rgba(212,175,55,.2); }
.btn-dark-gold { border: 1px solid var(--adfm-dark); background: var(--adfm-dark); color: var(--adfm-gold); }
.btn-dark-gold:hover, .btn-dark-gold:focus { color: var(--adfm-gold); background: var(--adfm-dark-2); box-shadow: var(--adfm-shadow-sm); }

.section-pad { padding-block: var(--adfm-section); }
.section-dark { position: relative; background: var(--adfm-dark); color: var(--adfm-white); }
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 { color: var(--adfm-white); }
.section-cream { background: var(--adfm-light); }
.section-white { background: var(--adfm-white); }
.section-kicker, .eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1rem; color: var(--adfm-gold-deep); font-size: .78rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.section-dark .section-kicker, .section-dark .eyebrow { color: var(--adfm-gold); }
.section-intro { max-width: 760px; }
.gold-rule { width: 78px; height: 4px; border-radius: 100px; background: linear-gradient(90deg,var(--adfm-gold),var(--adfm-gold-deep)); }

.hero { min-height: min(880px, calc(100svh - 82px)); display: grid; align-items: center; isolation: isolate; padding-block: clamp(4rem, 9vw, 7.75rem); overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: radial-gradient(circle at 18% 20%, rgba(250,225,132,.16), transparent 28%), radial-gradient(circle at 88% 72%, rgba(212,175,55,.13), transparent 30%), linear-gradient(135deg,#17090b 0%,#2b0d10 52%,#5b2026 100%); }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .23; background-image: linear-gradient(rgba(250,225,132,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(250,225,132,.12) 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom,black,transparent 88%); }
.hero-copy { position: relative; z-index: 2; }
.hero h1 span { color: var(--adfm-gold); }
.hero .lead { max-width: 760px; color: rgba(255,253,247,.86); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.hero-panel { position: relative; z-index: 1; min-height: 540px; border: 1px solid rgba(250,225,132,.25); border-radius: var(--adfm-radius-lg); background: linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025)); box-shadow: var(--adfm-shadow-dark); overflow: hidden; }
.hero-panel img { width: 100%; height: 100%; min-height: 540px; object-fit: cover; opacity: .75; filter: saturate(.65) contrast(1.08); }
.hero-panel::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(36,16,18,.92),transparent 58%),linear-gradient(120deg,rgba(250,225,132,.17),transparent 45%); }
.hero-panel-copy { position:absolute; inset:auto 1.4rem 1.4rem; z-index:2; padding:1.15rem; border-left:3px solid var(--adfm-gold); background:rgba(36,16,18,.78); backdrop-filter:blur(10px); }
.hero-panel-copy strong { display:block; color:var(--adfm-gold); font-size:1.15rem; }
.hero-arrow { position:absolute; right:-5rem; top:10%; z-index:0; color:rgba(250,225,132,.09); font-size:clamp(16rem,30vw,34rem); transform:rotate(-10deg); }

.page-hero { padding-block: clamp(5rem, 10vw, 8.5rem); overflow: hidden; }
.page-hero .lead { max-width: 760px; color: rgba(255,253,247,.84); }
.hero-mark { display: inline-grid; place-items: center; color: rgba(250,225,132,.24); font-size: clamp(6rem, 14vw, 12rem); }
.arrow-grid { position:absolute; inset:0; opacity:.18; background-image:linear-gradient(130deg,transparent 48%,rgba(250,225,132,.13) 49%,rgba(250,225,132,.13) 50%,transparent 51%); background-size:80px 80px; }

.mission-box { padding: clamp(1.5rem, 4vw, 3.3rem); border: 1px solid rgba(212,175,55,.28); border-left: 6px solid var(--adfm-gold-deep); border-radius: var(--adfm-radius); background: #fffdf7; box-shadow: var(--adfm-shadow-sm); }
.mission-box p { font-size: 1.05rem; }
.mission-closer { margin-top: 1.6rem; padding: 1.2rem 1.35rem; border-left: 4px solid var(--adfm-gold-deep); background: var(--adfm-light); font-style: italic; font-weight: 800; }
.section-dark .mission-closer { background:rgba(245,215,110,.08); color:var(--adfm-white); }

.section-dark :is(.value-card, .action-card, .giving-card, .contact-card, .ministry-card, .leader-teaser, .leader-profile, .form-shell, .mission-box) {
  color: var(--adfm-text);
}
.section-dark :is(.value-card, .action-card, .giving-card, .contact-card, .ministry-card, .leader-teaser, .leader-profile, .form-shell, .mission-box) :is(h1, h2, h3, h4, h5, h6) {
  color: var(--adfm-text);
}


.ministry-card { position:relative; height:100%; overflow:hidden; border:1px solid var(--adfm-border); border-top:4px solid var(--card-accent,var(--adfm-gold-deep)); border-radius:var(--adfm-radius); background:#fffdf7; box-shadow:var(--adfm-shadow-sm); transition:transform var(--adfm-transition),box-shadow var(--adfm-transition),border-color var(--adfm-transition); }
.ministry-card:hover { transform:translateY(-7px); box-shadow:var(--adfm-shadow); border-color:rgba(212,175,55,.42); }
.ministry-card .card-body { display:flex; flex-direction:column; padding:1.6rem; }
.ministry-card .card-text { color:var(--adfm-muted); }
.ministry-card .btn { margin-top:auto; align-self:flex-start; }
.ministry-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:1.2rem; border-radius:1rem; background:color-mix(in srgb,var(--card-accent,var(--adfm-gold-deep)) 15%,white); color:var(--card-accent,var(--adfm-gold-deep)); font-size:1.55rem; }
.ministry-men { --card-accent:#5d3524; }
.ministry-women { --card-accent:#8b1e2d; }
.ministry-couples { --card-accent:#a64a3a; }
.ministry-village { --card-accent:#9a7423; }

.leader-teaser, .leader-profile { overflow:hidden; border-radius:var(--adfm-radius-lg); background:#fffdf7; box-shadow:var(--adfm-shadow); }
.leader-teaser .portrait, .leader-profile .portrait { position:relative; min-height:440px; background:var(--adfm-dark-2); overflow:hidden; }
.leader-teaser img, .leader-profile img { width:100%; height:100%; min-height:440px; object-fit:cover; object-position:top center; }
.leader-profile .portrait { min-height:620px; }
.leader-profile .portrait img { min-height:620px; }
.leader-profile .profile-copy { padding:clamp(1.6rem,4vw,4rem); }
.leader-profile .profile-copy p { font-size:1.03rem; }
.leader-label { display:inline-flex; gap:.45rem; align-items:center; color:var(--adfm-gold-deep); font-weight:900; letter-spacing:.12em; text-transform:uppercase; font-size:.76rem; }

.media-frame { position:relative; overflow:hidden; min-height:380px; border-radius:var(--adfm-radius-lg); background:linear-gradient(145deg,var(--adfm-dark),var(--adfm-dark-2)); box-shadow:var(--adfm-shadow); }
.media-frame img { width:100%; height:100%; min-height:380px; object-fit:cover; }
.media-frame.image-fallback::after { content:"Replace with real ministry photography"; position:absolute; inset:0; display:grid; place-items:center; padding:2rem; color:var(--adfm-gold); font-weight:800; text-align:center; }

.value-card, .action-card, .giving-card, .contact-card { height:100%; border:1px solid var(--adfm-border); border-radius:var(--adfm-radius); background:#fffdf7; box-shadow:var(--adfm-shadow-sm); padding:1.6rem; }
.value-icon, .action-icon, .giving-icon, .contact-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:.9rem; background:var(--adfm-light); color:var(--adfm-gold-deep); font-size:1.35rem; margin-bottom:1rem; }
.action-card { transition:transform var(--adfm-transition),box-shadow var(--adfm-transition); }
.action-card:hover { transform:translateY(-4px); box-shadow:var(--adfm-shadow); }

.cta-band { position:relative; overflow:hidden; border-radius:var(--adfm-radius-lg); background:linear-gradient(135deg,var(--adfm-dark),var(--adfm-dark-2)); color:var(--adfm-white); padding:clamp(2rem,5vw,4.5rem); box-shadow:var(--adfm-shadow-dark); }
.cta-band h2 { color:var(--adfm-white); }
.cta-band::after { content:"➜"; position:absolute; right:-1.5rem; bottom:-5.5rem; color:rgba(250,225,132,.1); font-size:17rem; line-height:1; transform:rotate(-15deg); }
.cta-band > * { position:relative; z-index:1; }

.form-shell { border:1px solid var(--adfm-border); border-radius:var(--adfm-radius-lg); background:#fffdf7; padding:clamp(1.4rem,4vw,2.7rem); box-shadow:var(--adfm-shadow-sm); }
.form-label { font-weight:800; color:var(--adfm-dark); }
.form-control, .form-select { min-height:52px; border-color:rgba(42,26,23,.18); border-radius:.72rem; background:#fffdf7; }
textarea.form-control { min-height:150px; }
.form-control:focus, .form-select:focus { border-color:var(--adfm-gold-deep); box-shadow:0 0 0 .25rem rgba(212,175,55,.14); }
.form-note { padding:.9rem 1rem; border-radius:.75rem; background:var(--adfm-light); color:var(--adfm-muted); font-size:.9rem; }

.giving-card { display:flex; flex-direction:column; }
.giving-card .btn { margin-top:auto; }
.copy-field { display:flex; gap:.5rem; padding:.6rem; border:1px dashed rgba(42,26,23,.25); border-radius:.75rem; background:var(--adfm-light); }
.copy-field code { min-width:0; overflow-wrap:anywhere; color:var(--adfm-dark); font-size:.95rem; }

.sermon-frame { aspect-ratio:16/9; overflow:hidden; border:1px solid rgba(250,225,132,.24); border-radius:var(--adfm-radius-lg); background:#100708; box-shadow:var(--adfm-shadow-dark); }
.sermon-frame iframe { width:100%; height:100%; border:0; }
.pastor-note { border:2px dashed var(--adfm-gold-deep); border-radius:var(--adfm-radius); background:#fff2c0; padding:1.3rem; }

.modal-content { overflow:hidden; border:0; border-radius:var(--adfm-radius-lg); box-shadow:var(--adfm-shadow-dark); }
.modal-header { background:var(--adfm-dark); color:var(--adfm-white); border-bottom-color:rgba(250,225,132,.18); }
.modal-header .modal-title { color:var(--adfm-white); }
.modal-body { padding:clamp(1.25rem,4vw,2.5rem); }
.modal-footer { background:var(--adfm-light-2); }
.modal .mission-closer { font-size:1rem; }

.site-footer { margin-top:0; }
.footer-brand img { width:72px; height:67px; object-fit:contain; }
.footer-heading { color:var(--adfm-gold) !important; font-size:.82rem; letter-spacing:.15em; text-transform:uppercase; margin-bottom:1rem; }
.footer-links, .contact-list { list-style:none; padding:0; margin:0; display:grid; gap:.7rem; }
.footer-links a { color:rgba(255,253,247,.78); text-decoration:none; }
.footer-links a:hover, .footer-links a:focus { color:var(--adfm-gold); }
.contact-list li { display:grid; grid-template-columns:1.2rem 1fr; gap:.65rem; color:rgba(255,253,247,.74); }
.contact-list i { color:var(--adfm-gold); }
.social-links { display:flex; gap:.65rem; }
.social-links a { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(250,225,132,.28); border-radius:50%; color:var(--adfm-gold); text-decoration:none; transition:transform var(--adfm-transition),background var(--adfm-transition); }
.social-links a:hover { transform:translateY(-2px); background:rgba(250,225,132,.1); }
.footer-bottom { border-top:1px solid rgba(255,253,247,.1); background:#140708; color:rgba(255,253,247,.62); font-size:.82rem; }
.footer-bottom a { color:rgba(255,253,247,.75); }

.back-to-top { position:fixed; right:1rem; bottom:1rem; z-index:1020; display:grid; place-items:center; width:46px; height:46px; border:1px solid var(--adfm-gold); border-radius:50%; background:var(--adfm-dark); color:var(--adfm-gold); box-shadow:var(--adfm-shadow-sm); opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity var(--adfm-transition),transform var(--adfm-transition); }
.back-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }

.reveal { opacity:0; transform:translateY(18px); transition:opacity 500ms ease,transform 500ms ease; }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 1199.98px) {
  .navbar { min-height: 78px; }
  .nav-shell { display: flex !important; align-items: center; flex-wrap: nowrap; }
  .brand-copy strong { font-size: .86rem; }
  .brand-copy small { font-size: .67rem; }
  #primaryNav.mobile-nav-panel {
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    visibility: hidden;
  }
  #primaryNav.mobile-nav-panel.show,
  #primaryNav.mobile-nav-panel.showing,
  #primaryNav.mobile-nav-panel.hiding { visibility: visible; }
  #primaryNav .offcanvas-header {
    flex: 0 0 auto;
    min-height: 82px;
    padding: 1rem 1.15rem;
    border-bottom: 1px solid rgba(245,215,110,.2) !important;
  }
  #primaryNav .offcanvas-body {
    display: block !important;
    flex: 1 1 auto;
    width: 100%;
    padding: 1rem 1.15rem 2rem;
    overflow-y: auto;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #primaryNav .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
    margin: 0 !important;
    gap: .2rem;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #primaryNav .nav-item { display: block !important; width: 100%; }
  #primaryNav .nav-link {
    display: flex !important;
    align-items: center;
    width: 100%;
    min-height: 52px;
    padding: .85rem .9rem !important;
    border-bottom: 1px solid rgba(245,215,110,.12);
    border-radius: .45rem;
    color: rgba(255,253,247,.92) !important;
    font-size: 1.02rem;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #primaryNav .nav-link:hover,
  #primaryNav .nav-link:focus,
  #primaryNav .nav-link.active { color: var(--adfm-gold) !important; background: rgba(245,215,110,.1); }
  #primaryNav .nav-item:last-child { margin-left: 0 !important; }
  #primaryNav .nav-item .btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    margin-top: .8rem;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .mobile-nav-callout {
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px solid rgba(245,215,110,.2);
    border-radius: .8rem;
    background: rgba(245,215,110,.07);
    color: rgba(255,253,247,.76);
    font-size: .9rem;
  }
  .hero { min-height: auto; }
  .hero-panel { min-height: 440px; }
  .hero-panel img { min-height: 440px; }
  .leader-profile .portrait, .leader-profile .portrait img { min-height: 520px; }
}

@media (max-width: 575.98px) {
  body { font-size:.98rem; }
  .container { --bs-gutter-x: 2.5rem; }
  .navbar-brand img { width:48px; height:45px; }
  .brand-copy { max-width:165px; }
  .hero-actions .btn { width:100%; }
  .hero-panel, .hero-panel img { min-height:390px; }
  .page-hero { padding-block:4.25rem; }
  .leader-profile .portrait, .leader-profile .portrait img { min-height:440px; }
  .copy-field { flex-direction:column; }
  .copy-field .btn { width:100%; }
  .cta-band::after { font-size:12rem; }
}

@media (max-width: 379.98px) {
  .navbar-brand { gap: .55rem; }
  .navbar-brand img { width: 42px; height: 39px; }
  .brand-copy { max-width: 145px; }
  .brand-copy strong { font-size: .76rem; }
  .brand-copy small { font-size: .58rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; }
}
