:root{--brand-hue: 215;--accent: hsl(var(--brand-hue), 62%, 38%);--accent-dark: hsl(var(--brand-hue), 60%, 24%);--accent-darker: hsl(var(--brand-hue), 58%, 17%);--accent-soft: hsl(var(--brand-hue), 55%, 94%);--accent-border: hsl(var(--brand-hue), 35%, 82%);--bg: hsl(var(--brand-hue), 30%, 99%);--surface: hsl(var(--brand-hue) 100% 99.5%);--text: hsl(var(--brand-hue), 25%, 14%);--text-muted: hsl(var(--brand-hue), 10%, 42%);--on-accent: #ffffff;--brand-red: #d72538;--counter-accent: hsl(var(--brand-hue), 85%, 39%);--radius: 2px;--shadow: 0 2px 5px hsla(var(--brand-hue), 40%, 20%, .1);--container: 960px;--gradient-hero: linear-gradient( 135deg, hsla(var(--brand-hue), 60%, 15%, .72), hsla(var(--brand-hue), 62%, 38%, .42), hsla(var(--brand-hue), 35%, 8%, .8) );--gradient-card: linear-gradient( 135deg, hsl(var(--brand-hue), 55%, 22%), hsl(var(--brand-hue), 62%, 42%) );--topbar-height: 4.5rem;--topbar-bg: transparent;--topbar-filter: none;--topbar-shadow: none}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}html{font-size:clamp(8px,12.57px + .2vw,16px);scroll-behavior:smooth}.site-shell{position:relative;min-height:100vh;display:flex;flex-direction:column;--hero-height: 30vh}.site-shell:has(.hero--compact){--hero-height: var(--topbar-height)}.site-shell:has(.hero--compact) main{padding-top:3rem}main{flex:1}img{max-width:100%}a{color:var(--accent)}a:hover{color:var(--accent-dark)}h1,h2,h3{line-height:1.25;color:var(--accent-darker)}.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem}.hero{--hero-pad-top: 3rem;--hero-pad-bottom: 1rem;--logo-scale: .62;--logo-height: max(0px, min( calc(var(--hero-height) * var(--logo-scale)), calc(var(--hero-height) - var(--hero-pad-top) - var(--hero-pad-bottom) - var(--topbar-height)), 36vw ));--logo-fade-start: 70%;--logo-fade-end: 80%;position:sticky;top:calc(var(--topbar-height) - var(--hero-height));height:var(--hero-height);display:flex;flex-direction:column;justify-content:center;align-items:center;background:hsl(var(--brand-hue),35%,10%);overflow:hidden}.hero--compact .hero__logo{display:none}.hero__backdrop{position:absolute;inset:0;background-image:var(--hero-image, none);background-size:cover;background-position:center;filter:blur(1.5px) brightness(.7) saturate(.7);transform:scale(1.1);overflow:hidden}.hero__video{display:block;width:100%;height:100%;object-fit:cover}.hero:before{content:"";position:absolute;inset:0;background:var(--gradient-hero)}.hero__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--on-accent);padding:var(--hero-pad-top) 1.5rem calc(var(--hero-pad-bottom) + var(--topbar-height));min-height:0;width:100%;max-width:var(--container)}.hero__logo{font-size:var(--logo-height);display:flex;flex-direction:row;align-items:center;gap:clamp(.75rem,1.8vw,1.25rem);text-decoration:none;transition:transform .6s ease}.hero__logo:hover{transform:scale(1.04)}.hero__wordmark{font-size:clamp(1.5rem,3.8vw,1.9rem);width:auto;white-space:nowrap;color:#fffffff2;line-height:1.28;font-weight:380;letter-spacing:.03em;text-transform:none;text-align:left;text-shadow:0 2px 16px hsla(var(--brand-hue),50%,8%,.45);transition:opacity .35s ease}.hero__logo:hover .hero__wordmark{opacity:1}.wordmark__line{display:block}.wordmark__initial{color:var(--brand-red);font-weight:550;transition:color .24s ease}.hero__logo img{height:1em;flex:none;width:auto;opacity:.95;filter:drop-shadow(0 4px 20px rgba(0,0,0,.45));transition:opacity .4s ease}.hero__logo:hover img{opacity:1}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;width:100%;min-height:var(--topbar-height);margin-top:calc(var(--topbar-height) * -1);padding:0 1.25rem;background:var(--topbar-bg);-webkit-backdrop-filter:var(--topbar-filter);backdrop-filter:var(--topbar-filter);box-shadow:var(--topbar-shadow);transition:background-color .26s ease,box-shadow .26s ease}.nav-links{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:nowrap;width:fit-content;min-width:min(70%,100%);margin:0 auto;padding:0}.nav-links a{color:#fff;text-decoration:none;font-size:clamp(.8rem,.5vw + .62rem,1.15rem);text-transform:uppercase;letter-spacing:.15em;white-space:nowrap;font-weight:500;opacity:.92;text-shadow:0 1px 10px hsla(var(--brand-hue),50%,8%,.6);display:inline-block;transform-origin:center;position:relative;transition:opacity .18s ease,transform .3s ease}.nav-links a:hover,.nav-links a:focus-visible{opacity:1;transform:scale(1.25)}.nav-links a.is-current{opacity:1}.nav-links a.is-current:after{content:"";position:absolute;top:100%;left:0;right:0;margin-top:.3em;height:2px;background:var(--brand-red);opacity:1}.nav-item{flex:1;display:inline-flex;align-items:center;justify-content:center}.nav-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.nav-title,.nav-burger{display:none}.nav-logo{position:absolute;left:1.25rem;top:0;bottom:0;margin:auto 0;height:calc(var(--topbar-height) - 1.2rem);display:flex;align-items:center;gap:.42rem;text-decoration:none;opacity:0;pointer-events:none;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:opacity .28s ease;will-change:opacity}.nav-logo img{align-self:center;height:85%;width:auto;display:block}.nav-wordmark{max-width:none;color:#ffffffeb;font-size:.84rem;line-height:1.2;font-weight:380;letter-spacing:.03em;text-transform:none;text-shadow:0 1px 10px hsla(var(--brand-hue),50%,8%,.5)}.nav-wordmark .wordmark__initial{color:var(--brand-red);font-weight:600}.site-shell.is-scrolled,.site-shell:has(.hero--compact){--topbar-bg: hsla(var(--brand-hue), 80%, 10%, .89);--topbar-filter: blur(8px);--topbar-shadow: 0 8px 24px hsla(var(--brand-hue), 45%, 10%, .45)}.site-shell.is-scrolled .nav-logo,.site-shell:has(.hero--compact) .nav-logo{opacity:1;pointer-events:auto}@media(max-width:80em){.hero__content{padding-left:1rem;padding-right:1rem}.topbar{padding:0 1rem;justify-content:space-between}.nav-logo{position:static;transform:none;flex:none}.nav-wordmark{display:none}.nav-title{display:block;position:absolute;left:50%;transform:translate(-50%);max-width:calc(100% - 9rem);padding:0 .5rem;color:#fff;text-decoration:none;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;font-weight:500;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 10px hsla(var(--brand-hue),50%,8%,.6);transition:opacity .18s ease}.nav-title:hover,.nav-title:focus-visible{opacity:1;color:var(--accent-soft)}.nav-burger{display:block;position:relative;width:1.5rem;height:var(--topbar-height);flex:none;cursor:pointer}.nav-burger:before{content:"";position:absolute;top:50%;left:0;width:100%;height:2px;margin-top:-1px;background:#fff;box-shadow:0 -7px #fff,0 7px #fff}.nav-toggle:focus-visible~.nav-burger{outline:2px solid #fff;outline-offset:2px}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;width:auto;min-width:0;margin:0;padding:.5rem 0 .75rem;background:hsla(var(--brand-hue),80%,10%,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px hsla(var(--brand-hue),45%,10%,.45)}.nav-toggle:checked~.nav-links{display:flex}.nav-item{display:block;flex:none}.nav-links a{display:block;padding:.75rem 1rem;letter-spacing:.06em;text-align:center;transition:color .18s ease,background-color .18s ease}.nav-links a.is-current:after{display:none}.nav-links a.is-current{background:hsla(var(--brand-hue),60%,30%,.55)}.nav-links a:hover,.nav-links a:focus-visible{transform:none;color:var(--accent-soft);background:hsla(var(--brand-hue),60%,40%,.25)}}.block{display:flow-root;scroll-margin-top:calc(var(--topbar-height) + 1.5rem)}.block h2{text-align:left}.steps,.figures{--pic-gap: clamp(1.25rem, 3vw, 2.25rem)}.steps{--arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h17M14 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.block:has(>:is(.steps,.figures)){padding-bottom:clamp(1.25rem,2.5vw,2rem)}.block:has(>:is(.steps,.figures))>h2{margin:clamp(2.5rem,5vw,4rem) 0 clamp(1.5rem,3vw,2.25rem);text-wrap:balance}main>.block:first-child:has(>:is(.steps,.figures))>h2{margin-top:revert}.steps__intro{font-size:1.05rem}.steps__intro>:first-child{margin-top:0}.steps__intro>:last-child{margin-bottom:0}.steps__list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:var(--pic-gap);margin:clamp(1.75rem,3.5vw,2.5rem) 0 0;padding:0;list-style:none}.steps__media{position:relative;margin:0}.steps__media img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);background:var(--accent-soft)}.steps__step:not(:last-child) .steps__media:after{content:"";position:absolute;top:50%;left:100%;width:var(--pic-gap);height:1.25rem;transform:translateY(-50%);background:var(--accent);-webkit-mask:var(--arrow) center / 1.35rem no-repeat;mask:var(--arrow) center / 1.35rem no-repeat}.steps__name{margin:1rem 0 .35rem;font-size:1.2rem}.steps__text{font-size:.95rem;line-height:1.55}.steps__text>*{margin:0}.steps__text>*+*{margin-top:.5em}.steps__closing{margin-top:clamp(2.5rem,5vw,3.5rem);padding:clamp(1.25rem,3vw,2rem) clamp(1.25rem,3.5vw,2.25rem);background:var(--accent-soft);border-radius:var(--radius);font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.5;color:var(--accent-darker);text-wrap:pretty}.steps__closing .prose>:first-child{margin-top:0}.steps__closing .prose>:last-child{margin-bottom:0}.steps__closing--figure{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,21rem);gap:clamp(1.5rem,4vw,3rem);align-items:center}.steps__closing-figure{margin:0}.steps__closing-figure img{display:block;width:100%;height:auto}@media(max-width:48rem){.steps__closing--figure{grid-template-columns:1fr}.steps__closing-figure{max-width:22rem}}.steps__closing em{color:var(--accent)}.steps__closing strong{font-weight:600;white-space:nowrap}@media(max-width:44rem){.steps__list{grid-auto-flow:row;grid-template-columns:1fr;gap:1.5rem}.steps__step{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:auto 1fr;column-gap:1rem}.steps__media{grid-row:1 / span 2}.steps__step:not(:last-child) .steps__media:after{display:none}.steps__name{margin:0 0 .25rem;font-size:1.1rem}.steps__text{font-size:.92rem}}.figures__row{display:grid;gap:var(--pic-gap) clamp(1.75rem,4.5vw,3.75rem);align-items:start}.figures__row+.figures__row{margin-top:clamp(2.5rem,5vw,4rem);padding-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--accent-border)}@media(min-width:48rem){.figures__row:not(.figures__row--text-only){grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.figures__row--media-right:not(.figures__row--text-only){grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.figures__row--media-right .figures__media{order:2}}.figures__media figure{margin:0}.figures__media figure img{display:block;width:100%;height:auto;padding:clamp(.6rem,1.8vw,1.25rem);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.figures__media figcaption{margin-top:.65rem;font-size:.85rem;line-height:1.45;color:var(--text-muted)}.figures__logos{--logo-gap: .75rem;--logo-cols: 3;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--logo-gap);margin:var(--pic-gap) 0 0;padding:0;list-style:none}.figures__media>.figures__logos:first-child{margin-top:0}.figures__logos li{flex:0 0 calc((100% - (var(--logo-cols) - 1) * var(--logo-gap)) / var(--logo-cols))}.figures__logo{display:block;aspect-ratio:2 / 1;padding:.9rem 1rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);transition:box-shadow .2s ease,transform .2s ease}.figures__logo img{display:block;width:100%;height:100%;object-fit:contain}a.figures__logo:hover{transform:translateY(-2px);box-shadow:0 4px 12px hsla(var(--brand-hue),40%,20%,.16)}a.figures__logo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:30rem){.figures__logos{--logo-cols: 2}}@media(prefers-reduced-motion:reduce){.figures__logo{transition:none}a.figures__logo:hover{transform:none}}.figures__text{max-width:38rem}.figures__row--text-only .figures__text{margin:0}.figures__text h3{margin:0 0 .75rem;font-size:clamp(1.3rem,2.2vw,1.6rem);text-wrap:balance}.figures__text .prose>:first-child{margin-top:0}.figures__text .prose>:last-child{margin-bottom:0}.figures__folds{margin-top:1.5rem;border-top:1px solid var(--accent-border)}.fold{border-bottom:1px solid var(--accent-border);interpolate-size:allow-keywords}.fold>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .15rem;font-weight:600;color:var(--accent-dark);cursor:pointer;list-style:none;transition:color .16s ease}.fold>summary::-webkit-details-marker{display:none}.fold>summary:hover{color:var(--accent)}.fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fold__icon{flex:none;width:1.1rem;height:1.1rem;transition:transform .32s cubic-bezier(.16,1,.3,1)}.fold[open] .fold__icon{transform:rotate(180deg)}.fold__count{display:inline-block;min-width:1.6em;margin-left:.35rem;padding:0 .45em;font-size:.78rem;line-height:1.6;text-align:center;font-variant-numeric:tabular-nums;color:var(--accent-dark);background:var(--accent-soft);border-radius:999px}.fold::details-content{block-size:0;overflow:clip;transition:block-size .38s cubic-bezier(.16,1,.3,1),content-visibility .38s allow-discrete}.fold[open]::details-content{block-size:auto}.fold__body{padding:0 .15rem 1.1rem}.fold__body>:first-child{margin-top:0}.fold__body>:last-child{margin-bottom:0}.fold .fold__body>.publication-list{margin-bottom:0}.fold__body ul:not(.publication-list){padding-left:1.2rem}.fold__body li+li{margin-top:.5rem}.fold__body li::marker{color:var(--accent)}.fold__body .publication-list li+li{margin-top:.35rem}@media(prefers-reduced-motion:reduce){.fold::details-content,.fold__icon{transition:none}}.card{--card-ratio: 3 / 2;--card-pad: 1.1rem;--card-title: 1.15rem;--card-title-lines: 2;--card-lines: 2;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:var(--card-ratio);min-height:13rem;width:100%;padding:var(--card-pad);overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);color:#fff;background:var(--gradient-card);transition:box-shadow .3s ease}.card-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .4s ease}.card:has(.card-body):after{content:"";position:absolute;inset:auto 0 0;height:48%;z-index:-1;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.45) 50%,rgba(0,0,0,.8) 100%)}.card:has(.card-kicker):after{inset:0;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,transparent 20%,transparent 52%,rgba(0,0,0,.45) 75%,rgba(0,0,0,.8) 100%)}.card-kicker{position:relative;z-index:2;margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#ffffffd9;text-shadow:0 1px 3px hsla(var(--brand-hue),40%,8%,.75)}.card-kicker a{color:inherit;text-decoration:none;border-bottom:1px solid hsla(0,0%,100%,.45)}.card-kicker a:hover{color:#fff;border-bottom-color:#fff}.card-section+time:before{content:"\b7";margin:0 .45em}.card-body{margin:auto 0 0}.card-title{margin:0 0 .35rem;font-size:var(--card-title);line-height:1.2;font-weight:700;color:#fff;text-shadow:0 1px 4px hsla(var(--brand-hue),40%,8%,.8);text-wrap:balance;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--card-title-lines);line-clamp:var(--card-title-lines);overflow:hidden}.card-title a{color:inherit;text-decoration:none;text-shadow:inherit}.card-title a:after{content:"";position:absolute;inset:0;z-index:1}.card-summary{margin:0;font-size:.92rem;line-height:1.45;color:#ffffffeb;text-shadow:0 1px 4px hsla(var(--brand-hue),40%,8%,.75);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--card-lines);line-clamp:var(--card-lines);overflow:hidden}.card:hover{box-shadow:0 8px 22px hsla(var(--brand-hue),40%,20%,.22)}.card:hover .card-bg{transform:scale(1.04)}.card-credit{margin:.25rem 0 0;font-size:.72rem;color:#ffffffbf;text-shadow:0 1px 3px hsla(var(--brand-hue),40%,8%,.8)}.card:focus-within{outline:2px solid var(--accent);outline-offset:3px}.thesis-meta{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.position-card-meta{margin:0 .45em}.position-card-actions{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid hsla(0,0%,100%,.3);flex-wrap:wrap}.position-card-action-primary{color:#fff;font-size:.92rem;font-weight:700;text-decoration:none}.position-card-action-primary:hover{color:#fff;text-decoration:underline}.position-card-action-official{color:#ffffffd1;font-size:.84rem;font-weight:600;text-decoration:none}.position-card-action-official:hover{color:#fff;text-decoration:underline}.deck--grid,.deck--list{display:grid;gap:1.25rem}.deck--grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.deck--list{grid-template-columns:1fr}.deck--list .card{--card-ratio: 21 / 9;--card-pad: 1.5rem;--card-title: 1.5rem;--card-lines: 3}.deck--carousel{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-color:var(--accent-border) transparent}.deck--carousel .card{--card-ratio: 28 / 9;--card-pad: clamp(1.1rem, 5vw, 4.5rem);--card-title: clamp(1.35rem, 8vw, 2.8rem);--card-lines: 3;flex:0 0 100%;min-height:16rem;border-radius:0;scroll-snap-align:start;scroll-snap-stop:always}.carousel{position:relative}main>.block:last-child:has(>.carousel){padding-bottom:clamp(2.5rem,5vw,4rem)}.carousel__arrow{display:none;position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--accent-border);border-radius:50%;color:var(--accent-dark);background:#ffffffd1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:var(--shadow);cursor:pointer;transition:opacity .2s ease,background .2s ease}.carousel__arrow svg{display:block;width:1rem;height:1rem;margin:auto;fill:currentColor}.carousel__arrow--prev{left:.6rem}.carousel__arrow--next{right:.6rem}.carousel__arrow:hover{background:#fff}.carousel__arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.carousel__arrow:disabled{opacity:.25;pointer-events:none}@media(hover:hover){.carousel__arrow{display:block;opacity:0;pointer-events:none}:is(.carousel:hover,.carousel:focus-within) .carousel__arrow{opacity:1;pointer-events:auto}:is(.carousel:hover,.carousel:focus-within) .carousel__arrow:disabled{opacity:.25}}blockquote{margin:1.25rem 0;padding:.85rem 1.25rem;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted);font-size:.95rem;line-height:1.5}blockquote p{margin:0}.block:has(.resources-collection)>h2,.resources-collection>h2{text-align:left;margin-bottom:.75rem}.resource-item-main{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-bottom:.25rem}.resource-title{margin:0;display:inline;font-size:1.05rem;font-weight:600;line-height:1.4}.resource-title a{color:var(--accent-darker);text-decoration:none}.resource-icon{width:1.25rem;height:1.25rem;flex:none;fill:var(--accent);align-self:center}.resource-list--data .resource-icon{fill:#2078b6}.resource-list--code .resource-icon{fill:#259365}.resource-list--links .resource-icon{fill:#bf7522}.resource-list--talks .resource-icon{fill:#7334b2}.resource-title a:hover{text-decoration:underline}.resource-meta{margin:.25rem 0 .35rem;font-size:.88rem;color:var(--text-muted)}.resource-summary{margin:.25rem 0 0;font-size:.94rem;line-height:1.5;color:var(--text)}.resource-list--data,.resource-list--talks{border-top:1px solid var(--accent-border);margin:.75rem 0 2rem}.resource-list--data .resource-item,.resource-list--talks .resource-item{padding:.85rem .25rem;border-bottom:1px solid var(--accent-border);margin:0}.resource-list--data .badge{background:#e2eff9;color:#114b74}.resource-list--talks .badge{background:#ede3f7;color:#471976}.resource-list--code{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.25rem;margin:1rem 0 2.5rem}.resource-list--code .resource-item{margin:0;padding:1.15rem 1.35rem;background:var(--surface);border:1px solid var(--accent-border);border-left:4px solid hsl(155,60%,36%);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s ease,box-shadow .15s ease}.resource-list--code .resource-item:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000000f}.resource-list--code .badge{background:#dff6ec;color:#145d3e}.resource-list--code code{font-family:monospace;font-size:.85em;background:var(--bg);padding:.15em .45em;border-radius:4px;border:1px solid var(--accent-border);color:var(--accent-dark)}.resource-list--links{display:flex;flex-direction:column;gap:1.25rem;margin:1rem 0 2.5rem}.resource-list--links .resource-item{margin:0;padding:0 0 0 1rem;border-left:2px solid hsl(32,60%,65%)}.resource-list--links .badge{background:#f8ebdd;color:#6c4313}.resource-list--links .resource-meta{font-style:italic;color:var(--text-muted)}:is(.cards--split,.cards--split-reverse) .card{--card-ratio: 3 / 1;--card-title-lines: 3;--card-lines: 6;--split-inset: .6rem;container-type:inline-size;--card-pad: clamp(1rem, 3cqi, 3rem);--card-title: clamp(1.05rem, 2.5cqi, 2.2rem);display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:.35rem;color:var(--text);background:var(--accent-soft)}:is(.cards--split,.cards--split-reverse) .card:after{content:none}:is(.cards--split,.cards--split-reverse) .card-bg{object-fit:contain;top:var(--split-inset);width:calc(50% - 2 * var(--split-inset));height:calc(100% - 2 * var(--split-inset));filter:none;transform:none}:is(.cards--split,.cards--split-reverse) .card-body{margin-top:0}:is(.cards--split,.cards--split-reverse) .card-kicker{color:var(--text-muted);text-shadow:none;font-size:clamp(.7rem,1.3cqi,.95rem)}:is(.cards--split,.cards--split-reverse) .card-summary{font-size:clamp(.82rem,1.5cqi,1.15rem)}:is(.cards--split,.cards--split-reverse) .card-kicker a{border-bottom-color:var(--accent-border)}:is(.cards--split,.cards--split-reverse) .card-kicker a:hover{color:var(--accent);border-bottom-color:var(--accent)}:is(.cards--split,.cards--split-reverse) :is(.card-title,.card-title a,.card-summary){color:var(--accent-darker);text-shadow:none}:is(.cards--split,.cards--split-reverse) .card:hover .card-bg{transform:none;filter:none}.cards--split .card-bg{left:calc(50% + var(--split-inset))}.cards--split :is(.card-kicker,.card-body){grid-column:1}.cards--split-reverse .card-bg{left:var(--split-inset)}.cards--split-reverse :is(.card-kicker,.card-body){grid-column:2}@media(max-width:42rem){:is(.cards--split,.cards--split-reverse) .card{aspect-ratio:auto}}.deck-groups{display:grid;gap:2.5rem;margin:1.25rem 0 2.5rem}.deck-group__head{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .9rem;padding-bottom:.55rem;border-bottom:1px solid var(--accent-border);font-size:1.05rem}.deck-group__head a{color:inherit;text-decoration:none}.deck-group__head a:hover{color:var(--accent)}.deck-group__count{font-size:.75rem;font-weight:600;color:var(--accent-dark);background:var(--accent-soft);border-radius:999px;padding:.05rem .55rem;font-variant-numeric:tabular-nums}.deck-tabs{display:flex;gap:.25rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;box-shadow:inset 0 -1px 0 var(--accent-border)}.deck-tabs[hidden]{display:none}.deck-tab{appearance:none;flex:none;display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:.6rem .9rem .65rem;background:none;border:0;border-bottom:2px solid transparent;font:inherit;font-size:.95rem;font-weight:600;white-space:nowrap;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.deck-tab:hover{color:var(--accent-dark);border-bottom-color:var(--accent-border)}.deck-tab[aria-selected=true]{color:var(--accent-darker);border-bottom-color:var(--accent)}.deck-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.deck-tab:not([aria-selected=true]) .deck-group__count{color:var(--text-muted);background:hsl(var(--brand-hue),20%,94%)}.deck-groups.is-tabbed{gap:1.25rem}.deck-groups.is-tabbed .deck-group__head{display:none}.deck-group:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[data-group-by=supervisor] [data-field=supervisor],[data-group-by=level] [data-field=level]{display:none}.deck--list:has(>.news-post){gap:0}.news-post{padding:2rem 0;min-width:0;scroll-margin-top:var(--topbar-height)}.news-post+.news-post{border-top:1px solid var(--accent-border)}.news-post__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .6rem;margin:0}.news-post__date{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--brand-red)}.news-post__authors{font-size:.85rem;color:var(--text-muted)}.news-post__date+.news-post__authors:before{content:"\b7";margin-right:.6rem}.news-post__authors a{color:inherit;text-decoration-color:var(--accent-border);text-underline-offset:.2em}.news-post__authors a:hover{color:var(--accent)}.news-post__title{margin:.25rem 0 .75rem;font-size:1.45rem;line-height:1.25;text-wrap:balance}.news-post__title a{color:inherit;text-decoration:none}.news-post__title a:hover{color:var(--accent)}h1.news-post__title{font-size:clamp(1.6rem,4vw,2.2rem)}.news-post__body{max-width:none}.news-post__body>:first-child{margin-top:0}.news-post__body>:last-child{margin-bottom:0}.news-post__body.is-collapsed{--news-cap: 14rem;max-height:var(--news-cap);overflow:hidden;mask-image:linear-gradient(to bottom,#000 65%,transparent)}.news-post__more{background:none;border:0;padding:.4rem 0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.news-post__more[hidden]{display:none}.news-post__more:hover{text-decoration:underline;text-underline-offset:.2em}.news-post__more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.news-post__more-close,.news-post__more[aria-expanded=true] .news-post__more-open{display:none}.news-post__more[aria-expanded=true] .news-post__more-close{display:inline}.news-post .media-gallery--single,.news-post .media-carousel-wrapper{margin-top:1rem}.news-post .media-gallery--single .media-item__frame{width:fit-content;max-width:100%}.news-post .media-gallery--single .media-item__frame :is(img,video){width:auto;max-width:100%;max-height:26rem}.news-post__back{margin-top:2rem}.deck--grid:has(>.person){grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 1.25rem;margin:1.5rem 0 2.5rem}@media(min-width:36em){.deck--grid:has(>.person){grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:52em){.deck--grid:has(>.person){grid-template-columns:repeat(4,minmax(0,1fr))}}.person{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.person-link{color:inherit;text-decoration:none}.person__portrait{order:-1;position:relative;width:min(8.5rem,78%)}.person__portrait-link{display:block;color:inherit;text-decoration:none}.person__photo{display:block;width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;background:var(--accent-soft);outline:1px solid var(--accent-border);outline-offset:4px;transition:outline-color .2s ease,outline-offset .2s ease}.person__photo--initials{display:grid;place-items:center;color:var(--accent-dark);font-size:2rem;font-weight:600;letter-spacing:.02em}.person h3{margin:1.1rem 0 .2rem;font-size:1.02rem;text-wrap:balance}.person:has(.person-link:hover,.person__portrait-link:hover,.person-link:focus-visible) .person__photo{outline-color:var(--accent);outline-offset:6px}.person:has(.person-link:hover,.person__portrait-link:hover) .person-link{color:var(--accent)}.person__mail{--mail-size: 2.1rem;position:absolute;right:calc(14.6% - var(--mail-size) / 2);bottom:calc(14.6% - var(--mail-size) / 2);display:grid;place-items:center;width:var(--mail-size);height:var(--mail-size);border-radius:50%;background:var(--surface);color:var(--accent);border:1px solid var(--accent-border);box-shadow:var(--shadow);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.person__mail svg{width:1rem;height:1rem;fill:currentColor}.person__mail:hover,.person__mail:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.person__mail:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.person h3 .person__mail{position:static;display:inline-grid;--mail-size: 1.6rem;vertical-align:middle;margin-left:.3rem;box-shadow:none}.person .role{color:var(--accent);font-weight:600;font-size:.85rem;margin:0}.person .person-dates{font-size:.8rem;color:var(--text-muted);margin:.1rem 0 0}.person .bio{font-size:.86rem;line-height:1.55;color:var(--text-muted);margin:.7rem 0 0;text-wrap:pretty}.person-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;list-style:none;margin:.5rem 0 0;padding:0}.person-links a{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;color:var(--text-muted);transition:color .15s ease,background-color .15s ease}.person-links a:hover,.person-links a:focus-visible{color:var(--accent);background:var(--accent-soft)}.person-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.person-links svg{width:1rem;height:1rem;fill:currentColor}.person-links--labelled{justify-content:flex-start;gap:.3rem 1.1rem;margin-top:.45rem;font-size:.92rem}.person-links--labelled a{display:inline-flex;align-items:center;gap:.4em;width:auto;height:auto;border-radius:0;color:var(--accent);text-decoration:none}.person-links--labelled a:hover,.person-links--labelled a:focus-visible{background:none;text-decoration:underline;text-underline-offset:.2em}.person-links--labelled svg{width:1.05em;height:1.05em}.person .thesis-title{font-size:.95rem;margin:0 0 .4rem}.person .thesis-title-pending{color:var(--text-muted);font-style:italic}.person--past .role{color:var(--text-muted)}.profile{margin-bottom:2.5rem}.profile__head{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.25rem 2rem}.profile__photo{width:clamp(6.5rem,22vw,9.5rem);aspect-ratio:1;border-radius:50%;object-fit:cover;background:var(--accent-soft);outline:1px solid var(--accent-border);outline-offset:5px}.profile__id{min-width:0}.profile h1{margin:0 0 .35rem;font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.01em;text-wrap:balance}.profile__role{margin:0;color:var(--accent);font-weight:600}.profile__mail{margin:.6rem 0 0;font-size:.92rem;overflow-wrap:anywhere}.profile__mail a{text-decoration:none}.profile__mail a:hover{text-decoration:underline;text-underline-offset:.2em}.profile__mail svg{width:1.05em;height:1.05em;margin-right:.4em;vertical-align:-.2em;fill:currentColor}.profile__summary{margin:.8rem 0 0;max-width:62ch;color:var(--text-muted)}.profile__theses{margin-top:2.75rem}.profile__theses h2{margin:0 0 1rem}.profile-thesis{padding:1.3rem 1.5rem 1.4rem;background:var(--surface);border:1px solid var(--accent-border);border-radius:var(--radius)}.profile-thesis+.profile-thesis{margin-top:1rem}.profile-thesis h3{margin:0 0 .55rem;font-size:1.2rem;max-width:60ch;text-wrap:balance}.profile-thesis__pending{color:var(--text-muted);font-style:italic;font-weight:500}.profile-thesis__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin:0;font-size:.86rem;color:var(--text-muted)}.profile-thesis__meta>span+span:before{content:"\b7";margin-right:.6rem;color:var(--accent-border)}.profile-thesis__meta .badge+span:before{content:none}.profile-thesis__meta a{color:inherit}.profile-thesis__meta a:hover{color:var(--accent)}.profile-thesis__abstract{margin-top:1rem;max-width:70ch;font-size:.95rem}.profile-thesis__abstract>:last-child{margin-bottom:0}.profile-thesis__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0 0}.profile-thesis__action{display:inline-block;padding:.45rem 1.05rem;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .15s ease,color .15s ease}.profile-thesis__action:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--on-accent)}.profile-thesis__action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-thesis__action--secondary{background:transparent;color:var(--accent)}.profile-thesis__action--secondary:hover{background:var(--accent-soft);color:var(--accent-dark)}@media(max-width:36em){.profile__head{grid-template-columns:1fr}.profile-thesis{padding:1.1rem 1.1rem 1.2rem}}.contact-cards{display:grid;gap:1.25rem;grid-template-columns:1fr}@media(min-width:40em){.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-card{display:flex;gap:1.25rem;align-items:flex-start;padding:1.5rem;background:var(--surface);border:1px solid var(--accent-border);border-radius:var(--radius);box-shadow:var(--shadow)}.contact-card__photo{flex:none;width:5.5rem;aspect-ratio:1;border-radius:50%;object-fit:cover;background:var(--accent-soft);outline:1px solid var(--accent-border);outline-offset:4px}.contact-card__body{min-width:0}.contact-card__label{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--text-muted)}.contact-card__name{margin:.15rem 0 .5rem;font-size:1.15rem}.contact-card__name a{color:inherit;text-decoration:none}.contact-card__name a:hover{color:var(--accent)}.contact-card__details{list-style:none;margin:0;padding:0;color:var(--text-muted);font-size:.92rem}.contact-card__mail{margin:.6rem 0 0;font-size:.92rem;overflow-wrap:anywhere}.contact-card__mail a{text-decoration:none}.contact-card__mail a:hover{text-decoration:underline;text-underline-offset:.2em}.contact-card__mail svg{width:1.05em;height:1.05em;margin-right:.4em;vertical-align:-.2em;fill:currentColor}.contact-address{display:flex;gap:.6rem;margin-top:1.75rem;font-style:normal;color:var(--text-muted)}.contact-address svg{flex:none;width:1.2rem;height:1.2rem;margin-top:.2rem;fill:var(--accent)}.contact-address p{margin:0 0 .4rem}.contact-address p:last-child{margin-bottom:0}@media(max-width:30em){.contact-card{flex-direction:column}}.badge{display:inline-block;background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:.1rem .65rem;font-size:.78rem;font-weight:600}.badge-muted{background:var(--bg);color:var(--text-muted);border:1px solid var(--accent-border)}.badge-level{margin-right:.5rem}.badge-lecture,.badge-msc{background:#e7eef8;color:#183762}.badge-seminar{background:#e4f6f0;color:#165a43}.badge-blockseminar,.badge-bsc{background:#f9ede2;color:#694016}.badge-project{background:#f8e7ea;color:#6a1b28}.badge-phd{background:#f0e9f7;color:#472768}.course-filter-bar,.theses-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 1rem}.course-filter-btn,.theses-filter-btn{appearance:none;border:1px solid var(--accent-border);background:var(--surface);color:var(--text-muted);font-size:.88rem;font-weight:500;padding:.35rem .85rem;border-radius:999px;cursor:pointer;transition:all .15s ease}.course-filter-btn:hover,.theses-filter-btn:hover{background:var(--accent-soft);color:var(--accent-dark)}.course-filter-btn.is-active,.theses-filter-btn.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.theses-filter-btn [data-count]{font-variant-numeric:tabular-nums;opacity:.75}.theses-filter-btn [data-count]:before{content:"("}.theses-filter-btn [data-count]:after{content:")"}.theses-filter-btn:disabled{opacity:.45;cursor:default;background:var(--surface);color:var(--text-muted)}.theses-filter-bar+.theses-filter-bar{margin-top:-.4rem}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem;margin:1.25rem 0 1.5rem}.course-card{display:flex;flex-direction:column;justify-content:space-between;background:var(--surface);border:1px solid var(--accent-border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:.95rem 1.15rem;transition:transform .15s ease,box-shadow .15s ease}.course-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000012}.course-card-lecture{border-left-color:#25579d}.course-card-lecture:hover{box-shadow:0 4px 12px #142e5217}.course-card-seminar{border-left-color:#2d8668}.course-card-seminar:hover{box-shadow:0 4px 12px #194d3c17}.course-card-blockseminar{border-left-color:#b66b20}.course-card-blockseminar:hover{box-shadow:0 4px 12px #52331417}.course-card-project{border-left-color:#9e2e41}.course-card-project:hover{box-shadow:0 4px 12px #4f172017}.course-card-body{margin-bottom:.75rem}.course-card .course-header{margin-bottom:.5rem}.course-card .course-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.course-card .course-title{margin:0 0 .35rem;font-size:1.02rem;font-weight:600;line-height:1.35;color:var(--text)}.course-card .course-lecturers{margin:0;font-size:.85rem;color:var(--text-muted);line-height:1.35}.course-card .course-actions{display:flex;justify-content:flex-end;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--accent-border)}.course-card .course-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:600;color:var(--accent-dark);text-decoration:none;padding:.3rem .65rem;border-radius:var(--radius);background:var(--accent-soft);transition:background .15s ease,color .15s ease}.course-card .course-link:hover{background:var(--accent);color:var(--on-accent);text-decoration:none}.theses-year{margin-top:1.5rem}.theses-year>summary{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;cursor:pointer;list-style:none}.theses-year>summary::-webkit-details-marker{display:none}.theses-year>summary:before{content:"";flex:none;width:.45rem;height:.45rem;margin:0 .2rem 0 .15rem;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg);transition:transform .2s ease}.theses-year[open]>summary:before{transform:rotate(45deg)}.theses-year>summary h3{margin:0;font-size:1.15rem;font-variant-numeric:tabular-nums}.theses-year>summary:hover h3{color:var(--accent)}.theses-year>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theses-year .theses-list{margin:.6rem 0 0}.theses-archive{margin-bottom:2.5rem}.theses-empty{color:var(--text-muted);font-style:italic}.thesis-item .thesis-title--pending{color:var(--text-muted);font-style:italic;font-weight:500}.theses-list{list-style:none;padding:0;margin:1rem 0 2rem;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--accent-border)}.thesis-item{padding:1rem .25rem;border-bottom:1px solid var(--accent-border);transition:background .15s ease}.thesis-item:hover{background:#00000004}.thesis-item-main{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.35rem}.thesis-item .thesis-title{font-size:1.05rem;font-weight:600;line-height:1.4;color:var(--text)}.thesis-item .thesis-title a{color:inherit;text-decoration:none}.thesis-item .thesis-title a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.deck--grid:has(>.thesis-tile){grid-template-columns:repeat(auto-fill,minmax(min(21rem,100%),1fr));gap:.75rem}.thesis-tile{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:.85rem 1.05rem .95rem;background:var(--surface);border:1px solid var(--accent-border);border-radius:var(--radius);transition:border-color .15s ease}.thesis-tile:hover{border-color:hsl(var(--brand-hue),35%,68%)}.thesis-tile__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.thesis-tile__head .badge{flex:none;margin-right:0}.thesis-tile__name{margin:0;font-weight:600;line-height:1.35;color:var(--accent-darker)}.thesis-tile__name a{color:inherit;text-decoration:none}.thesis-tile__name a:hover{color:var(--accent);text-decoration:underline}.thesis-tile__topic{margin:0;font-size:.9rem;line-height:1.45;text-wrap:pretty}.thesis-tile__topic--pending{color:var(--text-muted);font-style:italic}.thesis-tile__meta{display:flex;flex-wrap:wrap;gap:0 .5rem;margin:auto 0 0;padding-top:.15rem;font-size:.8rem;color:var(--text-muted)}.thesis-tile__meta>span+span:before{content:"\b7";margin-right:.5rem;color:var(--accent-border)}.thesis-tile__meta a{color:inherit}.thesis-tile__meta a:hover{color:var(--accent)}[data-group-by=supervisor] .thesis-tile__meta:not(:has(>:not([data-field=supervisor]))){display:none}[data-group-by=supervisor] .thesis-tile__meta>[data-field=supervisor]+span:before{content:none}.thesis-item .thesis-meta{font-size:.88rem;color:var(--text-muted);text-transform:none;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.thesis-meta-sep{color:var(--accent-border)}.thesis-item .thesis-meta a{color:inherit;text-decoration:underline}.thesis-item .thesis-meta a:hover{color:var(--accent)}.notice-card{background:var(--surface);border:1px solid var(--accent-border);border-radius:var(--radius);padding:1.5rem;text-align:center;color:var(--text-muted);margin:1.5rem 0}.site-footer{padding:1.5rem 0;background:var(--accent-darker);color:var(--on-accent)}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.25rem 2.5rem}.footer-columns{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1.25rem 2.5rem;margin-left:auto}.footer-column{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.footer-column a{color:inherit;text-decoration:underline}.footer-social a{display:flex;align-items:center;gap:.45rem;text-decoration:none}.footer-social a:hover span{text-decoration:underline}.footer-icon{width:1.1em;height:1.1em;flex:none;fill:currentColor}.citation a{font-size:clamp(.5rem,3.5vw,1rem)}.publication-list{list-style:none;margin:0 0 1.5em;padding:0}.citation{margin:0 0 1em;padding-left:.5in;text-indent:-.5in}.publication-list.tight{margin-bottom:.5em;font-size:.85em}.publication-list.tight .citation{margin-bottom:.05em;padding-left:1.5em;text-indent:-1.5em}.publication-list.tight .citation a{font-size:inherit}.media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem;margin:1.5rem 0}.media-gallery--single{grid-template-columns:1fr}.media-carousel-wrapper{position:relative;margin:1.5rem 0}.media-carousel-wrapper .media-gallery--carousel{margin:0;cursor:grab;user-select:none;-webkit-user-select:none;scroll-behavior:smooth}.media-carousel-wrapper .media-gallery--carousel.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.media-gallery--carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--accent-border) transparent;padding-bottom:.5rem}.media-gallery--carousel .media-item{flex:0 0 min(80%,420px);scroll-snap-align:start;transition:transform .25s cubic-bezier(.16,1,.3,1)}.media-gallery--carousel .media-item:hover{transform:translateY(-3px)}.media-gallery--carousel .media-item :is(img,video){aspect-ratio:4 / 3;object-fit:cover;pointer-events:none;-webkit-user-drag:none;user-drag:none;user-select:none;-webkit-user-select:none}.media-gallery--carousel .media-item__frame{box-shadow:0 4px 14px hsla(var(--brand-hue),40%,15%,.08);transition:box-shadow .25s ease}.media-gallery--carousel .media-item:hover .media-item__frame{box-shadow:0 10px 24px hsla(var(--brand-hue),45%,15%,.16)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--accent-border);background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--accent-darker);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 4px 14px hsla(var(--brand-hue),40%,15%,.14);transition:opacity .2s ease,transform .2s ease,background-color .15s ease,color .15s ease,box-shadow .2s ease}.carousel-btn--prev{left:-1rem}.carousel-btn--next{right:-1rem}.carousel-btn:hover:not(:disabled){background:#fff;color:var(--accent);transform:translateY(-50%) scale(1.08);box-shadow:0 6px 20px hsla(var(--brand-hue),45%,15%,.22)}.carousel-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.carousel-btn.is-disabled,.carousel-btn:disabled{opacity:0;pointer-events:none;transform:translateY(-50%) scale(.9)}@media(max-width:960px){.carousel-btn--prev{left:.25rem}.carousel-btn--next{right:.25rem}}@media(max-width:640px){.carousel-btn{width:38px;height:38px}}.media-item{margin:0}.media-item__frame{position:relative;overflow:hidden;border-radius:var(--radius)}.media-item__frame :is(img,video){width:100%;display:block}.media-item__credit{position:absolute;bottom:.65rem;right:.65rem;padding:.25rem .6rem;font-size:.78rem;font-weight:500;line-height:1.25;color:#fff;background:hsla(var(--brand-hue),50%,14%,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.25);border-radius:999px;opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:2}.media-item__credit a{color:#fff;text-decoration:underline;text-underline-offset:2px;pointer-events:auto}.media-item__credit a:hover,.media-item__credit a:focus-visible{color:var(--accent-soft)}.media-item:hover .media-item__credit,.media-item:focus-within .media-item__credit{opacity:1;transform:translateY(0)}@media(hover:none){.media-item__credit{opacity:.88;transform:none;pointer-events:auto}}.media-item figcaption{font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.media-gallery--carousel .media-item{flex:0 0 auto;width:auto;max-width:85vw}.media-gallery--carousel .media-item__frame{height:340px;width:fit-content;background:transparent;box-shadow:0 4px 14px hsla(var(--brand-hue),40%,15%,.1);border:1px solid var(--accent-border);border-radius:var(--radius);overflow:hidden}.media-gallery--carousel .media-item :is(img,video){height:340px;width:auto;max-width:none;aspect-ratio:unset;object-fit:unset;display:block}.item-list{display:grid;gap:1.5rem;margin:1.5rem 0}.item h3{margin:0 0 .25rem}.item p{margin:.25rem 0}.position-nav-bar{margin-top:.5rem;margin-bottom:1rem}.position-back-link{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;color:var(--accent-dark);font-size:.95rem;font-weight:600;text-decoration:none;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}.position-back-link:hover{color:var(--accent);text-decoration:underline}.position-back-link:focus-visible,.position-action-btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.position-icon{flex:0 0 auto}.position-banner{margin-bottom:2.5rem;padding:1.5rem;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius)}.position-banner__inner{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;max-width:72ch}.position-banner__heading{margin:0;color:var(--accent-darker);font-size:clamp(1.2rem,2vw,1.45rem);line-height:1.3}.position-banner__lead{margin:0;color:var(--text);font-size:1rem;line-height:1.6}.position-banner--closed{background:#fbf5ef;border-color:#e6d1bc}.position-banner--closed .position-banner__heading{color:#7d4712}.position-banner--closed .position-banner__lead{color:#3c2e20}.position-summary{margin-bottom:2.75rem;scroll-margin-top:calc(var(--topbar-height) + 1.5rem)}.position-summary__header{max-width:78ch;padding-bottom:1.75rem;border-bottom:1px solid var(--accent-border)}.position-summary__title{max-width:none;margin:0;color:var(--accent-darker);font-size:clamp(1.45rem,4vw,1.6rem);font-weight:700;letter-spacing:-.03em;line-height:1.12}.position-summary__status{margin:.85rem 0 0;color:var(--accent-dark);font-size:1rem;font-weight:600}.position-summary__lead{margin:1rem 0 0;color:var(--text);font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.55}.position-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.position-facts__item{min-width:0;padding:1rem 0;border-bottom:1px solid var(--accent-border)}.position-facts__item:nth-child(odd){padding-right:2rem}.position-facts__item:nth-child(2n){padding-left:2rem;border-left:1px solid var(--accent-border)}.position-facts dt{color:var(--text-muted);font-size:.82rem;font-weight:700}.position-facts dd{margin:.2rem 0 0;color:var(--text);font-size:1rem;font-weight:600;line-height:1.45}.position-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.65rem 1.1rem;border:1px solid transparent;border-radius:var(--radius);font-size:.95rem;font-weight:700;line-height:1.3;text-align:center;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.position-action-btn svg{flex:0 0 auto}.position-action-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.position-action-btn--primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--on-accent)}.position-action-btn--secondary{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-dark)}.position-action-btn--secondary:hover{background:hsl(var(--brand-hue),45%,88%);border-color:var(--accent);color:var(--accent-darker)}.position-closing{margin-top:3.5rem;padding-top:2.5rem;padding-bottom:3.5rem;border-top:1px solid var(--accent-border)}.position-closing h2{margin:0;font-size:clamp(1.45rem,3vw,1.8rem)}.position-closing p{max-width:65ch;margin:.6rem 0 1.25rem}.position-closing__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.position-qr{display:none}@media(max-width:640px){.position-banner{padding:1.25rem}.position-summary__header{padding-bottom:1.25rem}.position-summary__title{font-size:clamp(1.45rem,4vw,1.6rem)}.position-facts{grid-template-columns:1fr}.position-facts__item:nth-child(odd),.position-facts__item:nth-child(2n){padding-right:0;padding-left:0;border-left:0}}@media(max-width:420px){.position-action-btn,.position-back-to-top{width:100%}.position-closing__actions{align-items:stretch}}@media(prefers-reduced-motion:reduce){.position-back-link,.position-back-to-top,.position-action-btn{transition:none}}@media print{.hero,.site-footer,.position-nav-bar,.carousel-btn,.nav-toggle,.nav-links,.nav-burger,.nav-title{display:none}.topbar{position:static;margin-top:0;min-height:0;padding:0 0 .75rem;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--accent-border)}.nav-logo{position:static;transform:none;opacity:1;pointer-events:auto}.nav-logo img{height:3rem;opacity:1;-webkit-mask-image:none;mask-image:none}.nav-wordmark{display:block;color:var(--text);text-shadow:none;opacity:1}.position-action-btn{min-height:0;padding:0;border:0;background:none;color:var(--accent-dark);font-weight:600}.position-action-btn svg{display:none}.position-action-btn--primary:after{content:" (" attr(href) ")";color:var(--text-muted);font-weight:400;overflow-wrap:anywhere}.position-qr{display:block;width:3.2cm;height:3.2cm}.position-closing{margin-top:.75rem;padding-top:.75rem;padding-bottom:0}.position-closing p{margin:.35rem 0 .5rem}.position-qr{width:2.3cm;height:2.3cm}.position-page>.block:has(+.position-closing){margin-bottom:0}.position-closing--qr .position-action-btn--primary:after{content:none}.media-carousel-wrapper{margin:1rem 0}.media-gallery--carousel{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;overflow:visible;padding-bottom:0}.media-gallery--carousel .media-item{flex:none;width:auto}.media-gallery--carousel .media-item :is(img,video){height:auto;aspect-ratio:auto;object-fit:contain}.position-page .media-gallery--carousel{grid-template-columns:repeat(2,minmax(0,1fr));max-width:36rem;margin-left:auto;margin-right:auto}.position-page .media-gallery--carousel .media-item:nth-child(n+3){display:none}.position-page .media-gallery--carousel .media-item__frame :is(img,video){aspect-ratio:4 / 3;object-fit:cover}.media-item__credit{position:static;padding:0;border:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--text-muted);opacity:1;transform:none;font-size:.72rem}.media-item__credit a{color:var(--text-muted)}.position-back-link,.position-action-btn,.media-item{transition:none}h1,h2,h3{break-after:avoid}.position-banner,.position-summary__header,.position-facts__item,.position-closing,.media-item,.item,li{break-inside:avoid}p{orphans:3;widows:3}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
