/* TRAVIS structure study. Independently authored from live layout measurements. */
:root{--paper:#efefef;--surface:#e8e8e8;--ink:#212121;--red:#ff4d00;--line:#d7d7d7;--muted:#686868;--gap:18px;--cols:3;--span:1;--start:1;--intro-start:1;--intro-span:3;--control:18px;--footer-height:auto;--font-text:"neue-haas-grotesk-text","Helvetica Neue",Arial,sans-serif;--font-display:"neue-haas-grotesk-display","Helvetica Neue",Arial,sans-serif;--font-meta:"ibm-plex-mono","Courier New",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;color:var(--ink);background:var(--paper);font:400 14px/1.33 var(--font-text);font-synthesis:none;-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400}h1{font-size:50px;line-height:.98;letter-spacing:-.045em}h2{font-size:32px;line-height:1.1;letter-spacing:-.04em}h3{font-size:28px;line-height:1.1;letter-spacing:-.035em}p{line-height:1.4}img,video{display:block;max-width:100%}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}.red{color:var(--red)}.frame{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--gap)}.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:18px;z-index:1000;background:var(--ink);color:var(--paper);padding:10px}.skip:focus{top:10px}.label,dt,.project-label,.info-bar,figcaption,.review-copy,.permalink,.canvas-motion-title{font:400 10px/1.3 var(--font-meta);letter-spacing:.04em;text-transform:uppercase}.review-copy{color:var(--muted);font-size:10px;line-height:1.5}.site-header{height:66px;align-items:center;position:relative;z-index:30;background:var(--paper);row-gap:0}.brand{grid-column:1/span 2;font:400 22px/1 var(--font-text);letter-spacing:-.065em;width:fit-content}.brand sup{font-size:10px;vertical-align:top;letter-spacing:0;margin-left:2px}.site-header nav{display:none}.site-header nav a{width:fit-content;white-space:nowrap;position:relative;padding:1px 3px}.site-header nav a:hover,.site-header nav a[aria-current=page]{background:var(--ink);color:var(--paper)}.site-header nav a[aria-current=page]:after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--red)}.mobile-toggle{grid-column:3;justify-self:end;position:relative;width:30px;height:24px;padding:4px 0;border:0;background:transparent;cursor:pointer}.mobile-toggle:before,.mobile-toggle:after,.mobile-toggle span{content:'';position:absolute;height:1px;width:27px;left:0;background:currentColor}.mobile-toggle:before{top:5px}.mobile-toggle span{top:12px}.mobile-toggle:after{top:19px}.menu-open{overflow:hidden}.menu-open .site-header{z-index:100}.menu-open .site-header nav{position:fixed;inset:66px 0 0;display:flex;flex-direction:column;justify-content:center;gap:0;background:var(--ink);color:var(--paper);padding:18px}.menu-open .site-header nav a{font-size:40px;padding:24px 18px;width:100%;border-bottom:1px solid #3c3c3c}.menu-open .site-header nav a[aria-current=page]{background:var(--red)}.intro{position:relative}.projects-intro{min-height:487px;padding-top:130px;padding-bottom:25px;grid-template-rows:1fr auto;row-gap:24px}.intro-copy{grid-column:1/-1;align-self:end;min-width:0}.intro-copy>p{margin-top:12px;max-width:320px;font-size:14px;line-height:1.33;letter-spacing:0}.contact-corner{grid-column:1/span 2;grid-row:2;color:var(--red);align-self:end;font-size:11px;line-height:1.6;text-transform:uppercase}.contact-corner span{font-size:inherit}.compact-intro{min-height:150px;padding-top:15px;padding-bottom:25px;grid-template-rows:1fr auto}.compact-intro .intro-copy{grid-row:1;grid-column:1/span 2}.compact-intro .intro-copy>p{font:400 10px/1.2 var(--font-meta);letter-spacing:.06em;text-transform:uppercase;margin:0;max-width:260px}.content-sheet{position:relative;z-index:1;background:var(--paper)}main{background:var(--surface);position:relative;z-index:2}.projects-page .opening{position:sticky;top:0;z-index:0;background:var(--paper)}.project-grid{max-width:1440px;margin:auto}.project{position:relative;background:var(--surface);display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gap);padding:0 var(--gap);border-top:1px solid var(--line);overflow-anchor:none;--card-column:2}.project.slot-2{--card-column:1}.project.slot-3{--card-column:3}.project.slot-4{--card-column:2}.project>details{grid-column:var(--card-column)/span var(--span);align-self:start;min-width:0;position:relative;border-inline:1px solid var(--line);z-index:1}.project>details[open]{grid-column:1/-1;border-inline:0}.project summary{cursor:pointer;list-style:none;position:relative}.project summary::-webkit-details-marker{display:none}.project-label{height:var(--control);min-height:var(--control);padding:3px 4px;display:flex;align-items:center;justify-content:space-between;gap:8px;overflow:hidden;font-size:8px;line-height:10px}.project-label h2{font:inherit;letter-spacing:inherit;overflow:hidden;flex:1;min-width:0}.project-label>span{flex-shrink:0;white-space:nowrap;font-size:8px}.project-title-track{display:flex;width:max-content}.project-title-track>span{display:block;padding-right:20px}.project-title-track>span+span{visibility:hidden}.project summary:hover .project-label,.project summary:focus-visible .project-label{color:#fff;background:var(--ink)}.project:not(:has(details[open])) summary:hover .project-title-track{animation:title-drift 6s linear infinite}.project:not(:has(details[open])) summary:hover .project-title-track>span+span{visibility:visible}.project-cover{aspect-ratio:1;position:relative;overflow:hidden;contain:paint}.project-cover img{width:100%;height:100%;object-fit:cover}.gemuni-project .project-cover{background:#100d24}.gemuni-project .project-cover img{object-fit:contain}.project .info-bar{display:none}.placeholder{position:absolute;bottom:6px;left:6px;padding:4px;background:#212121;color:#fff;font:8px/1.3 var(--font-meta)}.project-eye{position:absolute;top:0;left:calc(-1 * var(--gap));width:var(--control);height:var(--control);opacity:0;pointer-events:none;transition:opacity .16s}.project-eye svg{width:100%;height:100%;display:block}.project.info-right .project-eye{left:auto;right:calc(-1 * var(--gap))}.project summary:hover .project-eye,.project summary:focus-visible .project-eye{opacity:1}.project-guides{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);padding-inline:var(--gap);pointer-events:none;z-index:0;transform-origin:top}.project-guides span{border-inline:1px solid var(--line)}.project-guides span:last-child{display:none}.project:before{content:'';position:absolute;top:var(--control);left:0;right:0;height:1px;background:var(--line)}.project-detail{display:none}.project details[open] summary{display:grid;grid-template-columns:1fr var(--control);grid-template-rows:var(--control) var(--control)}.project details[open] .project-label{grid-column:1;grid-row:1;background:var(--ink);color:#fff;padding-right:4px}.project details[open] .info-bar{display:block;grid-column:1/-1;grid-row:2;background:#8e8e8e;color:#fff;padding:3px 5px;font-size:8px;line-height:12px}.project details[open] .info-toggle{position:absolute;right:0;top:0;width:var(--control);height:var(--control);background:var(--red);font-size:0}.project details[open] .info-toggle:after{content:'×';display:grid;place-items:center;position:absolute;inset:0;color:#fff;font:24px/1 var(--font-text)}.project details[open] .project-cover{display:none}.project details[open] .project-title-track>span+span{display:none}.project details[open] .project-detail{display:flex;flex-direction:column}.project-gallery{order:0;min-width:0;isolation:isolate;contain:paint}.project-gallery figure{display:none;position:relative;margin:0;background:#101010}.project-gallery figure.is-selected{display:block}.project-gallery img,.project-gallery video{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.project-gallery figcaption{padding:7px;color:#e8e8e8;font-size:9px;text-transform:none;letter-spacing:0}.project-thumbs{order:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:22px;border-bottom:1px solid var(--line);align-content:start}.project-thumbs button{background:transparent;padding:0;border:1px solid transparent;position:relative;cursor:pointer;align-self:start;aspect-ratio:1}.project-thumbs img{width:100%;height:100%;object-fit:cover}.project-thumbs button[aria-pressed=true]{border-color:var(--red)}.detail-intro{order:2;padding:22px;border-bottom:1px solid var(--line)}.detail-intro h3{display:none}.detail-intro p{margin-top:14px}.detail-intro>.label{font-size:9px}.permalink{display:inline-block;border:1px solid var(--red);padding:12px 15px;margin-top:28px}.project-detail dl{order:3;padding:22px}.project-detail dl>div{padding:10px 0}.project-detail dd{font:10px/1.4 var(--font-meta);letter-spacing:.02em;text-transform:uppercase;margin-top:4px}.project-detail dt{font-size:9px;color:var(--muted)}.page-end{height:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.page-end span{border-inline:1px solid var(--line)}.page-end span:last-child{display:none}
/* In-place gallery transition uses the existing measured canvas animation. */
.project-canvas-motion{position:absolute;z-index:30;pointer-events:none;overflow:hidden;background:#0b0b0b;contain:layout paint;transform-origin:0 0;will-change:transform}.canvas-motion-title{position:absolute;left:0;top:0;width:100%;height:var(--canvas-title);display:flex;align-items:center;justify-content:space-between;padding:3px 4px;color:#fff;background:var(--ink);overflow:hidden;box-sizing:border-box;font-size:8px;line-height:10px;transform-origin:0 0;will-change:transform}.canvas-motion-title h2{font:inherit;letter-spacing:inherit;white-space:nowrap;min-width:0;overflow:hidden}.canvas-motion-title>span{white-space:nowrap;font:inherit;margin-left:8px}.canvas-motion-viewport{position:absolute;top:var(--canvas-title);bottom:0;left:0;right:0;overflow:hidden;transform-origin:0 0;will-change:transform}.canvas-motion-viewport img{position:absolute;max-width:none;display:block;object-fit:fill;transform-origin:0 0;will-change:transform}.motion-rail-copy{position:absolute;z-index:20;pointer-events:none;background:transparent;box-sizing:border-box}.project.canvas-moving{contain:layout style;overflow:visible;z-index:10}.project.canvas-moving .project-gallery figure{animation:none!important}
/* Offerings: quick index, then text / project links / example media. */
.quick-nav{border-top:1px solid var(--line)}.quick-bar{background:var(--ink);color:#fff}.quick-bar>.grid{gap:0;min-height:var(--control);align-items:center}.quick-bar .label{grid-column:1/-1;padding:4px;font-size:8px}.quick-bar .red{display:none}.quick-content{row-gap:0}.quick-content>p{grid-column:1/-1;padding:24px 20px;color:var(--red);max-width:460px}.quick-content nav{grid-column:1/-1;border-inline:1px solid var(--line);padding-bottom:var(--gap)}.quick-content nav a{display:flex;align-items:center;justify-content:space-between;padding:10px 6px;border-bottom:1px solid var(--line)}.quick-content nav a:hover{color:var(--red)}.type-band{font:400 44px/.94 var(--font-text);letter-spacing:-.045em;text-transform:uppercase;overflow:hidden;white-space:nowrap;padding:16px 0;border-block:1px solid var(--line)}.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}.marquee-group{display:flex;align-items:center;gap:40px;padding-right:40px}.marquee-dot{font-size:.5em;font-weight:400}.type-band:hover .marquee-track{animation-play-state:paused}.service{scroll-margin-top:66px}.service-content{gap:var(--gap);row-gap:0}.service-text{grid-column:1/-1;border-inline:1px solid var(--line)}.strip{display:flex;align-items:center;justify-content:space-between;min-height:var(--control);padding:3px 5px;background:var(--ink);color:#fff;font-size:8px;line-height:12px}.service-body{padding:calc(var(--gap) * 2) var(--gap);max-width:380px}.service-body h2{font-size:28px;line-height:1.05;margin-bottom:25px}.service-body p{max-width:330px}.service-body .service-lead{margin-bottom:18px}.service-tags{font-size:9px;margin-top:28px;color:var(--muted)}.service-projects{display:none}.service-visual{grid-column:1/-1;min-width:0;border-inline:1px solid var(--line);padding-bottom:var(--gap)}.service-visual .strip{background:#8e8e8e}.service-visual img{width:100%;aspect-ratio:1;object-fit:cover}.service-visual a:hover{color:var(--red)}
/* About: portrait/location/experience assembly, then biography and records. */
.bio-assembly{row-gap:0}.portrait-placeholder{grid-column:1/-1;aspect-ratio:1;background:#191b18;color:#efefef;display:grid;place-items:center;position:relative;margin-top:var(--gap);overflow:hidden}.portrait-word{font-size:20vw;letter-spacing:-.065em;color:#34372f}.portrait-note{position:absolute;bottom:20px;left:20px;color:#b5b8ab;font-size:10px}.location-panel{grid-column:1/-1;display:flex;flex-direction:column;justify-content:center;border-inline:1px solid var(--line);padding:20px}.location-panel img{width:100%;max-height:400px}.location-panel p{color:var(--red);margin:0 20px 16px}.experience{grid-column:1/-1;border-inline:1px solid var(--line)}.record-head,.record-row{display:grid;grid-template-columns:30% 1fr;gap:var(--gap);padding:5px;align-items:end}.record-head{background:var(--ink);color:#fff;min-height:var(--control);font-size:9px}.record-row{min-height:90px;border-bottom:1px solid var(--line);padding:14px 5px}.record-row>.label{color:var(--red)}.record-row p{font-size:14px}.record-row p>span{display:block;font-size:12px;color:var(--muted);margin-top:8px}.experience>.review-copy{padding:15px 5px}.bio-copy{grid-column:1/-1;padding:var(--gap) 0;position:relative;border-block:1px solid var(--line)}.bio-copy-inner{grid-column:1/-1;padding:var(--gap);padding-bottom:calc(var(--gap) * 2)}.bio-copy h3{font-size:28px;margin-bottom:24px}.bio-copy p{font-size:20px;line-height:1.2;letter-spacing:-.02em;margin-bottom:20px}.bio-copy .review-copy{font-size:10px;line-height:1.5;letter-spacing:0}.practice-notes{margin:28px 0}.practice-notes summary{cursor:pointer;list-style:none;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:0;padding:12px 0;display:flex;justify-content:space-between}.practice-notes p{font-size:14px;line-height:1.4;margin:18px 0;letter-spacing:0}.collab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap);row-gap:0}.collab-grid>div{aspect-ratio:1;display:grid;place-items:center;text-align:center;border:1px solid var(--line);padding:20px}.collab-grid p{font-size:18px;max-width:240px}.collab-grid .label,.collab-grid .review-copy{font-size:10px;line-height:1.5}.recognition-row{padding-block:30px;align-items:end}.recognition-row>.label{color:var(--red)}.recognition-row>p:nth-child(2){grid-column:2/-1}.recognition-row>.review-copy{grid-column:2/-1}
/* Footer shares the exact grid and becomes a revealed stationary panel on tall desktop. */
.footer-reveal-space{height:0;pointer-events:none}.site-footer{background:var(--paper);position:relative;min-height:660px}.footer-inner{padding-top:var(--gap);padding-bottom:var(--gap);min-height:660px;row-gap:40px;height:100%}.back-top{grid-column:1/-1;grid-row:2;width:100%;aspect-ratio:1;border-radius:50%;background:#f5f5f5;color:var(--red);display:grid;place-items:center;align-self:end;overflow:hidden;max-width:330px}.back-top svg{width:65%;height:65%;transition:transform .4s}.back-top:hover svg{transform:translateY(-8px)}.footer-copy{grid-column:1/-1;grid-row:1;display:flex;flex-direction:column;gap:32px}.footer-message{font-size:28px;line-height:1.2;letter-spacing:-.045em;max-width:535px;padding-top:10px}.site-footer .label{font-size:10px;display:block;margin-bottom:10px}.footer-contact>a,.footer-elsewhere>a{font-size:20px;letter-spacing:-.035em}.footer-contact>a:hover,.footer-elsewhere>a:hover{color:var(--red)}.footer-contact .review-copy{margin-top:12px}.footer-elsewhere{margin-top:auto}.reveal-item{animation:reveal .65s cubic-bezier(.2,.7,.3,1) both}.leaving{opacity:0;transition:opacity .18s}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes title-drift{to{transform:translateX(-50%)}}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:834px){
 :root{--gap:16px;--cols:8;--span:2;--intro-start:4;--intro-span:5;--control:16px;--footer-height:661px}
 .site-header nav{display:flex;gap:33px;grid-column:var(--intro-start)/span var(--intro-span);font-size:14px}.brand{grid-column:1/span 3}.mobile-toggle{display:none}
 .projects-intro{height:clamp(350px,60vh,487px);min-height:0;padding-top:15px;padding-bottom:25px;grid-template-rows:1fr}.intro-copy{grid-column:var(--intro-start)/span var(--intro-span);grid-row:1}.contact-corner{grid-column:1/span 3;grid-row:1}.intro-copy>p{line-height:17px}
 .compact-intro{height:80px;min-height:0;grid-template-rows:1fr}.compact-intro .intro-copy{grid-column:var(--intro-start)/span var(--intro-span);grid-row:1}.compact-intro .intro-copy>p{font-size:8px;line-height:10px}
 .project.slot-1{--card-column:5}.project.slot-2{--card-column:1}.project.slot-3{--card-column:7}.project.slot-4{--card-column:3}
 .project-guides,.page-end{grid-template-columns:repeat(4,minmax(0,1fr))}.project-guides span:last-child,.page-end span:last-child{display:block}
 .project details[open] summary{--rail:calc((100% - var(--gap) * 3)/4);grid-template-columns:var(--rail) var(--gap) 1fr;grid-template-rows:var(--control);height:var(--control)}
 .project details[open] .project-label{grid-column:3;grid-row:1}.project details[open] .info-bar{grid-column:1;grid-row:1}.project details[open] .info-toggle{left:var(--rail);right:auto;width:var(--gap);height:var(--control)}
 .project.info-right details[open] summary{grid-template-columns:1fr var(--gap) var(--rail)}.project.info-right details[open] .project-label{grid-column:1}.project.info-right details[open] .info-bar{grid-column:3}.project.info-right details[open] .info-toggle{left:calc(100% - var(--rail) - var(--gap))}
 .project details[open] .project-detail{display:grid;grid-template-columns:calc((100% - var(--gap) * 3)/4) 1fr;column-gap:var(--gap);grid-template-rows:auto auto 1fr;align-items:start}
 .project .project-gallery{grid-column:2;grid-row:1/span 3;order:0}.project .detail-intro{grid-column:1;grid-row:1;order:0}.project .project-detail dl{grid-column:1;grid-row:2;order:0}.project .project-thumbs{grid-column:1;grid-row:3;order:0;border-block:1px solid var(--line)}
 .project.info-right details[open] .project-detail{grid-template-columns:1fr calc((100% - var(--gap) * 3)/4)}.project.info-right .project-gallery{grid-column:1}.project.info-right .detail-intro,.project.info-right .project-detail dl,.project.info-right .project-thumbs{grid-column:2}
 .type-band{font-size:100px;padding:16px 0}.quick-content>p{grid-column:1/span 3;align-self:end;max-width:none}.quick-content nav{grid-column:4/span 5;grid-row:1}.quick-bar .label{grid-column:1/span 3}.quick-bar .red{display:block;grid-column:4;padding-left:3px}.quick-content nav a{min-height:43px}
 .service-text{grid-column:1/span 4}.service-visual{grid-column:5/span 4}.service-body h2{font-size:32px}.service-visual img{height:100%;aspect-ratio:1;object-fit:contain;background:#151515}.service-visual>a{display:block}
 .bio-copy-inner{grid-column:3/span 6}.bio-copy p{font-size:34px;line-height:1.195;letter-spacing:-.03em}.bio-copy .review-copy,.practice-notes p{font-size:14px;line-height:1.4;letter-spacing:0}.bio-copy .review-copy{font-size:10px}.collab-grid{grid-template-columns:repeat(4,1fr)}
 .footer-copy{grid-column:4/span 5;grid-row:1}.back-top{grid-column:1/span 2;grid-row:1;width:100%;max-width:none}.footer-message{font-size:28px;padding-top:25px}.footer-inner{grid-template-rows:1fr}.site-footer{height:661px;min-height:0}
}
@media(min-width:1440px){
 :root{--gap:22px;--cols:12;--span:3;--intro-start:5;--intro-span:8;--control:22px}
 h1{font-size:73px;line-height:1.1}.brand{grid-column:1/span 4}.site-header nav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--gap)}
 .contact-corner{grid-column:1/span 4}.intro-copy>p{line-height:1.33}.compact-intro{height:102px}.compact-intro .intro-copy>p{font-size:10px;line-height:12px}
 .project.slot-1{--card-column:7}.project.slot-2{--card-column:1}.project.slot-3{--card-column:10}.project.slot-4{--card-column:4}
 .project-label,.project-label>span,.info-bar,.canvas-motion-title{font-size:8px;line-height:12px}.project-label{padding-block:5px}.project details[open] .info-bar{padding-block:5px}.project-detail dd{font-size:10px}.detail-intro p{font-size:14px;line-height:1.33}
 .type-band{font-size:147px;padding:25px 0}.quick-content>p{grid-column:1/span 4}.quick-content nav{grid-column:5/span 8}.quick-bar .label{grid-column:1/span 4}.quick-bar .red{grid-column:5}.quick-content nav a{min-height:60px}
 .service-text{grid-column:1/span 6}.service-projects{display:block;grid-column:7/span 2;border-inline:1px solid var(--line)}.service-projects .strip{background:#8e8e8e}.service-projects>a{display:block;font:10px/1.5 var(--font-meta);text-transform:uppercase;padding:24px 16px}.service-projects>a:hover{color:var(--red)}.service-visual{grid-column:9/span 4}.service-body{max-width:360px}.service-body h2{font-size:34px;line-height:1.195}
 .portrait-placeholder{grid-column:1/span 6;grid-row:1/span 2;aspect-ratio:auto;min-height:640px}.portrait-word{font-size:100px}.location-panel{grid-column:7/span 6;grid-row:1;min-height:360px;margin-top:22px}.experience{grid-column:7/span 6;grid-row:2;min-height:280px}.bio-copy{grid-column:1/-1}.bio-copy-inner{grid-column:7/span 6}.bio-copy h3{font-size:40px;line-height:1.2}
 .recognition-row>.label{grid-column:1}.recognition-row>p:nth-child(2){grid-column:2/span 6}.recognition-row>.review-copy{grid-column:8/span 5}
 .footer-copy{grid-column:7/span 5}.back-top{grid-column:1/span 3}.footer-message{font-size:34px;padding-top:43px}
}
@media(min-width:834px) and (min-height:800px){
 .footer-reveal-space{height:661px}.site-footer{position:fixed;bottom:0;left:0;right:0;height:661px;z-index:0}.footer-inner{min-height:0}
 .projects-page .opening{position:sticky;top:0}.content-sheet{isolation:isolate}.projects-page .project-field{z-index:2}
}
@media(max-width:833px){
 .project-label>span{display:none}.project-label{font-size:8px}.project-label h2{font-size:8px}.project-eye{display:none}.project-detail .project-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.project-gallery figcaption{font-size:10px}
 .projects-intro h1{font-size:43px;line-height:1.02;letter-spacing:-.04em}.contact-corner{font-size:11px}.service-visual .strip{font-size:9px;line-height:1.4}.bio-copy h3{font-size:28px}.collab-grid p{font-size:16px}
 .footer-inner{grid-template-rows:auto 1fr}.footer-message{font-size:28px}.back-top{width:100%}.site-footer{min-height:0}.location-panel{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.project-canvas-motion{display:none}.marquee-track{transform:none}}
/* The document must not re-anchor the viewport when a project changes height. */
html,body,.project-field,.project-grid{overflow-anchor:none}
.view-prompt{display:none}
@media(min-width:1440px){.quick-content nav a{min-height:52px}.service-visual{padding-bottom:0}}

/* Approved Adobe kit bjb1byc serves Display Pro 55 Roman at CSS weight 500. */
.projects-intro h1,.type-band{font-family:var(--font-display);font-weight:500}
.projects-intro h1>span{display:block;white-space:nowrap}
.projects-intro .intro-copy>p{max-width:500px;line-height:1.4}
/* Retain the original label as a width anchor while the visual copy decodes. */
.nav-text{position:relative;display:inline-block;vertical-align:top}
.nav-scramble{position:absolute;inset:0;overflow:hidden;white-space:nowrap;visibility:hidden;pointer-events:none}
.is-decoding .nav-original{visibility:hidden}
.is-decoding .nav-scramble{visibility:visible}
@media(max-width:833px){.projects-intro h1{font-size:clamp(26px,8.8vw,43px)}.projects-intro .intro-copy>p{max-width:500px}}

/* Alstom source is 4:3; retain the complete UI in the square card and gallery. */
.alstom-project .project-cover{background:#141616}
.alstom-project .project-cover img,.alstom-project .project-thumbs img{object-fit:contain}
.alstom-project .project-gallery img,.alstom-project .project-gallery video{aspect-ratio:4/3}

/* Motion previews sit over the existing still, preserving native details fallback. */
.project-cover>.project-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:0}
.project-cover>.project-preview.is-ready{opacity:1}
.alstom-project .project-cover>.project-preview{object-fit:contain}



.character-project .detail-intro h3,.brand-project .detail-intro h3{display:block;font-size:26px;line-height:1.08;margin:18px 0;letter-spacing:-.035em}
.case-chapters{margin-top:24px;display:grid;gap:0}
.case-chapters button{display:flex;justify-content:space-between;gap:12px;align-items:baseline;width:100%;text-align:left;cursor:pointer;border:0;padding:9px 0;background:transparent;color:var(--ink);font:inherit}
.case-chapters button span{color:var(--red)}
.case-chapters button:hover,.case-chapters button[aria-pressed=true]{color:var(--red)}
.brand-project .project-cover{background:#fff800}
.brand-project .project-cover img{object-fit:contain}
@media(prefers-reduced-motion:reduce){.project-preview{display:none}}
.project-gallery figure.process-sheet{background:#fff}
.project-gallery .process-sheet figcaption{color:var(--ink)}

/* SIGHTSEA presentation and stills retain their original widescreen composition. */
.sightsea-project .project-gallery img,.sightsea-project .project-gallery video{aspect-ratio:16/9}
.sightsea-project .project-cover{background:#100b16}

.gemuni-project .project-cover{background:#111217}
