/* Shared interaction layer: preserve each page's composition and artwork. */
:root{--ui-ink:#263e3d;--ui-yellow:#ffdf50;--ui-speed:180ms;--ui-ease:cubic-bezier(.2,.7,.3,1)}
button,a,summary,input,select,textarea{touch-action:manipulation}
button,summary{cursor:pointer}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--ui-ink);outline-offset:4px;box-shadow:0 0 0 6px var(--ui-yellow)}
button:disabled{cursor:not-allowed;opacity:.5}
body .button,body .hero-copy .button,body.home-page .hero-copy .button{min-height:48px;max-width:100%;padding:13px 23px;gap:18px;border-radius:999px;font-size:15px;font-weight:650;line-height:1.4;text-align:left;white-space:normal;transition:background-color var(--ui-speed),color var(--ui-speed),transform var(--ui-speed) var(--ui-ease)}
body .button:active{transform:translateY(1px)}
.site-header .menu-toggle,.language-trigger{min-height:44px;min-width:44px;padding:10px 14px;font-family:inherit;font-size:14px;line-height:1.3;border-radius:999px;align-items:center;justify-content:center;gap:8px;transition:background-color var(--ui-speed),color var(--ui-speed)}
.site-header .language-name{font-size:13px}
.site-header #site-nav a{min-height:44px;display:inline-flex;align-items:center;line-height:1.35;text-underline-offset:7px;text-decoration-thickness:2px;transition:color var(--ui-speed),background-color var(--ui-speed)}
.site-header #site-nav a[aria-current=page]{font-weight:750;text-decoration:underline}
.site-header #site-nav{font-size:14px}
body>header .link{display:inline-flex;align-items:center;min-height:44px}
.site-header #site-nav .nav-contact{padding:12px 18px;border-radius:999px}
.language-menu{padding:8px}
.language-chevron{font-size:18px;font-weight:400;transform:none!important}
.language-trigger[aria-expanded=true] .language-chevron{font-size:0}
.language-trigger[aria-expanded=true] .language-chevron::after{content:'−';font-size:18px}
.back-link,.text-link,.ab-link,.cips-back,.hj-heading>a,.news-heading>a{cursor:pointer;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;min-height:44px;display:inline-flex;align-items:center}
.language-menu button{min-height:46px}
.language-menu button+button{margin-top:2px}
body :is(.close,#journey-close,#close-material-book,#close-construction-book){min-width:44px;min-height:44px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--ui-ink);color:var(--ui-yellow);font:24px/1 sans-serif;z-index:5}
body :is(#open-material-book,#open-construction-book,#journey-prev,#journey-next){min-height:48px;padding:12px 20px;font-family:inherit;font-size:15px;line-height:1.4;border-radius:999px;cursor:pointer;transition:transform var(--ui-speed),background-color var(--ui-speed),color var(--ui-speed)}
body :is([data-view],[data-production],.news-filters button){min-height:44px;min-width:44px;font-family:inherit;line-height:1.4;transition:background-color var(--ui-speed),color var(--ui-speed)}
body :is([data-view][aria-pressed=true],[data-production][aria-selected=true],.news-filters button[aria-pressed=true]){font-weight:750;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.animal-jumps{gap:10px;flex-wrap:wrap}
.animal-jumps a,.back-link,.ab-link,.cips-back{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
.pw-footer a{display:inline-flex;align-items:center;min-height:44px}
.pw-footer a:focus-visible{outline-color:var(--ui-yellow);box-shadow:none}
.pw-footer summary{min-height:44px}
.stop-photo,.image-button,.journal-picture{transition:transform 220ms var(--ui-ease),filter 220ms}
.directory-grid>a:focus-visible{outline-offset:-4px;box-shadow:none}
/* Quiet, text-led links instead of decorative diagonal arrows. */
.home-directory .directory-grid>a{position:relative;cursor:pointer;transition:background-color 180ms ease;isolation:isolate}
.home-directory .directory-grid>a::after{content:"";position:absolute;inset:7px -10px;z-index:-1;border-radius:4px;background:transparent;transition:background-color 180ms ease}
.home-directory .directory-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:#263e3d66}
.home-directory .directory-grid>a:active::after{background:#263e3d18}
.home-directory .directory-grid>a:focus-visible::after{background:#263e3d0d}
@media(hover:hover) and (pointer:fine){
 .home-directory .directory-grid>a:hover::after{background:#263e3d0d}
 .home-directory .directory-grid>a:hover .directory-title{text-decoration-color:currentColor;text-decoration-thickness:2px}
}
@media(hover:hover) and (pointer:fine){
 body .button:hover{transform:translateY(-2px);background:#365b52;color:#fff8d9}
 .site-header #site-nav a:not(.nav-contact):hover{text-decoration:underline}
 .site-header .menu-toggle:hover,.site-header #site-nav .nav-contact:hover{background:#365b52;color:#fff8d9}
 body :is(#open-material-book,#open-construction-book,#journey-prev,#journey-next):hover{transform:translateY(-2px)}
 body :is(.close,#journey-close,#close-material-book,#close-construction-book):hover{background:#365b52}
 .pw-footer a:hover{text-decoration:underline;text-underline-offset:5px}
}
@media(max-width:1350px){
 body .site-header{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
 body .site-header .logo{margin-right:auto;flex-shrink:0}
 body .site-header .language-control{order:2;margin-left:0}
 body .site-header .menu-toggle{display:flex!important;order:3;flex-shrink:0}
 body .site-header #site-nav,body.home-page .site-header #site-nav,body.lang-eu .site-header #site-nav{display:none!important;position:absolute;top:100%;left:0;right:0;width:auto;max-height:calc(100dvh - 100px);overflow-y:auto;padding:12px var(--margin,6%) 22px;background:var(--ground,#ffdf50);flex-direction:column;align-items:stretch;gap:8px;box-shadow:0 14px 20px #263e3d18}
 body .site-header #site-nav.open,body.home-page .site-header #site-nav.open,body.lang-eu .site-header #site-nav.open{display:flex!important}
 body .site-header #site-nav a{font-size:16px;min-height:48px;padding:12px 16px;border-radius:8px;white-space:normal}
 body .site-header #site-nav a[aria-current=page]{background:var(--ui-ink);color:var(--ui-yellow)}
 body .site-header #site-nav .nav-contact{background:var(--ui-ink);color:var(--ui-yellow)}
}
@media(max-width:600px){
 body .site-header{padding-top:12px;padding-bottom:12px;gap:8px}
 body .site-header .logo{width:108px;max-width:108px}
 body .site-header .language-trigger{padding:10px;gap:4px}
 body .site-header .menu-toggle{padding:10px 12px;font-size:13px}
 .language-name{min-width:55px}
 body .button,body.home-page .hero-copy .button{font-size:14px;padding:13px 20px;min-height:48px}
 body :is(#journey-prev,#journey-next){font-size:14px;padding:12px 16px}
 .pw-footer summary{display:flex;align-items:center;justify-content:space-between}
}
@media(max-width:360px){
 body .site-header .logo{width:68px;max-width:68px}
 body .site-header .menu-toggle{padding:10px;font-size:12px;gap:5px}
 body .site-header .language-trigger{padding:10px 8px}
}
@media(prefers-reduced-motion:reduce){
 :is(button,a,summary){transition:none!important;animation:none!important}
 body .button:hover,body .button:active{transform:none}
}




