/* Shared poster language, with readable text and page-specific compositions. */
.portfolio-style main{max-width:1440px;margin-left:auto;margin-right:auto}
.portfolio-style .page-head h1,.portfolio-style .about-narrative h1{font:400 clamp(82px,10vw,148px)/.98 var(--poster);text-transform:uppercase;letter-spacing:0;max-width:none;overflow-wrap:normal;margin:0 0 24px}
.portfolio-style .page-head h1>span{display:block}
.portfolio-style .page-head{margin:32px 0 48px}
.portfolio-style .page-head>.lead{max-width:730px;font-size:21px;line-height:1.55}
.portfolio-style .master-section>h2,.portfolio-style .development-enquiries h2{font:400 clamp(44px,5vw,70px)/1.05 var(--poster);text-transform:uppercase;overflow-wrap:normal}
.portfolio-style .master-section{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px;padding:36px 0}
.portfolio-style .section-label h2{font:400 28px/1.1 var(--display)}
/* Home: a typographic opening, then the existing film posters. */
.portfolio-style .master-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:48px;max-width:none;margin-bottom:40px}
.portfolio-style .master-home h1{font-size:clamp(100px,12vw,180px);margin:0;line-height:.95}
.portfolio-style .master-home .master-role{font-size:clamp(23px,2.6vw,34px);line-height:1.3;margin:0 0 18px;max-width:600px}
.portfolio-style .master-home .home-introduction>p:last-child{font-size:18px;line-height:1.6;margin:0;max-width:60ch}
.portfolio-style .master-section .development-teaser{background:var(--acid);padding:24px;min-height:240px;border:0}
.portfolio-style .master-section .development-teaser:nth-child(2){background:var(--pink)}
.portfolio-style .development-teaser>div{padding:0}
.portfolio-style .master-section .development-teaser h3{font:400 clamp(40px,4vw,64px)/1.05 var(--poster);text-transform:uppercase;max-width:none;margin:18px 0}
.portfolio-style .development-teaser p{font-size:16px;line-height:1.5}
.portfolio-style .master-links a{text-decoration-thickness:1px;text-underline-offset:6px}
.portfolio-style .home-now{background:#141414;color:#fff;padding:32px}
/* Projects: title and image form one poster, with information below. */
.portfolio-style .development-project{display:block;margin:32px 0 64px;border:0;padding:0}
.portfolio-style #the-last-bastion{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;background:var(--acid);padding:32px}
.portfolio-style #the-last-bastion .development-heading{padding:0 28px 0 0;background:transparent}
.portfolio-style #the-last-bastion .development-copy{padding:24px;max-width:60ch}
.portfolio-style .development-heading h2{font:400 clamp(62px,7vw,108px)/1 var(--poster);text-transform:uppercase;max-width:16ch;margin:24px 0;overflow-wrap:normal}
.portfolio-style .development-heading{padding:32px;background:var(--pink)}
.portfolio-style .development-poster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--pink);align-items:stretch}
.portfolio-style .development-poster .development-image{margin:0;padding:24px;align-self:center}
.portfolio-style .development-poster img{width:100%;height:auto;max-height:none}
.portfolio-style .development-poster figcaption{font-size:11px;margin-top:8px}
.portfolio-style #the-boy-who-vanished>.development-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 48px;padding:28px 0}
.portfolio-style #the-boy-who-vanished>.development-copy>p{font-size:18px;line-height:1.65;margin:0}
.portfolio-style #the-boy-who-vanished>.development-copy>.crew-list{margin:0;grid-row:span 2}
.portfolio-style .development-enquiries{padding-top:24px;border-top:1px solid #aaa}
/* Teaching: a few distinct spreads rather than repeated sidebar labels. */
.portfolio-style.page-teaching-advisory .master-section{display:block;padding:0;margin:0 0 46px;border:0}
.portfolio-style.page-teaching-advisory .master-section>h2{font-size:clamp(48px,6vw,80px);padding:22px 26px;margin:0 0 26px;background:var(--blue)}
.portfolio-style.page-teaching-advisory #labs>h2{background:var(--acid)}
.portfolio-style.page-teaching-advisory #editorial>h2{background:var(--pink)}
.portfolio-style.page-teaching-advisory #advisory>h2{background:#141414;color:#fff}
.portfolio-style.page-teaching-advisory .master-section>div{padding:0 26px}
.portfolio-style.page-teaching-advisory .master-section h3{font:400 27px/1.25 var(--display);margin:22px 0 8px}
.portfolio-style.page-teaching-advisory .master-section p{font-size:17px;line-height:1.65;max-width:74ch}
.portfolio-style .academy-profile{grid-template-columns:minmax(0,1fr) 110px;max-width:900px}
.portfolio-style .lab-programmes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 40px}
.portfolio-style .lab-programme{border-top:1px solid #bbb;padding-top:8px}
.portfolio-style #hoofdzaken{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:36px;margin:24px 0 0;padding:24px;background:#f9b5d0}
.portfolio-style #hoofdzaken h2{font:400 clamp(60px,7vw,100px)/1 var(--poster);text-transform:uppercase;margin:18px 0}
.portfolio-style #hoofdzaken p{font-size:17px}
.portfolio-style .invitation h2{font:400 48px/1.05 var(--poster);text-transform:uppercase}
/* Art: titles on colour, photographs remain uncropped. */
.portfolio-style .art-project{border-top:0;margin:40px 0 70px;padding-top:0}
.portfolio-style .art-project-heading{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:36px;align-items:start}
.portfolio-style .art-project-heading>div:first-child{background:var(--pink);padding:28px}
.portfolio-style #sporen .art-project-heading>div:first-child{background:#141414;color:#fff}
.portfolio-style .art-project h2{font:400 clamp(60px,7vw,105px)/1 var(--poster);text-transform:uppercase;max-width:18ch;overflow-wrap:normal;margin:22px 0 6px}
.portfolio-style .art-project-heading p{font-size:18px;line-height:1.65}
.portfolio-style .art-gallery{margin-top:30px;gap:28px}
/* About: narrative and portrait stay together; no artificial chapter split. */
.portfolio-style.page-about .about-story{max-width:1180px;grid-template-columns:minmax(0,760px) minmax(200px,300px);gap:64px}
.portfolio-style .about-story .portrait{background:var(--pink);padding:16px}
.portfolio-style .about-story figcaption{color:#141414}
.portfolio-style .about-narrative h1{margin-bottom:28px}
.portfolio-style .about-facts h2,.portfolio-style .about-contact h2{font:400 42px/1.1 var(--poster);text-transform:uppercase}
.portfolio-style .about-credentials{background:#f6f5f1;padding:28px!important;border:0!important}
/* Consultations: poster titles, explicit terms, unchanged fees. */
.portfolio-style .consultation-formats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:0 0 40px}
.portfolio-style.page-consultancy .consultation-format{display:block;border:0;padding:26px;background:var(--acid)}
.portfolio-style.page-consultancy .consultation-format:nth-child(2){background:var(--pink)}
.portfolio-style.page-consultancy .consultation-format h2{font-size:clamp(44px,5vw,68px);margin:0 0 24px}
.portfolio-style.page-consultancy .consultation-format p{font-size:17px;line-height:1.65}
.portfolio-style.page-consultancy #focused-consultation{background:#f6f5f1;padding:28px;border:0}
.portfolio-style.page-consultancy #fees strong{font:400 27px/1.25 var(--display)}
/* Preserve the approved consultancy trial composition. */
.portfolio-style.consultancy-trial .page-head h1{margin:0}
@media(max-width:700px){
 .portfolio-style .page-head h1,.portfolio-style .about-narrative h1{font-size:clamp(64px,16vw,100px)}
 .portfolio-style .page-head{margin:22px 0 32px}
 .portfolio-style .page-head>.lead{font-size:19px}
 .portfolio-style .master-home{grid-template-columns:1fr;gap:24px}
 .portfolio-style .master-home h1{font-size:clamp(100px,25vw,150px)}
 .portfolio-style .master-section{grid-template-columns:1fr;gap:22px;padding:28px 0}
 .portfolio-style .master-section>h2{font-size:48px}
 .portfolio-style .home-now{padding:24px}
 .portfolio-style #the-last-bastion{grid-template-columns:1fr;padding:24px}
 .portfolio-style #the-last-bastion .development-copy{padding:0}
 .portfolio-style .development-heading h2{font-size:64px}
 .portfolio-style .development-poster{grid-template-columns:1fr}
 .portfolio-style .development-heading{padding:24px}
 .portfolio-style .development-poster .development-image{padding:0 24px 24px}
 .portfolio-style #the-boy-who-vanished>.development-copy{grid-template-columns:1fr;gap:24px}
 .portfolio-style.page-teaching-advisory .master-section>h2{font-size:48px;padding:20px}
 .portfolio-style.page-teaching-advisory .master-section>div{padding:0 8px}
 .portfolio-style .lab-programmes{grid-template-columns:1fr}
 .portfolio-style #hoofdzaken{grid-template-columns:1fr;gap:14px;padding:20px}
 .portfolio-style .art-project-heading{grid-template-columns:1fr;gap:24px}
 .portfolio-style .art-project h2{font-size:clamp(52px,14vw,80px)}
 .portfolio-style.page-about .about-story{grid-template-columns:1fr;gap:24px}
 .portfolio-style .about-story .portrait{max-width:200px;padding:12px}
 .portfolio-style .consultation-formats{grid-template-columns:1fr;gap:20px}
 .portfolio-style.page-consultancy .consultation-format{padding:24px}
 .portfolio-style.consultancy-trial .page-head h1{font-size:clamp(76px,18vw,112px)}
}
@media(max-width:420px){.portfolio-style .academy-profile{grid-template-columns:minmax(0,1fr) 80px}}
