/* WhereInSeoul shared styles. Page-specific styles live in each page's <style>. */

/* Fonts are self-hosted, so no request goes to Google before consent. */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/assets/fonts/newsreader-latin-opsz.woff2) format('woff2-variations'), url(/assets/fonts/newsreader-latin-opsz.woff2) format('woff2');
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/assets/fonts/hanken-grotesk-latin-400.woff2) format('woff2');
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/assets/fonts/hanken-grotesk-latin-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/assets/fonts/hanken-grotesk-latin-600.woff2) format('woff2');
}

html { -webkit-text-size-adjust: 100%; }
[hidden] { display: none !important; }

/* Skip link */
.wis-skip { position: absolute; left: 16px; top: -100px; z-index: 100; background: #FFFFFF; color: #1C2541 !important; padding: 12px 18px; border-radius: 6px; font-weight: 600; text-decoration: none; }
.wis-skip:focus { top: 12px; }

/* Home: header over the hero turns solid once you scroll past it or open the menu */
.wis-overlay-header { background: transparent; }
.wis-overlay-header.is-solid, .menu-open .wis-overlay-header { background: #30384D; }

/* Home: scroll-driven hero */
.wis-hero-track { height: 3400px; }
[data-reduced-only] { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  .wis-hero-track { height: 100vh; }
  [data-reduced-only] { display: flex !important; }
}

/* Journey lines draw as you scroll (only when JavaScript runs, so lines show without it) */
.js [data-draw] { transform: scaleY(0); }
@media (prefers-reduced-motion: reduce) { .js [data-draw] { transform: none !important; } }

/* Consult form */
.wis-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.wis-form button[disabled] { opacity: .6; cursor: progress; }
.wis-form [aria-invalid="true"] { border-color: #B42318 !important; }

/* Cookie banner */
.wis-cookie { position: fixed; z-index: 60; left: 16px; right: 16px; bottom: 16px; max-width: 560px; margin-left: auto; background: #FFFFFF; color: #1C2541; border-radius: 8px; box-shadow: 0 10px 40px rgba(10, 14, 28, .35); padding: 24px; font-family: 'Hanken Grotesk', system-ui, sans-serif; font-size: 16px; line-height: 1.55; }
.wis-cookie h2 { margin: 0 0 8px; font-family: 'Newsreader', Georgia, serif; font-weight: 400; font-size: 24px; line-height: 1.2; }
.wis-cookie p { margin: 0; }
.wis-cookie a { color: #1C2541 !important; }
.wis-cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.wis-cookie-actions button { font: inherit; font-weight: 600; min-height: 44px; padding: 0 20px; border-radius: 999px; cursor: pointer; border: 1px solid #1C2541; background: #FFFFFF; color: #1C2541; }
.wis-cookie-actions button.is-primary { background: #1C2541; color: #FFFFFF; }
.wis-cookie-actions button:focus-visible { outline: 2px solid #C47A14; outline-offset: 2px; }
.wis-cookie-status { margin-top: 10px !important; font-size: 14px; color: #4A5170; }
