    :root {
      --ink: #17213a;
      --muted: #687189;
      --line: #e7e2d7;
      --paper: #fffdf8;
      --soft: #f7f1e7;
      --red: #b61f2a;
      --red-dark: #861923;
      --navy: #071b43;
      --gold: #d2a33c;
      --green: #476b4d;
      --shadow: 0 22px 55px rgba(23, 33, 58, 0.12);
      --contact-map-image: url("images/contact-map-background.png");
    }

    body.theme-placeholder {
      --ink: #173b34;
      --muted: #667b73;
      --line: #d8e3dc;
      --paper: #fffdf5;
      --soft: #f1f6ee;
      --red: #176b52;
      --red-dark: #0d4938;
      --navy: #123c33;
      --gold: #e7b23a;
      --green: #c84a2f;
      --shadow: 0 22px 55px rgba(23, 59, 52, 0.13);
      --contact-map-image: url("placeholder/contact-map-background.jpg");
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.6;
    }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 20;
      border-bottom: 1px solid rgba(231, 226, 215, 0.8);
      background: rgba(255, 253, 248, 0.92);
      backdrop-filter: blur(18px);
    }
    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      width: min(1160px, calc(100% - 32px));
      min-height: 78px;
      margin: 0 auto;
    }
    .brand { display: flex; flex: 0 0 auto; align-items: center; }
    .brand img { width: 138px; }
    .brand img.placeholder-logo { width: 210px; height: 70px; object-fit: contain; object-position: center; }
    .brand-mark {
      display: none;
      width: 42px;
      height: 42px;
      border-radius: 8px;
      background: var(--red);
      color: white;
      font-weight: 900;
      place-items: center;
    }
    .nav-links {
      display: flex;
      align-items: center;
      gap: 6px;
      color: #3c455d;
      font-size: 0.94rem;
      font-weight: 800;
    }
    .nav-links a { border-radius: 999px; padding: 10px 14px; }
    .nav-links a:hover { background: #f0eadf; color: var(--red-dark); }
    .language-selector {
      display: flex;
      flex: 0 0 auto;
      gap: 2px;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 3px;
      background: white;
    }
    .language-selector button {
      border: 0;
      border-radius: 999px;
      padding: 6px 9px;
      background: transparent;
      color: var(--muted);
      cursor: pointer;
      font: inherit;
      font-size: 0.75rem;
      font-weight: 900;
    }
    .language-selector button:hover,
    .language-selector button:focus-visible { color: var(--red-dark); }
    .language-selector button.active { background: var(--red); color: white; }
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      border: 1px solid transparent;
      border-radius: 999px;
      padding: 11px 18px;
      background: var(--red);
      color: white;
      font-weight: 900;
      box-shadow: 0 12px 24px rgba(182, 31, 42, 0.24);
      transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
    }
    .button:hover,
    .button:focus-visible {
      background: var(--red-dark);
      box-shadow: 0 16px 28px rgba(134, 25, 35, 0.28);
      transform: translateY(-1px);
    }
    .button:active {
      transform: translateY(1px);
      box-shadow: 0 8px 18px rgba(134, 25, 35, 0.22);
    }
    .button.secondary {
      background: transparent;
      border-color: rgba(255, 255, 255, 0.34);
      box-shadow: none;
    }
    .button.secondary:hover,
    .button.secondary:focus-visible {
      background: rgba(255, 255, 255, 0.14);
      border-color: rgba(255, 255, 255, 0.72);
      color: white;
      box-shadow: none;
    }

    .hero {
      position: relative;
      display: grid;
      align-items: end;
      min-height: auto;
      height: clamp(520px, 58vw, 720px);
      overflow: hidden;
      background: var(--navy);
      color: white;
    }
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(90deg, rgba(7, 27, 67, 0.92), rgba(7, 27, 67, 0.72) 46%, rgba(7, 27, 67, 0.16));
      pointer-events: none;
      opacity: 1;
      transition: opacity 480ms ease;
    }
    .hero.slides-visible::before {
      opacity: 0.12;
    }
    .hero-slides {
      position: absolute;
      inset: 0;
    }
    .hero-slide {
      position: absolute;
      inset: 0;
      display: grid;
      place-items: center;
      opacity: 0;
      transition: opacity 900ms ease;
    }
    .hero-slide img {
      width: 100%;
      height: auto;
      max-width: none;
    }
    .hero-slide.active {
      opacity: 1;
    }
    .hero-hover-zones {
      position: absolute;
      inset: 0;
      z-index: 2;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      pointer-events: none;
    }
    .hero-hover-zones span {
      pointer-events: auto;
    }
    .hero-tools {
      position: absolute;
      top: 24px;
      right: max(24px, calc((100% - 1160px) / 2));
      z-index: 3;
      display: flex;
      gap: 10px;
    }
    .hero-slide-toggle {
      display: none;
    }
    .hero-open-link.button.secondary,
    .hero-slide-toggle.button.secondary {
      background: white;
      border-color: white;
      color: var(--ink);
      box-shadow: 0 14px 28px rgba(7, 27, 67, 0.18);
      opacity: 1;
      transition: opacity 480ms ease;
    }
    .hero-open-link[hidden] {
      display: none;
    }
    .hero-open-link.button.secondary:hover,
    .hero-open-link.button.secondary:focus-visible,
    .hero-slide-toggle.button.secondary:hover,
    .hero-slide-toggle.button.secondary:focus-visible {
      background: var(--paper);
      border-color: var(--paper);
      color: var(--red-dark);
      box-shadow: 0 18px 34px rgba(7, 27, 67, 0.24);
    }
    .hero-inner {
      position: relative;
      z-index: 3;
      width: min(1160px, calc(100% - 32px));
      margin: 0 auto;
      padding: clamp(42px, 7vw, 82px) 0 clamp(34px, 5vw, 58px);
      opacity: 1;
      transition: opacity 480ms ease;
    }
    .hero.slides-visible .hero-inner {
      opacity: 0;
      pointer-events: none;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin: 0 0 18px;
      color: #ffe2a0;
      font-size: 0.78rem;
      font-weight: 900;
      text-transform: uppercase;
    }
    .eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--gold); }
    .hero h1 {
      max-width: 620px;
      margin: 0;
      font-size: clamp(2.4rem, 5vw, 4.8rem);
      line-height: 0.96;
    }
    .hero-copy {
      max-width: 620px;
      margin: 24px 0 0;
      color: rgba(255, 255, 255, 0.84);
      font-size: clamp(1.05rem, 2vw, 1.28rem);
    }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
    .about-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      margin-top: 30px;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
    }
    .about-stat { min-height: 132px; padding: 22px; background: #fffdf8; }
    .about-stat + .about-stat { border-left: 1px solid var(--line); }
    .about-stat strong { display: block; color: var(--red-dark); font-size: 1.8rem; line-height: 1; }
    .about-stat span { display: block; margin-top: 10px; color: var(--muted); font-size: 0.92rem; font-weight: 800; }

    section { padding: 92px 0; }
    .container { width: min(1160px, calc(100% - 32px)); margin: 0 auto; }
    .section-head {
      display: grid;
      grid-template-columns: minmax(0, 0.86fr) minmax(260px, 0.64fr);
      gap: 48px;
      align-items: end;
      margin-bottom: 42px;
    }
    .section-kicker {
      margin: 0 0 10px;
      color: var(--red);
      font-size: 0.78rem;
      font-weight: 900;
      text-transform: uppercase;
    }
    h2 { margin: 0; font-size: clamp(2.05rem, 4vw, 4.2rem); line-height: 1; }
    .page-title {
      margin: 0;
      font-size: clamp(2.4rem, 5vw, 5.2rem);
      line-height: 0.96;
    }
    .section-head p { margin: 0; color: var(--muted); font-size: 1.03rem; }
    .section-head > div:only-child { grid-column: 1 / -1; max-width: 850px; }
    .intro-grid {
      display: grid;
      grid-template-columns: minmax(0, 0.48fr) minmax(320px, 0.68fr);
      gap: 46px;
      align-items: center;
    }
    .story { border-left: 4px solid var(--red); padding-left: 24px; }
    .story p { margin: 0 0 18px; color: #394258; font-size: 1.04rem; }

    .products { background: #f5efe5; }
    .products-page > .products {
      padding-top: 118px;
    }
    .products-page.sections-loaded > .products {
      padding-top: 92px;
    }
    .brand-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
    }
    .product-card {
      display: grid;
      min-height: 210px;
      overflow: hidden;
      border: 1px solid rgba(23, 33, 58, 0.08);
      border-radius: 8px;
      background: white;
      box-shadow: 0 16px 36px rgba(23, 33, 58, 0.08);
      transition: transform 160ms ease, border-color 160ms ease;
    }
    .product-card:hover,
    .product-card.active {
      transform: translateY(-3px);
      border-color: rgba(182, 31, 42, 0.42);
    }
    .product-card .image {
      display: grid;
      place-items: center;
      min-height: 146px;
      padding: 20px;
      background: #fbfaf7;
    }
    .product-card img { max-height: 96px; object-fit: contain; }
    .no-image {
      display: grid;
      place-items: center;
      min-height: 68px;
      border: 1px dashed var(--line);
      border-radius: 8px;
      padding: 12px;
      color: var(--muted);
      font-size: 0.82rem;
      font-weight: 900;
      text-align: center;
    }
    .no-image.large {
      min-height: 220px;
    }
    .product-card .name {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      min-height: 64px;
      border-top: 1px solid var(--line);
      padding: 14px 16px;
      font-weight: 900;
    }
    .product-card .tag { color: var(--muted); font-size: 0.82rem; font-weight: 800; }

    .catalog-detail {
      scroll-margin-top: 112px;
      display: grid;
      grid-template-columns: minmax(280px, 0.58fr) minmax(0, 1fr);
      gap: 28px;
      margin-top: 42px;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 24px;
      background: white;
      box-shadow: var(--shadow);
    }
    .catalog-detail.is-empty {
      display: none;
    }
    .catalog-detail img {
      width: 100%;
      max-height: 310px;
      object-fit: contain;
      border-radius: 8px;
      background: #fffdf8;
    }
    .catalog-detail h3 { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1; }
    .catalog-detail .product-title { margin: 0; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1; }
    .catalog-detail p { color: var(--muted); }
    .breadcrumbs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 0 0 16px;
      color: var(--muted);
      font-size: 0.86rem;
      font-weight: 900;
    }
    .breadcrumbs a { color: var(--red-dark); }
    .breadcrumbs a:hover { text-decoration: underline; }
    .subitem-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin-top: 22px;
    }
    .subitem-card {
      display: grid;
      grid-template-columns: 82px minmax(0, 1fr);
      gap: 13px;
      align-items: center;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 10px;
      background: var(--paper);
      cursor: pointer;
    }
    .subitem-card.active { border-color: rgba(182, 31, 42, 0.44); background: #fff6f3; }
    .subitem-card img { width: 82px; height: 68px; object-fit: contain; }
    .subitem-card strong { display: block; line-height: 1.18; }
    .subitem-name {
      display: block;
      color: var(--ink);
      font-size: 0.94rem;
      font-weight: 900;
    }
    .subitem-detail {
      margin-top: 22px;
      border-radius: 8px;
      padding: 22px;
      background: var(--navy);
      color: white;
    }
    .subitem-detail h4 { margin: 0 0 8px; font-size: 1.45rem; }
    .subitem-detail p { margin: 0 0 16px; color: rgba(255,255,255,0.72); }
    .product-pills { display: flex; flex-wrap: wrap; gap: 8px; }
    .product-pills span {
      border: 1px solid rgba(255,255,255,0.18);
      border-radius: 999px;
      padding: 8px 11px;
      background: rgba(255,255,255,0.08);
      color: rgba(255,255,255,0.92);
      font-size: 0.88rem;
      font-weight: 800;
    }

    .events { background: #fbf7f1; }
    .event-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }
    .event-grid-large { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .event-card {
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: white;
      box-shadow: var(--shadow);
    }
    .event-image {
      display: block;
      aspect-ratio: 16 / 9;
      background: #f5efe5;
    }
    .event-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .event-body {
      display: grid;
      gap: 12px;
      padding: 22px;
    }
    .event-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
    }
    .event-meta > span {
      border-radius: 999px;
      padding: 5px 9px;
      background: #f5efe5;
      color: var(--muted);
      font-size: 0.74rem;
      font-weight: 900;
    }
    .event-date {
      margin: 0;
      color: var(--red);
      font-size: 0.78rem;
      font-weight: 900;
      text-transform: uppercase;
    }
    .event-body h3,
    .event-body h2 {
      margin: 0;
      font-size: 1.25rem;
      line-height: 1.08;
    }
    .event-body > p {
      margin: 0;
      color: var(--muted);
    }
    .event-link {
      color: var(--red-dark);
      font-weight: 900;
    }
    .event-link:hover { text-decoration: underline; }
    .section-actions {
      display: flex;
      justify-content: center;
      margin-top: 22px;
    }
    .events-page { background: #fbf7f1; }
    .events-hero {
      padding: 98px 0 42px;
      background: linear-gradient(180deg, #f5efe5 0%, #fbf7f1 100%);
    }
    .events-intro {
      max-width: 760px;
      margin: 18px 0 0;
      color: var(--muted);
      font-size: 1.04rem;
    }
    .events-listing { padding-top: 34px; }
    .event-detail {
      padding-top: 92px;
      padding-bottom: 92px;
      background: #fbf7f1;
    }
    .event-detail-grid {
      display: grid;
      grid-template-columns: minmax(0, 0.68fr) minmax(280px, 0.32fr);
      gap: 28px;
      align-items: start;
    }
    .event-article {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 28px;
      background: white;
      box-shadow: var(--shadow);
    }
    .event-detail-image {
      margin: 18px 0 22px;
      border-radius: 8px;
      overflow: hidden;
      background: #f5efe5;
    }
    .event-detail-image img { width: 100%; display: block; }
    .event-detail-content {
      color: #394258;
      font-size: 1.03rem;
      line-height: 1.7;
    }
    .event-gallery {
      margin-top: 42px;
      border-top: 1px solid var(--line);
      padding-top: 34px;
    }
    .event-gallery-heading { max-width: 680px; margin-bottom: 22px; }
    .event-gallery-heading h2 { margin: 7px 0 10px; font-size: clamp(1.8rem, 4vw, 2.6rem); }
    .event-gallery-heading > p:last-child { margin: 0; color: var(--muted); }
    .event-gallery-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }
    .event-gallery-item {
      overflow: hidden;
      margin: 0;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--paper);
    }
    .event-gallery-item:first-child:nth-last-child(n + 3) { grid-column: span 2; }
    .event-gallery-item img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      background: #f5efe5;
    }
    .event-gallery-item:first-child:nth-last-child(n + 3) img { aspect-ratio: 16 / 8; }
    .event-gallery-item figcaption {
      border-top: 1px solid var(--line);
      padding: 14px 16px;
      color: #394258;
      font-size: 0.92rem;
      line-height: 1.55;
    }
    .event-detail-actions { margin-top: 30px; }
    .event-sidebar {
      position: sticky;
      top: 112px;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 22px;
      background: white;
      box-shadow: var(--shadow);
    }
    .event-sidebar-list { display: grid; gap: 12px; margin-top: 14px; }
    .event-sidebar-item {
      display: grid;
      gap: 4px;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 12px 14px;
      background: var(--paper);
    }
    .event-sidebar-item strong { color: var(--ink); }
    .event-sidebar-item span { color: var(--muted); font-size: 0.82rem; font-weight: 800; }

    .capabilities { background: var(--navy); color: white; }
    .capabilities .section-kicker { color: #ffd675; }
    .capabilities .section-head p { color: rgba(255,255,255,0.74); }
    .capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .capability {
      min-height: 236px;
      border: 1px solid rgba(255,255,255,0.16);
      border-radius: 8px;
      padding: 26px;
      background: rgba(255,255,255,0.06);
    }
    .capability .icon {
      display: grid;
      place-items: center;
      width: 48px;
      height: 48px;
      border-radius: 8px;
      margin-bottom: 22px;
      background: rgba(210, 163, 60, 0.18);
      color: #ffd675;
      font-weight: 900;
    }
    .capability p { color: rgba(255,255,255,0.72); }
    .owner-letter { background: var(--paper); }
    .letter-grid { display: grid; grid-template-columns: minmax(0, 0.56fr) minmax(360px, 0.84fr); gap: 48px; align-items: start; }
    .letter-heading {
      position: sticky;
      top: 112px;
    }
    .letter-body {
      border-left: 4px solid var(--red);
      padding-left: 26px;
      color: #394258;
      font-size: 1.04rem;
    }
    .letter-body p { margin: 0 0 18px; }
    .contact { background: #f7f1e7; }
    .contact-grid { display: grid; grid-template-columns: minmax(0, 0.62fr) minmax(320px, 0.58fr); gap: 48px; align-items: start; }
    .contact-card { border-radius: 8px; padding: 30px; background: white; box-shadow: var(--shadow); }
    .contact-list { display: grid; gap: 18px; margin: 0; }
    .contact-list dt { color: var(--red-dark); font-size: 0.78rem; font-weight: 900; text-transform: uppercase; }
    .contact-list dd { margin: 0; color: #303950; font-weight: 800; }
    .map-link {
      display: grid;
      min-height: 320px;
      overflow: hidden;
      border-radius: 8px;
      background:
        linear-gradient(135deg, rgba(7, 27, 67, 0.9), rgba(71, 107, 77, 0.72)),
        var(--contact-map-image) center / cover;
      box-shadow: var(--shadow);
      color: white;
    }
    .map-link > div { align-self: end; padding: 28px; }
    .map-link strong { display: block; font-size: 1.6rem; line-height: 1.1; }
    .map-link span { display: block; margin-top: 10px; color: rgba(255,255,255,0.78); }
    .site-footer { background: #071225; color: rgba(255,255,255,0.74); padding: 34px 0; }
    .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: min(1160px, calc(100% - 32px)); margin: 0 auto; font-size: 0.92rem; }
    .footer-inner strong { color: white; }

    body.theme-placeholder .site-header {
      border-bottom-color: rgba(216, 227, 220, 0.88);
      background: rgba(255, 253, 245, 0.94);
    }
    body.theme-placeholder .nav-links { color: #365d52; }
    body.theme-placeholder .nav-links a:hover { background: #e7f0ea; }
    body.theme-placeholder .button { box-shadow: 0 12px 24px rgba(23, 107, 82, 0.24); }
    body.theme-placeholder .button:hover,
    body.theme-placeholder .button:focus-visible { box-shadow: 0 16px 28px rgba(13, 73, 56, 0.28); }
    body.theme-placeholder .button:active { box-shadow: 0 8px 18px rgba(13, 73, 56, 0.22); }
    body.theme-placeholder .hero::before {
      background: linear-gradient(90deg, rgba(18, 60, 51, 0.94), rgba(18, 60, 51, 0.74) 46%, rgba(18, 60, 51, 0.16));
    }
    body.theme-placeholder .hero-open-link.button.secondary,
    body.theme-placeholder .hero-slide-toggle.button.secondary { box-shadow: 0 14px 28px rgba(18, 60, 51, 0.2); }
    body.theme-placeholder .hero-open-link.button.secondary:hover,
    body.theme-placeholder .hero-open-link.button.secondary:focus-visible,
    body.theme-placeholder .hero-slide-toggle.button.secondary:hover,
    body.theme-placeholder .hero-slide-toggle.button.secondary:focus-visible { box-shadow: 0 18px 34px rgba(18, 60, 51, 0.26); }
    body.theme-placeholder .eyebrow { color: #f7dda0; }
    body.theme-placeholder .about-stat,
    body.theme-placeholder .catalog-detail img { background: #fffdf5; }
    body.theme-placeholder .story p,
    body.theme-placeholder .event-detail-content,
    body.theme-placeholder .letter-body { color: #35564d; }
    body.theme-placeholder .story,
    body.theme-placeholder .letter-body { border-left-color: var(--green); }
    body.theme-placeholder .event-date { color: var(--green); }
    body.theme-placeholder .products,
    body.theme-placeholder .event-image,
    body.theme-placeholder .event-detail-image,
    body.theme-placeholder .event-gallery-item img { background: #edf4ee; }
    body.theme-placeholder .product-card:hover,
    body.theme-placeholder .product-card.active { border-color: rgba(23, 107, 82, 0.46); }
    body.theme-placeholder .product-card .image { background: #fafcf8; }
    body.theme-placeholder .subitem-card.active { border-color: rgba(23, 107, 82, 0.46); background: #edf7f1; }
    body.theme-placeholder .events,
    body.theme-placeholder .events-page,
    body.theme-placeholder .event-detail { background: #f7faf5; }
    body.theme-placeholder .events-hero { background: linear-gradient(180deg, #edf4ee 0%, #f7faf5 100%); }
    body.theme-placeholder .capabilities .section-kicker,
    body.theme-placeholder .capability .icon { color: #f2c65f; }
    body.theme-placeholder .capability .icon { background: rgba(231, 178, 58, 0.2); }
    body.theme-placeholder .contact { background: #f1f6ee; }
    body.theme-placeholder .contact-list dd { color: #294b42; }
    body.theme-placeholder .map-link {
      background:
        linear-gradient(135deg, rgba(18, 60, 51, 0.9), rgba(200, 74, 47, 0.62)),
        var(--contact-map-image) center / cover;
    }
    body.theme-placeholder .site-footer { background: #0d3028; }

    @media (max-width: 920px) {
      .nav { flex-wrap: wrap; padding: 12px 0; }
      .nav-links { order: 3; width: 100%; justify-content: space-between; overflow-x: auto; }
      .hero { height: 560px; max-height: none; }
      .hero-hover-zones { display: none; }
      .hero-slide img { width: auto; height: 100%; max-width: none; }
      .hero-inner { padding-top: 72px; }
      .section-head, .intro-grid, .catalog-detail, .letter-grid, .contact-grid, .event-detail-grid { grid-template-columns: 1fr; }
      .letter-heading { position: static; }
      .brand-grid, .capability-grid, .subitem-grid, .event-grid, .event-grid-large { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .event-sidebar { position: static; }
    }
    @media (max-width: 640px) {
      .brand img { display: none; }
      .brand-mark { display: grid; }
      .button { width: 100%; }
      .hero { height: 620px; }
      .hero-tools {
        top: 16px;
        right: 16px;
        left: 16px;
        justify-content: flex-end;
      }
      .hero-slide-toggle {
        display: inline-flex;
      }
      .hero h1 { font-size: clamp(2.4rem, 13vw, 3.8rem); }
      .about-stats, .brand-grid, .capability-grid, .subitem-grid, .event-grid, .event-grid-large, .event-gallery-grid { grid-template-columns: 1fr; }
      .event-gallery-item:first-child:nth-last-child(n + 3) { grid-column: auto; }
      .event-gallery-item:first-child:nth-last-child(n + 3) img { aspect-ratio: 4 / 3; }
      .about-stat + .about-stat { border-left: 0; border-top: 1px solid var(--line); }
      section { padding: 68px 0; }
      .footer-inner { align-items: flex-start; flex-direction: column; }
    }
