/* Owner's October 2026 landing design. Scoped to this first overhaul pass. */
@font-face { font-family: Kavoon; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/kavoon-latin.woff2') format('woff2'); }
@font-face { font-family: Kanit; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/kanit-400-latin.woff2') format('woff2'); }
@font-face { font-family: Kanit; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/kanit-500-latin.woff2') format('woff2'); }
@font-face { font-family: Kanit; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/kanit-600-latin.woff2') format('woff2'); }
@font-face { font-family: Kanit; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/kanit-700-latin.woff2') format('woff2'); }
@font-face { font-family: K2D; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/k2d-400-latin.woff2') format('woff2'); }
@font-face { font-family: K2D; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/k2d-500-latin.woff2') format('woff2'); }
@font-face { font-family: K2D; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/k2d-600-latin.woff2') format('woff2'); }
.home-page {
  --landing-black: #000;
  --landing-blue: #0783a5;
  --landing-muted: #919191;
  --landing-tab-muted: #C3BAAE;
  --landing-glass-veil: rgb(135 135 135 / 50%);
  --landing-radius: 30px;
  --font-sans: Kanit, 'Segoe UI', sans-serif;
  --header-h: 92px;
  font-family: var(--font-sans);
  font-weight: 500;
  color: var(--landing-black);
  background: var(--cream);
}
.home-page [hidden] { display: none !important; }
.landing-container { width: min(1332px, calc(100% - 64px)); margin-inline: auto; }
.home-page :is(h1,h2,h3,p,ul) { margin: 0; }
.home-page :is(h1,h2,h3) { color: inherit; }
.home-page a:focus-visible, .home-page button:focus-visible { outline: 3px solid var(--landing-blue); outline-offset: 5px; }
.landing-header, .landing-header.scrolled { background: var(--cream); border: 0; box-shadow: none; }
.landing-header .nav { height: var(--header-h); }
.landing-header .brand-mark--word { width: 214px; height: auto; filter: brightness(0) saturate(100%) invert(37%) sepia(81%) saturate(1327%) hue-rotate(153deg) brightness(91%) contrast(96%); }
.landing-header .site-nav { position: relative; width: 610px; }
.landing-header .nav-links { justify-content: space-between; gap: 10px; }
.landing-header .nav-item { position: static; }
.landing-header .nav-links > .nav-item > a,
.landing-header .nav-item-head > a { font-size: 22px; font-weight: 600; line-height: 1.2; color: var(--landing-black); white-space: nowrap; }
.landing-header .nav-links > .nav-item:first-child > a { display: block; background: var(--landing-black); color: var(--paper); padding: 8px 30px; border-radius: 15px; }
.landing-header .nav-expand { position: absolute; width: 24px; height: 24px; margin: 0; right: -7px; bottom: -15px; opacity: 0; }
.landing-header .nav-item-head { position: relative; }
.landing-header .nav-expand:focus-visible { opacity: 1; }
.landing-header .nav-expand:focus-visible { outline: 2px solid var(--landing-black); outline-offset: 2px; }
.landing-header .nav-panel-link,
.landing-header .nav-links > .nav-item > a,
.landing-header .nav-item-head > a { font-family: K2D, sans-serif; }
.landing-header .nav-item-head > a { padding-block: 10px; }
.landing-header .nav-panel { top: 52px; right: 0; width: 100%; padding: 0; min-height: 344px; }
.landing-header .nav-panel-inner,
.landing-header .nav-panel--wide .nav-panel-inner { display: grid; grid-template-columns: 56% 44%; gap: 0; padding: 0; border: 0; border-top: 2px solid var(--landing-muted); border-radius: 0; background: transparent; box-shadow: none; animation: none; }
.landing-header .nav-panel-column:first-child { grid-row: span 2; min-height: 342px; }
.landing-header .nav-panel-column:not(:first-child) { border-left: 2px solid var(--landing-muted); padding: 0 0 8px 24px; }
.landing-header .nav-panel-column:nth-child(3) { border-top: 2px solid var(--landing-muted); }
.landing-header .nav-panel--wide .nav-panel-inner { grid-template-rows: 110px 232px; }
.landing-header .nav-panel-column:not(:first-child) .nav-panel-heading { margin-bottom: 4px; }
.landing-header .nav-panel-column:only-child { grid-column: 1 / -1; }
.landing-header .nav-panel-heading { color: var(--landing-black); font: 700 22px/1.5 var(--font-sans); text-transform: none; letter-spacing: 0; margin-bottom: 16px; }
.landing-header .nav-panel-link { margin: 0; padding: 0; color: var(--landing-black); font-size: 24px; line-height: 1.25; border-radius: 0; text-decoration: none; }
.landing-header .nav-panel-column:first-child .nav-panel-link { font-size: 60px; line-height: 1; }
.landing-header .nav-panel-link span { font-weight: 500; }
.landing-header .nav-panel-link:hover, .landing-header .nav-panel-link:focus-visible { background: transparent; color: var(--landing-black); text-decoration: none; }
.landing-header:has(.nav-panel-link:hover) .nav-panel-link:not(:hover) { color: var(--landing-muted); }
.landing-header .nav-panel-link small { display: none; }
.landing-header .nav-panel-inner:has(.landing-menu-more) { grid-template-columns: 1fr; }
.landing-header .nav-panel-inner:has(.landing-menu-more) .nav-panel-column { grid-row: auto; min-height: 0; }
.landing-menu-more { justify-self: start; margin-top: 34px; }
.landing-header::before, .landing-header::after { content: ''; position: fixed; pointer-events: none; display: none; z-index: -1; }
.landing-header::before { inset: 0; background: var(--landing-glass-veil); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.landing-header::after { top: 0; left: 0; right: 0; height: 416px; border: 1px solid rgb(255 255 255 / 75%); background: rgb(244 232 218 / 37%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.landing-header:has(.nav-item.is-open)::before,
.landing-header:has(.nav-item.is-open)::after { display: block; }
.landing-header:has(.nav-item.is-open) .nav-links > .nav-item:not(.is-open) > a,
.landing-header:has(.nav-item.is-open) .nav-item:not(.is-open) .nav-item-head > a { color: var(--landing-muted); }
.landing-header:has(.nav-item.is-open) .nav-links > .nav-item:first-child > a { background: var(--landing-tab-muted); color: var(--landing-muted); }
.landing-main { position: relative; z-index: 1; background: var(--cream); border-radius: 0 0 72px 72px; }
.landing-hero { min-height: calc(100svh - var(--header-h)); display: grid; align-items: center; padding-block: 170px 100px; }
.landing-hero-grid { display: grid; grid-template-columns: 600fr 624fr; gap: 120px; align-items: center; }
.landing-intro { text-align: center; transform: translateY(-72px); }
.landing-intro h1 { font: 400 clamp(48px, 3.35vw, 64px)/1.25 Kavoon, var(--font-serif); letter-spacing: 0; margin: 0 0 36px; }
.landing-intro p { font-size: 23px; font-weight: 600; line-height: 1.57; }
.landing-model-wrap { position: relative; padding-top: 18px; transform: translateY(-18px); }
.landing-card { background: var(--paper); border-radius: var(--landing-radius); }
.landing-model { padding: 20px 20px 14px; text-align: center; }
.landing-model picture img { width: 100%; height: auto; border-radius: 24px; }
.landing-model h2 { font: 500 23px/1.5 K2D, sans-serif; margin: 24px 0 28px; }
.landing-model ul { list-style-position: inside; padding: 0; font-size: 23px; font-weight: 600; line-height: 1.57; margin-bottom: 27px; }
.landing-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 4px 17px; border-radius: 15px; color: var(--paper); background: var(--landing-black); font-size: 22px; font-weight: 700; line-height: 1.3; text-decoration: none; transition: transform var(--t-fast), background var(--t-fast); }
.landing-button:hover { color: var(--paper); background: var(--ink-soft); text-decoration: none; }
.landing-button--wide { width: 100%; font-size: 14px; font-weight: 700; }
.landing-fox { position: absolute; z-index: 2; width: 309px; right: 48px; top: -116px; pointer-events: none; }
.landing-fox img { width: 100%; height: auto; }
.sleep-letters { position: absolute; display: flex; align-items: baseline; gap: 10px; top: -13px; left: 96px; transform: rotate(-12deg); font: 700 32px/1 var(--font-sans); color: var(--landing-blue); -webkit-text-stroke: 1px var(--landing-black); }
.sleep-letters span { animation: sleep-float 3.6s ease-in-out infinite; }
.sleep-letters span:nth-child(2) { font-size: 39px; transform: translateY(-14px); animation-delay: .65s; }
.sleep-letters span:nth-child(3) { font-size: 46px; transform: translateY(-26px); animation-delay: 1.3s; }
@keyframes sleep-float { 0%,100% { opacity: .45; translate: 0 5px; } 50% { opacity: 1; translate: 5px -7px; } }
.landing-kova { min-height: 100svh; padding: 90px 0; display: grid; align-items: center; }
.landing-kova-grid { display: grid; grid-template-columns: 760fr 422fr; gap: 90px; padding-right: 58px; align-items: end; }
.landing-kova-wordmark { width: calc(100% + 60px); margin-left: -40px !important; margin-bottom: 66px !important; }
.landing-kova-wordmark img { width: 100%; }
.landing-trailer { min-height: 405px; margin-inline: 40px 0; padding: 40px 24px 10px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; text-align: center; }
.landing-trailer h3 { font: 400 clamp(30px,2.5vw,48px)/1.3 Kavoon, var(--font-serif); }
.landing-countdown { font: 500 clamp(24px,2.4vw,46px)/1.3 K2D, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
.landing-trailer-note { font-size: 22px; line-height: 1.5; }
.landing-trailer-note span { display: block; font-size: 14px; margin-bottom: 12px; }
.landing-trailer-note strong { font-weight: 700; }
.landing-kova-details { padding: 24px 23px 8px; }
.landing-kova-details h3, .landing-kova-tagline { font: 600 clamp(20px,1.55vw,29px)/1.4 var(--font-sans); text-align: center; }
.landing-kova-tagline { margin-top: 6px !important; }
.landing-kova-status { font-size: 13px; line-height: 1.3; text-align: center; margin: 4px 0 !important; }
.landing-kova-details ul { padding-left: 26px; font-size: 22px; font-weight: 600; line-height: 1.6; margin-bottom: 14px; }
.landing-news { min-height: 100svh; padding: 140px 0 38px; }
.landing-news h2 { font: 400 64px/1.2 Kavoon, var(--font-serif); }
.landing-news-intro { font-size: 23px; font-weight: 700; margin-bottom: 28px !important; }
.landing-news-list { display: grid; gap: 32px; margin-bottom: 32px; }
.landing-news .news-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 168px; padding: 20px 12%; background: var(--paper); border: 0; border-radius: var(--landing-radius); text-align: center; color: var(--landing-black); text-decoration: none; }
.landing-news .news-item:hover .news-title { color: inherit; }
.landing-news .news-item:hover { color: var(--landing-black); box-shadow: 0 4px 18px color-mix(in srgb, var(--ink) 12%, transparent); }
.landing-news .news-item > span:not(.news-cat) { display: flex; flex-direction: column; gap: 10px; }
.landing-news .news-title { font: 500 36px/1.3 K2D, sans-serif; }
.landing-news .news-excerpt { font: 500 15px/1.4 var(--font-sans); color: inherit; margin: 0; }
.landing-news .news-date { order: 2; font: 500 15px/1.4 var(--font-sans); color: inherit; }
.landing-news .news-cat { display: none; }
.landing-footer { position: relative; isolation: isolate; margin-top: -72px; padding: 210px 32px 22px; min-height: 630px; overflow: clip; color: var(--paper); background: #101d16; text-align: center; }
.landing-footer::before { content: ''; position: absolute; z-index: -2; inset: -24px; background: url('/assets/img/brand/footer-1920.webp') center / cover; filter: blur(12px); }
.landing-footer::after { content: ''; position: absolute; z-index: -1; inset: 0; background: rgb(0 0 0 / 38%); }
.landing-footer h2 { font: 400 44px/1.2 Kavoon, var(--font-serif); margin-bottom: 24px; }
.landing-quick-links { list-style: none; padding: 0; display: grid; gap: 18px; }
.landing-footer a { color: var(--paper); font-size: 22px; font-weight: 700; }
.landing-quick-links a { text-decoration: none; }
.landing-quick-links a:hover { text-decoration: underline; }
.landing-footer .social-links { justify-content: center; gap: 16px; margin: 36px 0 0; }
.landing-footer .social-icon { color: var(--paper); border-color: transparent; width: 44px; height: 44px; }
.landing-footer .social-icon:hover { color: var(--paper); background: rgb(255 255 255 / 15%); }
.landing-footer .social-icon svg { width: 24px; height: 24px; }
.landing-footer-bottom { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 16px; margin-top: 0; font-size: 22px; font-weight: 700; }
.landing-footer-bottom a { text-decoration-color: currentColor; }
@media (hover: hover) and (pointer: fine) { .landing-button:hover { transform: translateY(-2px); } }
@media (min-width: 821px) {
  /* Bridge the small gap so pointer travel into the dropdown stays in its group. */
  .landing-header .nav-panel::before { content: ''; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
  html:not(.nav-ready) .landing-header:has(.nav-item--dropdown:hover)::before,
  html:not(.nav-ready) .landing-header:has(.nav-item--dropdown:hover)::after,
  html:not(.nav-ready) .landing-header:has(.nav-item--dropdown:focus-within)::before,
  html:not(.nav-ready) .landing-header:has(.nav-item--dropdown:focus-within)::after { display: block; }
}
@media (min-width: 821px) { .landing-header .nav-expand svg { display: none; } }
@media (min-width: 821px) and (hover: none) { .landing-header .nav-expand { opacity: 1; } }
@media (max-width: 1400px) {
  .landing-hero-grid { gap: 64px; }
  .landing-intro p, .landing-model h2, .landing-model ul { font-size: 20px; }
  .landing-header .site-nav { width: 600px; }
  .landing-header .nav-links > .nav-item > a, .landing-header .nav-item-head > a { font-size: 20px; }
  .landing-kova-grid { padding-right: 0; gap: 44px; }
  .landing-trailer { margin-left: 0; }
  .landing-kova-details ul { font-size: 19px; }
  .landing-kova-details { padding-inline: 20px; }
}
@media (max-width: 1000px) {
  .landing-header .brand-mark--word { width: 174px; }
  .landing-header .site-nav { width: 565px; }
  .landing-header .nav-links > .nav-item > a, .landing-header .nav-item-head > a { font-size: 18px; }
  .landing-header .nav-links > .nav-item:first-child > a { padding-inline: 22px; }
  .landing-hero { padding-block: 60px 72px; }
  .landing-hero-grid { grid-template-columns: 1fr; gap: 220px; max-width: 640px; }
  .landing-intro h1 { font-size: 56px; }
  .landing-intro, .landing-model-wrap { transform: none; }
  .landing-fox { top: -152px; }
  .landing-intro p { font-size: 22px; }
  .landing-model ul, .landing-model h2 { font-size: 22px; }
  .landing-kova-grid { grid-template-columns: 1fr; max-width: 720px; gap: 36px; }
  .landing-kova-wordmark { width: 100%; margin: 0 0 24px !important; }
  .landing-trailer { min-height: 340px; }
  .landing-countdown { font-size: 40px; }
  .landing-kova-details { padding: 28px; }
  .landing-kova-details h3, .landing-kova-tagline { font-size: 28px; white-space: normal; }
  .landing-kova-details ul { font-size: 22px; margin-block: 20px; }
  .landing-news .news-item { padding-inline: 6%; }
  .landing-news .news-title { font-size: 30px; }
}
@media (max-width: 820px) {
  .home-page { --header-h: 76px; }
  .landing-container { width: calc(100% - 40px); }
  .landing-header .site-nav { width: auto; }
  .landing-header .nav-toggle { min-height: 44px; }
  .landing-header .nav-links.open { top: 58px; left: auto; right: -20px; width: min(100vw,480px); max-height: calc(100dvh - 76px); padding: 12px 24px 24px; }
  .landing-header .nav-item-head > a, .landing-header .nav-links > .nav-item > a { font-size: 20px; }
  .landing-header .nav-links > .nav-item:first-child > a { width: fit-content; margin-bottom: 8px; }
  .landing-header .nav-expand { position: static; opacity: 1; width: 44px; height: 44px; }
  .landing-header .nav-panel { position: static; min-height: 0; }
  .landing-header .nav-panel-inner, .landing-header .nav-panel--wide .nav-panel-inner { display: block; border: 0; padding: 8px 0 24px; }
  .landing-header .nav-panel-column:first-child { min-height: 0; }
  .landing-header .nav-panel-column:not(:first-child) { border: 0; padding: 0; margin-top: 20px; }
  .landing-header .nav-panel-heading { font-size: 17px; margin-bottom: 8px; }
  .landing-header .nav-panel-column .nav-panel-link,
  .landing-header .nav-panel-column:first-child .nav-panel-link { font-size: 24px; line-height: 1.6; }
  .landing-menu-more { margin-top: 16px; }
  .landing-header::after { content: none; }
  .landing-header::before { backdrop-filter: blur(7px); }
  .landing-header .nav-links.open { background: var(--cream); }
  html:not(.nav-ready) .landing-header { position: relative; }
  html:not(.nav-ready) .landing-header .nav { height: auto; flex-wrap: wrap; padding-block: 20px; }
  html:not(.nav-ready) .landing-header .site-nav { width: 100%; }
  html:not(.nav-ready) .landing-header .nav-links { display: flex; flex-wrap: wrap; }
  html:not(.nav-ready) .landing-header .nav-item--dropdown { width: 100%; }
  html:not(.nav-ready) .landing-header .nav-panel { display: block; }
  .landing-main { border-radius: 0 0 40px 40px; }
  .landing-news { padding-block: 40px 60px; }
  .landing-news h2 { font-size: 52px; }
  .landing-news-intro { font-size: 20px; }
  .landing-news-list { gap: 20px; }
  .landing-news .news-item { min-height: 190px; padding: 24px; }
  .landing-footer { margin-top: -40px; padding: 130px 20px 24px; min-height: 620px; }
  .landing-footer-bottom { flex-direction: column; align-items: center; margin-top: 24px; font-size: 16px; }
  .landing-footer-bottom a { font-size: inherit; }
}
@media (max-width: 480px) {
  .landing-intro h1 { font-size: clamp(32px,8.4vw,40px); margin-bottom: 24px; }
  .landing-intro p { font-size: 18px; line-height: 1.6; }
  .landing-hero-grid { gap: 180px; }
  .landing-model { padding: 14px; }
  .landing-model h2, .landing-model ul { font-size: 18px; }
  .landing-model h2 { margin-block: 20px; }
  .landing-fox { width: 230px; right: 10px; top: -115px; }
  .sleep-letters { top: -20px; left: 70px; font-size: 24px; }
  .sleep-letters span:nth-child(2) { font-size: 30px; }
  .sleep-letters span:nth-child(3) { font-size: 36px; }
  .landing-kova { padding-top: 10px; padding-bottom: 40px; }
  .landing-trailer { min-height: 280px; padding: 24px 12px 12px; }
  .landing-trailer h3 { font-size: 27px; }
  .landing-countdown { font-size: clamp(20px,6.1vw,29px); }
  .landing-trailer-note { font-size: 18px; }
  .landing-trailer-note span { font-size: 12px; }
  .landing-kova-details { padding: 24px 16px 12px; }
  .landing-kova-details h3, .landing-kova-tagline { font-size: 21px; }
  .landing-kova-details ul { font-size: 18px; line-height: 1.8; padding-left: 20px; }
  .landing-news .news-title { font-size: 25px; }
  .landing-news .news-item { padding-inline: 20px; }
  .landing-footer h2 { font-size: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .sleep-letters span { animation: none; opacity: 1; }
  .landing-button:hover { transform: none; }
}
@media print { .landing-header, .landing-footer { display: none; } .landing-hero, .landing-kova, .landing-news { min-height: 0; padding-block: 30px; } }
