/* Preserved v60.10 styles used by archive, directory and editorial routes only. */
@layer legacy {
/* ahif.css */
/* AHIF v15. Shared typography, spacing and component system. */
:root {
  --navy:#163c66;
  --deep:#1b324e;
  --magenta:#cc3366;
  --rose:#fbf0f4;
  --sky:#bddbeb;
  --ice:#eaf3f9;
  --text:#5f6b78;
  --line:#e4e7ea;
  --wash:#f4f6f8;
  --white:var(--surface);
  --font:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:112px
}

body {
  margin:0;
  font:var(--type-body)/1.6 var(--font);
  color:var(--text);
  background:var(--surface)
}

button, input, select, textarea {
  font:inherit
}

button, a {
  -webkit-tap-highlight-color:transparent
}

a {
  color:inherit;
  text-decoration:none
}

button {
  cursor:pointer
}

img {
  ;
  display:block
}

h1, h2, h3, h4, p {
  margin:0
}

h1, h2, h3, h4 {
  color:var(--navy);
}

h1 {
  font-weight:700;
}

p+p {
  margin-top:var(--space-16)
}

button {
  border:0;
  background:transparent;
  color:inherit
}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline:3px solid var(--magenta);
  outline-offset:4px
}

input, select, textarea {
  color:var(--navy);
  min-width:0
}

button:disabled {
  opacity:.5;
  cursor:not-allowed
}

[hidden] {
  display:none!important
}

.wrap {
  width:min(1200px,calc(100% - 96px));
  margin:auto
}

.preview-bar {
  height:34px;
  background:var(--surface);
  color:#e6eef5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 var(--space-24);
}

.preview-bar>div {
  display:flex;
  align-items:center;
  gap:var(--space-24)
}

.preview-bar a {
  text-decoration:underline;
  text-underline-offset:3px
}

.preview-note {
  color:#bbcad9
}

.site-header {
  background:var(--surface);
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid var(--line)
}

.header-inner {
  height:98px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-32)
}

.brand {
  flex-shrink:0
}

.brand img {
  width:185px;
  height:auto
}

.header-inner nav {
  display:flex;
  gap:var(--space-32);
  align-items:center;
  color:var(--navy);
  font-weight:700
}

.header-inner nav a:hover, .text-link:hover {
  color:var(--magenta)
}

.header-inner nav a[aria-current=page]:not(.button) {
  color:var(--magenta)
}

.menu-button {
  display:none
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-16);
  min-height:50px;
  padding:var(--space-12) var(--space-24);
  background:var(--surface);
  color:var(--surface);
  font-weight:700;
  border-radius:var(--radius-card);
  border:1px solid var(--magenta);
  transition:background .16s,transform .16s;
  text-align:center
}

.button:hover {
  background:var(--surface);
  color:var(--surface);
  transform:translateY(-1px)
}

.button.outline {
  background:transparent;
  color:var(--navy);
  border-color:#c3cfdc
}

.button.outline:hover {
  border-color:var(--navy);
  background:var(--surface)
}

.button.small {
  min-height:42px;
  padding:var(--space-8) var(--space-16);
}

.button.navy {
  background:var(--surface);
  border-color:var(--navy)
}

.button.navy:hover {
  background:var(--surface)
}

.text-link {
  display:inline-flex;
  gap:var(--space-12);
  align-items:center;
  color:var(--navy);
  font-weight:700;
}

.text-link span {
  transition:transform .16s
}

.text-link:hover span {
  transform:translateX(4px)
}

.eyebrow {
  font-weight:700;
  text-transform:uppercase;
  color:var(--magenta);
}

.search-box {
  display:flex;
  align-items:center;
  background:var(--surface);
  border:1px solid #c6d1dc;
  border-radius:var(--radius-card);
  overflow:hidden;
  ;
  min-height:58px
}

.search-icon {
  width:20px;
  height:20px;
  flex-shrink:0;
  margin-left:var(--space-16);
  color:var(--navy)
}

.search-box input {
  border:0;
  outline:none;
  background:transparent;
  width:100%;
  padding:var(--space-16) var(--space-12);
}

.search-box:focus-within {
  outline:3px solid #cc336632;
  border-color:var(--magenta)
}

.search-box button {
  align-self:stretch;
  background:var(--surface);
  color:var(--surface);
  font-weight:700;
  padding:0 var(--space-24)
}

.date-tile {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:77px;
  min-width:77px;
  height:86px;
  background:var(--surface);
  color:var(--surface);
  border-radius:var(--radius-card);
}

.date-tile span {
  margin-top:var(--space-8);
  text-transform:uppercase
}

.section {
  padding:var(--space-64) 0
}

.section-title {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--space-24);
  margin-bottom:var(--space-32)
}

.section-title h2 {
  margin-top:var(--space-8)
}

.section-title p {
  margin-top:var(--space-12);
}

.trades-section {
  background:var(--surface);
  margin-top:var(--space-64)
}

.trade-top {
  display:flex;
  gap:var(--space-16);
  align-items:center
}

.trade-input {
  border:1px solid #c6d1dc;
  border-radius:var(--radius-card);
  background:var(--surface);
  min-height:48px;
  padding:var(--space-8) var(--space-16);
  width:265px;
}

.trade-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--space-12)
}

.trade {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-12);
  padding:var(--space-16) var(--space-16);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  color:var(--navy);
  font-weight:700;
  min-height:77px;
  transition:border-color .16s,box-shadow .16s
}

.trade:hover {
  border-color:#bbcad7;
  box-shadow:none
}

.trade-name {
  display:flex;
  gap:var(--space-12);
  align-items:center;
  min-width:0
}

.trade svg {
  width:27px;
  height:27px;
  flex-shrink:0;
  stroke-width:1.7
}

.trade .arrow {
  color:#a5b4c2;
}

.trade:hover .arrow {
  color:var(--magenta)
}

.trade-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-16);
  margin-top:var(--space-24);
}

.trade-actions button {
  font-weight:700;
  color:var(--navy);
  padding:var(--space-8) 0;
  border-bottom:1px solid #a7b6c5
}

.community-section {
  background:var(--surface);
  padding:0
}

.community-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch
}

.community-photo {
  margin:0;
  min-height:430px;
  overflow:hidden
}

.community-photo img {
  width:100%;
  height:100%;
  object-fit:cover
}

.community-copy {
  padding:var(--space-64) var(--space-64) var(--space-64)
}

.community-copy h2 {
  margin:var(--space-12) 0 var(--space-16)
}

.community-copy .button {
  margin-top:var(--space-24)
}

.partners {
  padding:var(--space-32) 0;
  border-bottom:1px solid var(--line)
}

.partners-inner {
  display:flex;
  gap:var(--space-24);
  align-items:center;
  justify-content:space-between
}

.partners p {
  color:var(--text);
  text-transform:uppercase;
}

.partner-name {
  color:#617185;
  font-weight:700;
  text-align:center
}

.contact-section {
  padding:var(--space-64) 0
}

.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-64);
  align-items:center
}

.contact-grid h2 {
  margin:var(--space-8) 0 var(--space-16)
}

.contact-person {
  display:flex;
  align-items:center;
  gap:var(--space-24);
  background:var(--surface);
  padding:var(--space-24);
  border-radius:var(--radius-card)
}

.contact-person img {
  width:106px;
  height:117px;
  object-fit:cover;
  border-radius:var(--radius-card);
  object-position:center 20%
}

.contact-person p {
  margin:var(--space-4) 0 var(--space-8)
}

.contact-person a {
  display:block;
  color:var(--navy);
}

.contact-person a:hover {
  color:var(--magenta)
}

.site-footer {
  background:var(--surface);
  border-top:1px solid var(--line);
}

.footer-top {
  display:grid;
  grid-template-columns:1.3fr 1fr 1.2fr;
  gap:var(--space-48);
  padding:var(--space-48) 0
}

.footer-brand img {
  width:154px;
  height:auto;
  margin-bottom:var(--space-16)
}

.site-footer h2 {
  margin:var(--space-4) 0 var(--space-16)
}

.site-footer a {
  display:block;
  margin:var(--space-8) 0
}

.site-footer a:hover {
  color:var(--magenta)
}

.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:var(--space-16);
  border-top:1px solid #dce1e6;
  padding:var(--space-16) 0;
}

.footer-bottom a {
  margin:0
}

.skip {
  position:fixed;
  top:-100px;
  left:18px;
  padding:var(--space-12);
  background:var(--surface);
  color:var(--surface);
  z-index:100
}

.skip:focus {
  top:10px
}

#main:focus {
  outline:0
}

.page-head {
  padding:var(--space-64) 0 var(--space-32)
}

.page-head h1 {
  margin:var(--space-12) 0 var(--space-16);
}

.page-head p {
  ;
}

.page-head-row {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--space-32)
}

.page-year {
  color:#dfe8f0;
  font-weight:700
}

.view-tabs {
  display:flex;
  gap:var(--space-32);
  border-bottom:1px solid var(--line);
  margin-top:var(--space-32)
}

.view-tabs button {
  padding:0 0 var(--space-16);
  color:var(--text);
  border-bottom:3px solid transparent
}

.view-tabs button[aria-pressed=true] {
  border-color:var(--magenta);
  color:var(--navy);
  font-weight:700
}

.filters {
  display:flex;
  align-items:center;
  gap:var(--space-12);
  padding:var(--space-24) 0;
  flex-wrap:wrap
}

.filters input, .filters select {
  background:var(--surface);
  border:1px solid #ced8e2;
  border-radius:var(--radius-card);
  padding:var(--space-12) var(--space-12);
  min-height:46px;
}

.filters input {
  margin-left:auto;
  width:270px
}

.filter-pill {
  padding:var(--space-8) var(--space-12);
  border-radius:var(--radius-card);
  background:var(--surface);
  color:var(--navy)
}

.filter-pill[aria-pressed=true] {
  background:var(--surface);
  color:var(--surface)
}

.result-count {
  margin:var(--space-4) 0 var(--space-16)
}

.events-list {
  display:flex;
  flex-direction:column;
  border-top:1px solid var(--line);
  margin-bottom:var(--space-64)
}

.event-row {
  display:grid;
  grid-template-columns:77px 1fr 35px;
  gap:var(--space-24);
  padding:var(--space-24) 0;
  border-bottom:1px solid var(--line);
  align-items:center
}

.event-row:hover h3 {
  color:var(--magenta)
}

.event-row h3 {
  margin:var(--space-4) 0 var(--space-8)
}

.event-row .summary {
  ;
  margin-top:var(--space-8)
}

.event-row .row-arrow {
  color:var(--navy)
}

.event-row.past .date-tile {
  background:var(--surface);
  color:#6c7c8c
}

.kind {
  text-transform:uppercase;
  font-weight:700;
  color:var(--magenta)
}

.year-grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:var(--space-12);
  margin:var(--space-4) 0 var(--space-32)
}

.month-cell {
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  padding:var(--space-16);
  text-align:left;
  min-height:100px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:var(--surface)
}

.month-cell strong {
  color:var(--navy)
}

.month-cell.has-events {
  background:var(--surface);
  border-color:#ced9e3
}

.month-cell[aria-pressed=true] {
  border:2px solid var(--magenta);
  padding:var(--space-16);
  background:var(--surface)
}

.month-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:var(--space-32) 0 var(--space-16)
}

.month-heading button {
  color:var(--magenta);
  text-decoration:underline;
}

.empty {
  padding:var(--space-48) var(--space-24);
  background:var(--surface);
  text-align:center;
  border-radius:var(--radius-card);
  margin-bottom:var(--space-48)
}

.empty h3 {
  margin-bottom:var(--space-12)
}

.empty button {
  margin-top:var(--space-16)
}

.article-wrap {
  width:min(1100px,calc(100% - 96px));
  margin:auto;
  padding:var(--space-48) 0 var(--space-64)
}

.back-link {
  color:var(--navy);
  display:inline-block;
  margin-bottom:var(--space-32)
}

.article-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 295px;
  gap:var(--space-64)
}

.article-title {
  margin:var(--space-12) 0 var(--space-24)
}

.article-lead {
  margin-bottom:var(--space-32)
}

.article-body h2 {
  margin:var(--space-32) 0 var(--space-16)
}

.article-body p {
  margin:0 0 var(--space-16)
}

.article-body .speaker {
  border-top:1px solid var(--line);
  padding:var(--space-24) 0
}

.speaker h3 {
  margin:var(--space-4) 0 var(--space-12)
}

.article-aside {
  background:var(--surface);
  border-radius:var(--radius-card);
  padding:var(--space-24);
  height:max-content;
  position:sticky;
  top:128px
}

.article-aside .date-tile {
  margin-bottom:var(--space-24)
}

.article-aside h2 {
  margin:var(--space-24) 0 var(--space-8)
}

.article-aside .button {
  width:100%;
  margin-top:var(--space-24)
}

.source-note {
  background:var(--surface);
  padding:var(--space-16);
  border-left:2px solid #c4d1dc;
  margin-top:var(--space-32)!important
}

.article-cover {
  width:100%;
  max-height:430px;
  object-fit:cover;
  margin-bottom:var(--space-32);
  border-radius:var(--radius-card)
}

.news-date {
  display:block;
  color:var(--text);
  margin-top:var(--space-12)
}

.editor-head {
  padding:var(--space-48) 0 var(--space-24)
}

.editor-head h1 {
  margin:var(--space-8) 0 var(--space-16)
}

.editor-head p {
  ;
}

.demo-notice {
  padding:var(--space-16) var(--space-24);
  background:var(--surface);
  border-left:3px solid var(--magenta);
  margin-bottom:var(--space-32);
  color:var(--navy)
}

.editor-layout {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);
  gap:var(--space-48);
  padding-bottom:var(--space-64)
}

.editor-form {
  display:flex;
  flex-direction:column;
  gap:var(--space-16)
}

.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-16)
}

.field {
  display:flex;
  flex-direction:column;
  gap:var(--space-4)
}

.field label {
  color:var(--navy);
  font-weight:700
}

.field input, .field select, .field textarea {
  border:1px solid #c9d4dd;
  border-radius:var(--radius-card);
  padding:var(--space-12) var(--space-12);
  width:100%;
  background:var(--surface);
  min-height:47px;
}

.field textarea {
  resize:vertical;
  min-height:110px
}

.field small {
  color:var(--text);
}

.field input[type=file] {
  padding:var(--space-8);
}

.form-actions {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-12);
  border-top:1px solid var(--line);
  padding-top:var(--space-24);
  margin-top:var(--space-8)
}

.form-error {
  color:#ad1645;
}

.editor-preview {
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  padding:var(--space-24);
  position:sticky;
  top:122px;
  height:max-content;
  background:var(--surface)
}

.editor-preview>.eyebrow {
  margin-bottom:var(--space-24)
}

.editor-preview h2 {
  margin:var(--space-12) 0 var(--space-16);
  overflow-wrap:anywhere
}

.editor-preview p {
  white-space:pre-wrap;
  overflow-wrap:anywhere
}

.editor-preview .date-tile {
  margin:var(--space-16) 0
}

.editor-preview img {
  width:100%;
  max-height:260px;
  object-fit:cover;
  border-radius:var(--radius-card);
  margin-bottom:var(--space-16)
}

.saved-section {
  padding:0 0 var(--space-64)
}

.saved-section h2 {
  margin:var(--space-16) 0 var(--space-24)
}

.saved-row {
  display:flex;
  gap:var(--space-16);
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding:var(--space-16) 0
}

.saved-row strong {
  color:var(--navy);
  display:block
}

.saved-row button {
  color:var(--magenta)
}

#toast {
  position:fixed;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  ;
  padding:var(--space-12) var(--space-24);
  background:var(--surface);
  color:var(--surface);
  border-radius:var(--radius-card);
  box-shadow:none;
  opacity:0;
  pointer-events:none;
  z-index:70;
  transition:opacity .2s
}

#toast.visible {
  opacity:1
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap
}

.page-head {
  padding-bottom:0
}

.month-heading:empty {
  display:none
}

.page-head .view-tabs {
  margin-top:var(--space-24)
}

.filters {
  padding:var(--space-24) 0
}

.result-count {
  margin-top:0
}

.article-intro, .article-body {
  grid-column:1
}

.article-aside {
  grid-column:2;
  grid-row:1 / span 2
}

.article-grid {
  row-gap:0
}

@media(max-width:1100px) {
  .wrap {
  width:calc(100% - 64px)
}

.header-inner nav {
  gap:var(--space-16)
}

.brand img {
  width:158px
}

.community-copy {
  padding:var(--space-48) var(--space-32)
}

.trade-grid {
  grid-template-columns:repeat(3,1fr)
}

.article-grid {
  gap:var(--space-32)
}

.article-wrap {
  width:calc(100% - 64px)
}
}

@media(max-width:800px) {
  html {
  scroll-padding-top:95px
}

.wrap {
  width:calc(100% - 40px)
}

.preview-bar {
  padding:0 var(--space-16)
}

.preview-note {
  display:none
}

.header-inner {
  height:78px
}

.brand img {
  width:150px
}

.menu-button {
  display:flex;
  gap:var(--space-12);
  align-items:center;
  color:var(--navy);
  padding:var(--space-8);
  border:1px solid var(--line);
  border-radius:var(--radius-card)
}

.header-inner nav {
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:78px;
  background:var(--surface);
  border-bottom:1px solid var(--line);
  padding:var(--space-24);
  flex-direction:column;
  align-items:flex-start;
  gap:var(--space-24)
}

.header-inner nav.open {
  display:flex
}

.trades-section {
  margin-top:var(--space-32)
}

.section {
  padding:var(--space-48) 0
}

.section-title {
  align-items:flex-start;
  flex-wrap:wrap;
  gap:var(--space-24)
}

.trade-top {
  width:100%;
  display:block
}

.trade-input {
  width:100%
}

.trade-grid {
  grid-template-columns:1fr 1fr
}

.trade {
  padding:var(--space-16) var(--space-12);
  }

.trade svg {
  width:25px
}

.trade-name {
  gap:var(--space-8)
}

.community-grid {
  grid-template-columns:1fr
}

.community-photo {
  min-height:0;
  height:300px
}

.community-copy {
  padding:var(--space-48) var(--space-24)
}

.partners-inner {
  gap:var(--space-16);
  flex-wrap:wrap;
  justify-content:flex-start
}

.partners p {
  ;
  width:100%
}

.partner-name {
  text-align:left;
  flex:1 0 25%
}

.contact-grid {
  grid-template-columns:1fr;
  gap:var(--space-24)
}

.contact-section {
  padding:var(--space-48) 0
}

.contact-person {
  padding:var(--space-24);
  gap:var(--space-24)
}

.footer-top {
  grid-template-columns:1fr 1fr;
  gap:var(--space-32)
}

.footer-brand {
  grid-column:1/-1
}

.footer-bottom {
  flex-direction:column;
  gap:var(--space-8)
}

.page-head {
  padding:var(--space-32) 0 var(--space-16)
}

.view-tabs {
  margin-top:var(--space-32)
}

.filters {
  gap:var(--space-8)
}

.filters input {
  width:100%;
  margin:var(--space-4) 0 0
}

.filter-pill {
  padding:var(--space-8) var(--space-12);
  }

.event-row {
  grid-template-columns:65px 1fr 22px;
  gap:var(--space-16);
  padding:var(--space-24) 0
}

.event-row .date-tile {
  width:65px;
  min-width:65px;
  height:76px
}

.year-grid {
  grid-template-columns:repeat(4,1fr);
  gap:var(--space-8)
}

.month-cell {
  padding:var(--space-12);
  min-height:89px
}

.month-cell[aria-pressed=true] {
  padding:var(--space-12)
}

.article-wrap {
  width:calc(100% - 40px);
  padding:var(--space-32) 0 var(--space-48)
}

.article-grid {
  grid-template-columns:1fr;
  gap:var(--space-32)
}

.article-aside {
  position:static;
  grid-row:1;
  padding:var(--space-24)
}

.article-aside .date-tile {
  float:left;
  margin-right:var(--space-24);
  margin-bottom:var(--space-16)
}

.article-aside h2 {
  margin-top:0;
  }

.article-aside h2:not(:first-of-type) {
  clear:both;
  padding-top:var(--space-16)
}

.article-aside .button {
  width:auto;
  margin-top:var(--space-16)
}

.back-link {
  margin-bottom:var(--space-24)
}

.editor-layout {
  grid-template-columns:1fr;
  gap:var(--space-32)
}

.editor-preview {
  position:static
}

.editor-preview {
  display:none
}

.saved-row {
  align-items:flex-start
}

.page-head-row {
  gap:var(--space-16)
}
}

@media(max-width:480px) {
  .preview-bar {
  height:32px
}

.preview-bar>div {
  gap:0
}

.trade {
  min-height:70px;
  padding:var(--space-12) var(--space-12);
  }

.trade svg {
  width:22px;
  height:22px
}

.trade-name {
  gap:var(--space-8)
}

.trade-grid {
  gap:var(--space-8)
}

.trade-actions {
  flex-direction:column;
  align-items:flex-start;
  gap:var(--space-8)
}

.contact-person {
  gap:var(--space-16);
  padding:var(--space-16)
}

.contact-person img {
  width:80px;
  height:99px
}

.footer-top {
  grid-template-columns:1fr;
  gap:var(--space-24);
  padding:var(--space-32) 0
}

.footer-brand {
  grid-column:auto
}

.page-year {
  display:none
}

.year-grid {
  grid-template-columns:repeat(3,1fr)
}

.event-row {
  grid-template-columns:55px 1fr;
  gap:var(--space-16)
}

.event-row .date-tile {
  width:55px;
  min-width:55px;
  height:69px
}

.event-row .row-arrow {
  display:none
}

.form-row {
  grid-template-columns:1fr
}

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

.form-actions .button {
  width:100%
}
}

@media(max-width:800px) {
  .article-grid {
  row-gap:var(--space-24)
}

.article-intro {
  grid-column:1;
  grid-row:1
}

.article-body {
  grid-column:1;
  grid-row:3
}

.article-aside {
  grid-column:1;
  grid-row:2
}

.article-lead {
  margin-bottom:0
}

.article-aside {
  padding:var(--space-24)
}

.article-aside h2:not(:first-of-type) {
  padding-top:var(--space-12)
}

.article-aside h2 {
  margin-top:var(--space-8)
}
}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}

*, *::before, *::after {
  animation:none!important;
  transition:none!important
}

.button:hover {
  transform:none
}
}

:root {
  --text: #4c5c69;
  --line: #ccd5dc;
  --wash: #f4f1eb;
  --ice: #deedf5;
  --rose: #f9e5ed;
}

h1 {
  font-weight:700;
}

h2, h3 {
  font-weight: 700;
}

.eyebrow {
  font-weight: 700;
}

.button, .text-link {
  font-weight: 700;
}

.button {
  border-radius:var(--radius-card);
}

.header-inner nav {
  font-weight: 700;
}

.header-inner nav .button.outline {
  border: 2px solid var(--navy);
  padding:var(--space-8) var(--space-16);
  border-radius:var(--radius-card);
}

.site-header {
  border-bottom-color: #b5c9d7;
}

.preview-bar a:focus-visible {
  outline-color:var(--surface);
}

.skip:focus-visible {
  outline-color:var(--surface);
  box-shadow:none;
}

.search-box {
  border: 2px solid var(--navy);
  border-radius:var(--radius-card);
  box-shadow:none;
  min-height: 61px;
}

.search-box button {
  font-weight:700;
  padding:0 var(--space-24);
}

.community-copy a:focus-visible {
  outline-color:var(--surface);
}

.section {
  padding:var(--space-64) 0;
}

.trades-section {
  margin-top:0;
  background:var(--surface);
}

.trade-input {
  border-color: #9baeba;
  border-radius:var(--radius-card);
}

.trade-grid {
  gap:var(--space-12);
}

.trade {
  min-height: 88px;
  border: 1px solid #bdcad3;
  border-bottom: 3px solid var(--navy);
  border-radius:var(--radius-card);
  font-weight: 700;
  padding:var(--space-16);
}

.trade svg {
  width: 31px;
  height: 31px;
  stroke-width: 1.9;
}

.trade .arrow {
  color: var(--navy);
}

.trade:hover {
  background:var(--surface);
  border-color: var(--navy);
  box-shadow:none;
}

.trade-actions button {
  font-weight:700;
  border-bottom: 2px solid var(--navy);
}

.event-feature-head {
  display: flex;
  gap:var(--space-24);
  align-items: center;
  margin-bottom:var(--space-32);
  color: var(--navy);
}

.featured-date {
  background:var(--surface);
  color:var(--surface);
  width: 112px;
  min-width: 112px;
  height: 98px;
  border-radius:var(--radius-card);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.featured-date span {
  font-weight:700;
  margin-top:var(--space-8);
}

.event-feature-place {
  display: block;
  margin-top:var(--space-8);
  font-weight:700;
}

.event-feature-footer {
  margin-top:auto;
  width: 100%;
}

.community-section {
  background:var(--surface);
}

.community-copy {
  padding:var(--space-64) clamp(var(--space-32), 4.5vw, var(--space-64));
  color: #e0edf5;
}

.community-copy .eyebrow {
  color: var(--sky);
}

.community-copy h2 {
  color:var(--surface);
  margin:var(--space-16) 0 var(--space-24);
}

.community-photo {
  min-height: 475px;
}

.community-copy .button {
  margin-top:var(--space-32);
}

.partners {
  background:var(--surface);
  border-bottom: 0;
  padding:var(--space-32) 0;
}

.partners p, .partner-name {
  color: var(--navy);
}

.partner-name {
  font-weight:700;
}

.contact-section {
  background:var(--surface);
  padding:var(--space-64) 0;
}

.contact-person {
  background:var(--surface);
  border-left: 0;
  border-radius:var(--radius-card);
  padding:var(--space-32);
}

.contact-person a {
  font-weight:700;
}

.site-footer {
  background:var(--surface);
  border-top: 5px solid var(--navy);
  color: var(--navy);
}

.footer-bottom {
  border-top-color: #83a7bf;
}

.page-head {
  background:var(--surface);
  padding-top:var(--space-48);
}

.page-head .eyebrow {
  color: #9d244d;
}

.page-head p {
  color: #284c66;
}

.page-year {
  color: #3e6684;
}

.view-tabs {
  border-bottom-color: #7c9fb7;
}

.view-tabs button {
  color: #31516a;
  font-weight:700;
}

.view-tabs button[aria-pressed=true] {
  border-bottom-width: 4px;
}

.date-tile {
  border-radius:var(--radius-card);
}

.date-tile strong {
  font-weight:700;
}

.event-row {
  border-bottom-color: #bccbd6;
  padding:var(--space-32) 0;
}

.month-cell {
  border-color: #b5c9d7;
  border-radius:var(--radius-card);
}

.month-cell.has-events {
  background:var(--surface);
  border-bottom: 3px solid var(--navy);
}

.month-cell[aria-pressed=true] {
  border: 2px solid var(--magenta);
  background:var(--surface);
}

.month-cell strong {
  font-weight:700;
}

.article-aside {
  border-top: 5px solid var(--navy);
  border-radius:var(--radius-card);
}

.source-note, .demo-notice {
  border-left: 0;
}

.demo-notice {
  background:var(--surface);
}

@media (max-width:1100px) {
  .community-copy {
  padding:var(--space-48) var(--space-32);
  }

.contact-person {
  padding:var(--space-24);
  gap:var(--space-16);
  }

.event-feature-head {
  gap:var(--space-16);
  }
}

@media (max-width:800px) {
  .section {
  padding:var(--space-48) 0;
  }

.trade {
  min-height: 83px;
  padding:var(--space-16) var(--space-12);
  }

.trade svg {
  width: 27px;
  height: 27px;
  }

.trade-grid {
  gap:var(--space-12);
  }

.community-photo {
  min-height: 0;
  height: 330px;
  }

.community-copy {
  padding:var(--space-48) var(--space-24) var(--space-48);
  }

.contact-section {
  padding:var(--space-48) 0;
  }

.contact-person {
  padding:var(--space-24);
  }

.page-head {
  padding:var(--space-32) 0 0;
  }

.event-row {
  padding:var(--space-24) 0;
  }
}

@media (max-width:480px) {
  .trade {
  padding:var(--space-16) var(--space-12);
  min-height: 79px;
  }

.trade svg {
  width: 23px;
  height: 23px;
  }

.trade-grid {
  gap:var(--space-8);
  }

.event-feature-head {
  gap:var(--space-16);
  margin-bottom:var(--space-24);
  }

.featured-date {
  width: 94px;
  min-width: 94px;
  height: 92px;
  }

.community-photo {
  height: 290px;
  }

.contact-person {
  padding:var(--space-24) var(--space-16);
  gap:var(--space-16);
  }
}

.hero-lead {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:var(--surface);
  color: #e1edf5;
}

.lead-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:var(--space-48);
  min-height: 660px;
  align-items: center;
  position: relative;
  z-index: 2;
  pointer-events: none;
}

.lead-copy {
  padding:var(--space-96) 0 var(--space-128);
  pointer-events: auto;
}

.lead-copy .eyebrow {
  color: #bddbeb;
}

.lead-copy h1 {
  color:var(--surface);
  font-weight: 700;
  margin:var(--space-32) 0 var(--space-32);
}

.lead-copy h1 span {
  color: #bddbeb;
}

.lead-intro {
  ;
  color: #e1edf5;
}

.lead-facts {
  display: flex;
  gap:var(--space-48);
  margin-top:var(--space-32);
}

.lead-facts span {
  display: flex;
  flex-direction: column;
  color: #c9dfec;
}

.lead-facts strong {
  color:var(--surface);
  font-weight:700;
  margin-bottom:var(--space-4);
}

.lead-image {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 64%;
  margin:0;
}

.lead-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% 48%;
}

.lead-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background:linear-gradient(0deg, rgba(8, 28, 47, .82), rgba(8, 28, 47, .72) 27%, transparent 62%);
}

.hero-lead::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background:linear-gradient(90deg, #163c66 0%, #163c66 46%, rgba(22, 60, 102, .97) 52%, rgba(22, 60, 102, .4) 67%, transparent 84%);
  pointer-events: none;
}

.lead-caption {
  position: absolute;
  right: max(48px, calc((100vw - 1200px) / 2));
  bottom: 87px;
  z-index: 2;
  color:var(--surface);
  text-align: right;
  text-shadow:none;
}

.lead-caption strong {
  display: block;
  font-weight:700;
  margin-bottom:var(--space-4);
}

.finder-wrap {
  background:var(--surface);
  padding-bottom:var(--space-32);
  display: flow-root;
}

.finder-panel {
  position: relative;
  z-index: 3;
  margin:-var(--space-48) auto 0;
  background:var(--surface);
  border-radius:var(--radius-card);
  padding:var(--space-32) var(--space-32);
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap:var(--space-32);
  align-items: center;
  box-shadow:none;
}

.finder-intro label {
  cursor: text;
}

.finder-intro p {
  margin-top:var(--space-8);
}

.finder-panel .search-box {
  ;
  min-height: 61px;
  border: 1px solid #859dad;
  box-shadow:none;
  border-radius:var(--radius-card);
}

.finder-panel .search-box input {
  padding:var(--space-16) var(--space-12);
}

.finder-panel .search-box button {
  background:var(--surface);
  color:var(--surface);
  padding:0 var(--space-24);
  font-weight: 700;
}

.finder-panel .search-box button:hover {
  background:var(--surface);
}

.finder-panel .search-box:focus-within {
  border-color: var(--navy);
  outline: 3px solid #2f638c;
  outline-offset: 3px;
}

.finder-panel .search-box button:focus-visible {
  outline: 2px solid var(--surface);
  outline-offset: -6px;
}

#aktuelt > .wrap > .section-title .eyebrow {
  color: #496777;
}

@media (max-width:1100px) {
  .lead-grid {
  gap:var(--space-32);
  min-height: 630px;
  }

.lead-copy {
  padding:var(--space-64) 0 var(--space-96);
  }

.lead-image {
  width: 65%;
  }

.lead-caption {
  right: 32px;
  }

.finder-panel {
  grid-template-columns: 1fr 1.1fr;
  gap:var(--space-24);
  padding:var(--space-24);
  }
}

@media (max-width:800px) {
  .intro-composition {
  display: grid;
  background:var(--surface);
  }

.hero-lead {
  display: contents;
  }

.lead-grid {
  grid-template-columns: 1fr;
  min-height: 0;
  gap:0;
  order: 1;
  width: 100%;
  padding:0 var(--space-16);
  }

.lead-copy {
  padding:var(--space-48) 0 var(--space-48);
  }

.lead-copy h1 {
  margin:var(--space-24) 0;
  }

.lead-intro {
  ;
  }

.lead-facts {
  gap:var(--space-48);
  margin-top:var(--space-32);
  }

.hero-lead::after {
  display: none;
  }

.lead-image {
  position: relative;
  width: 100%;
  height: 330px;
  order: 3;
  }

.lead-image img {
  object-position: center 47%;
  }

.lead-image::after {
  background:linear-gradient(0deg, rgba(8, 28, 47, .7), transparent 55%);
  }

.lead-caption {
  right: 22px;
  bottom: 25px;
  }

.finder-panel {
  grid-template-columns: 1fr;
  gap:var(--space-24);
  padding:var(--space-24);
  margin:0;
  width: 100%;
  }

.finder-panel .search-box {
  min-height: 59px;
  }

.finder-wrap {
  padding:0 var(--space-16) var(--space-32);
  background:var(--surface);
  order: 2;
  }
}

@media (max-width:480px) {
  .lead-copy {
  padding:var(--space-48) 0 var(--space-32);
  }

.lead-facts {
  gap:var(--space-32);
  margin-top:var(--space-32);
  }

.lead-image {
  height: 285px;
  }

.lead-caption {
  bottom: 22px;
  right: 20px;
  }

.finder-panel {
  padding:var(--space-24) var(--space-16);
  gap:var(--space-16);
  }

.finder-panel .search-icon {
  margin-left:var(--space-12);
  width: 18px;
  }

.finder-panel .search-box input {
  padding-left:var(--space-8);
  padding-right:var(--space-8);
  }

.finder-panel .search-box button {
  padding:0 var(--space-16);
  }
}

.finder-panel {
  padding:var(--space-32) var(--space-48);
  gap:var(--space-48);
}

.finder-intro p {
  margin-top:var(--space-8);
}

.finder-wrap {
  padding-bottom:0;
}

#fagfelt {
  scroll-margin-top: 56px;
}

.trades-section {
  margin-top:0;
  padding:var(--space-96) 0 var(--space-96);
  background:var(--surface);
}

.trades-section:focus {
  outline: none;
}

.trades-section:focus-visible #tradeHeading {
  outline: 3px solid var(--navy);
  outline-offset: 8px;
  width: fit-content;
}

.trades-section .section-title {
  margin-bottom:var(--space-48);
}

.trades-section .eyebrow {
  color: #42627a;
}

.trades-section h2 {
  margin-top:var(--space-16);
}

.trades-section .section-title p {
  ;
  margin-top:var(--space-16);
}

.trade-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:var(--space-24);
}

.trade {
  min-width: 0;
  min-height: 122px;
  padding:var(--space-24) var(--space-24);
}

.trade-name {
  min-width: 0;
  gap:var(--space-16);
}

.trade svg {
  width: 33px;
  height: 33px;
  flex-shrink: 0;
}

.trade-actions {
  margin-top:var(--space-32);
  gap:var(--space-24);
  flex-wrap: wrap;
}

#clearTradeSearch {
  border-bottom: 1px solid var(--navy);
  color: var(--navy);
  padding:var(--space-4) 0;
}

.home-calendar {
  background:var(--surface);
  padding:var(--space-96) 0;
  border-block: 1px solid #bed0dc;
}

.chapter-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap:var(--space-64);
  margin-bottom:var(--space-48);
}

.chapter-heading > div {
  min-width: 0;
}

.chapter-heading .eyebrow {
  color: #42627a;
}

.chapter-heading h2 {
  margin-top:var(--space-16);
}

.chapter-heading p {
  ;
  margin-top:var(--space-24);
}

.chapter-heading > a {
  flex-shrink: 0;
}

.chapter-heading > .button {
  border-color: #52728a;
  padding:var(--space-16) var(--space-24);
  min-height: 56px;
}

.chapter-heading > .text-link {
  padding-bottom:var(--space-8);
}

.calendar-subheading {
  margin:var(--space-48) 0 var(--space-24);
}

.home-calendar a:focus-visible, .home-news a:focus-visible {
  outline-color: var(--navy);
}

.home-calendar .text-link:hover, .home-news .text-link:hover {
  color: var(--navy);
}

.home-calendar .empty {
  background:var(--surface);
  margin-bottom:0;
}

.calendar-empty, .news-empty {
  padding:var(--space-32);
  background:var(--surface);
  border: 1px solid #b7cad7;
  border-radius:var(--radius-card);
}

.home-news {
  background:var(--surface);
  padding:var(--space-96) 0;
}

.community-copy {
  padding:var(--space-96) clamp(var(--space-32), 5.7vw, var(--space-96));
}

.community-copy h2 {
  margin:var(--space-24) 0 var(--space-32);
}

.community-copy p {
  ;
}

.community-copy p + p {
  margin-top:var(--space-24);
}

.community-copy .button {
  margin-top:var(--space-32);
  padding:var(--space-16) var(--space-24);
  min-height: 56px;
}

.community-photo {
  min-height: 580px;
}

.contact-section {
  padding:var(--space-96) 0;
  background:var(--surface);
}

.contact-grid {
  grid-template-columns: .85fr 1.15fr;
  gap:var(--space-96);
  align-items: center;
}

.contact-grid > div:first-child > .eyebrow {
  color: #42627a;
}

.contact-grid h2 {
  margin:var(--space-16) 0 var(--space-24);
}

.contact-grid > div:first-child > p {
  ;
}

.contact-person {
  display: block;
  background:var(--surface);
  padding:var(--space-32);
  border: 1px solid #d0d4d4;
  border-radius:var(--radius-card);
}

.contact-identity {
  display: grid;
  grid-template-columns: 112px minmax(0,1fr);
  gap:var(--space-24);
  align-items: center;
}

.contact-identity img {
  width: 112px;
  height: 142px;
  object-fit: cover;
  border-radius:var(--radius-card);
  border: 0;
  padding:0;
}

.contact-identity p {
  margin:var(--space-8) 0 0;
}

.contact-methods {
  margin-top:var(--space-32);
  padding-top:var(--space-24);
  border-top: 1px solid #d0d9df;
}

