:root{--ink:#17203d;--ice:#d5ebeb;--orange:#f5a275;--white:#fff;--line:rgba(23,32,61,.2);--gutter:4.3vw;--body:'Helvetica Neue',Helvetica,Arial,sans-serif;--display:'Arial Black','Helvetica Neue',Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.02;letter-spacing:-.055em}h1,h2 strong{font-family:var(--display);font-weight:600}h1{font-size:clamp(3.3rem,7.8vw,8rem)}h2{font-size:clamp(2.5rem,4.9vw,5rem);font-weight:600}h3{font-size:1.9rem;font-weight:600}p{max-width:65ch}p+p{margin-top:1.1em}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.container{max-width:1800px;padding:0 var(--gutter);margin:auto}.accent{color:var(--orange)}.skip{position:fixed;left:20px;top:-100px;background:var(--ink);color:#fff;padding:12px 20px;z-index:100}.skip:focus{top:10px}.eyebrow,.section-label,.hero-kicker{font-size:14px;letter-spacing:.055em;font-weight:600}.eyebrow{text-transform:none;margin-bottom:24px}.section-label{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-bottom:70px}.section-label a{border-bottom:1px solid var(--ink);padding-bottom:3px}.site-header{background:white;position:relative;z-index:30}.header-inner{display:flex;align-items:center;gap:36px;height:102px}.logo{display:block;width:226px;flex-shrink:0}.logo img{height:auto}.header-caption{font-size:14px;line-height:1.35;margin-left:20px}nav{display:flex;align-items:center;gap:36px;margin-left:auto;font-size:15px;font-weight:600}nav a{position:relative;padding:12px 0}nav a:not(.contact):after{content:'';position:absolute;left:0;right:100%;bottom:7px;height:1px;background:var(--ink);transition:right .25s}nav a:hover:after,nav a[aria-current=page]:after{right:0}nav .contact{border:1px solid var(--ink);padding:12px 22px;transition:background .2s}nav .contact:hover{background:var(--ink);color:white}.menu-toggle{display:none}.hero-stage{position:relative;background:var(--ink);color:#fff}.hero-images,.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-images{bottom:66px;height:calc(100% - 66px);overflow:hidden}.hero-image{object-fit:cover;opacity:0;transition:opacity .6s,transform 1.5s;object-position:50% 53%;transform:scale(1.025)}.hero-image[data-hero-image="1"]{object-position:50% 52%}.hero-image.active{opacity:1;transform:scale(1)}.hero-shade{height:calc(100% - 66px);background:linear-gradient(90deg,rgba(10,20,32,.65),rgba(10,20,32,.50) 65%,rgba(10,20,32,.12)),linear-gradient(0deg,rgba(10,20,32,.38),transparent 60%);pointer-events:none}.hero-content{position:relative;min-height:690px;height:calc(100svh - 168px);max-height:950px;display:flex;flex-direction:column;justify-content:center;padding-top:58px;padding-bottom:38px}.hero-kicker{margin-bottom:30px;letter-spacing:.09em;text-transform:none}.hero-content h1{font-size:clamp(4.5rem,8.65vw,10rem);line-height:.98;letter-spacing:-.055em;max-width:1100px;text-shadow:0 1px 10px #00000010}.hero-content h1 span{color:var(--orange)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-top:auto;padding-top:40px}.hero-bottom p{font-size:17px;line-height:1.5}.hero-project{display:grid;grid-template-columns:auto auto;gap:4px 30px;min-width:270px;border-top:1px solid #ffffff70;padding-top:16px}.hero-project-number{font-size:13px;grid-column:1/-1;opacity:.8}#hero-project-name{font-size:24px;letter-spacing:-.04em}.hero-project-action{font-size:14px;text-decoration:underline;text-underline-offset:6px;align-self:center}.hero-controls{position:relative;background:var(--ink);height:66px}.hero-controls:before{content:'';position:absolute;top:-23px;left:var(--gutter);width:50px;height:24px;background:var(--ink);clip-path:polygon(0 100%,50% 0,100% 100%)}.hero-controls-inner{height:100%;display:flex;align-items:center;padding:0 var(--gutter);gap:50px;max-width:1800px;margin:auto}.hero-controls-label,.scroll-label{font-size:13px;letter-spacing:.04em}.hero-controls-label{color:#d5ebeb}.hero-controls [role=group]{display:flex;height:100%;gap:35px}.hero-selector{background:none;border:0;color:white;border-bottom:2px solid transparent;padding:0;font-size:13px;display:flex;align-items:center;gap:12px}.hero-selector.active{border-color:var(--orange)}.hero-selector span{font-size:14px}.scroll-label{margin-left:auto}.section{padding:110px 0}.introduction{padding:85px 0 135px}.intro-editorial{display:grid;grid-template-columns:1.4fr 1fr;gap:12vw}.intro-editorial h2{font-size:clamp(2.5rem,4.7vw,5.2rem);line-height:1.09;font-weight:400;letter-spacing:-.055em}.intro-editorial h2 strong{display:inline-block;margin-top:8px;letter-spacing:-.06em}.intro-note{padding:16px 0 0;max-width:410px;font-size:18px}.triangle-mark{display:block;width:36px;height:27px;background:var(--orange);clip-path:polygon(0 0,100% 50%,0 100%);margin-bottom:35px}.text-link{display:inline-block;padding:7px 0;border-bottom:1px solid currentColor;font-size:15px;font-weight:600;margin-top:26px;transition:opacity .2s}.text-link:hover{opacity:.55}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);padding:14px 25px;min-height:52px;font-size:15px;font-weight:600;transition:background .2s,color .2s}.button:hover{background:var(--ink);color:white}.selected-work{padding-bottom:135px}.selected-heading{display:flex;align-items:end;justify-content:space-between;margin:-15px 0 65px;gap:40px}.selected-heading h2{font-family:var(--display);font-size:clamp(4rem,9.7vw,11rem);font-weight:600;letter-spacing:-.065em;line-height:.95}.selected-heading p{font-size:17px;min-width:215px;padding-bottom:8px}.editorial-projects{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;row-gap:100px}.editorial-case{min-width:0}.case-01{grid-column:1/9}.case-02{grid-column:9/13;margin-top:180px}.case-03{grid-column:4/13}.editorial-image{display:block;position:relative;overflow:hidden}.editorial-image img{aspect-ratio:1.35;object-fit:cover;transition:transform .7s}.case-02 .editorial-image img{aspect-ratio:.73}.case-03 .editorial-image img{aspect-ratio:1.85}.editorial-image:hover img{transform:scale(1.025)}.case-counter{position:absolute;left:20px;top:20px;display:grid;place-items:center;width:44px;height:44px;background:white;color:var(--ink);font-size:14px}.image-cta{position:absolute;right:0;bottom:0;background:white;color:var(--ink);padding:15px 23px;font-size:14px}.image-cta:before{content:'';position:absolute;left:-18px;bottom:0;top:0;width:19px;background:white;clip-path:polygon(100% 0,100% 100%,0 50%)}.case-info{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding-top:27px}.case-info .eyebrow{margin-bottom:12px;font-size:13px}.case-info h3{font-size:clamp(1.6rem,2.2vw,2.4rem);line-height:1.06;letter-spacing:-.045em}.case-info>p{font-size:15px;line-height:1.55;padding-top:29px;max-width:300px}.case-02 .case-info{display:block}.case-02 .case-info>p{padding-top:18px}.process-section{background:var(--ink);color:white;padding:65px 0 110px;position:relative}.process-section:before{content:'';position:absolute;top:-26px;right:8%;width:54px;height:27px;clip-path:polygon(0 100%,50% 0,100% 100%);background:var(--ink)}.process-section .section-label{border-color:#ffffff45}.process-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:9vw}.process-intro h2{font-size:clamp(2.1rem,3.2vw,3.8rem);line-height:1.02;font-family:var(--display);margin-bottom:28px;font-weight:600}.process-intro p{font-size:16px;max-width:350px;color:#e0e4ed}.process-accordion details{border-top:1px solid #ffffff60}.process-accordion details:last-child{border-bottom:1px solid #ffffff60}.process-accordion summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:35px 1fr 22px;align-items:center;gap:15px;padding:28px 0;font-family:var(--display);font-size:clamp(1.5rem,3.1vw,3.6rem);font-weight:600;letter-spacing:-.04em;line-height:1}.process-accordion summary::-webkit-details-marker{display:none}.process-accordion summary>span:first-child{font-family:var(--body);font-size:13px;letter-spacing:0;align-self:start;padding-top:4px;color:var(--orange)}.plus{height:20px;width:20px;position:relative}.plus:before,.plus:after{content:'';position:absolute;inset:9px 0;height:1px;background:var(--orange)}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.process-accordion details>div{padding:0 30px 30px 50px;max-width:570px;font-size:16px;color:#e0e4ed}.process-accordion .text-link{margin-top:15px;color:white}.studio-feature{display:grid;grid-template-columns:1fr 1fr;background:#fff}.studio-photo{position:relative}.studio-photo img{height:760px;object-position:50% 57%}.studio-photo-label{position:absolute;bottom:25px;left:30px;background:white;padding:10px 15px;font-size:13px}.studio-copy{padding:90px 7vw 65px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative}.studio-copy:before{content:'';position:absolute;left:-30px;top:48%;width:31px;height:60px;background:white;clip-path:polygon(100% 0,100% 100%,0 50%)}.studio-copy .eyebrow{margin-bottom:55px}.studio-copy h2{font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.06;margin-bottom:32px;font-weight:600}.studio-copy p{max-width:380px;font-size:17px}.coffee{background:var(--ice);padding:65px 0 60px;position:relative}.coffee-top{display:flex;justify-content:space-between;align-items:start;gap:50px}.coffee-top p{font-size:16px}.coffee-link{display:block;font-family:var(--display);font-weight:600;font-size:clamp(6rem,19.8vw,22rem);line-height:1;letter-spacing:-.075em;position:relative;margin-top:35px;width:fit-content;padding-right:20px;transition:color .3s}.coffee-link>span:first-child{color:var(--ink);transition:color .3s}.coffee-link:hover>span:first-child{color:var(--orange)}.coffee-action{position:absolute;right:-2vw;bottom:16%;font-family:var(--body);font-weight:600;letter-spacing:0;font-size:14px;line-height:1.4;background:var(--ink);color:white;padding:19px 25px;transform:rotate(-7deg)}.coffee-line{height:1px;width:100%;background:var(--ink);margin-top:30px;position:relative}.coffee-line:after{content:'';position:absolute;right:13%;top:0;width:25px;height:25px;border-bottom:1px solid var(--ink);border-right:1px solid var(--ink);transform:translateY(-12px) rotate(45deg);background:var(--ice)}footer{background:var(--ink);color:white;padding:65px 0 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:60px;font-size:15px}.footer-top .logo{width:270px}.footer-grid{display:grid;grid-template-columns:1.4fr .9fr .9fr 1fr;gap:35px}.footer-grid .eyebrow{font-size:13px;color:#bcc8d4;margin-bottom:20px}.footer-grid p{font-size:15px;line-height:1.6}.footer-grid>div>a:not(.text-link){display:block;margin:7px 0;font-size:15px}.footer-grid .text-link{margin-top:16px}.footer-note p{font-size:30px;line-height:1.1;letter-spacing:-.04em;text-align:right}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff40;padding-top:25px;margin-top:65px;font-size:13px}.footer-bottom a:hover{text-decoration:underline}.page-head,.project-opening{padding:60px 0 65px}.page-head-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-bottom:60px;gap:20px}.page-head-meta .eyebrow{margin:0}.section-tick{width:21px;height:14px;background:var(--orange);clip-path:polygon(0 0,100% 0,50% 100%)}.back-link{font-size:14px;border-bottom:1px solid currentColor}.page-head h1{max-width:1300px;font-size:clamp(3.3rem,7.7vw,8.5rem);line-height:.98;overflow-wrap:break-word}.page-head>div>p{max-width:600px;font-size:20px;line-height:1.5;margin:35px 0 0 auto;padding-left:15px}.page-head+.section{padding-top:25px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 35px}.card{min-width:0}.card[hidden]{display:none}.card .photo{position:relative;overflow:hidden;background:var(--ice)}.card img{aspect-ratio:1.4;transition:transform .65s}.card:hover img{transform:scale(1.025)}.card:nth-child(4n+2){padding-top:80px}.card-caption{display:flex;justify-content:space-between;align-items:baseline;gap:25px;padding:20px 0 0}.card h3{font-size:clamp(1.5rem,2.1vw,2.1rem);line-height:1.1;letter-spacing:-.04em}.meta{font-size:13px;white-space:nowrap}.card-view{position:absolute;bottom:0;right:0;padding:11px 18px;background:white;font-size:13px;transform:translateY(100%);transition:transform .25s}.card:hover .card-view,.card:focus-visible .card-view{transform:translateY(0)}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:45px;font-size:14px}.filter-bar label{display:flex;align-items:center;gap:15px}.filter-bar input{padding:12px 5px;border:0;border-bottom:1px solid var(--ink);border-radius:0;min-width:260px;background:white;font-size:16px;color:var(--ink)}.empty{padding:60px 0}.project-opening h1{font-size:clamp(3.4rem,9vw,10rem);line-height:.97;letter-spacing:-.065em}.project-deck{font-size:clamp(1.5rem,2.5vw,2.4rem);margin-top:30px;letter-spacing:-.03em}.project-cover img,.lead-image{height:clamp(350px,65vw,860px);object-fit:cover}.project-cover{margin:0 2vw;position:relative}.project-cover:after{content:'';position:absolute;top:-1px;left:70%;width:62px;height:31px;background:white;clip-path:polygon(0 0,100% 0,50% 100%)}.case-story{display:grid;grid-template-columns:1fr 1.5fr;gap:13vw}.case-story aside{font-size:22px;line-height:1.45;letter-spacing:-.02em;max-width:370px}.story-chapters section{display:grid;grid-template-columns:35px 1fr;gap:20px;border-top:1px solid var(--line);padding:28px 0 45px}.chapter-number{font-size:13px;color:#536077;line-height:1.5}.story-chapters h2{font-size:29px;letter-spacing:-.035em;margin-bottom:20px}.story-chapters p{font-size:17px;line-height:1.65}.project-gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:35px;align-items:start}.project-gallery img:first-child{aspect-ratio:1;object-fit:cover}.project-gallery img:nth-child(2){aspect-ratio:.78;margin-top:130px}.next-project{border-top:1px solid var(--line);padding-top:35px}.next-project h2{max-width:80%;font-size:clamp(2.5rem,5.5vw,6rem)}.next-project h2 a:hover{color:#586581}.article{display:grid;grid-template-columns:1fr 2fr;gap:10vw}.article aside .eyebrow{position:sticky;top:40px}.article-body p{margin-bottom:26px;font-size:18px;line-height:1.65}.article-body h2,.article-body h3{font-size:2.1rem;margin:40px 0 24px;letter-spacing:-.04em}.article-body>:first-child{margin-top:0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;margin-top:60px}.gallery img{aspect-ratio:1.15}.gallery img:nth-child(2){margin-top:100px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:11vw}.large{font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.45;margin-bottom:28px}.ice{background:var(--ice)}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.service{border-top:1px solid var(--line);padding:24px 0}.service .number{display:block;font-size:14px;margin-bottom:45px}.service h3{font-size:clamp(2rem,2.5vw,3rem);margin-bottom:25px}.service p{font-size:16px;line-height:1.65}.approach-photo{margin:0 var(--gutter)}.approach-photo img{height:470px;object-position:center}.approach{display:grid;grid-template-columns:1fr 1.25fr;gap:12vw}.approach aside{position:sticky;top:40px;align-self:start}.approach-steps article{display:grid;grid-template-columns:36px 1fr;gap:20px;padding:30px 0 50px;border-top:1px solid var(--line)}.approach-steps h3{font-size:2rem;margin-bottom:24px}.approach-steps p{font-size:17px;line-height:1.65}.step{display:grid;grid-template-columns:60px 1fr 1fr;gap:40px;border-top:1px solid var(--line);padding:35px 0 45px}.step .number{font-size:14px}.step h3{font-size:2.4rem}.step p{font-size:17px;line-height:1.65}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:25px}.two-images{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start}.two-images img{height:640px}.two-images img:last-child{height:500px;margin-top:100px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:13vw}.contact-grid h2{margin-bottom:35px;font-size:clamp(2.4rem,3.5vw,3.7rem)}.contact-grid .mail{display:inline-block;border-bottom:1px solid var(--ink);font-size:clamp(1.3rem,2.3vw,2.5rem);letter-spacing:-.025em;overflow-wrap:anywhere}.contact-block{border-top:1px solid var(--line);padding:30px 0}.contact-block h3{font-size:1.6rem;margin-bottom:20px}.jobs details{border-top:1px solid var(--line);padding:28px 0}.jobs details:last-child{border-bottom:1px solid var(--line)}.jobs summary{cursor:pointer;font-size:clamp(1.4rem,2.5vw,2.4rem);font-weight:600;letter-spacing:-.04em}.jobs details p{margin-top:25px;max-width:750px}.jobs .button{margin-top:25px}.reveal-enabled [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s,transform .65s}.reveal-enabled [data-reveal].visible{opacity:1;transform:none}@media(min-width:1800px){:root{--gutter:78px}}@media(min-width:761px){.hero-content h1{animation:hero-in .8s both}.hero-kicker{animation:hero-in .7s both}}@keyframes hero-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:1100px){.header-caption{display:none}.header-inner{gap:25px}nav{gap:24px}.hero-content{min-height:640px}.hero-content h1{font-size:9.5vw}.hero-controls-inner{gap:30px}.hero-controls [role=group]{gap:24px}.scroll-label{display:none}.intro-editorial{gap:7vw}.intro-note{font-size:17px}.selected-heading p{min-width:170px}.editorial-projects{column-gap:24px}.case-01{grid-column:1/8}.case-02{grid-column:8/13;margin-top:130px}.case-03{grid-column:3/13}.case-info{display:block}.case-info>p{padding-top:17px;max-width:100%}.process-layout{gap:5vw;grid-template-columns:1fr 1.3fr}.process-accordion summary{font-size:3vw;grid-template-columns:26px 1fr 20px;gap:12px}.process-accordion details>div{padding-left:38px}.studio-copy{padding:65px 5vw}.studio-photo img{height:680px}.card-caption{display:block}.card-caption .meta{display:block;margin-top:8px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-note{display:none}.page-head h1{font-size:8vw}.case-story{gap:8vw}.project-gallery img:nth-child(2){margin-top:85px}}
@media(max-width:760px){:root{--gutter:6vw}body{font-size:16px}.header-inner{height:82px;justify-content:space-between}.logo{width:190px}.menu-toggle{display:flex;gap:20px;align-items:center;padding:8px 0;background:none;border:0;font-size:14px}.menu-toggle span{font-size:24px;font-weight:400;line-height:1}nav{display:none;position:absolute;top:82px;left:0;right:0;padding:20px var(--gutter) 35px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{font-size:24px;padding:15px 0}nav .contact{font-size:16px;margin-top:15px;text-align:center}.hero-content{height:calc(100svh - 143px);min-height:640px;max-height:810px;padding-top:55px;padding-bottom:28px;justify-content:flex-start}.hero-kicker{font-size:12px;letter-spacing:.06em;margin-bottom:45px}.hero-content h1{font-size:12.5vw;line-height:1.05;letter-spacing:-.055em}.hero-images,.hero-shade{height:calc(100% - 61px)}.hero-image{object-position:62% center}.hero-image[data-hero-image="1"]{object-position:center}.hero-shade{background:linear-gradient(90deg,#0b142788,#0b142720),linear-gradient(0deg,#0b1427aa,transparent 60%)}.hero-bottom{flex-direction:column;align-items:stretch;gap:25px;padding-top:60px}.hero-bottom p{font-size:16px}.hero-project{min-width:0;grid-template-columns:1fr auto;gap:5px 20px;padding-top:12px}.hero-project-number{grid-column:auto;grid-row:1;font-size:12px}.hero-project-action{grid-column:2;grid-row:1/3;font-size:13px}#hero-project-name{grid-row:2;font-size:21px}.hero-controls{height:61px}.hero-controls-inner{padding:0 var(--gutter);gap:0}.hero-controls-label{display:none}.hero-controls [role=group]{width:100%;justify-content:space-between;gap:14px}.hero-selector{font-size:12px;gap:5px}.hero-selector span{font-size:12px}.hero-controls:before{width:34px;height:17px;top:-16px}.section{padding:70px 0}.section-label{margin-bottom:45px;font-size:12px;gap:20px;align-items:start}.section-label>span:last-child{text-align:right}.introduction{padding:55px 0 80px}.intro-editorial{grid-template-columns:1fr;gap:40px}.intro-editorial h2{font-size:9.2vw;line-height:1.13}.intro-note{max-width:none;padding-left:18vw;font-size:16px}.triangle-mark{height:18px;width:25px;margin-bottom:20px}.selected-work{padding-bottom:85px}.selected-work .section-label{margin-bottom:40px}.selected-heading{display:block;margin:0 0 40px}.selected-heading h2{font-size:13vw}.selected-heading p{font-size:15px;margin-top:20px}.editorial-projects{display:block}.editorial-case{margin:0 0 60px}.editorial-case:last-child{margin-bottom:0}.case-02{margin-left:14vw}.case-03{margin-right:4vw}.editorial-image img{aspect-ratio:1.15}.case-02 .editorial-image img{aspect-ratio:.85}.case-03 .editorial-image img{aspect-ratio:1.2}.case-counter{width:33px;height:33px;font-size:12px;left:12px;top:12px}.image-cta{font-size:12px;padding:11px 17px}.case-info{padding-top:20px}.case-info .eyebrow{font-size:12px;margin-bottom:9px}.case-info h3{font-size:26px}.case-info>p{font-size:15px;line-height:1.6;max-width:360px}.process-section{padding:50px 0 65px}.process-layout{grid-template-columns:1fr;gap:40px}.process-intro h2{font-size:9.1vw}.process-intro p{max-width:100%}.process-accordion summary{font-size:7vw;padding:24px 0;grid-template-columns:27px 1fr 20px;gap:10px}.process-accordion details>div{padding:0 10px 28px 37px;font-size:16px}.studio-feature{grid-template-columns:1fr}.studio-photo img{height:480px}.studio-photo-label{font-size:12px;left:var(--gutter);bottom:22px}.studio-copy{padding:65px var(--gutter) 75px}.studio-copy:before{top:-22px;left:75%;width:44px;height:23px;clip-path:polygon(0 100%,50% 0,100% 100%)}.studio-copy .eyebrow{font-size:12px;margin-bottom:35px}.studio-copy h2{font-size:10vw}.studio-copy p{font-size:16px;max-width:none}.coffee{padding:45px 0 45px}.coffee-top{display:block}.coffee-top .eyebrow{font-size:12px;margin-bottom:20px}.coffee-top p{font-size:15px}.coffee-link{font-size:21vw;margin-top:40px;line-height:1.4;padding:0;letter-spacing:-.075em}.coffee-action{font-size:12px;padding:12px 16px;right:0;bottom:-25px;transform:rotate(-5deg)}.coffee-line{margin-top:55px}.coffee-line:after{width:17px;height:17px;transform:translateY(-8px) rotate(45deg)}footer{padding:50px 0 25px}.footer-top{display:block;margin-bottom:45px}.footer-top .logo{width:235px;margin-bottom:25px}.footer-top>span{font-size:13px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div>a:not(.text-link){font-size:14px}.footer-grid .eyebrow{font-size:12px}.footer-bottom{flex-wrap:wrap;font-size:12px;gap:20px;margin-top:45px}.page-head,.project-opening{padding:30px 0 45px}.page-head-meta{margin-bottom:40px;padding-top:15px;align-items:start}.page-head-meta .eyebrow{font-size:12px;max-width:70%;text-align:right}.page-head-meta .eyebrow:first-child{text-align:left}.page-head h1,.project-opening h1{font-size:11.5vw;line-height:1.04;letter-spacing:-.055em}.page-head>div>p{font-size:17px;padding-left:0;margin:25px 0 0;max-width:none}.filter-bar{display:block;margin-bottom:35px;padding-bottom:20px}.filter-bar label{display:block;margin-top:25px;font-size:13px}.filter-bar input{display:block;width:100%;min-width:0;margin-top:5px}.cards{grid-template-columns:1fr;gap:45px}.card:nth-child(4n+2){padding-top:0}.card:nth-child(3n+2){margin-left:9vw}.card img{aspect-ratio:1.3}.card h3{font-size:24px}.card-caption .meta{font-size:12px}.card-view{transform:none;font-size:12px;padding:9px 13px}.project-cover{margin:0}.project-cover img,.lead-image{height:430px;object-fit:cover}.project-deck{font-size:21px;margin-top:22px}.case-story,.article,.intro-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.case-story aside{font-size:20px;max-width:none}.story-chapters h2{font-size:26px}.story-chapters p{font-size:16px}.story-chapters section{grid-template-columns:25px 1fr;gap:12px;padding-bottom:30px}.project-gallery{grid-template-columns:1fr;gap:20px}.project-gallery img:nth-child(2){margin-top:0;aspect-ratio:1.2}.project-gallery img:first-child{aspect-ratio:1.2}.next-project h2{font-size:10vw;max-width:100%}.article-body p{font-size:16px;line-height:1.65}.article-body h2{font-size:26px}.gallery{gap:15px;margin-top:35px}.gallery img{aspect-ratio:.8}.gallery img:nth-child(2){margin-top:55px}.services{grid-template-columns:1fr;gap:20px}.service h3{font-size:32px}.service .number{margin-bottom:22px}.large{font-size:24px}.approach-photo{margin:0}.approach-photo img{height:320px}.approach{grid-template-columns:1fr;gap:45px}.approach aside{position:static}.approach aside h2{font-size:38px}.approach-steps article{grid-template-columns:25px 1fr;gap:12px;padding:25px 0 35px}.approach-steps h3{font-size:26px}.approach-steps p{font-size:16px}.step{grid-template-columns:30px 1fr;gap:15px;padding:25px 0}.step h3{font-size:28px}.step p{grid-column:2;font-size:16px}.section-head{display:block}.section-head .button{margin-top:25px}.two-images{grid-template-columns:1fr;gap:20px}.two-images img{height:360px}.two-images img:last-child{height:420px;margin-top:0}.contact-grid h2{font-size:36px}.contact-grid .mail{font-size:6.8vw}.contact-block h3{font-size:24px}.jobs summary{font-size:23px}.jobs details p{font-size:16px}.reveal-enabled [data-reveal]{transform:translateY(15px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-enabled [data-reveal]{opacity:1;transform:none}}
/* Concept 03: measured brand geometry, mixed-case typography and aligned imagery. */
:root{--notch-width:56px;--notch-depth:17.326px;--frame-pad:9px}
.headline-light{font-family:var(--body);font-weight:400;letter-spacing:-.045em;font-size:.72em;line-height:1.18}
.hero-content h1{font-size:clamp(4.5rem,7.4vw,8rem);line-height:1.05;letter-spacing:-.05em}
.hero-content h1 .hero-light{font-family:var(--body);font-size:.61em;font-weight:400;letter-spacing:-.045em;color:white}
.hero-content h1 .hero-dot{color:var(--orange)}
.hero-content{justify-content:center;padding-top:75px;min-height:610px}
.hero-bottom{margin-top:auto}.hero-kicker{margin-bottom:55px}
.selected-heading h2{font-size:clamp(2.8rem,4.9vw,5.2rem);line-height:1.05;letter-spacing:-.045em}
.page-head h1{font-size:clamp(3rem,6.7vw,7.1rem);line-height:1.04}
.page-head h1 .headline-light{font-size:.67em}
nav{gap:25px}.header-caption{margin-left:0;font-size:13px}
.image-frame{position:relative;border:1px solid var(--ink);padding:var(--frame-pad);background:white;width:100%;display:block;min-width:0}
.image-frame:before{content:'';position:absolute;top:-2px;left:calc(72% - 28px);width:var(--notch-width);height:20.1px;background:url('assets/frame-notch.svg') center/100% 100% no-repeat;z-index:2;pointer-events:none}
.image-frame img{display:block}
.card .photo,.editorial-image{overflow:visible;background:transparent}.card .photo .image-frame,.editorial-image .image-frame{overflow:hidden}
.card img,.editorial-image img{transition:filter .3s;transform:none!important}.card:hover img,.editorial-image:hover img{filter:brightness(.96)}
.card-view{right:10px;bottom:10px;transform:none;opacity:0}.card:hover .card-view,.card:focus-visible .card-view{opacity:1}
.image-cta{bottom:10px;right:10px}.case-counter{top:25px;left:25px}
.editorial-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 32px}
.case-01,.case-02,.case-03{grid-column:auto;margin:0}
.case-03{grid-column:1/-1}
.editorial-image img,.case-02 .editorial-image img{aspect-ratio:1.4}
.case-03 .editorial-image img{aspect-ratio:2.2}
.case-info{display:block;padding-top:24px}.case-info>p{max-width:600px;padding-top:15px}.case-03 .case-info{display:grid;grid-template-columns:1fr 1fr;gap:40px}.case-03 .case-info>p{padding-top:28px}
.card:nth-child(4n+2){padding-top:0}.card:nth-child(3n+2){margin-left:0}
.project-gallery,.two-images,.gallery{grid-template-columns:1fr 1fr;align-items:start}
.project-gallery>.image-frame,.two-images>.image-frame,.gallery>.image-frame{margin:0}
.project-gallery img,.project-gallery img:first-child,.project-gallery img:nth-child(2),.gallery img,.gallery img:nth-child(2){aspect-ratio:1.2;margin:0;height:auto}
.two-images img,.two-images img:last-child{height:auto;aspect-ratio:1.1;margin:0}
.project-cover{margin:0 var(--gutter)}.project-cover:after{display:none}
.approach-photo{margin:0 auto}.approach-photo img{height:470px}
.studio-photo{padding:30px 0 30px var(--gutter)}.studio-photo img{height:650px}.studio-photo-label{left:calc(var(--gutter) + 20px);bottom:50px}.studio-copy:before{display:none}
.hero-controls:before,.process-section:before{width:var(--notch-width);height:var(--notch-depth);top:calc(1px - var(--notch-depth));clip-path:polygon(0 100%,50% 0,100% 100%)}
.triangle-mark{width:var(--notch-width);height:var(--notch-depth);clip-path:polygon(0 0,100% 0,50% 100%)}
.section-tick{width:28px;height:8.663px;clip-path:polygon(0 0,100% 0,50% 100%)}
.image-cta:before{width:var(--notch-depth);height:var(--notch-width);left:calc(1px - var(--notch-depth));top:50%;bottom:auto;transform:translateY(-50%);clip-path:polygon(100% 0,100% 100%,0 50%)}
.coffee-row{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-top:35px}
.coffee-link{font-family:var(--body);font-size:clamp(6rem,16vw,17rem);font-weight:600;letter-spacing:-.065em;line-height:1.1;margin:0;padding:0}
.coffee-action{position:static;display:inline-flex;align-items:center;justify-content:center;transform:none;flex-shrink:0;min-height:54px;padding:17px 28px;font-size:15px;font-weight:600;letter-spacing:0;line-height:1.4;background:var(--ink);color:white;transition:background .2s}
.coffee-action:hover{background:#303d60}.coffee-line{margin-top:38px}
.coffee-line:after{border:0;top:-2px;right:13%;width:var(--notch-width);height:20.1px;transform:none;background:var(--ice) url('assets/frame-notch-ice.svg') center/100% 100% no-repeat}
.process-intro h2{font-size:clamp(2.2rem,3.7vw,4rem)}
.process-accordion summary{font-family:var(--body);font-size:clamp(1.5rem,2.6vw,2.8rem);font-weight:600;letter-spacing:-.04em}
.phase-chips{display:flex;gap:10px;margin-top:20px}.phase-chips span{border:1px solid #ffffff50;padding:4px 12px;font-size:13px}
.phases-layout{display:grid;grid-template-columns:1fr 2fr;gap:9vw}
.phase-navigation{align-self:start;position:sticky;top:40px}.phase-navigation a{display:flex;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;font-size:17px}.phase-navigation a span{font-size:13px;color:#536077}
.phase-story{border-top:1px solid var(--line);padding:30px 0 65px;scroll-margin-top:40px}.phase-top{display:flex;align-items:baseline;gap:20px;margin-bottom:35px}.phase-top>span{font-size:14px}.phase-top h2{font-size:clamp(2.1rem,3.4vw,3.5rem);font-weight:600}.phase-story>h3{font-size:1.5rem;line-height:1.25;margin-bottom:20px;letter-spacing:-.025em}.phase-story>p{font-size:18px;line-height:1.65}.phase-parts{margin-top:35px;display:grid;gap:22px}.phase-parts section{border-left:2px solid var(--orange);padding:0 0 0 22px}.phase-parts h4{font-size:18px;font-weight:600;margin:0 0 10px;line-height:1.3}.phase-parts p{font-size:16px;line-height:1.65}
.careers-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.careers-intro img{aspect-ratio:1.3}.careers-intro h2{font-size:clamp(2rem,3.3vw,3.4rem);line-height:1.15;margin-bottom:28px;font-weight:400}.careers-intro strong{font-weight:600}.jobs-overview{padding-top:30px}.vacancy-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 65px}.vacancy-card{padding:36px 0 45px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.vacancy-card .eyebrow{font-size:13px}.vacancy-card h2{font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1.13;margin-bottom:24px}.vacancy-card p{font-size:17px;line-height:1.6;margin-bottom:20px}.vacancy-card .text-link{margin-top:auto}.vacancy-card a:hover{color:#536077}
.page-head h1.vacancy-title{font-size:clamp(2.6rem,5.7vw,6rem);max-width:1150px;line-height:1.08}
.vacancy-meta{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:14px}.vacancy-meta>a{border-bottom:1px solid currentColor}.vacancy-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:8vw;align-items:start}.vacancy-main>.image-frame img{aspect-ratio:1.45}.vacancy-section{padding-top:50px}.vacancy-section h2{font-size:clamp(1.8rem,2.6vw,2.7rem);margin-bottom:24px}.vacancy-section p{font-size:18px;line-height:1.65}.vacancy-section ul{padding-left:21px;margin:25px 0 0;font-size:17px;line-height:1.65}.vacancy-section li{padding-left:5px;margin:10px 0}.vacancy-section li::marker{color:var(--ink)}
.apply-panel{background:var(--ice);padding:35px;position:sticky;top:40px}.apply-panel h2{font-size:clamp(2.1rem,3.1vw,3.3rem);margin-bottom:24px;line-height:1.08}.apply-panel p{font-size:16px;line-height:1.6}.apply-panel .button{margin-top:28px;background:var(--ink);color:white;width:100%}.apply-panel .button:hover{background:#303d60}.apply-contact{margin-top:28px!important;font-size:14px!important;overflow-wrap:anywhere}.apply-contact a{text-decoration:underline;text-underline-offset:4px}.vacancy-facts{border-top:1px solid var(--line);margin:35px 0 0}.vacancy-facts>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:16px}.vacancy-facts dt{font-weight:600}.vacancy-facts dd{margin:0}.related-jobs{display:grid;grid-template-columns:1fr 1.5fr;gap:9vw}.related-jobs a{display:block;border-top:1px solid var(--line);padding:18px 0;font-size:21px;line-height:1.3}.related-jobs a:last-child{border-bottom:1px solid var(--line)}
@media(max-width:1100px){nav{gap:21px}.hero-content h1{font-size:8.8vw}.case-01,.case-02,.case-03{margin:0}.case-info{display:block}.process-accordion summary{font-size:2.8vw}.apply-panel{padding:25px}.vacancy-layout{gap:5vw}}
@media(max-width:760px){:root{--notch-width:42px;--notch-depth:12.994px;--frame-pad:6px}.header-caption{display:none}.hero-content{min-height:570px;height:calc(100svh - 143px);padding-top:65px;justify-content:flex-start}.hero-content h1{font-size:16.5vw;line-height:1.09;letter-spacing:-.045em}.hero-content h1 .hero-light{font-size:.51em;letter-spacing:-.035em}.hero-kicker{margin-bottom:40px}.hero-bottom{padding-top:50px}.selected-heading h2{font-size:9.8vw;line-height:1.08}.page-head h1{font-size:10.8vw}.intro-note{padding-left:0}.editorial-projects{display:grid;grid-template-columns:1fr;gap:48px}.case-01,.case-02,.case-03{grid-column:1;margin:0}.editorial-image img,.case-02 .editorial-image img,.case-03 .editorial-image img{aspect-ratio:1.35}.case-03 .case-info{display:block}.case-03 .case-info>p{padding-top:15px}.image-frame:before{height:15.1px;left:calc(72% - 21px);top:-1.7px}.image-cta{bottom:7px;right:7px}.case-counter{top:18px;left:18px}.card-view{opacity:1;right:7px;bottom:7px}.card:nth-child(3n+2){margin-left:0}.project-gallery,.two-images,.gallery{grid-template-columns:1fr;gap:22px}.project-gallery img,.project-gallery img:first-child,.project-gallery img:nth-child(2),.two-images img,.two-images img:last-child,.gallery img,.gallery img:nth-child(2){margin:0;height:auto;aspect-ratio:1.3}.project-cover{margin:0 var(--gutter)}.project-cover img{height:auto;aspect-ratio:1.15}.studio-photo{padding:35px var(--gutter) 0}.studio-photo img{height:440px}.studio-photo-label{bottom:22px;left:calc(var(--gutter) + 17px);font-size:11px}.studio-copy{padding-top:45px}.coffee-row{display:flex;flex-direction:column;align-items:flex-start;gap:28px;margin-top:25px}.coffee-link{font-size:23vw;line-height:1.1;letter-spacing:-.055em}.coffee-action{font-size:14px;padding:15px 23px;min-height:50px;position:static;transform:none}.coffee-line{margin-top:35px}.coffee-line:after{height:15.1px;top:-1.7px}.process-intro h2{font-size:10vw}.process-accordion summary{font-size:6.5vw;grid-template-columns:24px 1fr 20px;gap:10px}.process-accordion details>div{padding-left:34px}.phase-chips{margin-top:16px}.phases-layout{grid-template-columns:1fr;gap:35px}.phase-navigation{position:static}.phase-navigation a{font-size:16px;padding:12px 0}.phase-story{padding:25px 0 45px;scroll-margin-top:20px}.phase-top{gap:14px;margin-bottom:24px}.phase-top h2{font-size:28px;line-height:1.1}.phase-story>h3{font-size:21px}.phase-story>p{font-size:16px}.phase-parts h4{font-size:17px}.phase-parts p{font-size:16px}.approach-photo img{height:auto;aspect-ratio:1.3}.careers-intro{grid-template-columns:1fr;gap:35px}.careers-intro h2{font-size:31px}.vacancy-grid{grid-template-columns:1fr;gap:0}.vacancy-card h2{font-size:29px}.vacancy-card p{font-size:16px}.page-head h1.vacancy-title{font-size:8.3vw;line-height:1.14;overflow-wrap:normal}.vacancy-meta{font-size:13px;gap:20px}.vacancy-meta>span{text-align:right}.vacancy-layout{grid-template-columns:1fr;gap:45px}.vacancy-section{padding-top:35px}.vacancy-section h2{font-size:27px}.vacancy-section p,.vacancy-section ul{font-size:16px}.apply-panel{position:static;padding:28px}.apply-panel h2{font-size:36px}.vacancy-facts>div{grid-template-columns:75px 1fr;gap:14px;font-size:15px}.related-jobs{grid-template-columns:1fr;gap:30px}.related-jobs h2{font-size:35px}.related-jobs a{font-size:19px}}
/* Keep the coffee statement; give the appointment action its own aligned row. */
.coffee-row{display:grid;grid-template-columns:1fr auto;gap:20px;margin-top:35px}.coffee-link{grid-column:1/-1;font-family:var(--display);font-size:clamp(6rem,19.8vw,22rem);font-weight:600;line-height:1;letter-spacing:-.075em}.coffee-action{grid-column:2;justify-self:end;margin-top:8px}.coffee-line{margin-top:30px}
@media(max-width:760px){.coffee-row{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:30px}.coffee-link{font-size:21vw;line-height:1.15}.coffee-action{margin-top:0;align-self:flex-start}.coffee-line{margin-top:30px}}
/* Concept 04 — continuous image edges and an interlocking photographic collage. */
.image-frame{padding:0;border:0;background:transparent;overflow:visible!important}
.image-frame:before{display:none}
.image-frame>img{clip-path:polygon(0 0,calc(72% - 28px) 0,72% 17.326px,calc(72% + 28px) 0,100% 0,100% 100%,0 100%)}
.image-outline,.collage-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:4}
.image-outline path,.collage-outline path{fill:none;stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:miter}
.card-view,.image-cta{right:0;bottom:0}.image-cta:before{display:none}
.introduction{background:var(--ice)}
.selected-work{padding-top:75px}.selected-work .section-label{margin-bottom:55px}
.process-section{background:var(--ice);color:var(--ink)}.process-section:before{background:var(--ice)}
.process-section .section-label{border-color:var(--line)}.process-intro p,.process-accordion details>div{color:var(--ink)}.process-accordion details,.process-accordion details:last-child{border-color:var(--line)}.process-accordion .text-link{color:var(--ink)}
.process-accordion summary{grid-template-columns:1fr 22px;gap:20px}
.process-accordion summary>.plus{align-self:center;padding:0}.process-accordion .plus:before,.process-accordion .plus:after{background:var(--ink)}
.process-accordion details>div{padding-left:0}.phase-chips span{border-color:#17203d55}
.story-chapters section{grid-template-columns:1fr;gap:0}.step{grid-template-columns:1fr 1fr}.step p{grid-column:auto}
.phase-top{gap:0}.phase-navigation a{gap:0}.service .number,.chapter-number,.case-counter{display:none}
.project-index{background:var(--ice);padding-bottom:80px}.project-index .page-head{padding-bottom:40px}.project-index .page-head h1{font-size:clamp(3rem,6vw,6.5rem)}
.project-index .filter-bar input{background:transparent}.project-index .filter-bar{margin-bottom:35px}
.project-collage{margin:0 var(--gutter)}
.collage-group{position:relative;isolation:isolate;height:clamp(400px,46vw,760px);display:grid;grid-template-columns:60% 40%;grid-template-rows:1fr 1fr;gap:0;background:var(--ice)}
.collage-group:nth-child(even){grid-template-columns:43% 57%}.collage-group>.collage-tile:first-child{grid-row:span 2}.collage-group.count-1{height:clamp(350px,40vw,600px);grid-template-columns:1fr}.collage-group.count-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.collage-group.count-2>.collage-tile:first-child{grid-row:auto}
.collage-tile{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;background:var(--ink);color:white}
.collage-ready .collage-tile{position:absolute;grid-area:auto}
.collage-tile>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:filter .35s}
.collage-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,22,45,.85),rgba(12,22,45,.12) 75%);opacity:0;transition:opacity .25s}
.collage-caption{position:absolute;inset:auto 30px 28px;display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;z-index:3;pointer-events:none}
.collage-project-name{font-family:var(--body);font-size:clamp(1.4rem,2.2vw,2.6rem);line-height:1.15;letter-spacing:-.035em;font-weight:600;overflow-wrap:anywhere}
.collage-project-action{font-size:14px;text-decoration:underline;text-underline-offset:5px}
.collage-tile:hover .collage-shade,.collage-tile:focus-visible .collage-shade,.collage-tile:hover .collage-caption,.collage-tile:focus-visible .collage-caption{opacity:1;transform:none}
.collage-tile:focus-visible{outline:none}.collage-tile:focus-visible .collage-outline path{stroke:var(--orange);stroke-width:5}
.collage-group:not(.collage-ready) .collage-outline{display:none}
@media(hover:none),(pointer:coarse){.collage-shade,.collage-caption{opacity:1;transform:none}.collage-shade{background:linear-gradient(0deg,rgba(12,22,45,.83),transparent 80%)}}
@media(max-width:1100px){.collage-caption{inset:auto 23px 23px}.collage-project-name{font-size:25px}}
@media(max-width:760px){.image-frame>img{clip-path:polygon(0 0,calc(72% - 21px) 0,72% 12.994px,calc(72% + 21px) 0,100% 0,100% 100%,0 100%)}.selected-work{padding-top:55px}.project-index{padding-bottom:50px}.project-index .page-head h1{font-size:11vw}.project-index .filter-bar{margin-bottom:25px}.project-collage{margin:0 3vw}.collage-group{height:clamp(500px,135vw,680px)}.collage-group.count-1{height:360px}.collage-group.count-2{height:520px}.collage-caption{inset:auto 16px 18px;gap:8px;opacity:1;transform:none}.collage-project-name{font-size:20px;line-height:1.12}.collage-project-action{font-size:12px}.collage-shade{opacity:1;background:linear-gradient(0deg,rgba(12,22,45,.82),transparent 85%)}.collage-tile:first-child .collage-project-name{font-size:28px}.process-accordion summary{grid-template-columns:1fr 20px;gap:15px}.process-accordion details>div{padding-left:0}.story-chapters section{grid-template-columns:1fr;gap:0}.step{grid-template-columns:1fr;gap:20px}.step p{grid-column:1}.phase-navigation a{gap:0}}
@media(prefers-reduced-motion:reduce){.collage-caption,.collage-shade{transition:none;transform:none}}

/* Concept 05 — persistent project labels, clear routes and enquiry */
nav{gap:24px}.header-inner{gap:24px}.header-caption{margin-left:0}.hero-bottom>p{max-width:510px;font-size:clamp(17px,1.6vw,23px);line-height:1.45}.hero-bottom{align-items:flex-end}
.collage-caption,.collage-shade{opacity:1;transform:none}.collage-shade{background:linear-gradient(0deg,rgba(10,18,37,.94),rgba(10,18,37,.45) 30%,transparent 65%)}.collage-caption{gap:6px}.collage-project-type{font-size:14px;line-height:1.4;letter-spacing:.02em;color:white}.collage-project-action{font-size:12px;margin-top:4px}.collage-tile:hover .collage-shade{background:linear-gradient(0deg,rgba(10,18,37,.97),rgba(10,18,37,.30) 60%,transparent)}
.environment-filters{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 30px}.environment-filters button,#reset-projects{border:1px solid var(--ink);background:transparent;padding:10px 17px;font-size:14px;min-height:44px}.environment-filters button[aria-pressed=true]{background:var(--ink);color:white}.environment-filters button:hover{background:white;color:var(--ink)}.environment-filters button[aria-pressed=true]:hover{background:var(--ink);color:white}
.question-heading{margin-bottom:50px;font-size:clamp(36px,4.5vw,68px)}.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 65px}.question-grid article{padding:32px 0 36px;border-top:1px solid var(--ink);display:flex;align-items:flex-start;flex-direction:column}.question-grid h3{font-size:clamp(25px,2.5vw,37px);line-height:1.13;max-width:24ch;letter-spacing:-.035em;margin-bottom:20px}.question-grid p{margin-bottom:25px}.question-grid .text-link{margin-top:auto}.question-grid .eyebrow{margin-bottom:16px}
.route-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:7vw;align-items:center}.route-feature h2{font-size:clamp(35px,4vw,62px);margin-bottom:24px}.route-feature p{margin-bottom:28px}.route-feature img{aspect-ratio:1.18;object-fit:cover}.route-cta{display:flex;justify-content:space-between;align-items:center;gap:50px}.route-cta h2{font-size:clamp(32px,4vw,60px);max-width:20ch;margin-bottom:24px}.route-cta .button{flex-shrink:0}.route-cta p{max-width:58ch}
.project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin:45px 0 0}.project-facts>div{border-top:1px solid var(--ink);padding:18px 0 25px}.project-facts dt{font-size:12px;text-transform:none;letter-spacing:.07em;margin-bottom:8px}.project-facts dd{margin:0;font-size:19px;line-height:1.4}.case-introduction{max-width:65ch;margin-top:25px;font-size:19px}.story-images{display:grid;grid-template-columns:1fr 1fr;gap:35px}.story-images img{aspect-ratio:1.4;object-fit:cover}.story-images figcaption{font-size:14px;line-height:1.5;max-width:55ch;margin-top:16px}.story-chapters h2{font-size:clamp(28px,3vw,44px);line-height:1.12}.story-chapters p{margin-top:20px}
.faq-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:7vw}.faq-layout h2{font-size:clamp(34px,4vw,60px)}.faq-list details{border-top:1px solid var(--ink)}.faq-list details:last-child{border-bottom:1px solid var(--ink)}.faq-list summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:23px 0;font-size:20px;line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{flex-shrink:0}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 35px 28px 0;font-size:17px;line-height:1.65}
.enquiry-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:9vw;align-items:start}.enquiry-layout>div>h2{font-size:clamp(36px,4vw,62px);margin-bottom:30px}.enquiry-layout .contact-block{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.enquiry-form{background:var(--ice);padding:38px}.enquiry-form h2{font-size:32px;letter-spacing:-.04em;margin-bottom:20px}.enquiry-form>p{font-size:15px;margin-bottom:24px}.enquiry-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin-bottom:18px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;min-width:0;border:1px solid var(--ink);border-radius:0;background:#fff;padding:12px;color:var(--ink);font:inherit;font-size:16px}.enquiry-form textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiry-form .form-note{font-size:12px;line-height:1.6}.enquiry-form .form-note a{text-decoration:underline}.enquiry-form button{border:1px solid var(--ink);cursor:pointer}.enquiry-form #enquiry-status{margin:22px 0 0}.enquiry-form #enquiry-fallback{margin-top:22px}textarea:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
@media(max-width:1250px){.header-caption{display:none}}
@media(max-width:900px){.question-grid{gap:0 35px}.enquiry-layout{gap:35px}.enquiry-form{padding:25px}.route-cta{align-items:flex-start;flex-direction:column}.faq-layout{gap:35px}.header-inner{gap:20px}nav{gap:18px}}
@media(max-width:760px){.hero-bottom>p{font-size:17px;max-width:34ch}.question-grid,.route-feature,.story-images,.faq-layout,.enquiry-layout{grid-template-columns:1fr}.question-grid{gap:0}.question-heading{margin-bottom:35px}.question-grid h3{font-size:28px}.route-feature{gap:35px}.project-facts{grid-template-columns:1fr 1fr;gap:0 22px}.project-facts dd{font-size:16px}.story-images{gap:35px}.case-introduction{font-size:17px}.collage-project-type{font-size:12px}.collage-caption{gap:5px}.collage-project-name{font-size:19px}.collage-project-action{font-size:11px}.faq-list summary{font-size:18px}.enquiry-form{padding:23px}.enquiry-form h2{font-size:28px}.form-pair{grid-template-columns:1fr;gap:0}.environment-filters{gap:8px}.environment-filters button{font-size:13px;padding:9px 12px}.route-cta{gap:28px}.project-index .filter-bar{flex-wrap:wrap}.project-index .filter-bar label{max-width:100%}.project-index .filter-bar input{max-width:100%}}

/* Concept 06 — shared typography and alignment, presentation only. */
@font-face{font-family:'Cal Sans';src:url('assets/fonts/CalSansVF.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
:root{--body:'Cal Sans','Helvetica Neue',Helvetica,Arial,sans-serif;--display:'Cal Sans','Helvetica Neue',Helvetica,Arial,sans-serif;--gutter:clamp(24px,5vw,88px);--column-gap:clamp(32px,5vw,80px)}
body{font-weight:400;font-optical-sizing:auto;line-height:1.6}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.025em;line-height:1.12;text-wrap:balance;font-synthesis:none}
h1,h2 strong{font-family:var(--display);font-weight:600}
p{line-height:1.65;text-wrap:pretty}
.headline-light,.hero-content h1 .hero-light{font-family:var(--body);font-weight:400;letter-spacing:-.02em}
.container{max-width:1600px}
.section{padding:clamp(60px,7vw,104px) 0}
.section-label{margin-bottom:48px}
.intro-editorial,.intro-grid,.process-layout,.case-story,.article,.phases-layout,.careers-intro,.faq-layout,.enquiry-layout,.route-feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--column-gap);align-items:start}
.intro-editorial>* ,.intro-grid>* ,.case-story>* ,.article>* ,.enquiry-layout>*{min-width:0}
.intro-note{padding:0;max-width:60ch;font-size:18px}
.intro-note .triangle-mark{display:none}
.intro-editorial h2{font-size:clamp(36px,4.25vw,64px);line-height:1.12;letter-spacing:-.025em;font-weight:400}
.intro-editorial h2 strong{letter-spacing:-.025em;font-weight:600}
.intro-grid h2,.process-intro h2,.faq-layout h2{font-size:clamp(34px,4.1vw,62px);line-height:1.13;letter-spacing:-.025em}
.page-head,.project-opening{padding:56px 0 64px}
.page-head-meta{margin-bottom:42px}
.page-head h1{font-size:clamp(44px,6vw,90px);line-height:1.08;letter-spacing:-.025em;max-width:1150px}
.page-head>div>p{margin:28px 0 0;padding:0;max-width:62ch;font-size:20px;line-height:1.6}
.project-opening h1{font-size:clamp(44px,6.5vw,96px);line-height:1.08;letter-spacing:-.025em;max-width:1150px;overflow-wrap:anywhere}
.project-opening .container{padding-top:12px;padding-bottom:10px}
.project-deck{margin-top:24px;font-size:clamp(23px,2.4vw,34px);line-height:1.35;letter-spacing:-.015em}
.case-introduction{margin-top:20px;max-width:65ch}
.case-story aside{max-width:40ch;font-size:20px;letter-spacing:0}
.story-chapters section{display:block;padding:28px 0 36px}
.story-chapters section:first-child{padding-top:0;border-top:0}
.story-chapters h2{font-size:clamp(28px,2.8vw,40px);line-height:1.15;letter-spacing:-.025em}
.story-chapters p{margin-top:18px}
.article-body h2{font-size:clamp(28px,2.8vw,40px);line-height:1.15;letter-spacing:-.025em}
.article-body p,.story-chapters p,.phase-story>p{max-width:64ch}
.case-info,.case-02 .case-info,.case-03 .case-info{display:block;padding-top:24px}
.case-info>p,.case-02 .case-info>p,.case-03 .case-info>p{padding-top:0;margin-top:16px;max-width:60ch}
.case-info h3{font-size:clamp(27px,2.5vw,37px);line-height:1.16;letter-spacing:-.025em}
.selected-heading{align-items:start;gap:var(--column-gap)}
.selected-heading>p{padding-top:8px}
.collage-caption{inset:auto clamp(34px,3.5vw,60px) clamp(34px,3.5vw,56px);gap:8px}
.collage-project-name{font-family:var(--display);font-size:clamp(25px,2.6vw,40px);font-weight:600;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}
.collage-project-type{font-size:14px;line-height:1.4}
.collage-shade{background:linear-gradient(0deg,rgba(10,18,37,.96),rgba(10,18,37,.52) 36%,transparent 75%)}
/* Sentence case for name-bearing components; source copy remains intact. */
.collage-project-name,.card-caption h3,.case-info .eyebrow,.project-opening h1,.page-head:has(.back-link[href='/projecten/']) h1,.next-project h2 a,#hero-project-name,.hero-selector span{display:block;text-transform:none}
.collage-project-name::first-letter,.card-caption h3::first-letter,.case-info .eyebrow::first-letter,.project-opening h1::first-letter,.page-head:has(.back-link[href='/projecten/']) h1::first-letter,.next-project h2 a::first-letter,#hero-project-name::first-letter,.hero-selector span::first-letter{text-transform:none}
.phase-story,.phase-parts,.vacancy-section{scroll-margin-top:32px}
.phase-top h2{font-size:clamp(28px,2.8vw,40px);letter-spacing:-.025em}
.vacancy-layout{gap:var(--column-gap)}
.question-grid,.story-images,.project-gallery,.two-images,.gallery{column-gap:var(--column-gap)}
.question-grid h3{font-weight:600;letter-spacing:-.02em}
.process-accordion summary{font-family:var(--display);font-weight:600;letter-spacing:-.02em}
.enquiry-form h2,.enquiry-layout>div>h2{letter-spacing:-.025em}
.hero-content h1{font-weight:600;letter-spacing:-.025em}
.coffee-link{font-family:var(--display);font-weight:600;letter-spacing:-.035em}
@media(max-width:1100px){nav{gap:18px}.header-inner{gap:20px}.logo{width:200px}.collage-project-name{font-size:28px}.collage-caption{inset:auto 34px 34px}}
@media(max-width:760px){
 :root{--gutter:24px;--column-gap:32px}
 .section{padding:58px 0}.section-label{margin-bottom:34px}
 .intro-editorial,.intro-grid,.process-layout,.case-story,.article,.phases-layout,.careers-intro,.faq-layout,.enquiry-layout,.route-feature{grid-template-columns:minmax(0,1fr);gap:32px}
 .intro-note{padding:0;font-size:17px}.intro-editorial h2{font-size:clamp(32px,8.8vw,48px)}
 .page-head,.project-opening{padding:32px 0 42px}.page-head-meta{margin-bottom:30px}
 .page-head h1,.project-opening h1{font-size:clamp(36px,9.5vw,66px);line-height:1.1;letter-spacing:-.025em}
 .page-head>div>p{margin:22px 0 0;font-size:17px}.project-opening .container{padding-top:4px;padding-bottom:4px}
 .project-deck{font-size:23px}.case-introduction{font-size:17px}.case-story aside{font-size:18px}
 .intro-grid h2,.process-intro h2,.faq-layout h2{font-size:36px}
 .story-chapters h2,.article-body h2{font-size:29px}.case-info h3{font-size:28px}
 .collage-caption{inset:auto 24px 28px;gap:6px}.collage-project-name{font-size:20px;line-height:1.2;overflow-wrap:anywhere}.collage-tile:first-child .collage-project-name{font-size:28px}.collage-project-type{font-size:12px}
 .project-index .page-head h1{font-size:clamp(36px,9.5vw,66px)}
 .selected-heading>p{padding-top:0}.story-images,.project-gallery,.two-images,.gallery{gap:28px}
 .page-head h1.vacancy-title{font-size:clamp(32px,8.5vw,52px)}
 .coffee-link{font-size:22vw}.hero-content h1{letter-spacing:-.025em}
}

