/* Nadhľad, visual direction locked by Martin on 15 September 2026. */
.home-nadhlad { --bg: #1b1c1d; --text: #e1e0d9; --body: #d0cec8; --meta: #9b9c98; --signal: #c78f54; background: var(--bg); }
:root[data-theme="day"] .home-nadhlad { --bg: #d7d6d0; --text: #242823; --body: #43483f; --meta: #585e53; --signal: #854a20; background: var(--bg); }
.home-nadhlad .site-header { position: fixed; inset: 0 0 auto; z-index: 20; min-height: 5.5rem; border: 0; color: #f5f5ef; background: transparent; mix-blend-mode: difference; }
.home-nadhlad .utilities, .home-nadhlad .mobile-menu summary { color: inherit; }
.home-nadhlad[data-nadhlad-view="outside"] .site-header, .home-nadhlad .site-header:has(.mobile-menu[open]) { background: var(--bg); color: var(--text); mix-blend-mode: normal; }
.home-nadhlad .site-header :focus-visible { outline-color: currentColor; }
.home-nadhlad .theme-toggle { color: inherit; }
.home-nadhlad .site-header__inner { position: relative; min-height: 5.5rem; padding-inline: 4.7vw; gap: 1.5rem; }
.home-nadhlad .brand { margin-right: auto; color: inherit; }
.home-nadhlad .brand:hover, .home-nadhlad .language-switch:hover { color: inherit; }
.home-nadhlad .brand-mark { display: none; }
.home-nadhlad .brand__name { font-size: 18px; font-weight: 400; letter-spacing: -.025em; }
.home-nadhlad .brand__name span { color: inherit; }
.home-nadhlad .desktop-nav, .home-nadhlad .header-cta { display: none; }
.home-nadhlad .theme-toggle { width: 44px; height: 44px; border: 0; border-radius: 50%; }
.home-nadhlad .utilities { gap: .4rem; }
.home-nadhlad .language-switch { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.home-nadhlad .mobile-menu { display: block; }
.home-nadhlad .mobile-menu summary { list-style: none; cursor: pointer; font: 14px var(--sans); line-height: 20px; text-transform: lowercase; padding-block: 12px; min-width: 44px; text-align: right; }
.home-nadhlad .mobile-menu summary::first-letter { text-transform: uppercase; }
.home-nadhlad .mobile-menu summary::-webkit-details-marker { display: none; }
.home-nadhlad .mobile-menu nav { position: absolute; z-index: 50; inset: 5.3rem 4.7vw auto auto; width: min(28rem,93vw); max-height: calc(100svh - 6rem); overflow-y: auto; display: grid; gap: 0; padding: 1rem 1.5rem; background: var(--bg); border: 1px solid var(--line); box-shadow: 0 18px 48px rgb(0 0 0 / .16); }
.home-nadhlad .mobile-menu nav a { min-height: 3.3rem; display: flex; align-items: center; border-bottom: 1px solid var(--line); text-decoration: none; }
.home-nadhlad .mobile-menu nav a:last-child { border-bottom: 0; color: var(--signal); }
.nadhlad-story { position: relative; display: grid; grid-template-columns: 41% 59%; align-items: start; isolation: isolate; }
.nadhlad-scene { position: sticky; top: 0; grid-column: 1 / -1; grid-row: 1; width: 100%; height: 100svh; overflow: hidden; clip-path: polygon(var(--cut-top,41%) 0,100% 0,100% 100%,var(--cut-bottom,41%) 100%); background: var(--bg); }
/* The diagonal cuts across a full-width floor, which continues underneath the text. */
.nadhlad-scene {
  --blend-scale: calc(.9 + .1 * var(--scene-reveal,0));
  --scene-blend: linear-gradient(90deg,transparent calc(7% * var(--blend-scale)),rgb(0 0 0 / .011) calc(11% * var(--blend-scale)),rgb(0 0 0 / .03) calc(14% * var(--blend-scale)),rgb(0 0 0 / .064) calc(18% * var(--blend-scale)),rgb(0 0 0 / .116) calc(23% * var(--blend-scale)),rgb(0 0 0 / .18) calc(28% * var(--blend-scale)),rgb(0 0 0 / .231) calc(32% * var(--blend-scale)),rgb(0 0 0 / .274) calc(35% * var(--blend-scale)),rgb(0 0 0 / .31) calc(37% * var(--blend-scale)),rgb(0 0 0 / .419) calc(39% * var(--blend-scale)),rgb(0 0 0 / .594) calc(41% * var(--blend-scale)),rgb(0 0 0 / .756) calc(43% * var(--blend-scale)),rgb(0 0 0 / .85) calc(45% * var(--blend-scale)),rgb(0 0 0 / .923) calc(47% * var(--blend-scale)),rgb(0 0 0 / .978) calc(49% * var(--blend-scale)),#000 calc(51% * var(--blend-scale)));
  -webkit-mask-image: var(--scene-blend);
  mask-image: var(--scene-blend);
}
.nadhlad-scene canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; }
.nadhlad-scene[data-state="ready"] canvas { opacity: 1; }
.nadhlad-fallback { position: absolute; right: 0; width: 65%; height: 100%; object-fit: contain; opacity: 0; }
.nadhlad-scene[data-state="fallback"] .nadhlad-fallback { opacity: 1; }
.nadhlad-fallback--day, :root[data-theme="day"] .nadhlad-fallback--night { display: none; }
:root[data-theme="day"] .nadhlad-fallback--day { display: block; }
.nadhlad-chapters { grid-column: 1; grid-row: 1; position: relative; z-index: 2; }
.nadhlad-chapter { min-height: 100svh; display: flex; align-items: center; padding: 6rem 2.6vw 5rem 4.7vw; scroll-margin-top: 0; }
.nadhlad-copy { width: 100%; max-width: 33rem; overflow-wrap: normal; }
.nadhlad-copy h1, .nadhlad-copy h2 { font-family: var(--display); font-size: clamp(38px,4.9vw,76px); font-weight: 300; line-height: 1.065; letter-spacing: -.035em; color: var(--text); max-width: 12ch; margin: 0 0 2rem; text-wrap: balance; }
html[lang="en"] .nadhlad-copy h1, html[lang="en"] .nadhlad-copy h2 { font-size: clamp(38px,4.25vw,68px); }
.nadhlad-paragraphs p { max-width: 35ch; margin: 0; font-size: clamp(16px,1.4vw,20px); line-height: 1.55; text-wrap: pretty; }
.nadhlad-paragraphs p + p { margin-top: 1.3rem; }
.nadhlad-booking { display: inline-block; color: var(--signal); margin-top: 2.2rem; padding-block: .55rem; border-bottom: 1px solid currentColor; font-size: clamp(14px,1.12vw,17px); line-height: 1.4; text-decoration: none; }
.nadhlad-booking:hover { color: var(--text); }
.nadhlad-explore { display: flex; align-items: center; gap: 1.2rem; width: fit-content; min-height: 44px; margin-top: 1rem; font-size: 14px; color: var(--meta); text-decoration: none; }
.nadhlad-explore span { font-size: 20px; }
.home-nadhlad .home-section, .home-nadhlad .home-closing { padding-block: clamp(64px,8vw,128px); }
.home-nadhlad .home-card { border: 0; border-top: 1px solid var(--line); padding: 28px 0 0; background: transparent; }
.home-nadhlad .home-grid { gap: 40px; }
.home-nadhlad .home-section--split, .home-nadhlad .home-section--work, .home-nadhlad .home-section--about { background: transparent; border-block-start: 1px solid var(--line); }
.home-nadhlad .home-row { padding-inline: 0; }
.home-nadhlad .home-section h2, .home-nadhlad .home-closing h2 { letter-spacing: -.03em; }
@media (min-width: 801px) and (max-height: 650px) {
  .home-nadhlad .site-header { background: var(--bg); color: var(--text); mix-blend-mode: normal; }
  .nadhlad-copy h1, .nadhlad-copy h2 { font-size: 42px; }
  .nadhlad-chapter { padding-block: 6rem 3rem; }
  .nadhlad-paragraphs p { font-size: 16px; }
}
@media (max-width: 800px) {
  .home-nadhlad .site-header { min-height: 76px; background: var(--bg); color: var(--text); mix-blend-mode: normal; }
  .home-nadhlad[data-nadhlad-view] .utilities, .home-nadhlad[data-nadhlad-view] .mobile-menu summary { color: var(--text); }
  .home-nadhlad .site-header__inner { padding-inline: 22px; min-height: 76px; gap: 12px; }
  .home-nadhlad .utilities { gap: 4px; }
  .home-nadhlad .mobile-menu nav { inset: 76px 0 auto; width: 100%; max-height: calc(100svh - 76px); }
  .nadhlad-story { grid-template-columns: 1fr; }
  /* Cover the space Safari reveals when its toolbar retracts. Both units stay
     stable during that transition, so the canvas does not resize mid-scroll. */
  .nadhlad-scene { grid-column: 1; width: 100%; margin-left: 0; height: calc(100lvh - 60svh); top: 60svh; margin-top: 60svh; z-index: 3; clip-path: none; -webkit-mask-image: none; mask-image: none; }
  .nadhlad-fallback { width: 100%; }
  .nadhlad-chapters { grid-column: 1; }
  .nadhlad-chapter { min-height: 100svh; align-items: flex-start; padding: 100px 22px calc(40svh + 24px); }
  .nadhlad-copy { max-width: 34rem; }
  .nadhlad-copy h1, .nadhlad-copy h2, html[lang="en"] .nadhlad-copy h1, html[lang="en"] .nadhlad-copy h2 { font-size: clamp(34px,7.8vw,52px); max-width: 17ch; margin-bottom: 1.2rem; }
  .nadhlad-paragraphs p { font-size: 15px; line-height: 1.48; max-width: 43ch; }
  .nadhlad-paragraphs p + p { margin-top: .8rem; }
  .nadhlad-booking { margin-top: 1rem; font-size: 14px; }
  .nadhlad-explore { margin-top: .25rem; }
  .home-nadhlad .home-section h2, .home-nadhlad .home-closing h2 { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .nadhlad-story { scroll-behavior: auto; }
}