.contact-methods a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap:var(--space-8);
  padding:var(--space-12) 0;
}

.contact-methods a + a {
  margin-top:var(--space-8);
}

.contact-methods span {
  color: #42627a;
  text-transform: uppercase;
  font-weight:700;
}

.contact-methods strong {
  color: var(--navy);
  font-weight:700;
}

.contact-methods a[href^='mailto:'] strong {
  overflow-wrap: anywhere;
}

.contact-methods a:hover strong {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.contact-methods a:focus-visible {
  outline-color: var(--navy);
}

.site-footer {
  background:var(--surface);
  color: #c8dbe8;
  border: 0;
}

.footer-top {
  padding:var(--space-64) 0 var(--space-64);
  grid-template-columns: 1.3fr 1fr 1.3fr;
  gap:var(--space-64);
}

.footer-brand img {
  width: 242px;
  height: auto;
  padding:var(--space-12) var(--space-16);
  background:var(--surface);
  border-radius:var(--radius-card);
  margin-bottom:var(--space-24);
}

.site-footer h2 {
  color:var(--surface);
  margin:var(--space-4) 0 var(--space-24);
}

.site-footer a {
  margin:var(--space-12) 0;
}

.site-footer a:hover {
  color:var(--surface);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.site-footer a:focus-visible {
  outline-color:var(--surface);
}

.footer-bottom {
  border-top-color: #466076;
  padding:var(--space-24) 0;
}

.footer-bottom a {
  margin:0;
}

@media (max-width:1100px) {
  .finder-panel {
  padding:var(--space-32);
  gap:var(--space-32);
  }

.trade-grid {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:var(--space-16);
  }

.trade {
  padding:var(--space-24) var(--space-16);
  min-height: 115px;
  }

.chapter-heading {
  gap:var(--space-32);
  }

.community-copy {
  padding:var(--space-64) var(--space-48);
  }

.contact-grid {
  gap:var(--space-48);
  }

.contact-person {
  padding:var(--space-32);
  }

.contact-identity {
  grid-template-columns: 95px minmax(0,1fr);
  gap:var(--space-24);
  }

.contact-identity img {
  width: 95px;
  height: 125px;
  }

.footer-top {
  gap:var(--space-32);
  }
}

@media (max-width:960px) {
  .contact-grid {
  grid-template-columns: 1fr;
  gap:var(--space-48);
  }

.contact-grid > div:first-child > p {
  ;
  }

.contact-person {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap:var(--space-32);
  }

.contact-methods {
  margin-top:0;
  padding-top:0;
  border-top: 0;
  }
}

@media (max-width:800px) {
  #fagfelt {
  scroll-margin-top: 0;
  }

.finder-panel {
  padding:var(--space-24);
  gap:var(--space-24);
  }

.finder-wrap {
  padding:0 var(--space-16) var(--space-32);
  }

.trades-section {
  padding:var(--space-64) 0 var(--space-96);
  margin-top:0;
  }

.trades-section .section-title {
  margin-bottom:var(--space-32);
  }

.trade-grid {
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:var(--space-16);
  }

.trade {
  min-height: 116px;
  }

.home-calendar, .home-news, .contact-section {
  padding:var(--space-64) 0;
  }

.chapter-heading {
  display: block;
  margin-bottom:var(--space-32);
  }

.chapter-heading p {
  margin-top:var(--space-16);
  }

.chapter-heading > a {
  margin-top:var(--space-24);
  }

.community-photo {
  min-height: 0;
  height: 350px;
  }

.community-copy {
  padding:var(--space-64) var(--space-32);
  }

.contact-person {
  gap:var(--space-24);
  padding:var(--space-32);
  }

.contact-identity {
  grid-template-columns: 85px minmax(0,1fr);
  gap:var(--space-16);
  }

.contact-identity img {
  width: 85px;
  height: 112px;
  }

.footer-top {
  grid-template-columns: 1fr 1fr;
  padding:var(--space-64) 0;
  gap:var(--space-32);
  }

.footer-brand {
  grid-column: 1/-1;
  }
}

@media (max-width:600px) {
  .trade {
  position: relative;
  padding:var(--space-24) var(--space-16);
  min-height: 144px;
  align-items: flex-start;
  }

.trade-name {
  flex-direction: column;
  align-items: flex-start;
  gap:var(--space-16);
  width: 100%;
  }

.trade-name > span {
  overflow-wrap: anywhere;
  }

.trade svg {
  width: 29px;
  height: 29px;
  }

.trade .arrow {
  position: absolute;
  right: 15px;
  top: 23px;
  }

.contact-person {
  display: block;
  padding:var(--space-32);
  }

.contact-identity {
  grid-template-columns: 95px minmax(0,1fr);
  gap:var(--space-24);
  }

.contact-identity img {
  width: 95px;
  height: 125px;
  }

.contact-methods {
  margin-top:var(--space-24);
  padding-top:var(--space-24);
  border-top: 1px solid #d0d9df;
  }
}

@media (max-width:480px) {
  .finder-panel {
  padding:var(--space-24) var(--space-24);
  gap:var(--space-24);
  }

.trades-section {
  padding:var(--space-64) 0 var(--space-64);
  }

.trade-grid {
  gap:var(--space-16);
  }

.trade {
  padding:var(--space-24) var(--space-12);
  min-height: 144px;
  }

.trade-actions {
  align-items: flex-start;
  gap:var(--space-12);
  }

.home-calendar, .home-news, .contact-section {
  padding:var(--space-64) 0;
  }

.chapter-heading {
  margin-bottom:var(--space-32);
  }

.calendar-subheading {
  margin-top:var(--space-32);
  }

.community-photo {
  height: 300px;
  }

.community-copy {
  padding:var(--space-64) var(--space-24);
  }

.community-copy .button {
  padding-inline:var(--space-16);
  gap:var(--space-12);
  }

.contact-grid {
  gap:var(--space-32);
  }

.contact-person {
  padding:var(--space-24) var(--space-24);
  }

.contact-identity {
  grid-template-columns: 82px minmax(0,1fr);
  gap:var(--space-16);
  }

.contact-identity img {
  width: 82px;
  height: 113px;
  }

.footer-top {
  grid-template-columns: 1fr;
  padding:var(--space-48) 0;
  gap:var(--space-32);
  }

.footer-brand {
  grid-column: auto;
  }

.footer-bottom {
  padding:var(--space-24) 0;
  }
}

.sponsors {
  padding:var(--space-96) 0 var(--space-96);
  background:var(--surface);
  border-top: 1px solid #cbd6db;
}

.sponsors h2 {
  padding:0;
  border: 0;
}

.sponsor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:var(--space-24);
  margin:var(--space-48) 0 0;
  padding:0;
  list-style: none;
}

.sponsor-grid li {
  min-width: 0;
}

.sponsor-grid a {
  height: 155px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding:var(--space-24);
  border-radius:var(--radius-card);
  background:var(--surface);
  border: 1px solid #d7e0e4;
}

.sponsor-grid a:hover {
  border-color: #52728a;
}

.sponsor-grid a:focus-visible {
  outline: 3px solid #163c66;
  outline-offset: 3px;
}

.sponsor-grid img {
  height: auto;
  max-height: 101px;
  object-fit: contain;
}

.sponsor-hald {
  width: 242px;
}

.sponsor-lona {
  width: 232px;
}

.sponsor-bank {
  width: 213px;
}

.sponsor-regnskap {
  width: 245px;
}

.sponsor-arendal {
  width: 198px;
}

.sponsor-agder {
  width: 220px;
}

.sponsor-mester {
  width: 121px;
}

.sponsor-festival {
  width: 226px;
}

@media (max-width: 1000px) {
  .sponsor-grid {
  gap:var(--space-16);
  }

.sponsor-grid a {
  height: 135px;
  padding:var(--space-16) var(--space-12);
  }

.sponsor-grid img {
  max-height: 88px;
  }
}

@media (max-width: 650px) {
  .sponsors {
  padding:var(--space-64) 0 var(--space-64);
  }

.sponsors h2 {
  ;
  padding:0;
  }

.sponsor-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:var(--space-16);
  margin-top:var(--space-32);
  }

.sponsor-grid a {
  height: 123px;
  padding:var(--space-16) var(--space-12);
  }

.sponsor-grid img {
  max-height: 75px;
  }

.sponsor-mester {
  width: 89px;
  }

.sponsor-arendal {
  width: 142px;
  }
}

#main:has(.page-head), #main:has(.editor-head) {
  background:var(--surface);
}

h2[tabindex]:focus-visible, #eventsList:focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 8px;
}

.community-copy h2[tabindex]:focus-visible {
  outline-color:var(--surface);
}

.page-head {
  background:var(--surface);
  padding:var(--space-64) 0 0;
  border-bottom: 1px solid #b7cad7;
}

.page-head .eyebrow, .article-wrap .eyebrow, .editor-head .eyebrow {
  color: #42627a;
}

.page-head h1 {
  margin:var(--space-16) 0 var(--space-24);
}

.page-head p {
  ;
}

.page-year {
  color: #42627a;
}

.page-head .view-tabs {
  margin-top:var(--space-48);
  gap:var(--space-32);
  border-bottom: 0;
}

.view-tabs button {
  padding:var(--space-16) var(--space-4) var(--space-24);
  min-height: 52px;
}

.view-tabs button[aria-pressed=true] {
  border-color: var(--navy);
}

.filters {
  margin:var(--space-32) 0 var(--space-32);
  padding:var(--space-24);
  background:var(--surface);
  border: 1px solid #bacbd7;
  border-radius:var(--radius-card);
  gap:var(--space-12);
}

.filters input, .filters select {
  min-height: 50px;
  border-color: #9eb1bf;
  border-radius:var(--radius-card);
}

.filters input {
  width: 300px;
}

.filter-pill {
  min-height: 48px;
  padding:var(--space-8) var(--space-16);
  background:var(--surface);
  border-radius:var(--radius-card);
}

.filter-pill:hover {
  background:var(--surface);
}

.filter-pill[aria-pressed=true] {
  background:var(--surface);
  color:var(--surface);
}

.year-grid {
  gap:var(--space-16);
  margin:0 0 var(--space-32);
}

.month-cell {
  min-width: 0;
  min-height: 112px;
  padding:var(--space-16) var(--space-16);
  border-color: #b8c8d3;
}

.month-cell span {
  margin-top:var(--space-12);
}

.month-cell.has-events {
  background:var(--surface);
}

.month-cell:hover {
  border-color: var(--navy);
}

.month-cell[aria-pressed=true] {
  background:var(--surface);
  color:var(--surface);
  border: 1px solid var(--navy);
  padding:var(--space-16) var(--space-16);
}

.month-cell[aria-pressed=true] strong {
  color:var(--surface);
}

.month-heading {
  margin:var(--space-48) 0 var(--space-24);
  gap:var(--space-16);
}

.month-heading button {
  color: var(--navy);
  min-height: 44px;
}

.result-count {
  margin:0 0 var(--space-24);
}

.events-list {
  gap:var(--space-16);
  border: 0;
  margin:0;
  padding-bottom:var(--space-96);
}

.event-row {
  grid-template-columns: 96px minmax(0,1fr) 28px;
  gap:var(--space-32);
  padding:var(--space-32);
  background:var(--surface);
  border: 1px solid #bacbd7;
  border-radius:var(--radius-card);
  align-items: start;
}

.event-row .date-tile {
  width: 96px;
  min-width: 0;
  height: 104px;
  background:var(--surface);
  color: var(--navy);
}

.event-row .date-tile strong {
  font-weight:700;
}

.event-row.past .date-tile {
  background:var(--surface);
  color: #536777;
}

.event-row .kind {
  color: #42627a;
}

.event-row h3 {
  margin:var(--space-8) 0 var(--space-12);
}

.event-row .summary {
  ;
  margin-top:var(--space-16);
}

.event-row .row-arrow {
  align-self: center;
}

.event-row:hover {
  border-color: #52728a;
}

.event-row:hover h3 {
  color: var(--navy);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.page-head button:focus-visible, .page-head + section :focus-visible {
  outline-color: var(--navy);
}

.empty {
  background:var(--surface);
  border: 1px solid #bacbd7;
  padding:var(--space-48) var(--space-32);
  margin:0;
}

.article-wrap {
  padding:var(--space-48) 0 var(--space-96);
}

.back-link {
  padding:var(--space-8) 0;
  margin-bottom:var(--space-32);
}

.back-link:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.article-title {
  margin:var(--space-16) 0 var(--space-24);
}

.article-lead {
  margin-bottom:var(--space-32);
}

.article-body h2 {
  margin:var(--space-32) 0 var(--space-24);
}

.article-body .speaker {
  padding:var(--space-24) 0;
  border-color: #c2cfd8;
}

.speaker h3 {
  margin:var(--space-8) 0 var(--space-16);
}

.article-aside {
  background:var(--surface);
  border: 1px solid #b7cad7;
  padding:var(--space-32);
  border-radius:var(--radius-card);
}

.article-aside .button {
  background:var(--surface);
  border-color: var(--navy);
  color:var(--surface);
  padding:var(--space-12) var(--space-16);
}

.article-aside .button:hover {
  background:var(--surface);
}

.article-aside :focus-visible {
  outline-color: var(--navy);
}

.source-note {
  padding:var(--space-24);
  background:var(--surface);
  border: 1px solid #ccd5dc;
  border-radius:var(--radius-card);
}

.editor-head {
  padding:var(--space-64) 0 var(--space-32);
}

.editor-head h1 {
  margin:var(--space-16) 0 var(--space-24);
}

.editor-head p {
  ;
}

.demo-notice {
  background:var(--surface);
  border: 1px solid #b7cad7;
  border-radius:var(--radius-card);
  padding:var(--space-24) var(--space-24);
  margin-bottom:var(--space-32);
}

.editor-layout {
  grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);
  gap:var(--space-32);
  padding-bottom:var(--space-64);
  align-items: start;
}

.editor-form {
  background:var(--surface);
  border: 1px solid #b7cad7;
  border-radius:var(--radius-card);
  padding:var(--space-32);
  gap:var(--space-24);
}

.form-row {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap:var(--space-16);
}

.field {
  gap:var(--space-8);
  min-width: 0;
}

.field input, .field select, .field textarea {
  border-color: #9eb1bf;
  min-height: 52px;
  border-radius:var(--radius-card);
}

.editor-form :focus-visible, .saved-section :focus-visible {
  outline-color: var(--navy);
}

.editor-form .button:not(.outline) {
  background:var(--surface);
  border-color: var(--navy);
}

.editor-preview {
  background:var(--surface);
  border-color: #b7cad7;
  border-radius:var(--radius-card);
  padding:var(--space-32);
}

.editor-preview > .eyebrow, .editor-preview .kind {
  color: #42627a;
}

.editor-preview .editor-preview-note {
  margin-top:var(--space-24);
  color: #42627a;
}

.saved-section {
  padding-bottom:var(--space-96);
}

.saved-section .section-title {
  margin-bottom:var(--space-24);
  align-items: center;
}

.saved-section h2 {
  margin:0;
}

.saved-row {
  background:var(--surface);
  border: 1px solid #b7cad7;
  padding:var(--space-24);
  margin-top:var(--space-16);
  border-radius:var(--radius-card);
}

.saved-row p {
  overflow-wrap: anywhere;
  min-width: 0;
}

.saved-row strong {
  margin-bottom:var(--space-4);
}

.saved-row button {
  min-height: 44px;
  color: var(--navy);
}

@media (max-width:1100px) {
  .filters input {
  flex: 1 1 230px;
  }

.year-grid {
  grid-template-columns: repeat(4,minmax(0,1fr));
  }

.editor-form {
  padding:var(--space-24);
  }

.editor-layout {
  gap:var(--space-24);
  }
}

@media (max-width:800px) {
  .page-head {
  padding-top:var(--space-48);
  }

.page-year {
  display: none;
  }

.page-head .view-tabs {
  margin-top:var(--space-24);
  }

.filters {
  margin-top:var(--space-32);
  padding:var(--space-16);
  gap:var(--space-8);
  }

.filters input {
  flex-basis: 100%;
  margin:var(--space-8) 0 0;
  }

.filter-pill {
  padding:var(--space-8) var(--space-12);
  }

.year-grid {
  gap:var(--space-12);
  grid-template-columns: repeat(3,minmax(0,1fr));
  }

.event-row {
  padding:var(--space-24);
  gap:var(--space-24);
  grid-template-columns: 78px minmax(0,1fr);
  }

.event-row .date-tile {
  width: 78px;
  height: 90px;
  }

.event-row .row-arrow {
  display: none;
  }

.events-list {
  padding-bottom:var(--space-64);
  }

.article-wrap {
  padding:var(--space-32) 0 var(--space-64);
  }

.article-grid {
  gap:var(--space-32);
  }

.article-lead {
  margin-bottom:0;
  }

.article-aside {
  padding:var(--space-24);
  }

.editor-head {
  padding-top:var(--space-48);
  }

.editor-layout {
  grid-template-columns: minmax(0,1fr);
  }

.editor-form {
  padding:var(--space-24);
  }

.saved-row {
  flex-direction: column;
  gap:var(--space-16);
  }
}

@media (max-width:480px) {
  .filters {
  padding:var(--space-16);
  gap:var(--space-8);
  }

.filters select {
  width: 100%;
  }

.filter-pill {
  flex: 1 1 calc(50% - 9px);
  }

.year-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  }

.month-cell {
  min-height: 106px;
  }

.month-heading {
  align-items: flex-start;
  flex-direction: column;
  gap:var(--space-8);
  }

.event-row {
  padding:var(--space-24) var(--space-24);
  gap:var(--space-16);
  grid-template-columns: 1fr;
  }

.event-row .date-tile {
  flex-direction: row;
  justify-content: flex-start;
  gap:var(--space-12);
  width: auto;
  height: auto;
  background:transparent;
  }

.event-row .date-tile span {
  margin:0;
  }

.article-aside {
  padding:var(--space-24);
  }

.source-note {
  padding:var(--space-24);
  }

.demo-notice {
  padding:var(--space-24);
  }

.editor-form {
  padding:var(--space-24);
  }

.form-row {
  grid-template-columns: minmax(0,1fr);
  }

.saved-section .section-title {
  flex-direction: column;
  align-items: flex-start;
  gap:var(--space-16);
  }

.saved-row {
  padding:var(--space-24);
  }
}

.event-date {
  display: inline-flex;
  align-items: center;
  gap:var(--space-12);
  flex-shrink: 0;
  color: var(--navy);
}

.event-date .date-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 66px;
  min-width: 66px;
  height: 76px;
  background:var(--surface);
  border-radius:var(--radius-card);
  color:var(--surface);
}

.date-chip strong {
  font-weight:700;
  white-space: nowrap;
}

.date-chip > span {
  font-weight: 500;
  color: var(--sky);
  margin-top:var(--space-8);
}

.event-date .date-year {
  color: #42627a;
  font-weight: 500;
}

.event-date .date-chip--range {
  width: 94px;
  min-width: 94px;
}

.event-date--large .date-chip {
  width: 90px;
  min-width: 90px;
  height: 104px;
}

.event-date--large .date-chip > span {
  margin-top:var(--space-8);
}

.event-date--large .date-chip--range {
  width: 124px;
  min-width: 124px;
}

.event-media {
  position: relative;
  margin:0;
  overflow: hidden;
  background:var(--surface);
  min-width: 0;
}

.event-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.event-media figcaption {
  position: absolute;
  left: 14px;
  bottom: 13px;
  ;
  padding:var(--space-4) var(--space-8);
  border-radius:var(--radius-card);
  background:var(--surface);
  color:var(--surface);
}

.calendar-feature-media {
  min-height: 480px;
}

.calendar-feature-heading {
  display: flex;
  align-items: center;
  gap:var(--space-24);
  margin-bottom:var(--space-24);
}

.calendar-feature-heading .eyebrow {
  color: #42627a;
}

.calendar-card-media {
  aspect-ratio: 1.65;
  flex-shrink: 0;
}

.calendar-card-body {
  padding:var(--space-24);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  min-width: 0;
  row-gap:0;
}

.calendar-card-heading {
  display: grid;
  grid-template-columns: 76px minmax(0,1fr);
  align-items: center;
  gap:var(--space-16);
  width: 100%;
  margin-bottom:var(--space-24);
}

.calendar-card-context {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap:var(--space-8);
}

.calendar-card-heading .eyebrow {
  color: #42627a;
  text-align: left;
}

.calendar-card-context > span {
  color: #42627a;
}

.calendar-card-body > p {
  margin:var(--space-16) 0 0;
}

.calendar-card-body .text-link {
  padding:var(--space-24) 0 0;
  margin:0;
  align-self: end;
  width: fit-content;
}

.event-row--image {
  display: grid;
  grid-template-columns: 236px minmax(0,1fr) 24px;
  padding:0 var(--space-24) 0 0;
  gap:var(--space-32);
  align-items: stretch;
  overflow: hidden;
}

.event-row-media {
  min-height: 250px;
}

.event-row-copy {
  min-width: 0;
  padding:var(--space-32) 0;
}

.event-row-meta {
  display: flex;
  align-items: center;
  gap:var(--space-24);
  margin-bottom:var(--space-24);
}

.event-row--image h3 {
  margin:0 0 var(--space-12);
}

.event-row--image .row-arrow {
  align-self: center;
}

.article-event-media {
  margin:0 0 var(--space-32);
  border-radius:var(--radius-card);
}

.article-event-media img {
  position: static;
  height: auto;
  max-height: 740px;
  object-fit: contain;
}

.article-aside .event-date {
  margin-bottom:var(--space-24);
}

.editor-preview .event-date {
  margin:var(--space-24) 0 var(--space-16);
}

@media (max-width:1100px) {
  .calendar-card-body {
  padding:var(--space-24);
  }

.calendar-card-heading {
  gap:var(--space-16);
  }

.event-row--image {
  grid-template-columns: 190px minmax(0,1fr) 20px;
  gap:var(--space-24);
  padding-right:var(--space-24);
  }
}

@media (max-width:1000px) {
  .calendar-card-media {
  aspect-ratio: auto;
  min-height: 280px;
  }

.calendar-card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding:var(--space-32);
  }

.calendar-card-body .text-link {
  align-self: flex-start;
  }
}

@media (max-width:800px) {
  .calendar-feature-media {
  min-height: 0;
  aspect-ratio: 1.65;
  }

.event-row--image {
  grid-template-columns: 190px minmax(0,1fr);
  gap:var(--space-24);
  padding-right:var(--space-24);
  }

.event-row--image .row-arrow {
  display: none;
  }

.event-row-meta {
  flex-wrap: wrap;
  gap:var(--space-16);
  }

.article-event-media {
  margin:var(--space-32) 0 0;
  }
}

@media (max-width:600px) {
  .calendar-feature-heading {
  gap:var(--space-24);
  margin-bottom:var(--space-24);
  }

.event-date--large .date-chip {
  width: 72px;
  min-width: 72px;
  height: 84px;
  }

.event-date--large .date-chip > span {
  margin-top:var(--space-8);
  }

.event-date--large .date-chip--range {
  width: 102px;
  min-width: 102px;
  }

.calendar-card-media {
  aspect-ratio: 1.65;
  min-height: 0;
  }

.calendar-card-body {
  padding:var(--space-24) var(--space-24);
  }

.event-row--image {
  grid-template-columns: 1fr;
  gap:0;
  padding:0;
  }

.event-row-media {
  min-height: 0;
  aspect-ratio: 1.65;
  }

.event-row-copy {
  padding:var(--space-24) var(--space-24);
  }

.event-row-meta {
  flex-wrap: nowrap;
  justify-content: space-between;
  gap:var(--space-16);
  }

.event-row-meta .kind {
  text-align: right;
  }
}

.nl-section {
  background:var(--surface);
  padding:var(--space-96) 0;
  border-top: 1px solid #d5d9d8;
  scroll-margin-top: 112px;
}

.nl-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap:var(--space-96);
  align-items: center;
}

.nl-copy {
  min-width: 0;
}

.nl-copy .eyebrow {
  color: #42627a;
}

.nl-copy h2 {
  margin:var(--space-24) 0 var(--space-24);
}

.nl-copy > p {
  ;
}

.nl-topics {
  display: flex;
  flex-wrap: wrap;
  gap:var(--space-8) var(--space-16);
  margin:var(--space-24) 0 var(--space-32);
  color: var(--navy);
  font-weight:700;
}

.nl-topics span + span:before {
  content: '·';
  color: #42627a;
  margin-right:var(--space-16);
}

.nl-archive {
  display: inline-flex;
  align-items: center;
  gap:var(--space-24);
  min-height: 44px;
  color: var(--navy);
  font-weight:700;
}

.nl-archive:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.nl-panel {
  background:var(--surface);
  border: 1px solid #b7cad7;
  border-radius:var(--radius-card);
  padding:var(--space-32);
  min-width: 0;
}

.nl-label {
  display: inline-block;
  padding:var(--space-4) var(--space-8);
  background:var(--surface);
  border-radius:var(--radius-card);
  color: var(--navy);
  font-weight:700;
}

.nl-panel h3 {
  margin:var(--space-16) 0 var(--space-32);
}

.nl-email-label {
  display: block;
  font-weight:700;
  color: var(--navy);
  margin-bottom:var(--space-8);
}

.nl-form input[type=email] {
  display: block;
  width: 100%;
  border: 1px solid #8fa7b9;
  border-radius:var(--radius-card);
  padding:var(--space-16) var(--space-16);
  min-height: 54px;
  font: inherit;
  color: var(--navy);
  background:var(--surface);
}

.nl-form input::placeholder {
  color: #536777;
}

.nl-consent {
  display: flex;
  align-items: flex-start;
  gap:var(--space-12);
  margin:var(--space-24) 0;
  cursor: pointer;
  color: #42627a;
}

.nl-consent input {
  appearance: auto;
  width: 19px;
  height: 19px;
  min-width: 19px;
  padding:0;
  margin-top:var(--space-4);
  accent-color: var(--navy);
}

.nl-submit.button {
  background:var(--surface);
  color:var(--surface);
  border: 1px solid var(--navy);
  width: 100%;
  min-height: 54px;
  justify-content: space-between;
}

.nl-submit.button:hover {
  background:var(--surface);
}

.nl-demo {
  color: #536777;
  margin:var(--space-12) 0 0;
}

.nl-member-note {
  margin:var(--space-24) 0 0;
  padding-top:var(--space-24);
  border-top: 1px solid #d7dfe4;
  color: #42627a;
}

.nl-result {
  min-height: 378px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.nl-result-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  background:var(--surface);
  border-radius:50%;
  color: var(--navy);
}

.nl-result h3 {
  margin-bottom:var(--space-16);
}

.nl-retry {
  display: flex;
  gap:var(--space-24);
  align-items: center;
  margin-top:var(--space-24);
  min-height: 44px;
  color: var(--navy);
  font-weight:700;
}

.nl-section :focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 4px;
}

.nl-section [hidden] {
  display: none;
}

@media(max-width:1100px) {
  .nl-layout {
  gap:var(--space-48);
  }

.nl-panel {
  padding:var(--space-32);
  }
}

@media(max-width:800px) {
  .nl-section {
  padding:var(--space-64) 0;
  scroll-margin-top: 90px;
  }

.nl-layout {
  grid-template-columns: 1fr;
  gap:var(--space-32);
  }

.nl-copy > p {
  ;
  }

.nl-copy h2 br {
  display: none;
  }

.nl-copy h2 {
  ;
  }

.nl-topics {
  margin-bottom:var(--space-16);
  }
}

@media(max-width:480px) {
  .nl-panel {
  padding:var(--space-24) var(--space-24);
  }

.nl-topics {
  gap:var(--space-8) var(--space-12);
  }

.nl-topics span + span:before {
  margin-right:var(--space-12);
  }
}