/* Concept 07 — original supplied Rotunda family and people at work. */
:root{--body:'Cal Sans','Helvetica Neue',Helvetica,Arial,sans-serif;--display:'Cal Sans','Helvetica Neue',Helvetica,Arial,sans-serif}
body{font-weight:400;font-optical-sizing:auto;font-synthesis:none}
h1,h2,h3,h4,h2 strong,.collage-project-name{font-weight:600}
.headline-light,.hero-content h1 .hero-light,.intro-editorial h2{font-family:var(--body);font-weight:400}
.intro-editorial h2 strong,.hero-content h1,.coffee-link{font-weight:600}
.eyebrow,.section-label,.hero-kicker,nav,.button,.text-link,.coffee-action,.enquiry-form label{font-weight:600}
input,textarea,select,button{font-family:var(--body)}
.process-opening-photo{margin-bottom:20px}
.process-opening-photo img{width:100%;height:auto;aspect-ratio:16/9;object-position:50% 42%}
.process-detail-photo{margin:32px 0 4px}
.process-detail-photo img{aspect-ratio:3/2;object-fit:cover;height:auto}
.process-detail-photo figcaption{margin-top:14px;font-size:14px;line-height:1.5;max-width:55ch}
.people-section{background:var(--ice)}
.people-section h2{font-size:clamp(36px,4.5vw,68px);margin-bottom:48px}
.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 28px}
.person-card{min-width:0}
.person-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}
.person-card figcaption{padding-top:20px}
.person-card h3{font-size:26px;line-height:1.2;letter-spacing:-.02em;margin:0 0 8px;font-weight:600}
.person-card p{font-size:15px;line-height:1.4;font-weight:400;max-width:25ch}
.people-section+.two-images{padding-top:60px}
@media(max-width:1100px){.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}}
@media(max-width:760px){.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.people-section h2{font-size:36px;margin-bottom:32px}.person-card figcaption{padding-top:14px}.person-card h3{font-size:22px}.person-card p{font-size:13px}.process-opening-photo img{aspect-ratio:3/2;object-fit:contain}.process-detail-photo{margin-top:26px}.process-detail-photo figcaption{font-size:13px}.people-section+.two-images{padding-top:40px}}

