:root {
  color-scheme: light;
  --ink: #102448;
  --blue: #2563eb;
  --muted: #647187;
  --line: #e5eaf2;
  font-family: "Segoe UI", Inter, Arial, sans-serif;
  font-synthesis: none;
  color: var(--ink);
  background: #fff;
}
* { box-sizing: border-box; }
body { margin: 0; font-size: 1rem; line-height: 1.75; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--blue); outline-offset: 6px; border-radius: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 10; padding: .6rem 1rem; background: var(--ink); color: #fff; }
.skip-link:focus { top: 1rem; }
/* Show the complete, unchanged original logo while hiding only its empty canvas margins. */
.brand-window { position: relative; aspect-ratio: 1040 / 742; overflow: hidden; flex-shrink: 0; }
.brand-window > img { position: absolute; width: 120.576923%; max-width: none; height: auto; left: -10.384615%; top: -35.714286%; }
.home { min-height: calc(100svh - 44px); padding: 48px 24px 28px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.home-logo { width: min(780px, 84vw, 70svh); }
.home-destinations { margin-top: 42px; display: flex; flex-direction: column; align-items: center; width: 100%; }
.social-icons { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; max-width: 680px; }
.social-icon { display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transition: background .16s ease, transform .16s ease; }
.social-icon img { width: 24px; height: 24px; opacity: .76; transition: opacity .16s ease; }
.social-icon:hover, .social-icon:focus-visible { background: #edf3ff; transform: translateY(-2px); }
.social-icon:hover img, .social-icon:focus-visible img { opacity: 1; }
.social-notice { min-height: 1.5em; max-width: 100%; margin: 9px 0 11px; font-size: .8125rem; line-height: 1.5; text-align: center; color: var(--muted); overflow-wrap: anywhere; }
.blog-link { display: inline-flex; align-items: center; gap: 20px; font-size: .9375rem; font-weight: 600; letter-spacing: .16em; line-height: 1.5; padding: 7px 0; border-bottom: 1px solid #bdc9dc; }
.blog-link span { font-size: 1.15rem; font-weight: 400; letter-spacing: 0; color: var(--blue); }
.blog-link:hover { color: var(--blue); border-bottom-color: var(--blue); }
.home-footer { min-height: 44px; padding: 10px 24px 14px; text-align: center; font-size: .75rem; color: #778296; }
.blog-shell { width: min(1080px, calc(100% - 96px)); margin-inline: auto; }
.back-nav { display: flex; justify-content: flex-end; padding-top: 27px; font-size: .875rem; color: var(--muted); }
.back-nav a { padding: 5px 0 5px 12px; }
.back-nav a span { margin-right: 7px; }
.back-nav a:hover, .blog-footer a:hover { color: var(--blue); }
.blog-masthead { display: flex; align-items: center; gap: clamp(48px, 6vw, 88px); padding: 24px 0 50px; border-bottom: 1px solid var(--line); }
.blog-logo { display: block; width: min(340px, 32vw, 35svh); }
.blog-masthead h1 { margin: 0; font-size: clamp(4rem, 8vw, 7rem); line-height: 1; font-weight: 650; letter-spacing: -.045em; }
.journal { width: min(760px, 100%); }
.article { padding: 44px 0; border-bottom: 1px solid var(--line); }
.article:last-child { border-bottom: 0; }
.article-meta { margin: 0 0 13px; font-size: .75rem; line-height: 1.6; font-weight: 600; letter-spacing: .09em; color: var(--muted); }
.article-meta span { padding-inline: 12px; color: #a9b6c9; }
.article h2 { margin: 0 0 20px; font-size: clamp(1.5rem, 2.5vw, 1.875rem); font-weight: 650; letter-spacing: -.025em; line-height: 1.3; overflow-wrap: break-word; }
.article > p:not(.article-meta) { max-width: 700px; margin: 0 0 16px; color: #465670; }
.article > p:last-child { margin-bottom: 0; }
.blog-footer { display: flex; justify-content: space-between; gap: 24px; margin-top: 24px; padding: 24px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .8125rem; }
.blog-footer a span { margin-left: 6px; }
@media (max-width: 650px) {
  .home { padding-inline: 20px; }
  .home-logo { width: min(88vw, 70svh); }
  .home-destinations { margin-top: 32px; }
  .social-icons { max-width: 340px; gap: 10px; }
  .social-notice { margin-top: 12px; }
  .blog-shell { width: calc(100% - 40px); }
  .back-nav { padding-top: 18px; }
  .blog-masthead { gap: 24px; padding: 28px 0 36px; }
  .blog-logo { width: min(43vw, 250px); }
  .blog-masthead h1 { font-size: clamp(2.75rem, 10vw, 4rem); }
  .article { padding: 32px 0; }
  .article-meta { font-size: .75rem; letter-spacing: .035em; }
  .article-meta span { padding-inline: 6px; }
  .blog-footer { flex-wrap: wrap; gap: 12px; }
}
@media (max-width: 380px) {
  .social-icons { max-width: 280px; gap: 8px; }
  .blog-masthead { gap: 18px; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}

@media (max-width: 650px) { .blog-masthead { flex-wrap: wrap; } }
