@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#e4ecf4;--ink:#142c47;--rust:#285ba7;--line:#b9c9da;--muted:#4e657e;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.4' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,audio:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--rust);outline-offset:5px}button{border:0}a[href^="mailto"]{cursor:pointer}::selection{background:#94b9e2;color:#142c47}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{width:auto;height:auto;clip-path:none;top:0;left:0;background:var(--ink);color:var(--paper);padding:12px;z-index:100}.masthead{display:flex;align-items:center;justify-content:space-between;margin:0 4.8%;padding:29px 0 24px;border-bottom:1px solid var(--line)}.identity{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;letter-spacing:-.5px}.star{font-size:42px;color:var(--rust);line-height:1}.identity-note{border-left:1px solid var(--line);padding-left:16px;margin-left:14px;font-size:9px;letter-spacing:1.5px;font-weight:500}.masthead nav{display:flex;gap:28px;font-size:12px}.masthead nav a:hover{color:var(--rust)}.contact-nav{border-bottom:1px solid var(--ink)}.hero{min-height:690px;display:grid;grid-template-columns:1.06fr 1fr;align-items:center;padding:65px 4.8% 72px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;display:flex;gap:9px;align-items:center}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--rust);display:inline-block}h1,h2,h3,p{margin:0}h1{font:clamp(68px,7.6vw,125px)/.96 var(--serif);letter-spacing:-3.5px;margin:30px 0 33px;font-weight:400}h1 em,h2 em,.liner-notes em{font-weight:400;color:var(--rust)}h1 em{font-size:.93em}.hero-bottom{display:flex;justify-content:space-between;align-items:center;max-width:425px}.hero-bottom p{color:var(--muted);font-size:14px}.round-link{height:48px;width:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:25px;transition:background .2s}.round-link:hover{background:var(--ink);color:var(--paper)}.record-stage{height:480px;position:relative;display:flex;align-items:center;justify-content:center}.sleeve{width:77%;height:78%;background:#2458a5;position:absolute;transform:rotate(-10deg) translate(-5%,3%);box-shadow:0 12px 20px #142c471a;overflow:hidden;color:#c7daf0}.sleeve-top{position:absolute;top:18px;left:20px;font-size:8px;letter-spacing:1px}.sleeve-bottom{position:absolute;bottom:18px;left:22px;font-size:8px;letter-spacing:1px;line-height:1.7}.sleeve-lines{position:absolute;width:100%;height:125%;left:-20%;top:10%;border:1px solid #7ca4d8;border-radius:50%;box-shadow:0 0 0 18px #2458a5,0 0 0 19px #7ca4d8,0 0 0 37px #2458a5,0 0 0 38px #7ca4d8}.vinyl{position:relative;width:clamp(310px,34vw,510px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at center,#222320 0px,#222320 1px,#343530 2px,#1d1e1c 3px,#20211e 5px);box-shadow:9px 14px 18px #26261c33;transform:translate(6%,-3%);display:grid;place-items:center}.record-shine{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,transparent 0deg,#ffffff16 42deg,transparent 77deg,transparent 170deg,#ffffff12 220deg,transparent 250deg)}.record-label{width:36%;aspect-ratio:1;border-radius:50%;background:#80a6d2;color:#122d4d;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;transform:rotate(-16deg)}.record-label span{font-size:clamp(5px,.6vw,9px);letter-spacing:1px}.record-label b{font:clamp(45px,6vw,80px)/1.1 var(--serif);letter-spacing:-5px;padding-right:8px}.record-label i{height:7px;width:7px;border-radius:50%;background:#e4ecf4;position:absolute;top:52%;left:50%}.record-sticker{position:absolute;right:0;bottom:36px;width:128px;height:128px;background:#a4c2e3;border-radius:50%;transform:rotate(9deg);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font:26px/1 var(--serif);box-shadow:2px 3px 4px #0001}.record-sticker span{font:9px var(--sans);margin-top:7px}.record-caption{position:absolute;bottom:-17px;font-size:8px;letter-spacing:1.15px}.ticker{display:flex;justify-content:space-around;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 3%;font-size:10px;letter-spacing:2px;gap:15px}.ticker i{color:var(--rust);font-style:normal;font-size:22px}.section-pad{padding:85px 4.8%}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:40px}h2{font:clamp(44px,5vw,76px)/1.02 var(--serif);font-weight:400;letter-spacing:-1.5px;margin-top:18px}.section-heading>p{color:var(--muted);font-size:13px;max-width:310px;padding-bottom:5px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:29px}.filters button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:9px 19px;font-size:11px;transition:.2s}.filters button:hover{border-color:var(--ink)}.filters .active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filters sup{margin-left:6px;font-size:8px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px}.project-card{min-width:0}.project-card:nth-child(n+5) .project-art{height:180px}.project-button{background:none;padding:0;width:100%;display:block;text-align:left}.project-art{height:340px;position:relative;overflow:hidden;display:grid;place-items:center;transition:filter .3s}.project-button:hover .project-art{filter:brightness(1.06)}.project-art img,.timeline-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.art-tag{position:absolute;top:20px;left:20px;font-size:8px;letter-spacing:1.5px;z-index:1}.project-meta{display:flex;justify-content:space-between;gap:16px;padding-top:17px}.project-meta h3{font:29px/1.1 var(--serif);letter-spacing:-.4px}.project-meta p{font-size:12px;color:var(--muted);margin-top:7px}.project-arrow{border:1px solid var(--line);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:17px;flex-shrink:0}.art-cyber{background:#143758;color:#c9e0f4}.cyber-disc{width:180px;height:180px;border:1px solid #90b9dd66;border-radius:50%;position:relative;display:grid;place-items:center;box-shadow:0 0 0 30px #90b9dd0d,0 0 0 31px #90b9dd44,0 0 0 60px #90b9dd08,0 0 0 61px #90b9dd22}.cyber-disc svg{width:85px;fill:none;stroke:#b9dcfa;stroke-width:1}.art-word{position:absolute;bottom:17px;left:23px;font:48px var(--serif);letter-spacing:-2px}.art-sub{position:absolute;bottom:22px;right:22px;font-size:9px;letter-spacing:1px}.art-denim{background:#163455;color:#bcd7f1;background-image:repeating-linear-gradient(115deg,#fff0 0px,#ffffff07 1px,#fff0 2px,#fff0 4px)}.denim-pocket{width:165px;height:186px;border:1px solid #a2c6ed;outline:1px dashed #a2c6ed;outline-offset:7px;border-radius:0 0 65px 65px;transform:rotate(-9deg);position:relative;background:#ffffff05}.denim-pocket:after{content:"";position:absolute;inset:15px 4px;border-top:1px dashed #a2c6ed}.denim-pocket:before{content:"Y/D";position:absolute;top:65px;left:36px;font:46px var(--serif);color:#a2c6ed}.denim-label{position:absolute;top:58px;right:14%;background:#99b9dd;color:#173551;padding:7px 14px;font:11px var(--sans);transform:rotate(6deg);border:1px dashed #335b86}.art-solar{background:#8cb6dd;color:#123753}.solar-art{width:75%;height:170px;transform:rotate(-13deg);position:relative}.solar-art svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3}.sun{position:absolute;top:35px;right:55px;width:51px;height:51px;border-radius:50%;border:1px solid #123753}.art-spark{background:#316bb8;color:#d6e7f7}.spark-symbol{font-size:220px;line-height:1;font-weight:400;transform:rotate(-12deg)}.art-notch{background:#c1d4e8;color:#2b527c}.notch-art{width:100px;height:100px;border:18px solid currentColor;transform:rotate(-15deg);clip-path:polygon(0 0,100% 0,100% 45%,65% 45%,65% 100%,0 100%)}.art-robot{background:#c0d9ec;color:#244d77}.robot-art{width:150px;height:135px;fill:none;stroke:currentColor;stroke-width:1.8}.art-mundane{background:#a4bedb;color:#1f3f66}.mundane-art{font:90px var(--serif);letter-spacing:-5px}.art-eagle{background:#254c78;color:#c9def3}.art-avvai{background:#618db8;color:#dcecf9}.small-symbol{font:100px var(--serif);line-height:1}.story{background:#0b213b;color:#e4ecf4;position:relative;height:2400px}.story-sticky{position:sticky;top:0;height:100vh;min-height:680px;max-height:1000px;overflow:hidden;padding:48px 0 28px;display:flex;flex-direction:column;justify-content:space-between}.story-top{padding:0 4.8%;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.story h2{font-size:clamp(42px,4.3vw,65px);margin-top:15px}.story h2 em{color:#88b8ee}.story .eyebrow{color:#c1d3e7}.story-right p{font-size:13px;color:#c1d3e7;margin-bottom:20px}.scroll-hint{font-size:8px;letter-spacing:1.5px;color:#c1d3e7}.scroll-hint span{font-size:22px;margin-left:14px}.timeline-window{overflow:hidden;padding:28px 0 20px}.timeline-track{display:flex;gap:30px;padding:0 4.8%;width:max-content;will-change:transform}.timeline-card{width:clamp(300px,39vw,565px);position:relative;flex-shrink:0}.timeline-date{font-size:9px;letter-spacing:1.7px;padding:0 0 18px;border-bottom:1px solid #42658b;position:relative;margin-bottom:22px}.timeline-date:after{content:"";position:absolute;bottom:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#88b8ee}.timeline-art{height:clamp(130px,22vh,220px);position:relative;overflow:hidden;display:grid;place-items:center}.timeline-art .denim-pocket{height:110px;width:100px;border-radius:0 0 35px 35px}.timeline-art .denim-pocket:before{font-size:30px;top:35px;left:19px}.timeline-art .spark-symbol{font-size:150px}.timeline-art .solar-art{height:130px}.timeline-caption{display:block;font-size:8px;color:#a2bad4;letter-spacing:.6px;margin:7px 0 11px}.timeline-card h3{font:30px/1.1 var(--serif);margin-bottom:8px}.timeline-card p{max-width:410px;font-size:12px;color:#c1d3e7;line-height:1.6}.story-foot{padding:0 4.8%;display:flex;align-items:center;gap:25px}.audio-note{display:flex;align-items:center;gap:14px;flex-shrink:0}.audio-icon{height:38px;width:38px;border:1px solid #49698c;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#88b8ee}.audio-note b{display:block;font-size:11px;font-weight:500}.audio-note div>span{display:block;font-size:9px;color:#a2bad4;margin-top:3px}.audio-placeholder{font-size:7px;letter-spacing:1px;color:#a2bad4;border-left:1px solid #49698c;padding-left:15px}.audio-note audio{width:240px;height:32px}.timeline-progress{height:1px;background:#345477;flex:1;overflow:hidden}.timeline-progress span{display:block;width:25%;height:1px;background:#88b8ee;transform-origin:left}.chapter-count{font-size:9px;letter-spacing:1px}.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.life-grid article{padding:32px 34px;min-height:480px;overflow:hidden}.life-grid h3{font:45px/1.03 var(--serif);margin-top:26px}.life-grid p{font-size:13px;max-width:390px;line-height:1.8}.music-panel{background:#b2cde8;position:relative}.piano{height:125px;width:calc(100% + 110px);display:flex;gap:3px;transform:rotate(-8deg);position:relative;margin:25px 0 40px -50px}.piano i{background:#e4ecf4;border:1px solid #8d887c;border-radius:0 0 4px 4px;flex:1;box-shadow:0 5px 0 #b1a794}.piano b{position:absolute;top:0;height:75px;width:8%;background:#2e302a;border-radius:0 0 3px 3px;left:10.6%;box-shadow:0 3px 0 #141810}.piano b:nth-of-type(2){left:25%}.piano b:nth-of-type(3){left:53.5%}.piano b:nth-of-type(4){left:68%}.piano b:nth-of-type(5){left:82%}.movement-panel{background:#cbdfed;position:relative}.running-art{height:190px;position:relative;margin-top:20px}.running-art span{position:relative;z-index:1;display:block;font:64px/.85 var(--serif);letter-spacing:-2px;transform:rotate(-6deg);color:#315e8d}.running-art span em{padding-left:42px}.running-art svg{position:absolute;inset:30px -60px 0 0;width:calc(100% + 110px);height:160px;fill:none;stroke:#81a3c4;stroke-width:1}.movement-panel h3{font-size:35px;margin:24px 0 17px}.life-grid audio{width:100%;margin-top:20px}.life-grid video{width:100%;margin-top:20px}.liner-notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;padding-top:55px;padding-bottom:55px}.liner-notes p{font:clamp(29px,3.5vw,52px)/1.2 var(--serif);margin-top:20px}.liner-notes .star{position:absolute;right:8%;top:40%;font-size:80px}footer{padding-top:60px!important;padding-bottom:25px!important}.footer-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:60px}.footer-row h2{font-size:clamp(65px,8vw,120px)}.email-link{border-bottom:1px solid var(--ink);font-size:15px;margin-bottom:10px;overflow-wrap:anywhere}.email-link>span:last-child{margin-left:25px;font-size:26px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.footer-bottom>span:nth-child(2){letter-spacing:1px}dialog{padding:60px;max-width:650px;width:calc(100% - 36px);border:1px solid var(--line);background:var(--paper);color:var(--ink);max-height:85vh;overflow:auto}dialog::backdrop{background:#1d261fcc;backdrop-filter:blur(6px)}dialog h2{font-size:55px;overflow-wrap:anywhere}dialog p{margin:24px 0 17px;color:var(--rust);font-size:19px}#dialog-details{font-size:15px;color:var(--muted)}.dialog-close{position:absolute;right:16px;top:12px;background:none;font-size:23px;padding:8px}.case-link{display:inline-block;border-bottom:1px solid var(--rust);margin-top:25px}.case-link[hidden],audio[hidden]{display:none}.media-caption{font-size:10px;color:var(--muted);margin-top:12px}.empty-filter{padding:30px 0}.project-card[hidden]{display:none}
@media(min-width:1600px){.masthead,.hero,.section-pad,.story-top,.story-foot{padding-left:max(4.8%,calc((100vw - 1450px)/2));padding-right:max(4.8%,calc((100vw - 1450px)/2))}.masthead{margin:0}.hero{min-height:820px}.record-stage{height:580px}}
@media(max-width:1000px){.identity-note{display:none}.masthead nav{gap:18px}.hero{min-height:620px;padding-top:50px}.record-stage{height:410px}.vinyl{width:340px}.record-sticker{right:-5%;bottom:15px;width:105px;height:105px;font-size:23px}.record-caption{font-size:6px;bottom:-20px}.hero h1{font-size:80px}.project-art{height:280px}.audio-placeholder{display:none}.story-sticky{min-height:650px}.story-foot{gap:15px}.life-grid article{padding:28px}.life-grid h3{font-size:39px}.footer-bottom>span:nth-child(2){display:none}}
@media(max-width:700px){html{scroll-padding-top:15px}.masthead{padding:20px 0}.identity{font-size:15px;gap:7px}.identity .star{font-size:31px}.masthead nav{gap:15px;font-size:10px}.masthead nav a:nth-child(3),.contact-nav{display:none}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:42px;gap:26px}.hero .eyebrow{font-size:8px}.hero h1{font-size:clamp(64px,13vw,90px);letter-spacing:-2px;margin-top:23px}.hero-bottom{max-width:100%}.hero-bottom p{font-size:12px}.record-stage{height:360px;width:100%;max-width:420px;margin:auto}.vinyl{width:300px}.record-label span{font-size:5px}.record-label b{font-size:53px}.sleeve{width:79%;height:80%;transform:rotate(-10deg) translate(-7%,0)}.record-sticker{right:1%;bottom:20px;width:95px;height:95px;font-size:21px}.record-caption{bottom:-9px;font-size:6px}.ticker{padding:15px 5%;font-size:7px;letter-spacing:1px;gap:9px}.ticker span:last-of-type,.ticker i:last-of-type{display:none}.ticker i{font-size:18px}.section-pad{padding-top:58px;padding-bottom:58px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;font-size:12px}.eyebrow{font-size:9px}h2{font-size:48px}.filters{gap:7px;margin-bottom:22px}.filters button{padding:8px 12px;font-size:10px}.project-grid{grid-template-columns:1fr;gap:28px}.project-art{height:290px}.project-card:nth-child(n+5) .project-art{height:200px}.project-meta h3{font-size:29px}.story{height:auto!important}.story-sticky{position:relative;height:auto;min-height:0;max-height:none;padding:44px 0 25px}.story-top{display:block}.story h2{font-size:46px}.story-right p{margin:15px 0 8px}.scroll-hint{font-size:7px}.timeline-window{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#88b8ee #0b213b;padding-top:25px}.timeline-track{transform:none!important;gap:20px}.timeline-card{width:82vw;scroll-snap-align:center}.timeline-art{height:190px}.timeline-card h3{font-size:30px}.timeline-card p{font-size:12px}.story-foot{margin-top:15px;display:block}.audio-note{flex-wrap:wrap;gap:10px}.audio-note audio{width:100%;margin-top:8px}.timeline-progress,.chapter-count{display:none}.life-grid{grid-template-columns:1fr;gap:20px}.life-grid article{min-height:440px}.life-grid h3{font-size:43px}.liner-notes p{font-size:32px;max-width:85%}.liner-notes .star{font-size:45px;right:5%;top:45%}.footer-row{display:block;padding-bottom:40px}.footer-row h2{font-size:76px;margin-bottom:35px}.email-link{font-size:14px}.email-link>span:last-child{margin-left:10px}.footer-bottom{font-size:8px}.footer-bottom>span:first-child{max-width:70%}dialog{padding:50px 25px 35px}dialog h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.story{height:auto!important}.story-sticky{position:relative;height:auto;max-height:none;min-height:0}.timeline-window{overflow-x:auto}.timeline-track{transform:none!important}.timeline-art{height:190px}.story-foot{margin-top:20px}.timeline-progress,.chapter-count{display:none}*{transition:none!important;animation:none!important}}
@media(min-width:701px) and (max-height:650px){.story{height:auto!important}.story-sticky{position:relative;height:auto;min-height:0;max-height:none;padding-top:30px}.timeline-window{overflow-x:auto}.timeline-track{transform:none!important}.story-foot{margin-top:20px}.timeline-progress,.chapter-count{display:none}.timeline-art{height:150px}}

/* BLUE SESSION — collage chapters & motion */
:root{--paper:#e4ecf4;--ink:#142c47;--rust:#285ba7;--line:#b9c9da;--muted:#4e657e}
body{background:radial-gradient(ellipse at 82% 8%,#c2d8ee88,transparent 35%),var(--paper)}
.masthead nav a{position:relative}.masthead nav a:not(.contact-nav):after{content:"";height:1px;background:var(--rust);position:absolute;bottom:-5px;left:0;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .3s}.masthead nav a:hover:after{transform:scaleX(1)}
.identity .star{transition:transform .7s}.identity:hover .star{transform:rotate(120deg)}
.equalizer{display:inline-flex;gap:2px;height:15px;align-items:center;margin-right:3px}.equalizer i{height:13px;width:2px;background:#285ba7;animation:equalize 1.5s ease-in-out infinite alternate}.equalizer i:nth-child(2){animation-delay:-.9s}.equalizer i:nth-child(3){animation-delay:-.3s}.equalizer i:nth-child(4){animation-delay:-1.2s}.equalizer i:nth-child(5){animation-delay:-.6s}
@keyframes equalize{0%,100%{transform:scaleY(.3)}45%{transform:scaleY(1)}}
.hero-copy{animation:opening 1.1s both}.record-stage{animation:opening 1.4s .15s both}.vinyl{animation:record-turn 70s linear infinite;transform:translate(6%,-3%)}
@keyframes record-turn{from{transform:translate(6%,-3%) rotate(0deg)}to{transform:translate(6%,-3%) rotate(360deg)}}
.record-label{background:#87addb;color:#112e51}.record-sticker{background:#b6cee7;color:#163454;animation:sticker-drift 7s ease-in-out infinite}.sleeve{background:#2458a5}.sleeve-lines{box-shadow:0 0 0 18px #2458a5,0 0 0 19px #7ca4d8,0 0 0 37px #2458a5,0 0 0 38px #7ca4d8}
@keyframes sticker-drift{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(5deg) translateY(-9px)}}
@keyframes opening{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
.ticker{display:block;overflow:hidden;padding:17px 0;background:#15375b;color:#d9e7f5;border-color:#15375b}.ticker-reel{display:flex;width:max-content;animation:reel 42s linear infinite}.ticker-reel>div{display:flex;align-items:center;gap:45px;padding-right:45px}.ticker i{color:#8fbae9}.ticker span{white-space:nowrap}@keyframes reel{to{transform:translateX(-50%)}}
.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:45px 28px}.project-card{grid-column:span 5}.project-card:nth-child(4n+1),.project-card:nth-child(4n+4){grid-column:span 7}.project-card:nth-child(2n){padding-top:55px}.project-card:nth-child(n+5) .project-art{height:240px}.project-card:nth-child(n+5):nth-child(odd) .project-art{height:300px}.project-art{transition:filter .4s,box-shadow .4s}.project-art>:not(.art-tag):not(.art-word){transition:scale .7s cubic-bezier(.2,.7,.3,1)}.project-button:hover .project-art>:not(.art-tag):not(.art-word){scale:1.06}.project-button:hover .project-arrow{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.project-arrow{transition:transform .35s,background .35s,color .35s}.project-button:hover .project-meta h3{color:var(--rust)}
.art-cyber{background:radial-gradient(circle at 30% 15%,#285c86,#102c4a)}.art-denim{background-color:#163455}.art-solar{background:#8cb6dd}.art-spark{background:#316bb8}.art-music{background:#a9cde8;color:#204e80}.music-glyph{font:210px/.8 var(--serif);z-index:1;transform:rotate(-13deg)}.staff-lines{position:absolute;left:-10%;right:-10%;top:48%;height:65px;background:repeating-linear-gradient(transparent 0 14px,#285ba744 14px 15px);transform:rotate(-13deg)}
.story{background:#091e37;color:#e7f0fa;isolation:isolate}.story-sticky{padding:32px 0 22px;min-height:0;max-height:none;height:100svh;justify-content:initial;gap:12px;background:radial-gradient(ellipse at 65% 40%,#193e6566,transparent 68%)}.story-watermark{position:absolute;left:3%;top:28%;font:bold clamp(100px,14vw,220px)/1 var(--sans);letter-spacing:-10px;color:#a5c5ee06;white-space:nowrap;z-index:-1;pointer-events:none}.story-top{position:relative;z-index:2;flex-shrink:0}.story h2{font-size:clamp(42px,4.1vw,62px)}.story h2 em{color:#87b4ea}.story-right{padding-bottom:4px}.story-right p{max-width:260px;font-size:12px;margin-bottom:12px}.scroll-hint{color:#9ab8d8;font-size:8px}.timeline-window{flex:1;min-height:0;display:flex;align-items:stretch;padding:4px 0 6px;overflow:hidden}.timeline-track{align-items:stretch;gap:8vw;padding:0 6vw 0 4.8%;height:100%;min-height:360px;position:relative}.timeline-track:before{content:"";height:1px;position:absolute;left:0;right:0;top:28px;background:linear-gradient(90deg,#305986,#96bce6 40%,#305986)}.timeline-card{width:clamp(800px,86vw,1250px);height:100%;min-height:360px;position:relative;flex-shrink:0;isolation:isolate;--scene-shift:0px}.timeline-date{position:absolute;top:7px;left:0;right:0;border:0;padding:0;margin:0;font-size:8px;letter-spacing:2px;color:#aac7e9;z-index:3}.timeline-date:after{bottom:-13px;background:#93c4ff;box-shadow:0 0 12px #77b1f67a}.scene-number{font:clamp(130px,18vw,260px)/1 var(--serif);position:absolute;right:8%;top:30px;color:#759ccc12;z-index:-1;letter-spacing:-12px}.timeline-art{height:auto;position:absolute;box-shadow:0 12px 28px #0003;overflow:hidden;transition:filter .5s}.timeline-art:hover{filter:brightness(1.12)}.scene-main{left:0;top:58px;width:52%;height:61%;transform:translateY(calc(var(--scene-shift)*-.45)) rotate(-3deg);clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}.scene-main img{transform:scale(1.09) translateX(calc(var(--scene-shift)*.4))}.scene-secondary{left:57%;top:64px;width:29%;height:40%;transform:translateY(var(--scene-shift)) rotate(6deg);clip-path:polygon(0 0,96% 5%,100% 100%,3% 94%)}.scene-detail{right:0;bottom:32px;width:23%;height:34%;transform:translateY(calc(var(--scene-shift)*-.7)) rotate(-6deg);border:5px solid #e0ebf6}.scene-copy{position:absolute;left:4%;top:calc(61% + 74px);width:49%;z-index:3}.timeline-caption{font-size:8px;letter-spacing:1px;color:#97badf;margin:0 0 7px}.timeline-card h3{font-size:clamp(26px,2.5vw,40px);line-height:1;margin-bottom:8px}.timeline-card p{max-width:480px;font-size:11px;line-height:1.6;color:#b5cce4}.scene-note{position:absolute;left:57%;top:calc(40% + 88px);width:22%;font-size:8px;letter-spacing:2px;line-height:2;color:#7ca4d3;transform:rotate(6deg);border-top:1px solid #50729a;padding-top:12px}.scene-1 .scene-main{left:25%;top:72px;width:42%;height:53%;transform:translateY(calc(var(--scene-shift)*-.4)) rotate(4deg);clip-path:polygon(0 0,98% 3%,94% 100%,3% 96%)}.scene-1 .scene-secondary{left:0;top:88px;width:22%;height:36%;transform:translateY(var(--scene-shift)) rotate(-6deg)}.scene-1 .scene-detail{right:4%;bottom:18%;width:24%;height:52%;transform:translateY(calc(var(--scene-shift)*-.5)) rotate(-4deg);border:0;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}.scene-1 .scene-copy{left:25%;top:calc(53% + 88px);width:42%}.scene-1 .scene-note{left:0;top:calc(36% + 112px);width:20%;transform:rotate(-6deg)}.scene-2 .scene-main{left:10%;width:55%;height:51%;top:100px;transform:translateY(calc(var(--scene-shift)*-.5)) rotate(-5deg);clip-path:polygon(0 0,100% 0,94% 100%,4% 100%)}.scene-2 .scene-secondary{left:67%;top:57px;width:25%;height:44%;transform:translateY(var(--scene-shift)) rotate(5deg)}.scene-2 .scene-detail{right:6%;bottom:6%;width:20%;height:30%;transform:translateY(calc(var(--scene-shift)*-.6)) rotate(4deg)}.scene-2 .scene-copy{left:11%;top:calc(51% + 116px);width:49%}.scene-2 .scene-note{left:0;top:80px;width:8%;font-size:7px;writing-mode:vertical-rl;transform:rotate(180deg);border:0}.timeline-art .robot-art{width:50%;height:65%}.timeline-art .denim-pocket{width:30%;height:65%;max-width:150px;max-height:170px}.timeline-art .denim-pocket:before{font-size:clamp(24px,3vw,40px);top:40%;left:20%}.timeline-art .denim-label{font-size:7px;right:8%;top:10%}.timeline-art .solar-art{width:95%;height:80%}.timeline-art .sun{width:30px;height:30px;top:15px;right:30px}.timeline-art .cyber-disc{scale:.65}.timeline-art .spark-symbol{font-size:clamp(110px,15vw,220px)}.scene-detail .cyber-disc{scale:.43}.scene-detail .music-glyph{font-size:100px}.story-foot{flex-shrink:0;min-height:40px}.audio-note{max-width:80%}.audio-note audio{max-width:240px}.audio-icon{color:#8dbff5;border-color:#496e98}.timeline-progress{background:#284665}.timeline-progress span{width:5%;background:#91bdf2}.chapter-count{color:#9dbfe7;font-size:8px}
.music-panel{background:#b2cde8}.movement-panel{background:#cbdfed}.piano{transition:transform .7s}.music-panel:hover .piano{transform:rotate(-3deg) translateY(-5px)}.running-art svg{animation:track-drift 8s ease-in-out infinite alternate}@keyframes track-drift{to{transform:translateX(18px) rotate(3deg)}}.liner-notes .star{animation:slow-star 35s linear infinite}@keyframes slow-star{to{rotate:360deg}}
.reveal{opacity:0;translate:0 30px;transition:opacity .8s var(--reveal-delay,0ms),translate .9s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}.reveal.in-view{opacity:1;translate:0 0}.motion-toggle{background:transparent;padding:0;border-bottom:1px solid var(--line);font-size:9px;color:var(--muted)}.motion-paused *{animation-play-state:paused!important}.motion-paused .reveal{opacity:1;translate:0 0}.motion-paused .scene-main img{transform:none}
@media(min-width:1600px){.timeline-track{padding-left:max(4.8vw,calc((100vw - 1450px)/2))}}
@media(max-width:1000px) and (min-width:701px){.story-top h2{font-size:42px}.story-right p{font-size:10px}.audio-placeholder{display:none}.timeline-card{width:90vw;min-width:720px}.scene-copy{width:53%}.timeline-card p{font-size:10px}.timeline-card h3{font-size:28px}}
@media(max-width:700px){.ticker span:last-of-type,.ticker i:last-of-type{display:block}.ticker-reel>div{gap:25px;padding-right:25px}.ticker{padding:13px 0}.hero .eyebrow{font-size:6.8px;letter-spacing:1px}.hero-copy{animation-duration:.8s}.project-grid{grid-template-columns:1fr;gap:28px}.project-card,.project-card:nth-child(4n+1),.project-card:nth-child(4n+4){grid-column:auto;padding-top:0}.project-card:nth-child(n+5) .project-art{height:220px}.project-card:nth-child(n+5):nth-child(odd) .project-art{height:270px}.story-sticky{height:auto;min-height:0;max-height:none;gap:20px;padding:40px 0 25px}.story-top{display:block}.story h2{font-size:46px}.story-right p{margin-top:15px;max-width:none}.story-watermark{top:250px;font-size:80px;letter-spacing:-4px}.timeline-window{overflow-x:auto;flex:initial;display:block;padding:0 0 10px}.timeline-track{height:590px;gap:22px;padding:0 5vw;min-height:0}.timeline-card{width:88vw;min-width:0;height:590px;min-height:0}.timeline-date{font-size:7px;letter-spacing:1.1px}.scene-number{top:30px;font-size:170px}.scene-main,.scene-1 .scene-main,.scene-2 .scene-main{left:0;top:65px;width:72%;height:250px;transform:rotate(-4deg)}.scene-secondary,.scene-1 .scene-secondary,.scene-2 .scene-secondary{left:auto;right:0;top:113px;width:32%;height:150px;transform:rotate(6deg)}.scene-detail,.scene-1 .scene-detail,.scene-2 .scene-detail{right:2%;bottom:auto;top:302px;width:32%;height:130px;transform:rotate(-5deg);border:3px solid #e0ebf6}.scene-copy,.scene-1 .scene-copy,.scene-2 .scene-copy{left:2%;top:450px;width:94%}.timeline-card h3{font-size:31px}.timeline-card p{font-size:11px}.scene-note,.scene-1 .scene-note,.scene-2 .scene-note{left:4%;top:338px;width:55%;font-size:8px;writing-mode:horizontal-tb;transform:rotate(-4deg);border-top:1px solid #50729a;padding-top:10px}.timeline-caption{font-size:7px;margin-bottom:9px}.story-foot{display:block;margin-top:0}.audio-note{max-width:100%}.audio-note audio{max-width:100%}.scene-detail .cyber-disc{scale:.35}.timeline-art .denim-pocket{width:40%;height:65%}.timeline-art .denim-pocket:before{font-size:28px;left:18%}.footer-bottom{gap:18px;flex-wrap:wrap}.motion-toggle{font-size:8px}.timeline-art .music-glyph{font-size:130px}.scene-detail .music-glyph{font-size:80px}}
@media(min-width:701px) and (max-height:650px){.story-sticky{height:auto;min-height:0;padding:30px 0}.timeline-window{display:block;overflow-x:auto;flex:initial}.timeline-track{height:470px}.timeline-card{height:470px;min-height:0}.story-foot{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.record-stage,.record-sticker,.vinyl,.ticker-reel,.equalizer i,.running-art svg,.liner-notes .star{animation:none}.reveal{opacity:1;translate:none;transition:none}.story-sticky{height:auto;max-height:none;min-height:0}.timeline-window{display:block;overflow-x:auto;flex:initial}.timeline-track{height:540px}.timeline-card{height:540px}.scene-main,.scene-secondary,.scene-detail{--scene-shift:0px}.scene-main img{transform:none}.story-foot{margin-top:15px}.motion-toggle{display:none}}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.timeline-track,.timeline-card{height:590px}}
.skip-session{display:block;width:max-content;font-size:9px;color:#a2bad4;margin-top:10px;border-bottom:1px solid #42658b;transition:color .2s}.skip-session:hover{color:#fff}

/* Press archive and full project stories */
.press{background:#d1dfec;border-top:1px solid var(--line)}.press .section-heading{margin-bottom:40px}.press-item{display:grid;grid-template-columns:55px minmax(0,1fr) 45px;gap:20px;padding:30px 0;border-top:1px solid #9db5cd;align-items:start}.press-item:last-child{border-bottom:1px solid #9db5cd}.press-index{font:26px var(--serif);color:#5a789b}.press-meta{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#496888}.press-copy h3{font:clamp(26px,3vw,39px)/1.15 var(--serif);max-width:850px;margin:12px 0}.press-copy p{font-size:12px;max-width:700px;color:var(--muted)}.press-arrow{font-size:28px;transition:translate .3s}.press-item:hover .press-arrow{translate:4px -4px}.press-item:hover h3{color:var(--rust)}
#project-dialog{padding:0;width:min(1180px,94vw);max-width:1180px;height:90vh;max-height:960px;overflow:hidden;background:var(--paper);border:1px solid #6d89a7;box-shadow:0 30px 100px #001b4266}#project-dialog::backdrop{background:#071a31d9;backdrop-filter:blur(7px)}.dialog-toolbar{height:61px;display:flex;align-items:center;justify-content:space-between;padding:0 35px;background:#102b49;color:#d9e8f8;gap:15px}.dialog-toolbar>span{font-size:9px;letter-spacing:1.7px}.dialog-close{position:static;display:flex;align-items:center;gap:15px;padding:10px 0;background:none;color:inherit;font-size:11px}.dialog-close span{font-size:19px}.dialog-body{height:calc(100% - 61px);overflow-y:auto;overscroll-behavior:contain;padding:44px 5% 64px}.dialog-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:center}.dialog-heading{min-width:0}#project-dialog h2{font:clamp(52px,5vw,80px)/1 var(--serif);margin:20px 0;letter-spacing:-2px}#dialog-category{font-size:8px;line-height:1.7;letter-spacing:1.5px}#project-dialog #dialog-description{font:24px/1.4 var(--serif);color:#47698f;margin:0}.dialog-art .project-art{height:255px;width:100%;box-shadow:0 10px 25px #15375720}.dialog-art .project-art .cyber-disc{scale:.85}.dialog-art .project-art .art-word{display:none}.dialog-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:20px;margin:35px 0 42px;padding:22px 0}.dialog-facts>div>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:var(--muted);margin-bottom:7px}.dialog-facts strong{display:block;font-size:12px;font-weight:500;line-height:1.65}.dialog-story-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:55px;margin-top:38px}#dialog-details{font-size:14px;line-height:1.9;color:#364e68}#dialog-details section+section{margin-top:34px}#dialog-details h3{font:32px/1.1 var(--serif);color:var(--ink);margin:0 0 18px}#project-dialog #dialog-details p{font:14px/1.9 var(--sans);color:#364e68;margin:0 0 16px}#dialog-links{border-left:1px solid var(--line);padding-left:25px;align-self:start}#dialog-links h3{font:25px var(--serif);margin:0 0 18px}.project-source{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.7}.project-source small{flex-basis:100%;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}.project-source>span:first-of-type{flex:1}.project-source:hover{color:var(--rust)}.link-arrow{font-size:18px}.dialog-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:45px;border-top:1px solid var(--line);padding-top:35px}.dialog-gallery figure{margin:0}.dialog-gallery img{width:100%;max-height:500px;object-fit:contain;background:#c7d9ea}.dialog-gallery figcaption{font-size:10px;color:var(--muted);margin-top:9px}.dialog-facts[hidden],#dialog-links[hidden],.dialog-gallery[hidden]{display:none}
@media(max-width:1000px){.masthead nav{gap:15px;font-size:10px}.dialog-story-layout{grid-template-columns:minmax(0,1fr) 190px;gap:30px}.dialog-intro{gap:25px}.dialog-facts{grid-template-columns:1fr 1fr}.dialog-art .project-art{height:220px}}
@media(max-width:700px){.masthead nav a:nth-child(3){display:block}.masthead nav a[href="#press"]{display:none}.masthead nav{gap:12px;font-size:9px}.press-item{grid-template-columns:25px minmax(0,1fr) 20px;gap:12px;padding:23px 0}.press-meta{font-size:7px;line-height:1.8}.press-copy h3{font-size:28px}.press-copy p{font-size:11px}.press-index{font-size:21px}.press-arrow{font-size:21px}#project-dialog{width:96vw;height:94dvh;max-height:none}.dialog-toolbar{padding:0 20px;height:55px}.dialog-toolbar>span{font-size:7px;letter-spacing:1px}.dialog-body{height:calc(100% - 55px);padding:29px 22px 45px}.dialog-intro{grid-template-columns:1fr;gap:24px}#project-dialog h2{font-size:57px}#project-dialog #dialog-description{font-size:23px}.dialog-art .project-art{height:200px}.dialog-facts{gap:20px;margin:27px 0;padding:19px 0}.dialog-facts strong{font-size:11px}.dialog-story-layout{grid-template-columns:1fr;gap:30px;margin-top:30px}#dialog-details h3{font-size:30px}#dialog-links{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.dialog-gallery{grid-template-columns:1fr;gap:25px}.dialog-close{font-size:10px}#project-dialog #dialog-details p{font-size:13px}}
/* Kwe Maran has its own thermal-inspired visual identity. */
.art-thermal{background:radial-gradient(ellipse at 60% 35%,#538fc0 0,#234f83 32%,#112b4b 76%);color:#b8dafa}.thermal-shirt{width:43%;height:72%;fill:#112d4b66;stroke:currentColor;stroke-width:1.2;transform:rotate(-7deg)}.thermal-shirt .heat-line{fill:none;stroke:#84b8ed;stroke-width:2;opacity:.8}.thermal-mark{position:absolute;right:8%;top:21%;font-size:10px;letter-spacing:2px;padding:7px 12px;border:1px solid #7eacd5;transform:rotate(7deg)}.timeline-art .thermal-shirt{width:60%;height:80%}.scene-detail .thermal-mark{display:none}.dialog-art .thermal-shirt{width:42%;height:80%}
/* High notes: awards, team achievements, and qualifications. */
.press-intro{font-size:13px;color:var(--muted)}.awards-jump{display:inline-block;border-bottom:1px solid #6a89ac;padding-bottom:2px;margin-top:14px;font-size:10px;color:var(--ink)}.awards{background:#dfe9f3;border-top:1px solid var(--line);position:relative}.awards-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#9cb3cb;border:1px solid #9cb3cb}.award-card{background:#e7eef5;padding:28px 32px 30px;position:relative;min-height:280px;display:flex;flex-direction:column;transition:background .3s}.award-card:nth-child(2),.award-card:nth-child(3){background:#d7e5f2}.award-card:hover{background:#cddff0}.award-meta{display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:1.4px;text-transform:uppercase;color:#537193}.award-result{font:clamp(35px,3.6vw,55px)/1.1 var(--serif);color:#2c60a4;letter-spacing:-1px;margin-top:27px}.award-copy h3{font:25px/1.15 var(--serif);margin:13px 0 10px;max-width:400px}.award-copy p{font-size:11px;color:var(--muted);line-height:1.7}.award-actions{display:flex;align-items:center;gap:20px;padding-top:24px;margin-top:auto}.award-source,.award-project{display:inline-flex;gap:8px;align-items:center;font-size:9px;background:none;border:0;border-bottom:1px solid #a1b7cf;padding:0 0 3px;color:var(--ink)}.award-source .link-arrow{font-size:12px}.award-source:hover,.award-project:hover{color:var(--rust);border-color:var(--rust)}.more-awards{margin-top:24px}.more-awards summary{display:flex;align-items:center;gap:9px;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;font-size:12px;cursor:pointer}.more-awards summary::-webkit-details-marker{display:none}#more-awards-count{font-size:9px;color:var(--muted)}.award-expand{margin-left:auto;font-size:25px;font-weight:400;line-height:1;transition:rotate .25s}.more-awards[open] .award-expand{rotate:45deg}.more-awards summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.award-row{display:grid;grid-template-columns:150px minmax(0,1fr) 160px;gap:22px;border-bottom:1px solid var(--line);padding:24px 0}.award-row .award-meta{display:block;font-size:8px;line-height:1.8}.award-row .award-meta span{display:block}.award-row .award-result{font:12px var(--sans);letter-spacing:0;color:#285ba7;margin-top:0}.award-row .award-copy h3{font-size:25px;margin:7px 0}.award-row .award-actions{align-self:center;justify-content:flex-end;flex-wrap:wrap;margin:0;padding:0}.more-awards[hidden]{display:none}
@media(max-width:700px){.press-intro{font-size:12px;margin-top:20px}.awards-grid{grid-template-columns:1fr}.award-card{padding:25px 23px;min-height:245px}.award-result{font-size:43px}.award-card:last-child .award-result{font-size:35px}.award-copy h3{font-size:27px}.award-row{grid-template-columns:1fr;gap:12px;padding:24px 0}.award-row .award-meta{display:flex;gap:12px}.award-row .award-actions{justify-content:flex-start}.award-row .award-copy h3{font-size:26px}}
/* Client creative work: illustrative artwork, not unpublished campaign material. */
.art-marketing{background:#153960;color:#d4e7f8}.marketing-frame{width:70%;height:75%;padding:16px 22px;border:1px solid #7ba4cf;transform:rotate(-6deg);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#315c8d88,#183c6500);z-index:1}.marketing-frame>span{font-size:7px;letter-spacing:1.5px}.marketing-frame b{font:clamp(32px,4vw,65px)/.95 var(--serif);font-weight:400;letter-spacing:-1px}.marketing-frame i{font-style:normal;font-size:7px;letter-spacing:2px}.film-sprockets{position:absolute;inset:0 7% 0 auto;width:10px;opacity:.4;background:repeating-linear-gradient(to bottom,transparent 0 17px,#8fb9e0 17px 28px,transparent 28px 38px)}.dialog-art .marketing-frame b{font-size:45px}.dialog-art .marketing-frame{width:72%;height:79%}
.personal-story{display:inline-flex;align-items:center;gap:24px;background:none;border:0;border-bottom:1px solid #6c8faf;padding:0 0 5px;margin-top:24px;font-size:11px;color:var(--ink);transition:color .3s}.personal-story:hover{color:var(--rust)}.personal-story span{font-size:21px;line-height:1;transition:translate .3s}.personal-story:hover span{translate:3px -3px}.personal-story[hidden]{display:none}.dialog-art .art-music .music-glyph{font-size:165px}

.art-running{background:#b7d0e7}.dialog-art .art-running .running-art{width:100%;margin:0}.dialog-art .art-running .running-art span{font-size:42px}
/* Personal archive: preserve complete photos and keep playback visitor-controlled. */
.dialog-gallery{align-items:start}.dialog-gallery figure{margin:0;min-width:0;break-inside:avoid}.dialog-gallery img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;background:#d4e0ec}.dialog-gallery video{display:block;width:100%;height:auto;max-height:560px;background:#102a44;object-fit:contain}.dialog-gallery .gallery-video{grid-column:1 / -1;max-width:850px;width:100%;justify-self:center}.clip-link{display:inline-block;font-size:11px;margin:10px 0 0;border-bottom:1px solid var(--line)}.media-error{font-size:12px}.personal-photo{display:block;width:100%;height:310px;object-fit:cover;object-position:center 35%;margin:25px 0 22px}.music-panel .personal-photo{object-position:center 38%}.dialog-gallery figcaption{padding:10px 0 22px}.art-tag{background:#122d47d9;color:#f1f6fb;padding:5px 9px;max-width:90%;}.scene-main img,.scene-secondary img,.scene-detail img{object-position:center 40%}
@media(max-width:700px){.personal-photo{height:300px}.dialog-gallery .gallery-video{grid-column:auto}.dialog-gallery video{max-height:440px}.dialog-gallery img{max-height:none}}
.youtube-frame{aspect-ratio:16/9;width:100%;background:#102b49;display:grid;place-items:center}.youtube-frame iframe{width:100%;height:100%;border:0}.youtube-load{width:100%;height:100%;min-height:160px;color:#e4ecf4;background:radial-gradient(ellipse at 70% 20%,#33689a,#102b49 75%);font-family:var(--serif);font-size:clamp(23px,3vw,38px);padding:24px}.youtube-load:hover{background:#244e78}.youtube-load:focus-visible{outline:3px solid #b5d8fa;outline-offset:-6px}

/* Preserve the entire photograph in every frame, including portrait archives. */
.project-art.has-photo,.timeline-art.has-photo{background:#102b46;clip-path:none}
.project-art.has-photo img,.timeline-art.has-photo img{object-fit:contain;object-position:center;transform:none}
.project-art.has-photo:before,.project-art.has-photo:after{pointer-events:none}
.personal-photo,.music-panel .personal-photo{object-fit:contain;object-position:center;background:#102b46;height:auto;max-height:480px}
.confidential-sleeve{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 20% 10%,#305f8e 0,transparent 65%),#102b46;color:#e5edf6;overflow:hidden;text-align:center;border:12px solid #193b5d;box-shadow:inset 0 0 0 1px #9ab8d04d}
.confidential-staff{position:absolute;inset:21% -12%;border-top:1px solid #abc9e52b;border-bottom:1px solid #abc9e52b;background:repeating-linear-gradient(transparent 0,transparent 18px,#abc9e529 19px,transparent 20px);transform:rotate(-13deg);font:150px/1 Georgia;color:#9fbcd626;letter-spacing:12px}
.confidential-title{position:relative;font:clamp(36px,4vw,67px)/.98 var(--serif);letter-spacing:-1px}
.confidential-title em{color:#a7c6e5;font-weight:400}
.confidential-label{position:relative;margin-top:24px;padding-top:15px;border-top:1px solid #a7c6e57a;font-size:9px;letter-spacing:3px;text-transform:uppercase}
.dialog-art .confidential-title{font-size:42px}.dialog-art .confidential-label{margin-top:15px;padding-top:10px}
@media(max-width:700px){.confidential-title{font-size:46px}.personal-photo{height:auto;max-height:420px}}

/* The soundtrack is always an explicit invitation. */
.listening-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 4.8%;background:#102b46;color:#dceafa;border-bottom:1px solid #527392}
.listening-caption{font-size:9px;letter-spacing:1px}.listening-caption>span{padding:0 9px;color:#8aafd6}
.music-toggle{display:inline-flex;align-items:center;gap:9px;background:none;color:inherit;padding:5px 0;font-size:11px;white-space:nowrap}
.music-toggle>span:first-child{font-size:16px;color:#a7c6e5}.music-switch{display:block;position:relative;width:29px;height:16px;border:1px solid #9ab8d0;border-radius:20px}.music-switch:after{content:"";position:absolute;left:3px;top:3px;width:8px;height:8px;border-radius:50%;background:#9ab8d0;transition:transform .2s,background .2s}.music-toggle[aria-pressed="true"] .music-switch{background:#a7c6e5;border-color:#a7c6e5}.music-toggle[aria-pressed="true"] .music-switch:after{transform:translateX(13px);background:#102b46}
@media(max-width:480px){.listening-caption{font-size:8px;letter-spacing:.3px}.listening-caption>span{padding:0 4px}.listening-bar{gap:10px}}
@media(prefers-reduced-motion:reduce){.music-switch:after{transition:none}}

/* Each visible print follows the photograph's own proportions. */
.project-art.has-photo,.timeline-art.has-photo{display:flex;align-items:center;justify-content:center;background:transparent;border:0;box-shadow:none;clip-path:none;overflow:visible}
.project-art.has-photo img,.timeline-art.has-photo img{display:block;position:static;inset:auto;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transform:none;background:transparent;box-shadow:0 8px 25px #04162a26}
.project-art.has-photo:before,.project-art.has-photo:after,.timeline-art.has-photo:before,.timeline-art.has-photo:after{display:none}
.timeline-art.has-photo.scene-detail img{border:4px solid #e0ebf6}
.personal-photo,.music-panel .personal-photo{width:auto;height:auto;max-width:100%;max-height:480px;margin:25px auto 22px;background:transparent}
.dialog-gallery img{width:auto;height:auto;max-width:100%;max-height:650px;margin:0 auto;background:transparent}
@media(max-width:700px){.personal-photo,.music-panel .personal-photo{max-height:420px}.dialog-gallery img{max-height:none}}

.music-toggle{position:relative;z-index:12;border-radius:24px;padding:5px 9px;margin-right:-9px}
.music-invite-note{display:none;position:absolute;top:calc(100% + 13px);right:0;width:max-content;max-width:230px;padding:10px 15px;border:1px solid #91b4d7;border-radius:5px;background:#e4ecf4;color:#142c47;font:11px/1.5 var(--sans);box-shadow:0 8px 25px #06192c26;pointer-events:none}
.music-invite-note:before{content:"";position:absolute;top:-6px;right:24px;width:10px;height:10px;background:#e4ecf4;border-top:1px solid #91b4d7;border-left:1px solid #91b4d7;transform:rotate(45deg)}
.music-invitation{animation:music-beacon 2s ease-in-out 3}
.music-invitation .music-invite-note{display:block;animation:music-invite-enter .6s ease-out both}
@keyframes music-beacon{0%,100%{box-shadow:0 0 0 0 #a7c6e500;background:transparent}45%{box-shadow:0 0 0 7px #a7c6e526;background:#a7c6e51c}}
@keyframes music-invite-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.music-invitation,.music-invitation .music-invite-note{animation:none}}

/* Larger archival prints, with overlapping photographs and room for the liner notes. */
@media(min-width:701px){
 .timeline-card{width:clamp(900px,92vw,1450px)}
 .scene-main,.scene-1 .scene-main,.scene-2 .scene-main{left:0;top:48px;width:59%;height:68%}
 .scene-secondary,.scene-1 .scene-secondary,.scene-2 .scene-secondary{left:49%;right:auto;top:48px;width:46%;height:64%;z-index:1}
 .scene-detail,.scene-1 .scene-detail,.scene-2 .scene-detail{right:0;top:auto;bottom:5px;width:35%;height:49%;z-index:2}
 .scene-copy,.scene-1 .scene-copy,.scene-2 .scene-copy{left:2%;top:auto;bottom:0;width:56%;padding:10px 0 0}
 .scene-note,.scene-1 .scene-note,.scene-2 .scene-note{display:none}
 .timeline-card p{max-width:600px}
}
@media(max-width:700px){
 .timeline-track,.timeline-card{height:830px}
 .scene-main,.scene-1 .scene-main,.scene-2 .scene-main{left:0;top:55px;width:96%;height:360px}
 .scene-secondary,.scene-1 .scene-secondary,.scene-2 .scene-secondary{left:auto;right:0;top:325px;width:68%;height:280px;z-index:1}
 .scene-detail,.scene-1 .scene-detail,.scene-2 .scene-detail{left:0;right:auto;top:475px;bottom:auto;width:56%;height:210px;z-index:2}
 .scene-copy,.scene-1 .scene-copy,.scene-2 .scene-copy{left:2%;top:710px;width:94%}
 .scene-note,.scene-1 .scene-note,.scene-2 .scene-note{display:none}
}

/* Small gestures throughout the session. Image bounds and crops stay intact. */
.masthead nav a{position:relative;transition:color .25s}
.masthead nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.masthead nav a:is(:hover,:focus-visible):after{transform:scaleX(1)}
.project-art{transform:perspective(1000px) rotateX(var(--pointer-y,0deg)) rotateY(var(--pointer-x,0deg));transition:transform .4s ease,filter .3s}
.record-stage{rotate:var(--pointer-x,0deg);transition:rotate .65s ease}
.project-arrow,.round-link,.audio-icon{transition:transform .3s ease,background .3s,color .3s,border-color .3s}
.project-button:is(:hover,:focus-visible) .project-arrow{transform:rotate(12deg);background:var(--ink);color:var(--paper)}
.filters button,.music-toggle,.personal-story,.dialog-close{transition:background .25s,color .25s,box-shadow .25s,scale .2s}
.filters button:active,.music-toggle:active,.dialog-close:active{scale:.96}
.press-item,.award-card,.award-row{transition:translate .3s ease,box-shadow .3s ease,border-color .3s ease}
.press-item:focus-within,.award-card:focus-within,.award-row:focus-within{border-color:var(--rust)}
.clip-link,.award-source,.award-project,.email-link{transition:color .25s,border-color .25s,text-shadow .25s}
.clip-link:hover,.award-source:hover,.award-project:hover{color:var(--rust);border-color:var(--rust)}
.email-link:is(:hover,:focus-visible){color:var(--rust);text-shadow:0 4px 18px #285ba71a}
.piano>:is(i,b){transition:translate .2s ease,filter .2s ease}
#project-dialog[open]{animation:session-open .35s cubic-bezier(.2,.7,.3,1) both}
#project-dialog[open]::backdrop{animation:session-backdrop .3s ease both}
@keyframes session-open{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@keyframes session-backdrop{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (pointer:fine){
 .project-button:hover .project-art{translate:0 -4px}
 .project-art{transition:transform .4s ease,translate .35s ease,filter .3s}
 .timeline-art.has-photo img{transition:translate .4s ease,filter .4s ease,box-shadow .4s ease}
 .timeline-art.has-photo:hover img{translate:0 -5px;filter:brightness(1.04);box-shadow:0 16px 30px #04162a40}
 .press-item:hover,.award-card:hover,.award-row:hover{translate:0 -3px;border-color:var(--rust)}
 .personal-photo,.dialog-gallery img{transition:translate .4s ease,box-shadow .4s ease}
 .personal-photo:hover,.dialog-gallery img:hover{translate:0 -3px;box-shadow:0 10px 24px #142c471a}
 .piano>:is(i,b):hover{translate:0 3px;filter:brightness(.94)}
 .round-link:hover{transform:translateY(3px)}
}
.motion-paused .project-art{transform:none!important;translate:none!important}
.motion-paused .record-stage{rotate:none!important}
.motion-paused :is(.timeline-art img,.press-item,.award-card,.award-row,.personal-photo,.dialog-gallery img,.piano>:is(i,b),.project-arrow,.round-link){translate:none!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
 .project-art{transform:none!important;translate:none!important}
 .record-stage{rotate:none!important}
 :is(.timeline-art img,.press-item,.award-card,.award-row,.personal-photo,.dialog-gallery img,.piano>:is(i,b),.project-arrow,.round-link){translate:none!important;transform:none!important}
}