/* Concept 08 — one bold weight, consistent headline casing. */
/* The weight used by the selected-work statement is Rotunda Black (900). */
strong,b{font-weight:600}
h2,h3,h4{text-transform:none}
h2::first-letter,h3::first-letter,h4::first-letter{text-transform:none}
/* Main statements: uppercase emphasis paired with a light, sentence-case lead. */
.hero-content h1,.page-head h1,.selected-heading h2,.process-intro h2,.question-heading,.people-section>div>h2,.intro-editorial h2 strong,.studio-copy h2,.coffee-link{text-transform:none}
.headline-light,.hero-content h1 .hero-light{text-transform:none;font-weight:400}
/* Project and vacancy titles are names, not uppercase statements. */
.project-opening h1,.page-head:has(.back-link[href='/projecten/']) h1,.page-head h1.vacancy-title,.next-project h2 a,.card-caption h3,.collage-project-name{display:block;text-transform:none}
.project-opening h1::first-letter,.page-head:has(.back-link[href='/projecten/']) h1::first-letter,.page-head h1.vacancy-title::first-letter,.next-project h2 a::first-letter,.card-caption h3::first-letter,.collage-project-name::first-letter{text-transform:none}
/* Small labels follow the same uppercase convention. */
.eyebrow,.section-label>span,.hero-kicker,.project-facts dt{text-transform:none}
.case-info .eyebrow{text-transform:none}
.case-info .eyebrow::first-letter{text-transform:none}

