/* 18.10: Michał requested the original fluid portfolio, with the new content structure. */
/* Local horizontal-project experiment, 19.10. Native scroll; no wheel interception. */
.project-rail.grid3{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 64px)/3);gap:32px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 4px;min-width:0}
.project-rail>.card{min-width:0;scroll-snap-align:start}
.project-rail::-webkit-scrollbar{display:none}
.rail-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:0}
.rail-controls button.rail-more,.rail-controls a.rail-more{display:grid;place-items:center;width:auto;height:64px;padding:0 50px;margin-right:8px;font:14px var(--type);border:1px solid #d6dcd5;border-radius:40px}
.rail-controls button{display:grid;place-items:center;width:64px;height:64px;border:1px solid #d6dcd5;border-radius:50%;background:transparent;color:var(--ink);font:28px Arial;cursor:pointer;transition:background .2s}
.rail-controls button:hover:not(:disabled){background:#bdded8}
.rail-controls button:disabled{opacity:.3;cursor:default}
.project-rail:focus-visible,.rail-controls button:focus-visible{outline:2px solid #245b39;outline-offset:4px}
@media(max-width:760px){.project-rail.grid3{grid-auto-columns:100%;gap:20px;padding-bottom:20px}.rail-controls{gap:10px}.rail-controls button{width:52px;height:52px}.rail-controls button.rail-more,.rail-controls a.rail-more{height:52px;padding:0 40px;margin-right:2px}}
:root{--type:'Helvetica Neue',Helvetica,Arial,sans-serif}
body,button,.brand,h1,h2,h3{font-family:var(--type)}
.wrap{max-width:none;margin:0}
.section{padding:75px 5.5%;gap:32px}
.section-head{grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:80px}
h2{font-size:clamp(36px,4vw,60px);line-height:1.12;letter-spacing:-.045em}
.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;padding:29px 3.4%}
.nav{gap:39px;font-size:14px}.nav-coming{font-size:14px}.nav-coming small{display:block;font-size:10px;line-height:12px}
.nav a[href='#contact']{border-bottom:1px solid;padding:9px 0}
.languages{font-size:12px;gap:10px;margin-left:20px}
.hero-track{position:relative}
.hero{position:relative;min-height:830px;height:100svh;max-height:1120px;padding:145px 3.4% 0;isolation:isolate;overflow:hidden;background:url('/assets/hero.webp') left center/cover;display:block}
.hero-art{position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none}
.hero-art .scroll-film{object-position:left center}
.hero-words-stack{display:grid;grid-template-columns:minmax(0,1fr)}
.hero-words{grid-area:1/1;min-width:0}
.hero-label{font-size:12px;letter-spacing:.08em;line-height:17px;margin:0 0 47px}
.hero h1{font-size:clamp(76px,9.2vw,148px);line-height:1.02;letter-spacing:-.065em;width:85%;font-weight:400;margin:0}
.hero h1>span{display:block}.hero h1 .shift{padding-left:0}.period{color:var(--accent)}
.hero-words .hero-bottom{display:flex;flex-direction:row;align-items:center;gap:44px;margin-top:54px;padding:0;background:none}
.round-link{flex-shrink:0;width:76px;height:76px;border:1px solid #858f89;border-radius:50%;display:grid;place-items:center;font-size:32px;transition:background .25s,transform .25s}
.round-link:hover{background:#bdded8;transform:translateY(3px);text-decoration:none}
.hero-words .hero-bottom>div{max-width:650px}
.hero-words .hero-bottom h2{font-size:27px;line-height:1.25;letter-spacing:-.035em;margin:0 0 19px}
.hero-words .hero-bottom p{font-size:16px;line-height:1.65;color:var(--muted)}
.hero-footer{position:absolute;bottom:28px;left:3.4%;right:3.4%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;font-size:10px;line-height:17px;letter-spacing:.1em}
.scroll-cue{bottom:104px;left:3.4%}
.hero-video-toggle{position:absolute;right:3.4%;bottom:88px;z-index:5;border:1px solid #526b6370;background:#f9fcf3bb;color:#20352e;border-radius:30px;padding:9px 14px;font:12px var(--type);cursor:pointer}
body:not([data-hero-mode=video]) .hero-video-toggle{display:none}
.sub-header{position:relative}.project-opening h1{font-size:clamp(56px,6vw,100px);line-height:1.03;letter-spacing:-.055em}
.project-opening .project-subtitle{font-size:clamp(32px,3.3vw,52px);line-height:1.13}
.contact-title{font-size:clamp(64px,11vw,180px);line-height:1.04;letter-spacing:-.055em;max-width:80%}
.grid3{gap:32px}.logos{gap:30px}.logos img{mix-blend-mode:multiply}
@media(min-width:1600px){.hero{padding-top:190px}.hero-label{margin-bottom:60px}.hero-words .hero-bottom{margin-top:75px}}
@media(min-width:2400px){.section,.footer,.project-opening{padding-left:calc((100% - 2400px)/2 + 132px);padding-right:calc((100% - 2400px)/2 + 132px)}.hero,.site-header{padding-left:calc((100% - 2400px)/2 + 81.6px);padding-right:calc((100% - 2400px)/2 + 81.6px)}.hero-footer{left:calc((100% - 2400px)/2 + 81.6px);right:calc((100% - 2400px)/2 + 81.6px)}.hero-words-stack{max-width:2236.8px;margin:auto}}
@media(max-width:1150px){.nav{gap:22px}.section-head{gap:40px}.hero h1{font-size:10vw}.hero-words .hero-bottom{gap:25px}.languages{margin-left:8px}}
@media(min-width:761px) and (max-width:980px){.site-header{flex-wrap:wrap}.nav-toggle{display:block;min-height:44px;padding:0;border:0;background:none}.nav{display:none;flex-basis:100%;padding:20px;background:#fcfcf9ed;border-radius:18px;gap:20px}.nav.is-open{display:flex}.nav .languages{margin-left:auto}}
@media(max-width:760px){.section{padding:48px 6%;gap:24px}.site-header{padding:23px 6%;background:transparent}.brand{font-size:28px}.nav{font-size:16px;gap:12px;padding:20px;border-radius:18px;background:#fcfcf9ed;box-shadow:0 12px 40px #26312f12}.nav-coming small{display:inline;margin-left:8px;font-size:11px}.languages{margin-left:0}.hero{padding:125px 6% 0;min-height:760px;height:100svh;max-height:none}.hero h1{width:100%;font-size:clamp(34px,9.8vw,64px);line-height:1.06;letter-spacing:-.045em;overflow-wrap:normal}.hero-label{font-size:10px;line-height:17px;letter-spacing:.06em;margin-bottom:28px}.hero-words .hero-bottom{margin-top:28px;gap:24px;align-items:flex-start}.hero-words .hero-bottom h2{font-size:23px;line-height:1.2;margin-bottom:18px}.hero-words .hero-bottom p{font-size:15px;line-height:1.65;max-width:300px}.round-link{display:none}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#edf0efb8,transparent 95%)}.hero-footer{left:6%;right:6%;bottom:24px;flex-direction:column;gap:4px;font-size:9px}.scroll-cue{left:6%;bottom:100px;font-size:10px;gap:14px}.hero-video-toggle{right:6%;bottom:94px;padding:6px 10px}.grid3{gap:48px}.section-head{gap:24px}.contact-title{max-width:none;font-size:clamp(42px,10vw,64px)}.project-opening h1{font-size:42px;line-height:1.08;letter-spacing:-1.5px}.project-opening{padding-left:6%;padding-right:6%}.sub-header{position:relative}.footer{padding:48px 6%}.logos{gap:12px 16px}.sub-header .languages{margin-left:auto}}
@media(max-width:360px){.hero h1{font-size:32px;letter-spacing:-1.4px}.hero-words .hero-bottom p{font-size:14px;max-width:260px}.hero-words .hero-bottom h2{font-size:21px}.hero-label{font-size:9px}.hero-words .hero-bottom{margin-top:22px}.scroll-cue{gap:10px}.scroll-meter{width:60px}}
/* Michał: mobile Always exploring shows the certificate image only. */
@media(max-width:760px){.certificate>.stack{display:none}}
/* Home only: compact mobile Notebook cards retain cover, category and title. */
@media(max-width:760px){#notebook .notebook-card>.notebook-excerpt,#notebook .notebook-card>.soon{display:none}}
.logos img[alt="HIDE"]{height:auto;aspect-ratio:188.600006/80;max-height:80px;align-self:center;object-fit:contain}
/* Reuse v09 gallery.css: paper notch, reverse curves and inset link arrow. */
.card .linked-picture{border-radius:22px 22px 0 22px;isolation:isolate;overflow:hidden}
.linked-picture:after{position:absolute;z-index:1;right:0;bottom:0;width:96px;height:96px;border-radius:52% 0 0 0;background:var(--white);content:'';pointer-events:none}
.linked-picture:before{content:'';position:absolute;right:0;bottom:0;width:110px;height:110px;z-index:1;pointer-events:none;background:radial-gradient(circle at 0 0,transparent 14px,var(--white) 14.5px) right top/15px 15px no-repeat,radial-gradient(circle at 0 0,transparent 14px,var(--white) 14.5px) left bottom/15px 15px no-repeat}
.linked-picture>.open{z-index:2;right:0;bottom:0;width:64px;height:64px;margin:0;border:1px solid #d6dcd5;background:var(--white);color:var(--ink);font-size:28px;line-height:1;transition:background-color .25s,color .25s,transform .25s}
.linked-picture img{transition:transform .7s}
.card:hover .linked-picture img{transform:scale(1.035)}
.card:hover .linked-picture>.open,.card:focus-visible .linked-picture>.open{background:#245b39;color:var(--white);transform:translate(-2px,-2px)}
@media(max-width:760px){.linked-picture:after{width:92px;height:92px}.linked-picture:before{width:106px;height:106px}.linked-picture>.open{width:62px;height:62px;font-size:27px}}
@media(prefers-reduced-motion:reduce){.linked-picture img,.linked-picture>.open{transition:none}.card:hover .linked-picture img,.card:hover .linked-picture>.open{transform:none}}
@media(max-width:760px){.desktop-break{display:none}.logos img[alt="HIDE"]{max-height:48px}}
@media(prefers-reduced-motion:reduce){.hero-track{height:auto!important}.hero{position:relative!important}.scroll-cue{display:none!important}.hero-art .scroll-film{display:none!important}}
/* Align section introductions with the content column below (local review). */
@media(min-width:761px){#bring .section-head{grid-template-columns:1fr 1fr;gap:72px}#sums .section-head{grid-template-columns:1fr 1.3fr;gap:72px}}
/* Cards awaiting their detail pages have an uninterrupted photo corner. */
#projects article.card .picture{border-radius:22px}
#projects article.card .picture:before,#projects article.card .picture:after{display:none}

/* Organisations: one full-width heading, without the side description. */
#organisations .section-head{display:block}

@media(min-width:761px){#work .section-head{grid-template-columns:1fr 1.3fr;gap:72px}}

#bring .section-head,#notebook .section-head,#sums .section-head,#work .section-head{display:block}

#projects{padding-bottom:45px}#interactive{padding-top:45px}
@media(max-width:760px){#projects{padding-bottom:28px}#interactive{padding-top:28px}}
/* Shared editorial blocks for Wageningen and subsequent blog articles. */
.article-intro{display:grid;grid-template-columns:650fr 532fr;gap:100px;align-items:start}
.article-intro .project-subtitle{max-width:none}
.article-page figure{margin:0;min-width:0}
.article-page figure img{width:100%;height:auto;object-fit:cover}
.article-page figcaption{margin-top:12px}
.article-page .project-cover figure img{aspect-ratio:1282/620;border-radius:22px}
.article-content{gap:0;padding-top:90px}
.article-block h2{font-size:clamp(30px,3vw,42px);line-height:1.2;letter-spacing:-.035em}
.article-prose{display:flex;flex-direction:column;gap:20px;min-width:0;font-size:17px;line-height:1.65}
.article-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
.article-gallery figure img{aspect-ratio:4/3;object-fit:cover;border-radius:0}
@media(max-width:760px){.article-intro{display:flex;flex-direction:column;gap:24px}.article-content{padding-top:40px}.article-gallery{grid-template-columns:1fr}.article-page .project-cover figure img{aspect-ratio:1}.article-block{gap:24px}}
/* Shared report vocabulary: cover, prose, indicators, comparisons and sources. */
.cover-art{aspect-ratio:1282/620;width:100%;border-radius:22px;overflow:hidden;container-type:inline-size;background:var(--paper)}
.cover-comparison{display:flex;flex-direction:column;justify-content:space-between;padding:3.75% 2.5%;gap:24px}
.cover-labels{display:flex;justify-content:space-between;gap:24px;font-size:clamp(9px,.95cqw,14px);line-height:1.4}
.cover-labels>span{flex:1;min-width:0}.cover-labels>span:last-child{text-align:right}
.cover-values{display:grid;grid-template-columns:minmax(0,1fr) 18% minmax(0,1fr);align-items:center;font-size:clamp(36px,12.1cqw,170px);line-height:1.04;letter-spacing:-.045em}
.cover-values>span:last-child{text-align:right}.article-page .project-cover .cover-values>img{width:32px;height:32px;justify-self:center;aspect-ratio:auto;border-radius:0}
.cover-system{position:relative;background:#e1e8df}
.system-stage{position:absolute;inset:0 auto 0 0;width:96.72%;height:100%}
.project-cover .cover-art img{aspect-ratio:auto;border-radius:0;object-fit:fill}
.article-page .project-cover .system-shape{position:absolute}
.article-page .project-cover .shape-0{inset:0;width:100%;height:100%}
.article-page .project-cover .shape-1{left:25.62%;top:12.58%;width:48.76%;height:74.84%}
.article-page .project-cover .shape-2{left:15.42%;top:19.79%;width:69.16%;height:60.42%}
.article-page .project-cover .shape-3{left:39.62%;top:29.25%;width:20.75%;height:41.5%}
.system-label{position:absolute;transform:translateX(-50%);text-align:center;width:20%;font-size:clamp(10px,2.177cqw,32px);line-height:1.2}
.label-0,.label-2{left:25.625%}.label-1,.label-3{left:74.375%}.label-0,.label-1{top:23.75%}.label-2,.label-3{top:66.25%}
.system-hub{position:absolute;left:39.62%;top:43.125%;width:20.75%;display:flex;flex-direction:column;gap:1.4cqw;text-align:center;color:var(--white);font-size:clamp(8px,1.572cqw,24px);line-height:1.2}
.system-hub strong{font-size:clamp(17px,4.595cqw,68px)}
.system-top,.system-bottom{position:absolute;color:var(--muted);font-size:clamp(8px,1.33cqw,20px);line-height:1.2}.system-top{left:4.375%;top:5.625%}.system-bottom{right:4%;bottom:8%}
.article-block.compact h2{font-size:25px;line-height:1.2;letter-spacing:-.024em}
.article-subheading{font-size:27px;line-height:1.25;margin-top:12px}.article-subheading.is-feature{font-size:clamp(32px,3.6vw,48px)}
.article-prose ul,.article-prose ol{margin:0;padding-left:1.4em}.article-prose li+li{margin-top:12px}
.article-prose blockquote{margin:8px 0;padding-left:24px;border-left:2px solid var(--line);font-size:clamp(24px,2.8vw,40px);line-height:1.25;letter-spacing:-.03em}
.article-metrics{margin:0;display:grid;gap:20px}.article-metrics>div{border-top:1px solid var(--line);padding-top:18px;min-width:0}.article-metrics dt{font-size:37px;line-height:44px;letter-spacing:-.02em}.article-metrics dd{margin:12px 0 0;font-size:12px;line-height:18px;color:var(--muted);letter-spacing:.04em}
.article-metrics.columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.report-table-scroll{overflow-x:auto;max-width:100%;scrollbar-width:thin}
.report-table-scroll table{border-collapse:collapse;width:100%;min-width:420px;font-size:14px;line-height:22px;text-align:left}
.report-table-scroll caption{text-align:left;font-size:12px;line-height:18px;color:var(--muted);letter-spacing:.04em;margin-bottom:12px}
.report-table-scroll th,.report-table-scroll td{padding:12px 12px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.report-table-scroll th:first-child{width:48%}.report-table-scroll th{font-weight:600}
.report-table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.article-source{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:760px){.cover-comparison{min-height:210px;aspect-ratio:auto;padding:24px 18px;gap:30px}.cover-values{font-size:clamp(32px,11.5cqw,72px)}.cover-labels{font-size:9px;gap:12px}.cover-system{min-height:0}.article-metrics.columns{grid-template-columns:1fr}.article-prose blockquote{padding-left:18px}}
.related-articles nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.related-articles nav a{border-top:1px solid var(--line);padding:20px 0;font-size:22px;line-height:1.4}
@media(max-width:760px){.related-articles nav{grid-template-columns:1fr}.related-articles nav a{font-size:20px}}
.notebook-opening h1{font-size:clamp(52px,5.7vw,96px);line-height:1.06;letter-spacing:-.05em}
.notebook-opening>.lead{max-width:1050px}
.notebook-topics{display:flex;flex-wrap:wrap;gap:16px 32px;font-size:14px}
.notebook-topics a{border-bottom:1px solid var(--line);padding:6px 0}
.notebook-list{gap:48px 32px}
.notebook-list-card{gap:20px;align-self:start}
.notebook-list-card h3{font-size:25px;line-height:30px}
.notebook-list-cover{position:relative;width:100%;aspect-ratio:406/220;border-radius:22px;overflow:hidden;background:var(--sage)}
.notebook-list-cover>img{width:100%;height:100%;object-fit:cover}
.notebook-list-cover.contain-image>img{object-fit:contain}
.notebook-list-text{padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.notebook-list-text p{font-size:27px;line-height:32px;letter-spacing:-.9px;color:var(--ink)}
.notebook-closing>p{max-width:850px}
.rail-controls a.rail-more:hover{background:#bdded8;text-decoration:none}
@media(max-width:760px){.notebook-opening h1{font-size:clamp(40px,10.5vw,64px)}.notebook-list-card{gap:16px}.notebook-list-text{padding:20px}.notebook-list-text p{font-size:25px;line-height:30px}.notebook-list{gap:48px}.notebook-topics{gap:12px 24px}.notebook-list-card .soon{display:flex}}
