/* Responsive type scale in rem: respects browser font preferences. */
:root{
 --type-body:clamp(1.0625rem,.98rem + .3vw,1.375rem);
 --type-small:clamp(.875rem,.82rem + .2vw,1rem);
 --type-label:clamp(.8125rem,.77rem + .16vw,.9375rem);
 --type-action:clamp(1.0625rem,1rem + .2vw,1.25rem);
 --type-hero:clamp(2.625rem,1.5rem + 5vw,6.25rem);
 --type-section:clamp(2.125rem,1.6rem + 2.5vw,4.5rem);
 --type-card:clamp(2.25rem,1.75rem + 2vw,3.5rem);
 --type-subtitle:clamp(1.75rem,1.5rem + 1vw,2.5rem);
}
body{font-size:var(--type-body);line-height:1.7}
h1,h2,h3{overflow-wrap:normal;hyphens:auto;letter-spacing:-.025em}
.hero h1,.page-hero h1{font-size:var(--type-hero);line-height:1.08}
.section-heading h2,h2{font-size:var(--type-section);line-height:1.16}
h3,.detail h3,.event-card h3{font-size:var(--type-subtitle);line-height:1.22}
.hero p,.page-hero p,.intro-grid p,.feature-grid p,.detail p,.announcement-grid p,.event-card p,.next p,.prose{font-size:var(--type-body);line-height:1.75}
.hero p{max-width:40rem}.prose{max-width:48rem}
.lead,.intro-grid .lead,.contact-grid .lead{font-size:clamp(1.75rem,1.4rem + 1.6vw,2.75rem);line-height:1.4}
.eyebrow,.hero .eyebrow,.section-heading .eyebrow,.card-copy .eyebrow{font-size:var(--type-label);line-height:1.6;letter-spacing:.11em}
.button,.text-link,.card-link,.event-card .text-link,.footer-top>a:last-child{font-size:var(--type-action);line-height:1.5}
.button{min-height:3.25rem;padding:1rem 1.4rem;justify-content:center;text-align:center;white-space:normal}
.text-link{gap:0;display:inline-block;padding-block:.5rem;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.3em;transition:text-decoration-color .2s}
.text-link:hover{text-decoration-color:currentColor}
.badge,.world-card .badge,.activity-status .badge,.hero .badge{font-size:var(--type-label);line-height:1.6;letter-spacing:.045em;padding:.4rem .65rem;max-width:100%}
.status-note,.hero .status-note,.card-copy p.status-note,.note,.small-note,.gallery figcaption,.range-map figcaption,.image-caption{font-size:var(--type-small);line-height:1.7}
.note{color:#505c49}.hero .status-note{max-width:35rem}.image-caption{margin-block:1rem 0;color:#505c49}
.card-copy p.status-note{color:#eee2c8;max-width:none}
.world-card,.world-card:nth-child(n){min-height:0;padding:clamp(1.375rem,2vw,2rem);gap:clamp(2rem,4vw,4rem);height:auto}
.card-copy h3{font-size:var(--type-card);line-height:1.12;margin-bottom:1.25rem}
.card-copy p{font-size:clamp(1.0625rem,.98rem + .3vw,1.375rem);line-height:1.7;min-height:0;max-width:32rem}
.card-copy .eyebrow{margin-bottom:1rem}
.card-link{display:block;padding-top:1.1rem;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.3em;transition:text-decoration-color .2s}
.world-card:hover .card-link,.world-card:focus-visible .card-link{text-decoration-color:currentColor}
.world-card:hover{transform:none}.world-card:hover>img,.world-card:hover>picture>img{transform:scale(1.025)}
.world-card:focus-visible{outline:3px solid #8a652e;outline-offset:5px}
.world-card>picture,.hero>picture{position:absolute;inset:0;width:100%;height:100%;z-index:-2;overflow:hidden}
.world-card>picture>img,.hero>picture>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
[data-activity="sklep"]>img,[data-activity="sklep"]>picture>img{object-position:60% 55%}
.world-card[data-activity="sklep"]:after{background:linear-gradient(0deg,#102016f5 0%,#102016d6 32%,#10201640 74%,#10201630)}
.hero[data-activity="sklep"]:after{background:linear-gradient(90deg,#102016eb 0%,#102016b0 48%,#10201622),linear-gradient(0deg,#102016b0,transparent 55%)}
.primary-nav{font-size:clamp(.875rem,.5rem + .5vw,1.0625rem);gap:clamp(.6rem,1vw,1rem);min-width:0}
.primary-nav a{line-height:1.4;text-align:center;text-wrap:balance}
.menu-toggle{font-size:var(--type-action);min-height:3rem}.language{font-size:.875rem}
.breadcrumbs{font-size:var(--type-small);line-height:1.6;flex-wrap:wrap}
.breadcrumbs a{min-height:2.75rem;display:flex;align-items:center}
.hero-bottom{font-size:var(--type-label);line-height:1.7;letter-spacing:.08em}
.footer-top p{font-size:var(--type-body)}.footer-bottom{font-size:var(--type-small);line-height:1.7}
.footer-wordmark small{font-size:.75rem;line-height:1.8}
.brand small{font-size:.5625rem;line-height:1.7}.brand>span{font-size:1.375rem}
.event-card time span{font-size:var(--type-small)}.event-card time strong{font-size:3.5rem}
summary{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);line-height:1.5}
table,.feature-grid table{font-size:var(--type-body);line-height:1.6}caption{font-size:var(--type-subtitle)}
.news-filter select,.news-filter label,dialog button{font-size:var(--type-action)}
.intro-grid>*,.feature-grid>*,.contact-grid>*,.events-grid>*,.detail-grid>*,.announcement-grid>*{min-width:0}
@media(max-width:1050px){
 .primary-nav{font-size:1.0625rem;gap:.5rem 1rem}.primary-nav a{text-align:left;min-height:3rem;padding-block:.65rem}
}
@media(max-width:650px){
 .hero h1,.page-hero h1{font-size:clamp(2.625rem,2rem + 3.2vw,3.375rem)}
 .section-heading h2,h2{font-size:clamp(2.125rem,1.9rem + 1.2vw,2.625rem)}
 .card-copy h3{font-size:clamp(2.25rem,2rem + 1.25vw,2.75rem)}
 .hero .status-note{font-size:var(--type-small);max-width:none}
 .world-card,.world-card:nth-child(n){gap:2rem;padding:1.375rem}
 .card-copy p,.intro-grid p{font-size:var(--type-body)}
 .brand small{display:none}.brand>span{font-size:1.25rem}.header-inner{gap:.625rem}
 .menu-toggle{padding:.5rem .75rem;gap:.5rem}.language{padding-left:.5rem}
 .hero-content{padding-block:4rem}.page-hero .hero-content{padding-block:3.5rem}
 .hero.home-hero{min-height:0}.hero-bottom{padding-bottom:1.5rem}
 .hero-bottom span:last-child{display:block}
 .actions{gap:.875rem}.actions .button{flex:1 1 13rem}
 .contact-grid .button{justify-content:center}
 .gallery figcaption{font-size:var(--type-small)}
 .event-card{gap:1rem;padding:1.5rem}
 .event-card h3{font-size:1.75rem}.event-card time strong{font-size:3rem}
 .announcement-grid h3{font-size:var(--type-subtitle)}
 [data-activity="sklep"]>img,[data-activity="sklep"]>picture>img{object-position:66% 50%}
}
@media(max-width:420px){.event-card{flex-direction:column}.event-card time{flex-direction:row;align-items:baseline;gap:.75rem}}
@media(prefers-reduced-motion:reduce){.world-card:hover>img,.world-card:hover>picture>img{transform:none}}
/* Long Polish labels must reflow even when the reader doubles text size. */
h1,h2,h3,p,a,address,th,td,summary,.badge,.eyebrow,.status-note{overflow-wrap:anywhere}
.card-copy p.status-note{font-size:var(--type-small)}
.actions>*{max-width:100%}.gallery figure{min-width:0}
table{table-layout:fixed}td{white-space:normal}
.hours-row{flex-wrap:wrap;gap:.4rem 1rem}
@media(max-width:1050px){.primary-nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}}
