/* Companion refinement: desktop composition and pacing are preserved. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}
.mobile-service-label,.mobile-chapter-action,.brand-mark{display:none}
.craft-media picture,.closing picture{display:block;width:100%;height:100%}
.story-chapter>picture{position:absolute;inset:0;z-index:-2;display:block}
.cinematic .story-chapter>picture{display:none}
.menu-toggle svg{flex-shrink:0}
.mobile-nav{border:0}
@media(max-width:800px){
  :root{--header-h:calc(64px + var(--safe-top));--mobile-stage:calc(100svh - var(--header-h))}
  html{scroll-padding-top:calc(var(--header-h) + 18px)}
  .header{position:fixed;top:0;left:0;right:0;height:var(--header-h);padding:var(--safe-top) max(var(--gutter),var(--safe-right)) 0 max(var(--gutter),var(--safe-left));z-index:50;background:var(--chalk);gap:12px}
  .header .brand-block{gap:9px;min-height:44px;margin-right:auto}
  .brand-mark{display:block;width:22px;height:22px}
  .header .logo{font-size:26px;letter-spacing:.12em}
  .header-concept{max-width:72px;font-size:9px;letter-spacing:.045em;line-height:1.35}
  .menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px;border:0;font-size:12px}
  .menu-toggle span{display:none}
  #uvod{padding-top:var(--header-h)}
  .mobile-nav[open]{display:block;position:fixed;inset:var(--header-h) 0 auto;margin:0;width:100%;max-width:none;max-height:calc(100dvh - var(--header-h) - var(--safe-bottom));padding:22px max(var(--gutter),var(--safe-right)) calc(24px + var(--safe-bottom)) max(var(--gutter),var(--safe-left));background:var(--paper);color:var(--graphite);overflow:auto;box-shadow:0 14px 30px #24282620}
  .mobile-nav::backdrop{background:linear-gradient(to bottom,transparent 0 var(--header-h),#1d251dbc var(--header-h))}
  .mobile-menu-top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px}
  .menu-close{display:flex;align-items:center;gap:12px;min-height:44px;min-width:44px;background:none;border:0;padding:8px 0 8px 12px;font-size:14px}
  .menu-close span{font-size:25px}
  .mobile-nav nav{display:flex;flex-direction:column;gap:0;padding-top:12px}
  .mobile-nav nav a{display:flex;align-items:center;min-height:52px;padding:12px 0;font-size:21px;letter-spacing:-.02em}
  .mobile-nav nav .text-btn{font-size:13px;letter-spacing:.06em;margin-top:12px;align-self:flex-start}
  .opening{height:var(--mobile-stage);min-height:560px;display:block;padding-top:0;overflow:hidden;isolation:isolate}
  .hero-media{position:absolute;inset:0;margin:0;width:100%;height:100%;aspect-ratio:auto;z-index:-2}
  .hero-media picture,.hero-media img{height:100%;width:100%;object-fit:cover;object-position:center}
  .hero-content{position:absolute;inset:0;padding:30px var(--gutter) 0;width:100%;pointer-events:none}
  .hero-content .label.overline,.hero-body,.hero-content [data-call]{display:none}
  .mobile-service-label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
  .hero-content h1{font-size:clamp(36px,10.8vw,54px);font-weight:450;line-height:1.09;letter-spacing:-.05em;margin:14px 0 0}
  .hero-content .actions{position:absolute;left:var(--gutter);bottom:calc(74px + var(--safe-bottom));margin:0;gap:0}
  .hero-content .btn,.mobile-chapter-action .btn{min-height:50px;padding:15px 21px;font-size:12px}
  .hero-bottom{position:absolute;inset:auto var(--gutter) calc(14px + var(--safe-bottom));padding:0;background:none;z-index:6}
  .scroll-link{min-height:44px;font-size:11px;gap:12px;padding:4px 8px;background:#e8e4dce8;color:var(--graphite)}
  .scroll-link svg{height:25px;width:14px}
  .hero-caption,.demo-tag{display:none}
  .story-chapter{height:var(--mobile-stage);min-height:560px;padding:0 var(--gutter);display:flex;align-items:flex-end}
  .story-chapter img{object-position:center}
  .story-chapter:after{background:linear-gradient(0deg,#171d18dc,transparent 42%)}
  .chapter-content{position:absolute;left:var(--gutter);right:var(--gutter);bottom:calc(76px + var(--safe-bottom));max-width:none}
  .story-chapter h2{font-size:clamp(30px,8.5vw,40px);line-height:1.13;letter-spacing:-.045em;margin:0 0 20px;max-width:none}
  .story-chapter .overline,.story-chapter p{display:none}
  .mobile-chapter-action{display:block}
  .mobile-chapter-action .btn{background:var(--chalk);color:var(--graphite);border-color:var(--chalk)}
  .cinematic-mobile .story{height:calc(var(--mobile-stage) + 135svh)}
  .cinematic-mobile .stage{height:var(--mobile-stage);min-height:560px;top:var(--header-h)}
  .cinematic-mobile .opening{height:100%;min-height:0}
  .cinematic-mobile .hero-media{z-index:0}
  .cinematic-mobile .story-chapter{height:100%;min-height:0;padding:0;pointer-events:none;isolation:auto}
  .cinematic-mobile .story-chapter:after{background:linear-gradient(0deg,#171d18e8,transparent 43%)}
  .cinematic-mobile .chapter-content{pointer-events:auto}
  .cinematic-mobile .film-progress{left:auto;right:var(--gutter);bottom:calc(32px + var(--safe-bottom));transform:none;gap:4px}
  .cinematic-mobile .film-progress i{width:14px}
  .mobile-booking{padding:10px max(var(--gutter),var(--safe-right)) calc(10px + var(--safe-bottom)) max(var(--gutter),var(--safe-left));z-index:40}
  .in-story .mobile-booking{visibility:hidden;pointer-events:none}
  .footer{padding-bottom:calc(105px + var(--safe-bottom))}
  .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;align-self:flex-start}
  .footer .logo{display:inline-flex;align-items:center;min-height:44px}
  .service-detail .text-btn{display:inline-flex;align-items:center;min-height:44px}
  .modal{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);margin:auto;padding:24px}
  .modal::backdrop{background:#18201dcc}
  .media-failed .hero-content{background:var(--chalk)}
}
@media(max-width:350px){.header-concept{max-width:57px;font-size:8px}.header .logo{font-size:24px}.header .brand-block{gap:7px}.brand-mark{width:19px;height:19px}.hero-content{padding-top:23px}.hero-content h1{font-size:36px}.chapter-content{bottom:calc(73px + var(--safe-bottom))}.story-chapter h2{font-size:29px}}
@media(max-width:800px) and (max-height:600px){.opening,.story-chapter,.cinematic-mobile .stage{min-height:420px}.hero-content h1{font-size:34px}.hero-content{padding-top:18px}.hero-content .actions{bottom:66px}}