.ne-editor {
  --ne-navy: var(--navy, #163c66);
  --ne-deep: var(--deep, #122d47);
  --ne-magenta: var(--magenta, #cc3366);
  --ne-sky: #dce8ef;
  --ne-line: #b7cad7;
  --ne-ink: var(--text, #263b4d);
  background:var(--surface);
  color: var(--ne-ink);
  padding:var(--space-64) 0 var(--space-96);
}

.ne-editor__wrap {
  ;
}

.ne-editor__head {
  ;
}

.ne-editor__eyebrow, .ne-compose__kicker, .ne-email__eyebrow {
  color: #42627a;
  font-weight: 700;
  text-transform: uppercase;
}

.ne-editor-nav {
  display: flex;
  gap:var(--space-24);
  border-bottom: 1px solid var(--ne-line, #b7cad7);
  margin:var(--space-16) 0 var(--space-32);
}

.ne-editor-nav a {
  border-bottom: 3px solid transparent;
  color: #42627a;
  font-weight:700;
  padding:0 var(--space-4) var(--space-12);
}

.ne-editor-nav a:hover {
  color: var(--ne-navy, var(--navy, #163c66));
}

.ne-editor-nav a[aria-current="page"] {
  border-color: var(--ne-magenta, var(--magenta, #cc3366));
  color: var(--ne-navy, var(--navy, #163c66));
}

.ne-editor__head h1 {
  color: var(--ne-navy);
  margin:var(--space-16) 0 var(--space-16);
}

.ne-editor__head > p:last-child {
  ;
}

.ne-editor__notice {
  background:var(--surface);
  border: 1px solid var(--ne-line);
  border-radius:var(--radius-card);
  color: var(--ne-navy);
  margin:var(--space-32) 0;
  padding:var(--space-16) var(--space-24);
}

.ne-editor__notice strong {
  font-weight: 700;
}

.ne-editor__layout {
  align-items: start;
  display: grid;
  gap:var(--space-32);
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
}

.ne-compose {
  background:var(--surface);
  border: 1px solid var(--ne-line);
  border-radius:var(--radius-card);
  padding:var(--space-32);
}

.ne-compose__heading {
  border-bottom: 1px solid #d1dde4;
  margin-bottom:var(--space-32);
  padding-bottom:var(--space-24);
}

.ne-compose__heading h2 {
  color: var(--ne-navy);
  margin-top:var(--space-8);
}

.ne-recipient {
  border: 0;
  margin:0 0 var(--space-32);
  padding:0;
}

.ne-recipient legend {
  color: var(--ne-navy);
  font-weight: 700;
  margin-bottom:var(--space-12);
  padding:0;
}

.ne-recipient__choices {
  display: grid;
  gap:var(--space-12);
}

.ne-recipient__choice {
  align-items: start;
  border: 1px solid #aebfcb;
  cursor: pointer;
  display: grid;
  gap:var(--space-12);
  grid-template-columns: 20px minmax(0, 1fr) auto;
  padding:var(--space-16);
}

.ne-recipient__choice:has(input:checked) {
  background:var(--surface);
  border: 2px solid var(--ne-navy);
  padding:var(--space-16);
}

.ne-recipient__choice input {
  accent-color: var(--ne-navy);
  height: 18px;
  margin:var(--space-4) 0 0;
  width: 18px;
}

.ne-recipient__copy {
  display: grid;
  gap:var(--space-4);
}

.ne-recipient__copy strong {
  color: var(--ne-navy);
}

.ne-tag {
  align-self: start;
  border-radius:var(--radius-card);
  display: inline-flex;
  font-weight:700;
  padding:var(--space-8) var(--space-8);
  text-transform: uppercase;
  white-space: nowrap;
}

.ne-tag--internal {
  background:var(--surface);
  color:var(--surface);
}

.ne-tag--external {
  background:var(--surface);
  color: #912348;
}

.ne-compose__field {
  display: grid;
  gap:var(--space-8);
  margin-top:var(--space-24);
}

.ne-compose__field label {
  color: var(--ne-navy);
  font-weight: 700;
}

.ne-compose__field input, .ne-compose__field textarea {
  background:var(--surface);
  border: 1px solid #9eb1bf;
  border-radius:var(--radius-card);
  color: var(--ne-navy);
  font: inherit;
  padding:var(--space-12) var(--space-12);
  width: 100%;
}

.ne-compose__field textarea {
  min-height: 132px;
  resize: vertical;
}

.ne-compose__field input:focus, .ne-compose__field textarea:focus {
  border-color: var(--ne-navy);
  outline: 3px solid #163c6630;
  outline-offset: 2px;
}

.ne-compose__field > p {
  color: #526a7e;
}

.ne-compose__story {
  background:var(--surface);
  border: 1px solid #c5d7e1;
  margin-top:var(--space-24);
  padding:var(--space-16) var(--space-16);
}

.ne-compose__story > p:not(.ne-compose__kicker) {
  margin-top:var(--space-8);
}

.ne-compose__story a, .ne-email__link {
  color: var(--ne-navy);
  display: inline-flex;
  font-weight: 700;
  gap:var(--space-8);
  margin-top:var(--space-12);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.ne-compose__actions {
  align-items: center;
  border-top: 1px solid #d1dde4;
  display: flex;
  flex-wrap: wrap;
  gap:var(--space-16);
  margin-top:var(--space-32);
  padding-top:var(--space-24);
}

.ne-save {
  background:var(--surface);
  border: 1px solid var(--ne-navy);
  border-radius:var(--radius-card);
  color:var(--surface);
  font: inherit;
  font-weight: 700;
  min-height: 51px;
  padding:var(--space-12) var(--space-16);
}

.ne-save:hover {
  background:var(--surface);
}

.ne-save__status {
  color: #42627a;
  flex: 1 1 230px;
}

.ne-preview {
  background:var(--surface);
  border: 1px solid var(--ne-line);
  padding:var(--space-24);
  position: sticky;
  top: 118px;
}

.ne-preview__label {
  color: #42627a;
  display: flex;
  font-weight: 700;
  justify-content: space-between;
  margin-bottom:var(--space-12);
  text-transform: uppercase;
}

.ne-email {
  background:var(--surface);
  box-shadow:none;
}

.ne-email__brand {
  border-bottom: 5px solid var(--ne-navy);
  padding:var(--space-24) var(--space-24) var(--space-16);
}

.ne-email__brand img {
  height: auto;
  ;
}

.ne-email__body {
  padding:var(--space-32) var(--space-32) var(--space-32);
}

.ne-email__body .ne-tag {
  margin-bottom:var(--space-24);
}

.ne-email__eyebrow {
  margin-bottom:var(--space-8);
}

.ne-email h2 {
  color: var(--ne-navy);
  overflow-wrap: anywhere;
}

.ne-email__body > p:not(.ne-email__eyebrow) {
  margin-top:var(--space-16);
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.ne-email__foot {
  background:var(--surface);
  border-top: 1px solid #d6e0e6;
  color: #42627a;
  padding:var(--space-16) var(--space-32);
}

.ne-editor a:focus-visible, .ne-editor button:focus-visible, .ne-editor input:focus-visible, .ne-editor textarea:focus-visible {
  outline: 3px solid var(--ne-magenta);
  outline-offset: 4px;
}

@media (max-width: 900px) {
  .ne-editor {
  padding:var(--space-48) 0 var(--space-64);
  }

.ne-editor__layout {
  grid-template-columns: minmax(0, 1fr);
  }

.ne-preview {
  position: static;
  }
}

@media (max-width: 600px) {
  .ne-editor__notice, .ne-compose {
  padding:var(--space-24);
  }

.ne-recipient__choice {
  gap:var(--space-12);
  grid-template-columns: 19px minmax(0, 1fr);
  }

.ne-recipient__choice .ne-tag {
  grid-column: 2;
  justify-self: start;
  }

.ne-preview {
  padding:var(--space-16);
  }

.ne-email__brand, .ne-email__body {
  padding-left:var(--space-24);
  padding-right:var(--space-24);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ne-editor *, .ne-editor *::before, .ne-editor *::after {
  scroll-behavior: auto;
  transition: none !important;
  }
}

.content-tag {
  display: inline-flex;
  align-items: center;
  padding:var(--space-8) var(--space-12);
  border-radius:var(--radius-card);
  background:var(--surface);
  color:var(--surface);
  font-weight:700;
}

.event-media .content-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap:var(--space-8);
  position: absolute;
  inset: 16px auto auto 16px;
  ;
  padding:0;
  background:transparent;
  border-radius:0;
}

.content-tags .content-tag + .content-tag {
  background:var(--surface);
  color: var(--navy);
}

.overview-photo-note {
  color: #42627a;
  margin:var(--space-24) 0 0;
}

.archive-photo-note {
  margin:0 0 var(--space-24);
}

.program-feature {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  background:var(--surface);
  border: 1px solid #b7cad7;
  border-radius:var(--radius-card);
  overflow: hidden;
}

.program-feature-copy {
  padding:var(--space-48) var(--space-48);
  align-self: center;
  min-width: 0;
}

.program-feature-copy > .eyebrow {
  color: #42627a;
}

.program-feature h3 {
  margin:var(--space-16) 0 var(--space-24);
}

.program-feature-media {
  min-height: 350px;
}

.program-feature-media img {
  object-position: center 57%;
}

.program-feature-footer {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1.08fr auto;
  align-items: center;
  gap:var(--space-32);
  padding:var(--space-24) var(--space-32);
  background:var(--surface);
  border-top: 1px solid #c6d5df;
}

.program-schedule {
  display: flex;
  align-items: center;
  gap:var(--space-16);
  min-width: 0;
}

.program-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap:var(--space-8);
  flex-shrink: 0;
  width: 70px;
  height: 74px;
  border-radius:var(--radius-card);
  background:var(--surface);
  color:var(--surface);
}

.program-date strong {
  font-weight:700;
  white-space: nowrap;
}

.program-date > span {
  color: var(--sky);
  font-weight:700;
  white-space: nowrap;
}

.program-info-label {
  display: block;
  color: #42627a;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom:var(--space-4);
}

.program-schedule > div > strong, .program-location p {
  color: var(--navy);
  font-weight: 500;
}

.program-location {
  min-width: 0;
}

.program-feature-footer .program-button {
  min-height: 52px;
  padding:var(--space-12) var(--space-24);
}

.program-list {
  display: grid;
  gap:var(--space-16);
}

.program-row {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  background:var(--surface);
  border: 1px solid #b7cad7;
  border-radius:var(--radius-card);
  overflow: hidden;
}

.program-row-media {
  min-height: 158px;
}

.program-row-content {
  display: grid;
  grid-template-columns: 70px minmax(0,1fr) 36px;
  gap:var(--space-24);
  align-items: center;
  padding:var(--space-24) var(--space-32);
}

.program-row-copy {
  min-width: 0;
}

.program-row-copy p {
  margin-top:var(--space-8);
}

.program-row-arrow {
  display: grid;
  place-items: center;
  border: 1px solid #b7cad7;
  width: 36px;
  height: 36px;
  border-radius:50%;
  color: var(--navy);
}

.program-row:hover {
  border-color: var(--navy);
}

.program-row:hover h4 {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.program-row:hover .program-row-arrow {
  color:var(--surface);
  background:var(--surface);
  border-color: var(--navy);
}

.program-feature :focus-visible, .program-row:focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 4px;
}

.home-news {
  padding:var(--space-96) 0;
}

.home-news .chapter-heading {
  margin-bottom:var(--space-32);
}

.news-card-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap:var(--space-24);
}

.news-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid #bfced9;
  border-radius:var(--radius-card);
  overflow: hidden;
  background:var(--surface);
}

.news-card-media {
  margin:0;
  aspect-ratio: 2.05;
  overflow: hidden;
  background:var(--surface);
}

.news-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 47%;
}

.news-letter-cover {
  aspect-ratio: 2.05;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  background:var(--surface);
  padding:var(--space-24) var(--space-32);
  overflow: hidden;
}

.news-letter-cover > img {
  width: 157px;
  height: auto;
}

.news-letter-cover > div {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap:var(--space-12);
  color: var(--navy);
}

.news-letter-cover span {
  font-weight: 700;
}

.news-letter-cover strong {
  font-weight: 500;
  color: #42627a;
}

.news-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding:var(--space-32);
  border-top: 1px solid #bfced9;
}

.news-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap:var(--space-8);
  color: #42627a;
}

.news-card-meta .content-tag {
  color: var(--navy);
  background:var(--surface);
}

.news-card h3 {
  margin:var(--space-16) 0 var(--space-16);
}

.news-card-body > p {
  margin:0 0 var(--space-24);
}

.news-card-link {
  display: flex;
  justify-content: space-between;
  gap:var(--space-16);
  align-items: center;
  font-weight: 700;
  color: var(--navy);
  border-top: 1px solid #c8d5de;
  padding-top:var(--space-16);
  margin-top:auto;
}

.news-card:hover {
  border-color: var(--navy);
  background:var(--surface);
}

.news-card:hover h3 {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.news-card:focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 4px;
}

@media(max-width:1100px) {
  .program-feature-copy {
  padding:var(--space-48) var(--space-32);
  }

.program-feature-footer {
  gap:var(--space-24);
  padding:var(--space-24) var(--space-24);
  grid-template-columns: 1fr 1fr auto;
  }

.program-schedule {
  gap:var(--space-16);
  }

.program-row {
  grid-template-columns: 185px minmax(0,1fr);
  }

.program-row-content {
  gap:var(--space-24);
  padding:var(--space-24);
  }

.news-card-body {
  padding:var(--space-24);
  }
}

@media(max-width:800px) {
  .program-feature {
  grid-template-columns: 1fr;
  }

.program-feature-media {
  grid-row: 1;
  min-height: 0;
  aspect-ratio: 2;
  }

.program-feature-copy {
  grid-row: 2;
  padding:var(--space-32) var(--space-32);
  }

.program-feature-footer {
  grid-row: 3;
  grid-template-columns: 1fr 1fr;
  }

.program-feature-footer > .program-button {
  grid-column: 1 / -1;
  width: 100%;
  }

.program-row {
  grid-template-columns: 154px minmax(0,1fr);
  }

.program-row-content {
  grid-template-columns: 64px minmax(0,1fr);
  gap:var(--space-16);
  padding:var(--space-24);
  }

.program-row-arrow {
  display: none;
  }

.program-row .program-date {
  width: 64px;
  height: 70px;
  }

.news-letter-cover {
  padding:var(--space-24);
  }

.news-card-grid {
  gap:var(--space-16);
  }
}

@media(max-width:680px) {
  .program-feature-copy {
  padding:var(--space-32) var(--space-24) var(--space-32);
  }

.program-feature-media {
  aspect-ratio: 1.75;
  }

.program-feature-footer {
  grid-template-columns: 1fr;
  padding:var(--space-24) var(--space-24);
  gap:var(--space-24);
  }

.program-feature-footer > .program-button {
  width: 100%;
  }

.program-location {
  padding-top:var(--space-16);
  border-top: 1px solid #c6d5df;
  }

.program-row {
  grid-template-columns: 1fr;
  }

.program-row-media {
  aspect-ratio: 1.95;
  min-height: 0;
  }

.program-row-content {
  align-items: start;
  padding:var(--space-24) var(--space-24);
  gap:var(--space-16);
  }

.program-row-copy p {
  margin-top:var(--space-12);
  }

.event-media .content-tags {
  top: 13px;
  left: 13px;
  ;
  }

.content-tag {
  padding:var(--space-8) var(--space-12);
  }

.home-news {
  padding:var(--space-64) 0;
  }

.news-card-grid {
  grid-template-columns: 1fr;
  gap:var(--space-24);
  }

.news-card-body {
  padding:var(--space-24);
  }
}

@font-face {
  font-family:Roboto;
  src:url('assets/fonts/roboto/roboto-normal-latin.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

@font-face {
  font-family:Roboto;
  src:url('assets/fonts/roboto/roboto-italic-latin.woff2') format('woff2');
  font-weight:100 900;
  font-style:italic;
  font-display:swap;
}

:root {
  --type-display: clamp(36px, calc(23.324px + 3.38vw), 72px);
  --type-h2: clamp(30px, calc(23.662px + 1.69vw), 48px);
  --type-h3: clamp(24px, calc(21.183px + .7512vw), 32px);
  --type-lead: clamp(22px, calc(19.887px + .5634vw), 28px);
  --type-body: clamp(18px, calc(17.296px + .1878vw), 20px);
  --type-small: clamp(16px, calc(15.296px + .1878vw), 18px);
  --type-eyebrow: clamp(12px, calc(11.648px + .0939vw), 13px);
}

html {
  font-synthesis: none;
}

body {
  font-size: var(--type-body);
  line-height: 1.6;
  font-weight: 400;
}

button, input, select, textarea {
  font-size: var(--type-body);
  line-height: 1.6;
}

h1, h2, h3, h4 {
  font-weight: 700;
  text-wrap: balance;
  overflow-wrap: break-word;
  letter-spacing: -.035em;
}

h1, .article-title {
  font-size: var(--type-display);
  line-height: 1.05;
}

h2 {
  font-size: var(--type-h2);
  line-height: 1.15;
}

h3, h4 {
  font-size: var(--type-h3);
  line-height: 1.2;
}

p {
  font-size: var(--type-body);
  line-height: 1.6;
  font-weight: 400;
  hyphens: auto;
}

.lead-intro, .program-feature-copy > p, .page-head p, .article-lead, .editor-head p, .ne-editor__head > p:last-child {
  font-size: var(--type-lead);
  line-height: 1.6;
}

.eyebrow, .kind, .program-info-label, .contact-methods span, .ne-editor__eyebrow, .ne-compose__kicker, .ne-email__eyebrow, .ne-preview__label {
  font-size: var(--type-eyebrow);
  text-transform: uppercase;
  letter-spacing: .12em;
  line-height: 1.6;
  font-weight: 700;
}

small, .field small, .preview-bar, .preview-note, .lead-caption, .lead-facts span, .content-tag, .program-date > span, .date-chip > span, .date-tile > span, .date-year, .program-info-label + strong, .news-card-meta, .news-card-link, .text-link, .footer-bottom, .nl-label, .nl-topics, .nl-archive, .nl-email-label, .nl-consent, .ne-tag, .ne-recipient__copy small, .ne-save__status, .ne-email__foot, .ne-editor-nav, .source-note, .overview-photo-note, .nl-demo, .nl-member-note, .contact-identity p, .result-count {
  font-size: var(--type-small);
  line-height: 1.6;
}

.program-date strong, .date-chip strong, .date-tile strong, .lead-facts strong, .news-letter-cover strong, .news-letter-cover span, .contact-methods strong {
  font-size: var(--type-h3);
  line-height: 1.2;
  font-weight: 700;
}

.page-year {
  font-size: var(--type-display);
  line-height: 1.05;
}

.content-tag {
  padding: 8px 16px;
  font-weight: 700;
}

.button, .ne-save, .menu-button, .header-inner nav {
  font-size: var(--type-small);
  font-weight: 700;
  line-height: 1.6;
}

time, input[type=date], input[type=datetime-local], .lead-facts, .date-tile, .contact-methods {
  font-variant-numeric: tabular-nums;
}

.article-body, .article-body p {
  line-height: 1.6;
}

.footer-label, .aside-label, .finder-title {
  color: var(--navy);
  font-weight: 700;
}

.footer-label, .aside-label {
  font-size: var(--type-body);
}

.finder-title {
  font-size: var(--type-h3);
  line-height: 1.2;
}

:root {
  --space-4:4px;
  --space-8:8px;
  --space-12:12px;
  --space-16:16px;
  --space-24:24px;
  --space-32:32px;
  --space-48:48px;
  --space-64:64px;
  --space-96:96px;
  --space-128:128px;
  --space-160:160px;
  --gutter:var(--space-48);
  --container:1200px;
  --prose:65ch;
  --section-s:var(--space-96);
  --section-m:var(--space-128);
  --section-l:var(--space-160);
  --heading-gap:var(--space-48);
  --paragraph-gap:var(--space-24);
}

.wrap, .article-wrap, .ne-editor__wrap {
  width:calc(100% - var(--gutter) * 2);
  max-width:var(--container);
  margin-inline:auto;
}

.wrap.header-inner {
  max-width:1680px;
}

img {
  max-width:none;
}

p {
  max-width:var(--prose);
}

p + p, .community-copy p + p {
  margin-top:var(--paragraph-gap);
}

section {
  padding-block:var(--section-m);
}

.trades-section, .home-news, .nl-section, .sponsors {
  padding-block:var(--section-s);
}

.home-calendar, .contact-section {
  padding-block:var(--section-m);
}

.community-section {
  padding-block:var(--section-l);
}

.community-photo {
  margin-block:calc(var(--section-l) * -1);
  min-height:0;
}

.community-copy {
  padding:0 var(--gutter);
}

.community-copy > * {
  max-width:var(--prose);
}

.section-title, .chapter-heading, .home-news .chapter-heading, .trades-section .section-title {
  margin-bottom:var(--heading-gap);
}

.section-title h2, .chapter-heading h2 {
  margin-top:var(--space-16);
}

.section-title p, .chapter-heading p {
  margin-top:var(--space-24);
}

.hero-lead {
  padding-block:0;
  min-height:calc(100svh - 128px);
}

.lead-grid {
  min-height:calc(100svh - 128px);
  grid-template-columns:3fr 2fr;
  gap:var(--space-48);
  align-items:center;
}

.lead-copy {
  padding: max(10svh,var(--space-96)) 0 var(--space-128);
}

.lead-copy h1 {
  margin:var(--space-32) 0;
}

.lead-intro {
  width:100%;
}

.lead-facts {
  gap:var(--space-48);
  margin-top:var(--space-48);
}

.lead-caption {
  right:var(--gutter);
  bottom:var(--space-48);
}

.finder-wrap {
  padding:var(--space-48) var(--gutter);
}

.finder-panel {
  width:100%;
  margin:0 auto;
  padding:var(--space-32);
  gap:var(--space-48);
}

.finder-intro p {
  margin-top:var(--space-12);
}

.trades-section {
  margin:0;
}

.trade-grid {
  gap:var(--space-24);
}

.trade {
  padding:var(--space-24);
}

.trade-actions {
  margin-top:var(--space-32);
}

.program-feature-copy {
  padding:var(--space-48);
}

.program-feature h3 {
  margin:var(--space-16) 0 var(--space-24);
}

.program-feature-footer {
  gap:var(--space-32);
  padding:var(--space-32);
}

.program-row-content {
  gap:var(--space-24);
  padding:var(--space-32);
}

.program-list {
  gap:var(--space-24);
}

.calendar-subheading {
  margin:var(--space-64) 0 var(--space-32);
}

.news-card-grid {
  gap:var(--space-32);
}

.news-card-body, .news-letter-cover {
  padding:var(--space-32);
}

.news-card h3 {
  margin:var(--space-24) 0 var(--space-16);
}

.news-card-body > p {
  margin-bottom:var(--space-32);
}

.nl-layout, .contact-grid {
  gap:var(--space-64);
}

.nl-panel, .contact-person {
  padding:var(--space-48);
}

.page-head {
  padding-block:var(--section-s);
}

.page-head + section {
  padding-block:var(--section-s);
}

.page-head .view-tabs {
  margin-top:var(--space-48);
}

.filters {
  margin:0 0 var(--space-32);
  padding:var(--space-24);
  gap:var(--space-12);
}

.events-list {
  padding-bottom:0;
  margin-bottom:0;
  gap:var(--space-24);
}

.article-wrap {
  padding-block:var(--section-s);
}

.article-grid {
  grid-template-columns:minmax(0,1fr) 320px;
  gap:var(--space-64);
}

.article-body, .article-intro {
  min-width:0;
}

.article-body h2 {
  margin:var(--space-48) 0 var(--space-24);
}

.article-title {
  margin:var(--space-24) 0 var(--space-32);
}

.article-aside {
  padding:var(--space-32);
}

.editor-head {
  padding:0 0 var(--space-48);
}

.editor-layout {
  gap:var(--space-48);
  padding-bottom:var(--space-64);
}

.editor-form, .editor-preview {
  padding:var(--space-32);
}

.saved-section {
  padding-bottom:0;
}

.ne-editor {
  padding-block:var(--section-s);
}

.ne-compose, .ne-preview {
  padding:var(--space-32);
}

.ne-editor__layout {
  gap:var(--space-48);
}

.site-footer .footer-top {
  padding-block:var(--space-64);
  gap:var(--space-48);
}

.footer-bottom {
  padding-block:var(--space-24);
}

@media(max-width:1023px) {
  :root {
  --gutter:var(--space-32);
  --section-s:var(--space-64);
  --section-m:var(--space-96);
  --section-l:var(--space-128);
  --heading-gap:var(--space-32);
  --paragraph-gap:var(--space-16);
  }

.header-inner nav {
  gap:var(--space-16);
  }

.program-feature-copy, .nl-panel, .contact-person {
  padding:var(--space-32);
  }

.article-grid {
  grid-template-columns:minmax(0,1fr) 280px;
  gap:var(--space-32);
  }

.nl-layout, .contact-grid {
  gap:var(--space-48);
  }
}

@media(max-width:800px) {
  .hero-lead {
  display:block;
  }

.intro-composition {
  display:block;
  }

.lead-grid {
  grid-template-columns:minmax(0,1fr);
  min-height:calc(100svh - 96px);
  padding:0;
  }

.lead-copy {
  padding: max(10svh,var(--space-64)) 0 var(--space-64);
  }

.lead-intro {
  width:100%;
  }

.lead-image {
  height:320px;
  }

.finder-wrap {
  padding:var(--space-32) var(--gutter);
  }

.finder-panel {
  padding:var(--space-24);
  }

.community-grid {
  grid-template-columns:1fr;
  gap:var(--space-48);
  }

.community-photo {
  height:320px;
  margin:calc(var(--section-l) * -1) 0 0;
  }

.community-copy {
  padding-inline:var(--gutter);
  }

.program-feature-copy {
  padding:var(--space-32);
  }

.program-feature-footer {
  grid-template-columns:1fr;
  gap:var(--space-24);
  padding:var(--space-32);
  }

.article-grid {
  grid-template-columns:minmax(0,1fr);
  gap:var(--space-32);
  }

.article-intro, .article-body, .article-aside {
  grid-column:1;
  grid-row:auto;
  }

.article-aside {
  position:static;
  }

.ne-editor__layout, .nl-layout, .contact-grid {
  grid-template-columns:minmax(0,1fr);
  }
}

@media(max-width:600px) {
  :root {
  --gutter:var(--space-24);
  }

.lead-grid {
  min-height:calc(100svh - 96px);
  }

.lead-copy {
  padding-top:max(10svh,var(--space-64));
  }

.lead-facts {
  gap:var(--space-32);
  }

.program-feature-copy, .program-feature-footer, .program-row-content, .nl-panel, .contact-person, .news-card-body, .editor-form, .editor-preview, .ne-compose, .ne-preview {
  padding:var(--space-24);
  }

.trade {
  padding:var(--space-16);
  }

.trade-grid, .sponsor-grid {
  gap:var(--space-16);
  }

.form-row {
  grid-template-columns:minmax(0,1fr);
  }
}

:root {
  --background:#f4f1eb;
  --surface:#f7f9fa;
  --surface-2:#cadde5;
  --surface-dark:#163c66;
  --navy:var(--surface-dark);
  --deep:var(--surface-dark);
  --sky:var(--surface-2);
  --wash:var(--background);
  --white:var(--surface);
  --ice:var(--surface-2);
  --rose:var(--background);
  --text:#4c5c69;
  --muted:#42627a;
  --line:#b7cad7;
  --magenta:#cc3366;
  --radius-control:3px;
  --radius-card:4px;
  --radius-panel:8px;
  --shadow:0 8px 24px rgb(22 60 102 / .1);
  --control-height:48px;
}

body, #main:has(.page-head), #main:has(.editor-head), .ne-editor {
  background:var(--background);
  color:var(--text);
}

.site-header, .home-news, .sponsors {
  background:var(--surface);
}

.preview-bar, .site-footer {
  background:var(--background);
  color:var(--navy);
}

.preview-note {
  color:var(--muted);
}

.hero-lead, .intro-composition, .community-section {
  background:var(--ahif-blue-gradient);
  color:var(--surface);
}

.lead-copy h1, .lead-facts strong, .lead-caption, .community-copy h2, .community-copy p {
  color:var(--surface);
}

.lead-copy h1 span, .lead-copy .eyebrow, .lead-intro, .lead-facts span, .community-copy .eyebrow {
  color:var(--surface-2);
}

.trades-section, .finder-wrap, .nl-section {
  background:var(--background);
}

.home-calendar, .contact-section, .page-head, .article-aside, .editor-preview, .ne-preview {
  background:var(--surface-2);
}

.finder-panel, .program-feature, .program-row, .news-card, .contact-person, .nl-panel, .event-row, .filters, .editor-form, .saved-row, .ne-compose, .ne-email, .sponsor-grid a, .empty, .month-cell, input, select, textarea {
  background:var(--surface);
}

.program-feature-footer, .news-letter-cover, .news-card-media, .demo-notice, .ne-editor__notice, .ne-compose__story {
  background:var(--background);
}

.program-date, .date-chip, .date-tile, .event-row .date-tile, .event-row.past .date-tile, .content-tag, .ne-tag--internal, .filter-pill[aria-pressed=true], .month-cell[aria-pressed=true] {
  background:var(--ahif-blue-gradient);
  color:var(--surface);
}

.program-date > span, .date-chip > span {
  color:var(--surface-2);
}

.content-tags .content-tag + .content-tag, .news-card-meta .content-tag, .nl-label, .ne-tag--external, .month-cell.has-events:not([aria-pressed=true]) {
  background:var(--surface-2);
  color:var(--navy);
}

.filter-pill {
  background:var(--background);
  color:var(--navy);
}

.filter-pill:hover, .month-cell:hover {
  border-color:var(--navy);
}

.program-feature, .program-row, .news-card, .contact-person, .nl-panel, .event-row, .editor-form, .editor-preview, .article-aside, .ne-compose, .ne-preview, .filters {
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  box-shadow:none;
}

.finder-panel {
  border:1px solid var(--line);
  border-radius:var(--radius-panel);
  box-shadow:none;
}

.trade {
  border:1px solid var(--line);
  border-bottom:3px solid var(--navy);
  border-radius:var(--radius-card);
  box-shadow:none;
}

.trade:hover, .news-card:hover {
  box-shadow:none;
  border-color:var(--navy);
  background:var(--surface);
}

.news-card-body {
  border-top:1px solid var(--line);
}

.program-date, .date-chip, .date-tile {
  border-radius:var(--radius-panel);
}

.content-tag, .ne-tag, .nl-label, input, select, textarea {
  border-radius:var(--radius-control);
}

.button, .button.small, .header-inner nav .button.outline, .chapter-heading > .button, .program-feature-footer .program-button, .nl-submit.button, .article-aside .button, .community-copy .button, .ne-save, .menu-button, .search-box button, .view-tabs button, .filter-pill, .trade-actions button, #clearTradeSearch, .saved-row button, .month-heading button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:var(--control-height);
  min-height:var(--control-height);
  padding:0 var(--space-24);
  border-radius:var(--radius-control);
  gap:var(--space-12);
  line-height:1.2;
}

.button, .ne-save {
  background:var(--magenta);
  border:1px solid var(--magenta);
  color:var(--surface);
}

.button:hover, .ne-save:hover {
  background:var(--magenta);
  color:var(--surface);
  transform:none;
  text-decoration:underline;
  text-underline-offset:4px;
}

.button.outline, .header-inner nav .button.outline {
  border:1px solid var(--navy);
  background:transparent;
  color:var(--navy);
}

.button.outline:hover {
  background:var(--surface-2);
  color:var(--navy);
}

.button.navy, .nl-submit.button, .search-box button {
  background:var(--ahif-blue-gradient);
  color:var(--surface);
  border-color:var(--navy);
}

.header-inner nav a:not(.button), .site-footer a, .text-link, .back-link, .nl-archive, .nl-retry, .preview-bar a, .ne-editor-nav a, .ne-compose__story a, .ne-email__link, .article-aside > a:not(.button) {
  display:inline-flex;
  align-items:center;
  min-height:44px;
}

.preview-bar {
  height:48px;
  padding-inline:var(--gutter);
}

.site-footer a {
  margin:0;
}

.site-footer h2, .site-footer .footer-label {
  color:var(--navy);
}

.footer-brand img {
  padding:0;
  background:transparent;
  border-radius:0;
}

.site-footer a:hover {
  color:var(--navy);
}

.field input, .field select, .filters input, .filters select, .nl-form input[type=email], .ne-compose__field input, .search-box input {
  height:var(--control-height);
  min-height:var(--control-height);
  padding:0 var(--space-16);
  border-radius:var(--radius-control);
  border:1px solid var(--line);
}

.finder-panel .search-box, .search-box {
  height:var(--control-height);
  min-height:var(--control-height);
  border:0;
  overflow:visible;
  box-shadow:none;
  border-radius:var(--radius-control);
}

.search-box input {
  border-right:0;
}

.finder-panel .search-box input {
  height:var(--control-height);
  padding:0 var(--space-16);
}

.search-icon {
  display:none;
}

textarea {
  min-height:128px;
  padding:var(--space-16);
}

input[type=file]::file-selector-button {
  font:inherit;
  min-height:44px;
  border:0;
  background:var(--surface-2);
  color:var(--navy);
  padding-inline:var(--space-16);
}

.nl-consent, .ne-recipient__choice {
  min-height:44px;
}

.ne-recipient__choice {
  border-radius:var(--radius-card);
}

.ne-recipient__choice:has(input:checked) {
  border:1px solid var(--navy);
  background:var(--background);
  padding:var(--space-16);
}

.ne-email {
  border:0;
  box-shadow:var(--shadow);
}

.ne-email__foot {
  background:var(--background);
}

.ne-editor {
  --ne-navy:var(--navy);
  --ne-deep:var(--navy);
  --ne-magenta:var(--magenta);
  --ne-sky:var(--surface-2);
  --ne-line:var(--line);
  --ne-ink:var(--text);
}

#toast {
  background:var(--ahif-blue-gradient);
  color:var(--surface);
  border:0;
  border-radius:var(--radius-panel);
  box-shadow:var(--shadow);
  width:calc(100% - var(--gutter) * 2);
}

:focus-visible {
  outline:3px solid var(--navy);
  outline-offset:4px;
}

.hero-lead :focus-visible, .community-section :focus-visible {
  outline-color:var(--surface);
}

.menu-button {
  display:none;
}

@media(max-width:1000px) {
  .header-inner nav {
  display:none;
  }

.header-inner nav.open {
  display:flex;
  position:absolute;
  left:0;
  right:0;
  top:100%;
  flex-direction:column;
  align-items:stretch;
  padding:var(--space-24) var(--gutter);
  gap:var(--space-8);
  background:var(--surface);
  border-bottom:1px solid var(--line);
  }

.menu-button {
  display:inline-flex;
  border:1px solid var(--navy);
  background:var(--surface);
  color:var(--navy);
  }

.header-inner nav a {
  padding-inline:var(--space-16);
  }
}

@property --prose {
  syntax:"<length>";
  inherits:true;
  initial-value:585px;
}

html {
  font-family:var(--font);
  font-size:var(--type-body);
}

:root {
  --prose:65ch;
}

body p {
  font-size:var(--type-body);
  line-height:1.6;
}

.lead-intro, .program-feature-copy > p, .page-head p, .article-lead, .editor-head p, .ne-editor__head > p:last-child {
  font-size:var(--type-lead);
}

.hero-finder.button {
  margin-top:var(--space-32);
  background:var(--surface);
  color:var(--navy);
  border-color:var(--surface);
}

.hero-finder.button:hover {
  background:var(--surface-2);
  color:var(--navy);
}

.hero-lead {
  padding-block:var(--section-s);
}

.lead-grid {
  min-height:calc(100svh - 128px - var(--section-s) * 2);
}

.lead-copy {
  padding:0;
}

.lead-facts {
  margin-top:var(--space-48);
}

.brand {
  display:inline-flex;
  align-items:center;
  min-height:48px;
}

.finder-wrap {
  padding-bottom:0;
}

.finder-panel {
  background:transparent;
  border:0;
  border-radius:0;
  padding:var(--space-32) 0;
}

.trades-section {
  padding-top:var(--section-s);
}

.program-date {
  width:96px;
  height:96px;
  gap:var(--space-8);
  padding:var(--space-8);
}

.program-date > span {
  font-size:var(--type-small);
  white-space:nowrap;
}

.program-feature {
  grid-template-columns:1fr 1fr;
}

.program-feature-media {
  min-height:384px;
}

.program-feature-footer {
  grid-template-columns:1.2fr 1fr auto;
}

.program-info-label {
  color:var(--muted);
}

.program-schedule {
  gap:var(--space-24);
}

.program-schedule p {
  color:var(--navy);
}

.program-feature-footer .program-button {
  white-space:nowrap;
}

.program-row {
  grid-template-columns:256px minmax(0,1fr);
}

.program-row-content {
  grid-template-columns:96px minmax(0,1fr) 48px;
  align-items:center;
}

.program-row-media {
  min-height:224px;
}

.program-row-meta {
  margin-top:var(--space-16);
  color:var(--muted);
}

.program-row-meta p {
  margin:0;
}

.program-row-copy .program-deadline {
  margin-top:var(--space-16);
  font-weight:500;
}

.program-row-arrow {
  width:48px;
  height:48px;
  background:transparent;
  border:0;
}

.event-media .content-tags {
  top:var(--space-16);
  left:var(--space-16);
  right:var(--space-16);
  gap:var(--space-8);
}

.news-card-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--space-24);
}

.news-card {
  display:grid;
  grid-template-columns:2fr 3fr;
  gap:0;
  border:0;
  border-radius:var(--radius-panel);
  background:var(--background);
  padding:0;
}

.news-card:first-child {
  padding-top:0;
}

.news-card:last-child {
  padding-bottom:0;
  border-bottom:0;
}

.news-card-media, .news-letter-cover {
  width:100%;
  height:100%;
  min-height:352px;
  aspect-ratio:auto;
  border-radius:0;
  align-self:stretch;
}

.news-card-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 47%;
}

.news-letter-cover {
  background:var(--surface-2);
  gap:var(--space-24);
  padding:var(--space-48);
  position:relative;
}
.news-letter-cover::before { content:''; position:absolute; inset:var(--space-24); background:var(--surface); border:1px solid var(--line); }
.news-letter-cover > * { position:relative; }
.news-letter-cover > img { width:175px; }
.news-letter-cover strong { display:block; margin-top:var(--space-12); font-size:var(--type-small); }
.home-news .overview-photo-note { font-size:var(--type-small); margin-top:var(--space-16); }

.news-letter-cover > div {
  display:block;
}

.news-card-body {
  border:0;
  padding:var(--space-48);
  justify-content:center;
}

.news-card-meta {
  justify-content:flex-start;
  gap:var(--space-16);
}

.news-card h3 {
  margin-block:var(--space-16);
  max-width:26ch;
}

.news-card-body > p {
  margin:0;
  max-width:46ch;
  hyphens:none;
}

.news-card-link {
  border:0;
  padding:0;
  margin-top:var(--space-24);
  min-height:48px;
  justify-content:flex-start;
  width:fit-content;
  gap:var(--space-16);
}

.news-card:hover {
  background:var(--background);
}
.news-card-link span { transition:transform .2s ease; }
.news-card:hover .news-card-link { color:var(--magenta); }
.news-card:hover .news-card-link span { transform:translateX(3px); }

.event-row-copy {
  min-width:0;
}

.event-row .event-row-meta .kind {
  display:none;
}

.event-row h3 {
  margin:var(--space-24) 0 var(--space-16);
}

.event-row .summary {
  margin-top:var(--space-24);
}

.article-grid {
  grid-template-columns:minmax(0,1fr) 320px;
}

.article-title {
  hyphens:auto;
}

.article-body p {
  overflow-wrap:anywhere;
}

.aside-label {
  margin-top:var(--space-24);
  margin-bottom:var(--space-8);
}

.article-aside .button {
  padding-inline:var(--space-12);
}

.sponsor-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--space-24);
  margin-top:var(--space-48);
}

.sponsor-grid a {
  height:160px;
  padding:var(--space-24);
  border:0;
  background:transparent;
}

.sponsor-grid img {
  width:100%;
  height:auto;
  object-fit:contain;
}

.sponsor-grid .sponsor-hald {
  width:min(100%,242px);
}

.sponsor-grid .sponsor-lona {
  width:min(100%,232px);
}

.sponsor-grid .sponsor-bank {
  width:min(100%,213px);
}

.sponsor-grid .sponsor-regnskap {
  width:min(100%,150px);
}

.sponsor-grid .sponsor-arendal {
  width:min(100%,150px);
}

.sponsor-grid .sponsor-agder {
  width:min(100%,150px);
}

.sponsor-grid .sponsor-mester {
  width:min(100%,110px);
}

.sponsor-grid .sponsor-festival {
  width:min(100%,148px);
}

.contact-person {
  background:transparent;
  border:0;
  padding:0;
}

.contact-grid {
  grid-template-columns:1fr 1fr;
}

.contact-identity {
  grid-template-columns:128px minmax(0,1fr);
  gap:var(--space-24);
}

.contact-identity img {
  width:128px;
  height:142px;
  border-radius:var(--radius-card);
  object-fit:cover;
  object-position:50% 20%;
}

.contact-methods a[href^="mailto:"] strong {
  font-size:var(--type-body);
}

.contact-methods a {
  overflow-wrap:anywhere;
}

.footer-top {
  grid-template-columns:1.3fr 1fr 1.2fr;
  align-items:start;
}

.footer-top > div {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.footer-label {
  margin-bottom:var(--space-16);
}

.footer-bottom {
  align-items:center;
}

@media(max-width:1023px) {
  .program-feature-footer {
  grid-template-columns:1fr 1fr;
  }

.program-feature-footer .program-button {
  grid-column:1/-1;
  justify-self:start;
  }

.program-row {
  grid-template-columns:192px minmax(0,1fr);
  }

.program-row-content {
  grid-template-columns:96px minmax(0,1fr);
  }

.program-row-arrow {
  display:none;
  }

.news-card {
  gap:0;
  }
.news-card-body { padding:var(--space-32); }

.contact-grid {
  grid-template-columns:1fr;
  }

.contact-person {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-48);
  }

.contact-methods {
  border-top:0;
  margin:0;
  padding:0;
  }
}

@media(max-width:800px) {
  .hero-lead {
  padding-top:var(--section-m);
  padding-bottom:var(--section-s);
  }

.lead-grid {
  min-height:calc(100svh - 144px - var(--section-m) - var(--section-s));
  }

.lead-image {
  position:relative;
  width:100%;
  margin-top:var(--space-64);
  }

.program-feature {
  grid-template-columns:minmax(0,1fr);
  }

.program-feature-media {
  min-height:0;
  aspect-ratio:8/5;
  }

.program-feature-footer {
  grid-template-columns:1fr;
  }

.program-feature-footer .program-button {
  justify-self:stretch;
  }

.program-feature-copy {
  padding:var(--space-32);
  }

.program-row {
  grid-template-columns:160px minmax(0,1fr);
  }

.program-row-content {
  grid-template-columns:minmax(0,1fr);
  }

.program-row .program-date {
  width:96px;
  height:96px;
  }

.news-card {
  grid-template-columns:minmax(0,1fr);
  }
.news-card-media, .news-letter-cover { height:auto; min-height:0; aspect-ratio:8/5; }

.article-grid {
  grid-template-columns:minmax(0,1fr);
  }

.article-intro, .article-body, .article-aside {
  grid-column:1;
  grid-row:auto;
  }

.sponsor-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  }

.footer-top {
  grid-template-columns:1fr 1fr;
  }

.footer-brand {
  grid-column:1/-1;
  }
}

@media(max-width:600px) {
  .program-feature-copy {
  padding:var(--space-24);
  }

.program-row {
  grid-template-columns:minmax(0,1fr);
  }

.program-row-media {
  min-height:0;
  aspect-ratio:8/5;
  }

.program-row-content {
  grid-template-columns:96px minmax(0,1fr);
  gap:var(--space-16);
  }

.program-row-meta {
  grid-column:1/-1;
  }

.program-row-copy {
  display:contents;
  }

.program-row h4 {
  align-self:center;
  }

.program-deadline {
  grid-column:1/-1;
  }

.news-card {
  grid-template-columns:minmax(0,1fr);
  gap:0;
  padding:0;
  }
.news-card-body { padding:var(--space-24); }

.news-card-media, .news-letter-cover {
  aspect-ratio:8/5;
  }

.news-letter-cover {
  padding:var(--space-24);
  }

.contact-person {
  display:block;
  }

.contact-identity {
  grid-template-columns:96px minmax(0,1fr);
  }

.contact-identity img {
  width:96px;
  height:112px;
  }

.contact-methods {
  border-top:1px solid var(--line);
  margin-top:var(--space-24);
  padding-top:var(--space-16);
  }

.sponsor-grid a {
  padding:var(--space-12);
  height:128px;
  }

.sponsor-grid {
  gap:var(--space-16);
  }

.footer-top {
  grid-template-columns:minmax(0,1fr);
  }
}

p[class], .contact-identity p {
  font-size:var(--type-body);
  line-height:1.6;
}

p.lead-intro, p.article-lead, .program-feature-copy > p, .page-head p, .editor-head p, .ne-editor__head > p:last-child {
  font-size:var(--type-lead);
}

.page-year {
  font-size:var(--type-h2);
}

.month-cell, .month-cell[aria-pressed=true] {
  height:var(--control-height);
  min-height:var(--control-height);
  padding:0 var(--space-12);
  justify-content:center;
  gap:0;
}

.month-cell strong, .month-cell span {
  font-size:var(--type-small);
  line-height:1.4;
}

.month-cell span {
  margin:0;
}

.nl-retry, #removeImage, #restoreRemoved, #newPost {
  height:var(--control-height);
  min-height:var(--control-height);
}

.date-chip {
  width:96px;
  min-width:96px;
  height:96px;
  min-height:96px;
  gap:var(--space-8);
}

.event-row .date-chip {
  width:96px;
  min-width:96px;
  height:96px;
  min-height:96px;
}

.date-chip strong, .date-chip--range strong {
  font-size:var(--type-h3);
}

.date-chip > span {
  margin:0;
}

.event-date {
  gap:var(--space-16);
  align-items:center;
}

.program-feature-footer p {
  font-weight:400;
}

.event-row--image {
  padding:0;
}

.event-row--image .event-row-copy {
  padding:var(--space-32);
}

.event-row-media img, .program-feature-media img, .program-row-media img, .lead-image img, .community-photo img, .article-event-media img, .news-card-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.article-event-media {
  aspect-ratio:8/5;
  overflow:hidden;
}

.article-event-media img {
  object-position:var(--focus,50% 50%);
}

.lead-image {
  width:60%;
}

.lead-image img {
  object-position:var(--focus,58% 48%);
}

.lead-image::after {
  background:linear-gradient(0deg,rgb(22 60 102 / .75),transparent 65%);
}

.hero-lead::after {
  background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 46%,rgb(22 60 102 / .98) 53%,rgb(22 60 102 / .4) 71%,transparent 88%);
}

.community-photo img {
  object-position:var(--focus,48% 50%);
}

.event-row-media img, .program-feature-media img, .program-row-media img, .news-card-media img {
  object-position:var(--focus,50% 50%);
}

.contact-identity img {
  object-position:var(--focus,50% 20%);
}

.lead-caption {
  right:var(--gutter);
}

.hero-lead .lead-caption {
  max-width:var(--prose);
}

.footer-bottom > span {
  min-width:0;
}

.preview-bar > div {
  min-width:0;
}

.preview-bar a {
  white-space:nowrap;
}

.nl-consent {
  align-items:center;
}

.ne-recipient__choice {
  align-items:center;
}

.article-aside .button {
  margin-top:var(--space-24);
}

.ne-editor-nav {
  margin-top:0;
}

.ne-recipient__choice .ne-tag {
  align-self:center;
}

.ne-compose__heading {
  padding-bottom:var(--space-24);
}

.ne-email__brand img {
  width:174px;
  height:auto;
}

.field input[type=file] {
  height:auto;
  min-height:var(--control-height);
  padding:0;
}

.form-actions {
  gap:var(--space-12);
}

.ne-email__link, .nl-retry {
  gap:var(--space-12);
}

@media(max-width:1023px) {
  .preview-note {
  display:none;
  }

.footer-top {
  gap:var(--space-32);
  }

.program-row-media {
  min-height:0;
  }
}

