/* 2.1: fewer competing gestures, shared video tools and layouts that fit the window. */
.hero-stage.has-chat-holder::before { display:none; }
.video-player { width:100%; height:100%; min-height:0; position:relative; isolation:isolate; overflow:hidden; background:#0c121c; }
.video-player > video { display:block; width:100%; height:100%; object-fit:contain; }
.video-player-tools { position:absolute; z-index:8; top:8px; left:8px; right:8px; display:flex; justify-content:space-between; align-items:start; gap:8px; pointer-events:none; }
.video-player-tools > * { min-height:42px; border:1px solid #ffffff70; border-radius:8px; background:#101c32e8; color:#fff; font:inherit; font-size:.84rem; padding:8px 10px; pointer-events:auto; cursor:pointer; }
.video-player-tools select { max-width:82px; }
.video-player-tools option { background:#101c32; color:white; }
.video-player-tools button:focus-visible,.video-player-tools select:focus-visible { outline:3px solid #d7bd84; outline-offset:2px; }
.video-hold-zone { position:absolute; z-index:4; top:23%; bottom:28%; width:23%; border:0; background:transparent; touch-action:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.video-hold-left { left:0; }.video-hold-right { right:0; }
.video-hold-zone:focus-visible { outline:2px solid #d7bd84; outline-offset:-3px; background:#ffffff0c; }
.video-hold-hint { position:absolute; z-index:3; bottom:52px; left:50%; transform:translateX(-50%); padding:4px 9px; white-space:nowrap; border-radius:8px; background:#101c32c9; color:#fff; font-size:.72rem; pointer-events:none; opacity:0; }
.video-speed-badge { position:absolute; z-index:9; top:62px; left:50%; transform:translateX(-50%); padding:7px 14px; border-radius:20px; color:#fff; background:#101c32ed; font-size:.85rem; white-space:nowrap; pointer-events:none; }
.video-speed-badge[hidden] { display:none; }
.video-player:fullscreen,.video-player.video-fullscreen-fallback { width:100vw!important; height:100dvh!important; max-width:none!important; max-height:none!important; border:0; border-radius:0; background:#05080c; }
.video-player:fullscreen .video-player-tools,.video-fullscreen-fallback .video-player-tools { top:max(12px,env(safe-area-inset-top)); left:max(12px,env(safe-area-inset-left)); right:max(12px,env(safe-area-inset-right)); }
.video-fullscreen-fallback { position:fixed!important; inset:0!important; z-index:2147483000!important; }
.video-fallback-open { overflow:hidden; }
.video-fullscreen-shell { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#05080c; overflow:hidden; }
.video-fullscreen-shell::backdrop { background:#05080c; }
.reader-tv-screen:has(.video-player) { display:block; }
.reader-tv-screen .video-player-tools { top:4px; left:4px; right:4px; gap:4px; }
.reader-tv-screen .video-player-tools > * { font-size:.75rem; min-height:36px; padding:6px; }
.reader-tv-screen .video-player:fullscreen .video-player-tools > * { min-height:44px; font-size:.95rem; padding:9px 12px; }

/* The stack stays visible in one familiar path, even when several sheets exist. */
.reader-navigation-bar { justify-content:space-between; gap:4px; padding:0 8px; }
.reader-breadcrumbs { min-width:0; display:flex; align-items:center; gap:4px; overflow:hidden; }
.reader-breadcrumbs button { min-height:44px; min-width:36px; max-width:125px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:0 4px; background:none; border:0; color:#56616e; font:inherit; font-size:.84rem; cursor:pointer; }
.reader-breadcrumbs button[aria-current] { color:#10203e; font-weight:650; }
.reader-breadcrumbs span { color:#9b927f; }
.reader-navigation-bar > .reader-overview-toggle { flex:0 0 auto; font-size:.75rem; padding:0 4px; color:#516074; }
.reader-navigation-bar > .reader-overview-toggle::after { margin-left:5px; }
.chat-reader-stack[data-navigation] .reader-stack-page.chat-reader { top:44px; height:calc(100% - 44px); }
.chat-reader-stack[data-navigation] .reader-base-focus,.chat-reader-stack[data-navigation] .reader-stack-rail { top:44px; }
.chat-shell[data-reader-focus="conversation"][data-reader-nav] .chat-navigation { margin-top:44px; }
.reader-swipe-hint { display:none; }
.has-page-swipe { touch-action:pan-y pinch-zoom; }
.has-page-swipe.is-page-swiping > .reader-chapter-heading,.has-page-swipe.is-page-swiping > .reader-stack-answer { transform:translateX(var(--swipe-offset,0px)); }

/* A docked window acts like a messenger: scrollable conversation, composer at the bottom. */
.chat-workspace[data-chat-placement="dock"] { container-type:inline-size; }
.chat-workspace[data-chat-placement="dock"] .chat-shell:not([data-reading="true"]) { overflow:hidden; }
.chat-workspace[data-chat-placement="dock"] .chat-shell:not([data-reading="true"]) #contact-panel { flex:1 1 0; overflow:hidden; padding:14px 18px 12px; background:#faf9f5; }
.chat-workspace[data-chat-placement="dock"] #contact-panel > :not(.chat-log-wrap) { flex-shrink:0; }
.chat-workspace[data-chat-placement="dock"] .chat-shell:not([data-reading="true"]) .chat-log-wrap { flex:1 1 0; min-height:80px; overflow:hidden; }
.chat-workspace[data-chat-placement="dock"] .chat-shell:not([data-reading="true"]) .chat-conversation { flex:1 1 0; min-height:0; max-height:none; overflow:auto; padding-bottom:16px; }
.chat-workspace[data-chat-placement="dock"] #direct-contact-form { margin-top:12px; }
.chat-workspace[data-chat-placement="dock"] #plain-contact-panel { overflow:auto; flex:1 1 0; min-height:0; padding:18px; }
.chat-workspace[data-chat-placement="dock"] #plain-contact-panel #direct-contact-form { max-width:640px; width:100%; margin:0 auto; }
.chat-workspace[data-chat-placement="dock"] .chat-size-bar { height:24px; flex-basis:24px; padding-bottom:0; }
.chat-workspace[data-chat-placement="dock"] .chat-size-bar > span { font-size:.68rem; }
.chat-move-handle,.chat-move-handle *,.chat-minimized-launcher,.chat-minimized-launcher * { touch-action:none; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
@container (min-width:640px) {
 .chat-workspace[data-chat-placement="dock"] #contact-panel > * { width:100%; max-width:700px; margin-inline:auto; }
 .chat-workspace[data-chat-placement="dock"] .chat-conversation { font-size:1.08rem; line-height:1.6; }
}

/* A quieter ending: two reading links, then a narrow, clearly grouped FAQ. */
.secondary-section { max-width:1040px; margin:0 auto; padding:64px 36px 48px; }
.secondary-section .overline,.faq > .section-heading .overline { display:none; }
.secondary-section h2,.faq .section-heading h2 { font-size:clamp(1.6rem,2.6vw,2.2rem); letter-spacing:-.025em; margin:0; }
.secondary-heading { margin-bottom:22px; }
.secondary-entries { gap:24px; }
#filosofi-og-samarbeid .secondary-entry { border:0; background:transparent; padding:18px 0; border-top:1px solid #d9d5cb; display:grid; grid-template-columns:88px minmax(0,1fr); gap:20px; }
#filosofi-og-samarbeid .secondary-entry-media { width:88px; height:108px; min-height:0; border-radius:6px; overflow:hidden; }
.secondary-entry-media img { width:100%; height:100%; object-fit:cover; }
#filosofi-og-samarbeid .secondary-entry-copy { padding:0; gap:8px; align-self:center; min-height:0; }
.secondary-entry-copy strong { font-size:1.15rem; }
.secondary-entry-copy > span { font-size:.96rem; line-height:1.5; }
.secondary-entry-copy b { font-size:.86rem; }
.faq { max-width:960px; margin:0 auto; padding:48px 36px; border-top:1px solid #e2ded4; display:grid; grid-template-columns:220px minmax(0,1fr); gap:32px; align-items:start; }
.faq > .section-heading { margin:0; }
.faq-list { min-width:0; }
.faq-question { min-height:64px; padding:18px 0; font-size:1rem; line-height:1.4; gap:16px; }
.faq-cta { max-width:960px; margin:0 auto 56px; padding:28px 36px; background:#f6f3eb; border-radius:12px; }
.faq-cta h2 { font-size:1.35rem; max-width:32ch; line-height:1.35; }

@media(pointer:coarse),(max-width:600px) {
 .video-hold-hint { opacity:1; animation:video-hint-out 5s 1.5s both; }
 .reader-swipe-hint { display:block; position:absolute; left:50%; transform:translateX(-50%); bottom:4px; white-space:nowrap; font-size:.67rem; color:#6c716d; pointer-events:none; }
 .reader-chapter-nav { padding-bottom:18px!important; }
}
@keyframes video-hint-out { 0%,70% {opacity:1;} 100% {opacity:0;} }
@media(max-width:800px) {
 .about-compact:has(.about-intro) { padding:32px 24px; gap:24px; }
 .about-compact-copy { order:0; }
 .about-compact .about-intro { order:1; max-width:290px; margin:0; }
 .about-intro figcaption { font-size:.94rem; }
 .faq { grid-template-columns:minmax(0,1fr); gap:18px; }
}
@media(max-width:540px) {
 .secondary-section { padding:36px 22px 28px; }
 .secondary-entries { grid-template-columns:minmax(0,1fr); gap:6px; }
 #filosofi-og-samarbeid .secondary-entry { grid-template-columns:68px minmax(0,1fr); gap:16px; }
 #filosofi-og-samarbeid .secondary-entry-media { width:68px; height:88px; }
 .faq { padding:30px 22px; }
 .faq-cta { margin:0 16px 32px; padding:22px; }
 .chat-workspace[data-chat-placement="dock"][data-snap-edge] { border-radius:8px; }
 .chat-workspace[data-chat-placement="dock"] .chat-size-bar > span { display:none; }
 .chat-workspace[data-chat-placement="dock"] .chat-placement-bar { min-height:54px; padding-top:6px; }
 .chat-workspace[data-chat-placement="dock"] .chat-shell:not([data-reading="true"]) #contact-panel { padding:10px 14px; }
 .chat-placement-bar .chat-position-button span { display:none; }
 .reader-breadcrumbs button { max-width:90px; font-size:.78rem; }
 .reader-navigation-bar > .reader-overview-toggle { font-size:.7rem; }
}
@media(prefers-reduced-motion:reduce) { .video-hold-hint {animation:none;} .has-page-swipe.is-page-swiping > * {transform:none!important;} }
