@font-face{font-family:Studio;src:url('assets/neue-haas-unica-pro-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:SuisseBodoni;src:url('assets/libre-bodoni-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#f9f9f7;--ink:#151515;--grey:#686866;--line:#bcbcb7;--gutter:clamp(22px,4.4vw,88px);--gap:clamp(18px,2vw,32px);--header:80px;--max:1600px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Studio,Arial,Helvetica,sans-serif;font-size:18px;line-height:1.5;letter-spacing:-.025em;font-synthesis:none;-webkit-font-smoothing:antialiased}
::selection{background:#d5d5ce;color:#111}
a{color:inherit;text-decoration:none}button,summary{font:inherit;letter-spacing:inherit}button{cursor:pointer;color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}
img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure,blockquote{margin:0}h1,h2,h3{font-weight:400}p+p{margin-top:1em}
.wrap{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin-inline:auto}
.muted{color:var(--grey)}.small,.folio,figcaption,.section-rule,.scene-caption,.site-footer{font-size:13px;line-height:1.4;letter-spacing:-.01em}
.dark{color:#f7f7f2;background:#151515;--grey:#b0b0a8;--line:#52524d}
.opening h1,.scene h2,.pair-heading h2,.chapter h2,.archive-intro>p:first-child,.large-copy,.contact-block h2,.case-heading h1,.case-intro>div>p,.case-next>a{font-family:SuisseBodoni,Georgia,'Times New Roman',serif;letter-spacing:-.015em;font-weight:400;font-variant-caps:normal;font-feature-settings:"smcp" 0,"c2sc" 0;font-synthesis:none}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;background:var(--ink);color:white;padding:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:60;pointer-events:none}.reading-progress span{display:block;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}
.site-header{height:var(--header);position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:25px;padding-inline:var(--gutter);background:rgba(249,249,247,.97);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:14px;font-size:15px;line-height:1.25}.brand img{width:42px;height:42px;border-radius:50%;mix-blend-mode:multiply}.brand .muted{display:block;font-size:11px;margin-top:3px}
.site-header nav{display:flex;gap:clamp(22px,3vw,48px);font-size:14px}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;left:0;right:8px;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;line-height:1.35;padding-block:6px;border-bottom:1px solid transparent;transition:border-color .2s}.text-link:hover{border-color:currentColor}
.small-circle,.circle-link{border:1px solid currentColor;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;font-family:Studio,Arial,sans-serif;font-size:17px;width:23px;height:23px;transition:transform .25s}.circle-link{width:30px;height:30px;font-size:21px}.text-link:hover .small-circle,.circle-link:hover{transform:rotate(90deg)}
.image-link{display:block}.image-link img{transition:filter .3s}.image-link:hover img{filter:brightness(.97)}
.section-rule{display:flex;align-items:baseline;gap:25px;border-top:1px solid var(--line);padding-top:18px}.section-rule h2,.section-rule>p{font-size:15px}.section-rule>span{margin-left:auto;color:var(--grey)}
/* The opening establishes the grid before the artwork starts to move. */
.opening{min-height:calc(100svh - var(--header));display:flex;flex-direction:column;padding-top:28px;overflow:clip}
.opening-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);font-size:13px;line-height:1.4}.opening-meta p+p{margin:0}.opening-meta p:last-child{justify-self:end}
.opening h1{display:grid;grid-template-columns:1.4fr 1fr;gap:6vw;align-items:end;font-size:clamp(70px,9.25vw,148px);line-height:1;margin:auto 0;padding:65px 0 85px}
.opening h1>span:last-child{font-size:.41em;line-height:1.12;color:#777771;padding-bottom:.15em}
.opening-footer{display:grid;grid-template-columns:1fr 1.5fr auto;gap:var(--gap);align-items:end;border-top:1px solid var(--line);padding:22px 0 28px;font-size:13px;line-height:1.4}.opening-footer p+p{margin:0}
.selected-work>.section-rule{margin-top:65px;margin-bottom:25px}
.work-index{position:relative;z-index:20;margin-left:20px}.work-index summary{list-style:none;cursor:pointer;display:flex;gap:24px}.work-index summary::-webkit-details-marker{display:none}.work-index>div{position:absolute;right:0;top:34px;width:330px;max-height:70svh;overflow:auto;overscroll-behavior:contain;background:var(--paper);border:1px solid var(--line);padding:12px 22px;display:grid}.work-index a{padding:10px 0;border-bottom:1px dotted var(--line)}.work-index a:hover{color:var(--grey)}
/* Complete static compositions are the default, including without JavaScript. */
.scene{padding-block:100px;--scene-size:190svh;position:relative}
.scene-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:start;padding-block:24px 32px}
.scene-head>.folio{grid-column:1/4}.scene-head>h2{grid-column:5/10;font-size:clamp(42px,4.7vw,75px);line-height:1}.scene-head>.text-link{grid-column:10/13;justify-self:end;align-self:end}
.scene-field{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6vw;align-items:center;padding-block:35px 45px}
.fit-target{display:none}.fit-art{display:block;width:100%}.fit-art img{width:100%}
.scene-caption{display:grid;grid-template-columns:1fr 1fr 100px;gap:var(--gap);align-items:center;padding-block:20px 24px;border-top:1px solid var(--line)}.scene-caption p+p{margin:0}.scene-track{height:1px;background:var(--line);display:none}.scene-track i{display:block;height:100%;background:currentColor;transform-origin:left;transform:scaleX(var(--scene-progress,0))}
.glas-scene{background:#e4e4e1}.glas-system p{font-size:15px;margin-top:24px}.glas-system img{width:100%}
.split-scene{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
.scene-copy{grid-column:1/6;padding-right:3vw}.scene-copy h2{font-size:clamp(43px,4.8vw,77px);line-height:1;margin:35px 0 30px}.scene-copy>p:not(.folio){font-size:18px;line-height:1.5;max-width:370px}.scene-copy .text-link{margin-top:25px;max-width:100%}
.image-window{grid-column:7/13;min-width:0;position:relative;display:grid;gap:35px}.image-window img{width:100%;object-fit:contain;max-width:min(100%,var(--native-width,100%));margin-inline:auto}.image-window figcaption{font-size:12px;color:var(--grey);margin-top:12px}
.museum-scene{background:#edede8}.museum-totem{width:32%;justify-self:end}.museum-window figure{min-width:0}
.colin-field{grid-template-columns:minmax(0,4fr) minmax(0,1fr);background:var(--paper)}.word-layer{display:none}.colin-identity{background:transparent;mix-blend-mode:multiply}.colin-identity img{width:100%}.colin-photo{width:100%;max-width:230px;justify-self:end}
.photo-word{display:flex;justify-content:center;font-family:Georgia,'Times New Roman',serif;font-size:clamp(60px,11vw,175px);letter-spacing:-.045em;line-height:1.2;white-space:nowrap}.photo-word span{display:block}
.books-scene{background:#f1f1ed;--scene-size:205svh}.book-cover{width:90%;justify-self:end}.book-spread{width:95%}.book-detail{width:72%;justify-self:end}.books-window img{mix-blend-mode:multiply}
.peugeot-car{mix-blend-mode:multiply}.peugeot-panels{display:grid;gap:28px}.peugeot-panels figure figcaption{margin-top:12px;color:var(--grey);font-size:12px}
.work-pair{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding-block:150px 190px}.work-pair>article:nth-child(2){padding-top:130px}.pair-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid var(--line);margin-bottom:25px}.pair-heading h2{font-size:clamp(34px,3.6vw,57px);line-height:1}.linn-image{background:#e4e4df}.linn-image img{width:100%;aspect-ratio:1.1;object-fit:contain}.origins-image{background:#151515}.origins-image img{width:100%;aspect-ratio:1.4;object-fit:contain}.pair-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px;line-height:1.4;margin-top:22px}
.chapter{padding-block:65px 75px;overflow:clip}.chapter .wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:end}.chapter .folio{grid-column:1/4;align-self:start}.chapter h2{grid-column:5/10;font-size:clamp(43px,5.4vw,88px);line-height:1}.chapter .wrap>p:last-child{grid-column:10/13;font-size:14px;line-height:1.4;margin:0;color:#b0b0a8}
.suissemas-scene{--scene-size:190svh;border-top:1px solid #4b4b46}.suissemas-scene .scene-head h2{font-size:clamp(34px,3.9vw,62px)}.suissemas-field{grid-template-columns:repeat(3,minmax(0,1fr));gap:5vw}.suissemas-field figure{text-align:center;justify-self:center}.suissemas-field img{max-width:100%;object-fit:contain;margin:auto}.suissemas-field figcaption{font-size:12px;color:#b5b5ad;margin-top:18px}.studio-object img{width:180px}.studio-snowflake img{width:300px}.studio-second img{width:230px}
.fingerprint-scene{--scene-size:185svh}.fingerprint-window{background:var(--paper)}.portrait-image{max-width:560px;width:90%;margin-left:auto;mix-blend-mode:multiply}.portrait-detail{width:32%;max-width:210px;mix-blend-mode:multiply}.portrait-detail img{width:100%}
/* On desktop each chapter gets one controlled stage and one coordinate system. */
@media(min-width:901px){
 .motion-ready .scene{height:var(--scene-size);padding-block:0}
 .motion-ready .scene-pin{position:sticky;top:var(--header);height:calc(100svh - var(--header));display:flex;flex-direction:column;min-height:0}
 .motion-ready .scene-head{flex-shrink:0;padding-block:23px 20px}
 .motion-ready .scene-field{display:block;position:relative;flex:1;min-height:0;overflow:clip;padding:0}
 .motion-ready .scene-caption{flex-shrink:0}.motion-ready .scene-track{display:block}
 .motion-ready [data-scroll]{transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(var(--ms,1)) rotate(var(--mr,0deg));opacity:var(--mo,1);will-change:transform,opacity}
 .motion-ready .fit-art{position:absolute;left:50%;top:50%;width:40%;max-width:min(500px,50svh);transform:translate(calc(-50% + var(--fx,0px)),calc(-50% + var(--fy,0px))) scale(var(--fs,1));transform-origin:center;will-change:transform}
 .motion-ready .fit-target{position:absolute;display:block;visibility:hidden;pointer-events:none}
 .motion-ready .glas-target{left:0;top:0;width:66%;height:100%}
 .motion-ready .glas-system{position:absolute;right:0;top:15%;width:32%;max-width:550px}.motion-ready .glas-system p{font-size:14px;margin-top:18px}
 .motion-ready .split-scene{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center;padding-block:40px}
 .motion-ready .scene-copy{position:relative;z-index:3;max-height:100%}
 .motion-ready .image-window{display:block;height:100%;min-height:0;overflow:clip}
 .motion-ready .image-window figure,.motion-ready .image-window>a{position:absolute}
 .motion-ready .museum-room{left:0;top:12%;width:100%}
 .motion-ready .museum-totem{right:0;bottom:35px;width:27%;max-width:185px;z-index:2}
 .motion-ready .museum-totem figcaption{font-size:11px}
 .motion-ready .word-layer{display:flex;position:absolute;left:0;top:15%;width:100%;height:60%;align-items:center;justify-content:center}
 .motion-ready .colin-identity{position:absolute;left:0;top:22%;width:74%;height:56%;display:flex;align-items:center}.motion-ready .colin-identity img{max-height:100%;object-fit:contain}
 .motion-ready .colin-photo{position:absolute;right:0;bottom:20px;width:19%;max-width:245px;max-height:95%}.motion-ready .colin-photo img{max-height:min(430px,49vh);width:auto;object-fit:contain;margin-left:auto}
 .motion-ready .book-cover{top:7%;right:0;width:86%;max-width:520px;z-index:1}
 .motion-ready .book-spread{top:43%;left:0;width:90%;max-width:560px;z-index:2}
 .motion-ready .book-detail{bottom:25px;right:0;width:58%;max-width:380px;z-index:3}
 .motion-ready .peugeot-car{width:70%;max-width:min(850px,54svh);z-index:2}
 .motion-ready .peugeot-target{left:0;top:7%;width:64%;height:88%}
 .motion-ready .peugeot-panels{position:absolute;right:0;top:10%;width:40%;gap:25px;z-index:1}
 .motion-ready .peugeot-panels img{max-height:21vh;width:100%;object-fit:contain}
 .motion-ready .suissemas-field figure{position:absolute;margin:0}
 .motion-ready .studio-object{left:23%;top:32%;width:180px}
 .motion-ready .studio-snowflake{left:36%;top:8%;width:300px;max-width:37vh}
 .motion-ready .studio-second{right:7%;bottom:20px;width:210px;max-width:25vh}
 .motion-ready .studio-snowflake img,.motion-ready .studio-second img{width:100%}
 .motion-ready .portrait-image{left:10%;top:0;width:80%;height:100%;max-width:560px;margin:0;display:flex;align-items:center;justify-content:center;transform-origin:center}
 .motion-ready .portrait-image img{width:auto;max-height:100%;object-fit:contain}
 .motion-ready .portrait-detail{left:0;bottom:0;width:29%;z-index:2}.motion-ready .portrait-detail img{max-height:34vh;object-fit:contain}
}
.depth-ready [data-flow] [data-scroll]{transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(var(--ms,1)) rotate(var(--mr,0deg));opacity:var(--mo,1);will-change:transform}
/* The complete collection keeps a calm, exact image and caption grid. */
.archive-block{padding-block:90px 140px;position:relative;background:var(--paper);z-index:2}
.archive-intro{display:grid;grid-template-columns:2fr 1fr;gap:var(--gap);margin:60px 0}.archive-intro>p:first-child{font-size:clamp(43px,5.5vw,88px);line-height:1}.archive-intro>p:last-child{font-size:16px;line-height:1.5;margin:0;align-self:end}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gap);row-gap:65px;align-items:start}
.archive-image{aspect-ratio:1.32;background:#e8e8e3;padding:22px;display:flex;align-items:center;justify-content:center;overflow:hidden}.archive-image img{width:100%;height:100%;max-width:var(--native-width,100%);object-fit:contain}
.archive-caption{display:flex;justify-content:space-between;align-items:end;gap:18px;padding-top:18px}.archive-caption .folio{font-size:11px;color:var(--grey);line-height:1.5}.archive-caption h3{font-size:22px;line-height:1.2;margin-top:8px;letter-spacing:-.025em}.archive-caption .circle-link{width:27px;height:27px;font-size:19px}
.archive-highland-heart .archive-image,.archive-identities .archive-image{background:var(--paper)}.archive-highland-heart img,.archive-identities img{mix-blend-mode:multiply}.archive-laser-gulf .archive-image{background:#1d1d1d}
/* Paul and contact. */
.paul-block{padding-block:20px 130px}.paul-intro{display:grid;grid-template-columns:1.55fr 1fr;gap:10vw;margin:75px 0 100px}.large-copy{font-size:clamp(42px,5.4vw,86px);line-height:1.05}.paul-intro>div{font-size:18px;line-height:1.5;max-width:450px}.paul-intro .small{font-size:13px;line-height:1.6;margin-top:35px}
.endorsements{display:grid;grid-template-columns:1fr 1fr;gap:7vw;border-top:1px solid var(--line);padding-top:35px}.endorsements blockquote>p{font-size:clamp(22px,2.15vw,34px);line-height:1.35;letter-spacing:-.025em}.endorsements footer{font-size:13px;margin-top:28px}.endorsements footer span{display:block;color:var(--grey);font-size:12px;margin-top:4px}
.credentials{margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.credentials summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;padding:19px 0}.credentials summary::-webkit-details-marker{display:none}.credentials[open] summary span{transform:rotate(45deg)}.credentials>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);padding-block:15px 30px}.credentials p+p{margin:0}
.contact-block{padding-top:35px;overflow:clip}.contact-block h2{font-size:clamp(72px,12.1vw,190px);line-height:1;margin:65px 0 40px}.contact-email{display:inline-block;font-size:clamp(25px,3.5vw,56px);line-height:1.2;border-bottom:1px solid #88887d;padding-bottom:8px}.contact-email:hover{color:#b6b6ae}.contact-signoff{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:75px 0 50px}.contact-signoff img{width:165px;max-height:100px;object-fit:contain;mix-blend-mode:screen}.contact-signoff p{font-size:13px;line-height:1.4}
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--gap);border-top:1px solid var(--line);padding-block:24px 28px;font-size:12px}.site-footer>a{justify-self:end}.motion-toggle{display:none;font-size:12px;line-height:1.4;background:none;border:0;padding:5px 0}.motion-toggle:hover{text-decoration:underline}html[data-motion] .motion-toggle{display:inline-block}
/* Every project remains a permanent, fully rendered page. */
.case-heading{padding-block:65px 45px;display:grid;grid-template-columns:1fr 2.8fr;gap:var(--gap)}.case-number{font-size:13px}.case-heading h1{font-size:clamp(56px,8.2vw,131px);line-height:1;overflow-wrap:normal}.case-discipline{font-size:14px;margin-top:25px}
.case-hero{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin:auto;background:#e8e8e3;display:flex;justify-content:center;align-items:center}.case-hero img{max-width:min(100%,var(--native-width,100%));width:100%;height:auto;max-height:85vh;object-fit:contain}.case-hero figcaption{display:none}
.case-intro{display:grid;grid-template-columns:1fr 2.8fr;gap:var(--gap);padding-block:80px}.case-intro h2{font-size:14px}.case-intro>div>p{font-size:clamp(32px,3.8vw,61px);line-height:1.13}
.case-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5vw;border-top:1px solid var(--line);padding-block:25px 100px}.case-story h2{font-size:14px;margin-bottom:25px}.case-story p{font-size:18px;line-height:1.55}
.case-gallery{display:grid;gap:70px;padding-bottom:95px}.case-gallery figure{width:100%;margin:auto;min-width:0}.case-gallery img{width:100%;max-width:min(100%,var(--native-width,100%));max-height:950px;object-fit:contain;margin:auto}.case-gallery figcaption{margin-top:15px;color:var(--grey)}
.case-credit{display:grid;grid-template-columns:1fr 2.8fr;gap:var(--gap);border-top:1px solid var(--line);padding-block:25px 80px;font-size:14px}.case-credit p+p{margin-top:12px}.case-next{border-top:1px solid var(--line);padding-block:40px 65px;display:flex;justify-content:space-between;align-items:end;gap:40px}.case-next p{font-size:14px;flex-shrink:0}.case-next a{font-size:clamp(34px,4vw,64px);line-height:1.1}.case-next .small-circle{margin-left:20px;vertical-align:middle;width:32px;height:32px;font-size:22px}
.case-page[data-project="colin-gray"] .case-hero{background:var(--paper);padding:55px 7vw}.case-page[data-project="colin-gray"] .case-hero img{mix-blend-mode:multiply}.case-page[data-project="colin-gray"] .case-gallery{max-width:760px}
.case-page[data-project="david-eustace"] .case-hero{padding:40px}.case-page[data-project="david-eustace"] .case-hero img{width:min(786px,100%)}
.case-page[data-project="origins"] .case-hero,.case-page[data-project="peugeot"] .case-hero,.case-page[data-project="suissemas"] .case-hero,.case-page[data-project="laser-gulf"] .case-hero{background:#151515;padding:35px}
.case-page[data-project="suissemas"] .case-hero img{width:360px}.case-page[data-project="suissemas"] .case-gallery{grid-template-columns:1fr 2fr;align-items:center}.case-page[data-project="suissemas"] .case-gallery figure:first-child img{max-height:300px;width:auto}
.case-page[data-project="fingerprint"] .case-hero img{width:auto;max-width:100%;max-height:85vh}.case-page[data-project="fingerprint"] .case-gallery{max-width:850px}
.case-page[data-project="identities"] .case-hero{background:var(--paper);padding:50px}.case-page[data-project="identities"] .case-hero img{mix-blend-mode:multiply}
.case-page[data-project="goma"] .case-hero{padding:35px}.case-page[data-project="goma"] .case-hero img{width:min(405px,100%)}.case-page[data-project="kelpies"] .case-hero{padding:40px}.case-page[data-project="kelpies"] .case-hero img{width:min(620px,100%);max-height:75vh}.case-page[data-project="laser-gulf"] .case-hero img{width:auto;max-height:80vh}
.case-page[data-project="goma"] .case-gallery,.case-page[data-project="mco"] .case-gallery,.case-page[data-project="identities"] .case-gallery,.case-page[data-project="experiments"] .case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:90px 7vw;align-items:center}
.case-page[data-project="identities"] .case-gallery figure{min-height:230px;display:flex;flex-direction:column;justify-content:center;mix-blend-mode:multiply}.case-page[data-project="identities"] .case-gallery img{max-height:180px}
/* Short screens retain a usable stage; narrow screens get a new composition. */
@media(min-width:901px) and (max-height:720px){
 .motion-ready .scene-head{padding-block:16px}.motion-ready .scene-head h2{font-size:clamp(36px,3.6vw,52px)}.motion-ready .scene-caption{font-size:12px;padding-block:15px}.motion-ready .scene-copy h2{font-size:clamp(39px,4.2vw,58px);margin-block:22px}.motion-ready .scene-copy>p:not(.folio){font-size:16px}.motion-ready .scene-copy .text-link{margin-top:15px;font-size:12px}.motion-ready .split-scene{padding-block:25px}.motion-ready .image-window figcaption{font-size:10px}.motion-ready .book-cover{max-width:380px}.motion-ready .book-spread{max-width:420px}.motion-ready .book-detail{width:48%}.motion-ready .glas-system p{font-size:12px}.motion-ready .studio-object{left:20%;top:22%;width:150px}.motion-ready .studio-snowflake{top:1%}.motion-ready .studio-second{right:8%;bottom:10px}.motion-ready .photo-word{font-size:10.5vw}
}
@media(max-width:1100px){
 .brand .muted{display:none}.opening h1{font-size:9.2vw}.scene-copy>p:not(.folio){font-size:17px}.scene-copy h2{font-size:4.8vw}.scene-copy .text-link{font-size:12px;gap:18px}.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px var(--gap)}.chapter .wrap>p:last-child{font-size:12px}.paul-intro{gap:7vw}.large-copy{font-size:5.3vw}
}
@media(max-width:900px){
 :root{--header:74px;--gutter:30px;--gap:22px}.brand{font-size:14px;gap:12px}.brand img{width:38px;height:38px}.site-header nav{font-size:13px;gap:22px}.opening{min-height:680px}.opening h1{font-size:9.6vw;gap:35px}.opening h1>span:last-child{font-size:.45em}.opening-meta,.opening-footer{font-size:12px}.opening-footer{grid-template-columns:1fr 1.3fr auto}.opening-footer .text-link{font-size:12px;gap:15px}.section-rule>span{display:none}.work-index{margin-left:auto}.scene{padding-block:75px}.scene-head{grid-template-columns:1fr 2fr;gap:22px}.scene-head>.folio{grid-column:1}.scene-head>h2{grid-column:2;font-size:clamp(40px,6vw,54px)}.scene-head>.text-link{grid-column:2;justify-self:start;font-size:13px}.scene-field{padding-block:25px 35px;gap:35px}.scene-caption{font-size:12px;grid-template-columns:1fr 1fr}.scene-track{display:none}.split-scene{grid-template-columns:1fr 1.2fr;gap:40px}.scene-copy{grid-column:1;padding:0}.scene-copy h2{font-size:clamp(40px,5.8vw,53px);margin-block:28px}.scene-copy>p:not(.folio){font-size:16px}.image-window{grid-column:2;gap:25px}.image-window figcaption{font-size:11px}.museum-totem{width:42%}.colin-field{grid-template-columns:3fr 1fr;gap:25px}.work-pair{padding-block:95px 115px;gap:40px}.work-pair>article:nth-child(2){padding-top:75px}.pair-heading{display:block}.pair-heading h2{margin-top:15px;font-size:40px}.pair-caption{font-size:13px}.chapter .wrap{grid-template-columns:1fr 2fr;gap:25px}.chapter .folio{grid-column:1}.chapter h2{grid-column:2;font-size:54px}.chapter .wrap>p:last-child{grid-column:2;font-size:14px}.suissemas-field{gap:30px}.studio-object img{width:130px}.studio-snowflake img{width:240px}.studio-second img{width:190px}.suissemas-field figcaption{font-size:10px}.archive-block{padding-block:65px 100px}.archive-intro{margin-block:45px}.archive-intro>p:first-child{font-size:53px}.archive-intro>p:last-child{font-size:15px}.paul-intro{grid-template-columns:1.3fr 1fr;gap:6vw;margin:60px 0 80px}.large-copy{font-size:clamp(37px,5.1vw,46px)}.paul-intro>div{font-size:16px}.credentials>div{grid-template-columns:1fr 1fr}.contact-block h2{font-size:12vw}.case-heading h1{font-size:clamp(54px,8.2vw,74px)}.case-story{gap:30px}.case-story p{font-size:16px}.case-intro>div>p{font-size:42px}.case-next{gap:30px}
}
@media(max-width:600px){
 :root{--header:102px;--gutter:22px;--gap:20px}.site-header{flex-direction:column;align-items:start;justify-content:center;gap:11px;padding-block:12px}.brand{font-size:13px;gap:10px}.brand img{width:31px;height:31px}.brand .muted{display:block;font-size:10px;margin-top:1px}.site-header nav{width:100%;justify-content:space-between;gap:15px;font-size:13px}.opening{min-height:calc(100svh - var(--header));padding-top:23px}.opening-meta{grid-template-columns:1fr 1fr;font-size:11px}.opening-meta p:nth-child(2){display:none}.opening-meta p:last-child{justify-self:end}.opening h1{grid-template-columns:1fr;gap:25px;font-size:clamp(58px,16vw,94px);padding-block:65px 75px;line-height:1}.opening h1>span:last-child{font-size:.48em;justify-self:end;width:72%;padding:0;line-height:1.12}.opening-footer{grid-template-columns:1fr 1fr;gap:22px;font-size:11px;padding-block:19px 26px}.opening-footer>p:nth-child(2){display:none}.opening-footer .text-link{font-size:12px;justify-self:end}.selected-work>.section-rule{margin-block:45px 15px}.section-rule{font-size:12px}.section-rule h2{font-size:14px}.work-index>div{width:min(320px,calc(100vw - 44px));font-size:13px}.work-index summary{gap:16px}.scene{padding-block:55px}.scene-head{grid-template-columns:1fr;gap:20px;padding-block:20px 30px}.scene-head>.folio,.scene-head>h2,.scene-head>.text-link{grid-column:1}.scene-head>.folio{font-size:11px}.scene-head>h2{font-size:clamp(39px,11.3vw,54px)}.scene-head>.text-link{font-size:12px}.scene-field{grid-template-columns:1fr;gap:35px;padding-block:15px 30px}.glas-system{width:100%}.glas-system p{font-size:14px;margin-top:20px}.scene-caption{grid-template-columns:1fr;gap:12px;padding-block:18px;font-size:12px}.split-scene{grid-template-columns:1fr;gap:40px}.scene-copy,.image-window{grid-column:1}.scene-copy h2{font-size:clamp(40px,11.6vw,55px);margin-block:26px}.scene-copy .folio{font-size:11px}.scene-copy>p:not(.folio){font-size:17px;max-width:100%}.scene-copy .text-link{margin-top:20px;font-size:12px}.image-window{gap:28px}.museum-totem{width:36%;max-width:180px}.image-window figcaption{font-size:11px}.colin-field{grid-template-columns:1fr;gap:35px}.colin-identity{padding-block:20px}.colin-photo{width:44%;max-width:220px;justify-self:end}.book-cover{width:96%}.book-spread{width:93%;justify-self:end}.book-detail{width:88%;justify-self:start}.peugeot-panels{gap:30px}.peugeot-panels figure figcaption{font-size:11px}.work-pair{grid-template-columns:1fr;gap:65px;padding-block:75px 90px}.work-pair>article:nth-child(2){padding:0}.pair-heading{display:flex}.pair-heading h2{font-size:38px;margin:0}.pair-heading .folio{font-size:11px}.pair-caption{font-size:13px;line-height:1.5}.chapter{padding-block:45px 50px}.chapter .wrap{grid-template-columns:1fr;gap:28px}.chapter .folio,.chapter h2,.chapter .wrap>p:last-child{grid-column:1}.chapter h2{font-size:clamp(39px,11vw,54px)}.chapter .wrap>p:last-child{font-size:14px}.suissemas-scene .scene-head h2{font-size:clamp(33px,9.5vw,47px)}.suissemas-field{grid-template-columns:1fr;gap:45px}.suissemas-field figcaption{font-size:11px}.studio-object img{width:150px}.studio-snowflake img{width:280px;max-width:100%}.studio-second img{width:245px}.portrait-image{width:88%;margin-left:auto}.portrait-detail{width:36%;max-width:175px}.archive-block{padding-block:40px 75px}.archive-intro{grid-template-columns:1fr;gap:25px;margin-block:40px}.archive-intro>p:first-child{font-size:clamp(37px,10.5vw,50px)}.archive-grid{grid-template-columns:1fr;gap:45px}.archive-image{padding:20px;aspect-ratio:1.27}.archive-caption h3{font-size:23px}.archive-caption .folio{font-size:11px}.paul-block{padding-block:20px 80px}.paul-intro{grid-template-columns:1fr;gap:35px;margin:45px 0 60px}.large-copy{font-size:clamp(30px,9.3vw,50px)}.paul-intro>div{font-size:17px}.endorsements{grid-template-columns:1fr;gap:45px}.endorsements blockquote>p{font-size:25px}.endorsements footer{font-size:12px}.endorsements footer span{font-size:11px}.credentials{margin-top:50px}.credentials>div{grid-template-columns:1fr;gap:25px;font-size:13px}.contact-block{padding-top:28px}.contact-block .section-rule{display:block}.contact-block .section-rule>span{display:block;margin:17px 0 0;font-size:12px}.contact-block h2{font-size:15.7vw;line-height:1;margin:45px 0 32px}.contact-email{font-size:7.1vw;letter-spacing:-.025em}.contact-signoff{margin:60px 0 35px;gap:25px}.contact-signoff img{width:110px;max-height:70px}.contact-signoff p{font-size:11px}.site-footer{grid-template-columns:1fr auto;font-size:11px;gap:18px;padding-block:22px}.site-footer>a{grid-column:1/-1;justify-self:start}.motion-toggle{font-size:11px}.case-heading{grid-template-columns:1fr;gap:28px;padding-block:35px}.case-heading h1{font-size:clamp(47px,13.8vw,67px)}.case-number,.case-discipline{font-size:12px}.case-discipline{margin-top:18px}.case-hero{width:100%}.case-hero img{max-height:76vh}.case-intro{grid-template-columns:1fr;gap:25px;padding-block:45px}.case-intro>div>p{font-size:34px}.case-story{grid-template-columns:1fr;gap:35px;padding-block:23px 55px}.case-story h2{font-size:12px;margin-bottom:15px}.case-story p{font-size:17px}.case-gallery{gap:45px;padding-bottom:55px}.case-gallery figcaption{font-size:12px}.case-credit{grid-template-columns:1fr;gap:22px;padding-block:23px 45px;font-size:13px}.case-next{display:block;padding-block:30px 45px}.case-next a{display:block;margin-top:22px;font-size:35px}.case-next .small-circle{width:27px;height:27px;font-size:18px;margin-left:12px}.case-page[data-project="suissemas"] .case-gallery,.case-page[data-project="goma"] .case-gallery,.case-page[data-project="mco"] .case-gallery,.case-page[data-project="identities"] .case-gallery,.case-page[data-project="experiments"] .case-gallery{grid-template-columns:1fr;gap:45px}.case-page .case-hero{padding:25px}.case-page[data-project="colin-gray"] .case-hero{padding:40px 22px}
}
@media(prefers-reduced-motion:reduce){html:not([data-motion="on"]){scroll-behavior:auto}html:not([data-motion="on"]) *,html:not([data-motion="on"]) *:before,html:not([data-motion="on"]) *:after{animation:none!important;transition:none!important}}
html[data-motion="off"]{scroll-behavior:auto}html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{transition:none!important;animation:none!important}

/* Headline fits checked against the actual display-font metrics. */
@media(min-width:901px){
 .museum-scene .scene-copy h2,.motion-ready .museum-scene .scene-copy h2{font-size:clamp(36px,4.1vw,66px)}
 .motion-ready .glas-target,.motion-ready .peugeot-target{width:calc((100% - var(--gap)*2)/3*2 + var(--gap))}
 .motion-ready .glas-system,.motion-ready .peugeot-panels{width:calc((100% - var(--gap)*2)/3)}
}
@media(max-width:600px){
 .museum-scene .scene-copy h2{font-size:clamp(34px,10.6vw,55px)}
 .books-scene .scene-copy h2{font-size:clamp(39px,11.6vw,55px)}
}

/* Keep white-field original artwork free of hover or compositing rectangles. */
.colin-identity:hover img,.peugeot-car:hover img,.portrait-image:hover img{filter:none}
@media(min-width:601px) and (max-width:900px){.museum-scene .scene-copy h2{font-size:clamp(35px,4.4vw,40px)}}
@media(min-width:601px) and (max-width:760px){
 .split-scene{grid-template-columns:1fr;gap:40px}
 .scene-copy,.image-window{grid-column:1}
 .scene-copy h2{font-size:clamp(43px,6.8vw,52px)}
 .museum-scene .scene-copy h2{font-size:clamp(42px,6.2vw,48px)}
 .image-window{width:100%;max-width:560px;margin-inline:auto}
}

/* Mobile artwork follows its own viewport position, without desktop pinning. */
html.depth-ready:not(.motion-ready) [data-scene] [data-scroll],
html.depth-ready:not(.motion-ready) [data-scene] [data-fit]{
 transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(var(--ms,1)) rotate(var(--mr,0deg));
 transform-origin:center;
 opacity:1;
 will-change:transform;
}
/* Leave room for each image to settle before the next image or caption. */
html.depth-ready:not(.motion-ready) .scene-field,
html.depth-ready:not(.motion-ready) .image-window{row-gap:52px}
html.depth-ready:not(.motion-ready) .suissemas-field{row-gap:65px}

/* Phone chapters reveal the idea, rather than merely drifting through it. */
@media(max-width:900px){
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene){height:190svh;padding-block:0}
 html.mobile-sequence .scene.colin-scene{height:230svh}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene)>.scene-pin{position:sticky;top:var(--header);height:calc(100svh - var(--header));display:flex;flex-direction:column;min-height:0}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-head{display:grid;grid-template-columns:1fr;gap:14px;flex-shrink:0;padding-block:16px 12px}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-head>*{grid-column:1}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-head h2{font-size:clamp(33px,9.8vw,56px);line-height:1}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-head .folio{font-size:11px}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-head>.text-link{justify-self:start;font-size:12px;padding-block:3px}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-field{display:block;position:relative;flex:1;min-height:0;overflow:clip;padding:0}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) [data-scroll]{transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(var(--ms,1)) rotate(var(--mr,0deg));opacity:var(--mo,1);will-change:transform,opacity}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-caption{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex-shrink:0;font-size:11px;padding-block:14px 18px}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-caption>p:nth-child(2){text-align:right}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-track{display:block;grid-column:1/-1;width:100%}
 /* The same intact bottle photograph changes position and scale, then meets the system. */
 html.mobile-sequence .glas-art{position:absolute;left:50%;top:50%;width:66%;max-width:280px;transform:translate(calc(-50% + var(--fx,0px)),calc(-50% + var(--fy,0px))) scale(var(--fs,1));transform-origin:center;will-change:transform}
 html.mobile-sequence .glas-target{position:absolute;display:block;visibility:hidden;pointer-events:none;left:0;top:0;width:100%;height:48%}
 html.mobile-sequence .glas-system{position:absolute;left:0;bottom:0;width:100%;height:47%;display:flex;flex-direction:column;justify-content:center}
 html.mobile-sequence .glas-system img{width:100%;height:calc(100% - 36px);object-fit:contain}
 html.mobile-sequence .glas-system p{font-size:11px;line-height:1.3;margin-top:8px}
 /* The observation stays in view while the same letters gather into Gray. */
 html.mobile-sequence .colin-field{background:var(--paper)}
 html.mobile-sequence .colin-scene .word-layer{position:absolute;left:0;top:0;width:100%;height:58%;display:flex;align-items:center;justify-content:center;z-index:1}
 html.mobile-sequence .colin-scene .photo-word{font-size:clamp(36px,10.4vw,86px);transform:scale(var(--gray-scale,1));transform-origin:center}
 html.mobile-sequence .colin-scene .photo-word span:not(.kept){color:#93938c}
 html.mobile-sequence .colin-scene .photo-word .kept{color:var(--ink)}
 html.mobile-sequence .colin-scene .colin-identity{position:absolute;left:0;top:0;width:100%;height:58%;display:flex;align-items:center;justify-content:center;padding:0;z-index:2}
 html.mobile-sequence .colin-scene .colin-identity img{width:100%;max-height:100%;object-fit:contain}
 html.mobile-sequence .colin-scene .colin-photo{position:absolute;right:0;bottom:0;width:38%;max-width:160px;height:38%;z-index:3}
 html.mobile-sequence .colin-scene .colin-photo img{width:100%;height:100%;object-fit:contain;object-position:right bottom}
 /* One studio object becomes its actual finished card. */
 html.mobile-sequence .suissemas-field figure{position:absolute;display:block;text-align:center;justify-self:auto}
 html.mobile-sequence .suissemas-field img{width:100%;height:auto;object-fit:contain}
 html.mobile-sequence .suissemas-field figcaption{font-size:10px;line-height:1.35;margin-top:12px}
 html.mobile-sequence .studio-object{left:25%;top:26%;width:45%;max-width:170px}
 html.mobile-sequence .studio-snowflake{left:10%;top:4%;width:68%;max-width:min(280px,28svh)}
 html.mobile-sequence .studio-second{right:0;bottom:0;width:32%;max-width:min(135px,19svh)}
}
@media(max-width:900px) and (max-height:650px){
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-head{gap:10px;padding-block:12px 8px}
 html.mobile-sequence .scene:is(.glas-scene,.colin-scene,.suissemas-scene) .scene-caption{font-size:10px;gap:8px;padding-block:10px 12px}
}
@media(max-width:900px){
 html.mobile-sequence .scene.glas-scene [data-fit]{transform:translate(calc(-50% + var(--fx,0px)),calc(-50% + var(--fy,0px))) scale(var(--fs,1))}
}

