:root {
  color-scheme: light;
  --paper: #fafaf9;
  --ink: #202522;
  --muted: #626963;
  --line: #d6dad5;
  --accent: #284b3e;
  --gutter: clamp(1.25rem, 3.7vw, 5rem);
  font-family: Arial, Helvetica, sans-serif;
  font-synthesis: none;
  background: var(--paper);
  color: var(--ink);
}
* { box-sizing: border-box; }
html { min-width: 280px; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
a { color: inherit; text-decoration: none; text-underline-offset: .3em; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
img { display: block; max-width: 100%; }
p, h1, figure { margin: 0; }
::selection { background: #d5e4da; color: #202522; }
.page-shell { max-width: 2000px; margin-inline: auto; padding-inline: var(--gutter); }
.skip-link { position: absolute; top: .75rem; left: var(--gutter); z-index: 10; padding: 1rem; background: var(--ink); color: white; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.masthead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 2rem 2.7rem; min-height: 137px; }
.brand { width: clamp(10rem, 14vw, 13.5rem); flex: 0 0 auto; }
.brand img { width: 100%; height: auto; }
.masthead-right { display: flex; align-items: center; gap: 4rem; }
.location { font-size: .875rem; }
.languages { display: flex; gap: .3rem; }
.languages a { display: grid; place-items: center; min-width: 44px; min-height: 44px; color: var(--muted); font-size: .875rem; position: relative; }
.languages a[aria-current] { color: var(--ink); }
.languages a[aria-current]::after { content: ''; position: absolute; height: 1px; width: 18px; bottom: 6px; background: var(--ink); }
.stage { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); gap: 2.5rem; align-items: stretch; padding-block: 1.3rem 3.6rem; }
.stage:focus { outline: none; }
.introduction { display: flex; flex-direction: column; padding-block: .8rem 3rem; }
.eyebrow { font-size: .875rem; line-height: 1.65; color: var(--muted); margin-bottom: clamp(2.6rem, 5.5vw, 6.6rem); }
h1 { font-size: clamp(2.8rem, 4.8vw, 6rem); line-height: 1.04; letter-spacing: -.052em; font-weight: 400; overflow-wrap: anywhere; }
h1 span { display: block; }
.coming-soon { margin-top: auto; padding-top: 3.5rem; font-size: .875rem; color: var(--muted); line-height: 1.6; }
.coming-soon::before { content: ''; display: block; width: 32px; height: 1px; background: var(--accent); margin-bottom: 1rem; }
.announcement { font-size: 1.25rem; color: var(--ink); letter-spacing: -.025em; }
.project { min-width: 0; }
.image-frame { overflow: hidden; aspect-ratio: 1.15; background: #d4dcd8; }
.image-frame picture { display: block; height: 100%; }
.image-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 46% 53%; }
figcaption { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1.25rem; padding-top: 1rem; font-size: .75rem; color: var(--muted); line-height: 1.5; }
.footer { display: grid; grid-template-columns: .65fr 1fr; gap: 1.5rem 2.5rem; padding-block: 1.7rem 1.9rem; border-top: 1px solid var(--line); }
.contact-title { font-size: 1rem; }
.contact-links { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1.5rem; font-style: normal; font-size: .875rem; }
.contact-links a { padding-block: .5rem; margin-top: -.5rem; line-height: 1.6; min-height: 44px; }
.email { display: flex; gap: .9rem; overflow-wrap: anywhere; }
.arrow { display: inline-block; font-size: 1rem; }
.copyright { grid-column: 2; font-size: .75rem; color: var(--muted); }
@media (prefers-reduced-motion: no-preference) {
  .introduction, .project { animation: enter .75s ease-out both; }
  .project { animation-delay: .1s; }
  @keyframes enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
@media (min-width: 1500px) {
  .stage { padding-top: 2.5rem; }
  .image-frame { aspect-ratio: 1.35; }
}
@media (max-width: 1020px) and (min-width: 761px) {
  .stage { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 1.5rem; }
  h1 { font-size: clamp(2.4rem, 5vw, 3.25rem); }
  .eyebrow { max-width: 17rem; margin-bottom: 3.5rem; }
  .image-frame { height: 100%; min-height: 460px; aspect-ratio: auto; }
  .project { display: flex; flex-direction: column; }
  .introduction { padding-bottom: 2rem; }
  .footer { grid-template-columns: .8fr 1fr; gap: 1.5rem; }
  .masthead-right { gap: 2rem; }
}
@media (max-width: 760px) {
  .masthead { min-height: 104px; padding-block: 1.4rem; gap: .5rem; }
  .brand { width: 9.5rem; }
  .location { display: none; }
  .masthead-right { gap: 0; }
  .stage { display: flex; flex-direction: column; gap: 2.5rem; padding-block: 1.7rem 2rem; }
  .introduction { padding: 0; }
  .eyebrow { font-size: .875rem; margin-bottom: 1.6rem; }
  h1 { font-size: clamp(2.5rem, 10.8vw, 4rem); line-height: 1.02; letter-spacing: -.045em; }
  h1 span { display: inline; }
  h1 span:not(:last-child)::after { content: ' '; }
  .coming-soon { margin-top: 0; padding-top: 1.8rem; }
  .coming-soon::before { display: none; }
  .image-frame { aspect-ratio: 1.2; }
  .image-frame img { object-position: 45% 52%; }
  figcaption { flex-direction: column; gap: .2rem; padding-top: .85rem; }
  .footer { grid-template-columns: 1fr; gap: 1rem; padding-block: 1.6rem 2rem; }
  .contact-links { flex-direction: column; align-items: flex-start; gap: 0; }
  .copyright { grid-column: 1; margin-top: .25rem; }
}
@media print {
  .page-shell { padding: 1.5rem; }
  .skip-link, .languages { display: none; }
  .stage { display: grid; grid-template-columns: 1fr 1fr; }
  .image-frame { aspect-ratio: 1.2; }
  h1 { font-size: 2.5rem; }
}
