/* The owner's original Dutch 801 / Montserrat pairing. Original font bytes retained. */
@font-face {
    font-family: 'Dutch 801';
    src: url('assets/fonts/DUT801BI.ttf') format('truetype');
    font-style: italic;
    font-weight: 700;
    font-display: swap;
}
:root {
    --font-display: 'Dutch 801', Georgia, serif;
    --font-text: Montserrat, Arial, sans-serif;
    --measure: 68ch;
}
body { font-family: var(--font-text); font-weight: 400; }
h1, h2, h3, h4, h5, h6, .word-ribbon {
    font-family: var(--font-display);
    font-weight: 700;
    font-style: italic;
    font-synthesis: none;
    letter-spacing: -.025em;
}
.prose strong em, .prose em strong {
    font-family: var(--font-display);
    font-weight: 700;
    font-style: italic;
    font-size: 1.15em;
    letter-spacing: .0125em;
}
.prose { font-size: 1rem; }
.site-navigation { font-size: 1rem; font-weight: 400; gap: clamp(1.1rem, 2.3vw, 2.4rem); }
.site-header { gap: 2rem; }
.languages { font-size: .75rem; }
.link-arrow { display: inline-block; flex: none; vertical-align: -.2em; margin-left: .35em; }
.text-link:hover .link-arrow { transform: translateX(3px); }
.story-image { display: grid; place-items: center; background: transparent; }
.story-image img { width: auto; max-width: 100%; max-height: 32rem; max-height: min(32rem, 62svh); height: auto; object-fit: contain; }
.story-card > p { font-size: .95rem; line-height: 1.8; }
.story-card :is(h2,h3,h4) { line-height: 1.13; }
.story-meta { font-size: .75rem; line-height: 1.6; }
.collection-intro p { font-size: 1rem; }
.page-heading > p { line-height: 1.7; }
.home-vision-copy .large-copy { font-weight: 400; }
.site-header--overlay { position: absolute; top: 0; inset-inline: 0; background: transparent; }
.admin-bar { --admin-bar-height: 32px; }
.admin-bar .site-header--overlay { top: var(--admin-bar-height); }
.home-hero {
    min-height: 36rem;
    height: calc(100vh - var(--admin-bar-height, 0px));
    height: calc(100svh - var(--admin-bar-height, 0px));
    display: grid;
    place-items: center;
    text-align: center;
    isolation: isolate;
}
.hero-photo, .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-photo { z-index: -3; }
.hero-video { z-index: -2; }
.home-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.48), rgba(0,0,0,.18) 42%, rgba(0,0,0,.38)); z-index: -1; pointer-events: none; }
.home-hero-content { padding: 7rem var(--gutter); max-width: 70rem; animation: none; }
.home-hero h1 { font-size: clamp(4rem, 8.5vw, 6rem); font-weight: 700; line-height: 1.05; letter-spacing: -.025em; max-width: none; }
.home-hero p { max-width: none; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.6; margin: 1.5rem auto 0; }
.home-hero p a { text-decoration: none; padding-block: .5rem; }
.home-hero p a:hover { text-decoration: underline; text-underline-offset: .45em; }
.hero-bottom { position: absolute; inset-inline: var(--gutter); bottom: 1.5rem; display: flex; justify-content: space-between; align-items: center; text-align: left; font-size: .75rem; gap: 1.5rem; }
.hero-explore { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; min-height: 44px; }
.hero-explore:hover { text-decoration: underline; text-underline-offset: .4em; }
.hero-toggle { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; padding: .5rem 0 .5rem .5rem; background: transparent; border: 0; color: inherit; cursor: pointer; font-size: .75rem; }
.hero-toggle .pause-mark { display: none; }
.hero-toggle.is-playing .pause-mark { display: initial; }
.hero-toggle.is-playing .play-mark { display: none; }
.has-landing-js .hero-video { pointer-events: none; }
.footer-session h2 { font-size: 1.75rem; }
.footer-brand > p, .footer-session a, .footer-session p { font-size: .85rem; }
@media (max-width: 1100px) {
    .site-header { flex-wrap: wrap; gap: 1rem 1.5rem; min-height: 88px; padding-block: .8rem; }
    .brand, .custom-logo-link { width: 105px; }
    .brand-image, .custom-logo { height: 60px; }
    .site-navigation { order: 4; flex-basis: 100%; margin: 0; flex-wrap: wrap; gap: .75rem 1.5rem; padding: 1rem 0; font-size: 1rem; }
    .site-navigation ul { flex-wrap: wrap; gap: .75rem 1.5rem; }
    .languages { margin-left: auto; }
    .has-menu-js .menu-toggle { display: flex; order: 2; margin-left: auto; }
    .has-menu-js .languages { order: 3; margin-left: 0; }
    .has-menu-js .site-navigation { display: none; }
    .has-menu-js .site-navigation.is-open { display: flex; }
    .site-header--overlay:has(.site-navigation.is-open) { background: var(--night); }
}
@media (max-width: 780px) {
    .admin-bar { --admin-bar-height: 46px; }
    .home-hero { min-height: 30rem; }
    .home-hero-content { padding-inline: var(--gutter); }
    .home-hero h1 { font-size: clamp(3.5rem, 13vw, 5rem); }
    .home-hero p { max-width: 26ch; font-size: 1rem; margin-top: 1.25rem; }
    .hero-bottom { bottom: 1rem; }
    .hero-toggle { max-width: 15rem; }
    .story-meta { font-size: .75rem; }
}
@media (max-height: 560px) and (min-width: 600px) {
    .home-hero { min-height: 22rem; }
    .home-hero-content { padding-block: 6rem; }
    .home-hero h1 { font-size: 4rem; }
    .home-hero p { margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .text-link:hover .link-arrow { transform: none; } }
@media print { .home-hero { min-height: 0; height: auto; color: var(--ink); background: white; } .hero-video, .hero-photo, .hero-bottom, .home-hero::after { display: none; } }