/* Museum displays retain their own proportions and a useful human scale. */
.case-page[data-project="maritime"] .case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 6vw;align-items:end}
.case-page[data-project="maritime"] .case-gallery>figure:first-child{grid-column:1/-1}
.case-page[data-project="maritime"] .case-gallery img[src$=".svg"]{width:100%;max-width:none;height:min(78svh,760px);object-fit:contain}
@media(max-width:900px){
 .case-page[data-project="maritime"] .case-gallery{grid-template-columns:1fr;gap:55px}
 .case-page[data-project="maritime"] .case-gallery img[src$=".svg"]{height:72svh}
}

/* Complete photographs selected from the user's supplied sheets. */
.source-crop{display:block;max-width:100%;height:auto;overflow:hidden}
.case-gallery .source-crop,.case-hero .source-crop{width:100%;height:auto}
.case-hero .source-crop{max-height:82svh}
.case-page[data-project="maritime"] .case-gallery>figure:first-child{grid-column:auto}
.case-page[data-project="maritime"] .case-gallery .source-crop{width:100%;height:60svh}
.case-page[data-project="david-eustace"] .case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 5vw;align-items:end}
.case-page[data-project="david-eustace"] .case-gallery .source-crop{width:100%;height:46svh}
@media(max-width:900px){
 .case-page[data-project="david-eustace"] .case-gallery{grid-template-columns:1fr;gap:45px}
 .case-page[data-project="david-eustace"] .case-gallery .source-crop{height:auto}
}
/* Automotive studio cutouts float directly on the page. */
.peugeot-car{background:none;mix-blend-mode:normal}
.peugeot-panels{background:none}
.peugeot-car img,.peugeot-panels img{object-fit:contain}
.case-page[data-project="david-eustace"] .case-hero{background:var(--paper);padding:0}
.case-page[data-project="david-eustace"] .case-hero img{width:min(1100px,100%);mix-blend-mode:multiply;max-height:80svh}
/* A personal introduction, led by the supplied portrait. */
.paul-intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(35px,7vw,110px);align-items:center;margin-block:70px 100px}
.paul-portrait{width:100%;max-width:570px;margin:0}
.paul-portrait img{width:100%;height:auto;max-width:100%;display:block}
.paul-portrait figcaption{padding-top:14px;font-size:11px;color:var(--grey)}
.paul-intro>.paul-bio{max-width:none;font-size:17px;line-height:1.55}
.paul-bio .large-copy{font-size:clamp(37px,4.5vw,70px);line-height:1.04;margin-bottom:38px}
.paul-bio-copy{max-width:520px}
@media(max-width:900px){
 .paul-intro{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:35px;align-items:start}
 .paul-bio .large-copy{font-size:clamp(32px,4.4vw,44px);margin-bottom:25px}
 .paul-intro>.paul-bio{font-size:15px}
}
@media(max-width:600px){
 .paul-intro{grid-template-columns:minmax(0,1fr);gap:38px;margin-block:40px 65px}
 .paul-portrait{max-width:460px;margin-inline:auto}
 .paul-bio .large-copy{font-size:clamp(32px,9.3vw,48px)}
 .paul-intro>.paul-bio{font-size:17px}
}