@media(max-width:800px) {
  .hero-lead {
  position:relative;
  }

.lead-image {
  width:100%;
  height:320px;
  }

.lead-image img {
  object-position:var(--focus-mobile,var(--focus,50% 47%));
  }

.hero-lead::after {
  display:none;
  }

.lead-image::after {
  background:linear-gradient(0deg,rgb(22 60 102 / .75),transparent 75%);
  }

.event-row--image .event-row-copy {
  padding:var(--space-24);
  }

.event-row--image {
  grid-template-columns:192px minmax(0,1fr);
  }

.event-row-meta {
  gap:var(--space-16);
  }

.event-row .event-date {
  margin:0;
  }

.article-event-media {
  aspect-ratio:8/5;
  }

.ne-editor__layout {
  grid-template-columns:minmax(0,1fr);
  }

.ne-preview {
  position:static;
  }
}

@media(max-width:600px) {
  .preview-bar {
  height:48px;
  gap:var(--space-8);
  }

.preview-bar > span {
  white-space:nowrap;
  }

.header-inner {
  height:80px;
  gap:var(--space-16);
  }

.menu-button {
  padding-inline:var(--space-16);
  }

.finder-panel {
  grid-template-columns:minmax(0,1fr);
  gap:var(--space-24);
  }

.finder-panel .search-box {
  min-width:0;
  width:100%;
  }

.finder-panel .search-box input {
  min-width:0;
  }

.finder-panel .search-box button {
  padding-inline:var(--space-16);
  }

.event-row--image {
  grid-template-columns:minmax(0,1fr);
  }

.event-row-media {
  aspect-ratio:8/5;
  }

.ne-preview {
  padding:var(--space-16);
  }

.ne-email__body, .ne-email__brand, .ne-email__foot {
  padding:var(--space-16);
  }

.ne-recipient__choice {
  gap:var(--space-12);
  }

.ne-compose__actions {
  align-items:flex-start;
  }

.ne-email h2 {
  overflow-wrap:break-word;
  hyphens:auto;
  }

.footer-bottom {
  flex-direction:column;
  align-items:flex-start;
  }

.community-photo {
  height:256px;
  }
}

img { object-fit:contain; }

/* Annotated event treatment: blue category, navy practical row, paper calendar. */
.event-media .content-tag:first-child {
  background:var(--ahif-blue-gradient);
  color:var(--surface);
}
.program-feature-footer {
  background:var(--ahif-blue-gradient);
  color:var(--surface);
}
.program-feature-footer .program-schedule p,
.program-feature-footer .program-location p {
  color:var(--surface);
}
.program-feature-footer .program-info-label {
  color:var(--surface-2);
}
.program-feature-footer .program-location {
  border-color:var(--muted);
}
.program-feature-footer :focus-visible {
  outline-color:var(--surface);
}
.program-date, .date-chip {
  background:var(--background);
  color:var(--navy);
  border:0;
  border-top:var(--space-16) solid var(--magenta);
  padding:var(--space-8);
  gap:var(--space-4);
  border-radius:var(--radius-panel);
}
.program-date > span, .date-chip > span,
.program-date strong, .date-chip strong {
  color:var(--navy);
  line-height:1;
}

/* V16: the trade directory leads; quieter prose and a personal closing. */
.community-copy p, .nl-copy > p {
  font-size:var(--type-body);
  line-height:1.6;
  font-weight:400;
  letter-spacing:normal;
}
.community-copy p { color:var(--surface-2); }
.community-copy { align-self:center; }
.community-copy h2 { margin-bottom:var(--space-32); }
.community-copy p + p { margin-top:var(--space-24); }

.nl-heading { margin-bottom:var(--space-48); }
.nl-heading h2 { margin:var(--space-24) 0 0; max-width:none; }
.nl-layout { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto; gap:var(--space-64); align-items:stretch; }
.nl-copy { display:block; }
.nl-copy > p { margin:0; max-width:46ch; hyphens:none; }
.nl-topics { margin:var(--space-24) 0 var(--space-16); }
.nl-archive { margin:0; }
.nl-copy .nl-member-note { margin-top:var(--space-16); border:0; padding:0; font-size:var(--type-small); line-height:1.6; color:var(--muted); }
.nl-panel { grid-column:auto; grid-row:auto; display:flex; flex-direction:column; justify-content:center; padding:var(--space-48); border:0; border-radius:var(--radius-panel); background:var(--ahif-blue-gradient); color:var(--surface); }
.nl-panel h3, .nl-panel .nl-email-label, .nl-panel .nl-result p, .nl-panel .nl-retry { color:var(--surface); }
.nl-panel .nl-label { background:var(--surface-2); color:var(--navy); padding:var(--space-8) var(--space-12); }
.nl-panel h3 { margin:var(--space-16) 0 var(--space-32); }
.nl-panel .nl-consent { color:var(--surface-2); align-items:flex-start; }
.nl-panel .nl-consent input { accent-color:var(--magenta); flex:none; }
.nl-panel .nl-submit { background:var(--magenta); border-color:var(--magenta); color:var(--surface); justify-content:space-between; }
.nl-panel .nl-submit:hover { background:var(--surface); border-color:var(--surface); color:var(--navy); }
.nl-panel .nl-demo { color:var(--surface-2); font-size:var(--type-small); line-height:1.6; margin:var(--space-16) 0 0; }
.nl-panel :focus-visible { outline-color:var(--surface-2); }
.nl-contact { margin-top:var(--space-32); padding:var(--space-32) 0 0; border-top:1px solid var(--line); scroll-margin-top:160px; }
.nl-contact-person { display:grid; grid-template-columns:112px minmax(0,1fr); gap:var(--space-24); align-items:center; }
.nl-contact-person figure { margin:0; width:112px; height:124px; overflow:hidden; border-radius:var(--radius-card); }
.nl-contact-person picture, .nl-contact-person img { display:block; width:100%; height:100%; object-fit:cover; }
.nl-contact-person h3 { margin:var(--space-8) 0; }
.nl-contact-person p { margin:0; font-size:var(--type-small); }
.nl-contact-links { display:flex; flex-wrap:wrap; gap:var(--space-8) var(--space-24); margin-top:var(--space-24); }
.nl-contact-links a { display:flex; align-items:center; justify-content:space-between; gap:var(--space-16); min-height:48px; color:var(--navy); font-size:var(--type-small); font-weight:700; text-decoration:none; }
.nl-contact-links a:hover { text-decoration:underline; text-underline-offset:4px; }

.sponsor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sponsor-grid .sponsor-katercon { width:min(100%,190px); }

.contact-section { background:var(--background); }
.contact-grid { grid-template-columns:1fr 1.15fr; gap:var(--space-96); align-items:center; }
.contact-intro > h2 { margin:var(--space-24) 0 var(--space-32); }
.contact-intro > p { max-width:var(--prose); margin:0; }
.contact-address { display:flex; gap:var(--space-32); align-items:start; margin-top:var(--space-48); }
.contact-address p { margin:0; color:var(--navy); }
.contact-address .eyebrow { padding-top:var(--space-4); }
.contact-section .eyebrow { color:var(--muted); }
.contact-person { display:block; padding:var(--space-48); border:0; border-radius:var(--radius-panel); background:var(--surface); }
.contact-identity { display:grid; grid-template-columns:160px minmax(0,1fr); gap:var(--space-24); align-items:center; }
.contact-portrait { margin:0; }
.contact-identity img { width:160px; height:auto; aspect-ratio:332/368; border-radius:var(--radius-card); }
.contact-identity h3 { margin:0 0 var(--space-12); }
.contact-identity p { margin:0; color:var(--muted); font-weight:400; }
.contact-actions { margin-top:var(--space-32); }
.contact-actions a { display:grid; grid-template-columns:minmax(0,1fr) 24px; align-items:center; text-decoration:none; padding:var(--space-24) 0; color:var(--navy); gap:var(--space-8) var(--space-16); }
.contact-actions a > span:first-child { grid-column:1; font-size:var(--type-small); font-weight:400; }
.contact-actions a strong { grid-column:1; font-size:var(--type-h3); line-height:1.2; font-weight:700; }
.contact-actions a > span:last-child { grid-column:2; grid-row:1/3; font-size:var(--type-h3); }
.contact-actions .contact-phone { border-top:1px solid var(--line); }
.contact-actions .contact-email { border-top:1px solid var(--line); padding-bottom:0; }
.contact-actions .contact-email strong { font-size:var(--type-body); font-weight:500; overflow-wrap:anywhere; }
.contact-actions a:hover strong { text-decoration:underline; text-underline-offset:4px; }

.site-footer { background:var(--surface-2); color:var(--navy); border:0; }
.footer-signoff { display:flex; justify-content:space-between; align-items:end; gap:var(--space-48); padding-block:var(--space-64); border-bottom:1px solid var(--navy); }
.site-footer .footer-signoff > p { margin:0; font-size:var(--type-h2); line-height:1.15; font-weight:700; letter-spacing:-.035em; color:var(--navy); }
.footer-signoff > p span { font-weight:400; }
.footer-to-top { flex-shrink:0; gap:var(--space-24); font-size:var(--type-small); }
.site-footer .footer-top { grid-template-columns:1.2fr 1fr 1.2fr; gap:var(--space-64); padding-block:var(--space-64); }
.footer-brand img { width:175px; height:auto; margin:0 0 var(--space-24); }
.footer-brand > p { margin:0 0 var(--space-16); color:var(--navy); }
.footer-brand > span { font-size:var(--type-small); }
.site-footer .footer-label { font-size:var(--type-body); font-weight:700; text-transform:none; letter-spacing:normal; margin-bottom:var(--space-24); }
.footer-top > div > a { display:flex; width:100%; justify-content:space-between; gap:var(--space-16); font-weight:400; }
.footer-top > div:last-child > p:not(.footer-label) { margin:0 0 var(--space-16); color:var(--navy); }
.footer-bottom { border-top:1px solid var(--navy); }
.site-footer a:hover { color:var(--navy); text-decoration:underline; text-underline-offset:4px; }
.site-footer :focus-visible { outline-color:var(--navy); }

@media(max-width:1200px) {
 .contact-grid { gap:var(--space-48); }
 .contact-person { padding:var(--space-32); }
 .contact-identity { grid-template-columns:128px minmax(0,1fr); }
 .contact-identity img { width:128px; }
}
@media(max-width:1023px) {
 .contact-grid { grid-template-columns:1fr 1.2fr; gap:var(--space-32); }
 .contact-identity { grid-template-columns:1fr; }
 .contact-address { display:block; }
 .contact-address p { margin-top:var(--space-16); }
 .site-footer .footer-top { gap:var(--space-32); grid-template-columns:1fr 1fr; }
 .footer-brand { grid-column:1/-1; }
}
@media(max-width:800px) {
 .sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sponsor-grid li:last-child { grid-column:1/-1; justify-self:center; width:50%; }
 .nl-layout { column-gap:var(--space-32); }
 .nl-layout { grid-template-columns:minmax(0,1fr); gap:var(--space-32); }
 .nl-panel { padding:var(--space-32); }
 .contact-grid { grid-template-columns:1fr; gap:var(--space-48); }
 .contact-identity { grid-template-columns:160px minmax(0,1fr); }
 .contact-identity img { width:160px; }
 .contact-address { display:flex; }
 .contact-address p { margin:0; }
}
@media(max-width:600px) {
 .nl-layout { gap:var(--space-32); }
 .nl-heading { margin-bottom:var(--space-32); }
 .nl-panel { margin:0; padding:var(--space-24); }
 .nl-contact-person { grid-template-columns:80px minmax(0,1fr); gap:var(--space-16); }
 .nl-contact-person figure { width:80px; height:96px; }
 .nl-contact-links { flex-direction:column; gap:var(--space-8); }
 .contact-person { padding:var(--space-24); }
 .contact-identity { grid-template-columns:minmax(0,1fr); }
 .contact-identity img { width:160px; }
 .contact-actions a strong { font-size:var(--type-h3); }
 .contact-actions .contact-email strong { font-size:var(--type-body); }
 .contact-address { gap:var(--space-24); }
 .footer-signoff { align-items:start; flex-direction:column; gap:var(--space-24); }
 .site-footer .footer-top { grid-template-columns:1fr; gap:var(--space-48); }
.footer-brand { grid-column:auto; }
}

/* V22: two event columns, with time, place and action sharing the footer. */
.program-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-24);
}
.program-card {
  --card-inset:var(--space-32);
  min-width:0;
  display:grid;
  grid-template-rows:auto 1fr auto;
  background:var(--surface);
  border-radius:var(--radius-panel);
  overflow:hidden;
}
.program-card-media { height:320px; }
.program-card-media img { width:100%; height:100%; object-fit:cover; object-position:var(--focus,50% 50%); }
.program-card-media img[src*="assets/images/community-"] { object-position:50% 0; }
.event-media.program-card-media .content-tags {
  flex-wrap:nowrap;
  align-items:flex-start;
  gap:var(--space-12);
  top:var(--space-24);
  bottom:auto;
  left:var(--space-24);
  right:var(--space-24);
}
.program-card-tags { display:flex; flex-direction:row; flex-wrap:wrap; align-items:flex-start; gap:var(--space-8); min-width:0; }
.program-card-tags .content-tag { line-height:1.5; }
.program-card .program-date { width:80px; height:80px; border-top-width:var(--space-8); border-radius:var(--radius-panel); }
.program-card .program-date--range { width:96px; }
.program-card .program-date--range strong { font-size:var(--type-lead); }
.program-card-copy { display:flex; flex-direction:column; justify-content:center; padding:40px var(--card-inset); hyphens:none; }
.program-card-copy h3 { margin:0; font-size:var(--type-h3); font-weight:600; line-height:1.2; text-wrap:balance; }
.program-card-copy h3 a { display:flex; align-items:center; min-height:44px; color:var(--navy); text-decoration:none; }
.program-card-copy h3 a:hover { text-decoration:underline; text-underline-offset:var(--space-4); }
.program-card-copy p { margin:var(--space-16) 0 0; max-width:43ch; font-size:var(--type-body); line-height:1.65; font-weight:400; hyphens:none; }
.program-card-summary { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; height:4.95em; overflow:hidden; }
.program-card-copy .program-card-deadline { font-size:var(--type-small); line-height:1.5; }
.program-card-footer { display:grid; grid-template-columns:minmax(min-content,.9fr) minmax(0,1.5fr) auto; align-items:start; gap:var(--space-16); background:var(--ahif-blue-gradient); color:var(--surface); border-top:1px solid var(--line); padding:var(--space-24) var(--card-inset); }
.program-card-facts { display:contents; margin:0; }
.program-card-facts > div { min-width:0; }
.program-card-facts dt { display:flex; align-items:center; gap:var(--space-8); margin:0 0 var(--space-8); color:var(--surface-2); font-size:var(--type-eyebrow); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.program-card-facts svg { width:20px; height:20px; flex:none; }
.program-card-facts dd { margin:0; font-size:var(--type-small); font-weight:400; line-height:1.6; overflow-wrap:anywhere; }
.program-card-facts .program-time-slot { white-space:nowrap; }
.program-card-action { display:flex; align-items:center; align-self:center; }
.program-card-deadline { display:block; margin-top:var(--space-16); color:var(--muted); font-size:var(--type-small); line-height:1.5; }
.program-card .program-button { flex:none; padding-inline:var(--space-12); gap:var(--space-8); background:var(--magenta); color:var(--surface); border-color:var(--magenta); white-space:nowrap; }
.program-card .program-button:hover { background:var(--surface); border-color:var(--surface); color:var(--navy); }
.program-card-footer :focus-visible { outline-color:var(--surface); }
@supports(grid-template-rows:subgrid) {
  .program-card { grid-row:span 3; grid-template-rows:subgrid; row-gap:0; }
}
@media(min-width:1440px) {
  .program-card { --card-inset:var(--space-48); }
}
@media(max-width:1199px) {
  .program-grid { grid-template-columns:minmax(0,1fr); }
  .program-card { grid-row:auto; grid-template-rows:auto auto auto; }
}
@media(max-width:599px) {
  .program-card { --card-inset:var(--space-24); }
  .program-card-copy { padding-block:var(--space-32); }
  .program-card-footer { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:var(--space-24) var(--space-16); align-items:start; }
  .program-card-action { grid-column:1 / -1; }
  .program-card .program-button { width:100%; }
}
@media(max-width:480px) {
  .program-card-media { height:320px; }
  .event-media.program-card-media .content-tags { top:var(--space-16); left:var(--space-16); right:var(--space-16); gap:var(--space-8); }
  .program-card .program-date { width:64px; }
  .program-card .program-date--range { width:80px; }
  .program-card-tags .content-tag { padding:var(--space-8); }
}

/* A fixed sentence break, paired actions and one year-based association figure. */
.lead-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-16); margin-top:var(--space-32); }
.lead-actions .button { margin-top:0; }
.lead-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-24); max-width:560px; }
.lead-facts > span { min-width:0; }
.lead-facts-status { display:block; margin-top:var(--space-16); color:var(--surface-2); font-size:var(--type-small); }
.lead-facts-status[hidden] { display:none; }
.hero-member.button { background:var(--magenta); border-color:var(--magenta); color:var(--surface); }
.hero-member.button:hover { background:var(--surface); border-color:var(--surface); color:var(--navy); }
.hero-lead { min-height:0; padding-block:clamp(var(--space-64),7.5svh,var(--space-96)); }
.lead-grid { min-height:0; }
@media(max-width:800px) {
  .hero-lead { padding-top:var(--space-64); padding-bottom:var(--space-32); }
}
@media(max-width:480px) {
  .lead-actions { gap:var(--space-12); }
  .lead-actions .button { padding-inline:var(--space-12); gap:var(--space-8); }
  .lead-facts { gap:var(--space-16); }
}

/* V24: clear search action and a shared, gentle hover/focus treatment. */
.finder-panel .search-box button {
  flex:none;
  background:var(--magenta);
  border:1px solid var(--magenta);
  color:var(--surface);
  transition:background-color .22s ease, border-color .22s ease;
}
.finder-panel .search-box button:hover { background:var(--ahif-blue-gradient); border-color:var(--navy); }
.finder-panel .search-box input { border-radius:var(--radius-control) 0 0 var(--radius-control); }
.finder-panel .search-box button { border-radius:0 var(--radius-control) var(--radius-control) 0; }
.trade { transition:background-color .24s ease, border-color .24s ease, color .24s ease, transform .24s ease; }
.trade .arrow { transition:color .24s ease, transform .24s ease; }
.trade:hover, .trade:focus-visible { background:var(--surface); color:var(--magenta); border-color:var(--magenta); transform:translateY(-3px); }
.trade:hover svg, .trade:focus-visible svg, .trade:hover .arrow, .trade:focus-visible .arrow { color:var(--magenta); }
.trade:hover .arrow, .trade:focus-visible .arrow { transform:translateX(3px); }
@media(min-width:1101px) and (max-width:1280px) {
  .trade-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) {
  .trade:hover, .trade:focus-visible, .trade:hover .arrow, .trade:focus-visible .arrow { transform:none; }
  .news-card:hover .news-card-link span { transform:none; }
}

