/*
Theme Name: Gottinga Clean
Theme URI: https://gottinga.de/
Author: Gottinga Migration
Description: Schlankes Ersatz-Theme für die lokale Themify/Builder-Ablösung.
Version: 0.1.0
Text Domain: gottinga-clean
*/

:root {
  --got-blue: #0072bb;
  --got-blue-dark: #005f9d;
  --got-link: #006aae;
  --got-text: #24313d;
  --got-muted: #667585;
  --got-border: #e3e7ec;
  --got-max: 1080px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--got-text);
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  background: #fff;
}
a { color: var(--got-link); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
img { max-width: 100%; height: auto; }

.site-header {
  background: var(--got-blue);
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.18);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.header-inner {
  max-width: var(--got-max);
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
}
.site-branding { display:flex; align-items:center; gap:16px; min-width: 220px; }
.site-logo img { display:block; max-width: 200px; max-height: 78px; }
.site-title { margin:0; font-size: 1.35rem; line-height:1.2; font-weight:600; }
.site-title a { color:#fff; }
.site-description { margin:.2rem 0 0; color: rgba(255,255,255,.88); font-size:.95rem; }

.primary-menu ul,
ul.primary-menu {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap: 4px 16px;
}
.primary-menu a {
  display:block;
  padding: .45rem .25rem;
  color:#fff;
  font-weight:600;
  font-size:.98rem;
}
.primary-menu .current-menu-item > a,
.primary-menu a:hover { color:#dbe8ff; text-decoration:none; }

.site-main { min-height: 55vh; }
.content-wrap {
  max-width: var(--got-max);
  margin: 0 auto;
  padding: 44px 24px 56px;
}
.entry-title {
  margin: 0 0 1.5rem;
  color: var(--got-blue);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.12;
  text-align:center;
}
.page .entry-title { display:none; }
.entry-content > :first-child { margin-top:0; }
.entry-content h1,
.entry-content h2,
.entry-content h3 {
  color: var(--got-blue);
  line-height: 1.25;
  margin: 1.8rem 0 .8rem;
}
.entry-content h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }
.entry-content h3 { font-size: clamp(1.25rem, 2.3vw, 1.65rem); }
.entry-content p { margin: 0 0 1.05rem; }
.entry-content ul, .entry-content ol { margin: 0 0 1.2rem 1.4rem; }
.entry-content iframe { max-width:100%; border:0; }

/* Minimal Themify static-layout compatibility after plugin removal. */
.themify_builder_content,
.themify_builder,
.module_row,
.row_inner,
.tb-column,
.module,
.module-text,
.module-image,
.module-widgetized,
.module-contact,
.builder-contact { width: 100%; }
.row_inner,
.tb-column-inner { max-width: var(--got-max); margin-left:auto; margin-right:auto; }
.module_row { margin: 0 0 2rem; }
.module img.aligncenter,
.entry-content img.aligncenter { display:block; margin-left:auto; margin-right:auto; }
.aligncenter { text-align:center; margin-left:auto; margin-right:auto; }
.alignleft { float:left; margin: .35rem 1.25rem 1rem 0; }
.alignright { float:right; margin: .35rem 0 1rem 1.25rem; }
.wp-caption { max-width:100%; color:var(--got-muted); font-size:.92rem; }

/* Common legacy columns. */
.col4-2, .col3-1, .col3-2, .col2-1 { width: 100%; }
@media (min-width: 760px) {
  .row_inner { display:flex; flex-wrap:wrap; gap: 28px; align-items:flex-start; }
  .row_inner > .col-full { flex: 0 0 100%; }
  .row_inner > .col4-2, .row_inner > .col2-1 { flex: 1 1 calc(50% - 28px); }
  .row_inner > .col3-1 { flex: 1 1 calc(33.333% - 28px); }
  .row_inner > .col3-2 { flex: 1 1 calc(66.666% - 28px); }
}

/* Forms/contact fallback. */
input, textarea, select, button {
  font: inherit;
  max-width: 100%;
}
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  width:100%;
  padding:.75rem .85rem;
  border:1px solid var(--got-border);
  border-radius:4px;
}
button, input[type="submit"], .button {
  display:inline-block;
  background: var(--got-blue);
  color:#fff;
  border:0;
  border-radius:4px;
  padding:.75rem 1.2rem;
  cursor:pointer;
}
button:hover, input[type="submit"]:hover, .button:hover { background:var(--got-blue-dark); text-decoration:none; }

/* Rebuilt front page. */
.home .site-header { box-shadow: 0 1px 0 rgba(255,255,255,.2); }
.home-hero {
  position: relative;
  min-height: clamp(310px, 45vw, 500px);
  display:grid;
  place-items:center;
  overflow:hidden;
  background: var(--got-blue);
  color:#fff;
}
.home-hero__slides,
.home-hero__slides span {
  position:absolute;
  inset:0;
}
.home-hero__slides span {
  background-image: linear-gradient(90deg, rgba(0,45,74,.72), rgba(0,114,187,.22)), var(--bg);
  background-size: cover;
  background-position: center;
  opacity:0;
  transition: opacity .7s ease;
  animation:none;
}
.home-hero__slides span.is-active { opacity:1; }
.home-hero__slides span:nth-child(2) { animation-delay: 6s; }
.home-hero__slides span:nth-child(3) { animation-delay: 12s; }
@keyframes gottingaHero {
  0%, 30% { opacity:1; transform:scale(1); }
  36%, 94% { opacity:0; transform:scale(1.035); }
  100% { opacity:1; transform:scale(1); }
}
.home-hero__content {
  position:relative;
  z-index:1;
  max-width: var(--got-max);
  width:100%;
  padding: 48px 24px;
  text-shadow: 0 2px 18px rgba(0,0,0,.45);
}
.home-hero h1 {
  margin:0;
  font-size: clamp(2.4rem, 7vw, 5.4rem);
  line-height:1.05;
  font-weight:700;
}
.home-hero p {
  margin:.8rem 0 0;
  font-size: clamp(1.1rem, 2.6vw, 1.7rem);
  max-width: 720px;
}
.home-content {
  max-width: var(--got-max);
  margin: 0 auto;
  padding: 44px 24px 56px;
}
.section-card {
  margin: 0 0 34px;
  padding: clamp(24px, 4vw, 42px);
  border:1px solid var(--got-border);
  border-radius: 12px;
  background:#fff;
  box-shadow: 0 10px 30px rgba(27,54,77,.07);
}
.section-card--split {
  display:grid;
  grid-template-columns: minmax(220px, 360px) 1fr;
  gap: clamp(24px, 5vw, 56px);
  align-items:center;
}
.section-card--reverse .section-card__media { order:2; }
.section-card__media { text-align:center; }
.section-card__media img { max-height:360px; object-fit:contain; }
.section-card h2,
.home-gallery h2 {
  margin:0 0 1rem;
  color: var(--got-blue);
  font-size: clamp(1.8rem, 3.5vw, 2.7rem);
  line-height:1.16;
}
.section-card p { margin:0 0 1rem; }
.section-card--blue {
  background: linear-gradient(135deg, var(--got-blue), #004f86);
  color:#fff;
  text-align:center;
}
.section-card--blue h2 { color:#fff; }
.section-card--blue p { max-width: 820px; margin-left:auto; margin-right:auto; }
.button--light { background:#fff; color:var(--got-blue); }
.button--light:hover { background:#eef6ff; color:var(--got-blue-dark); }
.button--outline-light {
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.95);
  border-radius:22px;
  padding:.55rem 1.35rem;
}
.button--outline-light:hover { background:rgba(255,255,255,.12); color:#fff; }
.home-about-split {
  display:grid;
  grid-template-columns: 1fr 1fr;
  min-height: 375px;
}
.home-about-split__text {
  background:#b38034;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:left;
  padding: clamp(34px, 6vw, 72px) clamp(38px, 8vw, 68px);
}
.home-about-split__text p:first-child {
  max-width: 650px;
  font-weight:300;
  line-height:1.65;
  margin:0 0 3.2rem;
}
.home-about-split__image {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:375px;
  color:#fff;
  background:
    linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.08)),
    url('/wp-content/uploads/2020/06/vitrine.jpg') center center / cover no-repeat;
  overflow:hidden;
}
.home-about-split__image h2 {
  margin:0;
  padding-left: clamp(0px, 1vw, 16px);
  font-family:"Open Sans Condensed", "Open Sans", Arial, sans-serif;
  font-weight:300;
  font-size: clamp(3.1rem, 5vw, 4.2rem);
  line-height:1;
  text-shadow:0 1px 8px rgba(0,0,0,.25);
}
.home-gallery { text-align:center; padding-top: 10px; }
.home-gallery .gallery {
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin: 18px 0 0 !important;
}
.home-gallery .gallery-item { margin:0 !important; width:auto !important; }
.home-gallery .gallery-icon a { display:block; }
.home-gallery .gallery img {
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border:0 !important;
  border-radius: 8px;
}

.home-together-split {
  display:grid;
  grid-template-columns: 1fr 1fr;
  min-height: 460px;
}
.home-together-split__image {
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  color:#fff;
  background:
    linear-gradient(rgba(105,35,20,.22), rgba(105,35,20,.22)),
    url('/wp-content/uploads/2020/06/kneipe1.jpg') center center / cover no-repeat;
  overflow:hidden;
}
.home-together-split__image h2 {
  margin:0;
  color:#fff;
  font-family:"Open Sans Condensed", "Open Sans", Arial, sans-serif;
  font-weight:300;
  font-size: clamp(2.7rem, 4.5vw, 4rem);
  line-height:1.52;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}
.home-together-split__text {
  min-height:460px;
  background:#cc2d32;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding: clamp(38px, 6vw, 70px) clamp(42px, 8vw, 76px);
}
.home-together-split__text p:first-child {
  max-width:760px;
  line-height:1.65;
  font-weight:300;
  margin:0 0 3.4rem;
}

.home-gallery-split {
  display:grid;
  grid-template-columns: 1fr 1fr;
  min-height: 440px;
}
.home-gallery-split__grid {
  background:var(--got-blue);
  padding: clamp(34px, 5vw, 68px) clamp(34px, 5vw, 42px);
  display:flex;
  align-items:center;
}
.home-gallery-split__grid .gallery {
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  width:100%;
  margin:0 !important;
}
.home-gallery-split__grid .gallery-item { margin:0 !important; width:auto !important; }
.home-gallery-split__grid .gallery-icon a { display:block; }
.home-gallery-split__grid .gallery img {
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border:0 !important;
  border-radius:0;
}
.home-gallery-split__title {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:440px;
  color:#fff;
  background:
    linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.08)),
    url('/wp-content/uploads/2020/06/galerie.jpg') center center / cover no-repeat;
}
.home-gallery-split__title h2 {
  margin:0;
  color:#fff;
  font-family:"Open Sans Condensed", "Open Sans", Arial, sans-serif;
  font-weight:300;
  font-size: clamp(3.1rem, 5vw, 4.2rem);
  line-height:1;
  text-shadow:0 1px 8px rgba(0,0,0,.25);
}
.gottinga-lightbox-open { overflow:hidden; }
.gottinga-lightbox[hidden] { display:none; }
.gottinga-lightbox {
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  grid-template-columns:72px minmax(0, 1fr) 72px;
  align-items:center;
  gap:12px;
  padding:34px 24px;
  background:rgba(0, 36, 58, .88);
}
.gottinga-lightbox__figure {
  margin:0;
  min-width:0;
  text-align:center;
}
.gottinga-lightbox__image {
  max-width:100%;
  max-height:calc(100vh - 110px);
  object-fit:contain;
  box-shadow:0 18px 48px rgba(0,0,0,.38);
}
.gottinga-lightbox__caption {
  color:#fff;
  margin-top:10px;
  font-size:.95rem;
}
.gottinga-lightbox__close,
.gottinga-lightbox__nav {
  appearance:none;
  border:1px solid rgba(255,255,255,.85);
  background:rgba(0,114,187,.22);
  color:#fff;
  cursor:pointer;
  box-shadow:none;
  padding:0;
  min-width:0;
  display:grid;
  place-items:center;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:300;
}
.gottinga-lightbox__close {
  position:absolute;
  top:14px;
  right:16px;
  width:38px;
  height:38px;
  border-radius:50%;
  font-size:30px;
  line-height:38px;
}
.gottinga-lightbox__nav {
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:42px;
  line-height:48px;
  justify-self:center;
}
.gottinga-lightbox__nav--prev { padding-right:3px; }
.gottinga-lightbox__nav--next { padding-left:3px; }
.gottinga-lightbox__close:hover,
.gottinga-lightbox__nav:hover,
.gottinga-lightbox__close:focus,
.gottinga-lightbox__nav:focus {
  background:rgba(255,255,255,.16);
  color:#fff;
  outline:2px solid rgba(255,255,255,.45);
  outline-offset:2px;
}
.home-ribbon-strip {
  height: 50px;
  min-height: 50px;
  background:
    linear-gradient(rgba(0,0,0,.10), rgba(0,0,0,.10)),
    url('/wp-content/uploads/2020/06/zipfel.jpg') center 52% / cover no-repeat;
  border-top: 0;
  flex: 0 0 auto;
}

/* Rebuilt legacy subpages. */
.legacy-page-hero {
  min-height: calc(100vh - 148px);
  padding: clamp(54px, 7vw, 96px) 24px;
  background-attachment: fixed;
  background-size: cover;
  background-position: center center;
}
.legacy-page-hero--wer {
  background-image:
    linear-gradient(rgba(0, 61, 98, .30), rgba(0, 61, 98, .30)),
    url('/wp-content/uploads/2020/06/wappen2_1800.jpg');
}
.legacy-page-hero--semester {
  background-image:
    linear-gradient(rgba(0, 61, 98, .30), rgba(0, 61, 98, .30)),
    url('/wp-content/uploads/2020/06/wappen_1800.jpg');
}
.legacy-page-hero--links {
  background-image:
    linear-gradient(rgba(0, 61, 98, .20), rgba(0, 61, 98, .20)),
    url('/wp-content/uploads/2020/06/kneipe2_1800.jpg');
}
.legacy-page-hero--kontakt {
  background-image:
    linear-gradient(rgba(0, 61, 98, .20), rgba(0, 61, 98, .20)),
    url('/wp-content/uploads/2020/06/kontakt_1800.jpg');
}
.legacy-page-hero--impressum {
  background-image:
    linear-gradient(rgba(0, 61, 98, .35), rgba(0, 61, 98, .35)),
    url('/wp-content/uploads/2020/06/wappen2_1800.jpg');
}
.legacy-page-hero--zusammen {
  background-image:
    linear-gradient(rgba(0, 61, 98, .18), rgba(0, 61, 98, .18)),
    url('/wp-content/uploads/2020/06/feiern_1800.jpg');
}
.legacy-page-hero--dynamic {
  background-image:
    linear-gradient(rgba(0, 61, 98, .26), rgba(0, 61, 98, .26)),
    var(--legacy-bg);
}
.legacy-page-panel {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(30px, 5vw, 58px);
  background: rgba(0, 114, 187, .88);
  color:#fff;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
}
.legacy-page-panel h1 {
  margin:0 0 1.5rem;
  color:#fff;
  text-align:center;
  font-family:"Open Sans Condensed", "Open Sans", Arial, sans-serif;
  font-weight:300;
  font-size: clamp(2.5rem, 5vw, 4.2rem);
  line-height:1.1;
}
.legacy-page-content {
  font-weight:300;
  line-height:1.75;
}
.legacy-page-content p { margin:0 0 1.1rem; }
.legacy-page-panel--compact { max-width: 860px; }
.legacy-page-panel--wide { max-width: 1080px; }
.legacy-page-panel--zusammen { max-width: 960px; }
.legacy-page-content--center { text-align:center; }
.legacy-page-content h3 {
  color:#fff;
  margin:0 0 1.2rem;
  font-family:"Open Sans Condensed", "Open Sans", Arial, sans-serif;
  font-weight:300;
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  line-height:1.15;
}
.legacy-page-content--center p { max-width: 720px; margin-left:auto; margin-right:auto; }
.legacy-page-content .button,
.legacy-page-content a[href*="wikipedia"],
.legacy-page-hero--aktiv-werden .legacy-page-content a[href*="/kontakt/"] {
  display:table;
  margin:2rem auto 0;
  color:#fff;
  border:1px solid rgba(255,255,255,.95);
  border-radius:24px;
  padding:.55rem 1.4rem;
  background:transparent;
}
.legacy-page-hero--aktiv-werden .legacy-page-content a[href*="/kontakt/"] {
  font-size:1.2rem;
  padding:.75rem 1.8rem;
  text-align:center;
}
.legacy-page-hero--aktiv-werden .legacy-page-content a[href*="/kontakt/"]:hover {
  background:rgba(255,255,255,.12);
  text-decoration:none;
}
.legacy-page-hero--dynamic .legacy-page-content a {
  color:#fff;
  text-decoration:underline;
  text-underline-offset: .16em;
}
.legacy-page-hero--dynamic .legacy-page-content a:hover,
.legacy-page-hero--dynamic .legacy-page-content a:focus {
  color:#fff;
  text-decoration-thickness: 2px;
}
.links-grid {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 6vw, 72px);
}
.links-column {
  text-align:center;
}
.links-column h2 {
  color:#fff;
  margin: 0 0 .9rem;
  font-family:"Open Sans Condensed", "Open Sans", Arial, sans-serif;
  font-weight:300;
  font-size: clamp(1.9rem, 3vw, 2.8rem);
}
.links-column h2:not(:first-child) { margin-top: 2.1rem; }
.links-column p { margin:.35rem 0; }
.links-column a { color:#fff; text-decoration:none; }
.links-column a:hover { text-decoration:underline; }
.contact-grid {
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(28px, 5vw, 64px);
  align-items:start;
}
.contact-info { text-align:center; color:#fff; }
.contact-info h1 {
  margin:0 0 1.4rem;
  color:#fff;
  font-family:"Open Sans Condensed", "Open Sans", Arial, sans-serif;
  font-size: clamp(2.6rem, 5vw, 4rem);
  font-weight:300;
}
.contact-info a { color:#fff; }
.contact-socials { display:flex; justify-content:center; gap:16px; margin-top:1.8rem; }
.contact-socials a {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.9);
  color:#fff;
  font-size:1.5rem;
  text-decoration:none;
}
.contact-form label { display:block; color:#fff; margin:.65rem 0 .25rem; }
.contact-form input,
.contact-form textarea,
.contact-form select {
  width:100%;
  background:rgba(255,255,255,.96);
  border:0;
  border-radius:2px;
  padding:.65rem .75rem;
}
.contact-form .wpforms-container { margin:0; }
.contact-form .wpforms-field { padding: 0 0 .85rem; }
.contact-form .wpforms-field-label,
.contact-form .wpforms-field-label-inline,
.contact-form .wpforms-field-sublabel,
.contact-form .wpforms-field-description,
.contact-form .wpforms-required-label,
.contact-form .wpforms-error {
  color:#fff !important;
}
.contact-form .wpforms-field-medium,
.contact-form .wpforms-field-row,
.contact-form .wpforms-field-row-block { max-width:none !important; }
.contact-form .wpforms-submit-container { text-align:center; padding-top:.6rem; }
.contact-form button.wpforms-submit,
.contact-form input[type="submit"].wpforms-submit {
  display:inline-block !important;
  background:transparent !important;
  border:1px solid rgba(255,255,255,.95) !important;
  border-radius:24px !important;
  color:#fff !important;
  padding:.65rem 1.9rem !important;
  min-width:130px;
  box-shadow:none !important;
}
.contact-form button.wpforms-submit:hover,
.contact-form input[type="submit"].wpforms-submit:hover,
.contact-form button.wpforms-submit:focus,
.contact-form input[type="submit"].wpforms-submit:focus {
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  border-color:#fff !important;
}
.contact-form .contact-check { display:flex; align-items:flex-start; gap:10px; font-size:.95rem; }
.contact-form .contact-check input { width:auto; margin-top:.35rem; }
.contact-form button {
  display:block;
  margin:1.3rem auto 0;
  background:transparent;
  border:1px solid rgba(255,255,255,.95);
  border-radius:24px;
  color:#fff;
  padding:.6rem 1.8rem;
}
.legacy-page-content--zusammen {
  max-width: 780px;
  margin: 0 auto;
  text-align: left;
}
.legacy-page-content--zusammen h1 {
  margin: 0 0 2rem;
  text-align:center;
  color:#fff;
  font-family:"Open Sans Condensed", "Open Sans", Arial, sans-serif;
  font-size: clamp(2.3rem, 4.6vw, 4rem);
  line-height:1.05;
  font-weight:300;
}
.legacy-page-content--zusammen p {
  font-size: 1.02rem;
  line-height: 1.8;
}

.site-footer {
  background: var(--got-blue);
  color:#fff;
  margin-top: 0;
}
.footer-inner {
  max-width: var(--got-max);
  min-height: 80px;
  margin:0 auto;
  padding: 0 24px;
  display:flex;
  flex-wrap:wrap;
  gap: 16px 28px;
  align-items:center;
  justify-content:center;
}
.footer-inner a { color:#fff; }
.footer-menu ul,
ul.footer-menu { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap: 10px 18px; }

/* Header closer to the original Themify layout. */
.site-header { min-height: 68px; }
.header-inner {
  max-width: none;
  padding: 10px 30px;
  min-height: 68px;
}
.site-branding { min-width: 245px; }
.site-branding .site-title,
.site-branding .site-description { display:none; }
.custom-logo-link img,
.site-logo img {
  width: auto;
  max-width: 205px;
  max-height: 46px;
  object-fit: contain;
}
.primary-menu a {
  font-size: 1rem;
  font-weight: 400;
  padding: .35rem .25rem;
}
.primary-menu ul, ul.primary-menu { gap: 4px 28px; align-items:center; }
.primary-menu .menu,
.primary-menu > ul {
  position:relative;
}
.primary-menu li {
  position:relative;
}
.primary-menu .sub-menu,
.primary-menu .children {
  display:none;
  position:absolute;
  top:100%;
  left:0;
  z-index:1200;
  min-width: 230px;
  padding: 8px 0;
  margin: 0;
  list-style:none;
  background: var(--got-blue);
  box-shadow: 0 12px 26px rgba(0,0,0,.22);
  border-top: 1px solid rgba(255,255,255,.18);
  flex-wrap:nowrap;
  gap:0;
}
.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu,
.primary-menu li:hover > .children,
.primary-menu li:focus-within > .children {
  display:block;
}
.primary-menu .sub-menu li,
.primary-menu .children li {
  display:block;
  width:100%;
}
.primary-menu .sub-menu a,
.primary-menu .children a {
  padding: .55rem 1rem;
  white-space:nowrap;
  font-size:.95rem;
}
.primary-menu .menu-item-has-children > a::after,
.primary-menu .page_item_has_children > a::after {
  content:" ▾";
  font-size:.78em;
}

/* Front page: match original first fold more closely. */
.home-hero {
  min-height: clamp(360px, 30vw, 500px);
  place-items:end center;
}
.home-hero__slides span {
  background-image: var(--bg);
  background-size: cover;
  background-position: center center;
  opacity:0;
}
.home-hero__slides span.is-active { opacity:1; }
.home-hero__slides span:first-child { opacity:1; }
.home-hero__slides span:first-child:not(.is-active) { opacity:0; }
.home-hero__arrow {
  position:absolute;
  z-index:2;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:#fff;
  font-size:48px;
  line-height:1;
  padding: 0 24px;
  text-shadow:0 1px 5px rgba(0,0,0,.55);
  cursor:default;
}
.home-hero__arrow--right { right: 0; }
.home-hero__dots {
  position:relative;
  z-index:2;
  display:flex;
  gap:10px;
  justify-content:center;
  padding-bottom: 18px;
}
.home-hero__dots span {
  width:12px;
  height:12px;
  border:2px solid #fff;
  border-radius:50%;
  background:transparent;
  box-shadow:0 1px 4px rgba(0,0,0,.35);
  cursor:pointer;
}
.home-hero__dots span.is-active { background:#fff; }
.home-content {
  max-width:none;
  padding:0;
}
.home-intro {
  display:grid;
  grid-template-columns: 1fr 1fr;
  min-height: 360px;
}
.home-intro__media {
  display:flex;
  align-items:flex-start;
  justify-content:center;
  background:#fff;
  padding: 16px 24px 0;
  overflow:hidden;
}
.home-intro__media img {
  width:min(430px, 78%);
  max-height:none;
}
.home-intro__body {
  background:var(--got-blue);
  color:#fff;
  padding: clamp(30px, 4vw, 42px) clamp(34px, 5vw, 64px);
}
.home-intro__body h2 {
  color:#fff;
  margin:0 0 1.45rem;
  font-family:"Open Sans Condensed", "Open Sans", Arial, sans-serif;
  font-weight:300;
  font-size: clamp(2.05rem, 3vw, 2.75rem);
  line-height:1.2;
}
.home-intro__body p {
  margin:0 0 1.2rem;
  font-weight:300;
}
.home-content .section-card {
  max-width: var(--got-max);
  margin:34px auto;
}
.home-content .home-gallery {
  max-width: var(--got-max);
  margin:0 auto;
  padding: 16px 24px 56px;
}

@media (max-width: 760px) {
  body { font-size: 16px; }
  .header-inner { display:block; padding: 12px 18px; }
  .site-branding { justify-content:center; text-align:center; margin-bottom: 12px; }
  .primary-menu ul, ul.primary-menu { justify-content:center; gap: 4px 14px; }
  .primary-menu .sub-menu,
  .primary-menu .children {
    position:static;
    display:none;
    width:100%;
    min-width:0;
    box-shadow:none;
    padding:4px 0 4px 14px;
    background:rgba(0,95,157,.55);
  }
  .primary-menu li:hover > .sub-menu,
  .primary-menu li:focus-within > .sub-menu,
  .primary-menu li:hover > .children,
  .primary-menu li:focus-within > .children { display:block; }
  .content-wrap { padding: 30px 18px 42px; }
  .alignleft, .alignright { float:none; display:block; margin: 1rem auto; }
  .section-card--split { grid-template-columns: 1fr; }
  .section-card--reverse .section-card__media { order:0; }
  .home-gallery .gallery { grid-template-columns: repeat(2, 1fr); }
  .home-gallery-split { grid-template-columns:1fr; }
  .home-gallery-split__grid .gallery { grid-template-columns: repeat(2, 1fr); }
  .home-gallery-split__title { min-height:260px; justify-content:center; }
  .gottinga-lightbox {
    grid-template-columns:44px minmax(0, 1fr) 44px;
    padding:56px 10px 24px;
  }
  .gottinga-lightbox__nav {
    width:42px;
    height:58px;
    font-size:42px;
  }
  .gottinga-lightbox__image { max-height:calc(100vh - 130px); }
  .home-ribbon-strip { height:50px; min-height:50px; }
  .home-together-split { grid-template-columns:1fr; }
  .home-together-split__image,
  .home-together-split__text { min-height:300px; }
  .home-together-split__image { justify-content:center; }
  .home-together-split__text { text-align:center; }
  .home-hero { min-height: 300px; }
  .home-intro { grid-template-columns: 1fr; }
  .home-intro__media { padding-top:24px; }
  .home-about-split { grid-template-columns:1fr; }
  .home-about-split__text { text-align:center; }
  .home-about-split__image { min-height:260px; justify-content:center; }
  .home-about-split__image h2 { padding-left:0; }
  .legacy-page-hero { background-attachment: scroll; padding: 34px 16px; }
  .legacy-page-panel { padding: 26px 20px; }
  .links-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
}