/* Temporary licensed web family while Rotunda web rights are unconfirmed. */
.hero-content h1,.selected-heading h2,.process-intro h2,.question-heading,.coffee-link,.people-section>div>h2{font-weight:700}
.headline-light,.hero-content h1 .hero-light{font-weight:400}
h1,h2,h3,h4,strong,b,.collage-project-name,nav,.button,.text-link,.coffee-action{font-weight:600}
.hero-content h1,.selected-heading h2,.process-intro h2,.question-heading,.coffee-link,.people-section>div>h2{font-weight:700}

/* Concept 10 — expressive openings and a horizontal process sequence. */
@font-face{font-family:'Rotunda';src:url('assets/fonts/Rotunda-Light.otf') format('opentype');font-weight:300 400;font-style:normal;font-display:swap}
@font-face{font-family:'Rotunda';src:url('assets/fonts/Rotunda-Bold.otf') format('opentype');font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:'Rotunda';src:url('assets/fonts/Rotunda-Black.otf') format('opentype');font-weight:900;font-style:normal;font-display:swap}
:root{--body:'Rotunda','Helvetica Neue',Helvetica,Arial,sans-serif;--display:'Rotunda','Helvetica Neue',Helvetica,Arial,sans-serif}
body{font-weight:300}
h1,h2,h3,h4,strong,b,.collage-project-name,nav,.button,.text-link,.coffee-action{font-weight:600}
.hero-content h1,.selected-heading h2,.process-intro h2,.question-heading,.coffee-link,.people-statement,.people-section>div>h2{font-weight:900}
.headline-light,.hero-content h1 .hero-light{font-weight:300}
.project-header{background:var(--ink);color:white;padding:38px 0 54px;position:relative;overflow:hidden}
.project-header-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff50;padding-top:20px;gap:20px}
.project-header-top .eyebrow{margin:0;color:var(--ice)}
.project-header-top>a{font-size:14px;color:var(--ice);text-underline-offset:6px}
.project-header-top>a:hover{text-decoration:underline}
.project-header-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.65fr);align-items:end;gap:6vw;padding:54px 0 48px}
.project-header h1{font-size:clamp(72px,7.4vw,128px);line-height:1.05;letter-spacing:-.025em;font-weight:900;text-transform:none;margin:0;max-width:none}
.project-header h1 .hero-light{font-size:.61em;line-height:1.18;font-weight:300;text-transform:none;color:white}
.project-header-note{padding-bottom:6px;max-width:29ch;font-size:18px;line-height:1.6}
.project-header-note p+p{margin-top:14px;color:var(--ice)}
.project-header-note .text-link{color:var(--orange);margin-top:24px}
.project-header-line{height:5px;width:100%;background:var(--orange)}
.project-index>.container{padding-top:28px}
#project-keuze{scroll-margin-top:30px}
.people-statement .accent{color:var(--orange)}
/* Visible adjacent panel edge invites browsing without capturing the page scroll. */
.process-carousel{background:var(--ice);padding:42px 0 30px;overflow:hidden}
.process-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:30px}
.process-tabs{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.process-tabs a{font-size:17px;font-weight:600;padding:12px 0;border-bottom:3px solid transparent;line-height:1.35}
.process-tabs a[aria-current=step]{border-bottom-color:var(--ink)}
.process-tabs a:hover{border-bottom-color:var(--orange)}
.process-arrows{display:flex;gap:10px;flex-shrink:0}
.process-arrows button{width:50px;height:50px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:25px;line-height:1}
.process-arrows button:hover:not(:disabled){background:var(--orange);color:var(--ink)}
.process-arrows button:disabled{opacity:.3;cursor:default}
.process-track{position:relative;display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding:0 var(--gutter) 18px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ink) var(--ice);align-items:stretch}
.process-track:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.process-panel{flex:0 0 min(1320px,calc(100vw - 2 * var(--gutter) - 42px));min-width:0;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);background:white;border:1px solid var(--ink);scroll-snap-align:start;scroll-snap-stop:normal;scroll-margin-top:24px}
.process-panel-photo{position:relative;min-height:540px}
.process-panel-photo .image-frame{height:100%}
.process-panel-photo .image-frame img{height:100%;min-height:540px;object-fit:cover;object-position:50% 45%}
.process-panel-copy{padding:clamp(26px,3vw,46px);min-width:0}
.process-panel-copy .phase-top{margin:0 0 22px;display:block}
.process-panel-copy .phase-top h2{font-size:clamp(28px,3vw,44px);font-weight:600;line-height:1.12;text-transform:none}
.process-panel-copy>h3{font-size:21px;line-height:1.3;margin:0 0 18px}
.process-panel-copy>p{font-size:17px;line-height:1.6;max-width:60ch}
.process-panel-copy .phase-parts{margin-top:28px;gap:20px}
.process-panel-copy .phase-parts h4{font-size:16px;margin:0 0 6px;letter-spacing:0;text-transform:none}
.process-panel-copy .phase-parts p{font-size:15px;line-height:1.5}
.process-track-footer{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:13px}
.process-current{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1700px){.process-track{padding-left:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)));scroll-padding-left:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)))}}
@media(max-width:1000px){.project-header-grid{grid-template-columns:minmax(0,1.4fr) minmax(200px,.7fr);gap:30px}.project-header h1{font-size:9vw}.project-header-note{font-size:16px}.process-panel{grid-template-columns:.8fr 1.2fr}.process-panel-copy{padding:28px}.process-tabs{gap:18px}.process-tabs a{font-size:15px}}
@media(max-width:760px){
 .project-header{padding:26px 0 32px}.project-header-grid{grid-template-columns:1fr;gap:26px;padding:38px 0 32px}.project-header h1{font-size:16.5vw;line-height:1.09}.project-header h1 .hero-light{font-size:.51em}.project-header-note{max-width:42ch;font-size:16px}.project-header-note .text-link{margin-top:16px}.project-header-top>a{font-size:12px}.project-header-top .eyebrow{font-size:12px}
 .process-carousel{padding:26px 0 24px}.process-toolbar{align-items:start;gap:14px;margin-bottom:22px;flex-wrap:wrap}.process-tabs{gap:16px;flex-wrap:nowrap;width:100%;justify-content:space-between}.process-tabs a{font-size:13px;padding:10px 0}.process-arrows{margin-left:auto}.process-arrows button{width:42px;height:42px;font-size:23px}
 .process-track{gap:16px;padding-bottom:16px}.process-panel{flex-basis:calc(100vw - 2 * var(--gutter));grid-template-columns:1fr;align-content:start}
 .process-panel-photo{min-height:0}.process-panel-photo .image-frame{height:auto}.process-panel-photo .image-frame img{min-height:0;height:auto;aspect-ratio:3/2;object-fit:cover}
 .process-panel-copy{padding:26px 22px 30px}.process-panel-copy .phase-top h2{font-size:29px}.process-panel-copy>h3{font-size:20px}.process-panel-copy>p{font-size:16px}.process-panel-copy .phase-parts{margin-top:24px;gap:18px}.process-panel-copy .phase-parts p{font-size:14px}.process-track-footer{font-size:11px;gap:12px}.process-track-footer>span:first-child{display:none}.process-instruction{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.process-track{scroll-behavior:auto}}
@media print{.process-track{display:block;overflow:visible}.process-panel{break-inside:avoid;margin-bottom:24px}.process-toolbar,.process-track-footer{display:none}}

/* Concept 12 — usability review: navigation, focus, motion and frame alignment. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 6px white}
.text-link:hover{opacity:1}
.menu-toggle,.environment-filters button,.process-tabs a,.process-arrows button{min-height:44px}
.process-tabs a{display:inline-flex;align-items:center}
.editorial-image:hover .image-frame img,.card:hover .image-frame img{transform:none}
.process-track{scroll-behavior:auto}
.process-track::after{content:'';flex:0 0 42px}
.process-panel{scroll-margin-top:24px}
.process-instruction{font-size:13px}
@media(min-width:761px) and (max-width:1100px){
 .header-inner{height:82px}.header-caption{display:none}.menu-toggle{display:flex;align-items:center;gap:16px;margin-left:auto;padding:10px 0;background:none;border:0;font-size:15px}
 .site-header nav{display:none;position:absolute;top:82px;left:0;right:0;margin:0;padding:20px var(--gutter) 28px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}
 .site-header nav.open{display:flex}.site-header nav a{min-height:48px}.site-header nav .contact{margin-top:10px;text-align:center}
}
@media(max-width:760px){.process-track::after{display:none}.process-tabs{gap:10px}.process-tabs a{font-size:14px}.process-panel-copy .phase-parts p{font-size:16px}.process-panel-copy .phase-parts h4{font-size:17px}.process-arrows button{min-width:44px}.menu-toggle{min-width:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-enabled [data-reveal]{opacity:1;transform:none}}

/* Concept 13 — compact navigation as a disciplined two-column brand grid. */
@media(max-width:1100px){
 .site-header .header-inner{height:82px;gap:16px}
 .site-header .menu-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;margin-left:auto;padding:0 0 0 14px;min-width:112px;min-height:44px;border:1px solid var(--ink);background:white;font-size:14px;font-weight:600;line-height:1;color:var(--ink)}
 .menu-toggle>span{display:grid;place-items:center;align-self:stretch;width:43px;background:var(--ink);color:white;font-size:25px;font-weight:300;border-left:1px solid var(--ink)}
 .site-header .menu-toggle[aria-expanded=true]{background:var(--ice)}
 .menu-toggle[aria-expanded=true]>span{background:var(--orange);color:var(--ink)}
 .site-header #navigation{display:none;position:absolute;top:82px;left:0;right:0;margin:0;padding:26px var(--gutter) 32px;background:var(--ice);color:var(--ink);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .site-header #navigation.open{display:grid}
 #navigation::before{content:'Ontdek Vormgenoten';grid-column:1/-1;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:none;line-height:1.4;padding-bottom:20px}
 .site-header #navigation>a{display:flex;align-items:center;position:relative;min-width:0;min-height:112px;margin:0;padding:24px 54px 24px 24px;border:0;border-top:1px solid var(--ink);border-radius:0;font-size:clamp(25px,3.5vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.12;text-align:left;transition:background .18s}
 .site-header #navigation>a:nth-child(odd):not(.contact){border-right:1px solid var(--ink)}
 .site-header #navigation>a:nth-child(even){padding-left:28px}
 .site-header #navigation>a::after{content:'↗';position:absolute;left:auto;right:22px;top:50%;bottom:auto;transform:translateY(-50%);height:auto;width:auto;background:none;font-size:23px;line-height:1;color:var(--ink);transition:none}
 .site-header #navigation>a[aria-current=page]{background:#fff}
 .site-header #navigation>a[aria-current=page]::before{content:'';position:absolute;left:10px;top:50%;width:6px;height:6px;transform:translateY(-50%);background:var(--orange);border-radius:50%}
 .site-header #navigation>a:hover{background:white;color:var(--ink)}
 .site-header #navigation>a:focus-visible{outline:3px solid var(--ink);outline-offset:-5px;box-shadow:none;background:white}
 .site-header #navigation>a.contact{grid-column:1/-1;min-height:82px;padding:22px 58px 22px 24px;background:var(--orange);border-bottom:1px solid var(--ink);font-size:clamp(25px,3vw,32px)}
 .site-header #navigation>a.contact:hover,.site-header #navigation>a.contact:focus-visible{background:var(--ink);color:white}
 .site-header #navigation>a.contact:hover::after,.site-header #navigation>a.contact:focus-visible::after{color:white}
}
@media(max-width:480px){
 .site-header .logo{width:min(48vw,190px)}
 .site-header #navigation{padding-top:22px;padding-bottom:24px}
 .site-header #navigation>a{font-size:clamp(20px,5.5vw,26px);min-height:104px;padding:22px 28px 22px 14px;overflow-wrap:normal}
 .site-header #navigation>a:nth-child(even){padding-left:16px}
 .site-header #navigation>a::after{right:10px;font-size:17px}
 .site-header #navigation>a[aria-current=page]::before{left:5px;width:4px;height:4px}
 .site-header #navigation>a.contact{min-height:76px;padding-left:14px;font-size:25px}
}
@media(max-width:359px){.site-header #navigation>a{font-size:19px;padding-right:22px}.site-header #navigation>a::after{right:7px;font-size:15px}.site-header .menu-toggle{min-width:104px;gap:10px}}
@media(max-width:480px){.site-header #navigation>a:not(.contact){font-size:clamp(18px,5vw,24px)}}

/* Concept 14 — daylight photography, compact labels and editorial pauses. */
.project-header{background:white;color:var(--ink)}
.project-header-top{border-color:var(--line)}
.project-header-top .eyebrow,.project-header-top>a,.project-header h1 .hero-light,.project-header-note p+p,.project-header-note .text-link{color:var(--ink)}
.project-header-grid{padding-bottom:12px}
.collage-tile .collage-shade,.collage-tile:hover .collage-shade{display:none}
.collage-tile .collage-caption{inset:auto auto 26px 26px;width:fit-content;max-width:calc(100% - 52px);padding:12px 16px;background:white;color:var(--ink);gap:3px;opacity:1;transform:none}
.collage-tile .collage-project-name,.collage-tile:first-child .collage-project-name{font-size:clamp(18px,1.5vw,24px);line-height:1.2;text-align:left;text-wrap:pretty;font-weight:600}
.collage-tile .collage-project-type{font-size:12px;color:var(--ink);line-height:1.4}
.collage-tile .collage-project-action{display:none}
.collage-outline path{stroke-width:3}
.collage-tile:focus-visible .collage-outline path{stroke:var(--ink);stroke-width:7}
.collage-tile:focus-visible .collage-caption{background:var(--ice)}
.collage-note{background:var(--ice);color:var(--ink)}
.collage-note.note-white{background:white}
.collage-note-copy{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,4vw,64px);gap:20px}
.note-kicker{font-size:11px;text-transform:none;letter-spacing:.07em;font-weight:600}
.collage-note-copy>p{font-size:clamp(28px,3.2vw,48px);line-height:1.12;letter-spacing:-.025em;font-weight:600}
.note-link{display:flex;gap:24px;align-items:center;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:7px;margin-top:8px}
.collage-note:hover .note-link,.collage-note:focus-visible .note-link{border-bottom-width:2px}
@media(max-width:760px){
 .collage-tile .collage-caption{left:18px;bottom:18px;max-width:calc(100% - 36px);padding:9px 12px}
 .collage-tile .collage-project-name,.collage-tile:first-child .collage-project-name{font-size:18px}
 .collage-tile .collage-project-type{font-size:11px}
 .collage-note-copy{padding:28px;gap:12px}.collage-note-copy>p{font-size:clamp(27px,7vw,38px)}.note-link{font-size:13px;margin-top:4px}
}
/* Compact menu: navy and white carry the composition; colour is a small accent. */
@media(max-width:1100px){
 .site-header #navigation{background:var(--ink);color:white;border-color:var(--ink)}
 .site-header #navigation>a,.site-header #navigation>a:nth-child(odd):not(.contact){border-color:#ffffff55}
 .site-header #navigation>a{color:white}
 .site-header #navigation>a::after{color:white}
 .site-header #navigation>a:hover,.site-header #navigation>a[aria-current=page],.site-header #navigation>a:focus-visible{background:white;color:var(--ink)}
 .site-header #navigation>a:hover::after,.site-header #navigation>a[aria-current=page]::after,.site-header #navigation>a:focus-visible::after{color:var(--ink)}
 .site-header #navigation>a.contact{background:white;color:var(--ink);border-color:white}
 .site-header #navigation>a.contact::after{color:var(--ink)}
 .site-header #navigation>a.contact:hover,.site-header #navigation>a.contact:focus-visible{background:var(--ice);color:var(--ink)}
 .site-header #navigation>a.contact:hover::after,.site-header #navigation>a.contact:focus-visible::after{color:var(--ink)}
 .site-header .menu-toggle[aria-expanded=true]{background:white}
 .menu-toggle[aria-expanded=true]>span{background:var(--ink);color:white}
}
@media(max-width:760px){.collage-note-copy{padding:22px;gap:12px}.collage-note-copy>p{font-size:24px}.note-link{gap:10px;max-width:100%}}

/* Concept 15 — quieter project details and an image-led home opening. */
.collage-outline path{stroke-width:1.5}
.collage-tile .collage-caption{left:1px;bottom:1px;max-width:calc(100% - 2px);padding:12px 18px}
.hero-stage{background:white;color:var(--ink)}
.hero-stage .hero-images{left:46%;right:0;top:0;bottom:66px;width:54%;height:calc(100% - 66px)}
.hero-stage .hero-shade{display:none}
.hero-stage .hero-content{min-height:530px;height:clamp(530px,65vh,720px);max-height:720px;padding-top:55px;padding-bottom:65px;justify-content:center}
.hero-stage .hero-kicker{font-size:12px;margin-bottom:25px;max-width:40%}
.hero-stage .hero-content h1{font-size:clamp(56px,6.8vw,110px);line-height:1.04;width:43%;letter-spacing:-.03em;text-shadow:none}
.hero-stage .hero-content h1 .hero-light{font-size:.53em;color:var(--ink)}
.hero-stage .hero-bottom{margin-top:24px;padding-top:0;display:block}
.hero-stage .hero-bottom>p{font-size:17px;line-height:1.5;max-width:30ch;width:38%}
.hero-stage .hero-project{position:absolute;right:0;bottom:0;min-width:260px;background:white;color:var(--ink);padding:18px 26px;border:0;gap:4px 24px}
.hero-stage .hero-project-number{display:none}
.hero-stage #hero-project-name{font-size:21px}
.hero-stage .hero-controls{background:white;color:var(--ink);border-bottom:1px solid var(--line)}
.hero-stage .hero-controls:before{display:none}
.hero-stage .hero-selector,.hero-stage .hero-controls-label{color:var(--ink)}
.hero-stage .hero-selector.active{border-color:var(--ink)}
.hero-stage .hero-controls-inner{gap:24px}
.hero-stage .hero-controls [role=group]{gap:24px}
#ons-werk{padding:65px 0 80px;scroll-margin-top:24px}
#ons-werk .section-label{margin-bottom:30px}
#ons-werk .selected-heading{margin:0 0 32px;align-items:center}
#ons-werk .selected-heading h2{font-size:clamp(42px,5vw,76px)}
#ons-werk .selected-heading>p{display:none}
#ons-werk .editorial-projects{grid-template-columns:1.15fr 1fr 1fr;gap:28px}
#ons-werk .editorial-case{grid-column:auto;margin-top:0}
#ons-werk .editorial-image img{aspect-ratio:4/5}
#ons-werk .case-info{display:block;padding-top:18px}
#ons-werk .case-info h3{font-size:20px;line-height:1.25}
#ons-werk .case-info>p{display:none}
#ons-werk .case-info .eyebrow{font-size:14px;margin-bottom:8px}
.home-routes{background:var(--ice);padding:64px 0}
.home-routes>.container{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;align-items:center}
.home-routes h2{font-size:clamp(34px,4vw,56px);line-height:1.1;text-transform:none}
.home-route-links{display:grid;grid-template-columns:1fr 1fr}
.home-route-links a{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:80px;border-top:1px solid var(--ink);padding:18px 0;font-size:20px;font-weight:600}
.home-route-links a:nth-child(odd){margin-right:30px}
.home-route-links a:hover{text-decoration:underline;text-underline-offset:5px}
.project-more-photos{padding:65px 0 85px}
.project-more-photos .section-label{margin-bottom:30px}
.extra-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.extra-photo-grid .image-frame:nth-child(3n+1){grid-column:1/-1}
.extra-photo-grid img{height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){
 .hero-stage{display:grid;grid-template-columns:1fr}
 .hero-stage .hero-content{grid-row:1;position:static;min-height:0;height:auto;max-height:none;padding-top:35px;padding-bottom:32px}
 .hero-stage .hero-content h1{font-size:16vw;width:100%;max-width:none}
 .hero-stage .hero-kicker{max-width:none;margin-bottom:18px;font-size:11px}
 .hero-stage .hero-bottom{margin-top:18px}.hero-stage .hero-bottom>p{width:100%;max-width:34ch;font-size:16px}
 .hero-stage .hero-images{grid-row:2;position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;height:360px}
 .hero-stage .hero-project{bottom:66px;right:0;z-index:3;min-width:0;padding:12px 18px}.hero-stage #hero-project-name{font-size:18px}.hero-stage .hero-project-action{font-size:12px}
 .hero-stage .hero-controls{grid-row:3;height:66px}.hero-stage .hero-controls-inner{gap:12px}.hero-stage .hero-controls [role=group]{gap:22px}.hero-stage .hero-controls-label{display:none}.hero-stage .scroll-label{font-size:12px}
 #ons-werk{padding:42px 0 50px}#ons-werk .selected-heading h2{font-size:46px}#ons-werk .editorial-projects{grid-template-columns:1fr;gap:32px}#ons-werk .editorial-image img{aspect-ratio:4/3}
 .home-routes{padding:40px 0}.home-routes>.container{grid-template-columns:1fr;gap:28px}.home-route-links a{font-size:17px;min-height:70px}.home-route-links a:nth-child(odd){margin-right:20px}
 .extra-photo-grid{gap:18px;grid-template-columns:1fr}.extra-photo-grid .image-frame:nth-child(3n+1){grid-column:auto}.project-more-photos{padding:40px 0 50px}
}

/* Concept 16 — one line system, restrained editorial blocks, image-led home. */
:root{--photo-line:1.5px}
.image-outline path,.collage-outline path{stroke-width:var(--photo-line);stroke:var(--ink)}
.collage-note.note-white{background:white;color:var(--ink)}
.collage-note.note-navy{background:var(--ink);color:white}
.collage-note .accent{color:var(--orange)}
.collage-note-copy>p{font-weight:600}
.collage-tile .collage-caption{left:0;right:0;bottom:0;width:100%;max-width:none;min-height:66px;padding:12px 20px;background:white;color:var(--ink);display:flex;justify-content:center;gap:3px}
.collage-tile .collage-project-name,.collage-tile:first-child .collage-project-name{font-size:20px;line-height:1.2;text-wrap:normal;letter-spacing:-.015em}
.collage-tile .collage-project-name::after{content:'.';color:var(--orange)}
.collage-tile .collage-project-type{font-size:11px;line-height:1.35}
.project-photo-collage{margin:50px var(--gutter) 0;overflow:hidden}
.project-photo-collage .collage-group{margin:0;gap:0;height:clamp(440px,48vw,760px)}
.project-photo-collage .collage-group.count-1{height:clamp(400px,52vw,850px)}
.project-photo-tile>img{width:100%;height:100%;object-fit:cover;display:block}
.project-end{padding:42px 0 70px}
.project-end>.container{display:flex;justify-content:space-between;gap:28px;align-items:center}
.project-end .text-link{margin-top:0}
.project-next-link{font-size:clamp(25px,3vw,44px);font-weight:600;letter-spacing:-.025em;line-height:1.15}
.project-next-link>span:last-child{margin-left:24px}
.project-next-link:hover{text-decoration:underline;text-underline-offset:8px}
.story-images{gap:0}
/* A single immersive photograph leads, with a concise title and one project link. */
.hero-stage{display:block;position:relative;background:var(--ink);color:white}
.hero-stage .hero-images{position:absolute;inset:0 0 62px;width:100%;height:calc(100% - 62px)}
.hero-stage .hero-shade{display:block;position:absolute;inset:0 0 62px;height:calc(100% - 62px);background:linear-gradient(90deg,rgba(12,22,40,.60),rgba(12,22,40,.06) 80%),linear-gradient(0deg,rgba(12,22,40,.35),transparent 65%)}
.hero-stage .hero-content{position:relative;height:clamp(530px,76svh,850px);min-height:530px;max-height:850px;padding-top:65px;padding-bottom:56px;justify-content:flex-end}
.hero-stage .hero-kicker{display:none}
.hero-stage .hero-content h1{width:100%;max-width:1050px;font-size:clamp(80px,11vw,164px);line-height:1;letter-spacing:-.035em;color:white}
.hero-stage .hero-content h1 .hero-light{color:white;font-size:.43em;line-height:1.3}
.hero-stage .hero-content h1 .hero-dot{color:var(--orange)}
.hero-stage .hero-bottom{margin-top:28px;display:flex;justify-content:space-between;gap:40px;align-items:end}
.hero-stage .hero-bottom>p{width:auto;max-width:32ch;font-size:17px;color:white;line-height:1.5}
.hero-stage .hero-project{position:static;min-width:240px;padding:15px 20px;background:white;color:var(--ink)}
.hero-stage .hero-controls{height:62px;background:var(--ink);color:white;border-bottom:0}
.hero-stage .hero-controls-inner{height:62px}
.hero-stage .hero-selector,.hero-stage .hero-controls-label{color:white}
.hero-stage .hero-selector.active{border-color:var(--orange)}
.hero-stage .hero-selector span{font-size:13px}
#ons-werk{padding:65px 0 75px}
#ons-werk .selected-heading h2{font-size:clamp(48px,6.3vw,88px)}
#ons-werk .editorial-projects{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,270px);gap:20px}
#ons-werk .editorial-case{position:relative;min-height:0;overflow:hidden}
#ons-werk .case-01{grid-column:1/8;grid-row:1/3}
#ons-werk .case-02{grid-column:8/13;grid-row:1}
#ons-werk .case-03{grid-column:8/13;grid-row:2}
#ons-werk .editorial-image,#ons-werk .editorial-image .image-frame{height:100%}
#ons-werk .editorial-image img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover}
#ons-werk .image-cta{display:none}
#ons-werk .case-info{position:absolute;left:0;right:0;bottom:0;padding:14px 20px;background:white;pointer-events:none}
#ons-werk .case-info h3,#ons-werk .case-info>p{display:none}
#ons-werk .case-info .eyebrow{font-size:19px;line-height:1.25;margin:0;letter-spacing:-.015em;font-weight:600}
#ons-werk .case-info .eyebrow::after{content:'.';color:var(--orange)}
@media(max-width:760px){
 .hero-stage .hero-content{height:clamp(530px,76svh,720px);min-height:530px;padding-top:40px;padding-bottom:30px}
 .hero-stage .hero-content h1{font-size:20vw;width:100%}
 .hero-stage .hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:22px}
 .hero-stage .hero-bottom>p{font-size:16px;max-width:30ch;width:auto}
 .hero-stage .hero-project{position:static;padding:12px 16px;min-width:0;gap:3px 18px}
 .hero-stage .hero-images{position:absolute;inset:0 0 62px;width:100%;height:calc(100% - 62px)}
 .hero-stage .hero-controls{height:62px}.hero-stage .hero-controls [role=group]{gap:18px}
 .hero-stage .hero-selector span{display:none}.hero-stage .scroll-label{font-size:12px}
 #ons-werk{padding:42px 0 50px}#ons-werk .editorial-projects{grid-template-columns:1fr;grid-template-rows:none;gap:20px}
 #ons-werk .case-01,#ons-werk .case-02,#ons-werk .case-03{grid-column:auto;grid-row:auto;height:330px}
 #ons-werk .case-info{padding:12px 16px}#ons-werk .case-info .eyebrow{font-size:17px}
 .collage-tile .collage-caption{min-height:62px;padding:10px 12px}.collage-tile .collage-project-name,.collage-tile:first-child .collage-project-name{font-size:16px}
 .project-photo-collage{margin:30px var(--gutter) 0}.project-photo-collage .collage-group{height:clamp(500px,135vw,680px)}.project-photo-collage .collage-group.count-1{height:360px}
 .project-end{padding:28px 0 42px}.project-end>.container{align-items:flex-start;flex-direction:column;gap:25px}.project-next-link{font-size:29px}
}

