/* Source: base.css */
:root {
  --navy:#152a3e;
  --ink:#20303d;
  --paper:#f6f4ef;
  --line:#deded5;
  --orange:#b95932;
  --muted:#63717b
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select {
  font:inherit
}
button,a,input,select {
  touch-action:manipulation
}
button {
  cursor:pointer
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:4px
}
.draft-bar {
  background:var(--navy);
  color:#d5dde2;
  font-size:11px;
  letter-spacing:1.8px;
  padding:10px 5%;
  display:flex;
  justify-content:space-between;
  gap:15px
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:700;
  letter-spacing:1.2px
}
.brand-mark {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  background:var(--navy);
  color:#fff;
  font-family:Georgia,serif;
  font-size:22px
}
.brand small {
  display:block;
  margin-top:5px;
  font-size:9px;
  letter-spacing:2.3px;
  color:var(--muted)
}
header {
  padding:22px 5%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--line);
  gap:20px
}
nav {
  display:flex;
  gap:24px;
  align-items:center;
  font-size:12px
}
nav a {
  padding:9px 0;
  border-bottom:2px solid transparent
}
nav a[aria-current=page] {
  border-color:var(--orange);
  color:var(--orange)
}
.wrap {
  max-width:1320px;
  margin:auto;
  padding:0 5%
}
.eyebrow {
  font-size:10px;
  letter-spacing:2.8px;
  font-weight:700;
  color:var(--orange);
  text-transform:uppercase
}
.hero {
  display:grid;
  grid-template-columns:1fr 1.05fr;
  min-height:540px;
  margin:32px 0 0
}
.hero-copy {
  padding:55px 45px 45px 0;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.hero h1 {
  font-family:Georgia,serif;
  font-size:clamp(50px,6.2vw,86px);
  font-weight:400;
  letter-spacing:-4px;
  line-height:1.02;
  margin:24px 0
}
.hero h1 span {
  font-style:italic;
  color:var(--orange)
}
.hero-copy>p {
  max-width:390px;
  color:var(--muted);
  font-size:15px;
  line-height:1.8
}
.hero-photo {
  position:relative;
  background:#d8dfde;
  overflow:hidden;
  min-height:420px
}
.hero-photo img {
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover
}
.hero-photo:after {
  content:'';
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,rgba(13,29,43,.85))
}
.hero-caption {
  position:absolute;
  z-index:1;
  bottom:30px;
  left:30px;
  right:30px;
  color:white
}
.hero-caption small {
  font-size:10px;
  letter-spacing:2px
}
.hero-caption h2 {
  font-family:Georgia,serif;
  font-weight:400;
  font-size:26px;
  line-height:1.25;
  max-width:400px;
  margin:12px 0
}
.button {
  display:inline-block;
  background:var(--navy);
  color:white;
  border:0;
  padding:15px 20px;
  font-size:12px
}
.button.light {
  background:transparent;
  color:var(--navy);
  border:1px solid var(--line)
}
.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px
}
.intro-strip {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:35px 0 0
}
.intro-strip a {
  padding:24px;
  border-right:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:13px
}
.intro-strip a:last-child {
  border:0
}
.intro-strip span {
  color:var(--orange);
  margin-right:15px;
  font-size:11px
}
.section {
  padding:55px 0
}
.section-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:25px
}
.section-head h2,.page-title {
  font-family:Georgia,serif;
  font-size:40px;
  line-height:1.14;
  font-weight:400;
  letter-spacing:-1.5px;
  margin:12px 0
}
.section-head>a {
  font-size:12px;
  color:var(--orange);
  padding-bottom:8px
}
.cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px
}
.card {
  border-bottom:1px solid var(--line);
  padding-bottom:20px
}
.card-image {
  display:block;
  height:245px;
  position:relative;
  background:#e8e6df;
  overflow:hidden
}
.card-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s
}
.card-image:hover img {
  transform:scale(1.035)
}
.card-image.no-image {
  display:flex;
  align-items:end;
  padding:25px;
  background:var(--navy);
  color:#e0e4e7;
  font-family:Georgia,serif;
  font-size:28px
}
.media-label {
  position:absolute;
  top:14px;
  left:14px;
  font-size:9px;
  letter-spacing:1px;
  background:var(--paper);
  padding:7px 10px
}
.card-meta {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:10px;
  color:var(--muted);
  margin:18px 0 10px
}
.card h3 {
  font-family:Georgia,serif;
  font-size:23px;
  line-height:1.22;
  font-weight:400;
  margin:0 0 12px
}
.card p {
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
  margin:0 0 15px
}
.card-tail {
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:10px;
  color:var(--orange)
}
.feature {
  background:var(--navy);
  color:#fff;
  padding:42px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px
}
.feature h2 {
  font-family:Georgia,serif;
  font-size:40px;
  font-weight:400;
  line-height:1.15;
  margin:12px 0 20px
}
.feature p {
  font-size:13px;
  line-height:1.8;
  color:#c3cdd4
}
.feature .eyebrow {
  color:#e5a480
}
.feature .button {
  background:#f6f4ef;
  color:var(--navy)
}
.feature-link {
  display:flex;
  padding:20px 0;
  border-bottom:1px solid #435463;
  justify-content:space-between;
  font-size:13px;
  align-items:center
}
.feature-link small {
  display:block;
  margin-top:5px;
  color:#a9bac7;
  font-size:10px
}
.page-head {
  padding:50px 0 28px
}
.page-head p {
  max-width:680px;
  color:var(--muted);
  font-size:13px;
  line-height:1.8
}
.tabs {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:25px 0
}
.tabs a {
  font-size:11px;
  border:1px solid var(--line);
  padding:11px 16px
}
.tabs a.active {
  background:var(--navy);
  color:#fff;
  border-color:var(--navy)
}
.filters {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:15px;
  margin:0 0 25px;
  border-top:1px solid var(--line);
  padding-top:22px
}
.filters label {
  font-size:10px;
  color:var(--muted);
  line-height:2
}
.filters input,.filters select {
  display:block;
  width:100%;
  border:1px solid var(--line);
  padding:12px;
  color:var(--navy);
  background:white;
  border-radius:0
}
.result-line {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:20px 0;
  font-size:11px;
  color:var(--muted)
}
.result-line button {
  background:none;
  border:0;
  color:var(--orange);
  padding:8px
}
.district-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 25px
}
.district-tile {
  padding:22px 0;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:15px
}
.district-tile h3 {
  font-family:Georgia,serif;
  font-size:24px;
  font-weight:400;
  margin:0 0 10px
}
.district-tile p {
  font-size:10px;
  color:var(--muted);
  margin:0
}
.district-tile>b {
  color:var(--orange)
}
.empty {
  padding:55px;
  border:1px solid var(--line);
  text-align:center;
  color:var(--muted);
  font-size:13px;
  line-height:1.9
}
.empty h2 {
  color:var(--ink);
  font-family:Georgia,serif;
  font-weight:400
}
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.gallery-item {
  background:none;
  border:0;
  padding:0;
  text-align:left;
  color:var(--ink)
}
.gallery-item img {
  width:100%;
  height:240px;
  object-fit:cover
}
.gallery-item small {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin:12px 0 6px
}
.gallery-item b {
  font-size:12px;
  font-weight:400;
  line-height:1.5;
  display:block
}
.article {
  display:grid;
  grid-template-columns:minmax(0,2fr) 1fr;
  gap:50px;
  padding:20px 0 60px
}
.article h1 {
  font-family:Georgia,serif;
  font-size:48px;
  font-weight:400;
  line-height:1.08;
  letter-spacing:-1.5px
}
.article-main p {
  font-size:14px;
  line-height:1.9;
  color:var(--muted)
}
.article-main>figure {
  margin:28px 0
}
.article-main>figure button {
  background:#e8e6df;
  border:0;
  padding:0;
  width:100%
}
.article-main>figure img {
  width:100%;
  max-height:520px;
  object-fit:contain;
  display:block
}
.article-main figcaption {
  font-size:10px;
  color:var(--muted);
  line-height:1.7;
  margin:10px 0
}
.article h2 {
  font-family:Georgia,serif;
  font-weight:400;
  font-size:27px
}
.article-side {
  margin-top:35px;
  border-top:3px solid var(--orange);
  padding:22px;
  background:#eae8e1;
  height:max-content
}
.article-side dl {
  font-size:12px
}
.article-side dt {
  font-size:10px;
  color:var(--muted);
  margin:20px 0 8px
}
.article-side dd {
  margin:0;
  line-height:1.6
}
.article-side .button {
  width:100%;
  margin-top:22px
}
.note {
  border-left:2px solid var(--orange);
  padding:15px 20px;
  background:#eeeae2;
  color:var(--muted);
  font-size:12px;
  line-height:1.7
}
.source-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 30px
}
.source-link {
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:22px 0;
  border-top:1px solid var(--line)
}
.source-link h3 {
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:400;
  margin:0 0 8px
}
.source-link small {
  font-size:10px;
  color:var(--muted);
  line-height:1.6
}
.timeline {
  max-width:850px
}
.timeline-item {
  display:grid;
  grid-template-columns:125px 1fr;
  gap:30px;
  padding:28px 0;
  border-top:1px solid var(--line)
}
.timeline-item>strong {
  font-family:Georgia,serif;
  font-size:25px;
  color:var(--orange);
  font-weight:400
}
.timeline-item h3 {
  font-family:Georgia,serif;
  font-size:24px;
  font-weight:400;
  margin:0 0 10px
}
.timeline-item p {
  margin:0;
  font-size:13px;
  color:var(--muted);
  line-height:1.8
}
footer {
  padding:30px 5%;
  margin-top:45px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:var(--muted);
  font-size:10px;
  line-height:1.7
}
.crumb {
  display:block;
  font-size:11px;
  color:var(--orange);
  margin:30px 0 10px
}
.gallery-dialog {
  border:0;
  background:#111f2e;
  color:white;
  padding:25px;
  width:min(1050px,94vw);
  max-height:94vh
}
.gallery-dialog::backdrop {
  background:rgba(10,19,28,.85)
}
.gallery-dialog img {
  display:block;
  max-width:100%;
  max-height:67vh;
  margin:auto;
  object-fit:contain;
  background:#0d1823
}
.dialog-top,.dialog-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.dialog-top {
  margin-bottom:20px;
  font-size:12px
}
.dialog-top button,.dialog-bottom button {
  border:1px solid #526372;
  background:transparent;
  color:white;
  padding:10px 15px
}
.dialog-bottom {
  margin-top:18px;
  font-size:11px
}
.dialog-bottom a {
  text-decoration:underline
}
.skip {
  position:fixed;
  top:-100px
}
.skip:focus {
  top:10px;
  left:10px;
  background:white;
  z-index:9;
  padding:12px
}
[hidden] {
  display:none!important
}
@media(max-width:950px) {
  header {
    align-items:start;
    flex-direction:column
  }
  nav {
    width:100%;
    overflow:auto;
    white-space:nowrap;
    gap:22px
  }
  .hero h1 {
    font-size:62px
  }
  .hero-copy {
    padding-right:25px
  }
  .hero {
    min-height:450px
  }
  .hero-photo {
    min-height:380px
  }
  .cards {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .gallery-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .article {
    grid-template-columns:minmax(0,1fr)
  }
  .article-side {
    margin-top:0
  }
  .feature {
    gap:30px;
    padding:30px
  }
  .district-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:600px) {
  .draft-bar {
    font-size:8px;
    letter-spacing:1px
  }
  .draft-bar span:last-child {
    display:none
  }
  .hero {
    grid-template-columns:1fr;
    margin-top:0
  }
  .hero-copy {
    padding:25px 0 30px
  }
  .hero h1 {
    font-size:62px;
    letter-spacing:-3px;
    margin:18px 0
  }
  .hero-photo {
    min-height:420px
  }
  .hero-caption {
    left:22px;
    bottom:22px
  }
  .hero-caption h2 {
    font-size:23px
  }
  .intro-strip {
    grid-template-columns:1fr;
    margin-top:22px
  }
  .intro-strip a {
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:18px
  }
  .section {
    padding:35px 0
  }
  .cards {
    grid-template-columns:1fr;
    gap:28px
  }
  .card-image {
    height:320px
  }
  .section-head h2,.page-title {
    font-size:34px
  }
  .section-head {
    align-items:start
  }
  .section-head>a {
    min-width:80px;
    text-align:right;
    line-height:1.7
  }
  .feature {
    grid-template-columns:1fr;
    gap:15px;
    padding:25px
  }
  .feature h2 {
    font-size:34px
  }
  .filters {
    grid-template-columns:1fr 1fr
  }
  .filters label:first-child {
    grid-column:1/-1
  }
  .district-grid {
    grid-template-columns:1fr
  }
  .gallery-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px
  }
  .gallery-item img {
    height:200px
  }
  .article h1 {
    font-size:36px
  }
  .source-list {
    grid-template-columns:1fr
  }
  .timeline-item {
    grid-template-columns:85px 1fr;
    gap:20px
  }
  .timeline-item>strong {
    font-size:20px
  }
  .empty {
    padding:30px
  }
  footer {
    flex-direction:column;
    gap:10px
  }
  .page-head {
    padding-top:30px
  }
  .gallery-dialog {
    padding:15px
  }
  .dialog-bottom {
    gap:8px
  }
  .dialog-bottom button {
    padding:10px
  }
  .dialog-top span {
    max-width:80%;
    line-height:1.5
  }
}


