/* Self-hosted fonts, including Polish characters. No third-party font requests. */
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant.woff2') format('woff2'),url('fonts/cormorant.woff') format('woff');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('fonts/cormorant-italic.woff2') format('woff2'),url('fonts/cormorant-italic.woff') format('woff');font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:Raleway;src:url('fonts/raleway.woff2') format('woff2'),url('fonts/raleway.woff') format('woff');font-style:normal;font-weight:100 900;font-display:swap}

/* Safari: stable type sizing, notch clearance, and a single header height. */
:root{--header-height:82px;--safe-top:env(safe-area-inset-top,0px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + var(--safe-top) + 12px)}
.header{height:calc(var(--header-height) + var(--safe-top));padding-top:var(--safe-top);padding-left:max(24px,3vw,env(safe-area-inset-left));padding-right:max(24px,3vw,env(safe-area-inset-right));-webkit-backdrop-filter:blur(18px)}
.hero-mobile-photo{display:none}
.hero{aspect-ratio:auto;min-height:35.2865vw}
.hero-plate{overflow:hidden}
.hero-plate{-webkit-mask-image:linear-gradient(90deg,transparent 45%,#000 51%)}
.session-image{-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%)}
.spotlight:after{-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.event-trigger:after{-webkit-mask:none;mask:none}
.event:focus-within{outline:2px solid #ad8743;outline-offset:5px}
.story-copy,.qualifications-copy,.method-copy,.card-copy,.circle-copy,.event-copy{min-width:0}
button,a{-webkit-tap-highlight-color:#c8a66530;touch-action:manipulation}
footer{padding-bottom:max(22px,env(safe-area-inset-bottom))}

/* Native dialog and a fallback for Safari versions without showModal. */
dialog{max-height:88vh;max-height:88svh;max-height:88dvh;margin:auto;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
dialog::backdrop{-webkit-backdrop-filter:blur(7px)}
.dialog-close{width:44px;height:44px;min-width:44px;line-height:1;display:grid;place-items:center}
.dialog-backdrop{display:none;position:fixed;inset:0;background:#291c30aa;z-index:1000}
.dialog-backdrop.is-open{display:block}
dialog.dialog-fallback[open]{display:block;position:fixed;inset:0;z-index:1001;height:fit-content}
html.restoring-scroll{scroll-behavior:auto!important}
.button,.text-link{min-height:44px}

@media(max-width:1100px){:root{--gutter:max(40px,env(safe-area-inset-left),env(safe-area-inset-right))}}
@media(min-width:761px) and (max-width:1100px){.hero{aspect-ratio:auto;min-height:390px}.hero-copy{padding-top:28px;padding-bottom:30px}}
@media(max-width:1050px){
  :root{--header-height:74px}
  .header{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
  .header .main-nav{top:100%;max-height:calc(100vh - var(--header-height) - var(--safe-top));max-height:calc(100dvh - var(--header-height) - var(--safe-top));overflow:auto;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .header .menu-toggle{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0}
  .header>.button{min-height:44px}
}
@media(max-width:760px){
  :root{--header-height:70px;--gutter:max(25px,env(safe-area-inset-left),env(safe-area-inset-right))}
  .header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));gap:8px}
  .header .main-nav a{min-height:48px}
  .hero{padding-top:0;min-height:0}
  .hero-plate{display:none}
  .hero-mobile-photo{display:block;width:100%;height:auto;aspect-ratio:796/542;object-fit:cover;-webkit-mask-image:linear-gradient(#000 85%,transparent);mask-image:linear-gradient(#000 85%,transparent)}
  .hero-copy{padding:18px var(--gutter) 35px}
  .hero .button{min-height:44px}
  .session-image{-webkit-mask-image:linear-gradient(0deg,#000 78%,transparent)}
  .circle-section{padding-left:var(--gutter);padding-right:var(--gutter)}
  dialog{padding:34px 24px;max-width:calc(100% - 24px)}
  .dialog-close{top:-22px;margin:-19px -12px 12px 12px}
  dialog h2{font-size:34px;clear:both}
}
@media(max-width:370px){.header{gap:5px}.header>.button{font-size:9px;padding:8px}.brand{gap:5px}.brand img{width:34px;height:34px}.brand span{font-size:30px}}
@media(hover:none){.event-photo-cue{opacity:1;transform:none}.spotlight:after{display:none}.event:hover .event-photo svg{filter:none}}
@supports not ((mask-composite:exclude) or (-webkit-mask-composite:xor)){.spotlight:after{display:none}}