/* Concept 17 — quiet names, navy seams and a horizontal team introduction. */
.studio-copy h2{font-weight:600;text-transform:none;font-size:clamp(32px,3.5vw,52px);line-height:1.16;letter-spacing:-.025em}
.collage-project-name::after,#ons-werk .case-info .eyebrow::after{content:none!important}
.project-collage,.project-photo-collage,.collage-group,.collage-tile{background:var(--ink)}
.collage-outline path,.image-outline path{stroke:#17203d;stroke-width:1.5;stroke-opacity:1}
.collage-tile:focus-visible .collage-outline path{stroke:#17203d;stroke-width:5}
.collage-tile .collage-caption{inset:auto 22px 20px;width:auto;max-width:none;min-height:0;padding:0;background:transparent;color:white;gap:4px;text-shadow:0 1px 4px #0009}
.collage-tile .collage-project-name,.collage-tile:first-child .collage-project-name{font-size:19px;line-height:1.25;font-weight:600;letter-spacing:-.015em}
.collage-tile .collage-project-type{color:white;font-size:11px}
.collage-tile .collage-shade,.collage-tile:hover .collage-shade{display:block;inset:auto 0 0;height:140px;background:linear-gradient(0deg,rgba(10,18,37,.72),transparent);opacity:1;pointer-events:none}
.collage-tile:focus-visible .collage-caption{background:transparent;text-decoration:underline;text-underline-offset:4px}
#ons-werk .case-info{background:transparent;color:white;left:22px;right:22px;bottom:20px;padding:0;z-index:2;text-shadow:0 1px 4px #0009}
#ons-werk .editorial-case::after{content:'';position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(0deg,rgba(10,18,37,.72),transparent);pointer-events:none;z-index:1}
#ons-werk .case-info .eyebrow{font-size:19px}
/* Orange belongs to statements and small wayfinding details, not project names. */
.about-page .page-head .eyebrow{display:flex;align-items:center;gap:14px}
.about-page .page-head .eyebrow::before{content:'';width:30px;height:9.28px;flex-shrink:0;background:var(--orange);clip-path:polygon(0 0,100% 0,50% 100%)}
.about-page .text-link{border-bottom-color:var(--orange);border-bottom-width:2px}
.about-page .people-section{background:var(--ice)}
.about-page .people-section>div>h2{font-size:clamp(42px,5vw,68px)}
.team-rail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:28px 0 22px}
.team-rail-toolbar>p{font-size:20px;font-weight:600;line-height:1.3}
.team-rail-controls{display:flex;gap:10px;flex-shrink:0}
.team-rail-controls button{display:grid;place-items:center;width:46px;height:46px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:23px;line-height:1}
.team-rail-controls button:hover:not(:disabled){background:var(--orange);color:var(--ink)}
.team-rail-controls button:disabled{opacity:.3;cursor:default}
.about-page .people-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ink) transparent;padding:4px 0 24px;align-items:start}
.people-rail .person-card{flex:0 0 clamp(235px,23vw,320px);scroll-snap-align:start}
.people-rail .person-card h3{font-size:22px}
.people-rail .person-card figcaption{padding-top:16px}
.people-rail:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(max-width:760px){
 .studio-copy h2{font-size:34px;line-height:1.16}
 .collage-tile .collage-caption{inset:auto 16px 16px}.collage-tile .collage-project-name,.collage-tile:first-child .collage-project-name{font-size:16px}
 #ons-werk .case-info{left:16px;right:16px;bottom:16px}#ons-werk .case-info .eyebrow{font-size:17px}
 .team-rail-toolbar{gap:14px}.team-rail-toolbar>p{font-size:17px;max-width:20ch}.about-page .people-rail{gap:18px}.people-rail .person-card{flex-basis:72vw;max-width:310px}
}
@media print{.about-page .people-rail{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}.team-rail-controls{display:none}}
.hero-stage .hero-project{background:transparent;color:white;border-top:1px solid #ffffff80;padding:14px 0 0}

/* Concept 18 — a shared grid, explicit heading hierarchy and a navigable offer. */
/* Large brand statements use Black; names and supporting headings use Bold. */
.page-head h1,.hero-content h1,.project-header h1,.process-intro h2,.question-heading,.offering-heading h2{font-weight:900}
.page-head h1 .headline-light,.hero-content h1 .hero-light,.offering-heading .headline-light{font-weight:300;text-transform:none}
.project-opening h1,.page-head:has(.back-link[href='/projecten/']) h1,.page-head h1.vacancy-title,h3,h4{font-weight:600}
.page-head .triangle-mark,.page-head-meta .triangle-mark,.about-page .page-head .eyebrow::before{display:none}
.collage-tile .collage-caption{left:36px;right:28px;bottom:26px}
#ons-werk .case-info{left:36px;right:28px;bottom:26px}
.home-offering{padding:72px 0;background:var(--ice)}
.offering-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:end;margin-bottom:40px}
.offering-heading h2{font-size:clamp(40px,4.9vw,70px);line-height:1.07;letter-spacing:-.025em;text-transform:none}
.offering-heading h2 .headline-light{font-size:.58em}
.offering-heading>p{max-width:43ch;line-height:1.6;font-size:18px;padding-bottom:5px}
.offering-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--ink);margin-bottom:30px}
.offering-tabs button{border:0;border-bottom:3px solid transparent;text-align:left;background:none;padding:17px 0;font-size:19px;font-weight:600;min-height:56px}
.offering-tabs button[aria-selected=true]{border-bottom-color:var(--ink)}
.offering-tabs button:hover{color:var(--ink);background:#ffffff60}
.offering-panel[hidden]{display:none}
.offering-panel .home-route-links{gap:0 40px}
.offering-panel .home-route-links a:nth-child(odd){margin:0}
.offering-panel .home-route-links a{padding:22px 0;min-height:84px;font-size:23px}
.offering-phase-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;overflow-x:auto;scroll-snap-type:x mandatory}
.offering-phase{display:flex;flex-direction:column;padding:26px;background:white;border-top:1px solid var(--ink);min-width:0;scroll-snap-align:start}
.offering-phase h3{font-size:24px;line-height:1.2;margin-bottom:20px}
.offering-phase>p{font-size:16px;line-height:1.6}
.offering-phase>.text-link{margin-top:auto;padding-top:24px;align-self:flex-start}
.services-opening-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.services-page .page-head h1{font-size:clamp(45px,5.3vw,82px);line-height:1.05;letter-spacing:-.03em}
.services-opening-grid>div>p{margin-top:25px;font-size:18px;line-height:1.6;max-width:48ch}
.services-opening-grid>.image-frame img{aspect-ratio:4/5;object-fit:cover}
.services-jumps{display:flex;position:static;flex-wrap:wrap;gap:12px 22px;margin:28px 0 0;padding:0;background:transparent;border:0;font-size:14px}
.services-jumps a{padding:10px 0;border-bottom:1px solid var(--ink);min-height:44px}
.services-jumps a::after{display:none}
.services-explorer{background:var(--ice)}
.service-explorer-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.service-explorer-intro h2{font-size:clamp(34px,4vw,58px);font-weight:600;line-height:1.12;text-transform:none}
.service-disclosures details{border-top:1px solid var(--ink)}
.service-disclosures details:last-child{border-bottom:1px solid var(--ink)}
.service-disclosures summary{display:flex;align-items:center;list-style:none;cursor:pointer;padding:24px 0;font-size:clamp(25px,3vw,36px);font-weight:600;line-height:1.1}
.service-disclosures summary::-webkit-details-marker{display:none}
.disclosure-sign{margin-left:auto;font-weight:300}.disclosure-sign::before{content:'+'}.service-disclosures details[open] .disclosure-sign::before{content:'−'}
.service-disclosures details>div{padding:0 0 26px;font-size:17px;line-height:1.6}
.services-page .question-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.services-page .intro-grid,.services-page .faq-layout{grid-template-columns:1fr 1fr;gap:40px}
.services-page .question-grid h3{font-size:26px;line-height:1.2}
#ons-aanbod,#jouw-omgeving{scroll-margin-top:30px}
@media(max-width:760px){
 .collage-tile .collage-caption{left:26px;right:22px;bottom:22px}#ons-werk .case-info{left:26px;right:22px;bottom:22px}
 .home-offering{padding:42px 0}.offering-heading{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.offering-heading>p{font-size:16px}.offering-heading h2{font-size:46px}
 .offering-tabs{gap:18px;margin-bottom:24px}.offering-tabs button{font-size:16px;line-height:1.25;padding:14px 0}
 .offering-panel .home-route-links{gap:0 24px}.offering-panel .home-route-links a{font-size:18px;min-height:72px}
 .offering-phase-rail{display:flex;gap:16px;padding-bottom:15px}.offering-phase{flex:0 0 85%;padding:24px;min-height:300px}
 .services-opening-grid,.service-explorer-grid,.services-page .intro-grid,.services-page .faq-layout{grid-template-columns:1fr;gap:30px}
 .services-page .page-head h1{font-size:clamp(43px,10vw,65px)}.services-opening-grid>.image-frame img{aspect-ratio:3/2}
 .services-page .question-grid{grid-template-columns:1fr;gap:0}.services-jumps{display:flex;position:static;flex-direction:row;gap:12px 20px}.services-jumps a{font-size:14px}
}
.section-tick{display:none}

/* Concept 19 — clear hierarchy and compact information grids. */
.offering-tabs{border-bottom:1px solid var(--line);gap:40px}
.offering-tabs button{font-size:clamp(23px,2.4vw,31px);line-height:1.2;font-weight:600;border-bottom:1px solid transparent;padding:16px 0}
.offering-tabs button[aria-selected=true]{border-bottom-color:var(--ink);box-shadow:none}
.offering-panel .home-route-links a{font-size:19px;min-height:70px}
.collage-note-copy>p{font-size:clamp(24px,2.4vw,34px);line-height:1.14}
.collage-note-copy{padding:clamp(25px,3vw,42px);gap:16px}
.page-head h1.contact-title{font-size:clamp(46px,5.5vw,76px);line-height:1.1;text-transform:none;font-weight:600;letter-spacing:-.025em}
.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.information-page .page-head{padding-top:35px;padding-bottom:40px}
.information-page .page-head-meta{margin-bottom:30px}
.information-page .page-head h1{font-size:clamp(43px,6vw,82px);line-height:1.06}
.information-page .section{padding:45px 0}
.information-page .article{display:block}
.information-page .article>aside{display:none}
.information-page .article-body{max-width:none}
.information-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:32px}
.information-intro p+p{margin:0}
.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.goal-card{border:1px solid var(--line);padding:26px;display:grid;grid-template-columns:130px 1fr;gap:24px;align-items:start}
.goal-card img{width:130px;height:auto;object-fit:contain}
.goal-card p{font-size:16px;line-height:1.55;margin:0}
.information-page .article-body .goal-closing{font-size:26px;line-height:1.25;margin:30px 0 0;font-weight:600}
.dna-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:36px}
.dna-intro-grid .image-frame img{aspect-ratio:3/2;object-fit:cover}
.dna-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dna-story{padding:28px;background:var(--ice);border-top:1px solid var(--ink)}
.information-page .dna-story h2{font-size:28px;line-height:1.15;margin:0 0 18px;font-weight:600}
.dna-story p{font-size:16px;line-height:1.55}
.duurzaamheid-page .intro-grid{grid-template-columns:1fr 1fr;gap:40px}
.duurzaamheid-page .section h2{font-size:clamp(30px,3.5vw,46px);line-height:1.15}
@media(max-width:760px){
 .offering-tabs{gap:22px}.offering-tabs button{font-size:21px}.offering-panel .home-route-links a{font-size:17px}
 .collage-note-copy>p{font-size:23px}.collage-note-copy{padding:24px;gap:12px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}
 .information-page .section{padding:30px 0}.information-page .page-head{padding-bottom:25px}
 .information-intro,.dna-intro-grid,.dna-story-grid,.goal-grid,.duurzaamheid-page .intro-grid{grid-template-columns:1fr;gap:22px}
 .goal-card{grid-template-columns:85px 1fr;gap:18px;padding:22px}.goal-card img{width:85px}.dna-story{padding:24px}
}

