/* Scoped corrections from current live-copy checks, 25 October 2026. */
/* Preserve type sizes and motion; break long German words at valid syllables. */
html body .current-editorial-intro h1 {
  word-break: normal;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

/* Long option labels must remain inside narrow selection buttons. */
html body .config-ui .options button small{min-width:0;max-width:100%;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}

/* Keep the existing page width when the menu locks scrolling. */
html.schraeger-menu-stable{scrollbar-gutter:stable}

/* The trigger keeps its closed-state label and dimensions while its icon turns. */
html body .site-nav .menu-toggle.open{width:var(--menu-trigger-width,114px)!important;min-width:var(--menu-trigger-width,114px)!important;padding-left:var(--menu-trigger-pad-left,20px)!important;padding-right:var(--menu-trigger-pad-right,20px)!important}
html body .site-nav .menu-toggle b[data-menu-label]{display:var(--menu-label-display,block)!important;font-size:0!important;line-height:1!important}
html body .site-nav .menu-toggle b[data-menu-label]::before{content:attr(data-menu-label);display:block;font-size:var(--menu-label-size,15px);line-height:1;letter-spacing:var(--menu-label-spacing,-.3px)}
html body .site-nav .menu-toggle .nav-menu-icon{position:relative;display:block;width:22px;height:22px;flex:0 0 22px}
html body .site-nav .menu-toggle .nav-menu-icon span{position:absolute!important;left:0!important;top:6px!important;width:22px!important;height:2px!important;margin:0!important;transform:none;transform-origin:center!important}
html body .site-nav .menu-toggle .nav-menu-icon span:last-child{top:14px!important}
html body .site-nav .menu-toggle.open .nav-menu-icon span{top:10px!important}
html body .site-nav .menu-toggle.open .nav-menu-icon span:first-child{transform:rotate(45deg)!important}
html body .site-nav .menu-toggle.open .nav-menu-icon span:last-child{transform:rotate(-45deg)!important}

/* A fixed, hidden layer can animate; display:none cannot interpolate. */
html body .mobile-menu.expanded-site-menu,
html body .mobile-menu.expanded-site-menu:not(.open){display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(0,-14px,0)}
html body .mobile-menu.expanded-site-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0)}
html body .mobile-menu.expanded-site-menu>a{opacity:0;transform:translate3d(0,12px,0)}
html body .mobile-menu.expanded-site-menu.open>a{opacity:1;transform:translate3d(var(--menu-hover-x,0px),0,0)}
html body .mobile-menu.expanded-site-menu.open>a:hover{--menu-hover-x:12px}
html body .mobile-menu.expanded-site-menu>a:nth-child(1){--menu-order:0}
html body .mobile-menu.expanded-site-menu>a:nth-child(2){--menu-order:1}
html body .mobile-menu.expanded-site-menu>a:nth-child(3){--menu-order:2}
html body .mobile-menu.expanded-site-menu>a:nth-child(4){--menu-order:3}
html body .mobile-menu.expanded-site-menu>a:nth-child(5){--menu-order:4}
html body .mobile-menu.expanded-site-menu>a:nth-child(6){--menu-order:5}
html body .mobile-menu.expanded-site-menu>a:nth-child(7){--menu-order:6}
@media(prefers-reduced-motion:no-preference){
 html body .mobile-menu.expanded-site-menu{transition:opacity .28s ease,transform .42s cubic-bezier(.22,1,.36,1),visibility 0s linear .42s!important}
 html body .mobile-menu.expanded-site-menu.open{transition-delay:0s!important}
 html body .mobile-menu.expanded-site-menu>a{transition:opacity .18s ease,transform .24s ease!important;transition-delay:0s!important}
 html body .mobile-menu.expanded-site-menu.open>a{transition-duration:.3s,.42s!important;transition-timing-function:ease,cubic-bezier(.22,1,.36,1)!important;transition-delay:calc(45ms + var(--menu-order,0)*25ms)!important}
 html body .site-nav .menu-toggle .nav-menu-icon span{transition:top .24s ease,transform .32s cubic-bezier(.22,1,.36,1)!important}
}
@media(prefers-reduced-motion:reduce){
 html body .mobile-menu.expanded-site-menu,
 html body .mobile-menu.expanded-site-menu>a,
 html body .site-nav .menu-toggle .nav-menu-icon span{transition:none!important;transition-delay:0s!important}
 html body .mobile-menu.expanded-site-menu,
 html body .mobile-menu.expanded-site-menu>a{transform:none!important}
}

@media(max-width:380px){html body .services .service h3.service-title-3d{font-size:clamp(20px,7vw,26px)!important;line-height:1.08!important;overflow-wrap:normal!important;word-break:normal!important}}