/* Source: archive.css */
/* Reference: original personal site, with the archived portrait and header artwork. */
:root {
  --navy:#202023;
  --ink:#2d2d31;
  --paper:#fff;
  --line:#e4e4e5;
  --orange:#9f2029;
  --muted:#75757c
}
body {
  background:#f5f5f5
}
.draft-bar {
  background:#eee;
  color:#777;
  padding-top:8px;
  padding-bottom:8px;
  font-size:9px;
  letter-spacing:1.1px
}
header {
  background:#202023;
  color:#fff;
  border:0;
  min-height:75px;
  padding:18px 5%
}
.brand-mark {
  background:#fff;
  color:#9f2029
}
.brand small {
  color:#bbb
}
nav {
  gap:23px;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.5px
}
nav a[aria-current=page] {
  color:#fff;
  border-color:#b83e46
}
.wrap {
  background:#fff;
  max-width:1400px;
  min-height:70vh;
  padding:0 4%
}
.eyebrow {
  font-size:10px;
  letter-spacing:1.5px
}
.page-title,.section-head h2,.card h3,.timeline-item h3,.article h1,.article h2,.district-tile h3 {
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:-.5px
}
.section-head h2 {
  font-size:29px;
  font-weight:500
}
.section-head .eyebrow {
  margin:0 0 8px
}
.section-head {
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
  margin-bottom:22px
}
.section {
  padding:35px 0
}
.card h3 {
  font-size:20px;
  font-weight:500
}
.button {
  background:var(--orange)
}
.button.light {
  background:white;
  border-color:#ccc;
  color:#555
}
.source-link h3 {
  font-family:Arial,Helvetica,sans-serif;
  font-size:19px;
  font-weight:500
}
.masthead {
  height:590px;
  position:relative;
  margin:0 -4.35%;
  overflow:hidden;
  background:#fff
}
.masthead-bg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top
}
.masthead-inner {
  position:relative;
  padding:28px 4%;
  z-index:1;
  width:100%;
  height:100%
}
.masthead-brand {
  width:310px;
  max-width:48%;
  height:108px;
  object-fit:contain;
  object-position:left center;
  display:block
}
.masthead-fallback {
  font-family:Arial,sans-serif;
  font-size:35px;
  line-height:1.1;
  font-weight:700;
  max-width:400px;
  margin:10px 0 22px
}
.masthead-fallback small {
  display:block;
  font-size:13px;
  letter-spacing:1px;
  margin-bottom:10px
}
.slider-wrap {
  width:62%;
  max-width:760px;
  margin-top:12px;
  border:5px solid #fff;
  background:#232325;
  box-shadow:0 4px 20px #0002;
  position:relative
}
.slider-main {
  display:block;
  position:relative;
  height:322px;
  overflow:hidden
}
.slider-main img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
.slider-main:after {
  content:'';
  position:absolute;
  inset:48% 0 0;
  background:linear-gradient(transparent,#000c)
}
.slider-caption {
  position:absolute;
  z-index:1;
  bottom:24px;
  left:24px;
  right:24px;
  color:#fff
}
.slider-caption small {
  font-size:10px;
  letter-spacing:.6px
}
.slider-caption h1 {
  font-family:Arial,sans-serif;
  font-size:26px;
  line-height:1.12;
  letter-spacing:-.5px;
  font-weight:500;
  max-width:580px;
  margin:9px 0
}
.slider-caption>span {
  font-size:10px
}
.slider-step {
  position:absolute;
  z-index:2;
  top:120px;
  width:35px;
  height:48px;
  border:0;
  background:#0006;
  color:#fff;
  font-size:24px
}
.slider-step.previous {
  left:0
}
.slider-step.next {
  right:0
}
.slider-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 15px;
  background:#fff;
  gap:10px;
  color:#555;
  font-size:10px
}
.slider-dots {
  display:flex;
  gap:8px
}
.slider-dots button {
  width:9px;
  height:9px;
  background:#ccc;
  border:0;
  padding:0;
  border-radius:50%
}
.slider-dots button[aria-pressed=true] {
  background:var(--orange)
}
.slider-pause {
  background:none;
  color:#777;
  border:0;
  font-size:10px;
  padding:5px
}
.portrait-source {
  position:absolute;
  right:22px;
  bottom:16px;
  color:#5b5b62;
  background:#fffd;
  padding:6px 10px;
  font-size:9px
}
.homepage-news {
  padding:25px 0 30px
}
.band-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  padding-bottom:14px;
  margin-bottom:18px;
  gap:15px
}
.band-title h2 {
  font-size:21px;
  font-weight:400;
  letter-spacing:.6px;
  color:var(--orange);
  margin:0;
  text-transform:uppercase
}
.band-title a {
  font-size:10px;
  color:#777
}
.band-actions {
  display:flex;
  gap:8px;
  align-items:center
}
.band-actions button {
  border:1px solid #ddd;
  color:#666;
  background:white;
  width:29px;
  height:28px
}
.news-rail {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 80px)/5);
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  padding-bottom:16px
}
.rail-card {
  scroll-snap-align:start;
  font-size:12px
}
.rail-card img {
  display:block;
  width:100%;
  height:132px;
  object-fit:cover
}
.rail-card small {
  display:block;
  color:#999;
  font-size:9px;
  margin:10px 0 7px
}
.rail-card h3 {
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  margin:0;
  color:#8b6729
}
.home-modules {
  display:grid;
  grid-template-columns:1fr 1fr 1.15fr;
  gap:30px;
  border-top:1px solid var(--line);
  padding:32px 0
}
.module-title {
  color:var(--orange);
  font-size:20px;
  font-weight:400;
  letter-spacing:.4px;
  padding-bottom:15px;
  margin:0 0 18px;
  border-bottom:1px solid var(--line)
}
.home-bio-copy {
  font-size:12px;
  color:#777;
  line-height:1.8
}
.module-link {
  display:block;
  padding-top:18px;
  margin-top:20px;
  border-top:1px solid var(--line);
  font-size:11px;
  color:var(--orange)
}
.home-social {
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-top:18px
}
.home-social a {
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 13px;
  font-size:11px;
  background:#fafafa
}
.mini-gallery {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px
}
.mini-gallery button {
  padding:0;
  border:0;
  background:none
}
.mini-gallery img {
  display:block;
  width:100%;
  height:110px;
  object-fit:cover
}
.video-teaser {
  display:grid;
  grid-template-columns:125px 1fr;
  gap:13px;
  align-items:center;
  margin-bottom:17px
}
.video-thumb {
  position:relative;
  background:#ddd;
  height:85px
}
.video-thumb img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
.video-thumb span {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  background:#9f2029dc;
  border:1px solid #fff;
  color:#fff;
  border-radius:50%;
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  font-size:11px
}
.video-teaser strong {
  font-size:12px;
  font-weight:500;
  line-height:1.5;
  display:block
}
.video-teaser small {
  display:block;
  font-size:9px;
  color:#999;
  margin-top:7px
}
.home-archive {
  border-top:1px solid var(--line);
  padding:30px 0
}
.archive-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 40px
}
.archive-news-row {
  display:grid;
  grid-template-columns:95px 1fr;
  gap:15px;
  padding:17px 0;
  border-bottom:1px solid var(--line)
}
.archive-news-row img {
  width:95px;
  height:72px;
  object-fit:cover
}
.archive-news-row h3 {
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  margin:0 0 9px
}
.archive-news-row small {
  font-size:10px;
  color:#999
}
.press-intro {
  padding:24px;
  border:1px solid var(--line);
  line-height:1.8;
  font-size:13px;
  color:#777;
  margin-bottom:25px
}
.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}
.contact-card {
  padding:28px;
  border:1px solid var(--line)
}
.contact-card h2 {
  font-size:23px;
  font-weight:500;
  margin-top:0
}
.contact-card p {
  color:#777;
  font-size:13px;
  line-height:1.8
}
.home-directory {
  background:#f7f7f7;
  margin:0 -4.35%;
  padding:28px 4%
}
.home-districts {
  display:flex;
  flex-wrap:wrap;
  gap:9px
}
.home-districts a {
  background:white;
  border:1px solid #ddd;
  padding:9px 13px;
  font-size:11px
}
.home-districts a:hover {
  border-color:var(--orange);
  color:var(--orange)
}
.gallery-grid {
  gap:14px
}
.gallery-item img {
  height:220px
}
.gallery-dialog {
  background:#202023
}
footer {
  margin-top:0;
  background:#202023;
  color:#bbb;
  border:0;
  padding-top:26px;
  padding-bottom:26px
}
.timeline-item>strong {
  font-family:Arial,sans-serif
}
.page-title {
  font-size:39px;
  font-weight:500
}
.page-head {
  padding-top:38px
}
.article h1 {
  font-size:40px;
  font-weight:500
}
.article-side {
  background:#f7f7f7
}
.note {
  background:#f7f7f7
}
.article-main>figure button {
  background:#f7f7f7
}
.section-head h2 {
  line-height:1.2
}
@media(min-width:1600px) {
  .masthead {
    height:630px
  }
  .slider-main {
    height:355px
  }
  .slider-step {
    top:138px
  }
  .masthead-brand {
    margin-top:10px
  }
}
@media(max-width:1100px) {
  header {
    gap:12px
  }
  .brand {
    font-size:12px
  }
  nav {
    gap:15px;
    font-size:10px
  }
  .masthead {
    height:565px
  }
  .slider-main {
    height:300px
  }
  .slider-wrap {
    width:65%
  }
  .home-modules {
    gap:22px
  }
  .video-teaser {
    grid-template-columns:100px 1fr
  }
  .news-rail {
    grid-auto-columns:calc((100% - 60px)/4)
  }
}
@media(max-width:950px) {
  header {
    flex-direction:column
  }
  .masthead {
    height:540px
  }
  .masthead-brand {
    width:270px;
    height:100px
  }
  .slider-caption h1 {
    font-size:22px
  }
  .slider-main {
    height:295px
  }
  .home-modules {
    grid-template-columns:1fr 1fr
  }
  .home-modules>section:last-child {
    grid-column:1/-1
  }
  .home-video-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px
  }
  .mini-gallery img {
    height:120px
  }
  .news-rail {
    grid-auto-columns:calc((100% - 40px)/3)
  }
  .archive-list {
    gap:0 25px
  }
}
@media(max-width:600px) {
  header {
    padding:14px 5%
  }
  .brand {
    font-size:12px
  }
  .brand-mark {
    width:36px;
    height:36px;
    font-size:19px
  }
  nav {
    gap:19px;
    font-size:10px;
    padding-bottom:2px
  }
  .masthead {
    height:535px
  }
  .masthead-bg {
    height:230px;
    object-position:74% center;
    opacity:.7
  }
  .masthead-inner {
    padding:17px 4%
  }
  .masthead-brand {
    max-width:65%;
    width:260px;
    height:110px;
    background:#fffc;
    padding:5px
  }
  .slider-wrap {
    width:100%;
    margin-top:78px;
    max-width:none
  }
  .slider-main {
    height:240px
  }
  .slider-caption {
    bottom:18px;
    left:18px;
    right:18px
  }
  .slider-caption h1 {
    font-size:21px
  }
  .slider-step {
    top:85px;
    height:40px;
    width:30px
  }
  .slider-toolbar {
    padding:9px 10px
  }
  .portrait-source {
    top:185px;
    bottom:auto;
    right:12px;
    font-size:8px
  }
  .news-rail {
    grid-auto-columns:calc((100% - 18px)/2);
    gap:18px
  }
  .rail-card img {
    height:128px
  }
  .band-title h2 {
    font-size:19px
  }
  .home-modules {
    grid-template-columns:1fr;
    gap:30px
  }
  .home-modules>section:last-child {
    grid-column:auto
  }
  .home-video-list {
    grid-template-columns:1fr;
    gap:0
  }
  .video-teaser {
    grid-template-columns:130px 1fr
  }
  .video-thumb {
    height:90px
  }
  .mini-gallery img {
    height:145px
  }
  .archive-list,.contact-grid {
    grid-template-columns:1fr
  }
  .home-directory {
    padding-bottom:26px
  }
  .page-title {
    font-size:32px
  }
  .article h1 {
    font-size:32px
  }
  .gallery-item img {
    height:190px
  }
  .home-archive {
    padding-top:25px
  }
  .module-title {
    font-size:19px
  }
  .masthead-fallback {
    font-size:28px;
    max-width:65%
  }
  .news-rail::-webkit-scrollbar {
    height:3px
  }
  .slider-pause {
    font-size:9px
  }
  .slider-caption small {
    font-size:9px
  }
}