/* Concept 20 — equal home blocks, restrained palette and tangible actions. */
.home-offering{background:white;padding:64px 0}
.offering-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.offering-card{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3.5vw,50px);border:1px solid var(--ink);background:white;color:var(--ink)}
.offering-card-dark{background:var(--ink);color:white}
.offering-card h2{font-size:clamp(30px,3.3vw,46px);line-height:1.12;font-weight:600;letter-spacing:-.025em;margin:0 0 24px;text-transform:none}
.offering-card p{font-size:17px;line-height:1.6;max-width:46ch;margin:0 0 32px}
.offering-card>.text-link{margin-top:auto}
.text-link,.about-page .text-link,.section-label>a,.services-jumps a{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;padding:12px 20px;border:1px solid currentColor;border-radius:0;text-decoration:none;font-size:14px;line-height:1.35;font-weight:600;max-width:100%;width:fit-content;background:transparent;color:inherit;transition:background .18s,color .18s}
.text-link:hover,.section-label>a:hover,.services-jumps a:hover{background:var(--ink);border-color:var(--ink);color:white}
.offering-card-dark .text-link:hover,.site-footer .text-link:hover,.dark .text-link:hover{background:white;border-color:white;color:var(--ink)}
.text-link:focus-visible,.section-label>a:focus-visible,.services-jumps a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.note-link{display:inline-flex;align-self:flex-start;width:fit-content;border:1px solid currentColor;padding:10px 14px;min-height:42px;line-height:1.35}
.collage-note:hover .note-link,.collage-note:focus-visible .note-link{border-width:1px;background:var(--ink);color:white}
.collage-note.note-navy:hover .note-link,.collage-note.note-navy:focus-visible .note-link{background:white;color:var(--ink)}
#ons-werk .section-label{justify-content:flex-end}
.ice,.services-explorer,.process-carousel,.people-section,.about-page .people-section,.dna-story{background:white}
.dna-story{border:1px solid var(--line)}
.process-carousel{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(max-width:760px){.home-offering{padding:36px 0}.offering-pair{grid-template-columns:1fr;gap:18px}.offering-card{padding:28px}.offering-card h2{font-size:32px;margin-bottom:20px}.offering-card p{font-size:16px;margin-bottom:26px}}

.hero-project-action{text-decoration:none;border:1px solid currentColor;padding:10px 14px;min-height:42px;display:inline-flex;align-items:center;justify-content:center}

/* Concept 21 — shared image/text grid and readable compact-menu states. */
:root{--column-gap:40px}
.studio-feature{width:100%;max-width:1800px;margin:0 auto;padding:30px var(--gutter) 60px;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--column-gap);align-items:start}
.studio-feature .studio-photo{padding:0;min-width:0;position:relative}
.studio-feature .studio-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.studio-feature .studio-photo::after{content:'';position:absolute;inset:auto 1px 1px;height:140px;background:linear-gradient(transparent,rgba(23,32,61,.8));pointer-events:none}
.studio-feature .studio-photo-label{background:transparent;color:white;padding:0;left:28px;right:28px;bottom:26px;font-size:14px;line-height:1.4;z-index:2}
.studio-feature .studio-copy{padding:0;min-width:0;align-self:start}
.studio-feature .studio-copy .eyebrow{margin-bottom:24px}
.studio-feature .studio-copy h2{margin-bottom:24px}
.studio-feature .studio-copy p{max-width:46ch}
.studio-feature .studio-copy .text-link{margin-top:28px}
.services-opening-grid,.service-explorer-grid,.dna-intro-grid,.careers-intro,.route-feature{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--column-gap);align-items:start}
.services-opening-grid>*,.service-explorer-grid>*,.dna-intro-grid>*,.careers-intro>*,.route-feature>*{min-width:0}
@media(max-width:1100px){
 .site-header #navigation>a[aria-current=page],.site-header #navigation>a:hover,.site-header #navigation>a:focus-visible{background:white;color:var(--ink)}
 .site-header #navigation>a[aria-current=page]::after,.site-header #navigation>a:hover::after,.site-header #navigation>a:focus-visible::after{color:var(--ink)}
 .site-header #navigation>a,.site-header #navigation>a:nth-child(even),.site-header #navigation>a.contact{padding-left:24px;padding-right:52px}
 .site-header #navigation>a::after{right:20px}
 .site-header #navigation>a[aria-current=page]::before{left:10px}
}
@media(max-width:760px){
 :root{--column-gap:28px}
 .studio-feature{grid-template-columns:1fr;gap:28px;padding-top:24px;padding-bottom:36px}
 .studio-feature .studio-photo img{aspect-ratio:3/2}
 .studio-feature .studio-photo-label{left:22px;right:22px;bottom:20px;font-size:12px}
 .services-opening-grid,.service-explorer-grid,.dna-intro-grid,.careers-intro,.route-feature{grid-template-columns:1fr;gap:28px}
}
@media(max-width:480px){
 .site-header #navigation>a,.site-header #navigation>a:nth-child(even),.site-header #navigation>a.contact{padding-left:18px;padding-right:34px}
 .site-header #navigation>a::after{right:12px}
 .site-header #navigation>a[aria-current=page]::before{left:6px}
}

/* Concept 22 — vector controls, clipped overlays and compact-screen breathing room. */
.ui-arrow{display:inline-block;width:1.15em;height:1.15em;min-width:1.15em;vertical-align:-.18em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter;pointer-events:none}
.ui-arrow path{fill:none;stroke:inherit}
.image-frame .image-shade{position:absolute;inset:0;pointer-events:none;z-index:1;clip-path:var(--photo-clip,polygon(0 0,100% 0,100% 100%,0 100%));background:linear-gradient(0deg,rgba(23,32,61,.78),transparent) bottom/100% 145px no-repeat}
.studio-feature .studio-photo::after,#ons-werk .editorial-case::after{display:none}
.site-header .logo{width:clamp(205px,19vw,260px)}
.logo img{width:100%;height:auto;object-fit:contain}
.dna-intro-grid .image-frame img{aspect-ratio:4/3;object-fit:contain}
.goal-card{grid-template-columns:150px minmax(0,1fr)}
.goal-card img{width:150px}
@media(max-width:1100px){
 :root{--gutter:32px}
 .site-header .menu-toggle{padding:0;gap:0;min-width:124px;min-height:48px;position:relative;z-index:32;touch-action:manipulation;isolation:isolate;cursor:pointer}
 .site-header .menu-toggle>.menu-label{display:flex;align-items:center;justify-content:center;align-self:stretch;width:auto;min-width:76px;padding:0 14px;background:transparent;color:var(--ink);border:0;font-size:14px;font-weight:600;pointer-events:none}
 .site-header .menu-toggle>.menu-icon{display:grid;place-items:center;align-self:stretch;width:48px;min-height:46px;background:var(--ink);color:white;border:0;border-left:1px solid var(--ink);pointer-events:none}
 .menu-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;pointer-events:none}
 .menu-toggle[aria-expanded=true] .menu-plus-stem{display:none}
 .site-header #navigation>a::after{content:'';width:21px;height:21px;background:currentColor;mask:url('assets/brand/arrow-ne.svg') center/contain no-repeat;-webkit-mask:url('assets/brand/arrow-ne.svg') center/contain no-repeat}
 .collage-note-copy{padding:32px;gap:20px}
 .collage-note-copy>p{font-size:clamp(22px,2.8vw,30px)}
 .collage-note .note-link{white-space:normal;font-size:13px;gap:10px}
 .project-header-grid{gap:32px}
 .project-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
 .goal-card{grid-template-columns:1fr;padding:26px}
 .goal-card img{width:150px}
}
@media(min-width:761px) and (max-width:1100px){
 .collage-group{height:clamp(480px,58vw,640px)}
 .project-photo-collage .collage-group{height:clamp(480px,58vw,640px)}
 .collage-tile .collage-caption{left:32px;right:32px;bottom:28px}
 .collage-project-name{font-size:clamp(18px,2.1vw,24px);line-height:1.22}
}
@media(max-width:760px){
 :root{--gutter:24px}
 .site-header .logo{width:min(45vw,205px)}
 .site-header .header-inner{gap:12px}
 .collage-note-copy{padding:32px;gap:18px}
 .collage-note-copy>p{font-size:clamp(21px,4.5vw,28px);line-height:1.18}
 .collage-group:not(.count-1){height:clamp(650px,170vw,820px)}
 .collage-tile .collage-caption{left:30px;right:30px;bottom:26px}
 .project-collage .collage-project-name{font-size:18px;line-height:1.25;overflow-wrap:break-word}
 .project-header-note{max-width:none}
 .project-facts>div{min-width:0}.project-facts dd{overflow-wrap:break-word}
 .project-end .container{gap:24px;flex-wrap:wrap}
 .project-next-link{font-size:clamp(23px,6vw,32px);line-height:1.2}
 .goal-card{grid-template-columns:1fr;gap:22px}.goal-card img{width:150px}
 .enquiry-form{padding:24px}.form-pair{grid-template-columns:1fr;gap:0}
}
@media(max-width:380px){
 :root{--gutter:22px}
 .site-header .logo{width:42vw}
 .site-header .menu-toggle{min-width:112px}
 .site-header .menu-toggle>.menu-label{min-width:66px;padding:0 10px}
 .site-header .menu-toggle>.menu-icon{width:44px}
 .collage-note-copy{padding:28px}.collage-note-copy>p{font-size:22px}
 .project-facts{grid-template-columns:1fr}
}

/* Concept 24 — one connected layout, one triangle size, calm mobile typography. */
:root{--project-caption-space:32px}
#project-collage{width:100%;max-width:1800px;margin:0 auto;padding:0 var(--gutter);display:block;background:white}
#project-collage .collage-group{margin:0;gap:0;height:clamp(480px,48vw,720px);background:var(--ink)}
#project-collage .collage-group.count-1{height:clamp(360px,40vw,600px)}
#project-collage .collage-tile{min-width:0}
#project-collage .collage-caption{left:calc(var(--project-caption-space) + var(--shape-left-inset,0px));right:var(--project-caption-space);bottom:var(--project-caption-space);padding:0;max-width:none;width:auto}
#project-collage .collage-project-name,#ons-werk .case-info .eyebrow,#hero-project-name{white-space:nowrap;word-break:normal;overflow-wrap:normal;hyphens:none;line-height:1.25;max-width:100%;min-width:0}
#project-collage .collage-project-name{font-size:20px}
#project-collage .collage-note-copy{padding:32px;gap:18px}
#project-collage .collage-note-copy>p{font-size:clamp(23px,2.2vw,32px);line-height:1.2;text-wrap:balance;word-break:normal;overflow-wrap:normal;hyphens:none}
#project-collage .note-link{margin-top:0;max-width:100%}
.image-frame>img{clip-path:var(--photo-clip,polygon(0 0,calc(72% - 13px) 0,72% 8.043px,calc(72% + 13px) 0,100% 0,100% 100%,0 100%))}
main h1,main h2,main h3,.project-opening h1,.page-head h1{word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:balance}
@media(max-width:900px){
 #project-collage .collage-group{height:clamp(960px,195vw,1320px);grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}
 #project-collage .collage-group.count-2{height:clamp(640px,130vw,880px);grid-template-rows:repeat(2,1fr)}
 #project-collage .collage-group.count-1{height:clamp(320px,65vw,440px);grid-template-rows:1fr}
 #project-collage .collage-group>.collage-tile:first-child{grid-row:auto}
 #project-collage .collage-project-name{font-size:18px}
 #project-collage .collage-note-copy{padding:32px}
 #project-collage .collage-note-copy>p{font-size:28px}
 .project-opening h1,.page-head:has(.back-link[href='/projecten/']) h1{font-size:clamp(30px,6.8vw,54px);line-height:1.15}
 .project-header h1{font-size:clamp(40px,11vw,82px);line-height:1.08}
}
@media(max-width:480px){
 #project-collage{padding:0}
 #project-collage .collage-project-name{font-size:17px}
 .hero-project{min-width:0;max-width:100%}
 #hero-project-name{max-width:100%}
 main h1{letter-spacing:-.025em}
}
.project-name-compact{display:none}
@media(max-width:900px){
 .project-name-full{display:none}.project-name-compact{display:inline}
 #project-collage .collage-project-type{font-size:13px;line-height:1.35;max-width:100%;word-break:normal;overflow-wrap:normal;text-wrap:balance}
}