/* Shared chrome uses the index's outer edges, independently of article width. */
html body .site-nav.site-nav.site-nav,
html body.current-native .site-nav.site-nav.site-nav{
 left:var(--site-header-gutter,3.35vw)!important;right:var(--site-header-gutter,3.35vw)!important;width:auto!important;max-width:none!important;
 transform:none!important;margin:0!important;padding-left:0!important;padding-right:0!important;
 transition-property:color,background,box-shadow,opacity!important;
}
html body .site-nav.site-nav,html body .site-nav.site-nav :is(a,button,span,b){font-family:Inter,Arial,sans-serif!important}
html body .site-nav.site-nav :is(button,button b,.nav-cta){font-weight:500!important}
html body :is(footer.footer,footer.schraeger-shared-footer){font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.5;font-weight:400!important}
html body :is(footer.footer,footer.schraeger-shared-footer) *{font-family:Inter,Arial,sans-serif!important}
html body :is(footer.footer,footer.schraeger-shared-footer) .footer-wordmark>p{line-height:1.5!important}
html body :is(footer.footer,footer.schraeger-shared-footer) .footer-cols p{line-height:1.75!important}
html body .schraeger-shared-footer{display:block!important;position:relative!important;height:auto!important;min-height:0!important}
html body:has(.kreaton-game-page,.farewell-page):not(.menu-open) .site-nav[data-legacy-shell] .brand img{filter:invert(1) drop-shadow(0 1px 6px #10233360)}
html body .audit-motion-toggle,
html body .w-background-video--control{display:none!important}
html body.menu-open{overflow:hidden!important}
#schraeger-page-curtain{
 position:fixed;inset:0;z-index:2147483000;pointer-events:none;opacity:0;
 background:linear-gradient(125deg,#e8edf0 0%,#dbe8f3 52%,#d4e0ed 100%);
 transition:opacity .24s cubic-bezier(.4,0,.2,1);
}
#schraeger-page-curtain.is-covering{opacity:1;pointer-events:auto}
#schraeger-page-curtain.is-entering{transition:opacity .44s cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){#schraeger-page-curtain{transition:none!important}}

@media(max-width:700px){html body .current-work-grid video[data-film-captioned]{object-fit:contain!important;background:#101820}}

/* Responsive pass · 26 October 2026. Keep the approved broad desktop composition. */
html body .services .service>button{container-type:inline-size}
html body .services .service>button h3{min-width:0;max-width:100%}
@media(min-width:701px){
 html body .services .service>button{grid-template-columns:minmax(0,1fr) 60px}
 html body .services .service>button h3.service-title-3d{font-size:min(184px,10cqi)!important}
}
html body .magazine .mag-grid :is(h3,p){overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
@media(max-width:1100px){
 html body.current-native .current-layout .current-magazine-feature{display:grid;height:auto;min-height:0}
 html body.current-native .current-layout .current-magazine-slide{position:relative;inset:auto;grid-area:1/1;min-height:560px}
 html body.current-native .current-layout .current-magazine-slide>div{width:100%;min-width:0}
 html body.current-native .current-layout .current-magazine-slide[hidden]{display:flex!important;visibility:hidden;pointer-events:none;background-image:none}
}
/* Short landscape windows need a hero that actually fits the visible height. */
@media(max-height:600px){
 html body .hero:has(>.hero-sticky)>.hero-sticky{height:100svh;min-height:0}
}
/* A portrait tablet gets a full-width product stage and its controls below. */
@media(min-width:701px) and (max-width:1100px) and (orientation:portrait){
 html body .configurator.current-curv-home{grid-template-columns:minmax(0,1fr);min-height:0;gap:20px}
 html body .configurator.current-curv-home .config-visual{height:clamp(320px,50svh,520px);min-height:0}
 html body .configurator.current-curv-home .config-ui{min-height:0;padding:28px;gap:18px}
 html body .configurator.current-curv-home .options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1100px) and (max-height:600px) and (pointer:coarse){
 html body .configurator.current-curv-home{align-items:start;min-height:0}
 html body .configurator.current-curv-home .config-visual{height:clamp(220px,72svh,360px);min-height:0}
}
@media(pointer:coarse){
 html body .config-ui .swatches button{width:44px;height:44px;min-width:44px;min-height:44px}
 html body .ringo-close,html body .ringo-compose button{width:44px;height:44px;min-width:44px;min-height:44px}
 html body .ringo-chat-head{padding-right:50px}
 html body .ringo-compose input{font-size:16px}
 html body :is(.planner-form,#wf-form-Email-Form) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;min-height:44px;max-width:100%;min-width:0}
}
/* Three narrow Studio cards retain readable labels at their real grid threshold. */
@media(min-width:901px) and (max-width:1024px){
 html body.current-native .current-layout .current-principle :is(h3,h4){font-size:28px!important}
}
/* The shared header supplies the home link on the legacy farewell page. */
html body:has(.site-nav[data-legacy-shell]) .farewell-page .farewell-brand{display:none}
html body .site-nav.site-nav.site-nav{
 left:max(var(--site-header-gutter,3.35vw),env(safe-area-inset-left))!important;
 right:max(var(--site-header-gutter,3.35vw),env(safe-area-inset-right))!important;
}
/* Captioned films keep their embedded names inside the tablet tile as well. */
@media(min-width:701px) and (max-width:1100px){
 html body .current-work-grid video[data-film-captioned]{object-fit:contain!important;background:#101820}
}
@media(pointer:coarse){
 html body [data-magazine-slide-button]{position:relative;min-height:44px;height:44px;background:transparent!important}
 html body [data-magazine-slide-button]:before{content:'';position:absolute;left:0;right:0;top:calc(50% - 2.5px);height:5px;border-radius:999px;background:#9eacb77d}
 html body [data-magazine-slide-button][aria-pressed=true]:before{background:#9f8655}
 html body :is([data-planner-prev],[data-planner-next],.planner-days button){min-height:44px}
 html body .planner-days{grid-auto-rows:minmax(44px,auto)}
 html body #wf-form-Email-Form button{max-width:100%;min-height:44px;white-space:normal}
}

@media(max-width:700px){html body.current-native .current-layout .current-magazine-slide{align-items:flex-start}}
@media(forced-colors:active){
 html body .hero h1{bottom:24px;line-height:1;background:Canvas;color:CanvasText}
 html body .hero .hero-word{font-size:clamp(64px,17vw,244px);line-height:1.05;background:none;color:CanvasText;-webkit-text-fill-color:CanvasText;padding:0;margin:0}
 html body .hero .hero-small{color:CanvasText;-webkit-text-fill-color:CanvasText}
 html body .hero-sticky:after{background:Canvas!important}
}
@media(max-height:600px){
 html body .hero h1{bottom:clamp(24px,7svh,42px)}
 html body .hero .hero-small{font-size:clamp(18px,3.1vw,32px)}
 html body .hero .hero-word{font-size:clamp(72px,18vw,180px);line-height:.9}
}
/* Leave room for the existing perspective turn on narrow legacy headlines. */
@media(max-width:430px){
 html body main.isander-page .isander-shell>h1{font-size:14vw!important}
 html body .farewell-page .farewell-copy h1{font-size:42px!important}
}
@media(max-width:430px){
 html body main.isander-page h2 .schraeger-weight{font-size:.94em!important}
}

/* Additional browser proof · 26 October 2026. Preserve all other compositions. */
@media(max-width:380px){
 html body .services .service h3.service-title-3d{font-size:clamp(20px,6.65vw,26px)!important}
 html body .magazine>h2{font-size:15.5vw}
}
/* Existing translated labels must fit the same components. */
html body .config-ui .arrow-button.bp-cta{max-width:100%;white-space:normal;overflow-wrap:break-word}
@media(min-width:701px){
 html:lang(pl) body .services .service:nth-child(2)>button h3{font-size:min(184px,8cqi)!important}
}

/* Preserve the intended aspect ratio instead of using the intrinsic HTML height. */
html body .current-material-grid img{height:auto;max-width:100%}
/* Calendar navigation is a compact utility row, not an editorial heading. */
html body .current-contact-booking .contact-planner .planner-month-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;min-width:0}
html body .current-contact-booking .contact-planner .planner-month-nav h3{font:500 clamp(13px,3.7vw,17px)/1.25 Inter,Arial,sans-serif!important;letter-spacing:-.025em;text-transform:none;white-space:nowrap;text-align:center;min-width:0;margin:0!important}
html body .current-contact-booking .contact-planner .planner-month-nav button{width:44px;min-width:44px;min-height:44px;padding:0!important;font-size:0!important;display:grid;place-items:center}
html body .current-contact-booking .contact-planner [data-planner-prev]:before{content:'‹';font:400 25px/1 Arial,sans-serif}
html body .current-contact-booking .contact-planner [data-planner-next]:before{content:'›';font:400 25px/1 Arial,sans-serif}
html body .current-contact-booking .contact-planner>*{min-width:0}

/* Booking and enquiry share one wider right-hand column. */
@media(min-width:901px){
 html body.current-native .current-contact-grid,
 html body.current-native .current-enquiry{
  grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);
  gap:clamp(30px,3vw,40px);
 }
}

/* The same soft entrance/exit; link navigation keeps the open menu under the portal. */
html body .mobile-menu.expanded-site-menu:not(.open){transform:translate3d(0,-18px,0)}
@media(prefers-reduced-motion:no-preference){
 html body .mobile-menu.expanded-site-menu{transition:opacity .32s ease,transform .5s cubic-bezier(.22,1,.36,1),visibility 0s linear .5s!important}
 html body .mobile-menu.expanded-site-menu.open{transition-delay:0s!important}
 html body .mobile-menu.expanded-site-menu>a{transition:opacity .22s ease,transform .3s cubic-bezier(.22,1,.36,1)!important;transition-delay:0s!important}
 html body .mobile-menu.expanded-site-menu.open>a{transition-duration:.32s,.46s!important;transition-delay:calc(45ms + var(--menu-order,0)*25ms)!important}
}