.instagram-post{width:min(100%,500px);margin:24px auto}.instagram-post iframe{display:block;width:100%;height:760px;border:1px solid var(--line);border-radius:5px;background:white}.instagram-post p{font-size:12px;text-align:center;margin:12px 0}.post-gallery-link{display:block;margin:16px auto}


/* Source: theme.css */
/* Orange, deep blue and white: a consistent identity throughout the site. */
:root {
  --navy:#12334f;
  --ink:#233c50;
  --paper:#fff;
  --line:#e5ebf0;
  --orange:#ed8b00;
  --muted:#526879;
  --orange-dark:#965000;
  --pale:#f3f7fa
}
body {
  background:#eef3f6;
  color:var(--ink)
}
.wrap {
  max-width:1440px
}
.draft-bar {
  background:#0d263b;
  color:#bbcbd7;
  font-size:9px;
  padding:8px 5%;
  letter-spacing:1px
}
.premium-header {
  display:block;
  background:white;
  color:var(--ink);
  padding:0;
  border:0;
  position:sticky;
  top:0;
  z-index:40;
  box-shadow:0 3px 15px #12334f12
}
.identity-band {
  max-width:1400px;
  padding:18px 4%;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.political-brand {
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--navy)
}
.party-logo {
  width:56px;
  height:65px;
  object-fit:contain;
  flex:none
}
.brand-name {
  font-size:25px;
  font-weight:750;
  letter-spacing:-.4px;
  line-height:1.1
}
.brand-name small {
  display:block;
  margin-top:8px;
  font-size:12px;
  letter-spacing:1.2px;
  color:var(--orange-dark);
  font-weight:600
}
.identity-contact {
  display:flex;
  gap:25px;
  align-items:center;
  font-size:12px
}
.identity-contact a {
  display:block;
  color:#677f91
}
.identity-contact strong {
  display:block;
  margin:6px 0 0;
  color:var(--navy);
  font-size:13px;
  font-weight:500
}
.identity-contact .identity-social {
  background:var(--pale);
  border:1px solid var(--line);
  padding:10px 13px;
  font-size:12px
}
.nav-shell {
  background:var(--navy);
  position:relative
}
.premium-nav {
  display:flex;
  max-width:1400px;
  padding:0 4%;
  margin:auto;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  min-height:57px;
  font-size:12px;
  overflow:visible;
  text-transform:none;
  letter-spacing:0
}
.nav-group {
  display:flex;
  align-items:center;
  gap:0;
  position:static
}
.premium-nav>.nav-group>a,.premium-nav>.nav-link {
  color:#eaf1f6;
  padding:19px 8px 17px;
  border-bottom:3px solid transparent;
  font-size:12px;
  white-space:nowrap
}
.premium-nav [data-nav][aria-current=page] {
  color:#fff;
  border-color:var(--orange);
  background:#ffffff08
}
.dropdown-toggle {
  background:none;
  color:#a8bdcb;
  border:0;
  padding:17px 8px;
  font-size:14px;
  line-height:1
}
.dropdown-toggle[aria-expanded=true] {
  color:var(--orange)
}
.menu-search {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid #647e9250;
  background:#fff1;
  color:#fff;
  padding:9px 12px;
  font-size:12px
}
.menu-search svg {
  width:15px;
  height:15px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8
}
.menu-search kbd {
  font:9px Arial;
  color:#9ab0c1
}
.mobile-toggle {
  display:none;
  border:1px solid var(--line);
  background:white;
  padding:9px 12px;
  color:var(--navy);
  font-size:12px
}
.nav-panel {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:white;
  border-top:3px solid var(--orange);
  box-shadow:0 12px 25px #102e481f;
  color:var(--ink);
  z-index:42
}
.nav-panel-inner {
  max-width:1280px;
  margin:auto;
  padding:28px;
  display:grid;
  grid-template-columns:260px 1fr;
  gap:40px
}
.panel-intro {
  border-right:1px solid var(--line);
  padding-right:28px
}
.panel-intro small {
  font-size:9px;
  letter-spacing:1.5px;
  color:var(--orange-dark);
  text-transform:uppercase
}
.panel-intro h2 {
  font-size:25px;
  line-height:1.15;
  letter-spacing:-.5px;
  margin:12px 0;
  font-weight:650;
  color:var(--navy)
}
.panel-intro p {
  font-size:12px;
  line-height:1.7;
  color:var(--muted);
  margin:0
}
.panel-links {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px 25px
}
.panel-links a {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  padding:11px 0;
  border-bottom:1px solid #edf1f4
}
.panel-links a:hover {
  color:var(--orange-dark)
}
.district-menu {
  grid-template-columns:repeat(4,1fr)
}
.panel-bottom {
  grid-column:1/-1;
  border-top:1px solid var(--line);
  padding-top:18px;
  display:flex;
  gap:20px;
  font-size:12px;
  color:var(--orange-dark)
}
.button {
  background:var(--orange);
  color:#fff;
  border-radius:3px;
  padding:14px 20px
}
.button:hover {
  background:#d47a00
}
.button.light {
  background:white;
  color:var(--navy);
  border:1px solid #cfdae3
}
.eyebrow {
  color:var(--orange-dark);
  letter-spacing:1.6px
}
.band-title h2,.module-title {
  color:var(--navy);
  font-weight:600
}
.band-title {
  border-bottom:2px solid var(--line)
}
.band-title h2:before,.module-title:before {
  content:'';
  display:inline-block;
  width:4px;
  height:18px;
  background:var(--orange);
  margin-right:11px;
  vertical-align:-2px;
  border-radius:2px
}
.masthead {
  height:640px;
  background:#fff
}
.masthead-bg {
  object-position:center top
}
.masthead-inner {
  padding-top:29px
}
.hero-identity {
  width:58%;
  max-width:700px;
  position:relative;
  min-height:143px
}
.hero-identity .eyebrow {
  font-size:12px;
  letter-spacing:1.7px;
  margin:0 0 15px;
  display:inline-block;
  padding:7px 11px;
  border-left:3px solid var(--orange);
  background:#fff9
}
.hero-identity h1 {
  font-size:clamp(40px,4.5vw,65px);
  letter-spacing:-2.5px;
  line-height:.98;
  color:var(--navy);
  margin:0 0 12px;
  font-weight:750
}
.hero-identity h1 span {
  font-weight:450
}
.hero-identity>p {
  font-size:12px;
  color:#607a8d;
  line-height:1.7;
  margin:0;
  max-width:500px
}
.slider-wrap {
  border-radius:5px;
  border:5px solid #fff;
  box-shadow:0 8px 26px #173b5628;
  margin-top:18px;
  width:59%
}
.slider-main {
  height:286px
}
.slider-caption h2 {
  font-size:24px;
  font-weight:600;
  line-height:1.18;
  margin:10px 0;
  letter-spacing:-.3px
}
.slider-main img {
  transition:opacity .25s
}
.slider-step {
  top:107px;
  border-radius:0 3px 3px 0;
  background:#12334f8c
}
.slider-step.next {
  border-radius:3px 0 0 3px
}
.slider-toolbar {
  border-radius:0 0 3px 3px;
  color:#557186
}
.slider-dots button[aria-pressed=true] {
  background:var(--orange)
}
.portrait-source {
  color:#6c7f8c;
  border-radius:3px;
  font-size:8px
}
.quick-access {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  background:var(--navy);
  margin:0 -4.35%;
  padding:0 4%;
  color:white
}
.quick-access a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:21px 20px;
  border-right:1px solid #44617a;
  gap:15px
}
.quick-access a:first-child {
  padding-left:0
}
.quick-access a:last-child {
  border:0
}
.quick-access strong {
  font-size:13px;
  font-weight:600
}
.quick-access small {
  display:block;
  font-size:12px;
  color:#afc0ce;
  margin-top:6px
}
.quick-access b {
  font-size:19px;
  color:var(--orange)
}
.homepage-news {
  padding-top:34px
}
.rail-card h3 {
  color:var(--navy);
  font-size:14px;
  font-weight:600
}
.rail-card img {
  border-radius:4px
}
.rail-card small {
  line-height:1.5;
  color:#7890a2
}
.news-rail {
  gap:18px;
  grid-auto-columns:calc((100% - 72px)/5);
  padding-bottom:13px
}
.project-section {
  margin:12px -4.35% 0;
  padding:38px 4%;
  background:var(--pale);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.project-section .cards {
  gap:22px
}
.project-section .card {
  padding:0 0 22px;
  border:1px solid var(--line);
  border-radius:5px;
  background:white;
  overflow:hidden
}
.project-section .card-image {
  height:210px
}
.project-section .card-meta,.project-section .card h3,.project-section .card p,.project-section .card-tail {
  margin-left:20px;
  margin-right:20px
}
.card h3 {
  color:var(--navy);
  font-size:21px;
  line-height:1.3;
  font-weight:600
}
.card-meta time {
  white-space:nowrap
}
.card-tail {
  color:var(--orange-dark);
  font-size:12px
}
.media-label {
  background:var(--orange);
  color:white;
  border-radius:3px
}
.card-image.no-image {
  background:linear-gradient(135deg,#12334f,#315f7b);
  padding:30px
}
.card-image.no-image span {
  color:white;
  font-family:Arial,sans-serif;
  font-size:27px
}
.sector-strip {
  display:grid;
  grid-template-columns:repeat(8,1fr);
  gap:12px;
  margin:0 0 25px
}
.sector-link {
  background:white;
  border:1px solid var(--line);
  padding:17px 10px;
  text-align:center;
  border-radius:4px;
  transition:transform .2s,border-color .2s
}
.sector-link:hover {
  border-color:var(--orange);
  transform:translateY(-2px)
}
.sector-link .sector-symbol {
  display:block;
  font-size:24px;
  color:var(--orange);
  height:32px
}
.sector-link b {
  font-size:12px;
  line-height:1.5;
  color:var(--navy);
  font-weight:600
}
.sector-link small {
  display:block;
  font-size:9px;
  color:var(--muted);
  margin-top:5px
}
.band-title a {
  color:var(--orange-dark)
}
.home-modules {
  padding-top:36px;
  gap:35px
}
.module-title {
  font-size:18px
}
.home-bio-copy {
  font-size:13px;
  line-height:1.85
}
.module-link {
  color:var(--orange-dark);
  font-size:12px;
  font-weight:600
}
.mini-gallery img {
  border-radius:4px
}
.home-social a {
  background:white;
  border-radius:4px;
  font-size:12px;
  color:var(--navy)
}
.home-social a:hover {
  border-color:var(--orange)
}
.video-thumb {
  border-radius:4px;
  overflow:hidden
}
.video-thumb span {
  background:var(--orange);
  border:0
}
.video-teaser strong {
  font-size:13px;
  color:var(--navy)
}
.parliament-preview {
  padding:32px;
  margin:10px 0 30px;
  background:var(--navy);
  border-radius:6px;
  display:grid;
  grid-template-columns:1fr 1.7fr;
  gap:40px;
  color:white
}
.parliament-preview .eyebrow {
  color:#ffba5d
}
.parliament-preview h2 {
  font-size:33px;
  line-height:1.12;
  letter-spacing:-1px;
  margin:14px 0 17px
}
.parliament-preview p {
  font-size:12px;
  color:#b9ccdb;
  line-height:1.8;
  max-width:300px
}
.parliament-preview .button {
  margin-top:7px
}
.bill-preview-link {
  display:grid;
  grid-template-columns:70px 1fr 20px;
  gap:20px;
  align-items:center;
  padding:17px 0;
  border-bottom:1px solid #42627c
}
.bill-preview-link>small {
  font-size:12px;
  color:#ffba5d
}
.bill-preview-link strong {
  display:block;
  font-size:13px;
  font-weight:500;
  line-height:1.4
}
.bill-preview-link span {
  display:block;
  font-size:12px;
  color:#8eacc3;
  margin-top:6px
}
.bill-preview-link>b {
  color:var(--orange)
}
.home-directory {
  background:#f2f6f9;
  border-top:1px solid var(--line)
}
.home-districts a {
  border-radius:3px;
  color:#41647d;
  font-size:12px
}
.page-head {
  padding-top:42px
}
.page-title {
  color:var(--navy);
  font-weight:650;
  font-size:38px
}
.page-head>p:last-child {
  max-width:750px
}
.tabs a {
  border-radius:3px;
  padding:10px 17px;
  font-size:12px;
  color:#5d798d
}
.tabs a.active {
  background:var(--navy);
  color:white
}
.filters input,.filters select {
  border-radius:3px;
  border-color:#d9e3eb;
  font-size:12px;
  padding:13px
}
.filters label {
  font-size:12px;
  color:#6f8799
}
.result-line {
  font-size:12px
}
.result-line button {
  color:var(--orange-dark)
}
.district-tile {
  padding:24px 18px;
  border:1px solid var(--line);
  background:#fafcfd;
  margin-bottom:15px;
  border-radius:4px
}
.district-grid {
  gap:0 18px
}
.district-tile h3 {
  color:var(--navy);
  font-size:23px;
  font-weight:650
}
.district-tile:hover {
  border-color:var(--orange)
}
.district-tile b {
  color:var(--orange)
}
.article h1 {
  color:var(--navy);
  font-weight:650
}
.article-side {
  border-top-color:var(--orange);
  background:var(--pale);
  border-radius:3px
}
.article-side dt {
  color:#7890a2
}
.article-main .note {
  background:#f7fafc;
  border-left-color:var(--orange)
}
.gallery-grid {
  gap:24px
}
.gallery-item img {
  border-radius:4px
}
.gallery-item b {
  font-weight:550;
  color:var(--navy)
}
.gallery-dialog {
  background:#112f46;
  border-radius:5px
}
.bio-overview {
  display:grid;
  grid-template-columns:260px 1fr;
  gap:45px;
  margin:5px 0 40px
}
.bio-portrait {
  background:#f1f5f8;
  padding:20px;
  border-radius:4px
}
.bio-portrait img {
  width:100%;
  height:290px;
  object-fit:contain;
  display:block
}
.bio-portrait small {
  display:block;
  font-size:9px;
  color:#7390a4;
  line-height:1.6;
  margin-top:15px
}
.bio-description h2 {
  font-size:29px;
  line-height:1.2;
  margin:0 0 10px;
  color:var(--navy)
}
.bio-description .identity-role {
  color:var(--orange-dark);
  font-size:12px;
  font-weight:600;
  margin-bottom:20px
}
.bio-description p {
  font-size:14px;
  color:#627e91;
  line-height:1.85
}
.bio-facts {
  display:flex;
  gap:30px;
  padding:18px 0;
  margin-top:20px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.bio-facts strong {
  display:block;
  color:var(--navy);
  font-size:16px;
  font-weight:600
}
.bio-facts small {
  display:block;
  color:#7b92a3;
  font-size:12px;
  margin-top:5px
}
.timeline {
  max-width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 45px
}
.timeline-item {
  grid-template-columns:90px 1fr;
  gap:20px
}
.timeline-item>strong {
  color:var(--orange-dark);
  font-size:22px
}
.timeline-item h3 {
  font-size:20px;
  color:var(--navy);
  font-weight:550
}
.timeline-item p {
  font-size:12px
}
.legislation-layout {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:35px;
  margin:30px 0
}
.legislation-panel {
  border:1px solid var(--line);
  padding:27px;
  border-radius:4px
}
.legislation-panel h2 {
  font-size:25px;
  color:var(--navy);
  margin:0 0 10px
}
.legislation-panel>p {
  color:#718b9e;
  font-size:12px;
  line-height:1.8
}
.bill-row {
  display:grid;
  grid-template-columns:77px 1fr 20px;
  gap:20px;
  border-top:1px solid var(--line);
  padding:20px 0;
  align-items:center
}
.bill-row small {
  color:var(--orange-dark);
  font-size:12px
}
.bill-row h3 {
  font-size:15px;
  color:var(--navy);
  font-weight:600;
  margin:0 0 9px
}
.bill-row time {
  font-size:12px;
  color:#7d93a3
}
.bill-row>b {
  color:var(--orange)
}
.speech-row {
  border-top:1px solid var(--line);
  padding:20px 0
}
.speech-row time {
  color:var(--orange-dark);
  font-size:12px
}
.speech-row h3 {
  font-size:19px;
  line-height:1.35;
  color:var(--navy);
  margin:10px 0
}
.speech-row p {
  font-size:12px;
  color:#738b9b;
  line-height:1.8
}
.speech-row a {
  color:var(--orange-dark);
  font-size:12px;
  font-weight:600
}
.source-link h3 {
  color:var(--navy)
}
.source-link {
  border-color:var(--line)
}
.contact-layout {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:35px;
  margin-bottom:40px
}
.contact-information {
  background:var(--navy);
  color:white;
  padding:30px;
  border-radius:5px
}
.contact-information h2 {
  font-size:25px;
  line-height:1.2;
  margin-top:0
}
.contact-item {
  border-top:1px solid #47667e;
  padding:20px 0
}
.contact-item small {
  font-size:12px;
  color:#98b4c9
}
.contact-item>a,.contact-item>p {
  display:block;
  color:white;
  font-size:14px;
  line-height:1.7;
  margin:8px 0 0
}
.contact-item .phone-second {
  margin-top:0
}
.contact-information>a {
  font-size:12px;
  color:#ffc46f;
  display:block;
  margin-top:10px
}
.message-form {
  border:1px solid var(--line);
  padding:30px;
  border-radius:5px
}
.message-form h2 {
  font-size:25px;
  color:var(--navy);
  margin:0 0 10px
}
.message-form>p {
  font-size:12px;
  color:#7490a3;
  line-height:1.7
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px
}
.message-form label {
  display:block;
  font-size:12px;
  color:#607e95;
  line-height:1.8;
  margin-top:18px
}
.message-form input,.message-form select,.message-form textarea {
  display:block;
  width:100%;
  border:1px solid #d6e1e9;
  padding:12px;
  border-radius:3px;
  background:white;
  color:var(--navy);
  font-size:12px;
  margin-top:5px
}
.message-form textarea {
  resize:vertical;
  min-height:155px
}
.message-form .button {
  margin-top:21px
}
.message-form .form-note {
  font-size:12px;
  color:#889fae
}
.search-dialog {
  border:0;
  border-radius:5px;
  padding:28px;
  width:min(800px,94vw);
  max-height:85vh;
  background:white;
  color:var(--navy)
}
.search-dialog::backdrop {
  background:#0b233ccc
}
.search-dialog-head {
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin-bottom:23px
}
.search-dialog-head h2 {
  font-size:24px;
  margin:0
}
.search-close {
  background:none;
  border:1px solid var(--line);
  padding:8px 12px;
  color:var(--navy);
  font-size:12px
}
.search-input {
  width:100%;
  border:1px solid #beceda;
  border-radius:3px;
  padding:15px;
  font-size:15px;
  color:var(--navy);
  outline-offset:3px
}
.search-help {
  color:#86a0b2;
  font-size:12px;
  line-height:1.7
}
.search-result {
  display:block;
  border-bottom:1px solid var(--line);
  padding:17px 0
}
.search-result small {
  color:var(--orange-dark);
  font-size:12px
}
.search-result strong {
  display:block;
  font-size:16px;
  color:var(--navy);
  font-weight:600;
  margin:7px 0
}
.search-result span {
  font-size:12px;
  color:#7c96a7
}
.search-empty {
  font-size:13px;
  line-height:1.8;
  color:#8098aa;
  padding:25px 0
}
.premium-footer {
  display:block;
  background:var(--navy);
  color:#aec2d2;
  padding:43px 5% 18px;
  margin:0;
  border-top:4px solid var(--orange);
  font-size:12px
}
.footer-columns {
  max-width:1320px;
  margin:auto;
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1.3fr;
  gap:40px
}
.footer-columns h2 {
  font-size:24px;
  font-weight:600;
  color:#fff;
  margin:0 0 10px
}
.footer-columns h3 {
  font-size:12px;
  color:#fff;
  font-weight:600;
  margin:0 0 21px
}
.footer-columns p {
  font-size:12px;
  line-height:1.9;
  max-width:260px;
  margin:0;
  color:#aac0d1
}
.footer-columns a {
  display:block;
  font-size:12px;
  line-height:1.6;
  margin-bottom:12px;
  color:#b5cbda
}
.footer-columns a:hover {
  color:#ffd296
}
.footer-columns .footer-role {
  color:#ffbd5c;
  font-size:12px;
  margin:12px 0
}
.footer-base {
  max-width:1320px;
  margin:30px auto 0;
  padding-top:20px;
  border-top:1px solid #426079;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:9px;
  color:#88a5ba
}
.back-top {
  position:fixed;
  bottom:22px;
  right:22px;
  border:0;
  background:var(--orange);
  color:#fff;
  width:39px;
  height:39px;
  border-radius:4px;
  font-size:18px;
  z-index:10;
  box-shadow:0 3px 12px #112f4622
}
.band-title h2,.module-title {
  text-transform:none
}
.band-title h2 {
  font-size:23px;
  letter-spacing:-.4px
}
.module-title {
  letter-spacing:0
}
.home-archive {
  border-top:1px solid var(--line)
}
.archive-news-row h3 {
  color:var(--navy)
}
@media(min-width:1600px) {
  .masthead {
    height:670px
  }
  .slider-main {
    height:310px
  }
  .slider-step {
    top:120px
  }
  .hero-identity {
    min-height:155px
  }
}
@media(max-width:1100px) {
  .identity-band {
    padding:15px 4%
  }
  .brand-name {
    font-size:22px
  }
  .party-logo {
    height:56px;
    width:49px
  }
  .identity-contact {
    gap:20px
  }
  .identity-contact>div:nth-child(2) {
    display:none
  }
  .premium-nav {
    gap:2px
  }
  .premium-nav>.nav-group>a,.premium-nav>.nav-link {
    padding-left:5px;
    padding-right:5px;
    font-size:12px
  }
  .dropdown-toggle {
    padding-left:5px;
    padding-right:5px
  }
  .menu-search kbd {
    display:none
  }
  .sector-strip {
    gap:8px
  }
  .sector-link b {
    font-size:9px
  }
  .hero-identity h1 {
    font-size:51px
  }
  .masthead {
    height:610px
  }
  .slider-main {
    height:270px
  }
  .hero-identity {
    width:63%
  }
  .slider-wrap {
    width:64%
  }
  .nav-panel-inner {
    grid-template-columns:220px 1fr;
    gap:28px
  }
}
@media(max-width:900px) {
  .identity-contact {
    display:none
  }
  .mobile-toggle {
    display:flex;
    align-items:center;
    gap:10px
  }
  .mobile-toggle span {
    font-size:18px
  }
  .identity-band {
    padding:13px 4%
  }
  .brand-name {
    font-size:21px
  }
  .brand-name small {
    font-size:9px;
    letter-spacing:.8px
  }
  .party-logo {
    width:42px;
    height:54px
  }
  .political-brand {
    gap:13px
  }
  .premium-header {
    display:block
  }
  .premium-nav {
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:10px 4%;
    max-height:72vh;
    overflow:auto;
    gap:0
  }
  .premium-header.menu-open .premium-nav {
    display:flex
  }
  .nav-shell {
    min-height:5px;
    border-bottom:3px solid var(--orange)
  }
  .nav-group {
    display:flex;
    flex-wrap:wrap;
    border-bottom:1px solid #36516b
  }
  .premium-nav>.nav-group>a {
    flex:1;
    padding:16px 0;
    font-size:13px;
    border:0
  }
  .premium-nav>.nav-link {
    padding:16px 0;
    font-size:13px;
    border:0
  }
  .dropdown-toggle {
    padding:16px 8px
  }
  .nav-panel {
    position:static;
    width:100%;
    border-top:0;
    border-radius:3px;
    box-shadow:none;
    flex-basis:100%;
    margin-bottom:12px;
    background:#f8fbfd
  }
  .nav-panel-inner {
    padding:20px;
    grid-template-columns:1fr;
    gap:20px
  }
  .panel-intro {
    border:0;
    padding:0
  }
  .panel-intro p {
    display:none
  }
  .panel-intro h2 {
    font-size:19px;
    margin:8px 0 0
  }
  .panel-links {
    grid-template-columns:1fr 1fr;
    gap:0 18px
  }
  .district-menu {
    grid-template-columns:repeat(3,1fr)
  }
  .panel-links a {
    font-size:12px
  }
  .panel-bottom {
    flex-wrap:wrap;
    gap:14px
  }
  .menu-search {
    margin:12px 0 5px;
    justify-content:start;
    padding:13px
  }
  .menu-search kbd {
    display:inline-block;
    margin-left:auto
  }
  .sector-strip {
    grid-template-columns:repeat(4,1fr)
  }
  .quick-access a {
    padding:17px 12px
  }
  .quick-access strong {
    font-size:12px
  }
  .quick-access small {
    font-size:9px
  }
  .quick-access {
    grid-template-columns:repeat(4,1fr)
  }
  .parliament-preview {
    gap:25px;
    padding:28px;
    grid-template-columns:1fr 1.5fr
  }
  .bio-overview {
    grid-template-columns:215px 1fr;
    gap:30px
  }
  .bio-portrait img {
    height:250px
  }
  .bio-facts {
    gap:20px
  }
  .timeline {
    grid-template-columns:1fr
  }
  .legislation-layout {
    grid-template-columns:1fr
  }
  .contact-layout {
    grid-template-columns:1fr 1.1fr;
    gap:22px
  }
  .footer-columns {
    grid-template-columns:1fr 1fr;
    gap:30px
  }
  .masthead {
    height:595px
  }
  .hero-identity h1 {
    font-size:45px
  }
  .hero-identity>p {
    font-size:12px
  }
  .hero-identity {
    min-height:147px
  }
  .slider-caption h2 {
    font-size:21px
  }
  .slider-main {
    height:268px
  }
  .slider-step {
    top:99px
  }
}
@media(max-width:600px) {
  .identity-band {
    padding:12px 4%
  }
  .political-brand {
    gap:10px
  }
  .party-logo {
    width:35px;
    height:49px
  }
  .brand-name {
    font-size:19px;
    letter-spacing:-.6px
  }
  .brand-name small {
    font-size:8px;
    margin-top:7px;
    letter-spacing:.4px
  }
  .mobile-toggle {
    padding:7px 9px;
    font-size:12px;
    gap:6px
  }
  .mobile-toggle span {
    font-size:16px
  }
  .draft-bar {
    font-size:8px;
    padding:7px 4%
  }
  .masthead {
    height:570px
  }
  .masthead-bg {
    height:263px;
    object-position:75% center;
    opacity:.64
  }
  .masthead-inner {
    padding-top:21px
  }
  .hero-identity {
    width:80%;
    min-height:160px
  }
  .hero-identity .eyebrow {
    font-size:8px;
    letter-spacing:.8px;
    padding:6px 8px;
    margin-bottom:14px
  }
  .hero-identity h1 {
    font-size:41px;
    letter-spacing:-1.9px
  }
  .hero-identity>p {
    font-size:12px;
    line-height:1.7;
    max-width:270px;
    background:#ffffffa8;
    border-radius:3px
  }
  .slider-wrap {
    width:100%;
    margin-top:65px
  }
  .slider-main {
    height:233px
  }
  .slider-caption h2 {
    font-size:20px
  }
  .slider-step {
    top:82px
  }
  .portrait-source {
    top:215px;
    bottom:auto;
    font-size:7px
  }
  .slider-toolbar {
    font-size:8px
  }
  .slider-pause {
    font-size:8px
  }
  .quick-access {
    grid-template-columns:1fr 1fr;
    padding:0 4%
  }
  .quick-access a {
    padding:16px 12px;
    border-bottom:1px solid #41637d
  }
  .quick-access a:first-child {
    padding-left:12px
  }
  .quick-access a:nth-child(2) {
    border-right:0
  }
  .quick-access a:nth-child(3) {
    border-bottom:0
  }
  .quick-access small {
    font-size:8px;
    line-height:1.5
  }
  .quick-access strong {
    font-size:12px
  }
  .quick-access b {
    font-size:16px
  }
  .news-rail {
    grid-auto-columns:calc((100% - 16px)/2);
    gap:16px
  }
  .rail-card h3 {
    font-size:13px
  }
  .rail-card small {
    font-size:8px
  }
  .sector-strip {
    grid-template-columns:repeat(3,1fr);
    gap:9px
  }
  .sector-link {
    padding:15px 8px
  }
  .sector-link b {
    font-size:12px
  }
  .sector-link small {
    font-size:8px
  }
  .sector-strip .sector-link:last-child {
    grid-column:2
  }
  .project-section {
    padding-top:28px;
    padding-bottom:28px
  }
  .project-section .card-image {
    height:245px
  }
  .project-section .card h3 {
    font-size:21px
  }
  .band-title h2 {
    font-size:20px
  }
  .module-title {
    font-size:18px
  }
  .parliament-preview {
    grid-template-columns:1fr;
    gap:15px;
    padding:25px;
    margin-top:0
  }
  .parliament-preview h2 {
    font-size:29px
  }
  .parliament-preview p {
    max-width:none
  }
  .bill-preview-link {
    grid-template-columns:60px 1fr 15px;
    gap:15px
  }
  .bill-preview-link strong {
    font-size:12px
  }
  .bio-overview {
    grid-template-columns:1fr;
    gap:25px
  }
  .bio-portrait {
    max-width:270px
  }
  .bio-portrait img {
    height:265px
  }
  .bio-description h2 {
    font-size:27px
  }
  .bio-description p {
    font-size:13px
  }
  .bio-facts {
    gap:24px;
    flex-wrap:wrap
  }
  .bio-facts strong {
    font-size:14px
  }
  .bio-facts small {
    font-size:9px
  }
  .timeline-item {
    grid-template-columns:83px 1fr;
    gap:15px
  }
  .timeline-item>strong {
    font-size:20px
  }
  .legislation-panel {
    padding:23px
  }
  .legislation-panel h2 {
    font-size:23px
  }
  .bill-row {
    grid-template-columns:65px 1fr 15px;
    gap:15px
  }
  .bill-row h3 {
    font-size:13px
  }
  .contact-layout {
    grid-template-columns:1fr
  }
  .message-form,.contact-information {
    padding:25px
  }
  .form-grid {
    grid-template-columns:1fr;
    gap:0
  }
  .footer-columns {
    grid-template-columns:1fr 1fr;
    gap:30px 20px
  }
  .footer-columns>section:first-child,.footer-columns>section:last-child {
    grid-column:1/-1
  }
  .footer-base {
    flex-direction:column;
    gap:8px
  }
  .premium-footer {
    padding-top:35px
  }
  .footer-columns h2 {
    font-size:23px
  }
  .back-top {
    bottom:15px;
    right:15px;
    width:35px;
    height:35px
  }
  .district-menu {
    grid-template-columns:1fr 1fr
  }
  .panel-links {
    grid-template-columns:1fr 1fr
  }
  .panel-bottom {
    font-size:12px
  }
  .page-title {
    font-size:30px
  }
  .search-dialog {
    padding:22px
  }
  .search-dialog-head h2 {
    font-size:21px
  }
  .search-input {
    font-size:13px
  }
  .hero-identity h1 span {
    display:block
  }
}
.button {
  color:#12334f;
  font-weight:600
}
.button:hover {
  background:#ff9f1c
}
.media-label {
  color:#12334f;
  font-weight:700
}
.video-thumb span,.back-top {
  color:#12334f
}
.rail-card small {
  color:#5f7687
}
#bio-timeline,#bill-section,#speech-section {
  scroll-margin-top:170px
}
.footer-base a {
  display:inline;
  font-size:9px;
  margin:0;
  color:#acc5d7
}
.party-logo {
  width:105px;
  height:44px
}
.political-brand {
  min-width:0
}
.brand-name {
  min-width:0
}
.gallery-item small {
  line-height:1.65
}
.bio-portrait {
  margin:0
}
.identity-contact .identity-social {
  color:var(--navy)
}
@media(max-width:1100px) {
  .party-logo {
    width:95px;
    height:38px
  }
}
@media(max-width:900px) {
  .party-logo {
    width:82px;
    height:32px
  }
}
@media(max-width:600px) {
  .party-logo {
    width:66px;
    height:28px
  }
  .brand-name {
    font-size:18px
  }
  .brand-name small {
    font-size:7px;
    letter-spacing:.3px
  }
  .identity-band {
    gap:12px
  }
  .political-brand {
    gap:9px
  }
}
@media(max-width:360px) {
  .party-logo {
    width:55px;
    height:24px
  }
  .brand-name {
    font-size:16px
  }
  .brand-name small {
    font-size:6.5px
  }
  .mobile-toggle {
    font-size:9px;
    padding:7px
  }
  .identity-band {
    gap:8px
  }
}

/* News cards reflow within the page instead of extending to the right. */
.homepage-news {
  min-width:0;
  max-width:100%;
}
.homepage-news .band-title {
  flex-wrap:wrap;
  align-items:center;
}
.homepage-news .band-title h2 {
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.homepage-news .band-actions {
  flex-wrap:wrap;
  margin-left:auto;
  min-width:0;
}
.homepage-news .news-rail {
  display:grid;
  width:100%;
  max-width:100%;
  min-width:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-flow:row;
  grid-auto-columns:auto;
  gap:24px;
  overflow:visible;
  scroll-snap-type:none;
}
.homepage-news .rail-card {
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
}
.homepage-news .rail-card img {
  width:100%;
  max-width:100%;
  height:100%;
  aspect-ratio:auto;
}
@media(max-width:900px) {
  .homepage-news .news-rail {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
}
@media(max-width:600px) {
  .homepage-news .news-rail {
    grid-template-columns:minmax(0,1fr);
  }
  .homepage-news .band-title h2 {
    flex-basis:100%;
  }
}

/* Keep recent-post slider controls within a narrow preview or phone. */
.slider-toolbar { flex-wrap:wrap; }
.slider-toolbar > span { flex:1 1 100%; }
.slider-dots { flex-wrap:wrap; }

/* Public post images can be portraits; keep the full frame visible. */
.slider-main {
  background:#12334f;
}
.slider-main img,
.rail-card img,
.card-image img,
.mini-gallery img,
.gallery-item img {
  object-fit:contain;
  object-position:center center;
  display:block;
}
.rail-card img,
.card-image img,
.mini-gallery img,
.gallery-item img {
  background:#eef3f7;
}

/* Equal media frames, with a full sharp photo over a soft background. */
.homepage-news .rail-photo {
  position:relative;
  display:block;
  flex:none;
  width:100%;
  aspect-ratio:16 / 10;
  max-height:250px;
  padding:0;
  border:0;
  border-radius:5px;
  overflow:hidden;
  background:#12334f;
  cursor:zoom-in;
}
.homepage-news .rail-photo .rail-backdrop {
  position:absolute;
  inset:0;
  object-fit:cover;
  filter:blur(15px);
  transform:scale(1.1);
  opacity:.4;
  background:transparent;
}
.homepage-news .rail-photo .rail-front {
  position:relative;
  z-index:1;
  object-fit:contain;
  object-position:center;
  background:transparent;
}
.rail-zoom {
  position:absolute;
  z-index:2;
  right:9px;
  bottom:9px;
  padding:5px 8px;
  border-radius:3px;
  background:#102d43dd;
  color:#fff;
  font-size:12px;
  pointer-events:none;
}
.homepage-news .rail-card h3 {
  min-height:2.8em;
  margin:0;
  font-size:14px;
  line-height:1.4;
}
.homepage-news .rail-card h3 a {
  color:inherit;
}
.homepage-news .rail-photo:focus-visible {
  outline:3px solid var(--orange);
  outline-offset:3px;
}

.archive-coverage {
  padding:16px 20px;
  margin:20px 0;
  border-left:3px solid var(--orange);
  background:var(--pale);
  color:var(--navy);
}
.archive-coverage p {
  margin:7px 0 0;
  font-size:13px;
  line-height:1.6;
}
.archive-topics {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px;
  margin:0 0 24px;
}
.archive-topic {
  padding:14px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#fff;
  color:var(--navy);
}
.archive-topic strong,.archive-topic span {
  display:block;
}
.archive-topic span {
  margin-top:6px;
  color:var(--muted);
  font-size:12px;
}

.original-caption {
  white-space:pre-line;
  margin:20px 0;
  padding:20px;
  border-left:3px solid var(--orange);
  background:var(--pale);
  color:var(--navy);
  font-size:16px;
  line-height:1.8;
}
.article-main .caption-credit {
  font-size:12px;
}

/* Shared typographic name mark: header, home and footer. */
@font-face{font-family:"Baybatur Wordmark";src:url("assets/fonts/barlow-condensed-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Baybatur Wordmark";src:url("assets/fonts/barlow-condensed-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
.name-wordmark{display:inline-flex;align-items:baseline;gap:.22em;font-family:"Baybatur Wordmark","Arial Narrow",Arial,sans-serif;line-height:1.05;white-space:nowrap;text-transform:uppercase;letter-spacing:.025em}
.name-wordmark .wordmark-given{font-size:.82em;font-weight:600;letter-spacing:.05em}
.name-wordmark .wordmark-surname{position:relative;font-weight:700;letter-spacing:.015em}
.wordmark-surname::after{content:"";position:absolute;left:0;bottom:-.13em;width:33%;height:2px;background:var(--orange);border-radius:2px}
.brand-name>.name-wordmark{font-size:34px}
.brand-name small{margin-top:10px;letter-spacing:1.15px;font-size:8px;font-weight:600}
.hero-identity h1{font-size:clamp(54px,5.1vw,72px);letter-spacing:0;line-height:1.05;margin-bottom:23px}
.hero-identity h1 .wordmark-given{font-weight:600}
.hero-identity h1 .wordmark-surname{font-weight:700}
.hero-identity .wordmark-surname::after{height:3px}
.footer-columns h2 .name-wordmark{font-size:34px;color:#fff}
.footer-columns .footer-role{margin-top:14px}
@media(max-width:1100px){.brand-name>.name-wordmark{font-size:30px}}
@media(max-width:600px){
 .brand-name>.name-wordmark{font-size:27px;gap:.18em}
 .brand-name small{font-size:7px;letter-spacing:.3px;margin-top:8px}
 .hero-identity h1{font-size:58px;margin-bottom:20px}
 .hero-identity h1 .name-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
 .hero-identity h1 .wordmark-given{display:block;font-size:26px;letter-spacing:.14em}
 .hero-identity h1 .wordmark-surname{display:block}
 .footer-columns h2 .name-wordmark{font-size:31px}
}
@media(max-width:360px){
 .brand-name>.name-wordmark{font-size:24px}
 .brand-name small{font-size:6.5px;letter-spacing:.15px}
 .hero-identity h1{font-size:53px}
 .hero-identity h1 .wordmark-given{font-size:24px}
}

/* One player and a compact selection list keep the old video archive short. */
.media-video-sources{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}
.media-video-sources a{display:block;padding:9px 15px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--navy);font-size:12px}
.media-video-sources a[aria-current="page"]{border-color:var(--navy);background:var(--navy);color:#fff}
.legacy-videos{margin:28px 0 38px}
.legacy-video-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:22px;align-items:start}
.legacy-video-current{min-width:0}
.legacy-video-frame{position:relative;aspect-ratio:16/9;min-height:200px;width:100%;overflow:hidden;background:#102f44;border:1px solid var(--line);border-radius:5px}
.legacy-video-frame iframe{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:200px;border:0}
.legacy-video-current h3{margin:15px 0 8px;color:var(--navy);font-size:21px;line-height:1.35}
.legacy-video-channel{margin:0 0 12px;color:var(--muted);font-size:12px}
.legacy-video-current>a{font-size:12px;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.legacy-video-list{display:grid;gap:8px;max-height:460px;overflow-y:auto;padding:2px 6px 2px 2px;scrollbar-width:thin}
.legacy-video-option{display:flex;gap:12px;align-items:center;min-height:83px;width:100%;padding:9px;text-align:left;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--navy);cursor:pointer}
.legacy-video-option[aria-pressed="true"]{border-color:var(--orange-dark);background:#fff8ef}
.legacy-video-thumb{position:relative;display:block;width:96px;height:54px;flex:none;background:#12334f}
.legacy-video-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.legacy-video-thumb>span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-shadow:0 1px 4px #000;font-size:17px}
.legacy-video-label{min-width:0}
.legacy-video-label strong{display:block;font-size:12px;line-height:1.45}
.legacy-video-label small{display:block;margin-top:5px;color:var(--muted);font-size:12px}
@media(max-width:900px){.legacy-video-layout{grid-template-columns:1fr;gap:20px}.legacy-video-list{max-height:350px}.legacy-video-current h3{font-size:19px}}

/* Dated press coverage stays searchable without a long initial page. */
.press-filters{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:18px;margin:24px 0 20px}
.press-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:var(--navy)}
.press-filters input,.press-filters select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font:inherit;font-size:14px}
.press-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0 24px}
.press-news-card{padding:22px;border:1px solid var(--line);border-top:3px solid #e2a650;border-radius:4px;background:#fff}
.press-news-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;line-height:1.5}
.press-news-meta span{color:var(--orange-dark);text-align:right}
.press-news-card h2{margin:14px 0 12px;font-size:21px;line-height:1.3;letter-spacing:-.35px;color:var(--navy)}
.press-news-card>p{margin:0 0 18px;font-size:13px;line-height:1.65;color:var(--muted)}
.press-news-source{font-size:12px;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.press-news-list>.empty{grid-column:1/-1}
.press-more{display:flex;justify-content:center;margin:0 0 34px}
@media(max-width:600px){.press-filters{grid-template-columns:minmax(0,1fr) 110px;gap:10px}.press-news-list{grid-template-columns:1fr;gap:14px}.press-news-card{padding:18px}.press-news-card h2{font-size:19px}}

/* Press clippings use compact previews; the gallery keeps the full scan. */
.press-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:20px 0 28px}
.press-card{overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}
.press-photo{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:230px;padding:16px;border:0;border-bottom:1px solid var(--line);background:#f4f7f9;cursor:zoom-in}
.press-photo img{display:block;width:100%;height:100%;object-fit:contain}
.press-photo>span{position:absolute;right:10px;bottom:10px;padding:5px 9px;border-radius:4px;background:#12334fe8;color:#fff;font-size:12px;line-height:1.3}
.press-photo:hover{background:#eaf0f4}
.press-copy{padding:18px}
.press-publication{margin:0 0 10px;color:var(--orange-dark);font-size:12px;font-weight:700}
.press-publication span{color:var(--muted);font-weight:400;white-space:nowrap}
.press-copy h2{margin:0 0 12px;font-size:20px;line-height:1.3;letter-spacing:-.3px;color:var(--navy)}
.press-date{margin:0 0 14px;color:var(--muted);font-size:12px}
.press-source,.press-archive-source{font-size:12px;color:var(--navy)}
.press-source{display:inline-block;text-decoration:underline;text-underline-offset:3px}
.press-archive-source{margin:0 0 32px}
@media(max-width:1000px){.press-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:600px){.press-grid{grid-template-columns:1fr;gap:18px}.press-photo{height:200px}.press-copy h2{font-size:19px}}

/* Aligned dropdown indicator, with a separate keyboard-accessible control. */
.dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;align-self:center;width:28px;height:40px;padding:0;flex:none;border-radius:4px;color:#c4d3de;line-height:1}
.dropdown-toggle:hover,.dropdown-toggle[aria-expanded="true"]{background:#ffffff0d;color:#ffbb59}
.dropdown-toggle .menu-chevron{display:block;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}
.dropdown-toggle[aria-expanded="true"] .menu-chevron{transform:rotate(180deg)}
@media(max-width:1100px){.dropdown-toggle{width:24px;padding:0}}
@media(max-width:900px){.dropdown-toggle{width:44px;height:44px;padding:0}.dropdown-toggle .menu-chevron{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){.dropdown-toggle .menu-chevron{transition:none}}

/* Thumb navigation on phones and compact tablets. */
.mobile-bottom-nav{display:none}
@media(max-width:900px){
 :root{--mobile-bottom-height:66px}
 body{padding-bottom:calc(var(--mobile-bottom-height) + env(safe-area-inset-bottom,0px) + 10px)}
 html{scroll-padding-bottom:calc(var(--mobile-bottom-height) + env(safe-area-inset-bottom,0px) + 16px)}
 .mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:70;display:grid;gap:0;align-items:stretch;letter-spacing:0;text-transform:none;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--mobile-bottom-height) + env(safe-area-inset-bottom,0px));padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:#fff;border-top:1px solid #dce5eb;box-shadow:0 -3px 16px #12334f0c}
 .mobile-bottom-nav a{position:relative;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:64px;padding:6px 2px;color:#567083;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}
 .mobile-bottom-nav svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
 .mobile-bottom-nav a[aria-current="page"]{border:0;color:var(--orange-dark);background:#fff8ef;font-weight:700}
 .mobile-bottom-nav a[aria-current="page"]::before{content:"";position:absolute;top:0;left:calc(50% - 12px);width:24px;height:3px;border-radius:0 0 3px 3px;background:var(--orange)}
 .mobile-bottom-nav a:focus-visible{outline-offset:-4px;border-radius:5px}
 .back-top{bottom:calc(var(--mobile-bottom-height) + env(safe-area-inset-bottom,0px) + 16px)}
}

.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:32px 0 12px}.pagination a{padding:10px 15px;border:1px solid var(--line);border-radius:6px;font-size:14px;background:white;color:var(--navy)}.pagination a[aria-current=page]{background:var(--navy);color:white;border-color:var(--navy)}.pagination a:hover{border-color:var(--orange)}.pagination span{padding:6px}.record-text,.original-caption{white-space:pre-line}.album-cover{aspect-ratio:4/3;object-fit:contain;width:100%;background:#f2f5f8}.album-copy{padding:16px}.album-card{border:1px solid var(--line);border-radius:8px;overflow:hidden}.album-card button{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--ink)}.gallery-grid img{height:auto;aspect-ratio:4/3;object-fit:contain}.card img{height:100%;object-fit:cover}.source-list h2{font-size:22px}.source-list .note{margin-bottom:14px}.page-head p{color:var(--muted)}.card-meta,.card-tail,.result-line,.rail-card small,.press-date,.search-help,.home-bio-copy,.form-note{font-size:13px}.photo-page-note{color:var(--muted);font-size:14px;margin-bottom:18px}.article-main figure img{max-height:560px;width:100%;object-fit:contain}.gallery-dialog img{object-fit:contain;max-height:calc(100dvh - 155px)}@media(max-width:600px){.pagination{gap:6px}.pagination a{padding:9px 12px}.article-main figure img{max-height:420px}}

.instagram-post{margin:24px auto;max-width:440px}.instagram-post iframe{height:660px;max-width:440px}.original-caption{font-size:16px;line-height:1.75}.card-image img{aspect-ratio:auto}.article-side dd{overflow-wrap:anywhere}.album-copy p{font-size:14px;line-height:1.6}.timeline-item a{font-size:13px;color:var(--navy)}@media(max-width:600px){.instagram-post iframe{height:620px}.original-caption{font-size:15px}}

.card-image.default-cover{background:#12334f}.card-image.default-cover img{object-fit:contain;object-position:center;background:#12334f}.default-article-cover{max-width:760px;margin:24px auto;background:#12334f}.default-article-cover img{width:100%;height:auto!important;aspect-ratio:16/9;object-fit:contain}.default-article-cover figcaption{background:white;padding-top:8px}.press-news-cover{display:block;float:left;width:220px;height:124px;margin:0 22px 14px 0;background:#12334f;overflow:hidden;border-radius:3px}.press-news-cover img{width:100%;height:100%;object-fit:contain;object-position:center}.press-news-card::after{content:"";display:block;clear:both}@media(max-width:600px){.press-news-cover{float:none;width:100%;height:auto;aspect-ratio:16/9;margin:0 0 16px}.default-article-cover{margin:18px auto}}

.news-byline{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0;color:var(--muted);font-size:13px}.news-lead{font-size:19px!important;font-weight:500;line-height:1.7!important;color:var(--ink)!important}.news-body{font-size:17px;line-height:1.9;color:var(--ink)}.news-body p{font-size:inherit!important;line-height:inherit!important;margin:0 0 22px;color:inherit!important}.article-source{border-top:1px solid var(--line);padding-top:16px;font-size:13px!important;color:var(--muted)!important}.article-source a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.news-lead{font-size:17px!important}.news-body{font-size:16px;line-height:1.8}}

.news-article .default-article-cover{max-width:560px}

.card-image.default-cover{background:#f7f9fb}.card-image.default-cover img{background:#f7f9fb;object-fit:contain}.default-article-cover{background:#f7f9fb}.press-news-cover{background:#f7f9fb}.news-article .default-article-cover{max-width:520px;border:1px solid #e5ebf0;border-radius:5px;overflow:hidden}

.record-video{background:#12334f;margin:20px auto;max-width:760px}.record-video video,.record-video iframe{width:100%;max-height:560px;object-fit:contain;display:block}.cards .record-video{margin:0}.cards .record-video video{aspect-ratio:16/9;max-height:300px}