/* V28: a distinct search surface and one shared newsletter/contact panel. */
.finder-wrap { background:var(--background); padding:0 0 var(--section-s); }
.trades-section { padding-bottom:var(--section-s); }
.finder-panel { width:min(var(--container),calc(100% - var(--gutter) * 2)); margin-inline:auto; background:#fff; padding:var(--space-32); border:1px solid var(--line); border-radius:var(--radius-panel); }
.finder-panel .search-box input { background:var(--surface); }
.trade svg { transition:color .24s ease; }
.nl-heading { margin-bottom:var(--space-32); }
.nl-heading .eyebrow { color:var(--muted); }
.nl-heading h2 { margin-top:var(--space-16); }
.nl-layout { gap:0; background:#fff; border-radius:var(--radius-panel); overflow:hidden; }
.nl-copy { padding:var(--space-48); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.nl-copy > p { max-width:40ch; }
.nl-topics { display:flex; flex-wrap:wrap; gap:var(--space-8); margin:var(--space-24) 0; }
.nl-topics span { background:var(--background); padding:var(--space-8) var(--space-12); font-size:var(--type-small); border-radius:var(--radius-control); }
.nl-topics span + span::before { content:none; }
.nl-archive { font-size:var(--type-small); margin-bottom:var(--space-32); }
.nl-contact { align-self:stretch; margin-top:0; }
.nl-contact-person h3 { font-size:var(--type-h3); }
.nl-contact-links { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
.nl-contact-links a { width:100%; }
.nl-panel { justify-content:flex-start; padding:var(--space-48); border-radius:0; }
.nl-panel h3 { margin:var(--space-16) 0; max-width:21ch; }
.nl-form-intro { margin:0; color:var(--surface-2); font-size:var(--type-body); line-height:1.6; }
.nl-members-info { margin:var(--space-24) 0 var(--space-32); padding:var(--space-16) 0; border-block:1px solid rgb(202 221 229 / .4); }
.nl-members-info strong { display:block; font-size:var(--type-small); color:var(--surface); }
.nl-members-info p { margin:var(--space-8) 0 0; font-size:var(--type-small); line-height:1.6; color:var(--surface-2); }
.nl-panel .nl-consent { margin-block:var(--space-24); }
@media(max-width:1100px) {
  .finder-panel { gap:var(--space-24); }
  .nl-copy, .nl-panel { padding:var(--space-32); }
}
@media(max-width:800px) {
  .nl-layout { gap:0; }
  .nl-contact { margin-top:0; }
}
@media(max-width:600px) {
  .finder-wrap { padding:0 0 var(--section-s); }
  .finder-panel { padding:var(--space-24); }
  .trade { padding-inline:var(--space-12); }
  .nl-copy, .nl-panel { padding:var(--space-24); }
}

/* The search now lives in the header; the trade introduction keeps its full width. */
.trade-heading-row { display:block; }

.lead-copy .lead-intro { color:var(--surface); }

/* Compact metadata and calmer article titles keep the reading order clear. */
.event-media .content-tag,
.program-card-tags .content-tag,
.news-card-meta .content-tag {
  padding:6px 10px;
  font-size:14px;
  line-height:20px;
  font-weight:500;
  border-radius:3px;
}
.program-card-facts .program-address-line { display:block; white-space:nowrap; }
.news-card-meta { gap:var(--space-12); }
.news-card-meta time { font-size:16px; line-height:1.5; }
.news-card h3 {
  max-width:34ch;
  font-size:clamp(24px,2vw,28px);
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.015em;
  margin-block:var(--space-16);
}
.news-card-link { font-weight:500; }
.news-letter-cover span { font-size:clamp(24px,2vw,28px); line-height:1.25; font-weight:600; }
@media(max-width:600px) {
  .news-letter-cover { padding:40px; min-height:240px; }
}

/* Shared composition: the content frame stays steady across the home sections. */
.event-address-line { display:block; }
main p { hyphens:none; text-wrap:pretty; }
.trades-section, .home-calendar, .home-news, .nl-section { padding-block:clamp(64px,6.25vw,88px); }
.trades-section .section-title p, .home-calendar .chapter-heading p { margin-top:16px; }
.home-news .chapter-heading, .trades-section .section-title { margin-bottom:40px; }
.home-news .news-card { background:#fff; transition:box-shadow .22s ease; }
.home-news .news-card:hover { background:#fff; box-shadow:0 5px 18px rgb(22 60 102 / .07); }
.home-news .news-card-media, .home-news .news-letter-cover { min-height:320px; }
.home-news .news-card-body { padding:40px; }
.home-news .news-card-link { margin-top:20px; }
.program-card { --card-inset:40px; }
.event-media.program-card-media .content-tags { left:var(--card-inset); right:var(--card-inset); }
.community-section { padding:0; }
.community-grid { align-items:stretch; }
.community-photo { margin:0; min-height:0; }
.community-photo img { height:100%; object-fit:cover; }
.community-copy {
  align-self:stretch;
  padding:64px max(var(--gutter),calc((100vw - var(--container)) / 2)) 64px 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.community-copy h2 { margin:16px 0 24px; max-width:22ch; }
.community-copy p { max-width:43ch; text-wrap:pretty; hyphens:none; }
.community-copy .button { margin-top:32px; text-decoration:none; }
@media(min-width:601px) and (max-width:1100px) {
  .trade-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:1199px) {
  .program-card { --card-inset:32px; }
}
@media(max-width:800px) {
  .hero-lead { padding-top:40px; padding-bottom:32px; }
  .lead-copy h1 { margin-block:24px; }
  .lead-facts { margin-top:32px; }
  .lead-image { height:auto; aspect-ratio:16/10; }
  .community-grid { grid-template-columns:minmax(0,1fr); }
  .community-photo { height:auto; aspect-ratio:16/10; margin:0; }
  .community-photo img { width:100%; height:100%; }
  .community-copy { padding:48px var(--gutter); }
  .home-news .news-card-media, .home-news .news-letter-cover { min-height:0; }
  .home-news .news-card-body { padding:32px; }
}
@media(max-width:600px) {
  .trades-section, .home-calendar, .home-news, .nl-section { padding-block:56px; }
  .trade-grid { grid-template-columns:minmax(0,1fr); }
  .trade { min-height:88px; padding:20px; align-items:center; }
  .trade-name { flex-direction:row; align-items:center; gap:16px; width:auto; flex:1; font-size:18px; }
  .trade-name > span { min-height:0; overflow-wrap:normal; }
  .trade .arrow { position:static; flex:none; }
  .program-card { --card-inset:24px; }
  .program-card-media { height:auto; aspect-ratio:4/3; }
  .program-card-copy { padding-block:32px; }
  .home-news .chapter-heading, .trades-section .section-title { margin-bottom:32px; }
  .home-news .news-card-body { padding:24px; }
  .home-news .news-letter-cover { min-height:240px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-news .news-card { transition:none; }
}
@media(max-width:400px) {
  .preview-bar { font-size:12px; gap:8px; }
}
@media(max-width:360px) {
  .program-card { --card-inset:20px; }
  .program-card .program-date { width:48px; height:64px; border-top-width:6px; padding:4px; }
  .program-card .program-date strong { font-size:28px; }
  .program-card .program-date > span { font-size:14px; }
}

/* Archive entries use one date and a broad image, with the facts beside the text. */
.event-row--image { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); padding:0; gap:0; overflow:hidden; }
.event-row--image .event-row-media { width:100%; height:100%; min-height:320px; }
.event-row--image .event-row-media img { width:100%; height:100%; object-fit:cover; }
.event-row--image .event-row-copy { display:grid; grid-template-columns:72px minmax(0,1fr); gap:16px 24px; align-content:center; padding:32px 40px 32px 32px; }
.event-row--image .event-row-meta { grid-column:1; grid-row:1/4; display:block; }
.event-row--image .event-date { display:flex; flex-direction:column; align-items:center; gap:8px; }
.event-row--image .date-chip { width:72px; height:80px; background:var(--background); border-top-width:6px; border-radius:4px; }
.event-row--image .date-year { font-size:14px; }
.event-row--image h3 { grid-column:2; margin:0; font-size:clamp(24px,2vw,28px); line-height:1.25; font-weight:600; }
.event-row--image .program-row-meta { grid-column:2; display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px 24px; margin:0; }
.event-row--image .program-row-meta > p { margin:0; font-size:var(--type-small); }
.event-row--image .program-row-meta > p:first-child { display:none; }
.event-row--image .summary { grid-column:2; margin:0; max-width:48ch; font-size:var(--type-body); line-height:1.6; }
.event-row--image .row-arrow { position:absolute; right:20px; bottom:24px; width:auto; height:auto; min-height:0; padding:0; background:none; border:0; }
@media(max-width:1000px) {
  .event-row--image { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
  .event-row--image .event-row-copy { padding:24px; grid-template-columns:64px minmax(0,1fr); column-gap:16px; }
  .event-row--image .date-chip { width:64px; }
}
@media(max-width:700px) {
  .event-row--image { grid-template-columns:minmax(0,1fr); }
  .event-row--image .event-row-media { height:200px; min-height:0; }
  .event-row--image .event-row-copy { display:flex; flex-direction:column; gap:20px; padding:24px; }
  .event-row--image .event-date { flex-direction:row; gap:16px; }
  .event-row--image .program-row-meta { display:flex; }
  .event-row--image .row-arrow { display:none; }
}


/* header-search.css */
/* The trade search is available from the header on every page. */
.header-inner { position:relative; }
.header-inner .brand { margin-right:auto; }
.header-tools { display:flex; align-items:center; gap:var(--space-12); flex:none; }
.header-search-toggle { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid transparent; border-radius:50%; background:transparent; color:var(--navy); transition:background .2s ease,color .2s ease; }
.header-search-toggle svg { width:23px; height:23px; }
.header-search-toggle:hover, .header-search-toggle[aria-expanded="true"] { background:var(--rose); color:var(--magenta); }
.header-search-panel { position:absolute; z-index:2; top:calc(100% - 4px); right:0; width:min(460px,100%); padding:var(--space-24); border:1px solid var(--line); border-radius:var(--radius-panel); background:#fff; box-shadow:0 12px 32px #163c661a; opacity:0; visibility:hidden; transform:translateY(-8px); pointer-events:none; transition:opacity .22s ease,transform .22s ease,visibility 0s .22s; }
.header-search.is-open .header-search-panel { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; transition-delay:0s; }
.header-search-panel label { display:block; margin:0 0 var(--space-12); color:var(--navy); font-size:var(--type-small); font-weight:700; }
.header-search-field { display:flex; min-width:0; }
.header-search-field input { min-width:0; width:100%; height:48px; margin:0; padding:0 var(--space-16); border:1px solid var(--line); border-right:0; border-radius:var(--radius-control) 0 0 var(--radius-control); background:#fff; color:var(--navy); font-size:var(--type-body); }
.header-search-field button { display:inline-flex; align-items:center; justify-content:center; gap:var(--space-12); flex:none; min-height:48px; padding:0 var(--space-16); border:1px solid var(--magenta); border-radius:0 var(--radius-control) var(--radius-control) 0; background:var(--magenta); color:#fff; font-size:var(--type-small); font-weight:700; transition:background .2s ease,border-color .2s ease; }
.header-search-field button:hover { background:var(--ahif-blue-gradient); border-color:var(--navy); }
.header-search-field:focus-within { border-radius:var(--radius-control); outline:2px solid var(--magenta); outline-offset:3px; }
.header-search-field input:focus-visible { outline:0; }
@media(max-width:1100px) {
  .header-inner { gap:var(--space-16); }
  .header-inner nav { display:none; }
  .header-inner nav.open { display:flex; position:absolute; top:100%; left:calc(-1 * var(--gutter)); right:calc(-1 * var(--gutter)); padding:var(--space-24) var(--gutter); flex-direction:column; align-items:stretch; gap:var(--space-8); background:var(--surface); border-bottom:1px solid var(--line); }
  .header-inner nav a { padding-inline:var(--space-16); }
  .header-tools .menu-button { display:inline-flex; min-height:48px; gap:var(--space-8); padding-inline:var(--space-12); border:1px solid var(--navy); background:var(--surface); color:var(--navy); }
}
@media(max-width:600px) {
  .header-tools { gap:var(--space-8); }
  .header-search-panel { padding:var(--space-16); }
}
@media(max-width:360px) { .header-inner .brand img { width:124px; } .header-inner { gap:var(--space-8); } }
@media(prefers-reduced-motion:reduce) { .header-search-panel, .header-search-toggle, .header-search-field button { transition:none; transform:none; } }

/* footer-partners.css */
/* V48: a stationary partner field with optically balanced original logos. */
.site-footer {
  background:var(--ahif-blue-gradient);
  color:#eef4f7;
  border:0;
}

.site-footer .sponsors {
  padding:48px 0;
  background:#fff;
  color:var(--navy);
  border:0;
}

.site-footer .sponsors > .wrap {
  width:min(var(--content-width,1360px),calc(100% - var(--gutter,48px) * 2));
  max-width:var(--content-width,1360px);
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:48px;
  align-items:center;
  margin:0 auto;
  padding:0;
  background:transparent;
}

.site-footer .partners-intro::before { content:''; display:block; width:40px; height:3px; margin-bottom:20px; background:var(--magenta); }
.site-footer .sponsors h2 { max-width:none; margin:0; color:var(--navy); font-size:30px; line-height:1.2; letter-spacing:-.025em; }

.site-footer .sponsors .sponsor-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:0;
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
  overflow:visible;
  border-top:1px solid #d6e1e8;
}

.site-footer .sponsors .sponsor-grid li { grid-column:auto; justify-self:stretch; min-width:0; max-width:none; width:auto; border-bottom:1px solid #d6e1e8; }

.site-footer .sponsors .sponsor-grid a {
  display:grid;
  place-items:center;
  width:100%;
  height:112px;
  margin:0;
  padding:12px 20px;
  background:transparent;
  border:0;
  border-radius:0;
  color:var(--navy);
}

.site-footer .sponsors .sponsor-grid a:hover { background:#f3f7f9; }
.site-footer .sponsors .sponsor-grid a:focus-visible { outline:3px solid var(--magenta); outline-offset:-4px; }

.site-footer .sponsors .sponsor-grid img {
  display:block;
  width:var(--logo-width,160px);
  height:auto;
  max-width:100%;
  max-height:88px;
  object-fit:contain;
}

/* Account for wordmark weight, shape and source padding; preserve each original ratio. */
.site-footer .sponsors .sponsor-grid img.sponsor-hald { --logo-width:232px; }
.site-footer .sponsors .sponsor-grid img.sponsor-lona { --logo-width:206px; }
.site-footer .sponsors .sponsor-grid img.sponsor-bank { --logo-width:164px; }
.site-footer .sponsors .sponsor-grid img.sponsor-regnskap { --logo-width:212px; }
.site-footer .sponsors .sponsor-grid img.sponsor-arendal { --logo-width:172px; }
.site-footer .sponsors .sponsor-grid img.sponsor-agder { --logo-width:166px; }
.site-footer .sponsors .sponsor-grid img.sponsor-mester { --logo-width:74px; }
.site-footer .sponsors .sponsor-grid img.sponsor-festival { --logo-width:180px; }
.site-footer .sponsors .sponsor-grid img.sponsor-katercon { --logo-width:148px; }

/* One quiet, compact footer after the white partner strip. */
.site-footer .footer-top {
  display:grid;
  grid-template-columns:1.2fr 1fr 1.1fr;
  gap:40px 32px;
  padding:48px 0 40px;
}

.site-footer .footer-brand { grid-column:auto; color:#d8e3eb; }
.site-footer .footer-brand img { width:175px; height:auto; margin:0 0 20px; padding:12px 14px; background:#fff; }
.site-footer .footer-brand > p { max-width:29ch; }
.site-footer .footer-brand > p, .site-footer .footer-top > div:last-child > p:not(.footer-label) { margin:0 0 12px; color:#eef4f7; font-size:var(--type-small); line-height:1.65; }
.site-footer .footer-brand > span { font-size:var(--type-small); line-height:1.65; color:#c1d0dc; }
.site-footer .footer-label { margin:0 0 18px; color:#fff; font-size:var(--type-small); font-weight:600; line-height:1.65; text-transform:none; letter-spacing:.01em; }

.site-footer .footer-top > div > a {
  display:flex;
  justify-content:space-between;
  gap:var(--space-16);
  width:100%;
  margin:0;
  min-height:36px;
  padding:6px 0;
  color:#eef4f7;
  font-size:var(--type-small);
  line-height:1.65;
  font-weight:400;
}

.site-footer .footer-top > div > a:hover, .site-footer .footer-bottom a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.site-footer :focus-visible { outline-color:#fff; }

.site-footer .footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-16);
  padding:20px 0 24px;
  border-top:1px solid rgb(255 255 255 / .24);
  color:#c1d0dc;
  font-size:var(--type-small);
  line-height:1.65;
}

.site-footer .footer-bottom a { display:inline-flex; gap:8px; margin:0; color:#eef4f7; }
.site-footer .footer-to-top { flex-shrink:0; }

@media (max-width:1023px) {
  .site-footer .sponsors > .wrap { grid-template-columns:minmax(0,1fr); gap:28px; }
  .site-footer .partners-intro::before { margin-bottom:16px; }
  .site-footer .footer-top { grid-template-columns:1fr 1fr; gap:40px 32px; padding-block:48px 40px; }
  .site-footer .footer-brand { grid-column:1/-1; }
}

@media (max-width:650px) {
  .site-footer .sponsors { padding:40px 0; }
  .site-footer .sponsors h2 { font-size:28px; }
  .site-footer .sponsors .sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-footer .sponsors .sponsor-grid a { height:96px; padding:12px; }
  .site-footer .sponsors .sponsor-grid li:has(.sponsor-hald) { grid-column:1/-1; }
  .site-footer .sponsors .sponsor-grid img { max-height:64px; }
  .site-footer .sponsors .sponsor-grid img.sponsor-mester { --logo-width:66px; }
  .site-footer .sponsors .sponsor-grid img.sponsor-katercon { --logo-width:116px; }
  .site-footer .footer-top { display:grid; grid-template-columns:1fr; gap:32px; padding-block:40px; }
  .site-footer .footer-brand { grid-column:auto; }
  .site-footer .footer-bottom { align-items:flex-start; flex-direction:column; gap:8px; padding-block:16px 20px; }
}

/* new-members.css */
.new-members { padding:16px 0; background:#eff2f3; color:#243746; }
.community-copy .new-members-heading { display:none; }
.new-members .wrap { width:100%; max-width:none; }
.new-members-row { position:relative; }
.new-members-viewport { width:100%; overflow:hidden; }
.new-members-track { --member-loop-distance:50%; --member-loop-duration:52s; display:flex; width:max-content; animation:new-members-marquee var(--member-loop-duration) linear infinite; will-change:transform; }
.new-members-list { display:flex; align-items:center; gap:clamp(24px,3vw,48px); width:max-content; margin:0; padding:0 clamp(24px,3vw,48px) 0 0; list-style:none; }
.new-members-logo-item { flex:0 0 220px; width:220px; min-width:0; }
.new-members-logo-item { display:grid; place-items:center; min-height:120px; color:#243746; text-align:center; }
.new-members-logo-item img { grid-area:1/1; visibility:hidden; display:block; width:100%; height:120px; object-fit:contain; }
.new-members-logo-name { grid-area:1/1; display:block; max-width:19ch; padding-inline:12px; font-size:16px; font-weight:600; line-height:1.25; }
.new-members-logo-item--ready img { visibility:visible; }
.new-members-logo-item--ready .new-members-logo-name { display:none; }
.new-members-logo-item--missing .new-members-logo-name { display:block; }
@keyframes new-members-marquee { to { transform:translateX(calc(-1 * var(--member-loop-distance))); } }
@media(max-width:600px) { .new-members-logo-item { flex-basis:172px; }
  .new-members-logo-item,.new-members-logo-item img { min-height:104px; height:104px; }
  .new-members { padding:16px 0; }
}
@media(prefers-reduced-motion:reduce) {
  .new-members-viewport { overflow-x:auto; overscroll-behavior-x:contain; scrollbar-color:#87979f #f7f9fa; }
  .new-members-track { animation:none; }
  .new-members-copy { display:none; }
}

/* newsletter-layout.css */
/* A focused newsletter form; questions and personal contact live in the FAQ. */
.nl-layout { display:block; }
.nl-layout > .nl-form { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; margin:0; }
.nl-layout > [hidden] { display:none !important; }
.nl-form .nl-copy { justify-content:flex-start; padding:clamp(40px,4vw,48px); }
.nl-copy .nl-info { width:100%; }
.nl-copy .nl-info h3 { margin:0; color:var(--navy); font-size:var(--type-body); line-height:1.4; font-weight:700; letter-spacing:0; text-wrap:balance; }
.nl-copy .nl-info p { margin:var(--space-12) 0 0; color:var(--text); font-size:var(--type-body); line-height:1.6; hyphens:none; text-wrap:pretty; }
.nl-copy .nl-members-info { width:100%; margin:var(--space-24) 0 0; padding:var(--space-24) 0 0; border:0; border-top:1px solid var(--line); }
.nl-copy .nl-archive { margin:auto 0 0; padding-top:var(--space-24); }
.nl-form .nl-panel { justify-content:flex-start; padding:clamp(40px,4vw,48px); }
.nl-panel h3 { max-width:28ch; margin:0 0 var(--space-24); color:var(--surface); font-size:clamp(24px,2vw,28px); font-weight:600; line-height:1.2; }
.nl-panel .nl-email-label { margin:0 0 var(--space-12); }
.nl-panel #newsletterEmail { width:100%; max-width:none; min-height:56px; background:#fff; }
.nl-panel .nl-consent { display:grid; grid-template-columns:20px minmax(0,1fr); gap:var(--space-12); align-items:start; width:100%; max-width:none; hyphens:none; }
.nl-panel .nl-consent input { width:20px; height:20px; margin:4px 0 0; }
.nl-panel .nl-consent > span { max-width:none; text-wrap:balance; word-break:normal; overflow-wrap:normal; }
.nl-panel .nl-submit { min-height:56px; text-decoration:none; }
.nl-no-break { white-space:nowrap; }
.nl-layout > .nl-result { padding:var(--space-48); background:var(--ahif-blue-gradient); color:var(--surface); }
.nl-layout > .nl-result h3, .nl-layout > .nl-result p, .nl-layout > .nl-result .nl-retry { color:var(--surface); }
@media(max-width:800px) { .nl-layout > .nl-form { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) { .nl-form .nl-copy, .nl-form .nl-panel { padding:var(--space-32) var(--space-24); } .nl-layout > .nl-result { padding:var(--space-24); } }

/* faq.css */
/* A direct contact route beside concise, native FAQ disclosure. */
.faq-section { padding-block:clamp(64px,6.25vw,88px); background:var(--surface); color:var(--navy); }
.faq-section .faq-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(48px,6vw,96px); max-width:var(--container); }
.faq-contact { display:flex; flex-direction:column; align-self:start; gap:var(--space-32); color:var(--navy); }
.faq-contact-person { display:flex; align-items:center; gap:var(--space-24); }
.faq-contact-portrait { flex:0 0 160px; width:160px; height:192px; object-fit:cover; object-position:var(--focus); border-radius:4px; }
.faq-contact h2, .faq-content h2 { margin:0; color:inherit; }
.faq-contact h2 { font-size:clamp(30px,2.8vw,40px); line-height:1.15; }
.faq-contact-intro { max-width:40ch; margin:var(--space-16) 0 0; color:var(--text); text-wrap:pretty; }
.faq-contact-details { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.faq-contact-person p { margin:0 0 var(--space-12); }
.faq-contact-person p span { display:block; margin-top:4px; font-size:var(--type-small); color:var(--text); }
.faq-contact a { display:inline-flex; gap:var(--space-16); min-height:48px; align-items:center; color:var(--navy); text-underline-offset:4px; font-size:var(--type-small); font-weight:700; white-space:nowrap; }
.faq-contact a span { color:var(--magenta); }
.faq-contact a:hover { color:var(--magenta); }
.faq-content { min-width:0; }
.faq-content > h2 { margin-bottom:var(--space-24); font-size:clamp(30px,2.8vw,40px); line-height:1.15; }
.faq-item { margin:0; border-top:1px solid color-mix(in srgb,var(--navy) 30%,transparent); }
.faq-item:last-child { border-bottom:1px solid color-mix(in srgb,var(--navy) 30%,transparent); }
.faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:var(--space-24); min-height:56px; padding-block:var(--space-16); color:var(--navy); cursor:pointer; font-weight:600; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'↓'; flex:0 0 auto; color:var(--magenta); font-size:20px; line-height:1; }
.faq-item[open] summary::after { content:'↑'; }
.faq-item > p { max-width:64ch; margin:0 48px var(--space-24) 0; }
.faq-item a { color:var(--navy); text-decoration-color:var(--magenta); text-decoration-thickness:2px; text-underline-offset:4px; }
@media (max-width:1000px) { .faq-section .faq-layout { grid-template-columns:1fr; gap:var(--space-64); } .faq-contact { max-width:560px; } }
@media (max-width:600px) { .faq-section { padding-block:56px; } }
@media (max-width:480px) { .faq-contact-person { gap:var(--space-24); } .faq-contact-portrait { flex-basis:104px; width:104px; height:152px; } .faq-item > p { margin-right:0; } }

/* news-editorial.css */
/* V37: distinct editorial formats for a news story and a newsletter. */
.home-news {
  padding-block:var(--section-space);
  background:#edf3f6;
  border-block:1px solid #d6e1e8;
}
.home-news .chapter-heading { align-items:end; }
.home-news .news-card-grid {
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:32px;
  align-items:stretch;
}
.home-news .news-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0;
  overflow:hidden;
  border:1px solid #9ba4a5;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgb(30 44 48 / .09);
  transition:box-shadow .25s ease,border-color .25s ease;
}
.home-news .news-card:last-child { border-bottom:1px solid #9ba4a5; }
.home-news .news-card-media,
.home-news .news-letter-cover {
  margin:0;
  height:260px;
  min-height:0;
  aspect-ratio:auto;
  flex:none;
  overflow:hidden;
}
.home-news .news-card-media img {
  height:100%;
  object-fit:cover;
  object-position:50% 48%;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.home-news .news-card-body {
  display:flex;
  flex-direction:column;
  flex:1;
  justify-content:flex-start;
  padding:28px;
  border:0;
  background:transparent;
}
.home-news .news-card-meta { gap:12px; flex-wrap:wrap; }
.home-news .news-card-meta time { color:#506775; }
.home-news .news-card h3 {
  max-width:25ch;
  margin:16px 0 16px;
  font-size:var(--type-h3);
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.025em;
  color:var(--navy);
}
.home-news .news-card-body > p {
  max-width:46ch;
  margin:0 0 24px;
  font-size:18px;
  line-height:1.6;
  color:#35414a;
}
.home-news .news-card-link {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  width:100%;
  min-height:56px;
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid #d6e1e8;
  color:var(--navy);
  font-size:17px;
  font-weight:600;
}
.home-news .news-card-link > span {
  display:grid;
  place-items:center;
  isolation:isolate;
  position:relative;
  flex:none;
  width:44px;
  height:44px;
  border:1px solid #bfced9;
  border-radius:50%;
  font-size:24px;
  line-height:1;
  transition:color .2s ease,border-color .2s ease;
}
/* A restrained radial fill: one semantic link, no duplicated text or JS loop. */
.home-news .news-card-link > span::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:-1px;
  border-radius:inherit;
  background:var(--magenta);
  transform:scale(0);
  transition:transform .25s cubic-bezier(.2,.7,.2,1);
}
.home-news .news-card--letter,
.home-news .news-card--letter:hover {
  background:var(--ahif-blue-gradient);
  border-color:var(--navy);
  color:#fff;
}
.home-news .news-card--letter:last-child { border-bottom-color:var(--navy); }
.home-news .news-card--letter h3,
.home-news .news-card--letter:hover h3,
.home-news .news-card--letter .news-card-link { color:#fff; }
.home-news .news-card--letter .news-card-body > p,
.home-news .news-card--letter .news-card-meta time { color:#d3e1e9; }
.home-news .news-card--letter .content-tag { background:#d5e5ed; color:var(--navy); }
.home-news .news-card--letter .news-card-link { border-top-color:#446481; }
.home-news .news-card--letter .news-card-link > span { border-color:#7a94aa; }
.home-news .news-letter-cover {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-content:stretch;
  place-items:center;
  position:relative;
  isolation:isolate;
  padding:24px;
  background:var(--ahif-blue-gradient);
}
.home-news .news-letter-cover::before {
  inset:auto;
  top:50%;
  left:50%;
  width:min(74%,320px);
  height:195px;
  border:0;
  border-radius:3px;
  background:#a6c6d6;
  transform:translate(calc(-50% + 10px),calc(-50% + 5px)) rotate(4deg);
}
.home-news .news-letter-cover > .news-letter-paper {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:min(85%,340px);
  height:198px;
  padding:24px 26px;
  border:1px solid #d9e3e9;
  border-radius:3px;
  background:#fff;
  color:var(--navy);
  box-shadow:0 14px 26px rgb(5 26 46 / .22);
  transform:rotate(-4deg);
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.home-news .news-letter-paper > img { width:142px; height:auto; margin:0; }
.home-news .news-letter-paper-title { margin-top:auto; }
.home-news .news-letter-paper-title span { font-size:29px; line-height:1.15; font-weight:600; letter-spacing:-.03em; }
.home-news .news-letter-paper-title strong { margin-top:7px; font-size:14px; line-height:1.4; letter-spacing:.08em; color:#526b7b; }
.home-news .news-letter-paper-rule { width:40px; height:3px; margin-top:16px; background:var(--magenta); }
.home-news .news-card:focus-visible { outline:3px solid var(--magenta); outline-offset:5px; }
.home-news .news-card:focus-visible .news-card-link > span { color:#fff; border-color:var(--magenta); }
.home-news .news-card:focus-visible .news-card-link > span::before { transform:scale(1); }
@media (hover:hover) and (pointer:fine) {
  .home-news .news-card:hover { box-shadow:0 14px 30px rgb(22 60 102 / .12); border-color:#809bad; }
  .home-news .news-card:hover h3 { color:var(--navy); }
  .home-news .news-card--letter:hover h3 { color:#fff; }
  .home-news .news-card:hover .news-card-media img { transform:scale(1.035); }
  .home-news .news-card:hover .news-letter-paper { transform:rotate(0deg) translateY(-3px); }
  .home-news .news-card:hover .news-card-link { color:var(--navy); }
  .home-news .news-card--letter:hover .news-card-link { color:#fff; }
  .home-news .news-card:hover .news-card-link > span { transform:none; color:#fff; border-color:var(--magenta); }
  .home-news .news-card:hover .news-card-link > span::before { transform:scale(1); }
}
@media (max-width:1000px) {
  .home-news .news-card-grid { gap:24px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-news .news-card-body { padding:24px; }
  .home-news .news-card-media,.home-news .news-letter-cover { height:250px; }
  .home-news .news-letter-cover { padding:22px; }
  .home-news .news-letter-cover > .news-letter-paper { width:95%; padding:22px; height:190px; }
  .home-news .news-letter-cover::before { height:185px; }
  .home-news .news-letter-paper-title span { font-size:26px; }
}
@media (max-width:760px) {
  .home-news .news-card-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .home-news .chapter-heading { align-items:flex-start; gap:20px; }
  .home-news .news-card-media,.home-news .news-letter-cover { height:clamp(190px,50vw,320px); aspect-ratio:auto; }
  .home-news .news-card-body { padding:24px; }
  .home-news .news-card h3 { font-size:24px; margin-top:16px; }
  .home-news .news-card-body > p { font-size:17px; margin-bottom:24px; }
  .home-news .news-letter-cover > .news-letter-paper { width:min(90%,320px); height:clamp(150px,38vw,220px); padding:18px 22px; }
  .home-news .news-letter-cover::before { width:min(78%,300px); height:clamp(145px,37vw,215px); }
  .home-news .news-letter-paper-title span { font-size:clamp(22px,3.8vw,29px); }
  .home-news .news-letter-paper > img { width:112px; }
  .home-news .news-letter-paper-rule { margin-top:12px; }
}
@media (max-width:380px) {
  .home-news .news-letter-paper-title span { font-size:23px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-news .news-card,
  .home-news .news-card-media img,
  .home-news .news-letter-paper,
  .home-news .news-card-link > span,
  .home-news .news-card-link > span::before { transition:none; }
  .home-news .news-card:hover .news-card-media img { transform:none; }
  .home-news .news-card:hover .news-letter-paper { transform:rotate(-4deg); }
}

/* site-editorial.css */
/* V47: shared scale and spacing within AHIF's established editorial direction. */
:root {
  --background:#f1f5f8; --wash:#f1f5f8; --radius-panel:12px;
  --type-display:clamp(38px,4.4vw,62px);
  --type-h2:clamp(32px,2.8vw,40px);
  --type-h3:clamp(22px,2vw,28px);
  --type-lead:22px; --type-body:18px; --type-small:16px; --type-eyebrow:12px;
  --section-space:clamp(48px,5vw,72px);
}
body { background:#fff; }
.preview-bar { background:#e9f0f4; border-bottom:1px solid #d6e1e8; }
.site-header { background:#fff; border-bottom:1px solid #d6e1e8; box-shadow:0 4px 14px rgb(22 60 102 / .035); }
.header-inner { min-height:88px; }
.header-inner .brand img { width:180px; height:auto; }
.chapter-heading,.nl-heading { margin-bottom:32px; }
.chapter-heading h2,.nl-heading h2 { margin-top:12px; }
.chapter-heading p { margin-top:12px; }
.header-inner nav > a:not(.button) { position:relative; text-decoration:none; }
.header-inner nav > a:not(.button)::after { content:''; position:absolute; bottom:6px; left:0; width:100%; height:2px; background:var(--magenta); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.header-inner nav > a:not(.button):hover::after,
.header-inner nav > a[aria-current]:not(.button)::after { transform:scaleX(1); }
.header-inner nav .button.outline { border:1px solid #b5c8d6; border-radius:8px; background:#fff; }
.header-inner nav .button.outline:hover { border-color:var(--magenta); background:var(--magenta); color:#fff; }
.menu-button,.header-search-toggle { border-radius:8px; }
.header-search-panel { border:1px solid #c9d7e0; border-radius:12px; box-shadow:0 14px 32px rgb(22 60 102 / .15); }
.button { border-radius:8px; }
/* V45: use the news/newsletter palette for the program, with a navy facts panel. */
.home-calendar { background:#edf3f6; border-top:1px solid #d6e1e8; border-bottom:1px solid #d6e1e8; padding-block:var(--section-space); }
.home-calendar .chapter-heading p { color:#35414a; }
.home-calendar .chapter-heading { align-items:end; margin-bottom:32px; }
.home-calendar .chapter-heading .button { background:#fff; border:1px solid #b5c8d6; }
.home-calendar .chapter-heading .button:hover { background:var(--ahif-blue-gradient); color:#fff; }
.home-calendar .program-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:stretch; }
.home-calendar .program-card { display:grid; grid-row:auto; grid-template-rows:auto 1fr auto; --card-inset:56px; border:1px solid #9ba4a5; border-radius:12px; background:#fff; box-shadow:0 8px 22px rgb(30 44 48 / .09); }
.home-calendar .program-card-media { height:240px; flex:none; overflow:hidden; }
.home-calendar .program-card-media img { transition:transform .5s ease; }
.home-calendar .program-card .program-date { width:64px; height:70px; flex:none; border:0; border-top:4px solid var(--magenta); border-radius:7px; background:#fff; color:var(--navy); box-shadow:0 4px 14px rgb(5 26 46 / .12); }
.home-calendar .program-card .program-date strong { font-size:28px; }
.home-calendar .program-card .program-date > span { font-size:12px; letter-spacing:.08em; }
.home-calendar .program-card .program-date--range { width:96px; }
.home-calendar .program-card .program-date--range strong { font-size:26px; }
.home-calendar .event-media .content-tags { top:20px; left:20px; right:20px; }
.home-calendar .program-card-tags { gap:7px; }
.home-calendar .content-tag { background:#fff; color:var(--navy); box-shadow:0 2px 8px rgb(5 26 46 / .06); }
.home-calendar .program-card-copy { justify-content:flex-start; padding:24px var(--card-inset); }
.home-calendar .program-card-copy h3 { max-width:30ch; min-height:2.4em; font-size:26px; line-height:1.2; letter-spacing:-.025em; text-wrap:pretty; }
.home-calendar .program-card-copy p { font-size:18px; line-height:1.65; color:#35414a; }
.home-calendar .program-card-footer { display:flex; flex-direction:column; gap:16px; padding:40px var(--card-inset); background:var(--ahif-blue-gradient); border-top:1px solid var(--navy); color:#fff; }
.home-calendar .program-card-facts { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); width:100%; min-height:72px; gap:20px; }
.home-calendar .program-card-facts dt { color:#d3e1e9; font-size:12px; line-height:1.4; letter-spacing:.08em; margin-bottom:6px; }
.home-calendar .program-card-facts dt svg { color:inherit; }
.home-calendar .program-card-facts dd { color:#fff; font-size:15px; line-height:1.5; }
.home-calendar .program-card-action { width:100%; align-self:stretch; }
.home-calendar .program-card .program-button { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:48px; padding:11px 16px; background:var(--magenta); color:#fff; border:1px solid var(--magenta); border-radius:6px; font-size:16px; }
.home-calendar .program-button > span { display:grid; place-items:center; width:24px; height:24px; border:0; border-radius:0; font-size:22px; transition:transform .2s ease; }
.home-calendar .program-card .program-button:hover { color:var(--navy); background:#fff; border-color:#fff; }
.home-calendar .program-button:hover > span { color:inherit; background:transparent; transform:translate(2px,-2px); }
.home-calendar .program-card-footer :focus-visible { outline:3px solid #fff; outline-offset:4px; }
main [tabindex='-1']:focus:not(:focus-visible) { outline:none; }
@media(hover:hover) and (pointer:fine) {
  .home-calendar .program-card:hover .program-card-media img { transform:scale(1.025); }
}
@media(max-width:900px) {
  .home-calendar .program-grid { grid-template-columns:minmax(0,1fr); }
  .home-calendar .program-card-media { height:auto; max-height:400px; aspect-ratio:16/9; }
}
@media(max-width:600px) {
  :root { --type-h2:28px; }
  .header-inner { min-height:76px; }
  .header-inner .brand { flex:0 1 150px; min-width:0; }
  .header-inner .brand img { width:100%; max-width:150px; }
  .header-inner nav > a:not(.button)::after { bottom:3px; }
  .home-calendar { padding-block:var(--section-space); }
  .home-calendar .chapter-heading { align-items:flex-start; gap:22px; }
  .home-calendar .program-card { --card-inset:40px; }
  .home-calendar .program-card-media { height:auto; aspect-ratio:16/10; }
  .home-calendar .program-card-copy { padding-block:22px; }
  .home-calendar .program-card-copy h3 { font-size:24px; min-height:0; }
  .home-calendar .program-card-copy p { font-size:17px; }
  .home-calendar .event-media .content-tags { top:16px; left:16px; right:16px; }
  .home-calendar .program-card-tags .content-tag { font-size:12px; min-height:28px; padding:5px 8px; }
  .home-calendar .program-card-facts { gap:12px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
  .home-calendar .program-card-facts dd { font-size:14px; }
}
@media(max-width:360px) {
  .home-calendar .program-card { --card-inset:40px; }
  .home-calendar .program-card-facts { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
  .header-inner nav > a:not(.button)::after,.home-calendar .program-card-media img,.home-calendar .program-button > span { transition:none; }
  .home-calendar .program-card:hover .program-card-media img { transform:none; }
}

/* V39: return to the open photographic hero and lighter trade choices. */
.hero-lead { padding-block:56px; }
.hero-lead .lead-copy { padding:0; }
.hero-lead .lead-copy h1 { font-size:var(--type-display); line-height:1.06; font-weight:600; letter-spacing:-.04em; margin-block:24px; }
.hero-lead .lead-intro { font-size:22px; line-height:1.5; max-width:48ch; }
.hero-lead .lead-actions { margin-top:28px; }
.hero-lead .lead-facts { margin-top:32px; }
.hero-lead .lead-facts strong { font-size:28px; }
.hero-lead .lead-facts > span { font-size:14px; }
.trades-section { background:#fff; padding-block:var(--section-space); }
.trades-section .trade-heading-row { display:block; margin-bottom:28px; }
.trades-section .trade-heading-row h2 { max-width:none; margin-top:12px; font-size:var(--type-h2); line-height:1.15; }
.trades-section .trade-heading-row > p { margin-top:12px; max-width:55ch; }
.trades-section .trade-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 24px; }
.trades-section .trade { display:flex; align-items:center; min-height:80px; padding:16px; gap:12px; background:#f4f7f9; border:1px solid transparent; border-radius:6px; box-shadow:none; transform:none; }
.trades-section .trade-name { display:flex; flex-direction:row; align-items:center; gap:14px; flex:1; width:auto; min-width:0; font-size:18px; font-weight:500; }
.trades-section .trade-name > span { min-height:0; overflow-wrap:normal; }
.trades-section .trade-name svg { flex:none; width:28px; height:28px; padding:0; background:none; border-radius:0; }
.trades-section .trade .arrow { position:static; flex:none; display:block; margin:0; padding:0; width:auto; height:auto; border:0; border-radius:0; background:none; color:#607887; font-size:19px; }
.trades-section .trade:hover,.trades-section .trade:focus-visible { background:#edf3f6; border-color:#b4c9d6; box-shadow:none; transform:none; }
.trades-section .trade:hover .trade-name,.trades-section .trade:focus-visible .trade-name { color:var(--magenta); }
.trades-section .trade-actions { margin-top:24px; }
.trades-section #showTrades { background:none; border:0; border-bottom:1px solid #9eb7c8; border-radius:0; padding:8px 0; min-height:44px; }
.trades-section #tradeStatus { font-size:15px; }
@media(max-width:1100px) {
  .trades-section .trade-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
  .hero-lead { padding:32px 0 0; }
  .hero-lead .lead-copy h1 { font-size:clamp(38px,6vw,52px); margin-block:20px; }
  .hero-lead .lead-intro { font-size:20px; line-height:1.5; }
  .hero-lead .lead-image { margin-top:28px; margin-bottom:0; height:auto; aspect-ratio:16/9; }
  .hero-lead .lead-facts { margin-top:28px; }
  .hero-lead .lead-caption { bottom:22px; }
}
@media(max-width:600px) {
  .hero-lead .lead-facts strong { font-size:26px; }
  .hero-lead .lead-facts > span { font-size:12px; }
  .hero-lead .lead-caption { font-size:12px; }
  .hero-lead .lead-caption strong { font-size:17px; }
  .trades-section { padding-block:48px; }
  .trades-section .trade-grid { grid-template-columns:minmax(0,1fr); gap:8px; }
  .trades-section .trade { min-height:64px; padding:12px 16px; }
  .trades-section .trade-actions { gap:12px; align-items:flex-start; margin-top:20px; }
}
@media(max-width:360px) {
  .hero-lead .lead-actions { flex-direction:column; align-items:stretch; }
  .hero-lead .lead-actions .button { justify-content:space-between; }
}

/* lower-editorial.css */
/* V38: one editorial finish for the newsletter, community close, FAQ and footer. */

/* Newsletter: a single, legible field with an editorial note beside the action. */
.nl-section {
  padding-block:var(--section-space);
  background:#edf3f6;
  border-top:1px solid #d6e1e8;
  border-bottom:1px solid #d6e1e8;
}

.nl-heading .eyebrow { color:#506775; }
.nl-heading { margin-bottom:32px; }

.nl-layout {
  overflow:hidden;
  border:1px solid #c9d7e0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 3px 0 rgb(22 60 102 / .04);
}

.nl-layout > .nl-form {
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
}

.nl-form .nl-copy {
  min-width:0;
  padding:40px;
  background:#fff;
}

.nl-copy .nl-info h3 {
  color:var(--navy);
  font-size:22px;
  line-height:1.25;
}

.nl-copy .nl-info p {
  max-width:46ch;
  color:#4d616e;
  font-size:var(--type-body);
  line-height:1.6;
}

.nl-copy .nl-members-info {
  position:relative;
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid #d6e1e8;
}

.nl-copy .nl-members-info::before {
  content:'';
  position:absolute;
  top:-1px;
  left:0;
  width:44px;
  height:3px;
  background:var(--magenta);
}

.nl-copy .nl-archive {
  gap:12px;
  margin-top:auto;
  padding-top:24px;
  color:var(--navy);
  font-weight:600;
}

.nl-copy .nl-archive:hover {
  color:var(--magenta);
  text-decoration-color:var(--magenta);
}

.nl-form .nl-panel {
  padding:40px;
  background:var(--ahif-blue-gradient);
  color:#fff;
}

.nl-panel h3 {
  max-width:19ch;
  margin-bottom:24px;
  color:#fff;
  font-size:28px;
  font-weight:600;
  letter-spacing:-.025em;
}

.nl-panel .nl-email-label { color:#d8e6ee; }

.nl-panel #newsletterEmail {
  min-height:48px;
  border:1px solid #fff;
  border-radius:8px;
  color:var(--navy);
  box-shadow:inset 0 0 0 1px rgb(22 60 102 / .08);
}

.nl-panel #newsletterEmail::placeholder { color:#526b7b; }

.nl-panel .nl-consent { color:#d8e6ee; }
.nl-panel .nl-consent input { accent-color:var(--magenta); }

.nl-panel .nl-submit {
  border-color:var(--magenta);
  background:var(--magenta);
  color:#fff;
}

.nl-panel .nl-submit:hover {
  border-color:#fff;
  background:#fff;
  color:var(--navy);
}

.nl-section :focus-visible {
  outline:3px solid var(--magenta);
  outline-offset:4px;
}

.nl-panel :focus-visible { outline-color:#fff; }
.nl-panel #newsletterEmail:focus-visible { outline-color:var(--magenta); }

.nl-layout > .nl-result {
  min-height:0;
  padding:40px;
  background:var(--ahif-blue-gradient);
}

.nl-layout > .nl-result .nl-result-icon {
  background:#fff;
  color:var(--navy);
}

/* Community: retain the authentic photograph and give the copy its own measured side. */
.community-section {
  background:var(--ahif-blue-gradient);
  border-block:1px solid rgb(255 255 255 / .14);
}

.community-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; }

.community-photo { min-height:440px; }

.community-photo img {
  object-position:var(--focus,48% 50%);
}

.community-copy {
  position:relative;
  padding:64px max(var(--gutter),calc((100vw - var(--container)) / 2)) 64px clamp(32px,5vw,72px);
  background:var(--ahif-blue-gradient);
}

.community-copy::before {
  content:'';
  width:48px;
  height:3px;
  margin-bottom:24px;
  background:var(--magenta);
}

.community-copy .eyebrow { color:#c9dbe5; }

.community-copy h2 {
  max-width:18ch;
  margin:12px 0 24px;
  color:#fff;
  font-size:var(--type-h2);
  letter-spacing:-.03em;
}

.community-copy p {
  max-width:42ch;
  color:#d8e6ee;
  font-size:var(--type-body);
  line-height:1.65;
}

.community-copy .button {
  margin-top:24px;
  border-color:#fff;
  background:#fff;
  color:var(--navy);
}

.community-copy .button:hover {
  border-color:var(--magenta);
  background:var(--magenta);
  color:#fff;
}

/* FAQ: personal contact is framed as a direct invitation; disclosure stays native. */
.faq-section {
  padding-block:var(--section-space);
  background:#edf3f6;
  border-block:1px solid #d6e1e8;
}

.faq-section .faq-layout {
  align-items:start;
  gap:32px;
}

.faq-contact {
  min-width:0;
  gap:24px;
  padding:32px;
  border:1px solid #c9d7e0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 3px 0 rgb(22 60 102 / .04);
}

.faq-contact h2,
.faq-content > h2 {
  font-size:32px;
  line-height:1.15;
  letter-spacing:-.025em;
}

.faq-contact-intro { color:#4d616e; }

.faq-contact-person {
  align-items:stretch;
  gap:16px;
  padding-top:24px;
  border-top:1px solid #d6e1e8;
}

.faq-contact-portrait {
  flex-basis:112px;
  width:112px;
  height:144px;
  border:1px solid #c9d7e0;
  border-radius:8px;
}

.faq-contact-details { justify-content:center; }
.faq-contact-details strong {
  overflow-wrap:normal;
  word-break:normal;
  white-space:normal;
}
.faq-contact-person p span { color:#506775; }

.faq-contact a {
  gap:12px;
  color:var(--navy);
  text-decoration-color:#c9d7e0;
}

.faq-contact a:hover {
  color:var(--magenta);
  text-decoration-color:var(--magenta);
}

.faq-content {
  overflow:hidden;
  border:1px solid #c9d7e0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 3px 0 rgb(22 60 102 / .04);
}

.faq-content > h2 {
  margin:0;
  padding:32px 32px 24px;
  border-bottom:1px solid #d6e1e8;
}

.faq-item,
.faq-item:last-child { border:0; }

.faq-item + .faq-item { border-top:1px solid #d6e1e8; }

.faq-item summary {
  min-height:64px;
  padding:20px 32px;
  color:var(--navy);
  font-size:17px;
  font-weight:600;
}

.faq-item summary::after {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid #bfced9;
  border-radius:50%;
  color:var(--magenta);
  content:'+';
  font-size:22px;
  font-weight:400;
}

.faq-item[open] { background:#f7fafb; }
.faq-item[open] summary { border-bottom:1px solid #d6e1e8; }
.faq-item[open] summary::after { content:'–'; border-color:var(--magenta); }

.faq-item > p {
  max-width:61ch;
  margin:0;
  padding:16px 32px 24px;
  color:#4d616e;
}

.faq-item a { color:var(--navy); }
.faq-item a:hover { color:var(--magenta); }

.faq-section :focus-visible {
  outline:3px solid var(--magenta);
  outline-offset:3px;
}

@media (max-width:800px) {
  .nl-layout > .nl-form { grid-template-columns:minmax(0,1fr); }
  .community-grid { grid-template-columns:minmax(0,1fr); }
  .community-photo { min-height:0; height:auto; aspect-ratio:16 / 10; }
  .community-copy { padding:40px var(--gutter); }
  .faq-section .faq-layout { gap:32px; }
}

@media (max-width:600px) {
  .nl-form .nl-copy, .nl-form .nl-panel, .nl-layout > .nl-result { padding:24px; }
  .nl-copy .nl-info h3 { font-size:20px; }
  .nl-panel h3 { font-size:24px; }
  .community-copy { padding:40px var(--gutter); }
  .faq-contact { padding:24px; }
  .faq-contact h2, .faq-content > h2 { font-size:28px; }
  .faq-contact-person { gap:16px; }
  .faq-contact-portrait { flex-basis:88px; width:88px; height:112px; }
  .faq-content > h2 { padding:28px 24px 20px; }
  .faq-item summary { min-height:64px; padding:20px 24px; font-size:16px; }
  .faq-item > p { padding:16px 24px 24px; }
}

@media (max-width:380px) {
  .faq-item summary { gap:16px; }
}

@media (prefers-reduced-motion:reduce) {
  .nl-panel .nl-submit,
  .community-copy .button,
  .faq-contact a,
  .faq-item summary { transition:none; }
}
@media (max-width:360px) {
  .faq-section .faq-layout { grid-template-columns:minmax(0,1fr); }
  .faq-contact-person { flex-direction:column; }
  .faq-contact-portrait { flex-basis:auto; }
}

/* archive-editorial.css */
/* V38: public archive, year wheel and article reading surface. */
#main:has(.view-tabs) {
  background:#edf3f6;
}

#main:has(.view-tabs) .page-head {
  padding:clamp(40px,4vw,56px) 0 0;
  border-bottom:1px solid #c9d7e0;
  background:#fff;
}

#main:has(.view-tabs) .page-head-row {
  align-items:end;
  gap:32px;
}

#main:has(.view-tabs) .page-head .eyebrow {
  color:#526f84;
}

#main:has(.view-tabs) .page-head h1 {
  max-width:17ch;
  margin:12px 0 16px;
  color:#163c66;
  font-size:var(--type-display);
  line-height:1.04;
  letter-spacing:-.045em;
}

#main:has(.view-tabs) .page-head p {
  max-width:61ch;
  margin:0;
  color:#456174;
}

#main:has(.view-tabs) .page-year {
  flex:none;
  margin-bottom:14px;
  color:#b8c9d6;
  font-size:clamp(34px,5vw,48px);
  line-height:1;
  letter-spacing:-.05em;
}

#main:has(.view-tabs) .view-tabs {
  display:flex;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin-top:32px;
  padding:6px;
  border:1px solid #c9d7e0;
  border-bottom:1px solid #c9d7e0;
  border-radius:12px 12px 0 0;
  background:#edf3f6;
}

#main:has(.view-tabs) .view-tabs button {
  flex:1 1 auto;
  min-height:44px;
  padding:10px 18px;
  border:1px solid transparent;
  border-bottom:1px solid transparent;
  border-radius:8px;
  color:#456174;
  font-weight:700;
}

#main:has(.view-tabs) .view-tabs button[aria-pressed=true] {
  border-color:#fff;
  background:#fff;
  color:#163c66;
  box-shadow:0 2px 5px rgb(22 60 102 / .08);
}

#main:has(.view-tabs) > .wrap {
  padding-block:32px 80px;
}

#main:has(.view-tabs) .filters {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 32px;
  padding:16px;
  border:1px solid #c9d7e0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 3px 0 rgb(22 60 102 / .035);
}

#main:has(.view-tabs) .filters input,
#main:has(.view-tabs) .filters select {
  min-height:46px;
  border-color:#b9cbd7;
  border-radius:8px;
  background:#fff;
  color:#163c66;
}

#main:has(.view-tabs) .filters select {
  flex:0 0 auto;
  width:auto;
}

#main:has(.view-tabs) .filters input {
  flex:1 1 240px;
  min-width:0;
  width:auto;
  margin-left:auto;
}

#main:has(.view-tabs) .filter-pill {
  min-height:40px;
  padding:8px 13px;
  border:1px solid #c9d7e0;
  border-radius:999px;
  background:#fff;
  color:#36586f;
  font-weight:700;
}

#main:has(.view-tabs) .filter-pill[aria-pressed=true] {
  border-color:#163c66;
  background:var(--ahif-blue-gradient);
  color:#fff;
}

#main:has(.view-tabs) .filter-pill:focus-visible,
#main:has(.view-tabs) .view-tabs button:focus-visible,
#main:has(.view-tabs) .month-cell:focus-visible,
#main:has(.view-tabs) .event-row:focus-visible,
#main:has(.view-tabs) .news-card:focus-visible,
.article-wrap:has(.back-link:not([href="#redaksjon"])) :focus-visible {
  outline:3px solid #cc3366;
  outline-offset:3px;
}

#main:has(.view-tabs) .year-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0 0 40px;
}

#main:has(.view-tabs) .month-cell,
#main:has(.view-tabs) .month-cell[aria-pressed=true] {
  min-height:116px;
  height:auto;
  padding:18px;
  border:1px solid #c9d7e0;
  border-radius:12px;
  background:#fff;
  color:#5a7180;
  box-shadow:0 2px 0 rgb(22 60 102 / .025);
}

#main:has(.view-tabs) .month-cell strong {
  color:#607887;
  font-size:18px;
}

#main:has(.view-tabs) .month-cell span {
  margin-top:8px;
  color:#6a7f8d;
}

#main:has(.view-tabs) .month-cell.has-events {
  border-color:#a9c0cf;
  background:#f9fcfd;
}

#main:has(.view-tabs) .month-cell.has-events strong {
  color:#163c66;
}

#main:has(.view-tabs) .month-cell[aria-pressed=true] {
  border-color:#163c66;
  background:var(--ahif-blue-gradient);
  box-shadow:0 5px 12px rgb(22 60 102 / .18);
}

#main:has(.view-tabs) .month-cell[aria-pressed=true] strong,
#main:has(.view-tabs) .month-cell[aria-pressed=true] span {
  color:#fff;
}

#main:has(.view-tabs) .month-heading {
  margin:0 0 20px;
  padding-top:4px;
  border-top:1px solid #c9d7e0;
}

#main:has(.view-tabs) .month-heading h2 {
  margin:18px 0 0;
  color:#163c66;
}

#main:has(.view-tabs) .month-heading button {
  min-height:40px;
  color:#163c66;
  font-weight:700;
  text-underline-offset:4px;
}

#main:has(.view-tabs) .result-count {
  margin:0 0 16px;
  color:#526f84;
  font-size:15px;
  font-weight:700;
}

#main:has(.view-tabs) .events-list {
  gap:18px;
  margin:0;
  padding:0;
  border:0;
}

#main:has(.view-tabs) .event-row--image {
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.42fr);
  gap:0;
  overflow:hidden;
  padding:0;
  border:1px solid #c9d7e0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 3px 0 rgb(22 60 102 / .035);
}

#main:has(.view-tabs) .event-row--image .event-row-media {
  min-height:292px;
  margin:0;
  background:#dce8ee;
}

#main:has(.view-tabs) .event-row--image .event-row-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}

#main:has(.view-tabs) .event-row--image .event-row-copy {
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  align-content:center;
  gap:12px 20px;
  min-width:0;
  padding:28px 40px 28px 28px;
}

#main:has(.view-tabs) .event-row--image .event-row-meta {
  grid-row:1 / span 3;
  grid-column:1;
}

#main:has(.view-tabs) .event-row--image .event-date {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  margin:0;
}

#main:has(.view-tabs) .event-row--image .date-chip {
  width:64px;
  min-width:0;
  height:70px;
  min-height:0;
  border:0;
  border-top:5px solid #cc3366;
  border-radius:8px;
  background:#edf3f6;
  color:#163c66;
}

#main:has(.view-tabs) .event-row--image .date-chip strong,
#main:has(.view-tabs) .event-row--image .date-chip > span {
  color:#163c66;
}

#main:has(.view-tabs) .event-row--image .date-year {
  color:#617987;
  font-size:13px;
  font-weight:700;
}

#main:has(.view-tabs) .event-row--image .kind {
  grid-column:2;
  color:#526f84;
  font-size:13px;
  letter-spacing:.06em;
}

#main:has(.view-tabs) .event-row--image h3 {
  grid-column:2;
  margin:0;
  color:#163c66;
  font-size:min(var(--type-h3),28px);
  line-height:1.17;
  letter-spacing:-.025em;
}

#main:has(.view-tabs) .event-row--image .program-row-meta {
  grid-column:2;
  display:flex;
  flex-wrap:wrap;
  gap:5px 18px;
  margin:0;
  color:#526f84;
}

#main:has(.view-tabs) .event-row--image .program-row-meta > p {
  margin:0;
  font-size:15px;
}

#main:has(.view-tabs) .event-row--image .program-row-meta > p:first-child {
  display:none;
}

#main:has(.view-tabs) .event-row--image .summary {
  grid-column:2;
  max-width:52ch;
  margin:4px 0 0;
  color:#4b6371;
}

#main:has(.view-tabs) .event-row--image .row-arrow {
  right:20px;
  bottom:20px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid #b7c9d5;
  border-radius:50%;
  color:#163c66;
}

#main:has(.view-tabs) .events-list .news-card {
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.42fr);
  gap:0;
  overflow:hidden;
  padding:0;
  border:1px solid #c9d7e0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 3px 0 rgb(22 60 102 / .035);
}

#main:has(.view-tabs) .events-list .news-card-media,
#main:has(.view-tabs) .events-list .news-letter-cover {
  min-height:260px;
  margin:0;
}

#main:has(.view-tabs) .events-list .news-card-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}

#main:has(.view-tabs) .events-list .news-card-body {
  min-width:0;
  padding:28px 40px 28px 28px;
  border:0;
  background:transparent;
}

#main:has(.view-tabs) .events-list .news-card-meta {
  gap:10px;
}

#main:has(.view-tabs) .events-list .news-card-meta time {
  color:#607887;
}

#main:has(.view-tabs) .events-list .news-card h3 {
  max-width:28ch;
  margin:16px 0 12px;
  color:#163c66;
  font-size:min(var(--type-h3),28px);
  line-height:1.17;
  letter-spacing:-.025em;
}

#main:has(.view-tabs) .events-list .news-card-body > p {
  max-width:52ch;
  margin:0;
  color:#4b6371;
}

#main:has(.view-tabs) .events-list .news-card-link {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  min-height:48px;
  margin-top:22px;
  padding-top:14px;
  border-top:1px solid #d7e2e8;
  color:#163c66;
  font-weight:700;
}

#main:has(.view-tabs) .events-list .news-card--letter,
#main:has(.view-tabs) .events-list .news-card--letter:hover {
  border-color:#163c66;
  background:var(--ahif-blue-gradient);
}

#main:has(.view-tabs) .events-list .news-card--letter h3,
#main:has(.view-tabs) .events-list .news-card--letter .news-card-link {
  color:#fff;
}

#main:has(.view-tabs) .events-list .news-card--letter .news-card-body > p,
#main:has(.view-tabs) .events-list .news-card--letter .news-card-meta time {
  color:#d3e1e9;
}

#main:has(.view-tabs) .events-list .news-card--letter .news-card-link {
  border-top-color:#5a7891;
}

#main:has(.view-tabs) .empty {
  margin:0;
  padding:48px 32px;
  border:1px solid #c9d7e0;
  border-radius:12px;
  background:#fff;
}

@media (hover:hover) and (pointer:fine) {
  #main:has(.view-tabs) .event-row--image,
  #main:has(.view-tabs) .events-list .news-card {
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  }

  #main:has(.view-tabs) .event-row--image:hover,
  #main:has(.view-tabs) .events-list .news-card:hover {
    border-color:#7895a9;
    box-shadow:0 10px 24px rgb(22 60 102 / .11);
    transform:translateY(-2px);
  }

  #main:has(.view-tabs) .event-row--image:hover h3,
  #main:has(.view-tabs) .events-list .news-card:hover h3 {
    color:#163c66;
  }

  #main:has(.view-tabs) .month-cell:hover {
    border-color:#7895a9;
    box-shadow:0 5px 12px rgb(22 60 102 / .08);
  }
}

/* Public articles are detected by their public archive back links, keeping the editor preview intact. */
.article-wrap:has(.back-link:not([href="#redaksjon"])),
.article-wrap:has(.back-link[href="#arshjul"]),
.article-wrap:has(.back-link[href="#nyheter"]) {
  padding-block:clamp(32px,5vw,72px) var(--section-space,var(--section-s));
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .back-link,
.article-wrap:has(.back-link[href="#arshjul"]) .back-link,
.article-wrap:has(.back-link[href="#nyheter"]) .back-link {
  margin-bottom:28px;
  color:#163c66;
  font-weight:700;
  text-underline-offset:4px;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-grid,
.article-wrap:has(.back-link[href="#arshjul"]) .article-grid,
.article-wrap:has(.back-link[href="#nyheter"]) .article-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,304px);
  column-gap:48px;
  row-gap:0;
  align-items:start;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-intro,
.article-wrap:has(.back-link[href="#arshjul"]) .article-intro,
.article-wrap:has(.back-link[href="#nyheter"]) .article-intro,
.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-body,
.article-wrap:has(.back-link[href="#arshjul"]) .article-body,
.article-wrap:has(.back-link[href="#nyheter"]) .article-body {
  grid-column:1;
  min-width:0;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-title,
.article-wrap:has(.back-link[href="#arshjul"]) .article-title,
.article-wrap:has(.back-link[href="#nyheter"]) .article-title {
  max-width:22ch;
  margin:12px 0 20px;
  color:#163c66;
  font-size:clamp(34px,4.1vw,56px);
  line-height:1.1;
  letter-spacing:-.045em;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-lead,
.article-wrap:has(.back-link[href="#arshjul"]) .article-lead,
.article-wrap:has(.back-link[href="#nyheter"]) .article-lead {
  max-width:min(52ch,100%);
  margin-bottom:32px;
  color:#415e70;
  font-size:clamp(19px,2vw,23px);
  line-height:1.55;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-cover,
.article-wrap:has(.back-link[href="#arshjul"]) .article-cover,
.article-wrap:has(.back-link[href="#nyheter"]) .article-cover,
.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-event-media,
.article-wrap:has(.back-link[href="#arshjul"]) .article-event-media,
.article-wrap:has(.back-link[href="#nyheter"]) .article-event-media {
  overflow:hidden;
  margin:0 0 32px;
  border:1px solid #c9d7e0;
  border-radius:12px;
  background:#dce8ee;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-cover,
.article-wrap:has(.back-link[href="#arshjul"]) .article-cover,
.article-wrap:has(.back-link[href="#nyheter"]) .article-cover {
  width:100%;
  max-height:none;
  aspect-ratio:16 / 9;
  object-fit:cover;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-event-media,
.article-wrap:has(.back-link[href="#arshjul"]) .article-event-media,
.article-wrap:has(.back-link[href="#nyheter"]) .article-event-media {
  aspect-ratio:16 / 9;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-event-media img,
.article-wrap:has(.back-link[href="#arshjul"]) .article-event-media img,
.article-wrap:has(.back-link[href="#nyheter"]) .article-event-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-event-media figcaption {
  right:12px;
  left:12px;
  bottom:12px;
  width:auto;
  border-radius:8px;
  background:rgb(22 60 102 / .94);
  color:#fff;
  font-size:14px;
  line-height:1.4;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-body,
.article-wrap:has(.back-link[href="#arshjul"]) .article-body,
.article-wrap:has(.back-link[href="#nyheter"]) .article-body {
  max-width:68ch;
  color:#314e60;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-body p,
.article-wrap:has(.back-link[href="#arshjul"]) .article-body p,
.article-wrap:has(.back-link[href="#nyheter"]) .article-body p {
  margin:0 0 20px;
  line-height:1.7;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-body h2,
.article-wrap:has(.back-link[href="#arshjul"]) .article-body h2,
.article-wrap:has(.back-link[href="#nyheter"]) .article-body h2 {
  margin:40px 0 16px;
  color:#163c66;
  font-size:28px;
  line-height:1.18;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-body .speaker,
.article-wrap:has(.back-link[href="#arshjul"]) .article-body .speaker,
.article-wrap:has(.back-link[href="#nyheter"]) .article-body .speaker {
  padding:24px 0;
  border-color:#c9d7e0;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .speaker h3 {
  font-size:22px;
  line-height:1.3;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .speaker h3 > span {
  display:inline-block;
  margin-top:4px;
  font-size:18px;
  line-height:1.45;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .source-note,
.article-wrap:has(.back-link[href="#arshjul"]) .source-note,
.article-wrap:has(.back-link[href="#nyheter"]) .source-note {
  margin-top:36px !important;
  padding:16px 18px;
  border:1px solid #c9d7e0;
  border-left:4px solid #cc3366;
  border-radius:0 8px 8px 0;
  background:#edf3f6;
  color:#526f84;
  font-size:15px;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside {
  grid-column:2;
  grid-row:1 / span 2;
  position:sticky;
  top:112px;
  width:auto;
  height:auto;
  padding:26px;
  border:1px solid #c9d7e0;
  border-top:5px solid #163c66;
  border-radius:12px;
  background:#fff;
  color:#36586f;
  box-shadow:0 5px 16px rgb(22 60 102 / .07);
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside .date-tile,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside .date-tile,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside .date-tile {
  width:84px;
  min-width:0;
  height:88px;
  margin-bottom:22px;
  border-top:5px solid #cc3366;
  border-radius:8px;
  background:#edf3f6;
  color:#163c66;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside .event-date,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside .event-date,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside .event-date {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 22px;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside .date-chip,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside .date-chip,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside .date-chip {
  width:84px;
  min-width:0;
  height:88px;
  min-height:0;
  border:0;
  border-top:5px solid #cc3366;
  border-radius:8px;
  background:#edf3f6;
  color:#163c66;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside .date-chip strong,
.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside .date-chip > span,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside .date-chip strong,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside .date-chip > span,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside .date-chip strong,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside .date-chip > span {
  color:#163c66;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside .date-year,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside .date-year,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside .date-year {
  color:#617987;
  font-size:13px;
  font-weight:700;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside p,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside p,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside p {
  margin:0 0 18px;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside .aside-label,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside .aside-label,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside .aside-label {
  margin:0 0 5px;
  color:#526f84;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside a:not(.button),
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside a:not(.button),
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside a:not(.button) {
  color:#163c66;
  font-weight:700;
}

.article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside .button,
.article-wrap:has(.back-link[href="#arshjul"]) .article-aside .button,
.article-wrap:has(.back-link[href="#nyheter"]) .article-aside .button {
  min-height:48px;
  margin-top:16px;
  border-radius:8px;
}

@media (max-width:1023px) {
  .article-wrap:has(.back-link:not([href="#redaksjon"])) .article-grid,
  .article-wrap:has(.back-link[href="#arshjul"]) .article-grid,
  .article-wrap:has(.back-link[href="#nyheter"]) .article-grid {
    column-gap:32px;
  }
}

@media (max-width:900px) {
  .article-wrap:has(.back-link:not([href="#redaksjon"])) .article-grid,
  .article-wrap:has(.back-link[href="#arshjul"]) .article-grid,
  .article-wrap:has(.back-link[href="#nyheter"]) .article-grid {
    grid-template-columns:minmax(0,1fr);
    row-gap:32px;
  }

  .article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside,
  .article-wrap:has(.back-link[href="#arshjul"]) .article-aside,
  .article-wrap:has(.back-link[href="#nyheter"]) .article-aside {
    grid-column:1;
    grid-row:auto;
    position:static;
  }
}

@media (max-width:760px) {
  #main:has(.view-tabs) .page-head-row {
    align-items:start;
  }

  #main:has(.view-tabs) .page-year {
    display:none;
  }

  #main:has(.view-tabs) .year-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }

  #main:has(.view-tabs) .month-cell,
  #main:has(.view-tabs) .month-cell[aria-pressed=true] {
    min-height:96px;
    padding:14px;
  }

  #main:has(.view-tabs) .event-row--image,
  #main:has(.view-tabs) .events-list .news-card {
    grid-template-columns:minmax(0,1fr);
  }

  #main:has(.view-tabs) .event-row--image .event-row-media,
  #main:has(.view-tabs) .events-list .news-card-media,
  #main:has(.view-tabs) .events-list .news-letter-cover {
    min-height:0;
    height:auto;
    aspect-ratio:16 / 9;
  }

  #main:has(.view-tabs) .event-row--image .event-row-copy,
  #main:has(.view-tabs) .events-list .news-card-body {
    padding:24px;
  }
}

@media (max-width:480px) {
  #main:has(.view-tabs) .page-head p {
    font-size:20px;
    line-height:1.5;
  }
  #main:has(.view-tabs) > .wrap {
    padding-block:20px 56px;
  }

  #main:has(.view-tabs) .view-tabs {
    width:100%;
    margin-top:28px;
  }

  #main:has(.view-tabs) .view-tabs button {
    padding-inline:12px;
  }

  #main:has(.view-tabs) .filters {
    align-items:stretch;
    padding:12px;
  }

  #main:has(.view-tabs) .filters select,
  #main:has(.view-tabs) .filters input {
    flex:1 1 100%;
    width:100%;
  }

  #main:has(.view-tabs) .filter-pill {
    flex:1 1 calc(50% - 5px);
    min-width:0;
    padding-inline:8px;
    font-size:16px;
  }

  #main:has(.view-tabs) .year-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #main:has(.view-tabs) .event-row--image .event-row-copy {
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  #main:has(.view-tabs) .event-row--image .event-date {
    flex-direction:row;
    align-items:center;
  }

  #main:has(.view-tabs) .event-row--image .kind,
  #main:has(.view-tabs) .event-row--image h3,
  #main:has(.view-tabs) .event-row--image .program-row-meta,
  #main:has(.view-tabs) .event-row--image .summary {
    display:block;
  }

  #main:has(.view-tabs) .event-row--image .row-arrow {
    display:none;
  }

  #main:has(.view-tabs) .events-list .news-card-body {
    padding:24px;
  }

  .article-wrap:has(.back-link:not([href="#redaksjon"])) .article-title,
  .article-wrap:has(.back-link[href="#arshjul"]) .article-title,
  .article-wrap:has(.back-link[href="#nyheter"]) .article-title {
    font-size:36px;
  }

  .article-wrap:has(.back-link:not([href="#redaksjon"])) .article-lead,
  .article-wrap:has(.back-link[href="#arshjul"]) .article-lead,
  .article-wrap:has(.back-link[href="#nyheter"]) .article-lead {
    font-size:20px;
  }

  .article-wrap:has(.back-link:not([href="#redaksjon"])) .article-body h2,
  .article-wrap:has(.back-link[href="#arshjul"]) .article-body h2,
  .article-wrap:has(.back-link[href="#nyheter"]) .article-body h2 {
    font-size:25px;
  }

  .article-wrap:has(.back-link:not([href="#redaksjon"])) .article-aside,
  .article-wrap:has(.back-link[href="#arshjul"]) .article-aside,
  .article-wrap:has(.back-link[href="#nyheter"]) .article-aside {
    padding:22px;
  }
}

@media (prefers-reduced-motion:reduce) {
  #main:has(.view-tabs) .event-row--image,
  #main:has(.view-tabs) .events-list .news-card {
    transition:none;
  }

  #main:has(.view-tabs) .event-row--image:hover,
  #main:has(.view-tabs) .events-list .news-card:hover {
    transform:none;
  }
}

/* trade-directory.css */
/* Scoped styles for individual AHIF trade directory pages. */
.trade-directory{color:#454149;background:#fff;padding-bottom:64px}
.trade-directory__wrap{width:min(1200px,calc(100% - 48px));margin-inline:auto}
.trade-directory__hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#3c3938,#625b56);border-bottom:1px solid #d9d3cf;padding:26px 0 46px;color:#fff}
.trade-directory__breadcrumbs{display:flex;flex-wrap:wrap;gap:6px 9px;color:#f3eeeb;font-size:14px}
.trade-directory__breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.trade-directory__hero-row{display:flex;align-items:center;justify-content:space-between;gap:48px;margin-top:32px}
.trade-directory .trade-directory__eyebrow{color:#9e3155;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.trade-directory h1,.trade-directory h2{color:#322e35;letter-spacing:-.025em}
.trade-directory .trade-directory__hero h1{color:#fff;font-size:clamp(48px,5.6vw,80px);font-weight:600;line-height:1.06;margin-top:14px;max-width:18ch}
.trade-directory .trade-directory__hero .trade-directory__eyebrow{color:#f3eeeb}
.trade-directory h2{font-size:clamp(1.45rem,2.3vw,2.05rem);line-height:1.16;margin-top:5px}
.trade-directory .trade-directory__intro{font-size:20px;line-height:1.6;max-width:51ch;margin-top:20px;color:#f3eeeb}
.trade-directory__hero-mark{position:relative;display:grid;place-items:center;flex:0 0 auto;width:204px;height:204px;margin-right:24px;color:#f6f2ef;border:1px solid #a69b93;border-radius:50%;background:rgb(246 239 233 / .04);box-shadow:0 0 0 20px rgb(246 239 233 / .025)}
.trade-directory__hero-mark::after{content:'';position:absolute;width:18px;height:18px;right:4px;top:20px;border-radius:50%;background:#ed9fba;box-shadow:0 0 0 7px #5b5551}
.trade-directory__hero-mark svg{width:104px;height:104px}
.trade-directory__picker{display:none}
.trade-directory__layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:52px;padding-top:42px}
.trade-directory__aside{border-right:1px solid #e6e1e4;padding-right:24px}
.trade-directory .trade-directory__nav-title{color:#51464c;font-size:13px;line-height:1.5;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.trade-directory__nav-list{display:grid;gap:1px}
.trade-directory__nav-link{display:block;color:#534b51;font-size:17px;line-height:1.4;padding:10px 12px;border-left:3px solid transparent;border-radius:0 6px 6px 0}
.trade-directory__nav-link:hover{background:#f5f2f0;color:#45403d}
.trade-directory__nav-link[aria-current="page"]{background:#f0ece9;border-left-color:#cc3366;color:#45403d;font-weight:600}
.trade-directory__more-trades{margin-top:13px;padding-top:12px;border-top:1px solid #e1e8eb}
.trade-directory__more-trades summary{color:#872747;cursor:pointer;font-size:16px;font-weight:600}
.trade-directory__more-trades .trade-directory__nav-list{margin-top:7px}
.trade-directory__results-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid #e5dfe2}
.trade-directory .trade-directory__count{color:#686069;font-size:15px;white-space:nowrap;margin-bottom:4px}
.trade-directory__controls{display:grid;grid-template-columns:minmax(0,440px) minmax(180px,220px);gap:16px;align-items:end;margin:24px 0 0}
.trade-directory__search,.trade-directory__sort{display:grid;gap:8px;color:#51464c;font-size:14px;font-weight:600}
.trade-directory__search input{width:100%;padding:13px 16px;border:1px solid #c7bfc4;border-radius:6px;background:#fff;color:#322e35;font-size:17px;font-weight:400}
.trade-directory__search input::placeholder{color:#786d74}
.trade-directory__sort select{width:100%;min-height:49px;padding:11px 38px 11px 14px;border:1px solid #c7bfc4;border-radius:6px;background:#fff;color:#322e35;font-size:17px;font-weight:400}
.trade-directory__controls input,.trade-directory__controls select{height:54px}
.trade-directory .trade-directory__sort-help{margin:10px 0 24px;color:#71636b;font-size:13px;line-height:1.45}
.trade-directory__sort-help[hidden]{display:none!important}
.trade-directory__company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.trade-directory__sort-help:not([hidden]) + .trade-directory__company-grid{margin-top:0}
.trade-directory__company{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:start;padding:22px 20px;border:1px solid #e4dde1;border-radius:8px;background:#fff;box-shadow:0 3px 12px rgb(79 36 55 / .04);transition:border-color .2s ease,box-shadow .2s ease}
.trade-directory__company:focus-within{border-color:#ba6783;box-shadow:0 4px 16px rgb(79 36 55 / .09)}
.trade-directory__initial{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:#f1edeb;color:#62534a;font-size:18px;font-weight:600}
.trade-directory__company[data-tone="1"] .trade-directory__initial{background:#edf2f7;color:#163c66}
.trade-directory__company[data-tone="2"] .trade-directory__initial{background:#f2f0f1;color:#655960}
.trade-directory__company h3{font-size:20px;font-weight:600;line-height:1.3;margin:0;color:#322e35;letter-spacing:-.015em}
.trade-directory .trade-directory__company-trades{display:flex;flex-wrap:wrap;gap:3px 6px;color:#6e646a;font-size:14px;line-height:1.45;margin-top:7px}
.trade-directory__company-trades a{text-decoration:none}
.trade-directory__company-trades a:hover{text-decoration:underline;text-underline-offset:2px}
.trade-directory__profile,.trade-directory__all-trades{display:inline-flex;gap:10px;align-items:center;color:#8b284b;font-size:15px;font-weight:600;text-decoration:none;margin-top:18px;min-height:28px}
.trade-directory__profile span{transition:transform .2s ease}
.trade-directory__profile:hover span{transform:translate(2px,-2px)}
.trade-directory__profile:hover,.trade-directory__all-trades:hover{color:#cc3366}
.trade-directory__profile{min-height:38px;padding:8px 12px;border:1px solid #d68ca6;border-radius:5px;color:#98284f;background:#fff;transition:background .2s ease,color .2s ease,border-color .2s ease}
.trade-directory__profile:hover,.trade-directory__profile:focus-visible{background:#b92d5b;border-color:#b92d5b;color:#fff}
.trade-directory__no-members{padding:20px 0;color:#5b7283}
.trade-directory__empty{display:flex;flex-wrap:wrap;align-items:center;gap:10px 15px;padding:17px 0;color:#536d80}
.trade-directory__empty button{padding:0;color:#163c66;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.trade-directory__empty a{color:#163c66;text-decoration:underline;text-underline-offset:3px}
.trade-directory .trade-directory__source{color:#71636b;font-size:13px;line-height:1.5;margin-top:36px;padding-top:15px;border-top:1px solid #e5dfe2}
.trade-directory__source a{color:#8b284b;text-decoration:underline;text-underline-offset:3px}
.trade-directory__content,.trade-directory__results--unknown{padding:0}
.trade-directory__results--unknown{max-width:620px;padding-top:4px}
.trade-directory__hero-row>div,.trade-directory__content,.trade-directory__company-copy{min-width:0}
.trade-directory__hero-row h1{overflow-wrap:anywhere}
.trade-directory__results-heading .trade-directory__eyebrow{display:none}
.trade-directory__results-heading h2{font-size:28px}
.trade-directory a:focus-visible,.trade-directory button:focus-visible,.trade-directory select:focus-visible,.trade-directory input:focus-visible,.trade-directory summary:focus-visible{outline:3px solid #cc3366;outline-offset:4px}
.trade-directory__hero a:focus-visible,.trade-directory__hero select:focus-visible{outline-color:#fff}
.trade-directory__hero a:hover{color:#fff;text-decoration-thickness:2px}
@media(hover:hover){.trade-directory__company:hover{border-color:#ba6783;box-shadow:0 4px 16px rgb(79 36 55 / .09)}}
.trade-directory__results--unknown p{margin-top:13px;line-height:1.65}
@media (max-width:800px){
  .trade-directory{padding-bottom:42px}.trade-directory__hero{padding-bottom:23px}.trade-directory__hero-row{align-items:start;margin-top:22px}.trade-directory__hero-mark{width:42px;height:42px}.trade-directory__hero-mark svg{width:21px;height:21px}.trade-directory__intro{font-size:1rem}.trade-directory__picker{display:grid;gap:6px;margin-top:22px;color:#163c66;font-size:.86rem;font-weight:700}.trade-directory__picker select{width:100%;padding:10px 12px;border:1px solid #aec1cb;border-radius:3px;background:#fff}.trade-directory__layout{display:block;padding-top:28px}.trade-directory__aside{display:none}.trade-directory__company-grid{grid-template-columns:1fr}.trade-directory__results-heading{align-items:start;flex-direction:column;gap:9px}.trade-directory__count{white-space:normal;margin:0}.trade-directory__controls{grid-template-columns:1fr;margin-top:20px}.trade-directory__source{margin-top:26px}
}
@media (max-width:480px){
  .trade-directory__hero-row{gap:14px}.trade-directory h1{font-size:2.35rem}.trade-directory__company{padding:15px 14px}.trade-directory__breadcrumbs{font-size:.83rem}
}
@media (prefers-reduced-motion:reduce){.trade-directory *{scroll-behavior:auto;transition:none!important;animation:none!important}}
@media(max-width:800px){
  .trade-directory__hero{padding:24px 0 30px}
  .trade-directory__hero-row{gap:28px;margin-top:28px;align-items:center}
  .trade-directory__hero-mark{width:100px;height:100px;margin:0 10px 0 0;box-shadow:0 0 0 12px rgb(246 239 233 / .025)}
  .trade-directory__hero-mark svg{width:55px;height:55px}
  .trade-directory__hero-mark::after{width:10px;height:10px;top:5px;right:5px;box-shadow:0 0 0 4px #5b5551}
  .trade-directory .trade-directory__intro{font-size:18px;margin-top:16px}
  .trade-directory__picker{color:#f3eeeb}
  .trade-directory__picker select{color:#45403d;border-color:#d6cfca;border-radius:6px;font-size:17px}
  .trade-directory .trade-directory__count{white-space:normal}
}
@media(max-width:480px){
  .trade-directory__hero-row{position:relative;display:block;padding-top:4px}
  .trade-directory .trade-directory__hero h1{font-size:42px;margin-top:18px;padding-right:40px}
  .trade-directory__hero-mark{position:absolute;right:0;top:-2px;width:38px;height:38px;margin:0;background:none;box-shadow:none;border:0;border-radius:0}
  .trade-directory__hero-mark::after{display:none}
  .trade-directory__hero-mark svg{width:32px;height:32px}
  .trade-directory__company{padding:20px 16px;grid-template-columns:38px minmax(0,1fr);gap:12px}
  .trade-directory__initial{width:38px;height:38px;font-size:16px}
  .trade-directory__company h3{font-size:19px}
}

/* V43: photographic introduction, paper-toned surfaces and member spotlight. */
body:has(.trade-directory),body:has(.trade-directory) .site-header{background:#f7f6f3}
.trade-directory{background:#f7f6f3}
.trade-directory__hero{isolation:isolate;background:var(--ahif-blue-gradient);padding:26px 0 20px;border:0}
.trade-directory__hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.trade-directory__hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(12 37 62 / .92),rgb(14 42 70 / .83) 44%,rgb(14 42 70 / .54))}
.trade-directory__hero>.trade-directory__wrap{position:relative}
.trade-directory__hero-row{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:center;margin-top:24px;min-height:280px}
.trade-directory .trade-directory__hero h1{padding:0;font-size:var(--type-display)}
.trade-directory .trade-directory__intro{max-width:40ch;color:#f6f7f8}
.trade-directory .trade-directory__hero .trade-directory__eyebrow,.trade-directory__breadcrumbs{color:#e2e9ef}
.trade-directory .trade-directory__photo-note{margin:20px 0 0;font-size:11px;line-height:1.4;letter-spacing:.015em;color:#e2e9ef}
.trade-directory__nav-link[aria-current="page"]{background:#ebe8e4}
.trade-directory__company{border-color:#9ba4a5;background:#fff;box-shadow:0 4px 14px rgb(52 41 31 / .07)}
.trade-directory__search input{background:#fff;border-color:#c8c2bc}
.trade-directory__picker select{color:#163c66}
.trade-spotlight{min-width:0;padding:22px;background:#fbfaf7;border:1px solid rgb(255 255 255 / .65);border-radius:10px;color:#322e35;box-shadow:0 12px 36px rgb(0 17 36 / .18)}
.trade-spotlight__slide{min-width:0;min-height:208px}
.trade-spotlight__identity{display:flex;align-items:center;justify-content:center;min-height:90px;margin:6px 0 10px}
.trade-spotlight__initial{display:grid;place-items:center;width:68px;height:68px;border-radius:10px;background:#eee9e5;color:#584d47;font-size:26px;font-weight:600}
.trade-spotlight__logo{display:block;max-width:100%;width:auto;height:90px;object-fit:contain;mix-blend-mode:multiply}
.trade-directory .trade-spotlight__name{font-size:22px;font-weight:600;line-height:1.22;letter-spacing:-.015em;color:#322e35;margin:0;min-height:54px;overflow-wrap:anywhere}
.trade-directory .trade-spotlight__link{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:11px 14px;min-height:44px;border:1px solid #b72e59;border-radius:5px;background:#b72e59;color:#fff;font-size:15px;font-weight:600;text-decoration:none}
.trade-directory .trade-spotlight__link:hover{background:#982249;border-color:#982249;color:#fff;text-decoration:none}
.trade-spotlight__controls{display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #ddd6d1}
.trade-spotlight__controls button{display:grid;place-items:center;flex:none;min-width:36px;height:36px;padding:5px;border:1px solid #c6bfbb;border-radius:50%;background:transparent;color:#4b4348;font-size:17px}
.trade-spotlight__controls button:hover{border-color:#b72e59;color:#b72e59;background:#f8ebf0}
.trade-spotlight__controls button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.trade-spotlight__position{margin-right:auto;color:#6b6168;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums}
.trade-directory .trade-spotlight :focus-visible{outline:3px solid #cc3366;outline-offset:4px}
.trade-directory .trade-spotlight__eyebrow{margin:0;color:#756b71;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.09em;text-transform:uppercase}
.trade-directory .trade-spotlight__position{margin:0 auto 0 0;font-size:12px;line-height:1.4}
.trade-spotlight [hidden]{display:none!important}
@media(max-width:1000px) and (min-width:801px){
  .trade-directory__hero-row{grid-template-columns:minmax(0,1fr) 300px;gap:36px}
}
@media(max-width:800px){
  .trade-directory__hero{padding:24px 0}
  .trade-directory__hero-row{grid-template-columns:minmax(0,1fr);gap:24px;min-height:0;margin-top:24px;padding-top:0}
  .trade-directory__hero-copy{max-width:600px}
  .trade-directory__hero::before{background:rgb(14 42 70 / .84)}
  .trade-directory__hero-photo{object-position:50% 50%}
  .trade-directory .trade-directory__intro{font-size:18px;max-width:42ch}
  .trade-directory__picker{margin-top:24px}
  .trade-spotlight{width:100%;max-width:600px;padding:20px}
  .trade-spotlight__slide{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 16px;align-items:center;min-height:120px;margin-top:12px}
  .trade-spotlight__identity{grid-column:1;min-height:90px;margin:0}
  .trade-spotlight__copy{grid-column:2;min-width:0}
  .trade-spotlight__logo{height:90px}
  .trade-directory .trade-spotlight__name{grid-column:2;min-height:0;font-size:20px}
  .trade-directory .trade-spotlight__link{grid-column:2;margin-top:12px}
  .trade-spotlight__controls{margin-top:16px}
}
@media(max-width:480px){
  .trade-directory .trade-directory__hero h1{font-size:38px;margin-top:12px}
  .trade-spotlight__slide{grid-template-columns:90px minmax(0,1fr);gap:0 12px}
  .trade-spotlight__initial{width:54px;height:54px;font-size:22px}
  .trade-spotlight__logo{height:80px}
  .trade-directory .trade-spotlight__name{font-size:18px}
}
@media(max-width:360px){
  .trade-spotlight{padding:16px}
  .trade-spotlight__slide{grid-template-columns:76px minmax(0,1fr);gap:0 10px;min-height:148px}
  .trade-directory .trade-spotlight__name{font-size:17px}
}

/* brand-blue.css */
/* V49. Gradients read from arendal-handverker.no on 7 October 2026. */
:root {
  --ahif-blue-gradient:linear-gradient(139deg,#101f31 0%,#163c66 100%);
  --ahif-photo-gradient:linear-gradient(341deg,rgb(14 36 61 / .93) 55%,rgb(22 60 102 / .93) 100%);
}

.trade-directory__hero::before {
  background:var(--ahif-photo-gradient);
}

/* Preserve the existing soft join between the copy and photograph. */
.hero-lead::after {
  background:var(--ahif-blue-gradient);
  mask-image:linear-gradient(90deg,#000 0%,#000 46%,rgb(0 0 0 / .98) 53%,rgb(0 0 0 / .4) 71%,transparent 88%);
}

/* Keep one uninterrupted gradient through the newsletter card. */
.home-news .news-card--letter .news-letter-cover {
  background:transparent;
}

.lead-image::after {
  background:linear-gradient(0deg,rgb(14 36 61 / .75),transparent 65%);
}

@media (max-width:800px) {
  .lead-image::after {
    background:linear-gradient(0deg,rgb(14 36 61 / .75),transparent 75%);
  }
}

/* refinements-v50.css */
/* V50: a clearer photographic opening, warm trade section and room to read. */
:root { --card-side:clamp(20.8px,2.86vw,41.6px); --warm-paper:#f4f1eb; }

.header-inner nav .button.outline {
  background:var(--magenta); border-color:var(--magenta); color:#fff;
}
.header-inner nav .button.outline:hover { background:#ad2854; border-color:#ad2854; color:#fff; }

.hero-lead {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch;
  padding:0; background:var(--ahif-blue-gradient);
}
.hero-lead::after { display:none; }
.hero-lead .lead-grid {
  display:flex; align-items:center; width:100%; min-width:0; max-width:none; min-height:0;
  margin:0; padding:64px clamp(32px,4vw,64px) 64px max(var(--gutter),calc((100vw - var(--container)) / 2));
}
.hero-lead .lead-copy { width:100%; min-width:0; max-width:560px; padding:0; }
.hero-lead .lead-copy .eyebrow { color:#d1e1e9; font-size:11px; letter-spacing:.14em; }
.hero-lead .lead-copy h1 {
  font-size:clamp(42px,4.15vw,66px); line-height:1.08; letter-spacing:-.035em;
  font-weight:600; margin:26px 0; color:#fff;
}
.hero-lead .lead-copy h1 span { color:#e4e4df; }
.hero-lead .lead-intro { max-width:34ch; color:#e3e9ee; font-size:20px; line-height:1.6; }
.hero-lead .lead-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.hero-lead .hero-finder { background:var(--magenta); border-color:var(--magenta); color:#fff; padding-inline:24px; }
.hero-lead .hero-finder:hover { background:#ad2854; border-color:#ad2854; }
.hero-lead .hero-member { background:transparent; border:1px solid #8296a8; color:#fff; padding-inline:24px; }
.hero-lead .hero-member:hover { background:#fff; border-color:#fff; color:var(--navy); }
.hero-lead .lead-facts {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px;
  padding-top:28px; margin-top:36px; border-top:1px solid rgb(255 255 255 / .2);
}
.hero-lead .lead-facts strong { font-size:26px; font-weight:500; line-height:1.2; margin-bottom:7px; }
.hero-lead .lead-facts > span { font-size:12px; line-height:1.5; color:#ccd8e1; }
.hero-lead .lead-image { position:relative; inset:auto; width:100%; height:auto; min-height:100%; margin:0; }
.hero-lead .lead-image img { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 48%; }
.hero-lead .lead-image::after { background:linear-gradient(0deg,rgb(14 36 61 / .68),transparent 40%); }
.hero-lead .lead-caption { right:36px; left:36px; bottom:30px; max-width:none; text-align:left; font-size:13px; line-height:1.55; }
.hero-lead .lead-caption strong { font-size:15px; font-weight:500; }

.trades-section { background:var(--warm-paper); }
.trades-section .trade { background:#fffdfa; border:1px solid #dedad3; }
.trades-section .trade:hover { background:#fff; border-color:#a9a59e; }

/* Preserve vertical padding; add side space to text-bearing panels. */
.home-calendar .program-card { --card-inset:var(--card-side); }
.home-calendar .program-card-copy h3 { min-height:0; margin:0; }
.home-calendar .program-card-copy p { margin-top:16px; }
.home-calendar .program-card-summary { display:block; height:auto; -webkit-line-clamp:unset; line-clamp:unset; overflow:visible; }
.home-news .news-card-body { padding-inline:var(--card-side); }
.nl-form .nl-copy,.nl-form .nl-panel,.nl-layout > .nl-result { padding-inline:var(--card-side); }
.faq-section .faq-contact { padding-inline:var(--card-side); }
.faq-section .faq-content > h2 { padding-inline:var(--card-side); }
.faq-section .faq-item summary,.faq-section .faq-item > p { padding-inline:var(--card-side); }
.community-copy { padding-left:var(--card-side); }
.trade-directory .trade-directory__company { padding-inline:clamp(18.2px,1.95vw,26px); }
.trade-directory .trade-spotlight { padding-inline:clamp(18.2px,1.95vw,26px); }
.trade-spotlight__slide { min-height:168px; }
@media (max-width:800px) { .trade-spotlight__slide { min-height:120px; } }
#main:has(.view-tabs) .events-list .event-row-copy,
#main:has(.view-tabs) .events-list .news-card-body { padding-inline:var(--card-side); }

/* Give the existing partner logos a short, useful introduction. */
.site-footer .sponsors { padding-block:64px; }
.site-footer .sponsors > .wrap { grid-template-columns:minmax(0,1.7fr) minmax(300px,.95fr); gap:64px; align-items:center; }
.site-footer .partners-intro::before { display:none; }
.site-footer .sponsors h2 { font-size:clamp(26px,2.25vw,32px); white-space:nowrap; line-height:1.2; }
.site-footer .partners-intro > p { max-width:none; margin:20px 0 0; color:#4c5c69; font-size:18px; line-height:1.65; hyphens:none; }
.site-footer .partners-invitation { margin-top:30px; }
.site-footer .partners-invitation p { margin:0 0 8px; color:var(--navy); font-size:16px; font-weight:500; }
.site-footer .partners-invitation a { display:inline-flex; align-items:center; gap:20px; padding-block:6px; border-bottom:1px solid currentColor; color:#b02a56; font-size:18px; font-weight:600; text-decoration:none; }
.site-footer .partners-invitation a:hover { color:var(--navy); }
.site-footer .partners-intro :focus-visible { outline:3px solid var(--magenta); outline-offset:5px; }

/* A spacious, useful footer with the original logo as a white mark. */
.site-footer .footer-top { grid-template-columns:1.2fr .8fr 1.1fr; gap:64px; padding:64px 0 56px; align-items:start; }
.site-footer .footer-brand { grid-column:auto; }
.site-footer .footer-brand .footer-logo { display:inline-block; width:auto; padding:0; margin:0 0 30px; min-height:0; }
.site-footer .footer-brand img { display:block; width:180px; height:auto; margin:0; padding:0; background:transparent; filter:grayscale(1) invert(1) contrast(3); mix-blend-mode:screen; }
.site-footer .footer-brand h2 { color:#fff; font-size:36px; line-height:1.18; letter-spacing:-.025em; font-weight:500; margin:0 0 20px; }
.site-footer .footer-brand > p { color:#c9d7e2; font-size:15px; line-height:1.65; }
.site-footer .footer-label { color:#9fb5c8; font-size:12px; font-weight:500; letter-spacing:.11em; text-transform:uppercase; margin:8px 0 22px; }
.site-footer .footer-navigation { display:block; position:static; width:auto; margin:0; padding:0; background:transparent; border:0; box-shadow:none; }
.site-footer .footer-navigation a { display:flex; align-items:center; width:fit-content; min-height:44px; padding:0; margin:0; color:#f2f5f7; font-size:17px; font-weight:400; line-height:1.5; }
.site-footer .footer-navigation a:hover { color:#fff; text-decoration:underline; text-underline-offset:5px; }
.site-footer .footer-contact > a { display:block; width:fit-content; padding:0; margin:0 0 12px; min-height:0; font-size:17px; line-height:1.6; overflow-wrap:anywhere; }
.site-footer .footer-contact .footer-phone { font-size:25px; letter-spacing:.01em; margin-bottom:28px; }
.site-footer .footer-contact address { font-size:16px; font-style:normal; line-height:1.65; color:#c9d7e2; }
.site-footer .footer-bottom { padding-block:22px; font-size:13px; border-color:rgb(255 255 255 / .17); }
.site-footer .footer-to-top { font-size:14px; align-items:center; gap:16px; }

@media (max-width:1100px) {
  .site-footer .sponsors > .wrap { grid-template-columns:1fr; gap:36px; }
  .site-footer .partners-intro { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
  .site-footer .partners-intro h2 { grid-column:1/-1; }
  .site-footer .partners-intro > p { max-width:44ch; }
  .site-footer .partners-invitation { margin-top:20px; align-self:start; }
  .site-footer .footer-top { gap:36px; grid-template-columns:1.1fr .8fr 1.1fr; }
}
@media (max-width:940px) {
  .hero-lead { grid-template-columns:minmax(0,1fr); }
  .hero-lead .lead-grid { padding:48px var(--gutter); }
  .hero-lead .lead-copy { max-width:640px; }
  .hero-lead .lead-copy h1 { font-size:clamp(42px,6vw,60px); }
  .hero-lead .lead-image { min-height:0; height:380px; }
  .hero-lead .lead-image img { object-position:60% 42%; }
  .hero-lead .lead-facts { max-width:480px; }
}
@media (max-width:700px) {
  .site-footer .footer-top { grid-template-columns:1fr 1fr; gap:40px 28px; }
  .site-footer .footer-brand { grid-column:1/-1; }
  .site-footer .footer-brand h2 { font-size:32px; }
}
@media (max-width:600px) {
  :root { --card-side:20.8px; }
  .hero-lead .lead-grid { padding-block:40px; }
  .hero-lead .lead-copy h1 { font-size:42px; margin-block:22px; }
  .hero-lead .lead-intro { font-size:18px; }
  .hero-lead .lead-actions { gap:12px; margin-top:26px; }
  .hero-lead .lead-actions .button { padding-inline:18px; font-size:15px; }
  .hero-lead .lead-facts { gap:16px; margin-top:30px; padding-top:24px; }
  .hero-lead .lead-facts strong { font-size:24px; }
  .hero-lead .lead-image { height:300px; }
  .hero-lead .lead-caption { left:24px; right:24px; bottom:22px; }
  .site-footer .sponsors { padding-block:48px; }
  .site-footer .partners-intro { display:block; }
  .site-footer .sponsors h2 { font-size:26px; letter-spacing:-.03em; }
  .site-footer .partners-intro > p { font-size:17px; }
  .site-footer .partners-invitation { margin-top:24px; }
  .site-footer .footer-top { padding-block:48px; }
  .site-footer .footer-navigation a,.site-footer .footer-contact > a { font-size:15px; }
  .site-footer .footer-contact .footer-phone { font-size:21px; }
  .site-footer .footer-bottom { flex-direction:row; align-items:center; gap:24px; }
  .site-footer .footer-bottom > span { max-width:23ch; }
}
@media (max-width:380px) {
  :root { --card-side:18.2px; }
  .hero-lead .lead-copy h1 { font-size:36px; }
  .hero-lead .lead-facts { gap:12px; }
  .site-footer .footer-top { grid-template-columns:1fr; }
  .site-footer .footer-brand { grid-column:auto; }
  .site-footer .sponsors h2 { font-size:24px; }
}

/* craft-v52.css */
/* V52: one quiet material and type system, within the approved page layout. */
:root {
  --craft-paper:#eeebe5;
  --craft-wash:#e0dcd5;
  --craft-card:#f7f4ee;
  --craft-line:#d0ccc5;
  --warm-paper:var(--craft-wash);
  --craft-ink:#20374c;
  --craft-muted:#526068;
  --surface:var(--craft-card);
  --background:var(--craft-paper);
  --wash:var(--craft-wash);
  --text:var(--craft-muted);
  --line:var(--craft-line);
  --radius-panel:6px;
  --radius-control:4px;
  --type-h2:clamp(29px,2.65vw,38px);
  --type-h3:clamp(22px,1.9vw,26px);
  --type-small:15px;
}
body { background:var(--craft-paper); }
html { scroll-padding-top:100px; }
#main :is(h1,h2,h3,h4,p,dt,dd,summary), .site-footer :is(h2,h3,p) {
  hyphens:none; word-break:normal;
}
#main :is(h1,h2,h3,h4) { overflow-wrap:normal; text-wrap:pretty; }
#main p { overflow-wrap:normal; text-wrap:pretty; }
#main a[href^="mailto:"], .site-footer a[href^="mailto:"] { overflow-wrap:anywhere; }
.button { border-radius:4px; font-weight:500; }
.eyebrow { font-size:11px; font-weight:500; letter-spacing:.1em; }

/* The navigation shares the content grid instead of drifting to screen edges. */
.preview-bar {
  min-height:30px; height:30px; padding-inline:max(var(--gutter),calc((100% - var(--container)) / 2));
  background:var(--craft-wash); border-color:var(--craft-line); color:var(--craft-muted);
  font-size:11px; line-height:1.3;
}
.preview-bar :is(span,a) { font-size:11px; font-weight:400; }
.preview-bar a { min-height:0; padding:0; text-decoration-thickness:1px; }
.site-header,body:has(.trade-directory) .site-header {
  background:var(--craft-paper); border-bottom:1px solid var(--craft-line); box-shadow:none;
}
.wrap.header-inner { max-width:var(--container); height:86px; min-height:86px; gap:24px; }
.header-inner .brand img { width:172px; height:auto; }
.header-inner nav { gap:26px; font-size:15px; font-weight:500; }
.header-inner nav > a:not(.button) { color:var(--craft-ink); font-size:15px; font-weight:500; }
.header-inner nav > a:not(.button)::after { height:1.5px; bottom:4px; }
.header-inner nav .button.outline {
  min-height:44px; height:44px; padding:10px 20px; border-radius:4px;
  background:var(--magenta); border-color:var(--magenta); color:#fff; font-size:15px; font-weight:500;
}
.header-tools { gap:10px; }
.header-search-toggle { width:44px; height:44px; border-radius:4px; color:var(--craft-ink); }
.header-search-toggle svg { width:20px; height:20px; }
.header-search-toggle:hover,.header-search-toggle[aria-expanded="true"] { background:var(--craft-wash); color:var(--navy); }
.header-search-panel { background:var(--craft-paper); border-color:var(--craft-line); border-radius:6px; box-shadow:0 10px 30px rgb(16 31 49 / .10); }
.header-search-panel label { font-size:16px; font-weight:500; }
.header-search-field :is(input,button) { font-size:16px; }
.menu-button span { display:grid; place-items:center; }
.menu-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }

/* Preserve the split hero; remove competing treatments within the text. */
.hero-lead .lead-copy h1 { font-weight:500; letter-spacing:-.035em; line-height:1.1; }
.hero-lead .lead-copy h1 span { color:#fff; }
.hero-lead .lead-intro { color:#e2e7eb; font-size:19px; line-height:1.65; }
.hero-lead .hero-finder { background:var(--craft-paper); color:var(--navy); border-color:var(--craft-paper); }
.hero-lead .hero-finder:hover { background:#fff; color:var(--navy); border-color:#fff; }
.hero-lead .hero-member { border-color:rgb(255 255 255 / .38); }
.hero-lead .lead-actions .button { border-radius:4px; font-weight:500; }
.hero-lead .lead-facts { border-color:rgb(255 255 255 / .2); }
.hero-lead .lead-facts strong { font-size:25px; font-weight:500; }
.hero-lead .lead-facts > span { color:#c8d3dc; font-size:12px; line-height:1.5; }
.hero-lead .lead-caption { display:none; }
.hero-lead .lead-image::after { background:linear-gradient(0deg,rgb(14 36 61 / .2),transparent 42%); }

/* Warm light surfaces alternate with white cards, while blue belongs to AHIF. */
.trades-section { background:var(--warm-paper); }
.home-calendar,.nl-section { background:var(--craft-paper); border-color:var(--craft-line); }
.home-news,.faq-section { background:var(--craft-wash); border-color:var(--craft-line); }
.chapter-heading h2,.nl-heading h2,.trades-section .trade-heading-row h2 {
  font-size:var(--type-h2); font-weight:500; line-height:1.2; letter-spacing:-.025em;
}
.chapter-heading p,.trades-section .trade-heading-row > p { color:var(--craft-muted); }
.chapter-heading > .button,.home-calendar .chapter-heading .button {
  border:0; border-bottom:1px solid #8c999f; border-radius:0; background:transparent;
  padding:8px 0; min-height:44px; font-weight:500;
}
.home-calendar .chapter-heading .button:hover { background:transparent; color:var(--navy); border-color:var(--navy); }
.trades-section .trade { background:var(--craft-card); border-color:var(--craft-line); border-radius:4px; }
.trades-section .trade-name { font-size:17px; font-weight:500; gap:12px; }
.trades-section .trade-name > span { hyphens:none; overflow-wrap:normal; }
.trades-section .trade-name svg { width:24px; height:24px; }
.trades-section .trade:hover,.trades-section .trade:focus-visible { background:#fff; border-color:#9ca8aa; }
.trades-section .trade:hover .trade-name { color:var(--navy); }
.trades-section #showTrades { color:var(--navy); border-color:#8c999f; font-size:15px; font-weight:500; }
.trades-section #tradeStatus { color:var(--craft-muted); font-size:14px; }

.home-calendar .program-card,.home-news .news-card,.nl-layout,.faq-contact,.faq-content {
  border-color:var(--craft-line); border-radius:6px; box-shadow:none;
}
.home-calendar .program-card-copy,.home-news .news-card:not(.news-card--letter),
.nl-copy,.faq-contact,.faq-content { background:var(--craft-card); }
.home-calendar .program-card-copy h3 { max-width:none; font-size:25px; font-weight:500; line-height:1.25; letter-spacing:-.02em; }
.home-calendar .program-card-copy p { color:#3e4b54; }
.home-calendar .program-card .program-date { border-radius:4px; border-top:3px solid var(--magenta); box-shadow:none; }
.home-calendar .program-card .program-date strong { font-weight:500; }
.home-calendar .program-card .content-tag { border:0; border-radius:3px; background:#fff; color:var(--navy); font-weight:500; box-shadow:none; }
.home-calendar .program-card-footer { padding-block:26px 28px; gap:20px; border:0; }
.home-calendar .program-card-facts { min-height:52px; gap:20px; }
.home-calendar .program-card-facts dt { color:#c6d4df; font-size:11px; letter-spacing:.08em; }
.home-calendar .program-card-facts dd { font-size:15px; line-height:1.55; }
.home-calendar .program-card .program-button {
  background:transparent; border:1px solid rgb(255 255 255 / .45); border-radius:4px;
  color:#fff; font-size:15px; font-weight:500; min-height:46px;
}
.home-calendar .program-card .program-button:hover { background:#fff; border-color:#fff; color:var(--navy); }
.home-news .news-card:last-child { border-color:var(--craft-line); }
.home-news .news-card--letter,.home-news .news-card--letter:last-child { border-color:#163c66; }
.home-news .news-card:hover { box-shadow:none; border-color:#a0a9aa; }
.home-news .news-card h3 { max-width:none; font-size:25px; font-weight:500; line-height:1.25; letter-spacing:-.02em; }
.home-news .news-card-meta,.home-news .news-card-meta time { font-size:13px; }
.home-news .news-card-meta .content-tag { font-weight:500; background:var(--craft-wash); color:var(--craft-ink); border-radius:3px; }
.home-news .news-card-link { font-size:15px; font-weight:500; border-color:var(--craft-line); }
.home-news .news-card-link > span { width:36px; height:36px; font-size:20px; border-color:#bbc1c0; }
.home-news .news-card--letter .news-card-link { border-color:rgb(255 255 255 / .2); }
.home-news .news-card--letter .news-card-meta .content-tag { background:var(--craft-card); color:var(--navy); }
.home-news .news-letter-cover::before { display:none; }
.home-news .news-letter-cover > .news-letter-paper,.home-news .news-card:hover .news-letter-paper {
  transform:none; box-shadow:none; border:0; border-radius:3px; background:var(--craft-paper);
}
.home-news .news-letter-paper-title span { font-weight:500; }

.nl-copy .nl-info h3 { font-size:22px; font-weight:500; }
.nl-copy .nl-members-info { border-color:var(--craft-line); }
.nl-copy .nl-members-info::before,.community-copy::before { display:none; }
.nl-panel h3 { max-width:none; font-size:26px; line-height:1.25; font-weight:500; }
.nl-panel #newsletterEmail,.nl-panel .nl-submit { border-radius:4px; }
.nl-copy .nl-archive,.nl-panel .nl-consent { font-size:15px; }
.nl-panel .nl-submit { font-size:16px; font-weight:500; }
.community-copy h2 { max-width:none; font-size:var(--type-h2); font-weight:500; line-height:1.2; }
.community-copy .button { font-size:15px; font-weight:500; border-radius:4px; }
.new-members { border-block:1px solid var(--craft-line); background:var(--craft-card); }
.new-members-logo-item img { mix-blend-mode:multiply; }
.faq-contact h2,.faq-content > h2 { font-size:30px; font-weight:500; }
.faq-content > h2,.faq-contact-person,.faq-item + .faq-item { border-color:var(--craft-line); }
.faq-contact-portrait { border-radius:4px; border:0; }
.faq-contact-details strong { font-size:17px; font-weight:500; }
.faq-contact a,.faq-contact-person p span { font-size:15px; font-weight:400; }
.faq-item summary { font-size:16px; font-weight:500; gap:18px; }
.faq-item summary::after { border:0; border-radius:0; background:none; }
.faq-item > p { font-size:17px; color:var(--craft-muted); }
.faq-item[open] { background:var(--craft-paper); }
.faq-item[open] summary { border-color:var(--craft-line); }
.site-footer .sponsors { background:var(--craft-paper); border-color:var(--craft-line); }
.site-footer .sponsors .sponsor-grid,.site-footer .sponsors .sponsor-grid li { border-color:var(--craft-line); }
.site-footer .sponsors .sponsor-grid a:hover { background:var(--craft-wash); }
.site-footer .sponsors h2 { font-weight:500; }
.site-footer .partner-list > li { border-color:var(--craft-line); }
.site-footer .partners-intro > p { color:var(--craft-muted); }
.site-footer .footer-brand h2 { font-weight:400; font-size:32px; }
.site-footer .footer-label { font-size:11px; letter-spacing:.1em; }
.site-footer .footer-navigation a { font-size:16px; }
.site-footer .footer-contact .footer-phone { font-size:23px; }

@media(max-width:1100px) {
  .header-inner nav.open { background:var(--craft-paper); border-color:var(--craft-line); padding-block:20px; }
  .header-inner nav.open > a:not(.button) { min-height:48px; padding:10px 16px; font-size:17px; }
  .header-inner nav.open > a:not(.button)::after { display:none; }
  .header-inner nav.open .button { margin-top:8px; }
  .header-tools .menu-button { min-height:44px; padding:8px 12px; border-color:var(--craft-line); border-radius:4px; font-size:15px; font-weight:500; background:transparent; }
}
@media(max-width:600px) {
  .wrap.header-inner { height:74px; min-height:74px; gap:12px; }
  .header-inner .brand { flex-basis:142px; }
  .header-inner .brand img { width:142px; max-width:100%; }
  .header-tools { gap:4px; }
  .preview-bar { height:28px; min-height:28px; }
  .preview-bar :is(span,a) { font-size:10px; }
  .hero-lead .lead-copy h1 { font-size:40px; }
  .hero-lead .lead-intro { font-size:18px; }
  .hero-lead .lead-facts strong { font-size:23px; }
  .hero-lead .lead-facts > span { font-size:11px; }
  .chapter-heading h2,.nl-heading h2,.trades-section .trade-heading-row h2,.community-copy h2 { font-size:29px; }
  .home-calendar .program-card-copy h3,.home-news .news-card h3 { font-size:23px; }
  .home-calendar .program-card-footer { padding-block:24px; }
  .faq-contact h2,.faq-content > h2 { font-size:27px; }
  .faq-contact-portrait { flex-basis:88px; width:88px; height:124px; }
  .faq-contact-person { gap:16px; }
  .faq-contact-details strong { font-size:16px; }
  .faq-contact a { font-size:14px; }
  .site-footer .footer-brand h2 { font-size:30px; }
}
@media(max-width:380px) {
  .hero-lead .lead-copy h1 { font-size:35px; }
  .header-inner .brand { flex-basis:126px; }
  .header-inner .brand img { width:126px; }
  .header-search-toggle { width:36px; }
  .header-tools .menu-button { padding-inline:9px; }
  .faq-contact-person { flex-wrap:wrap; }
}

/* craft-secondary-v52.css */
/* V52: restrained paper finish for directory, archive, and article routes. */

/* Keep Norwegian headings and prose intact; URLs may still wrap when needed. */
.trade-directory :is(h1,h2,h3,p),
#main:has(.view-tabs) :is(h1,h2,h3,p),
#main:has(.article-wrap) :is(h1,h2,h3,p) {
  hyphens:none;
  overflow-wrap:normal;
  word-break:normal;
}
.trade-directory :is(h1,h2,h3),
#main:has(.view-tabs) :is(h1,h2,h3),
#main:has(.article-wrap) :is(h1,h2,h3) { font-weight:500; }
#main:has(.view-tabs) .page-year { font-weight:400; }
#main :is(.date-chip,.content-tag) { background:var(--craft-wash); color:var(--navy); }
#main .date-chip { border-radius:4px; box-shadow:none; }
.trade-directory a[href^="mailto:"],
#main:has(.view-tabs) a[href^="mailto:"],
#main:has(.article-wrap) a[href^="mailto:"],
.trade-directory a[href^="http"],
#main:has(.view-tabs) a[href^="http"],
#main:has(.article-wrap) a[href^="http"] { overflow-wrap:anywhere; }

/* Trade directory */
body:has(.trade-directory),
body:has(.trade-directory) .site-header,
.trade-directory { background:var(--craft-paper, #faf9f6); }
.trade-directory { color:var(--craft-ink, #20374c); }
.trade-directory__hero { background:var(--ahif-blue-gradient); }
.trade-directory__hero::before { background:var(--ahif-photo-gradient); }
.trade-directory .trade-directory__hero h1 {
  max-width:19ch;
  font-size:clamp(32px, 4.2vw, 52px);
  line-height:1.08;
  overflow-wrap:normal;
}
.trade-directory .trade-directory__intro { font-size:18px; line-height:1.65; }
.trade-directory__layout { gap:44px; }
.trade-directory__aside { border-color:var(--craft-line, #deddd6); }
.trade-directory .trade-directory__nav-title,
.trade-directory__nav-link,
.trade-directory .trade-directory__count,
.trade-directory__search,
.trade-directory__sort,
.trade-directory .trade-directory__sort-help,
.trade-directory .trade-directory__source { color:var(--craft-muted, #58656d); }
.trade-directory__nav-link { border-radius:0 4px 4px 0; }
.trade-directory__nav-link:hover { background:var(--craft-wash, #f1eee7); color:var(--craft-ink, #20374c); }
.trade-directory__nav-link[aria-current="page"] { background:var(--craft-wash, #f1eee7); color:var(--craft-ink, #20374c); border-left-color:var(--magenta, #cc3366); }
.trade-directory__more-trades,
.trade-directory__results-heading,
.trade-directory .trade-directory__source { border-color:var(--craft-line, #deddd6); }
.trade-directory h2,
.trade-directory__company h3 { color:var(--craft-ink, #20374c); }
.trade-directory h2,
.trade-directory__results-heading h2 { font-size:clamp(28px, 2.8vw, 34px); line-height:1.16; }
.trade-directory__search input,
.trade-directory__sort select {
  border-color:var(--craft-line, #deddd6);
  border-radius:4px;
  color:var(--craft-ink, #20374c);
  background:var(--craft-card);
}
.trade-directory__search input::placeholder { color:var(--craft-muted, #58656d); }
.trade-directory__company {
  grid-template-columns:34px minmax(0, 1fr);
  gap:12px;
  border-color:var(--craft-line, #deddd6);
  border-radius:6px;
  background:var(--craft-card);
  box-shadow:0 2px 8px rgb(16 31 49 / .025);
}
.trade-directory__initial {
  width:34px;
  height:34px;
  border-radius:4px;
  background:var(--craft-wash, #f1eee7);
  color:var(--craft-ink, #20374c);
  font-size:15px;
}
.trade-directory__company[data-tone="1"] .trade-directory__initial,
.trade-directory__company[data-tone="2"] .trade-directory__initial { background:var(--craft-wash, #f1eee7); color:var(--craft-ink, #20374c); }
.trade-directory__company h3 { font-size:18px; line-height:1.32; }
.trade-directory .trade-directory__company-trades { color:var(--craft-muted, #58656d); }
.trade-directory__company:focus-within { border-color:#8ba0ae; box-shadow:0 2px 8px rgb(16 31 49 / .045); }
.trade-directory__source a,
.trade-directory__more-trades summary { color:var(--navy, #163c66); }
.trade-directory .trade-spotlight {
  border-color:rgb(255 255 255 / .55);
  border-radius:6px;
  background:var(--craft-paper, #faf9f6);
  color:var(--craft-ink, #20374c);
  box-shadow:0 8px 22px rgb(16 31 49 / .14);
}
.trade-spotlight__initial { border-radius:4px; background:var(--craft-wash, #f1eee7); color:var(--craft-ink, #20374c); }
.trade-directory .trade-spotlight__name { color:var(--craft-ink, #20374c); overflow-wrap:normal; }
.trade-spotlight__controls { border-color:var(--craft-line, #deddd6); }
.trade-spotlight__controls button { border-color:var(--craft-line, #deddd6); color:var(--craft-ink, #20374c); }
.trade-spotlight__controls button:hover { border-color:var(--magenta, #cc3366); color:var(--magenta, #cc3366); background:var(--craft-card); }

/* Archive and year wheel */
#main:has(.view-tabs) { background:var(--craft-paper, #faf9f6); color:var(--craft-ink, #20374c); }
#main:has(.view-tabs) .page-head { border-color:var(--craft-line, #deddd6); background:var(--craft-card); }
#main:has(.view-tabs) .page-head .eyebrow,
#main:has(.view-tabs) .page-head p,
#main:has(.view-tabs) .page-year { color:var(--craft-muted, #58656d); }
#main:has(.view-tabs) .page-head p { font-size:18px; line-height:1.6; }
#main:has(.view-tabs) .page-head h1 { color:var(--craft-ink, #20374c); font-size:clamp(32px, 4.2vw, 52px); }
#main:has(.view-tabs) .view-tabs { border-color:var(--craft-line, #deddd6); border-radius:6px 6px 0 0; background:var(--craft-wash, #f1eee7); }
#main:has(.view-tabs) .view-tabs button { border-radius:4px; color:var(--craft-muted, #58656d); }
#main:has(.view-tabs) .view-tabs button[aria-pressed=true] { border-color:#fff; color:var(--craft-ink, #20374c); box-shadow:none; }
#main:has(.view-tabs) .filters { border-color:var(--craft-line, #deddd6); border-radius:6px; background:var(--craft-card); box-shadow:0 2px 8px rgb(16 31 49 / .025); }
#main:has(.view-tabs) .filters input,
#main:has(.view-tabs) .filters select { border-color:var(--craft-line, #deddd6); border-radius:4px; color:var(--craft-ink, #20374c); }
#main:has(.view-tabs) .filter-pill { border-color:var(--craft-line, #deddd6); border-radius:4px; color:var(--craft-ink, #20374c); }
#main:has(.view-tabs) .filter-pill[aria-pressed=true] { border-color:var(--navy, #163c66); background:var(--navy, #163c66); }
#main:has(.view-tabs) .filter-pill[aria-pressed=true] { color:#fff; }
#main:has(.view-tabs) .month-cell,
#main:has(.view-tabs) .month-cell[aria-pressed=true] { border-color:var(--craft-line, #deddd6); border-radius:6px; box-shadow:none; }
#main:has(.view-tabs) .month-cell { background:var(--craft-card); color:var(--craft-muted, #58656d); }
#main:has(.view-tabs) .month-cell strong,
#main:has(.view-tabs) .month-cell span { color:var(--craft-muted, #58656d); }
#main:has(.view-tabs) .month-cell.has-events { background:var(--craft-wash, #f1eee7); border-color:#c9c7bf; }
#main:has(.view-tabs) .month-cell.has-events strong { color:var(--craft-ink, #20374c); }
#main:has(.view-tabs) .month-cell[aria-pressed=true] { border-color:var(--navy, #163c66); background:var(--navy, #163c66); box-shadow:none; }
#main:has(.view-tabs) .month-cell[aria-pressed=true],
#main:has(.view-tabs) .month-cell[aria-pressed=true] strong,
#main:has(.view-tabs) .month-cell[aria-pressed=true] span { color:#fff; }
#main:has(.view-tabs) .event-row--image,
#main:has(.view-tabs) .events-list .news-card { border-color:var(--craft-line, #deddd6); border-radius:6px; background:var(--craft-card); box-shadow:0 2px 8px rgb(16 31 49 / .025); }
#main:has(.view-tabs) .event-row--image h3,
#main:has(.view-tabs) .events-list .news-card h3 { color:var(--craft-ink, #20374c); font-size:clamp(22px, 2.4vw, 28px); line-height:1.22; }
#main:has(.view-tabs) .event-row--image .summary,
#main:has(.view-tabs) .events-list .news-card-body > p,
#main:has(.view-tabs) .program-row-meta { color:var(--craft-muted, #58656d); }
#main:has(.view-tabs) .event-row--image .summary,
#main:has(.view-tabs) .events-list .news-card-body > p { font-size:18px; line-height:1.6; }

/* Article reading route */
#main:has(.article-wrap) { background:var(--craft-paper, #faf9f6); color:var(--craft-ink, #20374c); }
#main:has(.article-wrap) .article-wrap { color:var(--craft-ink, #20374c); }
#main:has(.article-wrap) .back-link { color:var(--navy, #163c66); }
#main:has(.article-wrap) .article-title { color:var(--craft-ink, #20374c); font-size:clamp(32px, 4.2vw, 52px); line-height:1.08; }
#main:has(.article-wrap) .article-lead { color:var(--craft-muted, #58656d); font-size:20px; line-height:1.55; }
#main:has(.article-wrap) .article-body { color:var(--craft-ink, #20374c); }
#main:has(.article-wrap) .article-body p { color:var(--craft-ink, #20374c); font-size:18px; line-height:1.68; }
#main:has(.article-wrap) .article-body h2 { color:var(--craft-ink, #20374c); font-size:clamp(28px, 3vw, 34px); line-height:1.16; }
#main:has(.article-wrap) .speaker,
#main:has(.article-wrap) .article-aside { border-color:var(--craft-line, #deddd6); border-radius:6px; background:var(--craft-card); box-shadow:0 2px 8px rgb(16 31 49 / .025); }
#main:has(.article-wrap) .article-aside { color:var(--craft-ink, #20374c); }
#main:has(.article-wrap) .article-aside .aside-label,
#main:has(.article-wrap) .source-note { color:var(--craft-muted, #58656d); }
#main:has(.article-wrap) .article-aside .button { border-radius:4px; }
#main:has(.article-wrap) .article-event-media { border-radius:6px; }
#main:has(.article-wrap) .article-event-media figcaption {
  left:14px; right:auto; bottom:14px; width:auto; max-width:calc(100% - 28px);
  padding:6px 9px; border-radius:3px; font-size:12px; line-height:1.4;
  background:rgb(16 31 49 / .88); color:#fff;
}

@media (max-width:800px) {
  .trade-directory__company { grid-template-columns:34px minmax(0, 1fr); gap:12px; }
  .trade-directory__company h3 { font-size:18px; }
}
@media (hover:hover) {
  .trade-directory__company:hover { border-color:#8ba0ae; box-shadow:0 2px 8px rgb(16 31 49 / .045); }
}
@media (max-width:480px) {
  .trade-directory__hero-row { display:block; }
  .trade-directory .trade-directory__hero h1 { padding-right:0; }
  .trade-directory__company { grid-template-columns:minmax(0, 1fr); gap:10px; }
  .trade-spotlight__slide { display:block; min-height:0; margin-top:12px; }
  .trade-spotlight__identity { justify-content:flex-start; min-height:0; margin:0 0 14px; }
  .trade-spotlight__logo { height:72px; max-width:100%; }
  .trade-directory .trade-spotlight__name { font-size:clamp(17px, 5vw, 20px); line-height:1.28; }
  .trade-directory .trade-spotlight__link { margin-top:12px; }
  #main:has(.view-tabs) .filters { border-radius:6px; }
}


/* palette-v53.css */
/* V55: soft blue-gray light surfaces paired with the approved pale blue. */
:root {
  --craft-paper:#eff2f3;
  --craft-wash:#e1ebf1;
  --craft-card:#f7f9fa;
  --craft-line:#cbd5da;
  --craft-ink:#243746;
  --craft-muted:#536068;
  --craft-accent-ink:#a42b50;
}

/* Deep, less saturated ink on light surfaces. White-on-blue roles stay intact. */
.trades-section .trade-heading-row h2,
.home-calendar .chapter-heading h2,
.home-news .chapter-heading h2,
.nl-heading h2,.nl-copy .nl-info h3,
.faq-contact h2,.faq-content > h2,
.site-footer .sponsors h2,
.home-calendar .program-card-copy h3,
.home-calendar .program-card-copy h3 a,
.home-news .news-card:not(.news-card--letter) h3 {
  color:var(--craft-ink);
}
.home-calendar .program-card-copy p,
.nl-copy .nl-info p,.faq-contact > p { color:var(--craft-muted); }

/* Keep pink for meaningful actions, with a separate readable foreground tone. */
.header-inner nav a[aria-current=page]:not(.button),
.header-inner nav > a:not(.button):hover,
.site-footer .partners-invitation a,
.faq-item a:hover,
.faq-contact a:hover,
.home-news .news-card:not(.news-card--letter):hover .news-card-link {
  color:var(--craft-accent-ink);
}
.home-news .news-card--letter:hover .news-card-link { color:#fff; }
.faq-item summary::after,.faq-item[open] summary::after,
.faq-contact a::after,.faq-contact a > span { color:var(--craft-ink); }
.home-news .news-letter-paper-rule { background:var(--craft-ink); }
.home-calendar .program-card .program-date,#main .date-chip { border-top-color:var(--navy); }
.trades-section .trade:hover svg,.trades-section .trade:hover .arrow,
.trades-section .trade:focus-visible svg,.trades-section .trade:focus-visible .arrow {
  color:var(--navy);
}
.trades-section .trade:focus-visible .trade-name { color:var(--navy); }
.trades-section .trade:hover,.trades-section .trade:focus-visible { background:var(--craft-card); }
.trade-spotlight__controls button:hover { color:var(--navy); border-color:var(--navy); }
.home-calendar .program-card .program-date,
.home-calendar .program-card .content-tag { background:var(--craft-card); }
.hero-lead .hero-finder:hover,.hero-lead .hero-member:hover,
.home-calendar .program-card .program-button:hover {
  background:var(--craft-card); border-color:var(--craft-card); color:var(--navy);
}
.nl-panel .nl-submit { color:#fff; }

/* rhythm-v56.css */
/* V56: more breathing room, restrained italic accents, clear membership CTAs. */
:root { --rhythm-section:clamp(88px,7.5vw,112px); }

#main :is(.hero-lead,.trades-section,.home-calendar,.home-news,.nl-heading,.community-copy,.page-head,.article-wrap) .eyebrow {
  font-family:Georgia,'Times New Roman',serif;
  font-size:19px;
  font-style:italic;
  font-weight:400;
  line-height:1.4;
  letter-spacing:0;
  text-transform:none;
  margin:0 0 28px;
}
#main :is(.hero-lead,.trades-section,.home-calendar,.home-news,.nl-heading,.community-copy,.page-head,.article-wrap) .eyebrow + :is(h1,h2) {
  margin-top:0;
}
#main .hero-lead .eyebrow { margin-bottom:36px; color:#d1e1e9; }
.trades-section,.home-calendar,.home-news,.nl-section,.faq-section,
.site-footer .sponsors { padding-block:var(--rhythm-section); }
.hero-lead .lead-grid { padding-block:clamp(80px,6.7vw,104px); }
.home-calendar .chapter-heading,.home-news .chapter-heading,
.trades-section .section-title,.nl-heading { margin-bottom:48px; }

.community-copy { padding-block:clamp(96px,8.5vw,128px); }
.community-copy h2 { margin-bottom:32px; }
.community-copy p + p { margin-top:28px; }
.community-copy .button { margin-top:40px; }
.site-footer .footer-top { padding-block:88px 72px; }

#main .hero-lead .hero-member,#main .community-copy .button {
  background:var(--magenta);
  border-color:var(--magenta);
  color:#fff;
}
#main .hero-lead .hero-member:hover,#main .community-copy .button:hover {
  background:#b42c59;
  border-color:#b42c59;
  color:#fff;
}

/* Give the secondary reading routes the same unhurried section rhythm. */
#main:has(.view-tabs) .page-head { padding-top:80px; }
#main:has(.view-tabs) .page-head + section { padding-block:72px 96px; }
.trade-directory__hero { padding-top:36px; padding-bottom:44px; }
.trade-directory__layout { padding-top:64px; }
.trade-directory { padding-bottom:88px; }

@media(max-width:800px) {
  :root { --rhythm-section:76px; }
  .community-copy { padding-block:80px; }
  .hero-lead .lead-grid { padding-block:64px; }
  .site-footer .footer-top { padding-block:72px 56px; }
}
@media(max-width:600px) {
  :root { --rhythm-section:72px; }
  #main :is(.hero-lead,.trades-section,.home-calendar,.home-news,.nl-heading,.community-copy,.page-head,.article-wrap) .eyebrow {
    font-size:18px; margin-bottom:24px;
  }
  #main .hero-lead .eyebrow { margin-bottom:30px; }
  .hero-lead .lead-grid { padding-block:56px; }
  .home-calendar .chapter-heading,.home-news .chapter-heading,
  .trades-section .section-title,.nl-heading { margin-bottom:36px; }
  .community-copy { padding-block:72px; }
  .community-copy h2 { margin-bottom:28px; }
  .community-copy .button { margin-top:36px; }
  #main:has(.view-tabs) .page-head { padding-top:56px; }
  #main:has(.view-tabs) .page-head + section { padding-block:48px 72px; }
  .trade-directory__hero { padding-top:28px; padding-bottom:36px; }
  .trade-directory__layout { padding-top:44px; }
  .trade-directory { padding-bottom:64px; }
}

/* motion-v56.css */
/* V56: a calmer shared interaction cadence. Load after the existing theme sheets. */

/*
  Deliberately lists the properties that can change on controls. This keeps a
  click and its navigation immediate while making the visual response calmer.
  These shared timing rules override the older component transition shorthands.
*/
:where(a, button, summary, [role="button"], .button, .filter-pill, .month-cell, .trade, .news-card, .event-row, .program-row) {
  transition-property: color, background-color, border-color, box-shadow, opacity, text-decoration-color, text-underline-offset, transform !important;
  transition-duration: 360ms !important;
  transition-timing-function: cubic-bezier(.2, .65, .3, 1) !important;
  transition-delay: 0s !important;
}

/* Underlines and affordance arrows keep the same rhythm as their controls. */
.header-inner nav > a:not(.button)::after,
.home-news .news-card-link > span::before {
  transition-property: transform, opacity !important;
  transition-duration: 360ms !important;
  transition-timing-function: cubic-bezier(.2, .65, .3, 1) !important;
  transition-delay: 0s !important;
}

:where(.text-link, .news-card-link, .trade, .trade-directory__profile, .program-button) > :where(span, .arrow, svg),
.trade .arrow,
.trade svg,
.news-card-link span,
.home-calendar .program-button > span,
.trade-directory__profile span {
  transition-property: color, transform, opacity !important;
  transition-duration: 360ms !important;
  transition-timing-function: cubic-bezier(.2, .65, .3, 1) !important;
  transition-delay: 0s !important;
}

/* Keep the existing cues, but make their spatial movement deliberately small. */
@media (hover:hover) and (pointer:fine) {
  .text-link:hover span,
  .news-card:hover .news-card-link span,
  .trade:hover .arrow,
  .trade-directory__profile:hover span,
  .home-calendar .program-button:hover > span,
  .program-row:hover .program-row-arrow {
    transform:translateX(2px);
  }

  .trade:hover,
  .home-news .news-card:hover,
  #main:has(.view-tabs) .event-row--image:hover,
  #main:has(.view-tabs) .events-list .news-card:hover {
    transform:translateY(-1px);
  }
}

/* Keyboard focus must appear instantly, rather than waiting for the shared cadence. */
:where(a, button, summary, [role="button"], .button, .filter-pill, .month-cell, .trade, .news-card, .event-row, .program-row):focus-visible,
:where(a, button, summary, [role="button"], .button, .filter-pill, .month-cell, .trade, .news-card, .event-row, .program-row):focus-visible::after,
.header-inner nav > a:not(.button):focus-visible::after,
.trade:focus-visible .arrow,
.trade:focus-visible svg,
.home-calendar .program-button:focus-visible > span,
.home-news .news-card:focus-visible .news-card-link span,
.home-news .news-card:focus-visible .news-card-link > span::before {
  transition-duration: 0s !important;
  transition-delay: 0s !important;
}

.trade:focus-visible,
.news-card:focus-visible,
.event-row:focus-visible,
.program-row:focus-visible,
.trade:focus-visible .arrow {
  transform:none;
}

@media (prefers-reduced-motion:reduce) {
  :where(a, button, summary, [role="button"], .button, .filter-pill, .month-cell, .trade, .news-card, .event-row, .program-row),
  .header-inner nav > a:not(.button)::after,
  .home-news .news-card-link > span::before,
  :where(.text-link, .news-card-link, .trade, .trade-directory__profile, .program-button) > :where(span, .arrow, svg),
  .trade .arrow,
  .trade svg,
  .news-card-link span,
  .home-calendar .program-button > span,
  .trade-directory__profile span {
    transition-duration: 0s !important;
    transition-delay: 0s !important;
  }

  .text-link:hover span,
  .news-card:hover .news-card-link span,
  .trade:hover .arrow,
  .trade-directory__profile:hover span,
  .home-calendar .program-button:hover > span,
  .program-row:hover .program-row-arrow,
  .trade:hover,
  .home-news .news-card:hover,
  #main:has(.view-tabs) .event-row--image:hover,
  #main:has(.view-tabs) .events-list .news-card:hover {
    transform:none;
  }
}

/* depth-v57.css */
/* V57: a little depth, while retaining the approved palette and section layout. */
:root {
  --depth-card:0 10px 26px -16px rgb(16 31 49 / .26),0 2px 5px rgb(16 31 49 / .035);
  --depth-card-hover:0 16px 32px -18px rgb(16 31 49 / .30),0 3px 7px rgb(16 31 49 / .045);
}

@media(min-width:801px) {
  .community-copy {
    padding-left:calc(var(--card-side) + clamp(24px,calc((100vw - 800px) * .25),80px));
    box-shadow:inset 20px 0 28px -28px rgb(0 0 0 / .55);
  }
}

.trades-section,.home-news,.faq-section,.site-footer .sponsors {
  box-shadow:inset 0 18px 28px -26px rgb(16 31 49 / .42),inset 0 -1px 0 rgb(16 31 49 / .045);
}
.hero-lead,.community-section {
  position:relative;
  z-index:1;
  box-shadow:0 16px 30px -24px rgb(16 31 49 / .55);
}
.home-calendar .program-card,.home-news .news-card,.nl-layout,.faq-contact {
  box-shadow:var(--depth-card);
}
.trades-section .trade { box-shadow:0 3px 8px -5px rgb(16 31 49 / .16); }
@media(hover:hover) and (pointer:fine) {
  .home-news .news-card:hover { box-shadow:var(--depth-card-hover); }
  .trades-section .trade:hover { box-shadow:0 8px 16px -10px rgb(16 31 49 / .28); }
}

.site-header { transition:box-shadow 420ms ease; }
.site-header.is-scrolled,body:has(.trade-directory) .site-header.is-scrolled {
  box-shadow:0 8px 24px -16px rgb(16 31 49 / .32);
}

/* Content remains readable before JS, during the animation, and with reduced motion. */
@keyframes ahif-depth-enter {
  from { transform:translateY(12px); }
  to { transform:translateY(0); }
}
@media(prefers-reduced-motion:no-preference) {
  .depth-enter:not(.community-copy),.community-copy.depth-enter > * {
    animation:ahif-depth-enter 680ms cubic-bezier(.22,.61,.36,1) both;
  }
  .depth-enter:focus-within,.community-copy.depth-enter:focus-within > * {
    animation:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  .site-header { transition:none; }
  .depth-enter,.community-copy.depth-enter > * { animation:none; }
}
@media(max-width:800px) {
  .community-copy { box-shadow:inset 0 18px 28px -28px rgb(0 0 0 / .5); }
}

/* footer-v59.css */
/* V59: partner breathing room and a purpose-built footer. */
.site-footer .sponsors > .wrap {
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.95fr);
  column-gap:clamp(112px,9vw,160px);
}

.site-footer .footer-close {
  background:var(--ahif-blue-gradient);
  color:#eef3f6;
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .08);
}
.site-footer .footer-close a {
  margin:0;
  color:#eef3f6;
  text-decoration:none;
}
.site-footer .footer-close a:hover {
  color:#fff;
  text-decoration:underline;
  text-underline-offset:7px;
  text-decoration-thickness:1px;
}
.site-footer .footer-close a:focus-visible { outline:2px solid #fff; outline-offset:6px; }
.footer-close__main {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:start;
  gap:clamp(72px,9vw,144px);
  padding-block:76px 60px;
}
.site-footer .footer-close__logo {
  display:inline-flex;
  width:224px;
  max-width:100%;
  min-height:0;
}
.footer-close__logo img {
  display:block;
  width:100%;
  height:auto;
  filter:grayscale(1) invert(1) contrast(3);
  mix-blend-mode:screen;
}
.footer-close__name {
  max-width:30ch;
  margin:28px 0 0;
  color:#e4ecf2;
  font-size:19px;
  line-height:1.55;
  font-weight:400;
}
.footer-close__since {
  margin:14px 0 0;
  color:#b7cbd9;
  font-family:Georgia,'Times New Roman',serif;
  font-size:18px;
  font-style:italic;
}
.site-footer .footer-close__contact h2 {
  margin:0 0 24px;
  color:#c3d4df;
  font-family:Georgia,'Times New Roman',serif;
  font-size:20px;
  font-style:italic;
  font-weight:400;
  line-height:1.4;
  letter-spacing:0;
}
.site-footer .footer-close__contact > a {
  display:flex;
  align-items:center;
  width:fit-content;
  min-height:44px;
  gap:16px;
  font-size:clamp(21px,1.95vw,26px);
  line-height:1.35;
  letter-spacing:-.015em;
}
.footer-close__contact > a > span { font-size:18px; color:#c3d4df; }
.footer-close__contact address {
  margin:26px 0 0;
  color:#bfcfdc;
  font-size:16px;
  font-style:normal;
  line-height:1.6;
}
.site-footer .footer-close__links {
  position:static;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px 32px;
  width:auto;
  margin:0;
  padding:22px 0;
  background:transparent;
  border:0;
  border-block:1px solid rgb(211 226 237 / .2);
  box-shadow:none;
}
.site-footer .footer-close__links a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  gap:14px;
  padding:0;
  font-size:16px;
  font-weight:400;
  line-height:1.5;
}
.footer-close__meta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:20px 0 24px;
  color:#b7cbd9;
  font-size:13px;
  line-height:1.5;
}
.footer-close__meta p { margin:0; color:inherit; font-size:13px; line-height:1.5; }
.site-footer .footer-close__meta a { min-height:44px; gap:14px; font-size:14px; white-space:nowrap; }

@media(max-width:1100px) {
  .site-footer .sponsors > .wrap { grid-template-columns:minmax(0,1fr); gap:56px; }
  .footer-close__main { gap:64px; grid-template-columns:1fr 1fr; }
  .site-footer .footer-close__contact > a { font-size:21px; }
}
@media(max-width:800px) {
  .footer-close__main { grid-template-columns:1fr; gap:48px; padding-block:64px 44px; }
  .site-footer .footer-close__contact > a { font-size:24px; }
  .site-footer .footer-close__links { display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; padding-block:20px; }
  .footer-close__contact address { margin-top:20px; }
}
@media(max-width:600px) {
  .site-footer .sponsors > .wrap { gap:48px; }
  .site-footer .footer-close__logo { width:200px; }
  .footer-close__name { margin-top:24px; font-size:17px; }
  .footer-close__since { font-size:17px; }
  .site-footer .footer-close__contact h2 { margin-bottom:18px; }
  .site-footer .footer-close__contact > a { font-size:clamp(17px,5vw,21px); gap:10px; }
  .site-footer .footer-close__links { column-gap:20px; }
  .site-footer .footer-close__links a { font-size:15px; }
  .footer-close__meta { align-items:flex-start; flex-direction:column; gap:10px; padding-block:24px; }
}

/* site-v60.css */
/* V60 design study: one palette, distinct formats for distinct kinds of content. */
:root {
  --v60-shadow:0 2px 4px rgb(16 31 49 / .025),0 14px 32px -24px rgb(16 31 49 / .24);
  --v60-hover:0 3px 7px rgb(16 31 49 / .035),0 20px 38px -23px rgb(16 31 49 / .28);
  --v60-ease:cubic-bezier(.2,.65,.3,1);
}
.trades-section,.home-news,.faq-section,.site-footer .sponsors { box-shadow:none; }
.hero-lead,.community-section { box-shadow:0 8px 22px -22px rgb(16 31 49 / .35); }
.site-header { background:var(--craft-paper); }
.header-inner .brand img { width:164px; }
.header-inner nav { gap:28px; }
.header-inner nav .button.outline { padding-inline:22px; }
.button { position:relative; overflow:hidden; gap:20px; box-shadow:0 2px 2px rgb(16 31 49 / .04); }
.button > span[aria-hidden],.text-link > span,.journal-action > span,.agenda-row > .row-arrow {
  display:inline-block; transition:transform 360ms var(--v60-ease),background-color 360ms var(--v60-ease) !important;
}
.button:hover > span[aria-hidden],.button:focus-visible > span[aria-hidden],
.text-link:hover > span,.text-link:focus-visible > span { transform:translate(3px,-3px); }
.button:active { transform:translateY(1px); }
.text-link { display:inline-flex; align-items:center; gap:24px; width:fit-content; min-height:44px; padding-block:6px; color:var(--craft-ink); border-bottom:1px solid #a8bac4; text-decoration:none; font-size:16px; font-weight:500; line-height:1.4; }
.text-link:hover { color:var(--craft-accent-ink); border-color:currentColor; }
.hero-lead .lead-copy h1 { font-size:clamp(45px,4.2vw,66px); font-weight:500; line-height:1.08; letter-spacing:-.04em; margin-bottom:30px; }
.hero-lead .lead-grid { padding-block:clamp(78px,7vw,110px); }
.hero-lead .lead-intro { font-size:19px; line-height:1.65; }
.hero-lead .lead-actions { margin-top:30px; gap:14px; }
.hero-lead .lead-actions .button { min-height:52px; padding-inline:24px; }
.hero-lead .lead-facts { margin-top:42px; padding-top:26px; }
.hero-lead .lead-facts strong { font-size:28px; font-weight:500; }
.hero-lead .lead-facts > span { font-size:12px; }
.hero-lead .lead-image { border-left:1px solid rgb(255 255 255 / .14); }
.hero-lead .lead-image::after { background:linear-gradient(0deg,rgb(16 31 49 / .16),transparent 42%); }

/* A visible, usable search belongs beside the trade introduction. */
.finder-heading { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:clamp(48px,7vw,112px); margin-bottom:42px; }
.trades-section .finder-heading .section-title { display:block; margin-bottom:0; }
.trades-section .trade-heading-row p { max-width:44ch; margin:20px 0 0; }
/* Keep the search-to-card spacing after shortening the two-line introduction. */
@media(min-width:801px) {
  .trades-section .trade-heading-row p { min-height:3.2em; }
}
.finder-search label { display:block; color:var(--craft-ink); font-weight:500; font-size:16px; margin-bottom:12px; }
.finder-search-field { display:flex; align-items:center; min-height:60px; gap:12px; padding-inline:18px; background:var(--craft-card); border:1px solid #b5c6d0; border-radius:5px; box-shadow:var(--v60-shadow); }
.finder-search-field:focus-within { outline:2px solid var(--navy); outline-offset:3px; }
.finder-search-field svg { flex:0 0 22px; width:22px; height:22px; color:var(--navy); }
.finder-search-field input { display:block; min-width:0; width:100%; height:58px; border:0; background:transparent; color:var(--craft-ink); font-size:16px; padding:0; box-shadow:none; }
.finder-search-field input:focus { outline:0; }
.trades-section .trade-grid { gap:14px; }
.trades-section .trade { min-height:86px; padding:20px; border:1px solid #c3d1d9; border-radius:5px; box-shadow:0 2px 4px rgb(16 31 49 / .025); }
.trades-section .trade-name { gap:14px; font-size:16px; font-weight:500; }
.trades-section .trade-name svg { width:26px; height:26px; color:#345e80; }
.trades-section .trade .arrow { font-size:20px; color:#607a8c; }
.trades-section .trade:hover { border-color:#829daf; box-shadow:var(--v60-hover); transform:translateY(-2px); }
.trades-section .trade-actions { margin-top:30px; }

/* Dates lead the programme. No repeated illustration photos imply event coverage. */
.home-calendar { background:var(--craft-paper); }
.agenda-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.agenda-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--craft-line); border-radius:6px; background:var(--craft-card); box-shadow:var(--v60-shadow); overflow:hidden; }
.agenda-card-top { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:28px var(--card-side); background:var(--craft-wash); border-bottom:1px solid var(--craft-line); }
.agenda-card .program-date { position:static; display:flex; flex-direction:row; align-items:baseline; gap:12px; width:auto; min-width:0; padding:0; color:var(--navy); background:transparent; border:0; box-shadow:none; text-align:left; }
.agenda-card .program-date strong { font-size:52px; font-weight:400; line-height:1; letter-spacing:-.045em; }
.agenda-card .program-date > span { font-size:15px; font-weight:500; letter-spacing:.08em; }
.agenda-card-kind { display:grid; gap:8px; text-align:right; font-size:14px; color:#4b6374; }
.agenda-card-kind > span:first-child { color:var(--craft-ink); font-weight:500; }
.agenda-card-copy { padding:28px var(--card-side) 26px; }
#main .agenda-card h3 { margin:0 0 18px; font-size:clamp(24px,2.2vw,30px); font-weight:500; line-height:1.22; letter-spacing:-.025em; color:var(--craft-ink); }
.agenda-card h3 a { color:inherit; text-decoration:none; }
.agenda-card h3 a:hover { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.agenda-card-copy p { font-size:17px; line-height:1.65; margin:0; color:var(--craft-muted); }
.agenda-card-copy .agenda-deadline { margin-top:16px; color:var(--craft-accent-ink); }
.agenda-card-bottom { margin-top:auto; padding:0 var(--card-side) 24px; }
.agenda-card-bottom dl { display:grid; grid-template-columns:1fr 1.2fr; gap:20px; padding-block:22px; margin:0 0 8px; border-top:1px solid var(--craft-line); }
.agenda-card-bottom dt { font-size:12px; color:var(--craft-muted); font-weight:400; margin-bottom:7px; }
.agenda-card-bottom dd { margin:0; color:var(--craft-ink); font-size:16px; line-height:1.45; }
.agenda-card-bottom .text-link { font-size:15px; }

/* News uses imagery; a newsletter looks like correspondence, not another event. */
.home-news { background:var(--craft-wash); }
.journal-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:28px; align-items:stretch; }
.journal-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #c1cfd8; border-radius:6px; color:var(--craft-ink); background:var(--craft-card); text-decoration:none; box-shadow:var(--v60-shadow); transition:box-shadow 360ms var(--v60-ease),border-color 360ms var(--v60-ease),transform 360ms var(--v60-ease); }
.journal-card:hover { transform:translateY(-2px); border-color:#90a9b9; box-shadow:var(--v60-hover); }
.journal-image { display:block; margin:0; aspect-ratio:2.25; overflow:hidden; }
.journal-image img { display:block; width:100%; height:100%; object-fit:cover; }
.journal-body { display:flex; flex:1; flex-direction:column; padding:30px var(--card-side); }
.journal-meta { display:flex; flex-wrap:wrap; gap:10px 22px; color:#536877; font-size:13px; line-height:1.4; }
.journal-meta > span { font-weight:500; }
#main .journal-body h3 { margin:18px 0 16px; font-size:clamp(24px,2.3vw,31px); font-weight:500; line-height:1.22; letter-spacing:-.025em; color:var(--craft-ink); }
.journal-body p { margin:0 0 28px; font-size:17px; line-height:1.65; color:var(--craft-muted); }
.journal-action { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:auto; padding-top:22px; border-top:1px solid var(--craft-line); font-weight:500; font-size:15px; }
.journal-action > span { font-size:22px; }
.journal-card:hover .journal-action > span,.journal-card:focus-visible .journal-action > span { transform:translate(3px,-3px); }
.journal-card--letter { background:var(--craft-paper); }
.journal-letterhead { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:24px; padding:34px var(--card-side); border-bottom:1px solid var(--craft-line); }
.journal-letterhead img { width:128px; height:auto; mix-blend-mode:multiply; }
.journal-letterhead > span { max-width:17ch; font-family:Georgia,serif; font-style:italic; color:#536877; font-size:16px; line-height:1.5; }
.journal-card--letter .journal-body { padding-top:46px; }
#main .journal-card--letter h3 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(29px,3vw,41px); line-height:1.18; letter-spacing:-.025em; }

/* Signup is a single composition with clearly separated public/member information. */
.nl-section { background:var(--craft-paper); }
.nl-layout { background:transparent; border:0; border-radius:0; overflow:visible; box-shadow:none; }
.nl-layout > .nl-form { grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); align-items:start; gap:clamp(52px,7vw,108px); }
.nl-form .nl-copy { padding:0; background:transparent; }
.nl-copy .nl-heading { margin-bottom:30px; }
.nl-copy .nl-info h3 { font-size:17px; margin:0 0 10px; }
.nl-copy .nl-info p { margin:0; font-size:17px; line-height:1.65; }
.nl-copy .nl-members-info { padding:22px 0 0; margin-top:22px; border:0; border-top:1px solid var(--craft-line); }
.nl-copy .nl-members-info h3 { font-size:16px; }
.nl-copy .nl-members-info p { font-size:15px; }
.nl-copy .nl-archive { margin-top:26px; }
.nl-form .nl-panel { padding:36px var(--card-side); background:var(--craft-card); color:var(--craft-ink); border:1px solid var(--craft-line); border-radius:6px; box-shadow:var(--v60-shadow); }
.nl-panel h3 { color:var(--craft-ink); font-size:25px; margin:0 0 28px; }
.nl-panel .nl-email-label,.nl-panel .nl-consent { color:var(--craft-ink); }
.nl-panel #newsletterEmail { background:var(--craft-paper); border:1px solid #b8c9d2; color:var(--craft-ink); min-height:52px; }
.nl-panel .nl-consent { font-size:14px; line-height:1.55; margin-block:20px 26px; }
.nl-panel .nl-submit { width:100%; min-height:52px; background:var(--ahif-blue-gradient); border:1px solid var(--navy); color:#fff; }
.nl-panel .nl-submit:hover { background:#224a70; border-color:#224a70; color:#fff; }
.nl-layout > .nl-result { border-radius:6px; }
.community-copy { box-shadow:none; }
.community-copy .button { min-height:54px; }
.community-copy h2 { font-size:clamp(32px,3.05vw,45px); }
.community-copy p { font-size:18px; line-height:1.7; }

/* Contact has a human anchor. Answers read as a list rather than nested boxes. */
.faq-section { background:var(--craft-wash); }
.faq-section .faq-layout { grid-template-columns:1fr 1.15fr; gap:clamp(48px,7vw,100px); }
.faq-section .faq-contact { padding:32px var(--card-side); background:var(--craft-card); border:1px solid var(--craft-line); border-radius:6px; box-shadow:var(--v60-shadow); }
.faq-section .faq-content { padding:8px 0 0; background:transparent; border:0; box-shadow:none; }
.faq-section .faq-content > h2 { border:0; margin-bottom:24px; padding-bottom:0; }
.faq-section .faq-item { background:transparent; padding:0; border-top:1px solid #bacbd6; }
.faq-section .faq-item summary { padding-block:22px; font-size:17px; line-height:1.5; }
.faq-section .faq-item[open] summary { border:0; }
.faq-section .faq-item > p { padding:0 26px 24px 0; margin:0; font-size:16px; line-height:1.65; }

/* Archives and articles keep the same content hierarchy without thumbnail repetition. */
#main:has(.view-tabs) .page-head { padding-top:64px; }
#main:has(.view-tabs) .page-head + section { padding-top:40px; }
#main:has(.view-tabs) .events-list { display:grid; grid-template-columns:1fr; gap:18px; }
.agenda-row { display:grid; grid-template-columns:96px minmax(0,1fr) 32px; align-items:start; gap:28px; padding:28px; border:1px solid var(--craft-line); border-radius:6px; background:var(--craft-card); color:var(--craft-ink); text-decoration:none; box-shadow:var(--v60-shadow); transition:box-shadow 360ms var(--v60-ease),border-color 360ms var(--v60-ease); }
.agenda-row:hover { box-shadow:var(--v60-hover); border-color:#93aab8; }
.agenda-row:focus-visible,.journal-card:focus-visible { outline:2px solid var(--navy); outline-offset:4px; }
#main .agenda-row .event-date { margin:0; }
#main .agenda-row .date-chip { border-top-width:3px; }
#main .agenda-row h3 { color:var(--craft-ink); font-size:27px; font-weight:500; line-height:1.25; margin:12px 0 14px; }
.agenda-row-copy > p { margin:0; font-size:17px; line-height:1.65; color:var(--craft-muted); max-width:70ch; }
.agenda-row-facts { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:20px; font-size:14px; color:#4b6374; }
.agenda-row-facts .event-address-line { display:inline; }
.agenda-row-facts .event-address-line + .event-address-line::before { content:' · '; }
.agenda-row > .row-arrow { align-self:center; font-size:26px; }
.agenda-row:hover > .row-arrow { transform:translate(3px,-3px); }
#eventsList .journal-card { display:grid; grid-template-columns:280px minmax(0,1fr); }
#eventsList .journal-image { aspect-ratio:auto; height:100%; min-height:240px; }
#eventsList .journal-letterhead { align-content:center; align-items:start; flex-direction:column; justify-content:center; border-bottom:0; border-right:1px solid var(--craft-line); }
#eventsList .journal-body { padding:28px; }
#eventsList .journal-card h3 { font-family:inherit; font-size:27px; }
#main .article-wrap .article-grid { column-gap:clamp(48px,7vw,112px); }
#main .article-wrap .article-title { font-size:clamp(37px,4.4vw,62px); line-height:1.08; }
#main .article-wrap .article-aside { border-top:3px solid var(--navy); box-shadow:var(--v60-shadow); }
#main .article-wrap .article-body { padding-top:28px; }
#main .article-wrap .article-body p { max-width:68ch; }
.preview-source { margin-top:32px; padding-top:18px; border-top:1px solid var(--craft-line); color:var(--craft-muted); }
.preview-source summary { width:fit-content; cursor:pointer; font-size:14px; line-height:1.5; }
#main .article-wrap .preview-source p { font-size:14px; margin:14px 0 0; }

/* Partners remain left, with generous separation from their introduction. */
.site-footer .sponsors { border-top:1px solid var(--craft-line); }
.site-footer .sponsors .sponsor-grid a { border-radius:4px; }
.site-footer .sponsors > .wrap { column-gap:clamp(112px,9vw,160px); }
.site-footer .partners-intro h2 { font-size:clamp(26px,2.45vw,36px); letter-spacing:-.025em; }
.site-footer .partners-intro > p { font-size:18px; line-height:1.65; }
.footer-v60-main { display:grid; grid-template-columns:1.1fr .8fr 1fr; gap:clamp(48px,6vw,96px); padding-block:72px 64px; }
.site-footer .footer-close__logo { width:190px; }
.footer-close__name { max-width:27ch; font-size:17px; line-height:1.65; margin-top:24px; }
.site-footer .footer-v60-main h2 { font-family:Georgia,serif; font-size:19px; font-style:italic; font-weight:400; line-height:1.4; letter-spacing:0; margin:0 0 24px; color:#bccfdd; }
.site-footer .footer-v60-nav { position:static; display:flex; align-items:flex-start; flex-direction:column; gap:5px; margin:0; width:auto; padding:0; background:transparent; box-shadow:none; border:0; }
.site-footer .footer-v60-nav h2 { margin-bottom:14px; }
.site-footer .footer-v60-main a:not(.footer-close__logo):not(.button) { display:inline-flex; align-items:center; min-height:40px; font-size:16px; line-height:1.5; }
.footer-v60-contact { display:flex; flex-direction:column; align-items:start; min-width:0; }
.site-footer .footer-v60-main .footer-v60-phone { font-size:28px; font-weight:400; letter-spacing:-.025em; margin-bottom:4px; }
.footer-v60-contact address { margin-top:20px; color:#bccfdd; font-style:normal; font-size:15px; line-height:1.65; }
.site-footer .footer-v60-contact .button { margin-top:26px; padding:12px 22px; background:var(--magenta); color:#fff; border:1px solid var(--magenta); min-height:48px; text-decoration:none; }
.site-footer .footer-v60-contact .button:hover { background:#b42c59; border-color:#b42c59; }
.footer-close__meta { border-top:1px solid rgb(211 226 237 / .2); padding-block:18px; }

@media(max-width:1100px) {
  .finder-heading { gap:40px; }
  .trades-section .trade-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-v60-main { grid-template-columns:1fr 1fr; gap:48px; }
  .footer-v60-identity { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; column-gap:48px; }
  .footer-close__name { margin-top:0; }
  .footer-close__since { margin-top:16px; }
}
@media(max-width:800px) {
  .hero-lead .lead-copy h1 { font-size:clamp(40px,6vw,58px); }
  .hero-lead .lead-grid { padding-block:64px; }
  .finder-heading { grid-template-columns:1fr; gap:32px; }
  .finder-search { max-width:560px; }
  .journal-grid { grid-template-columns:1fr 1fr; }
  .journal-letterhead { min-height:160px; }
  .nl-layout > .nl-form { grid-template-columns:minmax(0,1fr); gap:36px; }
  .faq-section .faq-layout { grid-template-columns:1fr; gap:44px; }
  .faq-section .faq-contact { max-width:none; }
  .site-footer .sponsors > .wrap { row-gap:56px; }
  .agenda-card-bottom dl { grid-template-columns:1fr; gap:18px; }
}
@media(max-width:600px) {
  .header-inner .brand img { width:142px; }
  .hero-lead .lead-grid { padding-block:56px; }
  .hero-lead .lead-copy h1 { font-size:41px; margin-bottom:26px; }
  .hero-lead .lead-actions { gap:12px; }
  .hero-lead .lead-actions .button { min-height:50px; padding-inline:18px; font-size:15px; gap:14px; }
  .hero-lead .lead-facts { margin-top:34px; gap:12px; }
  .hero-lead .lead-facts strong { font-size:24px; }
  .hero-lead .lead-facts > span { font-size:11px; }
  .finder-heading { margin-bottom:28px; }
  .finder-search-field { padding-inline:14px; min-height:56px; }
  .finder-search-field input { font-size:15px; height:54px; }
  .trades-section .trade-grid { grid-template-columns:1fr; gap:10px; }
  .trades-section .trade { min-height:70px; }
  .agenda-grid,.journal-grid { grid-template-columns:1fr; gap:24px; }
  .agenda-card-top { padding-block:24px; }
  .agenda-card .program-date strong { font-size:46px; }
  .agenda-card-copy { padding-block:24px; }
  #main .agenda-card h3 { font-size:25px; }
  .agenda-card-bottom dl { grid-template-columns:.8fr 1.2fr; gap:16px; }
  .journal-image { aspect-ratio:1.8; }
  .journal-letterhead { min-height:0; padding-block:28px; }
  .journal-card--letter .journal-body { padding-top:28px; }
  #main .journal-card--letter h3 { font-size:31px; }
  .nl-form .nl-panel { padding-block:30px; }
  .nl-copy .nl-members-info { padding:22px 0 0; border:0; border-top:1px solid var(--craft-line); }
  .community-copy h2 { font-size:31px; }
  .community-copy p { font-size:17px; }
  .community-copy .button { font-size:15px; padding-inline:18px; gap:14px; }
  .faq-section .faq-item summary { font-size:16px; }
  #main:has(.view-tabs) .page-head { padding-top:48px; }
  .agenda-row { grid-template-columns:60px minmax(0,1fr); gap:16px; padding:22px 18px; }
  .agenda-row > .row-arrow { display:none; }
  #main .agenda-row .date-chip { width:60px; min-width:60px; }
  #main .agenda-row h3 { font-size:22px; }
  .agenda-row-copy > p { font-size:16px; }
  .agenda-row-facts { display:grid; gap:8px; font-size:13px; }
  #eventsList .journal-card { display:flex; }
  #eventsList .journal-image { min-height:0; height:auto; aspect-ratio:1.8; }
  #eventsList .journal-letterhead { flex-direction:row; align-items:center; justify-content:space-between; border-right:0; border-bottom:1px solid var(--craft-line); }
  #eventsList .journal-body { padding:24px 20px; }
  #eventsList .journal-card h3 { font-size:24px; }
  .site-footer .partners-intro > p { font-size:17px; }
  .footer-v60-main { grid-template-columns:1fr; padding-block:56px 44px; gap:40px; }
  .footer-v60-identity { display:block; grid-column:auto; }
  .footer-close__name { margin-top:24px; }
  .site-footer .footer-v60-nav { display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; }
  .site-footer .footer-v60-nav h2 { grid-column:1/-1; }
  .site-footer .footer-v60-main h2 { margin-bottom:16px; }
}
@media(max-width:380px) {
  .header-inner .brand img { width:126px; }
  .hero-lead .lead-copy h1 { font-size:36px; }
  .hero-lead .lead-actions .button { font-size:14px; padding-inline:14px; }
  .agenda-card-bottom dl { grid-template-columns:1fr; }
  .community-copy .button { font-size:14px; padding-inline:14px; }
  .site-footer .footer-v60-main a:not(.footer-close__logo):not(.button) { font-size:15px; }
  #main .agenda-row h3 { font-size:21px; }
}
@media(max-width:480px) {
  .agenda-row { grid-template-columns:minmax(0,1fr); gap:22px; }
  #main .agenda-row .event-date { display:flex; flex-direction:row; align-items:center; gap:16px; }
  .agenda-row .journal-meta { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .button > span[aria-hidden],.text-link > span,.journal-action > span,.agenda-row > .row-arrow,.journal-card,.agenda-row { transition:none !important; }
  .button:hover > span,.text-link:hover > span,.journal-card:hover,.journal-card:hover .journal-action > span,.agenda-row:hover > .row-arrow,.trades-section .trade:hover { transform:none; }
}

/* directory-v60.css */
/* V60: compact public directory. Load after trade-directory.css. */
body:has(.trade-directory),body:has(.trade-directory) .site-header,.trade-directory{background:#eff2f3;color:#243746}
.trade-directory{padding-bottom:56px}
.trade-directory__wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.trade-directory__hero{height:auto;min-height:0;padding:20px 0 24px;background:var(--ahif-blue-gradient);color:#f7f9fa}
.trade-directory__hero::before{content:none}
.trade-directory__hero-photo,.trade-directory__photo-note,.trade-spotlight{display:none!important}
.trade-directory__breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;margin:0;color:#e1ebf1;font-size:14px}
.trade-directory__breadcrumbs a{color:inherit}
.trade-directory__hero-row{display:flex;height:auto;min-height:0;align-items:end;justify-content:space-between;gap:28px;margin-top:20px}
.trade-directory .trade-directory__eyebrow{margin:0 0 5px;color:#cc3366;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.trade-directory .trade-directory__hero .trade-directory__eyebrow{color:#e1ebf1}
.trade-directory .trade-directory__hero h1{margin:0;padding:0;color:#f7f9fa;font-size:clamp(2.1rem,5vw,3.7rem);font-weight:500;line-height:1.08;letter-spacing:-.03em;overflow-wrap:normal;word-break:normal;hyphens:none}
.trade-directory .trade-directory__intro{max-width:54ch;margin:10px 0 0;color:#e1ebf1;font-size:17px;line-height:1.45}
.trade-directory__picker{display:grid;gap:7px;flex:0 1 280px;color:#e1ebf1;font-size:14px;font-weight:700}
.trade-directory__picker select{min-height:48px;width:100%;padding:10px 38px 10px 13px;border:1px solid #e1ebf1;border-radius:4px;background:#f7f9fa;color:#243746;font:inherit;font-weight:500}
.trade-directory__layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;padding-top:32px}
.trade-directory__nav{position:sticky;top:92px;padding:16px;border:1px solid #e1ebf1;background:#f7f9fa}
.trade-directory__nav-title{margin:0 0 10px;font-size:16px;font-weight:750}
.trade-directory__nav-list{display:grid;gap:2px}
.trade-directory__nav-link{display:block;padding:7px 8px;border-left:3px solid transparent;color:#243746;line-height:1.3;text-decoration:none;overflow-wrap:normal;word-break:normal;hyphens:none}
.trade-directory__nav-link:hover,.trade-directory__nav-link:focus-visible,.trade-directory__nav-link[aria-current="page"]{background:#e1ebf1;color:#243746}
.trade-directory__nav-link[aria-current="page"]{border-left-color:#cc3366}
.trade-directory__more-trades{margin-top:10px;padding-top:10px;border-top:1px solid #e1ebf1}
.trade-directory__more-trades summary{color:#243746;cursor:pointer;font-weight:700}
.trade-directory__more-trades .trade-directory__nav-list{margin-top:8px}
.trade-directory__content{min-width:0}
.trade-directory__results-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid #e1ebf1}
.trade-directory .trade-directory__results-heading h2{margin:0;color:#243746;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:500;line-height:1.12;overflow-wrap:normal;word-break:normal;hyphens:none}
.trade-directory .trade-directory__count{margin:0 0 3px;color:#243746;font-size:14px;white-space:nowrap}
.trade-directory__controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,220px);gap:14px;margin:18px 0 0}
.trade-directory__search,.trade-directory__sort{display:grid;gap:7px;color:#243746;font-size:14px;font-weight:700}
.trade-directory__search input,.trade-directory__sort select{box-sizing:border-box;min-height:50px;width:100%;padding:11px 13px;border:1px solid #e1ebf1;border-radius:4px;background:#f7f9fa;color:#243746;font:inherit;font-weight:400}
.trade-directory__sort select{padding-right:34px}
.trade-directory__sort-help{margin:10px 0 0;font-size:13px;line-height:1.45}
.trade-directory__sort-help[hidden],.trade-directory__empty[hidden]{display:none!important}
.trade-directory__company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.trade-directory__sort-help:not([hidden])+.trade-directory__company-grid{margin-top:12px}
.trade-directory__company{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;min-height:104px;padding:16px;border:1px solid #e1ebf1;background:#f7f9fa;box-shadow:none;transition:border-color .16s ease,background .16s ease}
.trade-directory__company:hover{border-color:#e1ebf1;background:#f7f9fa;box-shadow:none}
.trade-directory__company-identity{display:grid;place-items:center;width:76px;height:68px;overflow:hidden;background:#eff2f3}
.trade-directory__logo{display:block;max-width:100%;max-height:62px;object-fit:contain;mix-blend-mode:multiply}
.trade-directory__initial{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e1ebf1;color:#163c66;font-size:17px;font-weight:750}
.trade-directory .trade-directory__company h3{margin:0;color:#243746;font-size:19px;font-weight:500;line-height:1.25;letter-spacing:0;overflow-wrap:normal;word-break:normal;hyphens:none}
.trade-directory .trade-directory__company-trades{display:flex;flex-wrap:wrap;gap:2px 6px;margin:6px 0 0;font-size:14px;line-height:1.4}
.trade-directory__company-trades a,.trade-directory__empty button,.trade-directory__empty a,.trade-directory__all-trades,.trade-directory__source a{color:#163c66;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.trade-directory__empty,.trade-directory__no-members{margin:22px 0 0;padding:16px;border:1px solid #e1ebf1;background:#f7f9fa}
.trade-directory__empty{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.trade-directory__empty p{margin:0}
.trade-directory__source{margin:28px 0 0;padding-top:14px;border-top:1px solid #e1ebf1;font-size:13px;line-height:1.5}
.trade-directory__unknown-wrap{padding-top:56px}
.trade-directory__results--unknown{max-width:620px;padding:24px;background:#f7f9fa;border:1px solid #e1ebf1}
.trade-directory__results--unknown h1{margin:0}
.trade-directory a:focus-visible,.trade-directory button:focus-visible,.trade-directory input:focus-visible,.trade-directory select:focus-visible,.trade-directory summary:focus-visible{outline:3px solid #cc3366;outline-offset:3px}
@media(max-width:760px){.trade-directory__wrap{width:min(100% - 40px,1180px)}.trade-directory__hero{padding:16px 0 20px}.trade-directory__hero-row{display:grid;gap:17px;margin-top:15px}.trade-directory .trade-directory__intro{font-size:16px}.trade-directory__picker{max-width:none}.trade-directory__layout{display:block;padding-top:22px}.trade-directory__aside{display:none}.trade-directory__results-heading{align-items:start;flex-direction:column;gap:8px}.trade-directory .trade-directory__count{white-space:normal}.trade-directory__controls{grid-template-columns:1fr;gap:12px}.trade-directory__company-grid{grid-template-columns:1fr}}
@media(max-width:360px){.trade-directory__wrap{width:min(100% - 40px,1180px)}.trade-directory__nav-list,.trade-directory__more-trades .trade-directory__nav-list{grid-template-columns:1fr}.trade-directory__company{grid-template-columns:60px minmax(0,1fr);gap:11px;padding:13px}.trade-directory__company-identity{width:60px;height:58px}.trade-directory .trade-directory__company h3{font-size:18px}}
@media(max-width:480px){
  .trade-directory__company{grid-template-columns:minmax(0,1fr);gap:14px;padding:20px}
  .trade-directory__company-identity{width:112px;height:48px;background:transparent;justify-items:start}
  .trade-directory__logo{max-height:48px;max-width:112px}
  .trade-directory__initial{width:44px;height:44px}
  .trade-directory__company-copy{width:100%;min-width:0}
  .trade-directory__picker{margin-top:0}
}
@media(prefers-reduced-motion:reduce){.trade-directory *{scroll-behavior:auto;transition:none!important}}

}
