:root{
  --ink:#f5f0e7;
  --paper:#071225;
  --paper-2:#0d2038;
  --line:rgba(245,240,231,.16);
  --cream:#e8d5af;
  --blue:#67a8c8;
  --red:#c84a2a;
  --muted:#b7c0c8;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.6;
  background:
    radial-gradient(circle at 20% 0%,rgba(63,133,167,.17),transparent 34rem),
    radial-gradient(circle at 90% 25%,rgba(232,213,175,.07),transparent 25rem),
    var(--paper);
}
a{color:inherit}
.shell{width:min(var(--max),92vw);margin:auto}
.site-header{
  position:sticky;top:0;z-index:10;
  background:rgba(7,18,37,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px)
}
.site-header .shell{
  display:flex;align-items:center;gap:clamp(1.25rem,2vw,2rem);padding:.8rem 0
}
.brand{
  display:flex;align-items:center;gap:clamp(.75rem,1.5vw,1.25rem);
  flex:1;min-width:0;text-decoration:none
}
.brand img{display:block;height:auto;border-radius:7px}
.brand .brand-orbit{width:190px;flex:0 0 190px}
.brand .brand-wordmark{width:0;min-width:0;flex:1;object-fit:contain}
.brand:focus-visible,.nav a:focus-visible{outline:2px solid var(--cream);outline-offset:5px}
.nav{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.6rem 1.2rem}
.nav a{white-space:nowrap}
.nav a{text-decoration:none;font-weight:700;font-size:.92rem;color:#dce4e9}
.nav a:hover,.nav a.active{color:var(--cream)}
.hero{padding:6rem 0 5rem;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);gap:4rem;align-items:center}
.eyebrow{
  margin:0 0 .65rem;
  color:var(--cream);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.75rem;
  font-weight:800
}
h1,h2,h3{line-height:1.06;margin-top:0}
h1{font-size:clamp(3rem,7vw,6.5rem);max-width:900px;margin-bottom:1.2rem;letter-spacing:-.045em}
h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.03em}
h3{font-size:1.45rem;letter-spacing:-.02em}
.dek{font-size:1.35rem;color:#e6dbc6;max-width:760px}
.hero-copy>p:not(.eyebrow):not(.dek){max-width:760px;color:#c8d1d8}
.button{
  display:inline-block;margin-top:1rem;padding:.9rem 1.2rem;border-radius:999px;
  background:var(--cream);color:#071225;font-weight:800;text-decoration:none
}
.button:hover{transform:translateY(-1px)}
.management-note{
  border:1px solid var(--line);border-radius:18px;padding:2rem;
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 25px 60px rgba(0,0,0,.25)
}
.management-note h2{font-size:2rem}
.stamp{
  display:inline-block;margin:0 0 1.4rem;padding:.3rem .6rem;
  border:1px solid rgba(200,74,42,.7);color:#ef9d86;
  text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:800
}
.signature{color:var(--cream);font-weight:700}
.section{padding:5rem 0}
.section-heading{
  display:flex;justify-content:space-between;align-items:end;gap:2rem;
  margin-bottom:2rem
}
.section-heading>p{max-width:360px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{
  min-height:330px;padding:1.7rem;border-radius:16px;border:1px solid var(--line);
  background:rgba(255,255,255,.035);display:flex;flex-direction:column
}
.card p{color:#bdc8d0}
.card .meta{color:var(--blue);font-size:.82rem;font-weight:700}
.card a{margin-top:auto;color:var(--cream);text-decoration:none;font-weight:800}
.card .card-photo{display:block;margin:0 0 .3rem}
.card-photo img{display:block;width:100%;height:auto;border-radius:9px;border:1px solid var(--line)}
.card-character{display:block;width:100%;max-width:280px;height:auto;align-self:center;margin:.25rem auto 1.25rem}
.evidence{padding:5rem 0;background:var(--paper-2);border-block:1px solid var(--line)}
.evidence-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:center}
.evidence p{color:#c3cdd3}
.text-link{color:var(--cream);text-decoration:none;font-weight:800}
.evidence-placeholder{
  aspect-ratio:16/9;border:1px dashed rgba(232,213,175,.45);
  border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;
  background:
    linear-gradient(135deg,rgba(103,168,200,.12),rgba(232,213,175,.05)),
    repeating-linear-gradient(45deg,transparent 0 18px,rgba(255,255,255,.025) 18px 19px);
  color:var(--cream);font-size:1.3rem;font-weight:700
}
.evidence-placeholder small{font-weight:400;color:#aab6bf;margin-top:.4rem}
.narrow{max-width:900px;text-align:center}
blockquote{font-size:clamp(2rem,4vw,4rem);line-height:1.15;margin:0;color:var(--cream);font-weight:800}
.attribution{color:var(--muted)}
.corporate{padding:3rem 0;border-top:1px solid var(--line);text-align:center}
.corporate h2{margin-bottom:.5rem;font-size:2rem}
.corporate p{max-width:700px;margin:.3rem auto;color:#b8c2ca}
.footer{padding:2rem 0 3rem;color:#8f9da8;font-size:.83rem;border-top:1px solid var(--line)}
.footer-grid{display:flex;justify-content:space-between;gap:2rem}
@media (max-width:1100px){
  .site-header{position:static}
  .site-header .shell{flex-direction:column;align-items:flex-start;gap:1rem}
  .brand{flex:none;width:100%;max-width:760px}
  .brand .brand-orbit{width:clamp(88px,23vw,190px);flex-basis:clamp(88px,23vw,190px)}
  .nav{width:100%;padding-top:.75rem;border-top:1px solid var(--line)}
}
@media (max-width:820px){
  .hero{padding:4rem 0}
  .hero-grid,.evidence-grid{grid-template-columns:1fr;gap:2rem}
  .cards{grid-template-columns:1fr}
  .section-heading,.footer-grid{display:block}
  h1{font-size:clamp(2.7rem,13vw,5rem)}
}

/* Vacation gallery announcement */
.vacation-news{background:#e8d5af;color:#071225;border-bottom:3px solid #c84a2a}
.vacation-news-inner{display:flex;align-items:center;gap:.5rem;padding:.7rem 0}
.news-pause{flex:0 0 auto;accent-color:#071225}
.news-pause-label{flex:0 0 auto;font-size:.8rem;cursor:pointer;margin-right:.8rem}
.news-window{display:block;min-width:0;flex:1;overflow:hidden;text-decoration:none;font-weight:700}
.news-scroll{display:block;width:max-content;padding-left:100%;animation:vacation-scroll 24s linear infinite}
.news-scroll strong{text-transform:uppercase;color:#862d17}
.news-cta{text-decoration:underline;text-underline-offset:3px}
.news-pause:checked ~ .news-window .news-scroll,.vacation-news:hover .news-scroll,.vacation-news:focus-within .news-scroll{animation-play-state:paused}
.news-window:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@keyframes vacation-scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.vacation-gallery-promo{margin:2rem 0;padding:1.5rem;border:1px solid var(--line);border-left:4px solid var(--cream);border-radius:12px;background:var(--paper-2)}
.vacation-gallery-promo h2{font-size:clamp(1.5rem,4vw,2.2rem);margin-bottom:.7rem}
.vacation-gallery-promo p:not(.eyebrow){color:var(--muted)}
@media(max-width:600px),(prefers-reduced-motion:reduce){
  .news-scroll{width:auto;padding-left:0;animation:none}
  .news-pause,.news-pause-label{display:none}
  .news-window{overflow:visible}
}

/* Four public statements, arranged in two columns on larger screens. */
.public-statements-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.union-card-images{display:flex;align-items:center;gap:1.25rem;margin:.25rem 0 1rem}
.union-card-portrait{display:block;width:88px;height:auto;border-radius:8px}
.union-card-logo{display:block;width:64px;height:64px;object-fit:contain;border-radius:4px}
@media(max-width:820px){.public-statements-cards{grid-template-columns:1fr}.union-card-portrait{width:72px}}