/* Concept 25 — persistent desktop navigation and optically centered controls. */
@media(min-width:1101px){
 .site-header{position:sticky;top:0;z-index:60;border-bottom:1px solid var(--line)}
 html{scroll-padding-top:122px}
 .site-header #navigation>a.contact{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px 11px;min-height:48px;line-height:1.35;text-align:center}
}
.text-link,.about-page .text-link,.button,.coffee-action,.note-link,.services-jumps a,.section-label>a,.hero-project-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 20px 11px;line-height:1.35;text-align:center;gap:12px}
.environment-filters button,.process-tabs a,.services-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 18px 11px;line-height:1.35;text-align:center}
.process-arrows button,.team-rail-controls button,.services-controls button{display:inline-grid;place-items:center;padding:0;min-width:48px;min-height:48px;line-height:1}
.site-header .menu-toggle>.menu-label{padding-top:3px;padding-bottom:0}
.services-page .page-head{padding-bottom:42px}
.services-page .services-opening-grid{grid-template-columns:1.1fr .9fr;align-items:center}
.services-page .services-opening-grid>.image-frame img{aspect-ratio:4/3}
.services-explorer{padding:44px 0 38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:white}
.services-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:26px}
.services-rail-heading h2{font-size:clamp(30px,3vw,44px);line-height:1.12;font-weight:600}
.services-rail-heading .eyebrow{display:block;margin-bottom:12px}
.services-navigation{display:flex;align-items:center;gap:24px}
.services-tabs{display:flex;gap:8px;flex-wrap:wrap}
.services-tabs button{background:white;border:1px solid var(--ink);font-size:14px;font-weight:600}
.services-tabs button[aria-pressed=true]{background:var(--ink);color:white}
.services-tabs button:hover{background:var(--ice);color:var(--ink)}
.services-controls{display:flex;gap:8px;flex-shrink:0}
.services-controls button{width:48px;height:48px;background:var(--ink);color:white;border:1px solid var(--ink)}
.services-controls button:hover:not(:disabled){background:white;color:var(--ink)}
.services-controls button:disabled{opacity:.3;cursor:default}
.services-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ink) transparent;padding-bottom:14px}
.services-panel{flex:0 0 94%;min-width:0;display:grid;grid-template-columns:1.08fr .92fr;scroll-snap-align:start;background:var(--ink);color:white;scroll-margin-top:130px}
.services-panel:nth-child(2){background:white;color:var(--ink);border:1px solid var(--ink)}
.services-panel>.image-frame{height:100%;min-height:390px;background:white}
.services-panel>.image-frame img{height:100%;min-height:390px;aspect-ratio:4/3;object-fit:cover}
.services-panel-copy{padding:clamp(28px,4vw,54px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.services-panel-copy h3{font-size:clamp(32px,4vw,58px);line-height:1.08;margin-bottom:24px;font-weight:600}
.services-panel-copy p{font-size:18px;line-height:1.55;max-width:38ch}
.services-panel-copy .text-link{margin-top:28px}
.services-panel:not(:nth-child(2)) .text-link:hover{background:white;color:var(--ink);border-color:white}
.services-rail-footer{display:flex;justify-content:space-between;gap:20px;margin-top:8px;font-size:13px}
.services-current{font-weight:600}
.services-page .services-environments{padding:48px 0}
.services-page .services-environments .question-heading{font-size:clamp(32px,3.5vw,48px);font-weight:600;margin-bottom:28px}
.services-page .service-environment-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.services-page .service-environment-cards article{padding:0;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.service-environment-cards article>.image-frame img{aspect-ratio:4/3;object-fit:cover}
.service-environment-copy{padding:24px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.services-page .service-environment-copy h3{font-size:22px;line-height:1.22;margin-bottom:18px}
.service-environment-copy .eyebrow{margin-bottom:14px;font-size:13px}
.service-environment-copy p{font-size:15px;line-height:1.55;margin-bottom:24px}
.services-page .service-environment-copy .text-link{margin-top:auto;font-size:13px;padding-left:14px;padding-right:14px;width:100%}
.services-insights{padding:20px 0 40px}
.services-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.services-insight{border:1px solid var(--ink);padding:26px}
.services-insight summary{display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;list-style:none;min-height:64px}
.services-insight summary::-webkit-details-marker{display:none}
.services-insight h2{font-size:26px;line-height:1.2;font-weight:600}
.services-insight .disclosure-sign{font-size:28px;flex-shrink:0}
.services-insight[open] .disclosure-sign::before{content:'−'}
.services-insight>div{padding-top:24px}
.services-insight p,.services-insight p.large{font-size:16px;line-height:1.6}
.services-page .faq-section{padding-top:35px;padding-bottom:45px}
@media(max-width:1100px){
 .services-toolbar{align-items:flex-start;flex-direction:column;gap:24px}
 .services-navigation{justify-content:space-between;width:100%}
 .services-page .service-environment-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .services-panel-copy{padding:30px}.services-panel-copy p{font-size:17px}
}
@media(max-width:760px){
 .services-page .services-opening-grid{grid-template-columns:1fr;gap:28px}
 .services-page .services-opening-grid>.image-frame img{aspect-ratio:3/2}
 .services-navigation{align-items:flex-start;gap:16px;flex-wrap:wrap}
 .services-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}
 .services-tabs button{padding:14px 8px 10px;font-size:13px}
 .services-controls{margin-left:auto}
 .services-panel{flex-basis:94%;grid-template-columns:1fr;grid-template-rows:auto 1fr}
 .services-panel>.image-frame{height:auto;min-height:0}
 .services-panel>.image-frame img{height:auto;min-height:0;aspect-ratio:3/2}
 .services-panel-copy{padding:28px;justify-content:flex-start}
 .services-panel-copy h3{font-size:34px;margin-bottom:20px}
 .services-panel-copy p{font-size:16px}
 .services-panel-copy .text-link{margin-top:auto;align-self:flex-start}
 .services-panel-copy p{margin-bottom:26px}
 .services-page .service-environment-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:16px}
 .services-page .service-environment-cards article{flex:0 0 87%;scroll-snap-align:start}
 .services-insight-grid{grid-template-columns:1fr;gap:18px}
 .services-insight{padding:24px}.services-insight h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.services-track,.service-environment-cards{scroll-behavior:auto}}
@media print{.services-track,.services-page .service-environment-cards{display:block;overflow:visible}.services-panel{break-inside:avoid;margin-bottom:24px}.services-controls,.services-tabs{display:none}}

/* Concept 26 — motion follows the linework, with a still accessible fallback. */
.coffee .coffee-line{height:12.043px;background:transparent;margin-top:22px;border:0;position:relative}
.coffee .coffee-line::after{display:none;content:none}
.coffee-rule{display:block;width:100%;height:100%;overflow:visible}
.coffee-rule path{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.coffee-rule .coffee-rule-notch{stroke:var(--orange);opacity:0;transition:opacity .25s}
.coffee-invited .coffee-rule-notch{opacity:1}
.header-scroll-sentinel{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
@media(min-width:1101px){.site-header{transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 5px 18px #17203d0c}}
@media(prefers-reduced-motion:no-preference){
 .motion-ready [data-motion]{opacity:0;transform:translateY(16px);transition:opacity .65s ease var(--arrival-delay,0ms),transform .8s cubic-bezier(.2,.75,.2,1) var(--arrival-delay,0ms)}
 .motion-ready [data-motion].is-inview,.motion-ready [data-motion]:focus-within{opacity:1;transform:none}
 .motion-ready .collage-group[data-motion]{transform:none;transition:opacity .65s ease}
 .motion-ready .image-frame[data-motion]{transform:translateY(10px)}
 .motion-ready .image-frame[data-motion].is-inview{transform:none}
 .motion-ready [data-motion].is-inview .image-outline path,.motion-ready .image-frame.is-inview>.image-outline path{animation:frame-arrival 1.1s cubic-bezier(.3,.6,.3,1) both}
 .motion-ready [data-motion].is-inview h1>.accent,.motion-ready h1[data-motion].is-inview>.accent{display:inline-block;animation:dot-arrival .65s .2s both}
 .motion-frame::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;clip-path:var(--photo-clip);background:linear-gradient(110deg,transparent 35%,#ffffff12 48%,transparent 61%) -150% 0/250% 100% no-repeat;opacity:0;transition:opacity .2s}
 .editorial-image:hover .motion-frame::after,.service-environment-cards article:hover .motion-frame::after,.person-card:hover .motion-frame::after{opacity:1;animation:photo-light 1s ease-out both}
 .text-link .ui-arrow,.note-link .ui-arrow,.button .ui-arrow,.hero-project-action .ui-arrow{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
 .text-link:is(:hover,:focus-visible) .ui-arrow,.collage-note:is(:hover,:focus-visible) .note-link .ui-arrow,.button:is(:hover,:focus-visible) .ui-arrow{transform:translate(3px,-3px)}
 .services-controls button .ui-arrow,.process-arrows button .ui-arrow,.team-rail-controls button .ui-arrow{transition:transform .22s ease}
 .services-controls button:last-child:hover .ui-arrow,.process-arrows button:last-child:hover .ui-arrow,.team-rail-controls button:last-child:hover .ui-arrow{transform:translateX(3px)}
 .services-controls button:first-child:hover .ui-arrow,.process-arrows button:first-child:hover .ui-arrow,.team-rail-controls button:first-child:hover .ui-arrow{transform:translateX(-3px)}
 .services-tabs button,.environment-filters button,.process-tabs a{transition:background .25s,color .25s,border-color .25s}
 .faq-list details[open]>p,.services-insight[open]>div{animation:detail-arrival .3s ease both}
 .coffee.is-arrived .coffee-rule-line{animation:coffee-draw 1.1s .25s ease both}
 .coffee.is-arrived .coffee-action{animation:coffee-invitation 1.5s .75s ease 1}
 .coffee.is-arrived .coffee-rule-notch{animation:notch-invitation 1.5s .75s ease 1}
 @keyframes frame-arrival{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
 @keyframes dot-arrival{0%{opacity:0;transform:scale(.7)}70%{opacity:1;transform:scale(1.12)}100%{transform:scale(1)}}
 @keyframes photo-light{from{background-position:-150% 0}to{background-position:150% 0}}
 @keyframes detail-arrival{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
 @keyframes coffee-draw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
 @keyframes coffee-invitation{0%,100%{box-shadow:0 0 0 0 transparent}45%{box-shadow:0 0 0 2px var(--orange)}}
 @keyframes notch-invitation{0%,100%{opacity:0}45%{opacity:1}}
}
@media(max-width:1100px) and (prefers-reduced-motion:no-preference){.site-header #navigation.open{animation:menu-arrival .24s ease-out both}@keyframes menu-arrival{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){
 .motion-ready [data-motion]{opacity:1;transform:none;transition:none}
 .motion-frame::after{display:none}
 .coffee-rule-line,.coffee-rule-notch,.image-outline path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
 .coffee .coffee-action{animation:none}
}
@media print{[data-motion]{opacity:1!important;transform:none!important}.motion-frame::after{display:none}.coffee-rule-line,.image-outline path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}

/* Concept 27 — real details and a quiet surprise, no photographic sheen. */
.motion-frame::after{display:none!important}
.coffee-rule .coffee-rule-notch{display:none;stroke:var(--ink);animation:none!important}
.coffee.is-arrived .coffee-action{animation:none}
.coffee-wordmark{grid-column:1/-1;display:flex;align-items:baseline;gap:0;min-width:0}
.coffee-wordmark .coffee-link{grid-column:auto}
.coffee-secret{font:inherit;font-family:var(--display);font-size:clamp(6rem,19.8vw,22rem);font-weight:900;line-height:1;letter-spacing:-.035em;color:var(--orange);background:none;border:0;padding:0;min-width:44px;min-height:44px}
.photo-switch{position:relative}
.project-image-link{display:block;position:relative;width:100%;height:100%}
.photo-switch .detail-photo{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;opacity:0;pointer-events:none;z-index:1;clip-path:inset(0 100% 0 0);transform:none!important}
.photo-switch .image-frame .detail-photo{clip-path:var(--photo-clip)}
.photo-switch .image-frame{isolation:isolate}
.photo-switch .image-outline,.photo-switch .collage-outline{z-index:4;pointer-events:none}
.photo-switch.detail-visible .detail-photo{opacity:1;clip-path:inset(0)}
.photo-switch.detail-visible .image-frame .detail-photo{clip-path:var(--photo-clip)}
.detail-toggle{position:absolute;top:26px;right:26px;z-index:5;display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;background:var(--ink);color:white;border:1px solid #ffffff70;border-radius:0;font-size:13px;line-height:1.2;font-weight:700}
.detail-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.detail-toggle[aria-pressed=true]{background:white;color:var(--ink);border-color:var(--ink)}
.detail-toggle[hidden]{display:none}
.photo-switch .project-image-link:focus-visible{outline-offset:-6px}
.puzzle-open{overflow:hidden}
.coffee-puzzle{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:36px;border:1.5px solid var(--ink);background:white;color:var(--ink)}
.coffee-puzzle::backdrop{background:#17203dcc}
.coffee-puzzle h2{font-size:clamp(32px,6vw,48px);font-weight:700;margin:8px 0 18px;padding-right:32px}
.coffee-puzzle p{font-size:16px;line-height:1.5}
.puzzle-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ink);background:white;color:var(--ink)}
.puzzle-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.puzzle-board{display:grid;grid-template-columns:1fr 1fr;width:min(280px,100%);margin:26px auto;background:#f6f6f4;gap:0}
.puzzle-piece{aspect-ratio:1;min-width:0;padding:0;border:0;background:none;position:relative}
.puzzle-piece svg{width:100%;height:100%;display:block;overflow:visible;fill:none;stroke:var(--ink);stroke-width:1.5}
.puzzle-piece .puzzle-guide{stroke:#17203d33;stroke-dasharray:3 3;transform-origin:50px 50px}
.puzzle-turn{transform-origin:50px 50px}
.puzzle-triangle{stroke:var(--orange)}
.puzzle-piece:focus-visible{z-index:2;outline-offset:-4px}
.puzzle-board.is-complete{background:var(--ice)}
.coffee-puzzle .puzzle-status{min-height:48px;text-align:center;margin:0}
.puzzle-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:16px}
.puzzle-actions .button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;font-size:14px;line-height:1.3;background:var(--ink);color:white;border:1px solid var(--ink)}
.puzzle-actions .puzzle-reset{background:white;color:var(--ink)}
@media(prefers-reduced-motion:no-preference){
 .photo-switch .detail-photo{transition:clip-path .65s cubic-bezier(.2,.7,.2,1),opacity .3s}
 .photo-switch .image-frame .detail-photo{mask-image:linear-gradient(#000,#000);mask-size:0% 100%;mask-position:left;mask-repeat:no-repeat;transition:mask-size .65s cubic-bezier(.2,.7,.2,1),opacity .3s}
 .photo-switch:has([data-frame-variant="1"]) .detail-photo{mask-position:right}
 .photo-switch:has([data-frame-variant="0"]) .detail-photo{mask-size:100% 0%;mask-position:top}
 .photo-switch:has([data-frame-variant="2"]) .detail-photo{mask-size:100% 0%;mask-position:bottom}
 .photo-switch.detail-visible .image-frame .detail-photo{mask-size:100% 100%}
 .puzzle-turn{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
 .puzzle-board{transition:background .4s}
 .coffee-secret:active{transform:rotate(-8deg)}
}
@media(max-width:760px){.coffee-secret{font-size:22vw;line-height:1.15}.detail-toggle{top:22px;right:22px}.detail-toggle span{display:none}.coffee-puzzle{padding:28px 22px}.puzzle-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.photo-switch .detail-photo,.puzzle-turn{transition:none!important;animation:none!important}.photo-switch.detail-visible .detail-photo{mask:none}}
.photo-switch .collage-shade,.photo-switch .image-shade{z-index:2}
.photo-switch .collage-caption{z-index:3}
.collage-tile.photo-switch:focus-within .collage-outline path{stroke-width:3}
@media print{.detail-toggle,.coffee-secret,.coffee-puzzle{display:none!important}.photo-switch .detail-photo{display:none!important}}

/* Concept 29 — generous uppercase coffee, quiet three-click hint. */
.coffee .coffee-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;margin-top:28px}
.coffee .coffee-wordmark{grid-column:1;grid-row:1;gap:0;align-items:baseline;position:relative;width:fit-content;max-width:100%;padding-bottom:44px}
.coffee .coffee-link,.coffee .coffee-secret{font-size:clamp(96px,13vw,208px);font-weight:700;line-height:1.05;letter-spacing:-.045em}
.coffee .coffee-link{padding:0;margin:0}
.coffee .coffee-secret{min-width:36px;min-height:44px}
.coffee .coffee-action{grid-column:2;grid-row:1;margin:0;align-self:center;justify-self:end}
.coffee-hint{position:absolute;right:0;bottom:0;max-width:100%;font-family:var(--body);font-size:12px;font-weight:400;line-height:1.45;letter-spacing:0;text-align:right;color:var(--ink);opacity:.72;pointer-events:none}
@media(max-width:760px){.coffee .coffee-row{grid-template-columns:1fr;gap:24px}.coffee .coffee-link,.coffee .coffee-secret{font-size:clamp(58px,19vw,140px)}.coffee .coffee-action{grid-column:1;grid-row:2;justify-self:start}.coffee .coffee-line{margin-top:26px}.coffee-hint{font-size:11px}}
@media print{.coffee-hint{display:none!important}}

/* Concept 30 — touch feedback, three puzzles and a consistent editorial grid. */
.coffee .coffee-link,.coffee .coffee-secret{font-weight:900}
.coffee-secret{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.coffee-secret.tap-feedback{color:var(--ink);background:transparent}
@media(prefers-reduced-motion:no-preference){.coffee-secret.tap-feedback{animation:coffee-tap .4s ease}@keyframes coffee-tap{0%{transform:scale(1)}40%{transform:scale(.87) rotate(-7deg)}75%{transform:scale(1.04) rotate(3deg)}100%{transform:scale(1)}}}
/* Enhanced cards wrap the original photograph in a link; keep its image full-bleed. */
.collage-tile.photo-switch>.project-image-link>img:not(.detail-photo){position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
#ons-werk .photo-switch .project-image-link>.image-frame{width:100%;height:100%}
#ons-werk .photo-switch .project-image-link>.image-frame>img:not(.detail-photo){width:100%;height:100%;object-fit:cover}
.coffee-puzzle{width:min(640px,calc(100% - 28px))}
.puzzle-variants{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:22px 0 16px}
.puzzle-variants button{min-width:0;min-height:54px;border:1px solid var(--ink);background:white;color:var(--ink);padding:10px 8px;font-size:14px;line-height:1.3;font-weight:700}
.puzzle-variants button[aria-pressed=true]{background:var(--ink);color:white}
.puzzle-variants small{display:block;font-size:11px;margin-top:4px;font-weight:400}
.puzzle-example{font-size:13px}.puzzle-example summary{cursor:pointer;width:fit-content;padding:10px 0;min-height:44px}
.puzzle-example div{max-width:230px;margin:12px auto}.puzzle-example svg{width:100%;display:block}
.coffee-puzzle .puzzle-board{width:min(380px,100%);gap:2px;margin:18px auto 20px;background:white}
.coffee-puzzle .puzzle-piece{background:#f4f4f2;touch-action:manipulation}
.coffee-puzzle .puzzle-piece svg{overflow:hidden}
.coffee-puzzle .puzzle-board.is-complete{gap:0;background:var(--ice)}
.coffee-puzzle .puzzle-board.is-complete .puzzle-piece{background:var(--ice)}
/* Shared page edges, predictable reading widths, and aligned two-column headings. */
:root{--gutter:clamp(24px,4.3vw,72px);--editorial-width:1600px;--section-title:clamp(36px,4.1vw,62px)}
.container{width:100%;max-width:var(--editorial-width)}
.intro-grid,.section-head,.faq-layout,.enquiry-layout{column-gap:var(--column-gap,48px)}
.intro-grid>div>p,.article>div>p,.case-story>div>p,.services-insight p{max-width:58ch}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
.section-head>*,.intro-grid>*{min-width:0}
.section-head>.button,.section-head>.text-link{justify-self:start;max-width:100%;width:fit-content}
.about-page .intro-grid h2,.about-page .people-section>div>h2,.about-page .section-head h2{font-size:var(--section-title);line-height:1.13;letter-spacing:-.025em;font-weight:700;max-width:15ch}
.about-page .intro-grid>div{max-width:58ch}
.about-page .people-section>div>h2{width:calc((100% - var(--column-gap,48px))/2);margin-bottom:36px}
.about-page .section-head>.button{margin:0}
@media(max-width:760px){
 .section-head{grid-template-columns:minmax(0,1fr);gap:24px}
 .section-head>.button,.section-head>.text-link{margin-top:0}
 .about-page .intro-grid h2,.about-page .people-section>div>h2,.about-page .section-head h2{font-size:clamp(32px,8vw,42px);max-width:17ch;width:auto}
 .puzzle-variants{gap:5px}.puzzle-variants button{font-size:12px;padding:10px 4px}.puzzle-variants small{font-size:10px}
}

#project-collage{max-width:var(--editorial-width)}

/* Concept 31 — one quiet frame, three solvable sliding levels. */
.sliding-puzzle{width:min(560px,calc(100% - 28px));padding:32px}
.sliding-puzzle h2{font-size:clamp(32px,5vw,44px);margin-bottom:14px}
.sliding-puzzle>p{font-size:14px;max-width:44ch}
.sliding-puzzle .eyebrow{font-size:11px;letter-spacing:.04em}
.sliding-puzzle .puzzle-variants{display:flex;gap:0;border-bottom:1px solid var(--ink);margin:22px 0 18px}
.sliding-puzzle .puzzle-variants button{flex:1;min-height:44px;padding:10px 4px;border:0;background:white;color:var(--ink);font-size:12px;font-weight:400;position:relative}
.sliding-puzzle .puzzle-variants button[aria-pressed=true]{font-weight:700;background:white;color:var(--ink)}
.sliding-puzzle .puzzle-variants button[aria-pressed=true]::after{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:var(--orange);left:calc(50% - 2.5px);bottom:3px}
.sliding-puzzle .puzzle-board{width:min(360px,100%);gap:2px;padding:0;background:var(--ink);border:1px solid var(--ink);margin:20px auto 14px}
.sliding-puzzle .puzzle-piece{background:white;color:var(--ink);min-width:0;aspect-ratio:1;overflow:hidden}
.sliding-puzzle .puzzle-piece svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sliding-puzzle .puzzle-number{position:relative;font-family:var(--display);font-size:clamp(12px,3vw,17px);font-weight:400;color:#51576a;line-height:1;pointer-events:none}
.sliding-puzzle .puzzle-piece.is-empty{background:var(--ink)}
.puzzle-empty-dot{display:block;width:6px;height:6px;background:var(--orange);border-radius:50%;margin:auto}
.sliding-puzzle .puzzle-piece.is-movable:hover{background:#f3f3f1}
.sliding-puzzle .puzzle-piece[aria-disabled=true]{cursor:default}
.sliding-puzzle .puzzle-board.is-complete{gap:0;background:white}
.sliding-puzzle .puzzle-board.is-complete .puzzle-piece{background:white}
.sliding-puzzle .puzzle-board.is-complete .puzzle-number{visibility:hidden}
.sliding-puzzle .puzzle-status{min-height:24px;font-size:12px;margin:0 auto;max-width:none}
.sliding-puzzle .puzzle-actions{margin-top:18px;flex-direction:row;justify-content:space-between}
.sliding-puzzle .puzzle-actions .button{font-size:12px;padding:11px 14px;min-height:44px}
@media(max-width:600px){.sliding-puzzle{padding:24px 18px}.sliding-puzzle .puzzle-close{width:40px;height:40px;top:12px;right:12px}.sliding-puzzle .puzzle-variants button{font-size:11px}.sliding-puzzle .puzzle-board{margin-top:16px}}
@media(prefers-reduced-motion:no-preference){.sliding-puzzle .puzzle-piece.is-movable:active{background:var(--ice)}}

/* Concept 32 — simple room composition, no winning or losing. */
.room-game{width:min(580px,calc(100% - 28px));padding:30px}
.room-game h2{font-size:clamp(30px,5vw,42px);line-height:1.08;font-weight:700;max-width:12ch;margin:10px 0 16px;padding-right:0}
.room-game>.eyebrow{font-size:11px}
.room-game .room-status{font-size:14px;line-height:1.45;min-height:42px;margin:0;max-width:45ch}
.room-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 22px}
.room-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:88px;padding:8px;background:white;color:var(--ink);border:1px solid var(--ink);font-size:12px;line-height:1.3}
.room-item svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2}
.room-item[aria-pressed=true]{background:var(--ink);color:white;box-shadow:inset 0 -3px var(--orange)}
.room-item.is-placed{opacity:.35;cursor:default;border-style:dashed}
.room-plan{position:relative;width:100%;aspect-ratio:400/310;margin:auto;background:white;isolation:isolate}
.room-walls{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--ink);stroke-width:1.5;pointer-events:none}
.room-walls .room-door{stroke:#17203d66;stroke-width:1}
.room-walls .room-window{stroke:var(--orange);stroke-width:3}
.room-entry{position:absolute;bottom:-4px;left:9%;font-size:10px;color:#555b6f;background:white;padding:0 4px}
.room-spot{position:absolute;transform:translate(-50%,-50%);width:28%;height:32%;min-height:56px;min-width:44px;border:1px dashed #17203d55;background:#f7f7f5;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px;touch-action:manipulation}
.room-spot-0{left:28%;top:31%}.room-spot-1{left:73%;top:31%}.room-spot-2{left:58%;top:74%}
.room-spot small{font-size:10px;line-height:1.2;font-weight:400}.room-plus{font-family:var(--body);font-size:24px;line-height:1}
.room-spot:disabled{cursor:default}
.has-selection .room-spot:not(.is-filled){border-color:var(--ink);background:white}
.has-selection .room-spot:not(.is-filled):hover{background:var(--ice)}
.room-spot.is-filled{border-color:transparent;background:white}
.room-spot svg{width:80%;height:80%;fill:none;stroke:var(--ink);stroke-width:2}
.room-game .puzzle-actions{display:flex;flex-direction:row;justify-content:space-between;gap:10px;margin-top:26px}
.room-game .puzzle-actions .button{min-height:44px;font-size:12px;padding:11px 12px}
@media(max-width:600px){.room-game{padding:24px 18px}.room-game .puzzle-close{width:40px;height:40px;top:12px;right:12px}.room-palette{gap:7px;margin-bottom:14px}.room-item{min-height:78px}.room-item svg{width:38px;height:38px}.room-game .room-status{font-size:13px}}
@media(prefers-reduced-motion:no-preference){.room-spot.is-filled svg{animation:room-arrival .3s ease both}@keyframes room-arrival{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}}

/* Concept 34 — room packing with rotation, obstacles and an open route. */
.fit-game{width:min(650px,calc(100% - 24px));padding:28px}
.fit-game h2{font-size:clamp(29px,5vw,42px);font-weight:700;line-height:1.08;max-width:13ch;margin:8px 0 12px;padding-right:0}
.fit-game .eyebrow{font-size:11px}.fit-game .fit-brief{font-size:14px;line-height:1.4;max-width:44ch}
.fit-levels{display:flex;border-bottom:1px solid var(--ink);margin:18px 0 24px}
.fit-levels button{flex:1;border:0;background:white;color:var(--ink);min-height:44px;padding:9px 5px;font-size:12px;line-height:1.3;position:relative}
.fit-levels button[aria-pressed=true]{font-weight:700}.fit-levels button[aria-pressed=true]::after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--orange)}
.fit-plan{width:min(360px,100%);margin:30px auto;position:relative}
.fit-board{display:grid;grid-template-columns:repeat(6,1fr);position:relative;border:1.5px solid var(--ink);aspect-ratio:1;background:white;isolation:isolate}
.fit-cell{aspect-ratio:1;padding:0;border:0;border-right:1px solid #17203d12;border-bottom:1px solid #17203d12;background:transparent;min-width:0;touch-action:manipulation}
.fit-cell:disabled{cursor:default}.fit-cell:focus-visible{outline-offset:-4px;position:relative;z-index:3}.fit-cell:not(:disabled):hover{background:#d5ebeb55}
.fit-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}
.fit-furniture rect{fill:var(--ink)}.fit-furniture path{fill:none;stroke:white;stroke-width:4;stroke-linejoin:round}
.fit-furniture.is-selected path{stroke:var(--orange);stroke-width:6}
.fit-wall{fill:#c6c8d0;stroke:var(--ink);stroke-width:2}
.fit-ghost rect{fill:#d5ebebbb}.fit-ghost path{fill:none;stroke:var(--ink);stroke-width:4;stroke-dasharray:8 6}
.fit-ghost.is-invalid rect{fill:#f5a27588}.fit-ghost.is-invalid path{stroke:var(--ink)}
.fit-route{fill:none;stroke:var(--orange);stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 17}
.fit-window,.fit-door{position:absolute;left:33.333%;width:16.667%;text-align:center;font-size:10px;line-height:1.3;background:white;z-index:2}
.fit-window{top:-16px;border-bottom:3px solid var(--orange);padding-bottom:3px}.fit-door{bottom:-16px;border-top:3px solid var(--orange);padding-top:3px}
.fit-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:16px 0 12px}
.fit-piece{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 3px;min-height:80px;min-width:0;background:white;border:1px solid var(--ink);color:var(--ink);font-size:11px;line-height:1.2}
.fit-piece svg{width:40px;height:30px;fill:currentColor;stroke:none}.fit-piece .fit-origin{fill:var(--orange)}
.fit-piece small{font-size:9px;font-weight:400}.fit-piece[aria-pressed=true]{background:var(--ink);color:white}
.fit-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.fit-tools button{border:1px solid var(--ink);background:white;min-height:44px;padding:8px 12px;font-size:12px;line-height:1.2}
.fit-tools button:disabled{opacity:.35;cursor:default}.fit-count{margin-left:auto;font-size:11px;white-space:nowrap}
.fit-game .fit-status{font-size:13px;line-height:1.4;min-height:38px;margin:12px 0 0;max-width:none}
.fit-game .puzzle-actions{flex-direction:row;justify-content:space-between;gap:8px;margin-top:14px}
.fit-game .puzzle-actions .button{min-height:44px;font-size:12px;padding:10px 12px}
.fit-game .fit-next[hidden]{display:none}
@media(max-width:600px){.fit-game{padding:22px 16px}.fit-game .puzzle-close{top:10px;right:10px;width:40px;height:40px}.fit-levels button{font-size:11px}.fit-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.fit-piece{min-height:68px}.fit-game .fit-brief{font-size:13px}.fit-tools button{padding:8px 10px}.fit-count{margin-left:4px}.fit-game .puzzle-actions{flex-wrap:wrap}}

/* Concept 35 — optional proof of fit; wall-snapping follows the same preview. */
.fit-example{margin-top:12px;border-top:1px solid #17203d25;font-size:12px}
.fit-example summary{min-height:44px;padding:12px 0;cursor:pointer;width:fit-content}
.fit-example p{font-size:12px;line-height:1.4;margin:0 0 12px;max-width:48ch}
.fit-example-image{width:min(300px,100%);margin:12px auto;border:1px solid var(--ink);background:white}
.fit-example-image svg{display:block;width:100%;height:auto}
.fit-example-number{fill:white;font-family:var(--body);font-size:28px;text-anchor:middle;stroke:none}
.fit-example .fit-example-key{font-size:11px;margin-bottom:16px}

/* Concept 36 — visible access space that rotates with each piece. */
.fit-board{grid-template-columns:repeat(7,1fr)}
.fit-plan{width:min(392px,100%)}
.fit-window,.fit-door{left:42.857%;width:14.286%}
.fit-game h2{max-width:16ch;font-size:clamp(28px,4.7vw,40px)}
.fit-piece .fit-mini-use{fill:var(--ice);stroke:#17203d30;stroke-width:.3}
.fit-use rect{fill:#d5ebeb99;stroke:#17203d20;stroke-width:1;stroke-dasharray:5 5}
.fit-piece[aria-pressed=true] .fit-mini-use{fill:#d5ebeb88}
.fit-piece svg{height:35px;width:48px}
.fit-game .fit-status{min-height:54px}

/* Coffee game: discoverable rotation, live circulation and a dismissible invitation. */
.fit-selection{display:flex;align-items:center;gap:10px;margin:16px 0 24px;padding:10px 0;border-block:1px solid var(--ink)}
.fit-selected-preview{width:44px;height:44px;flex:0 0 44px}.fit-selected-preview svg{width:100%;height:100%;fill:var(--ink)}
.fit-selected-preview .fit-mini-use{fill:var(--blue,#d5ebeb)}.fit-selected-preview .fit-origin{fill:var(--orange)}
.fit-selected-name{font-size:13px;line-height:1.3;flex:1;min-width:0}
.fit-selection .fit-rotate{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:10px 12px;background:var(--ink);color:white;border:1px solid var(--ink);font:inherit;font-size:13px;white-space:nowrap;touch-action:manipulation}
.fit-rotate svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fit-window,.fit-door{white-space:nowrap;font-weight:700}
.fit-offer{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:32px;background:white;color:var(--ink);border:1.5px solid var(--ink)}
.fit-offer::backdrop{background:rgba(23,32,61,.65)}
.fit-offer h2{font-size:clamp(28px,6vw,38px);font-weight:700;line-height:1.08;margin:12px 0 18px}
.fit-offer p{font-size:16px;line-height:1.5;margin:0 0 24px}
.fit-offer .button{display:flex;justify-content:center;align-items:center;min-height:48px}
.fit-keep-playing{display:block;width:100%;margin-top:12px;min-height:44px;padding:10px;background:white;color:var(--ink);border:1px solid var(--ink);font:inherit;font-size:14px}
.fit-offer button:focus-visible,.fit-selection button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

/* Concept 38: navy opening panels, with the home hero preserved. */
body:not(.home-page) :is(.page-head,.project-opening,.project-header){background:var(--ink);color:var(--white);--line:rgba(255,255,255,.3)}
body:not(.home-page) :is(.page-head,.project-opening,.project-header) :is(h1,p,.eyebrow,.hero-light,.headline-light,.back-link,.project-header-top>a){color:var(--white)}
body:not(.home-page) :is(.page-head,.project-opening,.project-header) .accent{color:var(--orange)}
body:not(.home-page) :is(.page-head-meta,.project-header-top){border-color:rgba(255,255,255,.3)}
body:not(.home-page) :is(.page-head,.project-opening,.project-header) :is(.button,.text-link){border-color:white;background:transparent;color:white}
body:not(.home-page) :is(.page-head,.project-opening,.project-header) :is(.button,.text-link):hover{background:white;color:var(--ink)}
body:not(.home-page) .page-head+.section{padding-top:clamp(40px,5vw,72px)}

/* Concept 39 — four customer journeys within the existing visual system. */
.hero-stage .hero-intro{max-width:46ch;color:white}
.hero-stage .hero-intro .hero-promise{font-size:clamp(20px,2vw,29px);line-height:1.2;font-weight:700;margin:0 0 12px;max-width:25ch}
.hero-stage .hero-intro .hero-explanation{font-size:16px;line-height:1.5;margin:0;max-width:44ch}
.hero-stage .hero-route-button{color:white;border-color:#ffffffa0;font-size:14px;margin-top:18px;min-height:46px;padding:12px 18px}
.hero-stage .hero-route-button:hover{background:white;color:var(--ink)}
.journey-section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--editorial-gap,40px);align-items:end;margin-bottom:36px}
.journey-section-heading h2{font-size:clamp(32px,3.5vw,54px);font-weight:900;line-height:1.1;max-width:23ch}
.journey-section-heading h2>span:not(.accent){font-weight:300}
.journey-section-heading>p{font-size:17px;line-height:1.6;max-width:52ch}
.journey-section-heading>.button{justify-self:start}
.home-environments{padding-top:48px;padding-bottom:80px}
.environment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.environment-card{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--ink);color:var(--ink)}
.environment-card .image-frame{width:100%;aspect-ratio:1.3;overflow:hidden}
.environment-card .image-frame img{width:100%;height:100%;object-fit:cover}
.environment-card-copy{display:flex;flex-direction:column;flex:1;padding:22px 0 20px}
.environment-card h3{font-size:clamp(23px,2vw,30px);font-weight:700;line-height:1.15;letter-spacing:-.02em;min-height:2.3em}
.environment-card p{font-size:16px;line-height:1.5;margin:15px 0 24px;max-width:34ch}
.environment-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;font-size:14px;font-weight:700;min-height:44px}
.environment-action .ui-arrow{width:22px;height:22px;flex:none}
.environment-card:focus-visible{outline:3px solid var(--orange);outline-offset:6px}
.services-connection{font-size:17px;max-width:70ch;margin:0 0 28px;line-height:1.5}
.services-page .page-head .services-jumps a{color:white;border-color:#ffffff90}
.services-page .page-head .services-jumps a:hover{background:white;color:var(--ink)}
.audience-page .audience-title{font-size:clamp(38px,5.8vw,82px);line-height:1.13;font-weight:300;max-width:22ch}
.audience-title strong{font-weight:900}
.route-intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.audience-page .section{padding:64px 0}
.recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--editorial-gap,48px)}
.recognition-grid h2{font-size:clamp(30px,3.1vw,46px);line-height:1.15;max-width:24ch;font-weight:700}
.recognition-grid .eyebrow{display:block;margin-bottom:18px}
.recognition-grid p{font-size:18px;line-height:1.6}
.route-needs{padding:0;margin:24px 0 0;list-style:none}
.route-needs li{padding:13px 0 13px 22px;border-top:1px solid var(--line);position:relative;font-size:16px}
.route-needs li::before{content:'';position:absolute;left:0;top:23px;width:6px;height:6px;background:var(--orange);border-radius:50%}
.route-proof{background:#f6f6f4}
.route-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.route-proof-card{display:flex;flex-direction:column;min-width:0}
.proof-image{display:block}
.proof-image .image-frame{aspect-ratio:1.6;overflow:hidden}
.proof-image img{width:100%;height:100%;object-fit:cover}
.route-proof-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:24px 0 0}
.route-proof-copy h3{font-size:clamp(24px,2.4vw,34px);line-height:1.2;font-weight:700;max-width:100%}
.route-proof-copy p{font-size:16px;line-height:1.55;margin-top:16px;max-width:55ch}
.route-proof-copy .button{margin-top:24px}
.proof-role strong{display:block;font-weight:700;margin-bottom:5px}
.concept-review,.review-placeholder{font-size:13px!important;line-height:1.5!important}
.concept-review{border-top:1px solid var(--line);padding-top:16px;margin-top:32px;max-width:85ch;color:#4d5363}
.review-placeholder{border-left:3px solid var(--orange);padding-left:12px}
.route-expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:28px}
.route-expertise-grid article{border-top:1px solid var(--ink);padding-top:20px}
.route-expertise-grid h3{font-size:30px;font-weight:700;margin-bottom:18px}
.route-expertise-grid p{font-size:16px;line-height:1.6}
.route-process{background:var(--ink);color:white}
.route-process-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0 0 32px;border-top:1px solid #ffffff70}
.route-process-list li{position:relative;padding:24px 28px 0 0}
.route-process-list li+li{border-left:1px solid #ffffff50;padding-left:28px}
.route-process-list li>span{display:block;color:var(--orange);font-size:14px;margin-bottom:22px}
.route-process-list h3{font-size:clamp(23px,2.3vw,32px);font-weight:700;margin-bottom:18px;line-height:1.15}
.route-process-list p{font-size:16px;line-height:1.6}
.route-process .button{color:white;border-color:white}
.route-process .button:hover{background:white;color:var(--ink)}
.route-other{padding-top:28px;padding-bottom:28px}
.environment-navigation{position:static;display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;padding:0;font-size:14px;background:transparent;color:var(--ink)}
.environment-navigation a{padding:12px 0;min-height:44px;border-bottom:1px solid var(--line)}
.environment-navigation a[aria-current=page]{border-color:var(--orange)}
.environment-navigation a::after{display:none}
.phase-step{font-size:14px;font-weight:700;color:var(--orange);align-self:flex-start}
.phase-outcome{border-top:1px solid var(--line);padding-top:18px;margin-top:22px!important;font-size:15px!important}
.case-proof-summary{padding:48px 0;background:#f6f6f4}
.case-proof-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.case-proof-heading h2{font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1.15}
.case-proof-heading .eyebrow{font-size:12px;margin:0}
.case-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.case-proof-grid h3{font-size:22px;font-weight:700;line-height:1.2;margin-bottom:14px}
.case-proof-grid p{font-size:15px;line-height:1.6}
.case-review{border-top:1px solid var(--line);margin-top:28px;padding-top:12px;max-width:85ch;font-size:13px}
.case-review summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}
.case-review p{font-size:14px;line-height:1.6;padding-bottom:14px}
.case-review-inverse{border-color:#ffffff60}
.case-environment-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;min-height:44px;flex-wrap:wrap}
.page-head-meta:has(.case-environment-link){flex-wrap:wrap}
.coffee-top>.eyebrow{max-width:34ch;line-height:1.45}
#project-count{min-width:90px}
#project-count[role=status]{font-variant-numeric:tabular-nums}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.environment-card img,.proof-image img{transition:transform .35s ease}.environment-card:hover img,.proof-image:hover img{transform:scale(1.025)}.environment-action .ui-arrow{transition:transform .2s}.environment-card:hover .ui-arrow{transform:translate(3px,-3px)}}
@media(max-width:1100px){.environment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.environment-card h3{min-height:0}.environment-card .image-frame{aspect-ratio:1.7}.case-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .hero-stage .hero-content{height:auto;min-height:580px;max-height:none;padding-top:48px;padding-bottom:30px}
 .hero-stage .hero-bottom{width:100%;gap:22px}.hero-stage .hero-intro{max-width:38ch}.hero-stage .hero-intro .hero-promise{font-size:22px}.hero-stage .hero-intro .hero-explanation{font-size:15px}
 .journey-section-heading,.recognition-grid{grid-template-columns:1fr;gap:22px}.journey-section-heading{margin-bottom:28px}.journey-section-heading h2{font-size:clamp(29px,7vw,43px)}
 .home-environments,.audience-page .section{padding-top:44px;padding-bottom:44px}
 .route-proof-grid{grid-template-columns:1fr;gap:36px}.route-proof-copy{padding-top:20px}.route-proof-copy h3{font-size:26px}
 .route-expertise-grid{grid-template-columns:1fr;gap:24px}.route-expertise-grid h3{font-size:28px;margin-bottom:12px}
 .route-process-list{grid-template-columns:1fr}.route-process-list li,.route-process-list li+li{border-left:0;padding:22px 0;border-bottom:1px solid #ffffff50}.route-process-list li>span{margin-bottom:12px}
 .route-intro-actions{gap:10px}.route-intro-actions .button{max-width:100%;text-align:left}
 .case-proof-heading{display:block}.case-proof-heading .eyebrow{display:block;margin-top:14px}.case-proof-summary{padding:36px 0}
 .case-proof-grid{gap:24px}.case-proof-grid h3{font-size:21px}
 .environment-navigation{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
}
@media(max-width:520px){.environment-grid{grid-template-columns:1fr;gap:28px}.environment-card .image-frame{aspect-ratio:1.8}.environment-card-copy{padding-top:18px}.environment-card p{max-width:40ch;margin:12px 0}.environment-card h3{font-size:26px}.case-proof-grid{grid-template-columns:1fr}.case-proof-grid article+article{border-top:1px solid var(--line);padding-top:20px}}
.case-story-more>summary{cursor:pointer;min-height:48px;padding:14px 0;border-top:1px solid var(--ink);font-size:17px;font-weight:700}
.case-story-more[open]>.case-story{padding-top:28px}
.environment-filters [hidden]{display:none!important}
@media(max-width:760px){.case-story-more>summary{font-size:16px;line-height:1.4}}

/* Concept 40: photographs clip inside a stable frame, not on the scaling image. */
.image-frame .photo-viewport{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;clip-path:var(--photo-clip)}
.image-frame .photo-viewport>img{display:block;width:100%;height:100%;object-fit:cover;clip-path:none!important}
.image-frame:not(:has(.photo-viewport))>img{transform:none}
/* Intro and cover are separate flow boxes; no navy layer can cover the photograph. */
.project-detail-page main>:is(.page-head,.project-opening){display:flow-root;position:relative;isolation:isolate;z-index:0;overflow:clip;margin-bottom:0}
.project-detail-page .project-cover{position:relative;z-index:1;clear:both;margin-top:24px;background:white;isolation:isolate}
.project-detail-page .project-cover .image-frame{background:white}
.project-detail-page .project-cover .image-shade{display:none}
/* Equal padding and line boxes: no old per-component vertical nudges. */
.button,.text-link,.about-page .text-link,.coffee-action,.hero-project-action,.detail-toggle,.services-jumps a,.note-link,.section-label>a,.site-header #navigation>a.contact,.project-detail-page :is(.button,.text-link){display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;padding-block:12px;min-height:48px;box-sizing:border-box}
:is(.button,.text-link,.coffee-action,.hero-project-action,.detail-toggle,.note-link) .ui-arrow{display:block;flex-shrink:0;align-self:center}
.route-intro-actions .button{text-align:center}
.about-page .about-opening-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--column-gap,48px);align-items:center}
.about-page .about-opening-grid h1{font-size:clamp(42px,5.4vw,78px);line-height:1.08;margin:0;max-width:100%}
.about-opening-copy{max-width:52ch}
.about-opening-copy p{font-size:17px;line-height:1.6}
.about-opening-copy p:first-child{font-size:21px;font-weight:700;line-height:1.4}
.about-opening-copy .button{margin-top:24px}
.about-page .page-head{padding-block:36px 44px}
.about-page .page-head-meta{margin-bottom:28px}
.about-page .about-explorer{padding:48px 0}
.about-explorer .services-toolbar{align-items:center;margin-bottom:24px;gap:24px}
.about-explorer .services-toolbar h2{font-size:clamp(30px,3vw,44px);line-height:1.1;font-weight:700}
.about-explorer .services-navigation{gap:16px}
.about-explorer .services-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;align-items:stretch}
.about-explorer .services-panel>.image-frame{height:330px;min-height:0}
.about-explorer .services-panel>.image-frame img{height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.about-explorer .services-panel-copy{padding:28px 34px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.about-explorer .services-panel-copy h3{font-size:clamp(28px,3vw,42px);line-height:1.12;font-weight:700;margin-bottom:18px}
.about-explorer .services-panel-copy p{font-size:16px;line-height:1.6;max-width:48ch}
.about-explorer .services-panel-copy .button{margin-top:22px}
.about-explorer .services-rail-footer{margin-top:12px}
.about-page .people-section{padding:40px 0 48px;border-top:1px solid var(--line)}
.about-team-layout{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.5fr);gap:var(--column-gap,48px);align-items:start}
.about-team-intro{padding-top:8px}
.about-team-intro .eyebrow{display:block;margin-bottom:18px;font-size:13px}
.about-page .about-team-intro h2{font-size:clamp(30px,3.2vw,46px);line-height:1.13;font-weight:700;max-width:15ch;margin-bottom:22px}
.about-team-intro>p{font-size:16px;line-height:1.5}
.about-team-strip{min-width:0}
.about-team-strip .team-rail-toolbar{margin:0 0 14px;justify-content:flex-end}
.about-team-strip .team-rail-toolbar>p{display:none}
.about-page .about-team-strip .people-rail{margin:0;gap:20px;padding-bottom:16px}
.about-team-strip .person-card{flex-basis:clamp(210px,19vw,260px)}
.about-team-strip .person-card .image-frame img{height:290px;aspect-ratio:auto;object-fit:cover}
.about-team-strip .person-card h3{font-size:22px}
.about-team-strip .person-card figcaption p{font-size:14px;line-height:1.4}
@media(max-width:900px){.about-explorer .services-toolbar{align-items:flex-start;flex-direction:column}.about-explorer .services-navigation{width:100%;justify-content:space-between}.about-team-layout{grid-template-columns:1fr}.about-team-intro{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-items:center}.about-team-intro .eyebrow{grid-column:1/-1;margin:0}.about-page .about-team-intro h2{margin:0}.about-team-strip .team-rail-toolbar{margin-bottom:8px}.about-team-strip .person-card{flex-basis:240px}}
@media(max-width:760px){
 .project-detail-page .project-cover{margin-top:18px}
 .about-page .about-opening-grid{grid-template-columns:1fr;gap:24px}
 .about-page .about-opening-grid h1{font-size:clamp(38px,9.5vw,65px)}
 .about-opening-copy p{font-size:16px}.about-opening-copy p:first-child{font-size:19px}
 .about-page .page-head{padding-block:28px 32px}.about-page .page-head-meta{margin-bottom:24px}
 .about-page .about-explorer{padding:32px 0}
 .about-explorer .services-navigation{flex-wrap:wrap;gap:12px}.about-explorer .services-tabs{flex:1;gap:6px;flex-wrap:wrap}
 .about-explorer .services-tabs button{font-size:12px;padding:10px 12px;min-height:44px}
 .about-explorer .services-panel{grid-template-columns:1fr}
 .about-explorer .services-panel>.image-frame{height:auto;aspect-ratio:1.8}
 .about-explorer .services-panel>.image-frame img{height:100%;aspect-ratio:1.8}
 .about-explorer .services-panel-copy{padding:24px 20px;justify-content:flex-start}
 .about-explorer .services-panel-copy h3{font-size:28px;margin-bottom:14px}
 .about-team-intro{grid-template-columns:1fr;gap:14px}.about-page .about-team-intro h2{font-size:32px}
 .about-team-strip .person-card{flex-basis:66vw;max-width:260px}
 .about-team-strip .person-card .image-frame img{height:280px}
 .about-page .people-section{padding-block:30px 36px}
}
.site-header .menu-toggle>.menu-label{padding-block:0;line-height:1.25;align-items:center;justify-content:center}
