:root {
  --navy: #000080;
  --sky: #eaf1fb;
  --ink: #17213a;
  --muted: #63708b;
  --line: #d9e0ec;
  --red: #df2f24;
}

.contact-hero {
  padding: 86px max(28px, calc((100vw - 1100px) / 2));
  color: #fff;
  background: linear-gradient(125deg, #07133e, #172f73);
}
.contact-hero h1 {
  margin: 4px 0 18px;
  font-family: Georgia, serif;
  font-size: clamp(3.2rem, 7vw, 5.8rem);
  font-weight: 400;
  line-height: 0.98;
}
.contact-hero > div > p:last-child {
  max-width: 620px;
  margin: 0;
  color: #d8e1fa;
  font-size: 1.08rem;
  line-height: 1.65;
}
.contact-options {
  max-width: 1100px;
  margin: 76px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 24px;
}
.contact-card {
  padding: 34px;
  background: var(--sky);
  border: 1px solid var(--line);
}
.contact-card-main {
  background: #fff;
  border-top: 4px solid var(--red);
}
.contact-card h2,
.intervention-request h2,
.contact-practical h2 {
  margin: 4px 0 14px;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 400;
  line-height: 1.08;
}
.contact-card > p:not(.eyebrow) {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.75;
}
.contact-card .primary-button {
  margin-top: 14px;
  font-size: 0.72rem;
}
.intervention-request {
  padding: 84px max(28px, calc((100vw - 1100px) / 2));
  color: #fff;
  background: #08143f;
}
.intervention-request h2 { color: #fff; }
.intervention-heading {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 70px;
  align-items: end;
}
.intervention-heading > p:last-child {
  margin: 0;
  color: #d3dcf3;
  font-size: 0.9rem;
  line-height: 1.75;
}
.intervention-details {
  margin-top: 44px;
  display: grid;
  grid-template-columns: 1fr 0.55fr;
  gap: 28px;
}
.intervention-details ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255,255,255,.22);
}
.intervention-details li {
  padding: 20px 0;
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 26px;
  border-bottom: 1px solid rgba(255,255,255,.22);
}
.intervention-details li strong { color: #fff; }
.intervention-details li span {
  color: #cbd5ef;
  font-size: 0.82rem;
  line-height: 1.65;
}
.request-note {
  padding: 28px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.2);
}
.request-note p {
  margin: 0 0 24px;
  color: #d8e1f7;
  font-size: 0.86rem;
  line-height: 1.7;
}
.contact-practical {
  max-width: 1100px;
  margin: 80px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 0.7fr 1fr auto;
  gap: 42px;
  align-items: center;
}
.contact-practical > p {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.7;
}
.contact-practical .primary-button { white-space: nowrap; }