/* Origins display restorations keep their original artwork and framing. */
.case-page[data-project="origins"] .case-hero{background:#e5e4dd;padding:30px}
.case-page[data-project="origins"] .case-hero img{max-width:680px}
.case-page[data-project="origins"] .case-gallery figure:first-child{max-width:560px}
.case-page[data-project="origins"] .case-gallery figure:last-child{max-width:1250px}
@media(max-width:600px){
 .case-page[data-project="origins"] .case-hero{padding:20px}
}

/* Pictii retains the original presentation's full compositions and white page. */
.case-page[data-project="pictii"]{background:#fff}
.pictii-presentation{--max:1330px}
.pictii-presentation .pictii-sheet{margin:0;min-width:0}
.pictii-presentation .pictii-sheet+.pictii-sheet{margin-top:75px}
.pictii-presentation .pictii-sheet>figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border-bottom:1px dotted #aaa;padding:0 0 17px;margin:0 0 28px;color:#151515;font-size:12px;line-height:1.35}
.pictii-presentation .pictii-sheet>figcaption>span:last-child{color:#777}
.pictii-image{display:block;max-width:100%;cursor:zoom-in}
.pictii-presentation .pictii-image img{display:block;width:100%;max-width:100%;height:auto}
.pictii-sheet-note{max-width:460px;font-size:13px;line-height:1.5;margin-top:17px;color:#686866}
.pictii-stage{margin-bottom:100px}
.pictii-stage-heading{margin-bottom:35px}
.pictii-stage-heading h2{font-family:Studio,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4;letter-spacing:-.025em}
.pictii-stage-heading p{font-size:13px;color:#777;margin:0}
.pictii-approach-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6vw;max-width:1100px;margin:45px 0 65px;font-size:16px;line-height:1.6}
.pictii-approach-copy p+p{margin:0}
.pictii-logo-sheet{padding:50px min(13vw,180px)}
.pictii-logo-sheet img{display:block;width:100%;max-width:760px;height:auto;margin:auto}
.pictii-logo-sheet figcaption{text-align:center;font-size:12px;color:#777;margin-top:40px}
@media(max-width:600px){
 .pictii-presentation .pictii-sheet+.pictii-sheet{margin-top:48px}
 .pictii-presentation .pictii-sheet>figcaption{font-size:11px;margin-bottom:20px;padding-bottom:12px}
 .pictii-stage{margin-bottom:65px}
 .pictii-stage-heading{margin-bottom:25px}
 .pictii-approach-copy{grid-template-columns:minmax(0,1fr);gap:25px;margin:30px 0 40px;font-size:15px}
 .pictii-logo-sheet{padding:35px 0}
 .pictii-logo-sheet figcaption{font-size:11px;margin-top:25px}
 .pictii-sheet-note{font-size:12px;margin-top:13px}
}
