:root{color-scheme:light;--bg:#e6ebf1;--ink:#24354a;--muted:#617084;--accent:#5d7fa4;--line:rgba(62,86,115,.2);--glass:rgba(248,251,255,.48);--exit-duration:620ms;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px;background:var(--bg)}
body{margin:0;color:var(--ink);background:radial-gradient(circle at 86% 13%,rgba(181,204,229,.55),transparent 28%),radial-gradient(circle at 5% 42%,rgba(255,255,255,.72),transparent 31%),var(--bg);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:has(dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button,summary{font:inherit;color:inherit;cursor:pointer}
button{border:0}
button,a{touch-action:manipulation}
button:active,.contact-link:active{transform:scale(.97)}
:focus-visible{outline:2px solid #38618c;outline-offset:5px}
button:disabled{opacity:.45;cursor:wait}
button[hidden]{display:none}
img{display:block;max-width:100%}
p,h1,h2,h3,figure{margin:0}
p{line-height:1.9}
h2{font-size:clamp(34px,4.6vw,70px);font-weight:500;line-height:1.28;letter-spacing:-.06em;text-wrap:balance}
.glass{background:var(--glass);border:1px solid rgba(255,255,255,.82);-webkit-backdrop-filter:blur(16px) saturate(115%);backdrop-filter:blur(16px) saturate(115%);box-shadow:0 12px 32px -22px rgba(46,68,95,.5),inset 0 1px rgba(255,255,255,.8)}
.micro{font:10px/1.5 "Courier New",monospace;letter-spacing:.11em;color:var(--muted)}
.serif-label{font:italic 17px/1.5 Georgia,serif;color:var(--muted)}
.serif-cn{font-family:"Songti SC","STSong",serif;font-weight:500}
.skip-link{position:fixed;top:12px;left:15px;background:white;padding:12px;transform:translateY(-200%);z-index:200}
.skip-link:focus{transform:none}
#star-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.76}
#cursor-canvas{position:fixed;inset:0;z-index:100;pointer-events:none}
#background-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;display:none}
.video-shade{position:fixed;inset:0;background:rgba(230,235,241,.82);z-index:1;pointer-events:none;display:none}
body.has-video #background-video,body.has-video .video-shade{display:block}
main,.site-footer,.video-options{position:relative;z-index:2}
.site-header{position:sticky;top:17px;z-index:30;margin:17px auto 0;width:calc(100% - 80px);max-width:1510px;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 13px 10px 22px;border-radius:40px}
.brand{display:flex;align-items:center;gap:12px;font-size:14px;min-width:138px}
.brand-mark{font:bold 32px/.9 Georgia,serif;letter-spacing:-.1em;padding-right:4px}
.brand small{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:.08em;color:var(--muted);margin-top:2px}
.site-header nav{display:flex;gap:30px;font-size:12px}
.site-header nav a{padding:10px 0;position:relative}
.site-header nav a::after{content:"";position:absolute;bottom:2px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transition:transform .2s ease}
.site-header nav a[aria-current="page"]::after{transform:scaleX(1)}
.contact-link{background:var(--ink);color:#f2f5f9;border-radius:40px;min-height:43px;display:flex;align-items:center;gap:24px;padding:0 20px;font-size:12px}
.hero{min-height:calc(100svh - 84px);padding:37px 4vw 22px;display:flex;flex-direction:column;max-width:1640px;margin:auto}
.hero-notes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;font-size:12px}
.hero-notes p{margin-top:9px;line-height:1.7}
.hero-intro{justify-self:center}
.hero-location{justify-self:end;text-align:right;font:10px/1.5 "Courier New",monospace}
.hero-location .serif-label{display:block;font-size:14px;margin-top:14px}
.location-dot{display:inline-block;background:var(--accent);width:6px;height:6px;border-radius:50%;margin-right:5px}
.name-stage{position:relative;isolation:isolate;flex:1;display:flex;align-items:center;min-height:350px;padding:52px 0}
h1{width:100%;font-size:clamp(47px,13.5vw,220px);line-height:1.08;letter-spacing:-.075em;font-weight:700;position:relative;z-index:2}
.words{position:relative;display:flex;align-items:center;justify-content:center;min-height:1.48em;touch-action:pan-y pinch-zoom}
.word{display:inline-flex;flex-shrink:0}
.space{width:.28em;flex-shrink:0}
.letter{pointer-events:none;display:inline-grid;position:relative;align-items:center;height:1.08em;flex-shrink:0}
.letter,.hit{transition:padding-inline .55s cubic-bezier(.22,1,.36,1)}
.char{grid-area:1/1;line-height:1;justify-self:center}
.letter.active .char,.letter.pending .char{visibility:hidden}
.letter.returning .char{animation:letter-soft-return var(--exit-duration) cubic-bezier(.22,1,.36,1) both}
@keyframes letter-soft-return{0%,20%{opacity:0;transform:scale(.88)}65%{opacity:1;transform:scale(1.035)}100%{opacity:1;transform:scale(1)}}
.sticker{position:absolute;top:calc(50% + var(--offset,0em));left:50%;translate:-50% -50%;z-index:1;pointer-events:none}
.sticker img{height:var(--height,1.122em);width:auto;max-width:var(--maxwidth,1.377em);object-fit:contain}
.hit-layer{position:absolute;inset:0;z-index:3;color:transparent;user-select:none;pointer-events:none;display:flex;align-items:center;justify-content:center}
.hit{display:inline-flex;align-items:center;pointer-events:auto;height:1.35em;line-height:1}
.floating-tag{position:absolute;z-index:4;pointer-events:none;padding:11px 16px;border-radius:12px;font-size:13px}
.tag-one{left:5%;top:8%;transform:rotate(-6deg)}
.tag-one span{margin-left:11px;color:var(--accent)}
.tag-two{right:4%;top:10%;transform:rotate(5deg);font:italic 16px Georgia,serif}
.tag-three{right:17%;bottom:6%;transform:rotate(-4deg)}
.hero-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px;padding:14px 0 23px}
.hero-identity p{font-size:25px;letter-spacing:.05em;line-height:1.5}
.hero-identity p span{color:var(--muted);font-size:16px}
.hero-identity small{font-size:11px;color:var(--muted)}
.scroll-cue{display:flex;align-items:center;gap:14px;font-size:11px;margin-bottom:3px}
.scroll-cue b{display:grid;place-items:center;width:38px;height:47px;border:1px solid #9dacc0;border-radius:50%;font-weight:400;font-size:20px}
.playback{text-align:right}
.controls{display:flex;gap:8px;flex-wrap:wrap}
.playback .controls{justify-content:flex-end}
.controls button{font-size:11px;border:1px solid #aab8c9;background:rgba(255,255,255,.22);padding:9px 15px;border-radius:30px;min-height:36px;transition:background .2s,color .2s}
#status{font-size:10px;color:var(--muted);margin-top:10px;min-height:19px}
.theme-strip{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;gap:18px;align-items:center}
#theme-list{display:flex;gap:17px;flex-wrap:wrap;justify-content:flex-end}
.theme-button{display:flex;gap:6px;align-items:center;background:none;padding:7px 0;min-height:32px;font-size:11px}
.theme-letter{font:italic 15px Georgia,serif;color:var(--accent)}
.section{max-width:1500px;padding:98px 5vw 105px;margin:0 auto}
.section-kicker{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;font:10px/1.5 "Courier New",monospace;color:var(--muted);letter-spacing:.08em;margin-bottom:62px}
.section-kicker span:last-child{font-family:Arial,"PingFang SC",sans-serif}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:47px}
.section-heading>p{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:7px;max-width:330px}
.about-section{padding-top:66px}
.about-grid{display:grid;grid-template-columns:40% 1fr;gap:12%;align-items:center;perspective:1400px}
.portrait-frame{position:relative;container-type:inline-size;background:#d5dee9;padding:12px 12px 56px;border:1px solid rgba(255,255,255,.8);border-radius:9px;transform:rotate(-2deg);transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;box-shadow:0 25px 50px -40px #43546e}
.portrait-frame>img{width:100%;height:125cqi;object-fit:cover;object-position:center 47%;border-radius:3px}
.portrait-frame figcaption{position:absolute;bottom:80px;left:30px;right:30px;padding:17px 20px;border-radius:10px;display:flex;flex-direction:column;gap:5px}
.portrait-frame figcaption small{font:9px/1.5 "Courier New",monospace;letter-spacing:.08em;color:var(--muted)}
.portrait-note{position:absolute;bottom:19px;left:22px;font:italic 15px Georgia,serif;color:var(--muted)}
.about-copy h2{margin:19px 0 27px}
.about-copy>p{font-size:14px;color:var(--muted);max-width:480px;margin-bottom:14px}
.profile-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:29px 0 8px}
.profile-proof>span{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;background:rgba(230,235,241,.88);padding:18px 12px 17px}
.profile-proof strong{font:italic 32px/1 Georgia,serif;color:var(--accent)}
.profile-proof small{font-size:9px;color:var(--muted)}
.interest-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.interest-tags span{font-size:11px;border:1px solid #afbed0;border-radius:24px;padding:7px 12px;background:rgba(255,255,255,.16)}
.belief{position:relative;display:flex;align-items:center;gap:24px;padding:24px;border-radius:16px;margin-top:31px}
.belief>span{font-size:38px;color:var(--accent)}
.belief p{font-size:15px;line-height:1.7}
.belief small{font:8px "Courier New",monospace;color:var(--muted);position:absolute;right:15px;top:12px}
.photo-wall-section{max-width:none;padding-left:0;padding-right:0;overflow:hidden}
.photo-wall-section>.section-kicker,.photo-wall-section>.section-heading{max-width:1350px;margin-left:auto;margin-right:auto}
.photo-wall{position:relative;isolation:isolate;display:grid;gap:16px;transform:rotate(-1deg);margin:12px 0 0;padding:18px 0;overflow:hidden}
.photo-wall::before,.photo-wall::after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:5vw;min-width:44px;max-width:86px;pointer-events:none}
.photo-wall::before{left:0;background:linear-gradient(90deg,rgba(230,235,241,.98) 0%,rgba(230,235,241,.76) 45%,rgba(230,235,241,0) 100%)}
.photo-wall::after{right:0;background:linear-gradient(270deg,rgba(230,235,241,.98) 0%,rgba(230,235,241,.76) 45%,rgba(230,235,241,0) 100%)}
.photo-rail{display:flex;gap:16px;width:max-content;will-change:transform}
.rail-forward{animation:rail-forward 48s linear infinite}
.rail-reverse{animation:rail-reverse 54s linear infinite}
.photo-wall:hover .photo-rail,.photo-wall:focus-within .photo-rail{animation-play-state:paused}
@keyframes rail-forward{to{transform:translateX(-50%)}}
@keyframes rail-reverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.wall-photo{position:relative;flex:0 0 285px;width:285px;height:205px;padding:0;border-radius:14px;overflow:hidden;background:#d2dce8;border:1px solid rgba(255,255,255,.8);box-shadow:0 16px 34px -28px #314862}
.wall-photo-wide{flex-basis:375px;width:375px}
.wall-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.rail-forward .wall-photo{background:rgba(247,250,253,.68)}
.rail-forward .wall-photo img{object-fit:contain;padding:7px}
.wall-photo>span{position:absolute;left:10px;bottom:10px;padding:7px 10px;border-radius:8px;font-size:10px}
.journey-section{max-width:none;padding-left:0;padding-right:0}
.journey-section>.section-kicker,.journey-section>.section-heading{max-width:1350px;margin-left:auto;margin-right:auto}
.journey-heading{padding:0}
.ring-shell{position:relative;height:560px;border-radius:0;border-left:0;border-right:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ring-stage{position:relative;width:100%;height:420px;display:flex;align-items:center;justify-content:center;perspective:1500px;transform-style:preserve-3d;cursor:grab;touch-action:pan-y}
.ring-stage.is-dragging{cursor:grabbing}
.ring-card{position:absolute;width:232px;height:294px;transform-style:preserve-3d;backface-visibility:hidden;transition:opacity .15s}
.ring-card>div{height:100%;padding:28px 24px;border-radius:18px;background:rgba(240,246,252,.76);border:1px solid rgba(255,255,255,.9);box-shadow:0 22px 50px -34px #264767;backdrop-filter:blur(16px);display:flex;flex-direction:column;justify-content:center;text-align:center}
.ring-card span{font:10px "Courier New",monospace;color:var(--muted)}
.ring-card h3{font-size:25px;font-weight:500;margin:13px 0 7px}
.ring-card em{font:italic 14px Georgia,serif;color:var(--accent)}
.ring-card .role-tag{font:10px/1.4 Arial,"PingFang SC",sans-serif;letter-spacing:.04em;border:1px solid #9db1c6;border-radius:20px;padding:6px 10px;align-self:center;background:rgba(255,255,255,.35)}
.ring-card p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:18px}
.ring-hint{position:absolute;bottom:28px;font:9px "Courier New",monospace;color:var(--muted);letter-spacing:.09em}
.credential-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.credential-card{padding:10px;background:rgba(247,250,253,.36);border:1px solid rgba(255,255,255,.82);border-radius:11px;text-align:left;overflow:hidden}
.credential-card img{width:100%;aspect-ratio:1.36;object-fit:contain;background:rgba(255,255,255,.42);border-radius:5px;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.credential-card>span{display:flex;justify-content:space-between;gap:15px;align-items:end;padding:15px 3px 5px}
.credential-card strong{font-size:12px;font-weight:500}
.credential-card small{font:9px "Courier New",monospace;color:var(--muted)}
.clients-block{margin-top:67px}
.client-list{display:flex;flex-wrap:wrap;gap:25px 31px;margin-top:27px}
.client-list span{font-size:14px;color:var(--muted)}
.page-directory{padding-top:45px}
.directory-intro{display:grid;grid-template-columns:.65fr 1.35fr;gap:8%;align-items:start;margin-bottom:65px}
.directory-intro h2{max-width:840px}
.directory-links{border-top:1px solid var(--line)}
.directory-links>a{display:grid;grid-template-columns:62px 1fr auto;gap:28px;align-items:center;padding:27px 4px;border-bottom:1px solid var(--line);transition:padding .35s cubic-bezier(.22,1,.36,1),background .25s ease}
.directory-links>a>span{font:10px "Courier New",monospace;color:var(--muted)}
.directory-links div{display:grid;grid-template-columns:170px 220px 1fr;gap:28px;align-items:center}
.directory-links small{font:9px "Courier New",monospace;color:var(--muted);letter-spacing:.07em}
.directory-links strong{font-size:25px;font-weight:500}
.directory-links p{font-size:11px;color:var(--muted)}
.directory-links b{font-size:23px;font-weight:400}
.contact-section{padding-top:63px;padding-bottom:84px}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:13%;align-items:center}
.contact-grid h2{font-size:clamp(46px,6.4vw,94px);margin:18px 0 24px}
.contact-grid>div>p{color:var(--muted);font-size:12px}
.email-link{font-size:clamp(17px,2vw,27px);padding:25px 0 13px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #9fadc0;max-width:450px}
.phone-link{display:block;font:17px/1.5 "Courier New",monospace;margin-top:18px}
.phone-link small{font:10px Arial,sans-serif;color:var(--muted);margin-left:18px}
.social-links{display:flex;gap:23px;margin-top:28px;font-size:11px}
.social-links button{padding:0;background:none;font-size:inherit}
.qr-card{padding:31px;max-width:350px;justify-self:end;transform:rotate(3deg);border-radius:20px;text-align:center;width:100%}
.qr-card .micro{display:block;margin-bottom:21px}
.qr-card img{width:100%;max-width:232px;aspect-ratio:1;object-fit:contain;margin:0 auto;background:white;padding:11px;border-radius:8px}
.qr-card h3{font-size:18px;font-weight:500;margin-top:22px}
.qr-card p{font-size:10px;color:var(--muted);margin:7px 0 17px}
.qr-signature{font:italic 29px Georgia,serif;color:var(--accent);letter-spacing:-.07em}
.site-footer{max-width:1350px;margin:0 auto;padding:24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;color:var(--muted)}
.footer-brand{font-size:22px;font-weight:bold;letter-spacing:-.07em;color:var(--ink)}
.footer-brand span{font-size:11px;font-weight:400;letter-spacing:0;margin-left:10px}
.site-footer>div{display:flex;align-items:center;gap:10px}
.site-footer time{font:15px "Courier New",monospace;font-variant-numeric:tabular-nums}
.site-footer small{font:8px "Courier New",monospace}
.site-footer>div>a:last-child{width:36px;height:36px;border:1px solid #acbacb;border-radius:50%;display:grid;place-items:center;font-size:17px;margin-left:14px}
.footer-work-link{font-size:10px;color:var(--ink);margin-right:14px}
.video-options{max-width:1350px;margin:0 auto 20px;font-size:10px;color:var(--muted)}
.video-options summary{padding:10px 0}
.video-options p{margin:5px 0 11px}
dialog{border:1px solid rgba(255,255,255,.82);border-radius:18px;padding:47px 21px 17px;background:#e9eef4;color:var(--ink);max-width:min(92vw,1200px);max-height:92svh;box-shadow:0 25px 80px rgba(30,44,62,.25)}
dialog::backdrop{background:rgba(28,42,60,.55);backdrop-filter:blur(12px)}
#dialog-image{max-width:100%;max-height:calc(92svh - 112px);width:auto;object-fit:contain;margin:auto}
#dialog-close{position:absolute;right:8px;top:5px;width:40px;height:40px;background:none;font-size:29px;border-radius:50%}
#dialog-caption{text-align:center;font-size:12px;margin:13px 0 0}
.noscript-note{padding:25px;text-align:center}

/* Standalone works archive */
.works-page main{overflow:hidden}
.page-back{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;font:10px/1.5 "Courier New",monospace;color:var(--muted);letter-spacing:.06em;margin-bottom:28px}
.works-hero{min-height:calc(100svh - 84px);max-width:1500px;margin:0 auto;padding:92px 5vw 60px;display:flex;flex-direction:column;justify-content:center}
.works-hero .section-kicker{margin-bottom:8vh}
.works-hero>h1{font-size:clamp(72px,11.4vw,180px);line-height:.9;letter-spacing:-.085em;max-width:1200px;margin:20px 0 8vh}
.works-hero-foot{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid var(--line);padding-top:22px}
.works-hero-foot p{max-width:470px;color:var(--muted);font-size:12px}
.works-hero-foot a{display:flex;align-items:center;gap:18px;font-size:11px}
.works-hero-foot a span{width:38px;height:45px;border:1px solid #aab8c9;border-radius:50%;display:grid;place-items:center;font-size:19px}
.page-subnav{align-self:flex-end;display:flex;gap:7px;padding:6px;border-radius:30px;margin-top:28px}
.page-subnav a{font-size:10px;padding:9px 13px;border-radius:20px;color:var(--muted)}
.page-subnav a:hover,.page-subnav a:focus-visible{background:rgba(255,255,255,.55);color:var(--ink)}
.work-category{padding-top:72px}
.photography-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:18px}
.photo-work-card{grid-column:span 4;position:relative;padding:0;min-height:330px;border-radius:15px;overflow:hidden;background:#d3dde8;border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 40px -31px #263e59;text-align:left}
.photo-work-card:nth-child(7n+1),.photo-work-card:nth-child(7n+5){grid-column:span 5}
.photo-work-card:nth-child(7n+2),.photo-work-card:nth-child(7n+6){grid-column:span 3}
.photo-work-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .55s cubic-bezier(.22,1,.36,1),filter .4s ease}
.photo-work-card>span{position:absolute;left:12px;right:12px;bottom:12px;padding:11px 13px;border:1px solid rgba(255,255,255,.72);background:rgba(230,235,241,.78);backdrop-filter:blur(12px);border-radius:10px;display:flex;justify-content:space-between;align-items:end;gap:16px}
.photo-work-card small{font:9px "Courier New",monospace;color:var(--muted)}
.photo-work-card strong{font-size:11px;font-weight:500}
.future-work-section{max-width:1500px}
.future-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.future-card{min-height:470px;border-radius:22px;padding:24px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.future-card::before{content:"";position:absolute;inset:auto -20% 18% -20%;height:1px;background:var(--line);transform:rotate(-8deg)}
.future-number{position:absolute;top:22px;right:23px;font:10px "Courier New",monospace;color:var(--muted)}
.future-card h3{font-size:28px;font-weight:500;margin:8px 0 10px}
.future-card p{font-size:11px;color:var(--muted)}
.pending-chip{align-self:flex-start;margin-top:20px;border:1px solid #aab8c9;padding:8px 11px;border-radius:20px;font-size:9px;color:var(--muted)}
.future-object{position:absolute;inset:58px 15% auto;height:200px;display:flex;align-items:center;justify-content:center}
.sound-object{gap:9px}
.sound-object i{width:12px;border-radius:20px;background:linear-gradient(180deg,#315c88,#7ea3bd 65%,#d48b70);box-shadow:0 7px 16px rgba(49,79,112,.2)}
.sound-object i:nth-child(1),.sound-object i:nth-child(5){height:48px}.sound-object i:nth-child(2),.sound-object i:nth-child(4){height:110px}.sound-object i:nth-child(3){height:176px}
.film-object span{width:175px;height:126px;border:18px solid #b25d43;border-radius:22px;transform:rotate(-7deg);box-shadow:inset 0 0 0 4px #e5b96d,0 16px 31px rgba(49,72,98,.15);position:relative}
.film-object span::after{content:"";position:absolute;inset:24px;background:linear-gradient(135deg,#263c58 0 45%,#6d96a8 45% 55%,#d58e67 55%)}
.digital-object{perspective:500px}
.digital-object span{position:absolute;width:124px;height:162px;border-radius:15px;border:1px solid rgba(255,255,255,.9);background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(136,168,194,.52));box-shadow:0 20px 35px -25px #2d4b6d}
.digital-object span:nth-child(1){transform:translateX(-58px) rotateY(24deg) rotate(-8deg)}.digital-object span:nth-child(2){z-index:2;background:linear-gradient(160deg,#466f99,#bfd1dd 52%,#d18469);transform:translateY(-13px)}.digital-object span:nth-child(3){transform:translateX(58px) rotateY(-24deg) rotate(8deg)}
.photo-archive{max-width:none;padding-left:0;padding-right:0;overflow:hidden}
.photo-archive>.section-kicker,.photo-archive>.section-heading{max-width:1350px;margin-left:auto;margin-right:auto}
.portfolio-photo-wall{display:grid;gap:24px}
.portfolio-photo-row{position:relative;overflow:hidden;padding:48px 0 20px;border-top:1px solid var(--line)}
.portfolio-photo-row::before,.portfolio-photo-row::after{content:"";position:absolute;z-index:4;top:0;bottom:0;width:5vw;min-width:44px;max-width:86px;pointer-events:none}
.portfolio-photo-row::before{left:0;background:linear-gradient(90deg,rgba(230,235,241,.98),rgba(230,235,241,.72) 48%,rgba(230,235,241,0))}
.portfolio-photo-row::after{right:0;background:linear-gradient(270deg,rgba(230,235,241,.98),rgba(230,235,241,.72) 48%,rgba(230,235,241,0))}
.portfolio-row-label{position:absolute;z-index:5;top:15px;left:max(5vw,44px);font:9px "Courier New",monospace;color:var(--muted);letter-spacing:.09em}
.portfolio-photo-rail{display:flex;gap:16px;width:max-content;will-change:transform}
.portfolio-rail-forward{animation:portfolio-forward 46s linear infinite}
.portfolio-rail-reverse{animation:portfolio-reverse 58s linear infinite}
.portfolio-photo-row:hover .portfolio-photo-rail,.portfolio-photo-row:focus-within .portfolio-photo-rail{animation-play-state:paused}
@keyframes portfolio-forward{to{transform:translateX(-50%)}}
@keyframes portfolio-reverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.portfolio-photo-card{position:relative;flex:none;padding:0;border-radius:15px;overflow:hidden;background:#d3dde8;border:1px solid rgba(255,255,255,.86);box-shadow:0 18px 40px -31px #263e59;text-align:left}
.portrait-row .portfolio-photo-card{width:252px;height:326px}
.landscape-row .portfolio-photo-card{width:390px;height:244px}
.portfolio-photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1),filter .35s ease}
.portfolio-photo-card>span{position:absolute;left:11px;right:11px;bottom:11px;padding:10px 12px;border:1px solid rgba(255,255,255,.72);background:rgba(230,235,241,.76);backdrop-filter:blur(12px);border-radius:10px;display:flex;justify-content:space-between;align-items:end;gap:15px}
.portfolio-photo-card small{font:8px "Courier New",monospace;color:var(--muted)}
.portfolio-photo-card strong{font-size:10px;font-weight:500}
.media-work-section{max-width:1500px}
.audio-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1120px;margin:0 auto}
.audio-work-card{display:grid;grid-template-columns:138px 1fr;gap:19px;padding:12px;border-radius:28px;align-items:center;overflow:hidden}
.audio-work-card>img{width:138px;height:138px;object-fit:cover;border-radius:20px}
.audio-work-copy{min-width:0;padding:7px 10px 7px 0}
.audio-work-copy h3{font-size:28px;font-weight:500;margin:7px 0 7px}
.audio-work-copy p{font-size:10px;color:var(--muted);min-height:0}
.audio-work-copy audio{display:block;width:100%;height:34px;margin-top:14px;color-scheme:light;accent-color:var(--accent)}
.video-work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start}
.video-work-card{border-radius:22px;overflow:hidden;padding:12px}
.video-work-card video{display:block;width:100%;background:#142439;border-radius:14px;object-fit:contain}
.video-wide{grid-column:span 8}.video-wide video{aspect-ratio:16/9}
.video-portrait{grid-column:span 4}.video-portrait video{aspect-ratio:4/5}
.video-landscape{grid-column:2/span 10}.video-landscape video{aspect-ratio:16/9}
.video-work-card>div{padding:19px 9px 12px}
.video-work-card h3{font-size:26px;font-weight:500;margin:8px 0 7px}
.video-work-card p{font-size:11px;color:var(--muted)}
.digital-work-placeholder{min-height:430px;border-radius:24px;padding:clamp(30px,5vw,72px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;overflow:hidden}
.digital-work-placeholder h2{font-size:clamp(46px,6vw,84px);line-height:1.04;margin:16px 0 20px}
.digital-work-placeholder p{font-size:12px;color:var(--muted);max-width:540px}
.digital-work-placeholder .future-object{position:relative;inset:auto;height:240px}
.works-contact{padding-top:25px}
.works-contact-card{padding:clamp(34px,6vw,88px);border-radius:28px;text-align:center}
.works-contact-card h2{font-size:clamp(52px,7.8vw,116px);line-height:1.04;margin:17px auto 35px}
.works-contact-card>div{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.works-contact-card a{border:1px solid #aab8c9;border-radius:30px;padding:12px 18px;font-size:11px}
.motion-reveal{opacity:0;transform:translateY(22px)}
.motion-reveal.is-visible{opacity:1;transform:translateY(0);transition:transform .65s var(--ease-out),opacity .45s var(--ease-out)}

/* Shared inner pages */
.inner-hero{min-height:calc(100svh - 84px);max-width:1500px;margin:0 auto;padding:72px 5vw 60px;display:flex;flex-direction:column;justify-content:center}
.inner-hero .section-kicker{margin-bottom:8vh}
.inner-hero>h1{font-size:clamp(70px,10vw,158px);line-height:.93;letter-spacing:-.085em;max-width:1290px;margin:19px 0 8vh}
.inner-hero-foot{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid var(--line);padding-top:22px}
.inner-hero-foot p{max-width:530px;color:var(--muted);font-size:12px}
.inner-hero-foot a{display:flex;align-items:center;gap:18px;font-size:11px}
.inner-hero-foot a span{width:38px;height:45px;border:1px solid #aab8c9;border-radius:50%;display:grid;place-items:center;font-size:19px}

/* Journey page */
.journey-page main,.solo-page main{overflow:hidden}
.collaboration-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:end}
.collaboration-grid h2{margin-top:17px}
.collaboration-copy p{font-size:13px;color:var(--muted);margin-top:15px}
.role-ledger{display:grid;grid-template-columns:1fr auto 1fr;gap:35px;align-items:center;margin-top:58px;padding:28px 34px;border-radius:18px}
.role-ledger>div{display:flex;justify-content:space-between;gap:30px;align-items:center}
.role-ledger small{font:9px "Courier New",monospace;color:var(--muted)}
.role-ledger strong{font-size:16px;font-weight:500}
.role-ledger>span{color:var(--accent);font:italic 25px Georgia,serif}
.journey-records{padding-top:48px}

/* One-person company page */
.solo-structure-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:9%;align-items:end}
.solo-structure-intro>.serif-label{grid-column:1/-1}
.solo-structure-intro p{font-size:13px;color:var(--muted);margin-bottom:5px}
.system-line{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:24px;align-items:stretch;margin-top:72px}
.system-line article{border-top:1px solid var(--line);padding:24px 2px 3px}
.system-line>span{align-self:center;color:var(--accent);font:italic 23px Georgia,serif}
.system-line small,.network-copy small{font:9px "Courier New",monospace;color:var(--muted);letter-spacing:.07em}
.system-line h3{font-size:23px;font-weight:500;margin:13px 0 12px}
.system-line p{font-size:11px;color:var(--muted)}
.project-list{border-top:1px solid var(--line)}
.project-list article{display:grid;grid-template-columns:70px 1fr 150px;gap:26px;align-items:center;padding:31px 5px;border-bottom:1px solid var(--line)}
.project-index{font:10px "Courier New",monospace;color:var(--muted)}
.project-list small{font:9px "Courier New",monospace;color:var(--muted);letter-spacing:.08em}
.project-list h3{font-size:30px;font-weight:500;margin:7px 0 5px}
.project-list p{font-size:11px;color:var(--muted);max-width:680px}
.project-list em{justify-self:end;font:10px/1.4 Arial,"PingFang SC",sans-serif;border:1px solid #9eb1c6;padding:8px 12px;border-radius:20px;color:var(--accent);background:rgba(255,255,255,.28)}
.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.network-grid h2{margin-top:18px}
.network-copy{border-top:1px solid var(--line)}
.network-copy article{padding:24px 0;border-bottom:1px solid var(--line)}
.network-copy h3{font-size:21px;font-weight:500;margin:8px 0 6px}
.network-copy p{font-size:11px;color:var(--muted)}
.company-media-placeholder{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,rgba(248,251,255,.36),rgba(211,224,238,.18));box-shadow:0 24px 60px -45px #1e3854,inset 0 1px 0 rgba(255,255,255,.88)}
.company-media-placeholder::before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.46);border-radius:20px;pointer-events:none}

@media(hover:hover){.site-header nav a:hover::after{transform:scaleX(1)}.controls button:hover{background:var(--ink);color:white}.wall-photo:hover img,.credential-card:hover img{transform:scale(1.025)}.photo-work-card:hover img,.portfolio-photo-card:hover img{transform:scale(1.035);filter:saturate(1.08)}.theme-button:hover,.social-links a:hover,.social-links button:hover{color:#34699a}.directory-links>a:hover{padding-left:18px;padding-right:18px;background:rgba(255,255,255,.18)}}
@media(max-width:1120px){.site-header nav{gap:20px}.hero{min-height:calc(100svh - 84px)}.section{padding-top:76px;padding-bottom:80px}.about-grid{gap:7%;grid-template-columns:42% 1fr}.credential-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ring-card{width:210px;height:270px}.ring-shell{height:520px}.site-footer,.video-options{margin-left:5vw;margin-right:5vw}.photo-work-card,.photo-work-card:nth-child(n){grid-column:span 6}.future-card{min-height:430px}.directory-links div{grid-template-columns:135px 170px 1fr}.collaboration-grid,.network-grid{gap:7%}}
@media(max-width:760px){html{scroll-padding-top:85px}.site-header{top:10px;margin-top:10px;width:calc(100% - 32px);min-height:61px;padding:9px 10px 9px 17px}.site-header nav{display:none}.contact-link{min-height:40px;padding:0 16px;gap:18px}.brand{min-width:0}.hero{padding:26px 5vw 17px;min-height:calc(100svh - 71px)}.hero-notes{grid-template-columns:1fr 1fr;gap:18px;font-size:10px}.hero-intro{justify-self:end}.hero-intro .serif-label{font-size:13px}.hero-location{display:none}.name-stage{min-height:284px;padding:58px 0 61px}h1{font-size:13.1vw}.floating-tag{font-size:10px;padding:8px 11px}.tag-one{left:1%;top:11%}.tag-two{right:1%;top:15%;font-size:12px}.tag-three{right:5%;bottom:11%}.hero-bottom{grid-template-columns:1fr auto;gap:19px 10px}.hero-identity p{font-size:22px}.hero-identity small{font-size:9px}.scroll-cue{font-size:9px;gap:8px}.scroll-cue b{height:40px;width:32px}.playback{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.playback .controls{justify-content:flex-start;flex-wrap:nowrap}.controls button{font-size:9px;padding:8px 10px;white-space:nowrap;min-height:34px}#status{font-size:8px;line-height:1.5;margin:0;max-width:145px;text-align:right;min-height:0}.theme-strip{align-items:flex-start;flex-direction:column;gap:4px}.theme-strip>.micro{font-size:8px}#theme-list{justify-content:flex-start;gap:3px 14px}.theme-button{font-size:9px}.theme-letter{font-size:12px}.section{padding:60px 6vw}.section-kicker{margin-bottom:35px;font-size:8px;padding-top:17px;letter-spacing:.04em}.section-kicker span:last-child{font-size:9px;text-align:right}.about-grid{grid-template-columns:1fr;gap:48px}.portrait-frame{max-width:380px;width:83%;margin:0 auto;padding-bottom:44px}.portrait-frame figcaption{bottom:65px;left:22px;right:22px;padding:13px 16px}.portrait-note{bottom:14px;font-size:13px}.about-copy h2{font-size:40px;margin:15px 0 21px}.about-copy>p{font-size:13px;max-width:none}.profile-proof strong{font-size:25px}.profile-proof small{font-size:8px}.belief{margin-top:24px;padding:23px}.section-heading{display:block;margin-bottom:29px;padding:0 6vw}.section-heading h2{font-size:37px}.section-heading>p{font-size:11px;margin-top:18px}.photo-wall-section>.section-kicker,.journey-section>.section-kicker{margin-left:6vw;margin-right:6vw}.photo-wall{gap:11px;margin-top:8px}.photo-wall::before,.photo-wall::after{width:10vw;min-width:32px}.photo-rail{gap:11px}.wall-photo{width:220px;flex-basis:220px;height:160px}.wall-photo-wide{width:295px;flex-basis:295px}.ring-shell{height:460px}.ring-stage{height:360px}.ring-card{width:174px;height:234px}.ring-card>div{padding:21px 15px}.ring-card h3{font-size:20px}.ring-card em{font-size:12px}.ring-card .role-tag{font-size:8px}.ring-card p{font-size:10px;line-height:1.75;margin-top:13px}.ring-hint{bottom:20px}.credential-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.credential-card{padding:7px}.credential-card>span{padding:11px 2px 4px;display:block}.credential-card strong{font-size:10px;display:block}.credential-card small{font-size:8px;display:block;margin-top:5px}.clients-block{margin-top:44px}.client-list{gap:19px 22px}.client-list span{font-size:12px}.directory-intro{display:block;margin-bottom:35px}.directory-intro h2{font-size:38px;margin-top:16px}.directory-links>a{grid-template-columns:28px 1fr auto;gap:15px;padding:21px 1px}.directory-links div{display:block}.directory-links small,.directory-links strong,.directory-links p{display:block}.directory-links strong{font-size:21px;margin:6px 0}.directory-links p{font-size:10px}.contact-grid{grid-template-columns:1fr;gap:48px}.contact-grid h2{font-size:56px}.email-link{font-size:22px}.qr-card{justify-self:center;max-width:290px;padding:24px}.site-footer{margin:0 6vw;padding:20px 0;flex-wrap:wrap}.site-footer>span{display:none}.footer-brand{font-size:20px}.site-footer small{display:none}.site-footer>div>a{margin-left:4px}.video-options{margin-left:6vw;margin-right:6vw}dialog{padding:44px 11px 15px;max-width:94vw}.works-hero{padding:80px 6vw 48px;min-height:calc(100svh - 71px)}.works-hero .section-kicker{margin-bottom:9vh}.works-hero>h1{font-size:18vw;line-height:.92;margin:18px 0 8vh}.works-hero-foot{display:block}.works-hero-foot p{font-size:11px}.works-hero-foot a{margin-top:18px}.page-subnav{align-self:stretch;display:grid;grid-template-columns:repeat(2,1fr);border-radius:18px}.page-subnav a{text-align:center}.photography-grid{grid-template-columns:1fr;gap:13px}.photo-work-card,.photo-work-card:nth-child(n){grid-column:auto;min-height:370px}.future-work-grid{grid-template-columns:1fr}.future-card{min-height:400px}.footer-work-link{display:none}.inner-hero{padding:70px 6vw 48px;min-height:calc(100svh - 71px)}.inner-hero .section-kicker{margin-bottom:8vh}.inner-hero>h1{font-size:17vw;line-height:.94;margin:18px 0 8vh}.inner-hero-foot{display:block}.inner-hero-foot p{font-size:11px}.inner-hero-foot a{margin-top:18px}.collaboration-grid,.solo-structure-intro,.network-grid{grid-template-columns:1fr;gap:35px}.collaboration-copy p,.solo-structure-intro p{font-size:12px}.role-ledger{grid-template-columns:1fr;padding:24px;gap:18px}.role-ledger>div{display:block}.role-ledger strong{display:block;margin-top:8px}.role-ledger>span{transform:rotate(45deg);justify-self:start}.system-line{grid-template-columns:1fr;margin-top:50px}.system-line>span{transform:rotate(90deg);justify-self:center}.project-list article{grid-template-columns:35px 1fr;gap:18px}.project-list em{grid-column:2;justify-self:start}.project-list h3{font-size:25px}.company-media-placeholder{aspect-ratio:4/3}.company-media-placeholder::before{inset:12px;border-radius:17px}}
@media(max-width:390px){.hero-intro p{font-size:9px}.section-kicker span:last-child{max-width:120px}.contact-grid h2{font-size:48px}.email-link{font-size:19px}.phone-link small{display:block;margin:4px 0 0}}
@media(max-width:1120px){.audio-work-card{grid-template-columns:145px 1fr;gap:22px}.video-wide{grid-column:span 7}.video-portrait{grid-column:span 5}.video-landscape{grid-column:1/-1}}
@media(max-width:760px){.photo-archive>.section-kicker{margin-left:6vw;margin-right:6vw}.portfolio-photo-wall{gap:16px}.portfolio-photo-row{padding-top:42px}.portfolio-photo-row::before,.portfolio-photo-row::after{width:10vw;min-width:32px}.portfolio-row-label{left:10vw}.portrait-row .portfolio-photo-card{width:205px;height:266px}.landscape-row .portfolio-photo-card{width:302px;height:190px}.portfolio-photo-rail{gap:11px}.audio-work-grid{grid-template-columns:1fr}.audio-work-card{grid-template-columns:92px 1fr;gap:16px;padding:12px}.audio-work-card>img{width:92px;height:92px;border-radius:16px}.audio-work-copy{padding:5px 7px 5px 0}.audio-work-copy h3{font-size:24px}.audio-work-copy p{display:none}.audio-work-copy audio{margin-top:10px;height:32px}.video-work-grid{grid-template-columns:1fr;gap:14px}.video-wide,.video-portrait,.video-landscape{grid-column:auto}.video-portrait video{aspect-ratio:9/16}.video-work-card h3{font-size:23px}.digital-work-placeholder{grid-template-columns:1fr;min-height:520px}.digital-work-placeholder .future-object{height:190px;order:-1}.digital-work-placeholder h2{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.sticker{display:none}.portrait-frame{transform:rotate(-2deg)!important}.motion-reveal{opacity:1;transform:none}.photo-rail{transform:none!important;flex-wrap:wrap;width:auto}.photo-wall{transform:none;margin:0 6vw}.wall-photo:nth-child(n+7){display:none}.portfolio-photo-rail{transform:none!important;flex-wrap:wrap;width:auto;padding:0 6vw}.portfolio-photo-card[aria-hidden="true"]{display:none}.portfolio-photo-row::before,.portfolio-photo-row::after{display:none}}
@supports not (backdrop-filter:blur(1px)){.glass,.ring-card>div{background:rgba(245,249,253,.92)}}