@media (max-width: 760px) {
  .contact-hero { padding: 64px 18px; }
  .contact-options,
  .intervention-heading,
  .intervention-details,
  .contact-practical {
    grid-template-columns: 1fr;
  }
  .contact-options,
  .contact-practical {
    padding-left: 18px;
    padding-right: 18px;
    margin: 58px auto;
  }
  .contact-card { padding: 26px 20px; }
  .contact-card .primary-button {
    display: block;
    overflow-wrap: anywhere;
  }
  .intervention-request { padding: 65px 18px; }
  .intervention-heading,
  .intervention-details { gap: 26px; }
  .intervention-details li {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: Verdana, Geneva, Tahoma, sans-serif;
}
.outreach-hero {
  min-height: 650px;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
}
.outreach-hero-photo,
.outreach-hero-shade { position: absolute; inset: 0; }
.outreach-hero-photo {
  background: url('/wp-content/uploads/gav-migration/divulgazione-bambini-gav.png') center 30% / cover no-repeat;
  transform: scale(1.01);
}
.outreach-hero-shade { background: linear-gradient(90deg, rgba(3,9,35,.88) 0%, rgba(3,9,35,.48) 48%, rgba(3,9,35,.12) 100%); }
.outreach-hero-copy {
  position: relative;
  z-index: 1;
  width: min(1100px, calc(100% - 56px));
  margin: 0 auto;
  padding: 80px 0;
}
.outreach-hero h1 {
  max-width: 700px;
  margin: 6px 0 18px;
  font: 400 clamp(3.5rem, 8vw, 6.8rem)/.95 Georgia, serif;
}
.outreach-hero-copy > p:last-child { max-width: 680px; margin: 0; color: #e2e8f9; font-size: 1.08rem; line-height: 1.65; }
.outreach-intro {
  max-width: 1100px;
  margin: 76px auto 58px;
  padding: 0 28px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 72px;
}
.outreach-intro h2,
.outreach-paths h2,
.outreach-request h2 { margin: 5px 0 0; color: var(--navy); font: 400 clamp(2.2rem, 4.6vw, 3.8rem)/1.05 Georgia, serif; }
.outreach-intro > div:last-child p { margin: 0 0 16px; color: var(--muted); font-size: .9rem; line-height: 1.8; }
.outreach-quote { margin: 0; padding: 62px max(28px, calc((100vw - 900px)/2)); text-align: center; color: #fff; background: var(--navy); }
.outreach-quote p { margin: 0 0 16px; font: italic 400 clamp(1.75rem, 4vw, 3rem)/1.3 Georgia, serif; }
.outreach-quote cite { color: #cfd8f4; font-size: .72rem; font-style: normal; }
.outreach-paths { max-width: 1100px; margin: 82px auto; padding: 0 28px; }
.outreach-grid { margin-top: 36px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.outreach-grid article { min-height: 250px; padding: 32px; display: flex; flex-direction: column; background: var(--sky); border-top: 3px solid var(--navy); }
.outreach-grid h3 { margin: 0 0 14px; color: var(--navy); font: 400 1.55rem Georgia, serif; }
.outreach-grid p { margin: 0 0 24px; color: var(--muted); font-size: .84rem; line-height: 1.75; }
.outreach-grid a { margin-top: auto; color: var(--navy); font-size: .76rem; font-weight: 700; }
.outreach-grid a:hover { text-decoration: underline; text-underline-offset: 5px; }
.outreach-request { padding: 72px max(28px, calc((100vw - 1100px)/2)); display: grid; grid-template-columns: 1fr .8fr; gap: 75px; color: #fff; background: #08143f; }
.outreach-request h2 { color: #fff; }
.outreach-request > div:last-child p { margin: 0 0 26px; color: #d3dcf3; font-size: .86rem; line-height: 1.75; }
@media (max-width: 760px) {
  .outreach-hero { min-height: 560px; }
  .outreach-hero-photo { background-position: 48% 18%; }
  .outreach-hero-copy { width: calc(100% - 36px); padding: 58px 0; }
  .outreach-intro, .outreach-grid, .outreach-request { grid-template-columns: 1fr; }
  .outreach-intro { margin: 56px auto 42px; padding: 0 18px; gap: 28px; }
  .outreach-paths { margin: 58px auto; padding: 0 18px; }
  .outreach-request { padding: 58px 18px; gap: 30px; }
}
a {
  color: inherit;
  text-decoration: none;
}
.relations-link { margin-top: 16px; padding: 24px 30px; display: grid; grid-template-columns: .75fr 1.35fr auto; gap: 34px; align-items: center; color: var(--navy); background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--red); }
.relations-link span { color: var(--red); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.relations-link h2 { margin: 7px 0 0; font: 400 2rem Georgia, serif; }
.relations-link p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.relations-link a { font-size: .75rem; font-weight: 700; white-space: nowrap; }
.relations-hero { padding: 78px max(28px, calc((100vw - 1100px)/2)); color: #fff; background: linear-gradient(115deg,#07133e 0%,#172f73 68%,#3157bf 100%); }
.relations-hero h1 { margin: 8px 0 16px; font: 400 clamp(3.8rem,8vw,7rem)/.9 Georgia,serif; }
.relations-hero > p:last-child { max-width: 720px; color: #d7e0f5; line-height: 1.7; }
.relations-intro { max-width: 1100px; margin: 48px auto 28px; padding: 0 28px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 44px; align-items: start; }
.relations-intro h2 { margin: 6px 0 0; max-width: 520px; color: var(--navy); font: 400 clamp(1.95rem,3.3vw,2.75rem)/1.08 Georgia,serif; }
.relations-intro > p { margin: 2px 0 0; color: var(--muted); font-size: .88rem; line-height: 1.72; }
.relations-list { max-width: 1100px; margin: 0 auto 68px; padding: 0 28px; border-top: 1px solid var(--line); }
.relations-list article { min-height: 0; padding: 17px 0 15px; display: grid; grid-template-columns: 44px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 22px; row-gap: 6px; align-items: start; border-bottom: 1px solid var(--line); }
.relations-number { grid-column: 1; grid-row: 1 / span 2; padding-top: 2px; color: #8fa1ce; font: 400 1rem Georgia,serif; }
.relations-list article > div { grid-column: 2; grid-row: 1; min-width: 0; }
.relations-list article p { margin: 0 0 6px; color: var(--red); font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.relations-list article h2 { margin: 0; max-width: 860px; color: var(--navy); font: 400 clamp(1.22rem,1.9vw,1.62rem)/1.18 Georgia,serif; }
.relations-list article small { display: block; margin-top: 7px; max-width: 820px; color: var(--muted); font-size: .76rem; line-height: 1.48; }
.relations-list article > a { grid-column: 2 !important; grid-row: 2 !important; justify-self: start; margin-top: 1px; color: var(--navy); font-size: .69rem; font-weight: 700; text-align: left; text-transform: uppercase; letter-spacing: .03em; }
.relations-list article > a span { color: var(--red); }
.relations-list article > a:hover { color: var(--red); text-decoration: underline; text-underline-offset: 5px; }
.relations-note { padding: 64px max(28px,calc((100vw - 1100px)/2)); display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; color: #fff; background: #172f73; }
.relations-note h2 { margin: 6px 0 0; font: 400 clamp(2.1rem,4vw,3.4rem)/1 Georgia,serif; }
.relations-note > p { margin: 0; color: #d7e0f5; font-size: .85rem; line-height: 1.8; }
.relation-detail-heading { max-width: 1040px; margin: 64px auto 36px; padding: 0 28px; }
.relation-detail-heading .eyebrow { color: var(--red); }
.relation-detail-heading h1 { max-width: 920px; margin: 9px 0 18px; color: var(--navy); font: 400 clamp(2.5rem,5.6vw,5rem)/1.02 Georgia,serif; }
.relation-detail-heading > p:last-child { max-width: 760px; color: var(--muted); font-size: .9rem; line-height: 1.75; }
.relation-detail-body { max-width: 1040px; margin: 0 auto 70px; padding: 44px 50px; overflow: hidden; background: #fff; border: 1px solid var(--line); box-shadow: 0 20px 55px rgba(12,31,78,.09); }
.historic-relation { color: #17244a; font-family: Verdana, Geneva, sans-serif; font-size: .88rem; line-height: 1.75; }
.historic-relation > :first-child { margin-top: 0; }
.historic-relation p, .historic-relation blockquote, .historic-relation li { line-height: 1.75; }
.historic-relation blockquote { margin-left: 0; margin-right: 0; }
.historic-relation h1, .historic-relation h2, .historic-relation h3 { max-width: 100%; color: var(--navy); font-family: Georgia,serif; line-height: 1.18; }
.historic-relation img { max-width: 100%; height: auto; margin: 12px; object-fit: contain; }
.historic-relation table { width: 100% !important; max-width: 100%; border-collapse: collapse; }
.historic-relation td { max-width: 100%; padding: 6px; vertical-align: top; }
.historic-relation a { color: #0b45a2; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.historic-relation center { max-width: 100%; }
.historic-relation-saturn { margin: -44px -50px; padding: 44px 50px; color: #f2f5ff; background: #050810; }
.historic-relation-saturn h1, .historic-relation-saturn h2, .historic-relation-saturn h3 { color: #ffeb75; }
.historic-relation-saturn a, .historic-relation-saturn font[color="#FFFF66"] { color: #ffdf4c !important; }
.relation-detail-nav { max-width: 1040px; margin: 0 auto 78px; padding: 0 28px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 30px; align-items: start; }
.relation-detail-nav > div:last-child { text-align: right; }
.relation-detail-nav span { display: block; margin-bottom: 8px; color: var(--red); font-size: .62rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.relation-detail-nav a { color: var(--navy); font-size: .72rem; font-weight: 700; line-height: 1.55; }
.relation-index-link { padding: 12px 17px; border: 1px solid var(--navy); white-space: nowrap; }
.relation-detail-nav-single { display: flex; justify-content: center; }
@media (max-width:760px) {
  .relations-link,.relations-intro,.relations-note { grid-template-columns: 1fr; gap: 18px; }
  .relations-link { padding: 24px 20px; }
  .relations-hero { padding: 58px 18px; }
  .relations-intro { margin: 44px auto 26px; padding: 0 18px; }
  .relations-list { padding: 0 18px; }
  .relations-list article { padding: 16px 0 14px; grid-template-columns: 32px minmax(0,1fr); column-gap: 12px; row-gap: 6px; align-items: start; }
  .relations-list article > a { grid-column: 2 !important; grid-row: 2 !important; text-align: left; }
  .relations-note { padding: 54px 18px; }
  .relation-detail-heading { margin: 48px auto 28px; padding: 0 18px; }
  .relation-detail-body { margin: 0 12px 54px; padding: 28px 18px; }
  .historic-relation { font-size: .82rem; }
  .historic-relation img { float: none !important; display: block; margin: 14px auto; }
  .historic-relation table, .historic-relation tbody, .historic-relation tr, .historic-relation td { display: block; width: 100% !important; }
  .historic-relation-saturn { margin: -28px -18px; padding: 28px 18px; }
  .relation-detail-nav { padding: 0 18px; grid-template-columns: 1fr; }
  .relation-detail-nav > div:last-child { text-align: left; }
  .relation-index-link { grid-row: 1; text-align: center; }
}
.sundial-hero { min-height: 340px; padding: 54px max(28px, calc((100vw - 1100px)/2)); display: flex; align-items: center; color: #fff; background: linear-gradient(90deg,rgba(3,12,48,.88) 0%,rgba(7,19,62,.68) 47%,rgba(7,19,62,.28) 100%),url('/wp-content/uploads/gav-migration/quadrante-solare-hero.png') center 48% / cover no-repeat; }
.sundial-hero > div { padding:20px 26px 22px; background:rgba(3,12,48,.18); border-left:3px solid rgba(255,255,255,.72); }
.sundial-hero h1 { margin: 7px 0 16px; font: 400 clamp(2.8rem,5.8vw,5.2rem)/1 Georgia,serif; white-space: nowrap; }
.sundial-hero > div > p:last-child { color:#d7dff5; font-size:1rem; }
.sundial-intro { max-width:1180px; margin:78px auto; padding:0 28px; display:grid; grid-template-columns:.75fr 1.15fr 310px; gap:48px; align-items:start; }
.sundial-intro figure { margin:0; align-self:end; }
.sundial-intro figure img { width:100%; display:block; padding:10px; background:#fff; border:1px solid var(--line); box-shadow:0 14px 35px rgba(17,33,74,.14); }
.sundial-intro figcaption { margin-top:8px; color:var(--muted); font-size:.67rem; text-align:right; }
.sundial-census,.sundial-links { max-width:1100px; margin:78px auto; padding:0 28px; display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; }
.sundial-intro h2,.sundial-census h2,.sundial-hunt h2,.sundial-links h2 { margin:5px 0; color:var(--navy); font:400 clamp(2.25rem,4.5vw,3.8rem)/1.06 Georgia,serif; }
.sundial-intro p,.sundial-census p,.sundial-hunt p { color:var(--muted); font-size:.87rem; line-height:1.78; }
.sundial-archives { padding:78px max(28px,calc((100vw - 1100px)/2)); color:#fff; background:#07133e; }
.sundial-archive-note { max-width:760px; color:#cfd8ef; font-size:.83rem; line-height:1.7; }
.sundial-archive-grid { margin-top:34px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.sundial-archive-grid article { min-height:300px; padding:28px; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06); }
.sundial-archive-grid span { color:#9fb5f0; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.sundial-archive-grid h3 { margin:14px 0 12px; font:400 1.55rem Georgia,serif; }
.sundial-archive-grid strong { color:#fff; font-size:.8rem; }
.sundial-archive-grid p { color:#cbd5ed; font-size:.76rem; line-height:1.65; }
.sundial-archive-grid a { margin-top:auto; color:#fff; font-size:.72rem; font-weight:700; }
.sundial-hunt { padding:82px max(28px,calc((100vw - 1100px)/2)); display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; color:#fff; background:#172f73; }
.sundial-hunt h2 { color:#fff; }
.sundial-hunt p { margin-top:0; color:#d8e0f3; }
.sundial-links a { display:block; padding:17px 0; color:var(--navy); font-size:.82rem; font-weight:700; border-bottom:1px solid var(--line); }
.sundial-links small { display:block; margin-top:22px; color:var(--muted); }
@media(max-width:760px){.sundial-hero,.sundial-intro,.sundial-census,.sundial-hunt,.sundial-links{grid-template-columns:1fr}.sundial-hero{min-height:300px;padding:40px 18px;background-position:58% center}.sundial-hero>div{padding:16px 15px}.sundial-hero h1{white-space:normal}.sundial-intro,.sundial-census,.sundial-links{margin:58px auto;padding:0 18px;gap:26px}.sundial-intro figure{max-width:310px}.sundial-archives,.sundial-hunt{padding:60px 18px}.sundial-archive-grid{grid-template-columns:1fr}.sundial-hunt{gap:26px}}
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid var(--line);
}
.header-inner {
  max-width: 1200px;
  margin: auto;
  min-height: 94px;
  padding: 7px 28px;
  display: flex;
  align-items: center;
  gap: 30px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-right: auto;
  color: var(--navy);
}
.brand-emblem {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 50%;
}
.brand span {
  width: 280px;
  display: flex;
  flex-direction: column;
  line-height: 1.08;
}
.brand strong {
  color: var(--red);
  font-family: "Times New Roman", Times, serif;
  font-size: 1.35rem;
  font-weight: 400;
  white-space: nowrap;
}
.brand small {
  display: block;
  width: 100%;
  color: #000;
  font-family: "Times New Roman", Times, serif;
  font-size: 1.0625rem;
  letter-spacing: 0;
  margin-top: 5px;
  white-space: nowrap;
  text-align: left;
}
.mobile-site-menu { display: none; }
nav {
  display: flex;
  gap: 24px;
  font-size: 0.76rem;
  font-weight: 700;
  color: var(--navy);
}
nav a:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.site-header nav .nav-sections { padding:0; margin:0; color:var(--navy); background:transparent; }
.site-header nav .nav-sections:hover,.site-header nav .nav-sections.active { background:transparent; text-decoration:underline; text-underline-offset:5px; }
.comet-hero { min-height:410px; padding:54px max(28px,calc((100vw - 1100px)/2)); display:flex; align-items:center; color:#fff; overflow:hidden; background-color:#080b13; background-image:linear-gradient(90deg,rgba(2,9,36,.92),rgba(4,13,48,.28) 55%,rgba(4,13,48,.04)),url('/wp-content/uploads/gav-migration/cometa-gav-sezione.png'); background-position:center 76%; background-size:cover; background-repeat:no-repeat; }
.comet-hero h1 { margin:6px 0 17px; font:400 clamp(3.2rem,6.5vw,5.8rem)/1 Georgia,serif; }
.comet-hero > div > p:last-child { color:#dce4f8; }
.comet-intro { max-width:1100px; margin:78px auto; padding:0 28px; display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; }
.comet-intro h2,.comet-feature h2 { margin:5px 0 18px; color:var(--navy); font:400 clamp(2.2rem,4.5vw,3.7rem)/1.08 Georgia,serif; }
.comet-intro p,.comet-feature p { color:var(--muted); font-size:.87rem; line-height:1.78; }
.comet-intro p a { color:var(--navy); text-decoration:underline; }
.comet-intro small { display:block; margin-top:22px; color:var(--muted); font-size:.68rem; }
.comet-paths { padding:78px max(28px,calc((100vw - 1100px)/2)); color:#fff; background:#07133e; }
.comet-paths-note { max-width:720px; color:#cbd6ef; font-size:.82rem; line-height:1.7; }
.comet-path-grid { margin-top:34px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.comet-path-grid article { min-height:235px; padding:28px; display:flex; flex-direction:column; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.2); }
.comet-path-grid h3 { margin:0 0 14px; font:400 1.55rem Georgia,serif; }
.comet-path-grid p { color:#cbd5ed; font-size:.76rem; line-height:1.65; }
.comet-path-grid a { margin-top:auto; font-size:.72rem; font-weight:700; }
.comet-feature { max-width:1100px; margin:82px auto; padding:0 28px; display:grid; grid-template-columns:1.15fr .85fr; gap:58px; align-items:center; }
.comet-feature img { width:100%; display:block; }
.comet-observation { max-width:1100px; margin:88px auto; padding:0 28px; }
.comet-observation header { max-width:820px; margin-bottom:34px; }
.comet-observation h2 { margin:6px 0 14px; color:var(--navy); font:400 clamp(2.25rem,4.5vw,3.8rem)/1.06 Georgia,serif; }
.comet-observation-lead { color:var(--muted); font-size:1.08rem; }
.comet-observation figure { margin:0 0 42px; }
.comet-observation figure img { width:100%; height:auto; display:block; background:#080b13; }
.comet-observation figcaption { padding-top:9px; color:var(--muted); font-size:.78rem; }
.comet-story { columns:2; column-gap:48px; }
.comet-story p { margin:0 0 1.05em; break-inside:avoid; color:var(--muted); font-size:.9rem; line-height:1.72; }
.comet-story a { color:var(--navy); font-weight:700; }
.comet-tech { margin-top:38px; padding:30px; background:#eef3fb; border-left:4px solid var(--navy); }
.comet-tech h3 { margin:0 0 20px; color:var(--navy); font:400 1.7rem Georgia,serif; }
.comet-tech dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; margin:0; }
.comet-tech dl div { display:grid; grid-template-columns:145px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid #d2dceb; }
.comet-tech dt { color:var(--navy); font-weight:700; }
.comet-tech dd { margin:0; color:var(--muted); }
.comet-tags { margin-top:22px; color:#6e7690; font-size:.76rem; line-height:1.65; }
@media(max-width:760px){.comet-hero{min-height:330px;padding:44px 18px;background-position:58% 76%}.comet-intro,.comet-feature{grid-template-columns:1fr;margin:58px auto;padding:0 18px;gap:28px}.comet-paths{padding:60px 18px}.comet-path-grid{grid-template-columns:1fr}.comet-path-grid article{min-height:210px}.comet-observation{margin:58px auto;padding:0 18px}.comet-story{columns:1}.comet-tech{padding:22px}.comet-tech dl{grid-template-columns:1fr}.comet-tech dl div{grid-template-columns:1fr;gap:3px}}

.asteroid-hero{position:relative;height:410px;overflow:hidden;color:#fff;background:#060b21}
.asteroid-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,31,.94),rgba(5,13,43,.44) 48%,rgba(5,13,43,.05) 78%);pointer-events:none}.asteroid-hero-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center 20%}.asteroid-hero-copy{position:absolute;z-index:1;left:max(28px,calc((100vw - 1100px)/2));top:50%;max-width:560px;transform:translateY(-50%)}
.asteroid-hero h1{margin:7px 0 18px;font:400 clamp(3rem,6vw,5.7rem)/.98 Georgia,serif}.asteroid-hero-copy>p:last-child{color:#cbd5ef;line-height:1.65}
.asteroid-record{max-width:1100px;margin:84px auto;padding:0 28px}.asteroid-record>header{max-width:850px;margin-bottom:34px}.asteroid-record h2{margin:5px 0 10px;color:var(--navy);font:400 clamp(2.5rem,5vw,4.3rem)/1 Georgia,serif}.asteroid-subtitle{color:var(--muted);font:400 1.25rem Georgia,serif}.asteroid-full-image{margin:0 0 45px}.asteroid-full-image img{width:100%;display:block}.asteroid-full-image figcaption{padding-top:9px;color:var(--muted);font-size:.78rem}.asteroid-story{columns:2;column-gap:48px}.asteroid-story p{margin:0 0 1.05em;break-inside:avoid;color:var(--muted);font-size:.91rem;line-height:1.75}.asteroid-data-grid{margin-top:38px;display:grid;grid-template-columns:1.25fr .75fr;gap:28px}.asteroid-data-grid section{padding:30px;background:#eef3fb;border-top:4px solid var(--navy)}.asteroid-data-grid h3{margin:0 0 18px;color:var(--navy);font:400 1.7rem Georgia,serif}.asteroid-data-grid dl{margin:0}.asteroid-data-grid dl div{display:grid;grid-template-columns:145px 1fr;gap:13px;padding:9px 0;border-bottom:1px solid #d3deec}.asteroid-data-grid dt{color:var(--navy);font-weight:700}.asteroid-data-grid dd{margin:0;color:var(--muted);line-height:1.5}.asteroid-data-grid .text-link{display:inline-block;margin-top:24px}.asteroid-archive{padding:72px max(28px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;gap:60px;align-items:center;color:#fff;background:#08143f}.asteroid-archive h2{margin:5px 0 10px;font:400 clamp(2.2rem,4vw,3.5rem)/1.08 Georgia,serif}.asteroid-archive p{max-width:650px;color:#cbd5ef;line-height:1.7}
.asteroid-data-grid section:last-child dl div{grid-template-columns:1fr;gap:3px}.asteroid-data-grid section:last-child dt{overflow-wrap:anywhere}
@media(max-width:760px){.asteroid-hero{min-height:330px}.asteroid-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}.asteroid-hero-copy{left:18px;right:18px}.asteroid-record{margin:58px auto;padding:0 18px}.asteroid-story{columns:1}.asteroid-data-grid{grid-template-columns:1fr}.asteroid-data-grid section{padding:22px}.asteroid-data-grid dl div{grid-template-columns:1fr;gap:3px}.asteroid-archive{padding:58px 18px;display:block}.asteroid-archive .light-button{display:inline-block;margin-top:22px}}

.meteor-hero{min-height:410px;padding:54px max(28px,calc((100vw - 1100px)/2));display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(2,9,36,.92),rgba(4,13,48,.42) 55%,rgba(4,13,48,.05)),url('/wp-content/uploads/gav-migration/perseidi-david-vizzoni-2015.png') center 45%/cover no-repeat}.meteor-hero h1{margin:6px 0 17px;font:400 clamp(3.2rem,6.5vw,5.8rem)/1 Georgia,serif}.meteor-hero>div>p:last-child{color:#dce4f8}
.meteor-history,.meteor-when{max-width:1100px;margin:82px auto;padding:0 28px;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.meteor-history h2,.meteor-when h2,.meteor-guide h2,.meteor-bolides h2,.meteor-photo-record h2,.meteor-archive h2{margin:5px 0 18px;color:var(--navy);font:400 clamp(2.2rem,4.5vw,3.7rem)/1.08 Georgia,serif}.meteor-history p,.meteor-when p{margin:0 0 17px;color:var(--muted);font-size:.9rem;line-height:1.78}.meteor-history small{color:#777f93}
.meteor-guide{padding:72px max(28px,calc((100vw - 1100px)/2));color:#fff;background:#08143f}.meteor-guide header{max-width:780px}.meteor-guide h2{color:#fff}.meteor-guide header>p:last-child{color:#cbd5ef}.meteor-guide ol{margin:38px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 38px;counter-reset:meteor}.meteor-guide li{list-style:none;position:relative;padding:19px 0 19px 44px;border-top:1px solid rgba(255,255,255,.2);color:#dbe3f7;font-size:.86rem;line-height:1.65;counter-increment:meteor}.meteor-guide li::before{content:counter(meteor);position:absolute;left:0;top:17px;color:#9eb0e3;font:400 1.5rem Georgia,serif}
.meteor-bolides{padding:72px max(28px,calc((100vw - 1100px)/2));display:grid;grid-template-columns:.85fr 1.15fr;gap:20px 80px;background:#eef3fb}.meteor-bolides>div p,.meteor-bolides>p{color:var(--muted);line-height:1.7}.meteor-bolides ol{margin:0;padding:0;display:grid;gap:8px}.meteor-bolides li{list-style:none;padding:15px 18px;background:#fff;border-left:3px solid var(--navy);color:var(--muted);line-height:1.55}.meteor-bolides>p{grid-column:2}
.meteor-photo-record{max-width:1100px;margin:88px auto;padding:0 28px;display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:start}.meteor-photo-record figure{margin:0}.meteor-photo-record img{width:100%;display:block}.meteor-photo-record figcaption{padding-top:9px;color:var(--muted);font-size:.78rem}.meteor-photo-record>div>p{color:var(--muted);font-size:.88rem;line-height:1.72}.meteor-photo-record dl{margin:24px 0}.meteor-photo-record dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.meteor-photo-record dt{color:var(--navy);font-weight:700}.meteor-photo-record dd{margin:0;color:var(--muted)}
.meteor-archive{padding:76px max(28px,calc((100vw - 1100px)/2));color:#fff;background:#07102f}.meteor-archive header{max-width:760px}.meteor-archive h2{color:#fff}.meteor-archive header>p:last-child,.meteor-archive aside p{color:#cbd5ef;line-height:1.7}.meteor-archive>div:not(.meteor-links){margin:38px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.meteor-archive>div:not(.meteor-links)>a{padding:20px;display:flex;justify-content:space-between;gap:15px;color:#fff;background:#132454;border:1px solid rgba(255,255,255,.12)}.meteor-archive>div:not(.meteor-links)>a:hover{background:#213a80}.meteor-archive aside{padding:30px;border:1px solid rgba(255,255,255,.18)}.meteor-archive aside h3{margin:0 0 12px;font:400 1.8rem Georgia,serif}.meteor-archive aside .light-button{display:inline-block;margin-top:14px}.meteor-links{margin-top:25px;display:flex;flex-wrap:wrap;gap:8px}.meteor-links a{padding:8px 12px;color:#dbe3f7;border:1px solid rgba(255,255,255,.2);font-size:.78rem}
@media(max-width:760px){.meteor-hero{min-height:330px;padding:44px 18px;background-position:58% center}.meteor-history,.meteor-when,.meteor-bolides,.meteor-photo-record{grid-template-columns:1fr;gap:28px;padding-left:18px;padding-right:18px;margin:58px auto}.meteor-guide,.meteor-bolides,.meteor-archive{padding-left:18px;padding-right:18px}.meteor-guide ol{grid-template-columns:1fr}.meteor-bolides>p{grid-column:1}.meteor-archive>div:not(.meteor-links){grid-template-columns:1fr}.meteor-photo-record dl div{grid-template-columns:1fr;gap:3px}}

.history-hero{position:relative;min-height:570px;padding:75px max(28px,calc((100vw - 1100px)/2));overflow:hidden;display:flex;align-items:center;color:#fff;background:radial-gradient(circle at 82% 42%,#30458a 0,transparent 30%),linear-gradient(135deg,#03091f 0%,#0b1643 60%,#152762 100%)}.history-hero-copy{position:relative;z-index:10;width:55%;padding:28px 32px 30px 0;text-shadow:0 3px 18px rgba(0,0,0,.85)}.history-hero h1{margin:7px 0 20px;font:400 clamp(3.25rem,6vw,5.9rem)/.97 Georgia,serif}.history-hero-copy>p:last-child{max-width:570px;color:#eef2ff;font-size:1.02rem;line-height:1.7}.postcard-collage{position:absolute;z-index:2;right:max(25px,calc((100vw - 1180px)/2));top:60px;width:43%;height:440px}.postcard{position:absolute;margin:0;padding:7px 7px 26px;background:#f7f3e8;box-shadow:0 16px 40px rgba(0,0,0,.42);transform-origin:center}.postcard img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.86) contrast(.98)}.postcard-1{left:8%;top:42%;width:37%;height:41%;transform:rotate(-8deg)}.postcard-2{left:36%;top:3%;width:46%;height:38%;transform:rotate(5deg)}.postcard-3{right:0;top:33%;width:38%;height:31%;transform:rotate(9deg)}.postcard-4{left:25%;bottom:0;width:43%;height:39%;transform:rotate(3deg)}.postcard-5{left:0;top:5%;width:35%;height:34%;transform:rotate(-5deg)}.postcard-6{right:4%;bottom:0;width:34%;height:34%;transform:rotate(-4deg)}.postcard-7{left:30%;top:30%;z-index:5;width:42%;height:40%;transform:rotate(-2deg)}
.full-gav-history{max-width:1100px;margin:85px auto;padding:0 28px}.full-gav-history>header{max-width:760px}.full-gav-history h2,.history-gallery h2,.gav-organization h2,.gav-membership h2,.gav-bulletin-history h2{margin:5px 0 22px;color:var(--navy);font:400 clamp(2.4rem,4.7vw,4rem)/1.05 Georgia,serif}.gav-history-copy{columns:2;column-gap:54px}.gav-history-copy p{margin:0 0 1.1em;break-inside:avoid;color:var(--muted);font-size:.91rem;line-height:1.78}.gav-history-copy a{color:var(--navy);font-weight:700}
.history-gallery{padding:72px max(28px,calc((100vw - 1100px)/2));color:#fff;background:#08143f}.history-gallery h2{color:#fff}.history-gallery>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.history-gallery figure{margin:0;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#040a22}.history-gallery figure:nth-child(2),.history-gallery figure:nth-child(5){grid-column:span 2}.history-gallery img{width:100%;height:100%;object-fit:contain;filter:saturate(.85)}
.gav-organization{max-width:1100px;margin:82px auto;padding:0 28px}.gav-organization>header{max-width:790px}.gav-organization>header>p:last-child{color:var(--muted);line-height:1.7}.board-grid{margin-top:35px;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.board-grid article{min-height:150px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:#eef3fb;border-top:4px solid var(--navy)}.board-grid span{color:#68728b;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.board-grid strong{color:var(--navy);font:400 1.35rem/1.2 Georgia,serif}
.gav-membership{padding:70px max(28px,calc((100vw - 1100px)/2));display:grid;grid-template-columns:1fr 1fr;gap:80px;color:#fff;background:#14275f}.gav-membership h2{color:#fff}.gav-membership>div>p:last-child{color:#cbd5ef;line-height:1.7}.gav-membership dl{margin:0}.gav-membership dl div{padding:12px 0;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.2)}.gav-membership dt{color:#dbe3f7}.gav-membership dd{margin:0;font-weight:700}.gav-bulletin-history{max-width:1100px;margin:80px auto;padding:0 28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.gav-bulletin-history>div:last-child p{color:var(--muted);line-height:1.75}.gav-bulletin-history .primary-button{display:inline-block;margin-top:18px}.history-source{padding:30px max(28px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;gap:25px;color:#cbd5ef;background:#07102f;font-size:.8rem}.history-source a{color:#fff;font-weight:700}
@media(max-width:900px){.history-hero{min-height:730px;align-items:flex-start}.history-hero-copy{width:100%;max-width:650px;padding-right:0}.postcard-collage{left:18px;right:18px;top:285px;width:auto;height:405px}.board-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.history-hero{min-height:690px;padding:50px 18px}.history-hero-copy{width:100%;padding-top:0}.history-hero h1{font-size:3.1rem}.postcard-collage{top:320px;height:330px}.postcard{padding:4px 4px 15px}.gav-history-copy{columns:1}.full-gav-history,.gav-organization,.gav-bulletin-history{margin:58px auto;padding-left:18px;padding-right:18px}.history-gallery,.gav-membership{padding-left:18px;padding-right:18px}.history-gallery>div{grid-template-columns:repeat(2,1fr)}.history-gallery figure:nth-child(2),.history-gallery figure:nth-child(5){grid-column:span 1}.board-grid{grid-template-columns:1fr}.board-grid article{min-height:120px}.gav-membership,.gav-bulletin-history{grid-template-columns:1fr;gap:28px}.history-source{padding:25px 18px;display:block}.history-source a{display:inline-block;margin-top:10px}}
.sections-hero { padding:92px max(28px,calc((100vw - 1100px)/2)); color:#fff; background:linear-gradient(125deg,#07133e,#263f91); }
.sections-hero h1 { margin:5px 0 18px; font:400 clamp(3.4rem,7vw,6rem)/1 Georgia,serif; }
.sections-hero > p:last-child { max-width:680px; color:#d8e1f7; line-height:1.65; }
.sections-index { max-width:1100px; margin:78px auto; padding:0 28px; }
.sections-index-intro { max-width:760px; }
.sections-index-intro h2 { margin:5px 0 18px; color:var(--navy); font:400 clamp(2.2rem,4.5vw,3.6rem)/1.08 Georgia,serif; }
.sections-index-intro > p:last-child { color:var(--muted); font-size:.87rem; line-height:1.75; }
.sections-index-grid { margin-top:42px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; direction:ltr; }
.sections-index-grid article { min-height:330px; padding:28px 24px; display:flex; flex-direction:column; background:var(--sky); border-top:4px solid var(--navy); }
.sections-index-grid span { color:var(--navy); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.sections-index-grid h2 { margin:20px 0 14px; color:var(--navy); font:400 2rem Georgia,serif; }
.sections-index-grid p { color:var(--muted); font-size:.82rem; line-height:1.72; }
.sections-index-grid a { margin-top:auto; color:var(--navy); font-size:.75rem; font-weight:700; }
.light-pollution-link{margin-top:16px;padding:22px 30px;display:grid;grid-template-columns:1.05fr 1.55fr auto;gap:34px;align-items:center;background:var(--sky);border-top:4px solid var(--navy)}.light-pollution-link span{color:var(--navy);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.light-pollution-link h2{margin:7px 0 0;color:var(--navy);font:400 2rem Georgia,serif}.light-pollution-link p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.65}.light-pollution-link a{color:var(--navy);font-size:.75rem;font-weight:700;white-space:nowrap}
@media(max-width:980px) and (min-width:761px){.sections-index-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sections-hero{padding:64px 18px}.sections-index{margin:58px auto;padding:0 18px}.sections-index-grid{grid-template-columns:1fr}.sections-index-grid article{min-height:260px}.light-pollution-link{grid-template-columns:1fr;gap:15px;padding:24px}.light-pollution-link a{margin-top:4px}}

.pollution-hero{min-height:390px;padding:88px max(28px,calc((100vw - 1100px)/2));display:flex;align-items:end;color:#fff;background:linear-gradient(90deg,rgba(2,5,20,.96),rgba(7,18,63,.74)),radial-gradient(circle at 78% 28%,rgba(255,190,80,.32),transparent 25%),linear-gradient(#07102e,#121a39)}.pollution-hero h1{max-width:900px;margin:6px 0 16px;font:400 clamp(3.5rem,7vw,6.5rem)/.96 Georgia,serif}.pollution-hero div>p:last-child{color:#d8e1f7}.pollution-intro{max-width:920px;margin:78px auto;padding:0 28px}.pollution-intro p{color:var(--muted);line-height:1.82}.pollution-intro .pollution-lead{color:var(--navy);font:400 clamp(1.45rem,2.8vw,2.15rem)/1.45 Georgia,serif}.pollution-problem{padding:72px max(28px,calc((100vw - 1100px)/2));display:grid;grid-template-columns:1.45fr .55fr;gap:70px;background:#edf2fb}.pollution-problem h2,.pollution-map h2,.pollution-policy h2,.pollution-documents h2{margin:5px 0 22px;color:var(--navy);font:400 clamp(2.4rem,4.8vw,4rem)/1.06 Georgia,serif}.pollution-problem p,.pollution-policy p{color:var(--muted);line-height:1.78}.pollution-problem aside{padding:34px;background:#07133e;color:#fff;align-self:center}.pollution-problem aside strong{font:400 2rem Georgia,serif}.pollution-problem aside p{color:#d8e1f7}.pollution-map{padding:76px max(28px,calc((100vw - 1100px)/2));color:#fff;background:#07102f}.pollution-map h2{color:#fff}.pollution-map header>p:last-child{max-width:760px;color:#cbd5ef;line-height:1.7}.pollution-map-grid{margin-top:34px;display:grid;grid-template-columns:1.4fr .6fr;gap:40px}.pollution-map figure{margin:0}.pollution-map img{display:block;width:100%;height:auto}.pollution-map figcaption{margin-top:10px;color:#9fb0d7;font-size:.74rem}.pollution-map dl{margin:0}.pollution-map dl div{padding:10px 0;display:grid;grid-template-columns:76px 1fr;gap:14px;border-bottom:1px solid rgba(255,255,255,.14)}.pollution-map dt{font-weight:700}.pollution-map dd{margin:0;color:#cbd5ef;font-size:.8rem;line-height:1.55}.pollution-policy{max-width:1100px;margin:80px auto;padding:0 28px;display:grid;grid-template-columns:.75fr 1.25fr;gap:75px}.pollution-documents{padding:72px max(28px,calc((100vw - 1100px)/2));background:#e7eef9}.pollution-documents>div{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pollution-documents>div a{min-height:94px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:25px;color:var(--navy);background:#fff;border-top:3px solid var(--navy)}.pollution-documents>div span{font-weight:700;line-height:1.45}.pollution-documents>div strong{font-size:.75rem;white-space:nowrap}.archive-note{max-width:820px;margin:30px 0 12px;color:var(--muted);font-size:.75rem;line-height:1.65}.original-page-link{color:var(--navy);font-size:.78rem;font-weight:700}
@media(max-width:760px){.pollution-hero{min-height:330px;padding:60px 18px}.pollution-hero h1{font-size:3.25rem}.pollution-intro{margin:55px auto;padding:0 18px}.pollution-problem,.pollution-policy,.pollution-map-grid{grid-template-columns:1fr;gap:30px}.pollution-problem,.pollution-map,.pollution-documents{padding-left:18px;padding-right:18px}.pollution-policy{margin:58px auto;padding:0 18px}.pollution-documents>div{grid-template-columns:1fr}}
.outline-button,
.primary-button,
.light-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 0 20px;
  font-weight: 700;
  font-size: 0.76rem;
}
.outline-button {
  border: 1px solid var(--navy);
  color: var(--navy);
}
.primary-button {
  background: var(--navy);
  color: #fff;
}
.light-button {
  border: 1px solid rgba(255, 255, 255, 0.8);
  color: #fff;
}
.hero {
  min-height: 560px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #050b26;
}
.hero-image {
  position: absolute;
  inset: 0;
  background-position: center 52%;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.03);
}
.hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 45, 0.74) 0%,
    rgba(0, 0, 48, 0.48) 30%,
    rgba(0, 0, 40, 0.22) 58%,
    rgba(0, 0, 20, 0.06) 100%
  );
}
.hero-content {
  position: relative;
  max-width: 1200px;
  width: 100%;
  margin: auto;
  padding: 85px 28px;
  color: #fff;
}
.eyebrow {
  text-transform: uppercase;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  margin: 0 0 18px;
}
.eyebrow.navy {
  color: var(--navy);
}
.hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.6rem, 8vw, 6.6rem);
  font-weight: 400;
  line-height: 0.95;
  margin: 0 0 24px;
}
.hero-content > p:not(.eyebrow) {
  font-size: 1.12rem;
  max-width: 580px;
  line-height: 1.7;
}
.hero-actions {
  display: flex;
  gap: 12px;
  margin-top: 34px;
}
.hero-lockup {
  position: absolute;
  right: max(20px, calc((100vw - 1180px) / 2));
  top: 46%;
  transform: translateY(-50%);
  width: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
}
.hero-lockup-emblem {
  display: block;
  width: 218px;
  height: 218px;
  object-fit: cover;
  border-radius: 50%;
}
.hero-lockup-text {
  display: block;
  width: 240px;
  height: auto;
}
.hero-caption {
  position: absolute;
  right: max(28px, calc((100vw - 1144px) / 2));
  bottom: 28px;
  color: #fff;
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 15px;
  border-right: 2px solid rgba(255, 255, 255, 0.75);
  background: linear-gradient(90deg, transparent, rgba(0, 0, 50, 0.38));
}
.hero-caption span {
  font-size: 0.56rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.hero-caption strong {
  font-family: Georgia, serif;
  font-size: 1.05rem;
  font-weight: 400;
}
.hero-caption small {
  font-size: 0.58rem;
  color: #dce6ff;
}
.quick-links {
  max-width: 1200px;
  margin: -52px auto 0;
  padding: 0 28px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  box-shadow: 0 12px 40px rgba(7, 27, 72, 0.12);
}
.quick-links article {
  background: #fff;
  padding: 30px;
  min-height: 180px;
}
.quick-links h2 {
  font-family: Georgia, serif;
  color: var(--navy);
  font-weight: 400;
  font-size: 1.45rem;
  margin: 0 0 12px;
}
.quick-links p {
  font-size: 0.8rem;
  line-height: 1.6;
  color: var(--muted);
  min-height: 42px;
}
.quick-links a,
.text-link {
  font-size: 0.72rem;
  color: var(--navy);
  font-weight: 700;
}
a .link-arrow {
  display: inline-block;
  margin-left: 0.28em;
  color: var(--red);
  font-size: 1.45em;
  font-weight: 800;
  line-height: 0.7;
  vertical-align: -0.08em;
  transition: transform 160ms ease;
}
a:hover .link-arrow,
a:focus-visible .link-arrow {
  transform: translateX(3px);
}
a .link-arrow-back {
  margin-right: 0.28em;
  margin-left: 0;
}
a:hover .link-arrow-back,
a:focus-visible .link-arrow-back {
  transform: translateX(-3px);
}
.feature-section {
  max-width: 1200px;
  margin: 100px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
}
.feature-photo {
  min-height: 500px;
  background:
    linear-gradient(rgba(0, 0, 70, 0.08), rgba(0, 0, 50, 0.28)),
    url("/wp-content/uploads/gav-migration/pleiadi.jpg") center/cover;
}
.feature-copy {
  background: var(--sky);
  margin-left: -55px;
  padding: 64px;
}
.feature-copy h2,
.section-heading h2,
.archive-section h2 {
  font-family: Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--navy);
  margin: 0 0 24px;
}
.feature-copy > p:not(.eyebrow) {
  font-size: 0.86rem;
  line-height: 1.8;
  color: #4c5872;
}
.feature-copy ul {
  padding-left: 18px;
  color: #354260;
  font-size: 0.78rem;
  line-height: 2;
}
.events-section {
  max-width: 1040px;
  margin: 100px auto;
  padding: 0 28px;
}
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 34px;
}
.section-heading h2 {
  margin: 0;
}
.event-list {
  border-top: 1px solid var(--line);
}
.event {
  display: grid;
  grid-template-columns: 90px 1fr 50px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  padding: 24px 0;
}
.event-date {
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  color: var(--navy);
}
.event-date strong {
  font-family: Georgia, serif;
  font-size: 2.3rem;
  font-weight: 400;
}
.event-date span {
  font-size: 0.7rem;
  font-weight: 700;
}
.event-date small {
  margin-top: 5px;
  color: #4c5872;
  font-size: 0.68rem;
  font-weight: 700;
}
.event > div:nth-child(2) {
  padding-left: 28px;
}
.event p {
  margin: 0 0 5px;
  color: var(--navy);
  font-size: 0.62rem;
  text-transform: uppercase;
  font-weight: 700;
}
.event h3 {
  margin: 0 0 8px;
  font-family: Georgia, serif;
  font-size: 1.5rem;
  font-weight: 400;
}
.event span {
  font-size: 0.72rem;
  color: var(--muted);
}
.event > a {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--red);
}
.event > a .link-arrow {
  margin-left: 0;
  font-size: 1.9rem;
}
.hero-caption .link-arrow {
  font-size: 1.3rem;
}
.notice {
  background: var(--sky);
  padding: 16px 20px;
  font-size: 0.7rem;
  line-height: 1.6;
  margin-top: 28px;
}
.gallery-section {
  background: #00004f;
  color: #fff;
  padding: 86px max(28px, calc((100vw - 1144px) / 2));
}
.section-heading.light h2 {
  color: #fff;
}
.section-heading.light a {
  font-size: 0.72rem;
  font-weight: 700;
}
.gallery-grid {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 20px;
}
.gallery-card {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  background: #11184c;
}
.gallery-card.large {
  min-height: 480px;
}
.gallery-card img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.gallery-card:hover img {
  transform: scale(1.03);
}
.gallery-card:after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, rgba(0, 0, 35, 0.92));
}
.gallery-card div {
  position: absolute;
  z-index: 1;
  left: 28px;
  right: 28px;
  bottom: 25px;
}
.gallery-card span {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.gallery-card h3 {
  font-family: Georgia, serif;
  font-size: 1.65rem;
  font-weight: 400;
  margin: 8px 0;
}
.gallery-card p {
  font-size: 0.7rem;
  color: #dbe3ff;
}
.archive-section {
  max-width: 1100px;
  margin: 100px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 80px;
  align-items: center;
}
.archive-section > div > p:not(.eyebrow) {
  font-size: 0.84rem;
  color: var(--muted);
  line-height: 1.8;
  margin-bottom: 28px;
}
.archive-years {
  background: var(--sky);
  padding: 55px 30px;
  text-align: center;
  color: var(--navy);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}
.archive-years strong {
  font-family: Georgia, serif;
  font-size: 2.3rem;
  font-weight: 400;
}
.archive-years small {
  grid-column: 1/-1;
  margin-top: 16px;
  color: var(--muted);
}
footer {
  background: #f3f5f9;
  border-top: 4px solid var(--navy);
  padding: 48px 28px 22px;
  color: #4d5870;
}
.footer-grid {
  max-width: 1100px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 50px;
}
.footer-grid > div:first-child {
  display: flex;
  align-items: center;
  gap: 18px;
}
.footer-grid img {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  object-fit: cover;
}
.footer-grid h3 {
  font-size: 0.75rem;
  color: var(--navy);
  text-transform: uppercase;
}
.footer-grid p {
  font-size: 0.68rem;
  line-height: 1.7;
}
.copyright {
  max-width: 1100px;
  margin: 35px auto 0;
  border-top: 1px solid var(--line);
  padding-top: 18px;
  font-size: 0.62rem;
}
.home-sitemap-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: #aab1c0;
  text-underline-offset: 3px;
}
.home-sitemap-link:hover,
.home-sitemap-link:focus-visible {
  color: var(--red);
  text-decoration-color: currentColor;
}

.sitemap-hero {
  min-height: 330px;
  padding: 92px max(6vw, 32px) 72px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(2, 8, 38, .94), rgba(3, 17, 66, .72)),
    url("/wp-content/uploads/gav-migration/pleiadi.jpg") center 46% / cover;
}
.sitemap-hero h1 {
  max-width: 1100px;
  margin: 14px auto 16px;
  font-family: Georgia, serif;
  font-size: clamp(3rem, 7vw, 6.2rem);
  font-weight: 400;
  line-height: .95;
}
.sitemap-hero > p {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.sitemap-hero > p:last-child {
  max-width: 720px;
  margin-left: max(0px, calc((100% - 1100px) / 2));
  font-size: 1.05rem;
  line-height: 1.65;
}
.sitemap-intro {
  max-width: 1100px;
  margin: 72px auto 46px;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: end;
}
.sitemap-intro h2,
.sitemap-years h2 {
  margin: 10px 0 0;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: 400;
  line-height: 1.08;
}
.sitemap-intro > p,
.sitemap-years > div:first-child > p:last-child {
  color: var(--muted);
  line-height: 1.8;
}
.sitemap-grid {
  max-width: 1100px;
  margin: 0 auto 82px;
  padding: 0 28px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.sitemap-grid article {
  border-top: 4px solid var(--navy);
  background: #eef2f9;
  padding: 34px 34px 30px;
}
.sitemap-grid article > span {
  color: var(--red);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.sitemap-grid h2 {
  margin: 12px 0 22px;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: 1.8rem;
  font-weight: 400;
}
.sitemap-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 11px;
}
.sitemap-grid a {
  color: #1b3268;
  text-decoration: none;
  line-height: 1.45;
}
.sitemap-grid a::after {
  content: " →";
  color: var(--red);
  font-size: 1.35em;
  font-weight: 800;
  line-height: 0.7;
}
.sitemap-grid a:hover,
.sitemap-grid a:focus-visible {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.sitemap-grid .sitemap-wide {
  grid-column: 1 / -1;
}
.sitemap-wide ul {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 30px;
}
.sitemap-years {
  max-width: 1100px;
  margin: 0 auto 90px;
  padding: 54px 28px;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 70px;
}
.sitemap-year-links {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  align-content: start;
}
.sitemap-year-links a {
  border: 1px solid #d6dce8;
  padding: 9px 6px;
  color: var(--navy);
  background: #fff;
  text-align: center;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 700;
}
.sitemap-year-links a:hover,
.sitemap-year-links a:focus-visible {
  border-color: var(--red);
  color: var(--red);
}

@media (max-width: 800px) {
  .sitemap-hero {
    min-height: 270px;
    padding: 72px 24px 54px;
  }
  .sitemap-hero > p:last-child {
    margin-left: auto;
  }
  .sitemap-intro,
  .sitemap-years {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .sitemap-grid {
    grid-template-columns: 1fr;
  }
  .sitemap-grid .sitemap-wide {
    grid-column: auto;
  }
  .sitemap-wide ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sitemap-year-links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 460px) {
  .sitemap-grid article {
    padding: 28px 24px;
  }
  .sitemap-wide ul {
    grid-template-columns: 1fr;
  }
  .sitemap-year-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.inner-hero {
  position: relative;
  min-height: 430px;
  display: flex;
  align-items: end;
  overflow: hidden;
  background: #06102f;
}
.inner-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 68%;
}
.observatory-location-hero > img {
  inset: 0 0 0 auto;
  width: min(72%, 996px);
  object-fit: contain;
  object-position: center;
}
.inner-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 0, 55, 0.88), rgba(0, 0, 60, 0.38)),
    linear-gradient(0deg, rgba(0, 0, 40, 0.5), transparent 55%);
}
.inner-hero-copy {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 74px 28px;
  color: #fff;
}
.inner-hero-copy h1 {
  font-family: Georgia, serif;
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 400;
  line-height: 1.02;
  margin: 0 0 20px;
}
.inner-hero-copy > p:not(.eyebrow) {
  font-size: 1rem;
  line-height: 1.7;
}
.breadcrumbs {
  max-width: 1100px;
  margin: 24px auto;
  padding: 0 28px;
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-size: 0.66rem;
}
.breadcrumbs a {
  color: var(--navy);
}
.breadcrumbs strong {
  font-weight: 400;
}
.observatory-intro {
  max-width: 1100px;
  margin: 80px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 75px;
  align-items: center;
}
.observatory-intro h2,
.observatory-section h2,
.access-section h2 {
  font-family: Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.35rem);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.08;
  margin: 0 0 24px;
}
.observatory-intro > div > p:not(.eyebrow),
.observatory-section p,
.access-section p {
  font-size: 0.82rem;
  line-height: 1.85;
  color: #4f5b73;
}
.observatory-intro figure,
.equipment-grid figure,
.room-grid figure {
  margin: 0;
}
.observatory-intro figure img {
  width: 100%;
  min-height: 360px;
  object-fit: cover;
}
.observatory-intro figcaption {
  font-size: 0.62rem;
  color: var(--muted);
  margin-top: 9px;
}
.location-card {
  max-width: 1100px;
  margin: 0 auto 95px;
  padding: 38px;
  background: #f5f7fb;
  border-top: 4px solid var(--navy);
}
.location-card-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 30px;
}
.location-card-heading h2 {
  font-family: Georgia, serif;
  font-size: 2.45rem;
  font-weight: 400;
  color: var(--navy);
  margin: 0;
}
.location-data {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.location-data > div {
  min-height: 118px;
  padding: 20px 24px;
  background: #fff;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.location-data span {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.11em;
  color: var(--navy);
  font-weight: 700;
  margin-bottom: 9px;
}
.location-data strong {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  font-size: 1.12rem;
  line-height: 1.4;
  color: #182443;
}
.location-data small {
  font-size: 0.67rem;
  color: var(--muted);
  margin-top: 6px;
  line-height: 1.45;
}
.historical-note {
  margin: 18px 0 0;
  font-size: 0.65rem;
  line-height: 1.6;
  color: var(--muted);
}
.observatory-section {
  padding: 90px max(28px, calc((100vw - 1100px) / 2));
}
.section-title {
  text-align: center;
  margin-bottom: 44px;
}
.equipment-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 70px;
  align-items: center;
}
.equipment-grid figure img {
  display: block;
  width: 100%;
  height: 520px;
  object-fit: cover;
}
.equipment-grid h3 {
  font-family: Georgia, serif;
  color: var(--navy);
  font-size: 1.7rem;
  font-weight: 400;
}
.equipment-grid dl {
  margin: 28px 0;
  border-top: 1px solid var(--line);
}
.equipment-grid dl div {
  display: grid;
  grid-template-columns: 145px 1fr;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.72rem;
}
.equipment-grid dt {
  font-weight: 700;
  color: var(--navy);
}
.equipment-grid dd {
  margin: 0;
  color: var(--muted);
}
.observatory-section.pale {
  background: var(--sky);
}
.room-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
.room-grid figure img {
  width: 100%;
  height: 470px;
  object-fit: cover;
}
.room-grid .primary-button {
  margin-top: 18px;
}
.access-section {
  max-width: 1100px;
  margin: 90px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 80px;
}
.access-section aside {
  background: #f3f5f9;
  border-top: 4px solid var(--navy);
  padding: 30px;
}
.access-section aside > strong {
  font-family: Georgia, serif;
  color: var(--navy);
  font-size: 1.35rem;
  font-weight: 400;
}
.access-section aside ul {
  padding-left: 18px;
  margin: 20px 0 25px;
  font-size: 0.72rem;
  line-height: 1.85;
  color: #4f5b73;
}
.access-section .outline-button {
  background: #fff;
}
.active {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.gav-page-hero > img {
  object-position: center 48%;
}
.gav-intro {
  max-width: 1100px;
  margin: 82px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 80px;
}
.gav-intro h2,
.history-section h2,
.gav-activities h2,
.gav-heritage h2,
.join-section h2 {
  font-family: Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.45rem);
  font-weight: 400;
  line-height: 1.08;
  margin: 0;
}
.gav-intro h2,
.history-section h2,
.gav-heritage h2 {
  color: var(--navy);
}
.gav-intro p,
.gav-heritage p {
  font-size: 0.82rem;
  line-height: 1.85;
  color: #4f5b73;
}
.history-section {
  background: var(--sky);
  padding: 88px max(28px, calc((100vw - 1100px) / 2));
}
.history-timeline {
  margin-top: 44px;
  border-top: 1px solid var(--line);
}
.history-scroll-window {
  max-height: 510px;
  padding-right: 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: var(--red) rgba(8, 20, 63, 0.1);
  scrollbar-width: thin;
}
.history-scroll-window:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: 6px;
}
.history-scroll-window::-webkit-scrollbar {
  width: 9px;
}
.history-scroll-window::-webkit-scrollbar-track {
  background: rgba(8, 20, 63, 0.08);
}
.history-scroll-window::-webkit-scrollbar-thumb {
  background: var(--red);
  border-radius: 9px;
}
.history-scroll-hint {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.72rem;
  text-align: right;
}
.full-history-link {
  margin-top: 34px;
  padding: 26px 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  align-items: center;
  color: #fff;
  background: var(--navy);
}
.full-history-link strong {
  font-family: Georgia, serif;
  font-size: 1.35rem;
  font-weight: 400;
}
.full-history-link p {
  max-width: 660px;
  margin: 8px 0 0;
  color: #d8def0;
  font-size: 0.78rem;
  line-height: 1.65;
}
.full-history-link .primary-button {
  white-space: nowrap;
}
.history-timeline article {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 40px;
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
}
.history-timeline article > span {
  font-family: Georgia, serif;
  font-size: 1.4rem;
  color: var(--red);
}
.history-timeline h3 {
  font-family: Georgia, serif;
  font-size: 1.45rem;
  font-weight: 400;
  color: var(--navy);
  margin: 0 0 8px;
}
.history-timeline p {
  font-size: 0.76rem;
  line-height: 1.75;
  color: #4f5b73;
  margin: 0;
}
.gav-activities {
  background: #08143f;
  color: #fff;
  padding: 90px max(28px, calc((100vw - 1100px) / 2));
}
.gav-activities .section-title {
  text-align: left;
}
.gav-activity-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 42px;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}
.gav-activity-grid article {
  padding: 28px 24px;
  min-height: 245px;
  border-right: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.gav-activity-grid article > span {
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  color: #aebce4;
}
.gav-activity-grid h3 {
  font-family: Georgia, serif;
  font-size: 1.38rem;
  font-weight: 400;
  margin: 42px 0 14px;
}
.gav-activity-grid p {
  font-size: 0.7rem;
  line-height: 1.75;
  color: #d8def0;
}
.gav-heritage {
  max-width: 1100px;
  margin: 90px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 80px;
  align-items: start;
}
.gav-heritage .primary-button {
  margin-top: 16px;
}
.gav-heritage aside {
  background: #f3f5f9;
  border-top: 4px solid var(--navy);
  padding: 30px;
}
.gav-heritage aside > strong {
  font-family: Georgia, serif;
  font-size: 1.45rem;
  font-weight: 400;
  color: var(--navy);
}
.gav-heritage dl {
  margin: 24px 0 0;
}
.gav-heritage dl div {
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}
.gav-heritage dt {
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--muted);
}
.gav-heritage dd {
  font-family: Georgia, serif;
  font-size: 1rem;
  color: var(--navy);
  margin: 5px 0 0;
}
.join-section {
  background: var(--red);
  color: #fff;
  padding: 64px max(28px, calc((100vw - 1100px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}
.join-section > div {
  max-width: 720px;
}
.join-section p:not(.eyebrow) {
  font-size: 0.78rem;
  line-height: 1.75;
  margin-bottom: 0;
}
.join-section .light-button {
  white-space: nowrap;
}
.activities-hero > img {
  object-position: center 55%;
}
.upcoming-events {
  max-width: 1100px;
  margin: 82px auto 95px;
  padding: 0 28px;
}
.event-updated {
  color: var(--muted);
  font-size: 0.82rem;
}
.upcoming-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.upcoming-grid article {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 28px;
  min-height: 310px;
  padding: 32px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--navy);
  background: #fff;
}
.large-event-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: start;
  border-right: 1px solid var(--line);
  padding-right: 25px;
  color: var(--navy);
}
.large-event-date strong {
  font-family: Georgia, serif;
  font-size: 3.8rem;
  font-weight: 400;
  line-height: 0.9;
}
.large-event-date span {
  color: var(--red);
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  margin-top: 9px;
}
.large-event-date small {
  color: var(--muted);
  font-size: 0.78rem;
  margin-top: 4px;
}
.large-event-date em {
  margin-top: 8px;
  color: #263558;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 700;
}
.upcoming-grid article {
  scroll-margin-top: 110px;
}
.event-kind {
  margin: 0 0 15px;
  color: var(--red);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.upcoming-grid h3 {
  font-family: Georgia, serif;
  font-size: 1.75rem;
  font-weight: 400;
  color: var(--navy);
  margin: 0 0 14px;
}
.event-place {
  display: block;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #263558;
}
.upcoming-grid article > div:last-child > p:not(.event-kind) {
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--muted);
}
.booking-note {
  display: inline-block;
  margin-top: 8px;
  padding: 7px 10px;
  background: var(--sky);
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 700;
}
.booking-policy {
  margin: 0 0 28px;
  padding: 25px 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
  background: #edf3ff;
  border: 1px solid #ced9ef;
  border-left: 4px solid var(--navy);
}
.booking-policy h3 {
  margin: 4px 0 8px;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: 1.35rem;
  font-weight: 400;
}
.booking-policy > div > p:last-child {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.65;
}
.booking-policy .primary-button {
  white-space: nowrap;
}
.weather-notice {
  margin-top: 22px;
  padding: 20px 24px;
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 24px;
  background: #fff5f4;
  border-left: 4px solid var(--red);
}
.weather-notice strong {
  color: var(--red);
  font-family: Georgia, serif;
  font-weight: 400;
  font-size: 1rem;
}
.weather-notice p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.65;
  color: #5b6170;
}
.weather-notice a {
  color: var(--navy);
  font-weight: 700;
  text-underline-offset: 3px;
}
.weather-notice a:hover,
.weather-notice a:focus-visible {
  color: var(--red);
}
.year-archive-section {
  max-width: 1100px;
  margin: 0 auto 95px;
  padding: 0 28px;
}
.year-archive-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 34px;
}
.year-archive-intro h2 {
  font-family: Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.45rem);
  font-weight: 400;
  line-height: 1.08;
  color: var(--navy);
  margin: 0;
}
.year-archive-intro > p {
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.75;
  margin: 0;
}
.year-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.year-grid a {
  min-height: 82px;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--navy);
  background: #fff;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.year-grid a:hover,
.year-grid a:focus-visible {
  color: #fff;
  background: var(--navy);
}
.year-grid a.current-year {
  color: #fff;
  background: var(--red);
}
.year-grid a.transferred-year {
  color: #fff;
  background: var(--navy);
}
.year-grid strong {
  font-family: Georgia, serif;
  font-size: 1.25rem;
  font-weight: 400;
}
.year-grid span {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.75;
}
.migration-note {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.6;
}
.past-events-section {
  padding: 88px max(28px, calc((100vw - 1100px) / 2));
  background: #08143f;
  color: #fff;
}
.archive-event-heading {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  align-items: end;
}
.archive-event-heading > div:first-child {
  max-width: 690px;
}
.archive-event-heading h2,
.activity-request h2 {
  font-family: Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.45rem);
  font-weight: 400;
  line-height: 1.08;
  margin: 0 0 18px;
}
.archive-event-heading p:not(.eyebrow) {
  color: #d8def0;
  font-size: 0.94rem;
  line-height: 1.7;
}
.year-marker {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.year-marker span {
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #aebce4;
}
.year-marker strong {
  font-family: Georgia, serif;
  font-size: 3.2rem;
  font-weight: 400;
}
.past-events-scroll {
  max-height: 610px;
  overflow-y: auto;
  margin-top: 38px;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  scrollbar-color: #e34c47 rgba(255, 255, 255, 0.2);
  scrollbar-width: auto;
}
.past-events-scroll::-webkit-scrollbar,
.activity-year-scroll::-webkit-scrollbar {
  width: 14px;
}
.past-events-scroll::-webkit-scrollbar-track,
.activity-year-scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.18);
  border-radius: 8px;
}
.past-events-scroll::-webkit-scrollbar-thumb,
.activity-year-scroll::-webkit-scrollbar-thumb {
  min-height: 54px;
  background: #e34c47;
  border: 3px solid #07133e;
  border-radius: 8px;
}
.past-events-scroll::-webkit-scrollbar-thumb:hover,
.activity-year-scroll::-webkit-scrollbar-thumb:hover {
  background: #ff706b;
}
.past-events-scroll:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 5px;
}
.past-events-scroll article {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 42px;
  padding: 26px 18px 26px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.past-events-scroll time {
  font-family: Georgia, serif;
  font-size: 1.05rem;
  color: #fff;
}
.past-events-scroll article span {
  color: #eab4b2;
  font-size: 0.74rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.past-events-scroll h3 {
  font-family: Georgia, serif;
  font-size: 1.42rem;
  font-weight: 400;
  margin: 7px 0 8px;
}
.past-events-scroll article strong {
  color: #cbd5f1;
  font-size: 0.84rem;
}
.past-events-scroll article p {
  color: #d8def0;
  font-size: 0.9rem;
  line-height: 1.65;
  margin: 8px 0 0;
}
.scroll-hint {
  margin: 14px 0 0;
  color: #aebce4;
  font-size: 0.78rem;
  text-align: right;
}
.activity-request {
  max-width: 1100px;
  margin: 88px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 80px;
  align-items: center;
}
.activity-request h2 {
  color: var(--navy);
}

.activity-year-hero{min-height:360px;padding:76px max(28px,calc((100vw - 1100px)/2));display:flex;align-items:end;justify-content:space-between;gap:50px;color:#fff;background:linear-gradient(105deg,rgba(2,9,42,.98),rgba(8,27,98,.82)),url('/wp-content/uploads/gav-migration/attivita-eventi-gav.png') center 56%/cover}.activity-year-hero>div{max-width:780px}.activity-year-hero h1{margin:8px 0 16px;font:400 clamp(3.2rem,7vw,6.2rem)/.95 Georgia,serif}.activity-year-hero>div>p:last-child{max-width:650px;color:#dce4f8;font-size:1.08rem;line-height:1.65}.activity-year-hero>strong{font:400 clamp(4.5rem,11vw,9rem)/.8 Georgia,serif;color:rgba(255,255,255,.18)}
.activity-year-intro{max-width:1100px;margin:80px auto;padding:0 28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.activity-year-intro h2,.activity-year-actions h2{margin:5px 0;color:var(--navy);font:400 clamp(2.4rem,4.8vw,4rem)/1.05 Georgia,serif}.activity-year-intro>div:last-child>p{margin:0 0 28px;color:var(--muted);line-height:1.75}.activity-year-intro dl{display:grid;grid-template-columns:repeat(2,1fr);margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.activity-year-intro dl div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.activity-year-intro dt{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.activity-year-intro dd{margin:8px 0 0;color:var(--navy);font:400 1.4rem Georgia,serif}
.activity-year-window{padding:76px max(28px,calc((100vw - 1100px)/2));color:#fff;background:#07133e}.activity-year-window>header{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}.activity-year-window h2{max-width:780px;margin:6px 0 0;font:400 clamp(2.2rem,4vw,3.5rem)/1.08 Georgia,serif}.activity-year-window>header>p{color:#aebce4;font-size:.78rem}.activity-year-scroll{max-height:720px;overflow-y:auto;padding-right:18px;border-top:1px solid rgba(255,255,255,.22);scrollbar-color:#e34c47 rgba(255,255,255,.2);scrollbar-width:auto}.activity-year-scroll:focus-visible{outline:2px solid #fff;outline-offset:6px}.activity-month{display:grid;grid-template-columns:150px 1fr;gap:38px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.18)}.activity-month h3{position:sticky;top:0;align-self:start;margin:0;color:#e9b0ae;font:400 1.6rem Georgia,serif}.activity-month article{display:grid;grid-template-columns:105px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}.activity-month article:last-child{border-bottom:0}.activity-month time{color:#fff;font-weight:700;font-size:.82rem}.activity-month p{margin:0;color:#d7def2;font-size:.88rem;line-height:1.65}
.activity-year-quote{max-width:900px;margin:80px auto;padding:0 28px;color:var(--navy);font:italic 400 clamp(1.55rem,3vw,2.4rem)/1.45 Georgia,serif;text-align:center}.activity-year-quote cite{display:block;margin-top:16px;color:var(--red);font:700 .72rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}
.activity-year-actions{max-width:1100px;margin:80px auto 95px;padding:0 28px;display:grid;grid-template-columns:1fr auto;gap:70px;align-items:center}.activity-year-actions p:not(.eyebrow){max-width:700px;color:var(--muted);line-height:1.7}
.activity-year-interruption{max-width:1044px;margin:72px auto 0;padding:34px 38px;background:#fff1ef;border-left:6px solid var(--red)}.activity-year-interruption h2{margin:5px 0 12px;color:var(--navy);font:400 2rem Georgia,serif}.activity-year-interruption>p:last-child{margin:0;color:#4f5668;line-height:1.7}

.astrofoto-page-heading {
  max-width: 1100px;
  margin: 0 auto;
  padding: 58px 28px 42px;
}
.astrofoto-page-heading h1 {
  margin: 4px 0 12px;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: clamp(3rem, 7vw, 5.7rem);
  font-weight: 400;
  line-height: 0.98;
}
.astrofoto-page-heading > p:last-child {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.55;
}

.images-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
}
.images-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}
.images-hero-sheet-link {
  position: relative;
  z-index: 1;
  margin: 0 0 24px max(20px, calc((100vw - 1100px) / 2));
  padding: 14px 18px;
  color: #fff;
  background: rgba(0,0,70,.78);
  border: 1px solid rgba(255,255,255,.65);
  font-size: .78rem;
  font-weight: 700;
}
.images-intro,
.archive-method {
  max-width: 1100px;
  margin: 84px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 80px;
}
.images-intro h2,
.image-categories h2,
.images-featured h2,
.archive-method h2 {
  font-family: Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.45rem);
  font-weight: 400;
  line-height: 1.08;
  color: var(--navy);
  margin: 0;
}
.images-intro > div:last-child p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.78;
}
.image-categories {
  max-width: 1100px;
  margin: 0 auto 100px;
  padding: 0 28px;
}
.category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.category-grid a {
  min-height: 235px;
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
  color: var(--navy);
  background: #fff;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  transition: background 0.2s ease, color 0.2s ease;
}
.category-grid a:hover,
.category-grid a:focus-visible {
  background: var(--navy);
  color: #fff;
}
.category-grid span {
  color: var(--red);
  font-size: 0.76rem;
  font-weight: 700;
}
.category-grid h3 {
  margin: 32px 0 10px;
  font-family: Georgia, serif;
  font-size: 1.45rem;
  font-weight: 400;
}
.category-grid p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.6;
  color: var(--muted);
}
.category-grid a:hover p,
.category-grid a:focus-visible p {
  color: #d8def0;
}
.category-grid strong {
  margin-top: auto;
  padding-top: 20px;
  font-size: 0.76rem;
}
.images-featured {
  padding: 88px max(28px, calc((100vw - 1100px) / 2));
  background: #08143f;
  color: #fff;
}
.images-featured:not(.archive-featured),
.astrofoto-records-heading,
.featured-record { display: none; }
.featured-record:target { display: grid; }
.archive-featured-grid article { min-height: 410px; aspect-ratio: 4 / 3; }
.archive-featured-grid img { object-position: center; }
.astrofoto-categories,.astrofoto-search,.category-gallery-intro,.category-gallery-wrap{max-width:1100px;margin:88px auto;padding:0 28px}.astrofoto-categories .section-heading>p{max-width:330px;color:var(--muted);font-size:.86rem;line-height:1.6}.astrofoto-categories h2,.astrofoto-search h2,.category-gallery-intro h2{margin:0;color:var(--navy);font:400 clamp(2.2rem,4vw,3.45rem)/1.08 Georgia,serif}.astrofoto-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.astrofoto-category-grid>a{position:relative;min-height:300px;overflow:hidden;color:#fff;background:#07133b}.astrofoto-category-grid>a>img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.astrofoto-category-grid>a>span{position:absolute;inset:0;background:linear-gradient(transparent 15%,rgba(2,7,27,.94))}.astrofoto-category-grid>a>div{position:absolute;inset:auto 0 0;padding:24px}.astrofoto-category-grid small{color:#efb6b2;font-weight:700}.astrofoto-category-grid h3{margin:8px 0;color:#fff;font:400 1.7rem Georgia,serif}.astrofoto-category-grid p{margin:0 0 18px;color:#dfe5f7;font-size:.78rem;line-height:1.5}.astrofoto-category-grid strong{font-size:.74rem}.astrofoto-category-grid>a:hover>img,.astrofoto-category-grid>a:focus-visible>img{transform:scale(1.05)}.astrofoto-search{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-top:65px;border-top:1px solid var(--line)}.astrofoto-search>div>p:last-child{color:var(--muted);line-height:1.7}.astrofoto-search-box label{display:block;margin-bottom:9px;color:var(--navy);font-weight:700}.astrofoto-search-box input{width:100%;padding:18px;border:2px solid var(--navy);font:inherit;color:var(--navy);background:#fff}.astrofoto-search-results{margin-top:14px;border:1px solid var(--line)}.astrofoto-search-results>p{margin:0;padding:12px 14px;color:var(--muted);font-size:.78rem;background:var(--sky)}.astrofoto-search-results>a{display:flex;gap:14px;align-items:center;padding:10px 14px;color:var(--navy);border-top:1px solid var(--line)}.astrofoto-search-results img{width:70px;height:52px;object-fit:cover}.astrofoto-search-results span{display:flex;flex-direction:column;gap:4px}.astrofoto-search-results small{color:var(--muted)}.category-gallery-hero{min-height:420px;padding:130px max(28px,calc((100vw - 1100px)/2)) 70px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background-size:cover;background-position:center}.category-gallery-hero h1{margin:8px 0 12px;font:400 clamp(3.5rem,8vw,7rem)/.92 Georgia,serif}.category-gallery-hero>p:last-child{max-width:650px;line-height:1.7}.category-gallery-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.category-gallery-intro>p{color:var(--muted);line-height:1.75}.category-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category-photo-grid button{padding:0;text-align:left;border:0;color:#fff;background:#061238;cursor:pointer}.category-photo-grid button>img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.category-photo-grid button>span{display:flex;min-height:90px;padding:15px;flex-direction:column;gap:6px}.category-photo-grid small{color:#bdc8ea}.category-photo-grid strong{font:400 1.15rem Georgia,serif}.category-empty{padding:50px;background:var(--sky);border-left:4px solid var(--navy)}.category-photo-dialog{position:fixed;z-index:1100;inset:0;padding:5vh 5vw;display:grid;place-items:center;color:#fff;background:rgba(1,5,21,.96);backdrop-filter:blur(8px)}.category-photo-dialog article{width:min(1180px,92vw);max-height:90vh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);overflow:auto;background:#07133b}.category-photo-dialog article>img{width:100%;height:100%;max-height:82vh;object-fit:contain;background:#000}.category-photo-dialog article>div{padding:36px}.category-photo-dialog h2{margin:8px 0 18px;font:400 clamp(2rem,4vw,3.4rem)/1 Georgia,serif}.category-photo-dialog article>div>p:last-of-type{color:#d8def0;line-height:1.7}.category-photo-dialog a{display:inline-block;margin-top:20px;padding:12px 15px;color:#fff;border:1px solid #fff}.category-photo-dialog .lightbox-close{z-index:2}
.images-featured h2 {
  color: #fff;
}
.images-featured .section-heading > p {
  max-width: 330px;
  color: #cbd5f1;
  font-size: 0.84rem;
}
.featured-heading-actions{max-width:390px;text-align:right}.featured-heading-actions p{margin:0 0 16px;color:#cbd5f1;font-size:.84rem;line-height:1.6}.featured-heading-actions .light-button{display:inline-block;padding:11px 16px;border:1px solid rgba(255,255,255,.6);color:#fff}
.historical-categories{scroll-margin-top:100px}
.featured-image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.featured-image-grid article {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  background: #111a39;
}
.featured-image-grid img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.astrofoto-enlargeable {
  cursor: zoom-in;
}
.astrofoto-records-heading{max-width:1100px;margin:78px auto 20px;padding:0 28px;scroll-margin-top:110px}.astrofoto-records-heading h2{margin:5px 0 15px;color:var(--navy);font:400 clamp(2.4rem,4.8vw,4rem)/1.06 Georgia,serif}.astrofoto-records-heading>p:last-child{max-width:760px;color:var(--muted);line-height:1.7}
.astrofoto-enlargeable:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -5px;
}
body.lightbox-open {
  overflow: hidden;
}
.astrofoto-lightbox {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 4vh 6vw;
  color: #fff;
  background: rgba(2, 7, 24, 0.94);
  backdrop-filter: blur(8px);
}
.astrofoto-lightbox figure {
  max-width: 90vw;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.astrofoto-lightbox figure > img {
  display: block;
  max-width: 90vw;
  max-height: 78vh;
  width: auto;
  height: auto;
  object-fit: contain;
  box-shadow: 0 20px 70px rgba(0, 0, 0, 0.45);
}
.astrofoto-lightbox figcaption {
  width: min(760px, 84vw);
  padding: 15px 44px 0;
  display: grid;
  gap: 4px;
  text-align: center;
  line-height: 1.45;
}
.astrofoto-lightbox figcaption strong {
  font-family: Georgia, serif;
  font-size: 1.15rem;
  font-weight: 400;
}
.astrofoto-lightbox figcaption span,
.astrofoto-lightbox figcaption small {
  color: #cbd5f1;
  font-size: 0.78rem;
}
.lightbox-close,
.lightbox-arrow {
  position: fixed;
  z-index: 1001;
  display: grid;
  place-items: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  cursor: pointer;
}
.lightbox-close {
  top: 22px;
  right: 22px;
  width: 48px;
  height: 48px;
  font-size: 2rem;
  line-height: 1;
}
.lightbox-arrow {
  top: 50%;
  width: 54px;
  height: 54px;
  translate: 0 -50%;
  font-size: 2.6rem;
  line-height: 1;
}
.lightbox-previous { left: 22px; }
.lightbox-next { right: 22px; }
.lightbox-close:hover,
.lightbox-arrow:hover,
.lightbox-close:focus-visible,
.lightbox-arrow:focus-visible {
  background: rgba(255, 255, 255, 0.22);
  outline: 2px solid #fff;
  outline-offset: 2px;
}
@media (max-width: 700px) {
  .astrofoto-lightbox {
    padding: 62px 14px 24px;
  }
  .astrofoto-lightbox figure > img {
    max-width: calc(100vw - 28px);
    max-height: 72vh;
  }
  .astrofoto-lightbox figcaption {
    width: calc(100vw - 28px);
    padding: 12px 50px 0;
  }
  .lightbox-arrow {
    top: auto;
    bottom: 20px;
    width: 44px;
    height: 44px;
    translate: none;
  }
  .lightbox-previous { left: 18px; }
  .lightbox-next { right: 18px; }
}
.featured-image-grid article > div {
  position: absolute;
  inset: auto 0 0;
  padding: 70px 28px 28px;
  background: linear-gradient(transparent, rgba(3, 9, 31, 0.94));
}
.featured-sheet-link {
  display: inline-block;
  margin-top: 14px;
  color: #fff;
  font-size: 0.76rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.featured-record {
  scroll-margin-top: 110px;
}
.record-session-note {
  margin-top: 24px;
  padding: 20px 22px;
  color: #334267;
  background: var(--sky);
  border-left: 3px solid var(--navy);
}
.record-session-note p { margin: 0; font-size: .82rem; line-height: 1.7; }
.historical-categories {
  margin-top: 100px;
}
.historical-categories-note {
  max-width: 720px;
  margin: -26px 0 30px;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.65;
}
.featured-image-grid span {
  color: #eab4b2;
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.featured-image-grid h3 {
  margin: 8px 0;
  font-family: Georgia, serif;
  font-size: 1.8rem;
  font-weight: 400;
}
.featured-image-grid p {
  margin: 0;
  color: #d8def0;
  font-size: 0.88rem;
}
.featured-record {
  max-width: 1100px;
  margin: 92px auto;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 54px;
  align-items: start;
}
.featured-record + .featured-record {
  margin-top: 0;
  padding-top: 92px;
  border-top: 1px solid var(--line);
}
.featured-record figure {
  margin: 0;
  position: sticky;
  top: 110px;
}
.featured-record figure img {
  display: block;
  width: 100%;
  height: auto;
}
.featured-record figcaption {
  padding-top: 12px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.55;
}
.featured-record-copy h2 {
  margin: 0 0 8px;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: clamp(2.3rem, 4vw, 3.6rem);
  font-weight: 400;
}
.featured-record-copy > p:not(.eyebrow):not(.object-name):not(.processing-note) {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.75;
}
.object-name {
  margin: 0 0 25px;
  color: var(--red);
  font-size: 0.82rem;
  font-weight: 700;
}
.record-data-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 30px;
}
.record-data-grid section {
  border-top: 3px solid var(--navy);
  padding-top: 17px;
}
.record-data-grid h3 {
  margin: 0 0 13px;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: 1.3rem;
  font-weight: 400;
}
.record-data-grid dl,
.record-data-grid dd {
  margin: 0;
}
.record-data-grid dl > div {
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}
.record-data-grid dt {
  color: var(--muted);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.record-data-grid dd {
  margin-top: 3px;
  color: #263558;
  font-size: 0.82rem;
  line-height: 1.45;
}
.processing-note {
  margin: 24px 0 0;
  padding: 17px 19px;
  background: var(--sky);
  color: var(--navy);
  font-size: 0.82rem;
  line-height: 1.6;
}
.astronews-hero{min-height:520px;padding:120px max(28px,calc((100vw - 1100px)/2)) 72px;display:grid;grid-template-columns:1fr auto;gap:70px;align-items:end;color:#fff;background-image:radial-gradient(circle at 80% 20%,rgba(114,146,224,.2),transparent 28%),linear-gradient(145deg,rgba(5,20,82,.88),rgba(0,5,35,.8)),url('/wp-content/uploads/gav-migration/astronews-nebulosa.png');background-position:center,center,center 46%;background-size:auto,auto,cover;background-repeat:no-repeat}
.astronews-hero h1{margin:8px 0 18px;font:400 clamp(4rem,9vw,7rem)/.92 Georgia,serif}.astronews-hero>div>p:last-child{max-width:650px;color:#d8def0;font-size:1rem;line-height:1.7}.astronews-hero aside{min-width:220px;padding-left:32px;border-left:1px solid rgba(255,255,255,.3);display:flex;flex-direction:column}.astronews-hero aside strong{font:400 4rem Georgia,serif}.astronews-hero aside span{font-size:.9rem;font-weight:700}.astronews-hero aside small{max-width:180px;margin-top:7px;color:#aebce4;font-size:.72rem;line-height:1.5}
.astronews-intro{max-width:1100px;margin:84px auto;padding:0 28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.astronews-intro h2,.astronews-list>h2,.astronews-note h2{margin:0;color:var(--navy);font:400 clamp(2.2rem,4vw,3.45rem)/1.08 Georgia,serif}.astronews-intro>div:last-child p{margin:0 0 18px;color:var(--muted);font-size:.94rem;line-height:1.75}
.astronews-years{max-width:1100px;margin:0 auto 100px;padding:0 28px;display:grid;grid-template-columns:220px 1fr;gap:60px;align-items:start}.astronews-year-nav{position:sticky;top:110px}.astronews-year-nav>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.astronews-year-nav a{padding:9px 5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--navy);background:#fff;font-size:.75rem;text-align:center}.astronews-year-nav a:hover{color:#fff;background:var(--navy)}
.astronews-list>h2{margin-bottom:30px}.astronews-list article{scroll-margin-top:100px;border-top:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:130px 1fr;gap:25px}.astronews-list article h3{margin:0;color:var(--navy);font:400 2.1rem Georgia,serif}.astronews-list article header span{color:var(--muted);font-size:.72rem}.astronews-list article>div{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.astronews-list article a{min-height:70px;padding:14px 15px;display:flex;flex-direction:column;justify-content:space-between;color:var(--navy);background:var(--sky);border-left:3px solid #93a4d8}.astronews-list article a:hover{color:#fff;background:var(--navy);border-left-color:var(--red)}.astronews-list article a span{font-size:.85rem;line-height:1.35;text-transform:capitalize}.astronews-list article a strong{margin-top:8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.astronews-note{padding:75px max(28px,calc((100vw - 1100px)/2));display:grid;grid-template-columns:1fr 1fr;gap:80px;color:#fff;background:#08143f}.astronews-note h2{color:#fff}.astronews-note>p{margin:30px 0 0;color:#d8def0;font-size:.94rem;line-height:1.75}
@media(max-width:760px){.astronews-hero,.astronews-intro,.astronews-years,.astronews-note{grid-template-columns:1fr}.astronews-hero{min-height:480px;gap:35px;padding-left:18px;padding-right:18px}.astronews-hero aside{padding:20px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.3)}.astronews-intro,.astronews-years{gap:25px;padding-left:18px;padding-right:18px}.astronews-year-nav{position:static}.astronews-list article,.astronews-list article>div{grid-template-columns:1fr}}
.archive-method {
  align-items: start;
}
.archive-method ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}
.archive-method li {
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  color: #263558;
  font-size: 0.92rem;
}

@media (max-width: 760px) {
  .astrofoto-categories,.astrofoto-search,.category-gallery-intro,.category-gallery-wrap{margin:58px auto;padding-left:18px;padding-right:18px}.astrofoto-category-grid{grid-template-columns:repeat(2,1fr)}.astrofoto-category-grid>a{min-height:255px}.astrofoto-category-grid>a>div{padding:17px}.astrofoto-category-grid h3{font-size:1.35rem}.astrofoto-search,.category-gallery-intro{grid-template-columns:1fr;gap:24px}.category-photo-grid{grid-template-columns:repeat(2,1fr)}.category-photo-dialog{padding:0}.category-photo-dialog article{width:100vw;max-height:100vh;grid-template-columns:1fr}.category-photo-dialog article>img{height:55vh}.category-photo-dialog article>div{padding:24px}.category-gallery-hero{min-height:360px;padding:110px 18px 45px}
  .images-hero {
    min-height: 440px;
  }
  .images-hero-sheet-link {
    margin: 0 18px 18px;
    width: calc(100% - 36px);
    text-align: center;
  }
  .images-intro,
  .archive-method {
    grid-template-columns: 1fr;
    gap: 24px;
    padding-left: 18px;
    padding-right: 18px;
    margin: 58px auto;
  }
  .image-categories {
    padding-left: 18px;
    padding-right: 18px;
    margin-bottom: 65px;
  }
  .category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .category-grid a {
    min-height: 210px;
    padding: 22px 18px;
  }
  .featured-image-grid {
    grid-template-columns: 1fr;
  }
  .featured-image-grid article {
    min-height: 390px;
  }
  .featured-heading-actions{text-align:left}.astrofoto-records-heading{margin:58px auto 10px;padding:0 18px}
  .featured-record {
    grid-template-columns: 1fr;
    gap: 30px;
    margin: 58px auto;
    padding-left: 18px;
    padding-right: 18px;
  }
  .featured-record figure {
    position: static;
  }
  .record-data-grid {
    grid-template-columns: 1fr;
  }
}
.activity-request p:not(.eyebrow) {
  max-width: 730px;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.75;
}
@media (max-width: 850px) {
  nav {
    display: none;
  }
  .mobile-site-menu {
    display: block;
    position: fixed;
    top: 16px;
    right: 14px;
    z-index: 1000;
    color: #fff;
  }
  .mobile-site-menu summary {
    min-width: 78px;
    min-height: 46px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    cursor: pointer;
    list-style: none;
    color: #fff;
    background: var(--navy);
    border: 1px solid rgba(255,255,255,.45);
    box-shadow: 0 5px 18px rgba(5,14,48,.2);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
  }
  .mobile-site-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu-icon { width: 17px; display: grid; gap: 3px; }
  .mobile-menu-icon i { height: 2px; display: block; background: currentColor; }
  .mobile-site-menu nav {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: min(290px, calc(100vw - 28px));
    max-height: calc(100vh - 86px);
    overflow-y: auto;
    padding: 8px;
    display: grid;
    gap: 0;
    color: var(--navy);
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 14px 38px rgba(5,14,48,.24);
  }
  .mobile-site-menu nav a {
    min-height: 46px;
    padding: 13px 14px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--line);
  }
  .mobile-site-menu nav a:last-child { border-bottom: 0; }
  .brand span {
    width: 245px;
  }
  .brand strong {
    font-size: 1.18rem;
  }
  .brand small {
    font-size: 0.93rem;
  }
  .hero-lockup {
    right: 8px;
    width: 245px;
  }
  .hero-lockup-emblem {
    width: 158px;
    height: 158px;
  }
  .hero-lockup-text {
    width: 175px;
  }
  .quick-links {
    grid-template-columns: repeat(2, 1fr);
  }
  .feature-section {
    grid-template-columns: 1fr;
  }
  .feature-photo {
    min-height: 360px;
  }
  .feature-copy {
    margin: -40px 22px 0;
    padding: 40px;
  }
  .gallery-grid {
    grid-template-columns: 1fr;
  }
  .archive-section {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-grid > div:first-child {
    grid-column: 1/-1;
  }
  .observatory-intro,
  .equipment-grid,
  .room-grid,
  .access-section {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .equipment-grid figure img,
  .room-grid figure img {
    height: 420px;
  }
  .observatory-intro figure {
    order: -1;
  }
  .gav-activity-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .upcoming-grid {
    grid-template-columns: 1fr;
  }
  .year-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (max-width: 560px) {
  .header-inner {
    padding: 7px 12px;
    gap: 8px;
  }
  .brand {
    gap: 8px;
  }
  .brand-emblem {
    width: 62px;
    height: 62px;
  }
  .brand span {
    width: 190px;
  }
  .brand strong {
    font-size: 0.91rem;
  }
  .brand small {
    display: block;
    font-size: 0.72rem;
  }
  .mobile-site-menu { top: 15px; right: 10px; }
  .mobile-site-menu summary { min-width: 48px; width: 48px; padding: 0; }
  .mobile-site-menu summary > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .outline-button {
    display: none;
  }
  .hero {
    min-height: 660px;
  }
  .hero-content {
    padding: 55px 20px 270px;
  }
  .hero-actions {
    flex-direction: column;
    align-items: stretch;
    max-width: 270px;
  }
  .hero-lockup {
    left: 20px;
    right: 20px;
    top: auto;
    bottom: 128px;
    transform: none;
    width: auto;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
  }
  .hero-lockup-emblem {
    width: 92px;
    height: 92px;
  }
  .hero-lockup-text {
    width: 128px;
  }
  .hero-caption {
    left: 20px;
    right: 16px;
    bottom: 12px;
    min-height: 94px;
    justify-content: center;
  }
  .quick-links {
    grid-template-columns: 1fr;
    margin-top: -42px;
    padding: 0 16px;
  }
  .quick-links article {
    min-height: auto;
  }
  .feature-section,
  .events-section,
  .archive-section {
    padding-left: 16px;
    padding-right: 16px;
    margin: 72px auto;
  }
  .feature-copy {
    margin: -25px 12px 0;
    padding: 30px 24px;
  }
  .section-heading {
    align-items: flex-start;
    gap: 18px;
  }
  .event {
    grid-template-columns: 72px 1fr 26px;
  }
  .event > div:nth-child(2) {
    padding-left: 18px;
  }
  .gallery-section {
    padding: 68px 16px;
  }
  .gallery-card.large {
    min-height: 400px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-grid > div:first-child {
    grid-column: auto;
  }
  .inner-hero {
    min-height: 390px;
  }
  .inner-hero-copy {
    padding: 58px 18px;
  }
  .observatory-location-hero > img {
    inset: 0;
    width: 100%;
    object-fit: contain;
    object-position: center;
  }
  .breadcrumbs {
    padding: 0 18px;
  }
  .observatory-intro,
  .access-section {
    padding-left: 18px;
    padding-right: 18px;
    margin: 58px auto;
  }
  .observatory-section {
    padding: 65px 18px;
  }
  .location-card {
    margin: 0 18px 55px;
    padding: 24px 18px;
  }
  .location-card-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .location-card-heading h2 {
    font-size: 2rem;
  }
  .location-data {
    grid-template-columns: 1fr;
  }
  .location-data > div {
    min-height: auto;
  }
  .location-data strong {
    font-size: 0.96rem;
  }
  .equipment-grid figure img,
  .room-grid figure img {
    height: 340px;
  }
  .equipment-grid dl div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .observatory-intro figure img {
    min-height: 280px;
  }
  .gav-intro,
  .gav-heritage {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-left: 18px;
    padding-right: 18px;
    margin: 58px auto;
  }
  .history-section,
  .gav-activities {
    padding: 65px 18px;
  }
  .history-timeline article {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .history-scroll-window {
    max-height: 480px;
    padding-right: 14px;
  }
  .full-history-link {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 24px 20px;
  }
  .gav-activity-grid {
    grid-template-columns: 1fr;
  }
  .gav-activity-grid article {
    min-height: auto;
  }
  .gav-activity-grid h3 {
    margin-top: 25px;
  }
  .join-section {
    padding: 52px 18px;
    align-items: flex-start;
    flex-direction: column;
  }
  .upcoming-events,
  .year-archive-section,
  .activity-request {
    padding-left: 18px;
    padding-right: 18px;
    margin: 58px auto;
  }
  .upcoming-grid article {
    grid-template-columns: 78px 1fr;
    gap: 18px;
    padding: 24px 18px;
  }
  .large-event-date {
    padding-right: 16px;
  }
  .large-event-date strong {
    font-size: 3rem;
  }
  .weather-notice,
  .booking-policy,
  .year-archive-intro,
  .activity-request {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .booking-policy {
    padding: 22px 18px;
  }
  .past-events-section {
    padding: 65px 18px;
  }
  .year-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .archive-event-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }
  .year-marker {
    align-items: flex-start;
  }
  .past-events-scroll {
    max-height: 560px;
  }
  .past-events-scroll article {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .activity-year-hero {
    min-height: 310px;
    padding: 55px 18px;
    align-items: flex-end;
  }
  .activity-year-hero > strong {
    display: none;
  }
  .activity-year-intro,
  .activity-year-actions {
    margin: 58px auto;
    padding-left: 18px;
    padding-right: 18px;
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .activity-year-window {
    padding: 58px 18px;
  }
  .activity-year-window > header {
    display: block;
  }
  .activity-year-window > header > p {
    margin-top: 18px;
  }
  .activity-year-scroll {
    max-height: 650px;
    padding-right: 10px;
  }
  .activity-month {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .activity-month h3 {
    position: static;
  }
  .activity-month article {
    grid-template-columns: 82px 1fr;
    gap: 14px;
  }
}
/* Divulgazione per le scuole */
.didactic-hero { min-height: 500px; display: flex; align-items: flex-end; padding: 76px max(6vw, 48px); color: white; background: linear-gradient(90deg, rgba(2,13,66,.92), rgba(2,13,66,.48) 58%, rgba(2,13,66,.08)), url('/wp-content/uploads/gav-migration/divulgazione-bambini-gav.png') center 18% / cover no-repeat; }
.didactic-hero-copy { max-width: 790px; }
.didactic-hero h1 { margin: 10px 0 18px; font-size: clamp(3.2rem, 7vw, 6.5rem); line-height: .94; }
.didactic-hero-copy > p:not(.eyebrow) { max-width: 620px; font-size: 1.3rem; line-height: 1.5; }
.didactic-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding: 72px max(6vw, 48px); }
.didactic-intro h2, .didactic-topics h2, .didactic-request h2 { margin: 8px 0 0; color: #071985; font-size: clamp(2.25rem, 4.5vw, 4.5rem); line-height: 1.02; }
.didactic-intro p { margin: 0 0 20px; color: #425274; font-size: 1.08rem; line-height: 1.75; }
.didactic-topics { padding: 0 max(4vw, 32px) 72px; }
.didactic-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 5px solid #071985; border-left: 1px solid #cad4e8; }
.didactic-grid article { min-height: 265px; padding: 34px 30px; border-right: 1px solid #cad4e8; border-bottom: 1px solid #cad4e8; background: #f2f6fc; }
.didactic-grid article > span { color: #071985; font-family: Georgia, serif; font-weight: 700; }
.didactic-grid h3 { margin: 28px 0 14px; color: #071985; font-family: Georgia, serif; font-size: 1.7rem; }
.didactic-grid p { color: #506080; line-height: 1.65; }
.didactic-request { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; margin: 0 max(4vw, 32px) 56px; padding: 54px; color: white; background: #071985; }
.didactic-request h2 { color: white; }
.didactic-request p { margin: 0 0 20px; font-size: 1.05rem; line-height: 1.7; }
.didactic-request .light-button { display: inline-block; margin-top: 12px; }
.didactic-signature { width: min(920px, calc(100% - 48px)); margin: 0 auto 64px; padding: 36px 0; color: #071985; border-top: 1px solid #cfd6e7; border-bottom: 1px solid #cfd6e7; }
.didactic-signature p { margin: 0 0 8px; }
.didactic-signature strong { display: block; font-family: Georgia, serif; font-size: 1.25rem; line-height: 1.5; }
.didactic-signature small { display: block; margin-top: 24px; color: #65718d; }
.school-hero { min-height: 520px; display: flex; align-items: flex-end; padding: 76px max(6vw, 48px); color: white; background: linear-gradient(90deg, rgba(2,13,66,.9) 0%, rgba(2,13,66,.58) 48%, rgba(2,13,66,.1) 78%), url('/wp-content/uploads/gav-migration/divulgazione-bambini-gav.png') center 24% / cover no-repeat; }
.school-hero-copy { max-width: 760px; }
.school-hero h1 { margin: 10px 0 18px; font-size: clamp(3.2rem, 7vw, 6.8rem); line-height: .92; }
.school-hero-copy > p:not(.eyebrow) { max-width: 650px; font-size: 1.28rem; line-height: 1.55; }
.school-hero-copy > span { display: block; margin-top: 22px; font-family: Georgia, serif; font-size: 1.05rem; }
.school-story { width: min(920px, calc(100% - 48px)); margin: 70px auto; color: #33446d; font-size: 1.08rem; line-height: 1.85; }
.school-story p { margin: 0 0 28px; }
.school-story .school-lead { color: #071985; font-family: Georgia, serif; font-size: clamp(1.35rem, 2.2vw, 1.75rem); line-height: 1.55; }
.school-story blockquote { margin: 52px 0; padding: 42px; color: white; background: #071985; }
.school-story blockquote p { margin: 0; font-family: Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.25; }
.school-story blockquote cite { display: block; margin-top: 16px; font-style: normal; }
.school-update { padding-top: 18px; border-top: 1px solid #cfd6e7; font-size: .9rem; }
.school-actions, .historical-source { margin: 0 max(4vw, 32px) 64px; padding: 52px; }
.school-actions { display: grid; grid-template-columns: .85fr 1.15fr; gap: 54px; background: #edf3fc; }
.school-actions h2, .historical-source h2 { margin: 8px 0 0; color: #071985; font-size: clamp(2rem, 4vw, 3.8rem); }
.school-action-links { display: grid; align-content: center; }
.school-action-links a { display: flex; justify-content: space-between; gap: 24px; padding: 21px 0; border-bottom: 1px solid #bbc8e4; color: #071985; font-weight: 700; text-decoration: none; }
.historical-source { display: flex; align-items: center; justify-content: space-between; gap: 38px; color: white; background: #071985; }
.historical-source h2 { color: white; }
.historical-source p { max-width: 680px; }
@media (max-width: 760px) {
  .didactic-hero { min-height: 570px; padding: 54px 24px; background-position: 62% 18%; }
  .didactic-hero h1 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .didactic-intro { grid-template-columns: 1fr; gap: 26px; padding: 48px 22px; }
  .didactic-topics { padding: 0 20px 48px; }
  .didactic-grid { grid-template-columns: 1fr; }
  .didactic-grid article { min-height: auto; }
  .didactic-request { grid-template-columns: 1fr; gap: 28px; margin: 0 20px 42px; padding: 34px 24px; }
  .didactic-signature { width: calc(100% - 40px); }
  .school-hero { min-height: 590px; padding: 58px 24px; background-position: 63% 24%; }
  .school-hero h1 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .school-story { width: calc(100% - 40px); margin: 46px auto; font-size: 1rem; }
  .school-story blockquote { margin: 38px 0; padding: 28px 24px; }
  .school-actions, .historical-source { margin: 0 20px 42px; padding: 32px 24px; }
  .school-actions { grid-template-columns: 1fr; gap: 24px; }
  .historical-source { align-items: flex-start; flex-direction: column; }
}

/* Griglia compatta delle raccolte Astrofoto */
.category-photo-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.category-photo-grid > a { display: block; color: #fff; background: #061238; transition: none; }
.category-photo-grid > a:hover,
.category-photo-grid > a:focus-visible { transform: none !important; box-shadow: none !important; }
.category-photo-grid > a > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: none; }
.category-photo-grid > a:hover > img,
.category-photo-grid > a:focus-visible > img { transform: none; }
.category-photo-grid > a > span { display: flex; min-height: 76px; padding: 12px 13px; flex-direction: column; gap: 5px; }
.category-photo-grid > a small { color: #bdc8ea; font-size: .68rem; }
.category-photo-grid > a strong { font: 400 1rem/1.15 Georgia, serif; }
@media (max-width: 1050px) and (min-width: 761px) { .category-photo-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px) { .category-photo-grid { grid-template-columns: repeat(2, 1fr); } }

.astrofoto-category-grid > a > img { transition: none !important; }
.astrofoto-category-grid > a:hover > img,
.astrofoto-category-grid > a:focus-visible > img { transform: none !important; }

/* Invito e ingrandimento delicato nelle schede Astrofoto */
.featured-record figure {
  overflow: hidden;
}
.featured-record figure::before {
  content: "Clicca per ingrandire";
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  padding: 8px 11px;
  color: #fff;
  background: rgba(3, 13, 64, .82);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  pointer-events: none;
}
.featured-record figure img {
  transition: transform .35s ease;
  transform-origin: center;
}
.featured-record figure:hover img,
.featured-record figure:focus-within img {
  transform: none;
}

/* La pagina principale mostra soltanto il nuovo archivio. La scheda richiesta
   appare singolarmente quando viene aperta da una raccolta. */
.featured-record { display: none !important; }
.featured-record:target { display: grid !important; }
.archive-method,
.historical-categories { display: none !important; }

/* Ingrandimento stabile: l'immagine utilizza davvero lo spazio disponibile. */
.astrofoto-lightbox figure {
  width: 96vw;
  height: 92vh;
  max-width: none;
  justify-content: center;
}
.astrofoto-lightbox figure > img {
  width: 100%;
  height: 80vh;
  max-width: none;
  max-height: none;
  object-fit: contain;
}
.category-filter {
  margin-bottom: 28px;
}
.category-filter label {
  display: block;
  margin-bottom: 9px;
  color: var(--navy);
  font-weight: 700;
}
.category-filter > div {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  border: 2px solid var(--navy);
  background: #fff;
}
.category-filter input {
  min-width: 0;
  padding: 16px 18px;
  color: var(--navy);
  background: transparent;
  border: 0;
  outline: 0;
  font: inherit;
}
.category-filter > div:focus-within {
  outline: 3px solid rgba(7, 25, 133, .18);
  outline-offset: 3px;
}
.category-filter span {
  padding: 0 18px;
  color: var(--muted);
  font-size: .78rem;
  white-space: nowrap;
}
.category-no-results { margin-top: 0; }
.category-back-nav {
  max-width: 1100px;
  margin: 30px auto -42px;
  padding: 0 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  align-items: center;
}
.category-back-nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  color: var(--red);
  background: transparent;
  border: 0;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}
.category-back-nav a:hover,
.category-back-nav a:focus-visible {
  color: #9f1d16;
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.astrofoto-back-nav { justify-content: flex-start; }
@media (max-width: 520px) {
  .category-filter > div { grid-template-columns: 1fr; }
  .category-filter span { padding: 0 18px 13px; }
  .category-back-nav { margin-top: 22px; padding: 0 18px; gap: 8px 18px; }
  .astrofoto-back-nav { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .category-photo-grid > a > img,
  .featured-record figure img { transition: none; }
  .category-photo-grid > a:hover > img,
  .category-photo-grid > a:focus-visible > img,
  .featured-record figure:hover img,
  .featured-record figure:focus-within img { transform: none; }
}

/* Scheda autonoma delle raccolte storiche */
.astrofoto-single-sheet {
  width: min(1180px, calc(100% - 56px));
  margin: 72px auto 96px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 58px;
  align-items: start;
}
.astrofoto-single-sheet figure { margin: 0; }
.astrofoto-single-sheet figure img {
  display: block;
  width: 100%;
  max-height: 72vh;
  object-fit: contain;
  background: #020616;
  cursor: zoom-in;
}
.astrofoto-single-sheet figcaption { margin-top: 10px; color: var(--muted); font-size: .76rem; }
.astrofoto-single-sheet h1 { margin: 10px 0 16px; color: var(--navy); font: 400 clamp(2.5rem, 5vw, 4.8rem)/.98 Georgia, serif; }
.astrofoto-single-sheet .object-name { color: var(--navy); font-family: Georgia, serif; font-size: 1.18rem; }
.astrofoto-single-sheet > div > p:not(.eyebrow):not(.object-name) { color: #415174; font-size: 1.02rem; line-height: 1.75; }
.astrofoto-single-sheet .text-link { display: inline-block; margin-top: 24px; }
@media (max-width: 800px) {
  .astrofoto-single-sheet { width: calc(100% - 36px); margin: 42px auto 68px; grid-template-columns: 1fr; gap: 32px; }
}

/* Piccoli richiami al rosso storico GAV sulle superfici chiare */
.eyebrow.navy,
.event-date span,
.event p,
.location-data span,
.board-grid span,
.sections-index-grid span,
.light-pollution-link span,
.astronews-list article header span,
.didactic-grid article > span,
.comet-tech dt,
.asteroid-data-grid dt,
.meteor-photo-record dt {
  color: var(--red);
}

.quick-links a:hover,
.text-link:hover,
.sections-index-grid a:hover,
.light-pollution-link a:hover,
.school-action-links a:hover {
  color: var(--red);
}

/* Archivio grafico del GAV */
.graphic-archive-hero {
  min-height: 430px;
  padding: 90px max(28px, calc((100vw - 1100px) / 2));
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 72px;
  align-items: end;
  color: #fff;
  background: linear-gradient(130deg, #050b28 0%, #111f5a 68%, #2a438f 100%);
}
.graphic-archive-hero > div { max-width: 790px; }
.graphic-archive-hero h1 {
  margin: 7px 0 18px;
  font: 400 clamp(3.4rem, 7vw, 6.2rem) / .95 Georgia, serif;
}
.graphic-archive-hero > div > p:last-child { max-width: 680px; color: #dbe3f7; font-size: 1rem; line-height: 1.7; }
.graphic-archive-hero aside { min-width: 210px; padding-left: 30px; display: flex; flex-direction: column; border-left: 2px solid var(--red); }
.graphic-archive-hero aside strong { font: 400 4rem / 1 Georgia, serif; }
.graphic-archive-hero aside span { margin-top: 7px; font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.graphic-archive-hero aside small { max-width: 195px; margin-top: 8px; color: #bdc9e9; font-size: .72rem; line-height: 1.5; }
.graphic-archive-intro {
  max-width: 1100px;
  margin: 80px auto 48px;
  padding: 0 28px;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 78px;
}
.graphic-archive-intro h2 { margin: 5px 0 0; color: var(--navy); font: 400 clamp(2.35rem, 4.6vw, 3.8rem) / 1.05 Georgia, serif; }
.graphic-archive-intro > div:last-child p { margin: 0 0 16px; color: var(--muted); font-size: .91rem; line-height: 1.75; }
.graphic-archive-grid {
  max-width: 1180px;
  margin: 0 auto 92px;
  padding: 0 28px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.graphic-archive-grid article { min-width: 0; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--navy); }
.graphic-archive-grid button { position: relative; height: 270px; padding: 14px; overflow: hidden; border: 0; background: #eef2f8; cursor: zoom-in; }
.graphic-archive-grid button img { width: 100%; height: 100%; display: block; object-fit: contain; }
.graphic-archive-grid button span { position: absolute; right: 10px; bottom: 10px; padding: 7px 9px; color: #fff; background: rgba(0, 0, 80, .88); font-size: .64rem; font-weight: 700; }
.graphic-archive-grid article > div { flex: 1; padding: 20px; }
.graphic-archive-grid article > div > p { margin: 0 0 10px; color: var(--red); font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.graphic-archive-grid h2 { margin: 0 0 11px; color: var(--navy); font: 400 1.3rem / 1.16 Georgia, serif; }
.graphic-archive-grid small { color: var(--muted); font-size: .75rem; line-height: 1.58; }
.graphic-archive-contribute {
  padding: 58px max(28px, calc((100vw - 1100px) / 2));
  display: grid;
  grid-template-columns: .9fr 1.2fr auto;
  gap: 55px;
  align-items: center;
  color: #fff;
  background: #111f5a;
}
.graphic-archive-contribute h2 { margin: 5px 0 0; font: 400 clamp(2rem, 3.7vw, 3rem) / 1.05 Georgia, serif; }
.graphic-archive-contribute > p { margin: 0; color: #d5def4; font-size: .86rem; line-height: 1.7; }
.graphic-archive-contribute .light-button { white-space: nowrap; }
.archive-reference {
  max-width: 1100px;
  margin: 32px auto 0;
  padding: 19px 22px;
  display: grid;
  grid-template-columns: .9fr 1.4fr auto;
  gap: 28px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-left: 3px solid var(--red);
}
.archive-reference span { color: var(--red); font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.archive-reference strong { display: block; margin-top: 5px; color: var(--navy); font: 400 1.25rem Georgia, serif; }
.archive-reference p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.6; }
.archive-reference a { color: var(--navy); font-size: .72rem; font-weight: 700; white-space: nowrap; }
.archive-reference a:hover { color: var(--red); }
.activity-archive-reference { margin-top: -48px; margin-bottom: 72px; }
@media (max-width: 980px) {
  .graphic-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .graphic-archive-contribute { grid-template-columns: 1fr 1fr; }
  .graphic-archive-contribute .light-button { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 760px) {
  .graphic-archive-hero { min-height: 460px; padding: 60px 18px; grid-template-columns: 1fr; gap: 30px; }
  .graphic-archive-hero aside { padding: 18px 0 0; border-left: 0; border-top: 2px solid var(--red); }
  .graphic-archive-intro { margin: 58px auto 38px; padding: 0 18px; grid-template-columns: 1fr; gap: 25px; }
  .graphic-archive-grid { padding: 0 18px; grid-template-columns: 1fr; }
  .graphic-archive-grid button { height: 330px; }
  .graphic-archive-contribute { padding: 50px 18px; grid-template-columns: 1fr; gap: 22px; }
  .graphic-archive-contribute .light-button { grid-column: auto; }
  .archive-reference { margin-left: 18px; margin-right: 18px; padding: 18px; grid-template-columns: 1fr; gap: 12px; }
  .activity-archive-reference { margin-top: -42px; margin-bottom: 58px; }
}
:root{--wp-admin--admin-bar--height:32px}
.skip-link{position:fixed;left:12px;top:-100px;z-index:100000;padding:12px 18px;color:#fff;background:#000080}.skip-link:focus{top:12px}
.gav-wordpress>main{min-height:45vh}.gav-imported-page>header.site-header,.gav-imported-page>footer{display:none}.gav-imported-page>main{display:contents}
.generic-page-heading{padding:76px max(28px,calc((100vw - 1100px)/2));background:#eaf1fb}.generic-page-heading h1{margin:4px 0 18px;color:#000080;font:400 clamp(3rem,7vw,5.4rem)/1 Georgia,serif}.generic-content,.gav-search-results,.gav-contact-layout,.gav-event-single{max-width:1100px;margin:70px auto;padding:0 28px}.generic-content{font-size:1rem;line-height:1.8}.gav-search-results{display:grid;gap:20px}.gav-search-results article{padding:24px;border:1px solid var(--line);border-top:3px solid var(--navy)}.gav-search-results h2{margin:8px 0;font:400 1.8rem/1.2 Georgia,serif}.gav-search-results a{color:var(--navy)}
.category-gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.category-gallery-card{display:flex;min-width:0;flex-direction:column;color:#fff;background:#061340;text-decoration:none}.category-gallery-card img{width:100%;aspect-ratio:1/1;display:block;object-fit:cover}.category-gallery-card>span{padding:14px 16px 18px;display:grid;gap:6px}.category-gallery-card small{color:#cad5f3;font-size:.72rem}.category-gallery-card strong{font:400 1rem/1.25 Georgia,serif}.category-gallery-card:hover,.category-gallery-card:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.gav-lightbox-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.gav-lightbox{width:min(96vw,1500px);max-width:none;padding:46px 24px 20px;border:0;background:#020719;color:#fff}.gav-lightbox::backdrop{background:rgba(0,0,0,.92)}.gav-lightbox img{display:block;max-width:100%;max-height:82vh;margin:auto;object-fit:contain}.gav-lightbox p{text-align:center}.gav-lightbox-close{position:absolute;top:8px;right:14px;width:40px;height:40px;border:1px solid #fff;color:#fff;background:#000080;font-size:1.8rem;cursor:pointer}
.gav-photo-data{margin-top:30px;border-top:1px solid var(--line)}.gav-photo-data div{display:grid;grid-template-columns:minmax(120px,.45fr) 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.gav-photo-data dt{font-weight:700;color:var(--navy)}.gav-photo-data dd{margin:0;line-height:1.5}
.gav-event-single{display:grid;grid-template-columns:150px 1fr;gap:48px}.gav-event-single h1{margin:8px 0;color:var(--navy);font:400 clamp(2.7rem,6vw,5rem)/1 Georgia,serif}.gav-event-single .event-place{color:var(--muted)}.gav-event-single img{width:100%;height:auto;margin:28px 0}.gav-event-single .booking-policy{margin-top:36px}
.gav-contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.gav-contact-layout h2{color:var(--navy);font:400 2.3rem/1.1 Georgia,serif}.gav-contact-form{display:grid;gap:18px}.gav-contact-form p{display:grid;gap:7px;margin:0}.gav-contact-form label{font-weight:700;color:var(--navy)}.gav-contact-form input[type=text],.gav-contact-form input[type=email],.gav-contact-form textarea{width:100%;padding:12px;border:1px solid #9aa7c2;font:inherit}.gav-contact-form input:focus,.gav-contact-form textarea:focus{outline:3px solid rgba(223,47,36,.25);border-color:var(--red)}.gav-contact-form .gav-consent label{font-weight:400;color:var(--ink)}.gav-honeypot{position:absolute!important;left:-10000px!important}.gav-form-message{padding:14px 18px;border-left:4px solid}.gav-form-message.success{border-color:#18763e;background:#eef9f2}.gav-form-message.error{border-color:var(--red);background:#fff1f1}
footer a{color:inherit}.link-arrow{color:#e32219;font-size:1.3em;font-weight:700}
@media(max-width:1100px){.category-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.category-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-gallery-card>span{padding:10px}.gav-contact-layout,.gav-event-single{grid-template-columns:1fr;gap:28px}.gav-event-single{margin-top:40px;padding:0 18px}.gav-event-single .large-event-date{max-width:160px}.generic-page-heading{padding:58px 18px}.generic-content,.gav-search-results,.gav-contact-layout{margin:52px auto;padding-left:18px;padding-right:18px}.gav-photo-data div{grid-template-columns:1fr;gap:4px}}

/* Contatti email-only e pagine informative privacy/cookie */
.gav-contact-email-only{align-items:start}
.gav-contact-email-card{background:#f3f5f9;border-top:4px solid var(--navy);padding:30px}
.gav-contact-email-link{display:inline-block;margin:8px 0 14px;color:var(--navy);font:700 clamp(1.2rem,2.4vw,1.7rem)/1.25 Georgia,serif;overflow-wrap:anywhere}
.gav-contact-email-card p{line-height:1.7;color:#4f5b73}
.gav-contact-privacy-note{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.legal-page{max-width:900px}
.legal-page h2{margin:40px 0 12px;color:var(--navy);font:400 2rem/1.15 Georgia,serif}
.legal-page ul{padding-left:22px}
.legal-page li{margin:8px 0}
.legal-page a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.footer-grid + .copyright a{color:inherit;text-decoration:underline;text-underline-offset:3px}

.year-grid-empty { grid-column: 1 / -1; margin: 0; padding: 20px; color: var(--muted); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }

/* GAV 1.2.6 — footer navigabile */
.footer-grid h2 a,.footer-grid>div:first-child a{color:inherit;text-decoration:none}
.footer-grid h2 a:hover,.footer-grid h2 a:focus-visible,.footer-grid>div:first-child a:hover,.footer-grid>div:first-child a:focus-visible{color:var(--navy)}
.footer-grid a[href^="mailto:"]{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}

/* GAV 1.2.9 — sfondo intestazione selezionabile: al vivo + velatura blu coerente */
body.gav-page-header-bg main#contenuto > section:first-child,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > section:first-child{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  background-image:linear-gradient(90deg,rgba(2,9,36,.86) 0%,rgba(4,13,48,.52) 44%,rgba(4,13,48,.18) 74%,rgba(4,13,48,.05) 100%),var(--gav-page-header-bg)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
/* Quando si usa una foto scelta dalla pagina evitiamo una doppia velatura: il gradiente sopra è già sufficiente. */
body.gav-page-header-bg main#contenuto > section:first-child > .inner-hero-shade,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > section:first-child > .inner-hero-shade,
body.gav-page-header-bg main#contenuto > section:first-child > .outreach-hero-shade,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > section:first-child > .outreach-hero-shade{
  display:none!important;
}
/* Le intestazioni normalmente contenute diventano vere fasce fotografiche a tutta larghezza. */
body.gav-page-header-bg main#contenuto > .astrofoto-page-heading:first-child,
body.gav-page-header-bg main#contenuto > .generic-page-heading:first-child,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .generic-page-heading:first-child,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .relation-detail-heading:first-child{
  padding-left:max(28px,calc((100vw - 1100px)/2))!important;
  padding-right:max(28px,calc((100vw - 1100px)/2))!important;
}
/* Con la velatura blu anche i titoli nati scuri passano al bianco. */
body.gav-page-header-bg main#contenuto > .astrofoto-page-heading:first-child h1,
body.gav-page-header-bg main#contenuto > .astrofoto-page-heading:first-child .eyebrow,
body.gav-page-header-bg main#contenuto > .astrofoto-page-heading:first-child > p:last-child,
body.gav-page-header-bg main#contenuto > .generic-page-heading:first-child h1,
body.gav-page-header-bg main#contenuto > .generic-page-heading:first-child .eyebrow,
body.gav-page-header-bg main#contenuto > .generic-page-heading:first-child > p:last-child,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .generic-page-heading:first-child h1,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .generic-page-heading:first-child .eyebrow,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .generic-page-heading:first-child > p:last-child,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .relation-detail-heading:first-child h1,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .relation-detail-heading:first-child .eyebrow,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .relation-detail-heading:first-child > p:last-child{
  color:#fff!important;
}
body.gav-page-header-bg main#contenuto > .astrofoto-page-heading:first-child > p:last-child,
body.gav-page-header-bg main#contenuto > .generic-page-heading:first-child > p:last-child,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .generic-page-heading:first-child > p:last-child,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > .relation-detail-heading:first-child > p:last-child{
  color:#dbe4f8!important;
}
/* Se l'intestazione aveva già una fotografia propria, la scelta della pagina la sostituisce. */
body.gav-page-header-bg main#contenuto > section:first-child > img:first-child,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > section:first-child > img:first-child,
body.gav-page-header-bg main#contenuto > section:first-child > .outreach-hero-photo,
body.gav-page-header-bg main#contenuto > article.gav-imported-page > section:first-child > .outreach-hero-photo{
  display:none!important;
}

/* GAV 1.3.1 – accesso secondario al modulo Richiesta intervento */
.gav-contact-request-link{display:inline-block;color:var(--red);font-size:.88rem;font-weight:700;text-decoration:none}
.gav-contact-request-link:hover,.gav-contact-request-link:focus{text-decoration:underline}

/* Tema 1.3.2 — accesso visite Osservatorio */
.observatory-visit-card {
  max-width: 1100px;
  margin: 16px auto 82px;
  padding: 34px 38px;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 70px;
  align-items: start;
  background: var(--sky);
  border-top: 3px solid var(--navy);
}
.observatory-visit-card h2 {
  margin: 5px 0 0;
  color: var(--navy);
  font: 400 clamp(2rem, 3.7vw, 3.1rem)/1.05 Georgia, serif;
}
.observatory-visit-card > div:last-child p {
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.7;
}
.observatory-visit-card > div:last-child p + .text-link {
  display: inline-block;
  margin: 0 0 24px;
}
.observatory-visit-card .text-link {
  color: var(--navy);
  font-size: .76rem;
}
.room-grid .primary-button .link-arrow {
  margin-left: .5em;
}
@media (max-width: 760px) {
  .observatory-visit-card {
    margin: 8px 18px 58px;
    padding: 26px 22px;
    grid-template-columns: 1fr;
    gap: 22px;
  }
}
