@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-cyrillic-ext-wght-normal.cc7175bc.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-cyrillic-wght-normal.7daeec56.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-greek-ext-wght-normal.a321490b.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-greek-wght-normal.483c44a4.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-vietnamese-wght-normal.23a98e2e.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-latin-ext-wght-normal.8bc9da81.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-latin-wght-normal.e35a17c9.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-cyrillic-ext-wght-italic.d23f9a44.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-cyrillic-wght-italic.803a85ca.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-greek-ext-wght-italic.e2898f42.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-greek-wght-italic.96c13814.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-vietnamese-wght-italic.f2b7a19d.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-latin-ext-wght-italic.e20480fe.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url(/_next/static/media/eb-garamond-latin-wght-italic.2176ac4e.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--font-body:"Inter Variable";--font-display-serif:"EB Garamond Variable";--bg:#050505;--surface:#0f1115;--surface-2:#151820;--text:#fff;--muted:#9ca3af;--accent:#3ef5ff;--accent-hover:#67f9ff;--line:rgba(255,255,255,.1);--r-sm:10px;--r-md:18px;--r-lg:28px;--shadow:0 20px 80px rgba(0,0,0,.45);--ease:cubic-bezier(.22,1,.36,1);--section:clamp(6rem,12vw,12rem);--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--bg)}body{margin:0;color:var(--text);font-family:Helvetica Neue,Helvetica,Arial,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}::selection{background:var(--accent);color:#001114}.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.section{padding-block:var(--section);position:relative}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700}.section-head{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;margin-bottom:4.5rem}.section-head h2{font-size:clamp(2.8rem,7vw,6rem);letter-spacing:-.065em;line-height:.9;margin:.7rem 0 0}.section-head p{color:var(--muted);font-size:clamp(1rem,1.7vw,1.25rem);line-height:1.65;align-self:end;max-width:36rem}.glass{background:rgba(15,17,21,.7);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.button,.glass{border:1px solid var(--line)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:0 1rem;border-radius:999px;background:rgba(255,255,255,.04);font-size:.86rem;font-weight:650;transition:.35s var(--ease);cursor:pointer}.button:hover{border-color:rgba(62,245,255,.45);color:var(--accent-hover);transform:translateY(-2px)}.button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.button.primary{background:var(--accent);color:#001114;border-color:var(--accent)}.button.primary:hover{background:var(--accent-hover);color:#001114;box-shadow:0 0 28px rgba(62,245,255,.18)}.nav{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);width:min(calc(100% - 28px),900px);height:58px;border-radius:999px;padding:7px 12px 7px 16px;justify-content:space-between}.brand,.nav{display:flex;align-items:center}.brand{gap:.55rem;font-weight:750;letter-spacing:-.03em}.brand-mark{transition:transform .35s var(--ease),filter .35s var(--ease)}.brand:hover .brand-mark{transform:scale(1.03);filter:sepia(1) saturate(8) hue-rotate(135deg)}.navlinks{display:flex;align-items:center;gap:4px}.navlinks a{position:relative;color:var(--muted);padding:.7rem .8rem;font-size:.78rem;transition:.2s}.navlinks a:after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.45rem;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.navlinks a:hover{color:#fff}.navlinks a:hover:after{transform:scaleX(1)}.hero{--pointer-x:0;--pointer-y:0;min-height:100svh;display:flex;align-items:center;padding:9rem 0 5rem;overflow:hidden;position:relative}.stars{position:absolute;inset:-2%;opacity:.2;background-image:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1.2px),radial-gradient(circle at 70% 40%,#3ef5ff 0 1px,transparent 1.2px),radial-gradient(circle at 40% 75%,#fff 0 1px,transparent 1.2px);background-size:190px 190px,270px 270px,330px 330px;-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent);animation:star-drift 28s ease-in-out infinite alternate;transform:translate(calc(var(--pointer-x) * 3px),calc(var(--pointer-y) * 3px))}.hero-space-canvas{inset:0;opacity:.95}.hero-environment,.hero-space-canvas{position:absolute;z-index:0;pointer-events:none}.hero-environment{inset:-8%;opacity:.36;transform:translate(calc(var(--pointer-x) * -5px),calc(var(--pointer-y) * -4px));transition:transform 1.2s var(--ease);background:repeating-linear-gradient(112deg,transparent 0 82px,rgba(62,245,255,.035) 83px,transparent 84px 168px);-webkit-mask-image:radial-gradient(ellipse at 58% 48%,#000 0,transparent 72%);mask-image:radial-gradient(ellipse at 58% 48%,#000 0,transparent 72%);animation:grid-breathe 14s ease-in-out infinite alternate}.hero-environment i{position:absolute;height:1px;width:clamp(220px,38vw,580px);background:linear-gradient(90deg,transparent,rgba(62,245,255,.36),transparent);filter:blur(.15px);transform-origin:center}.hero-environment i:first-child{top:24%;left:5%;transform:rotate(-12deg);animation:line-drift-a 19s ease-in-out infinite alternate}.hero-environment i:nth-child(2){top:54%;right:2%;transform:rotate(9deg);animation:line-drift-b 23s ease-in-out infinite alternate}.hero-environment i:nth-child(3){bottom:18%;left:34%;opacity:.55;transform:rotate(-4deg);animation:line-drift-a 27s ease-in-out -8s infinite alternate}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(3rem,7vw,7rem);gap:clamp(3rem,7vw,7rem);align-items:center}.hero h1{font-size:clamp(4.4rem,10vw,9rem);line-height:.84;letter-spacing:-.078em;margin:1.4rem 0}.hero-role{font-size:clamp(2rem,4.5vw,4rem);letter-spacing:-.055em;margin:0 0 1.6rem}.rotating-title{display:inline-grid;min-width:min(10.8em,66vw);font-size:.72em;letter-spacing:clamp(.12em,.7vw,.24em);vertical-align:.08em}.rotating-title .role-long{letter-spacing:clamp(.06em,.42vw,.14em)}.hero-copy{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.58;color:var(--muted);max-width:38rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.hero-sequence{animation:hero-enter .6s var(--ease) both}.sequence-1{animation-delay:.06s}.sequence-2{animation-delay:.13s}.sequence-3{animation-delay:.2s}.sequence-4{animation-delay:.27s}.sequence-5{animation-delay:.34s}.portrait-frame{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:38% 24% 36% 22%/25% 35% 22% 34%;border:1px solid rgba(62,245,255,.32);background:#0b0c0e;box-shadow:0 30px 80px rgba(0,0,0,.45);transform:translate(calc(var(--pointer-x) * -3px),calc(var(--pointer-y) * -2px));transition:border-color .55s var(--ease),box-shadow .55s var(--ease),transform 1.1s var(--ease)}.portrait-frame img{object-fit:cover;object-position:50% 38%;transform:scale(1.015);transition:transform .85s var(--ease)}.portrait-constellation{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.82}.portrait-frame:hover{border-color:rgba(62,245,255,.58);box-shadow:0 34px 90px rgba(0,0,0,.48),0 0 0 1px rgba(62,245,255,.08)}@keyframes hero-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes star-drift{0%{background-position:0 0,0 0,0 0}to{background-position:8px -6px,-10px 8px,6px 10px}}@keyframes grid-breathe{0%{opacity:.27;filter:saturate(.8)}to{opacity:.52;filter:saturate(1.15)}}@keyframes line-drift-a{0%{translate:-8px -3px;scale:.98 1}to{translate:11px 5px;scale:1.025 1}}@keyframes line-drift-b{0%{translate:9px 4px;scale:1.02 1}to{translate:-12px -4px;scale:.975 1}}@keyframes availability-pulse{0%,to{opacity:.55;box-shadow:0 0 0 0 rgba(62,245,255,0)}50%{opacity:1;box-shadow:0 0 0 4px rgba(62,245,255,.08)}}.gallery-section{padding:clamp(5rem,9vw,9rem) 0 var(--section)}.gallery-intro{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;align-items:end;margin-bottom:3rem}.gallery-intro h2{font-size:clamp(3rem,7vw,6.5rem);letter-spacing:-.07em;line-height:.86;margin:.7rem 0 0}.gallery-intro p{color:var(--muted);line-height:1.65;max-width:30rem;margin:0}.masonry{columns:250px 4;column-gap:clamp(.7rem,1.2vw,1rem)}.gallery-item{position:relative;display:block;width:100%;padding:0;margin:0 0 clamp(.7rem,1.2vw,1rem);border:0;border-radius:14px;overflow:hidden;background:#0a0b0d;color:#fff;cursor:pointer;page-break-inside:avoid;break-inside:avoid;isolation:isolate}.gallery-item.cinematic{aspect-ratio:16/10}.gallery-item.landscape{aspect-ratio:4/3}.gallery-item.square{aspect-ratio:1}.gallery-item.portrait{aspect-ratio:4/5}.gallery-item.tall{aspect-ratio:3/4}.gallery-item img{object-fit:cover;filter:grayscale(1);transition:filter .65s var(--ease),transform .8s var(--ease)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 54%);opacity:0;transition:opacity .35s var(--ease);z-index:1}.gallery-caption{position:absolute;z-index:2;left:1.1rem;right:1.1rem;bottom:1rem;text-align:left;opacity:0;transform:translateY(8px);transition:.35s var(--ease)}.gallery-caption small,.gallery-caption strong{display:block}.gallery-caption strong{font-size:1.05rem;letter-spacing:-.025em}.gallery-caption small{color:#d0d2d6;margin-top:.28rem;font-size:.72rem}.gallery-item:focus-visible img,.gallery-item:hover img{filter:grayscale(0);transform:scale(1.018)}.gallery-item:focus-visible .gallery-caption,.gallery-item:focus-visible:after,.gallery-item:hover .gallery-caption,.gallery-item:hover:after{opacity:1}.gallery-item:focus-visible .gallery-caption,.gallery-item:hover .gallery-caption{transform:none}.project-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:clamp(.5rem,2vw,1.5rem)}.overlay-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:default}.overlay-canvas{position:relative;width:min(1180px,96vw);height:min(92vh,940px);overflow-y:auto;overscroll-behavior:contain;background:#0b0c0f;border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:0 40px 120px rgba(0,0,0,.7)}.overlay-toolbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;color:var(--muted);font-size:.75rem}.overlay-toolbar button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;cursor:pointer}.overlay-hero{position:relative;aspect-ratio:16/8.5;margin:0 1.25rem;border-radius:16px;overflow:hidden;background:var(--surface)}.overlay-hero img{object-fit:cover}.overlay-copy{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(2rem,6vw,6rem);gap:clamp(2rem,6vw,6rem);padding:clamp(2rem,5vw,4.5rem)}.overlay-copy h2{font-size:clamp(3rem,7vw,6.5rem);letter-spacing:-.07em;line-height:.86;margin:.8rem 0 0}.overlay-copy p{font-size:1.05rem;line-height:1.7;color:#c1c4ca;margin-top:0}.overlay-role{font-size:.78rem!important;color:var(--muted)!important;margin:1.5rem 0}.overlay-gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.8rem;gap:.8rem;padding:0 1.25rem}.overlay-gallery figure{position:relative;aspect-ratio:4/3;margin:0;border-radius:14px;overflow:hidden}.overlay-gallery img{object-fit:cover}.overlay-nav{display:flex;justify-content:space-between;padding:2rem 1.25rem}.overlay-nav button{display:inline-flex;align-items:center;gap:.55rem;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:.8rem 0}.overlay-nav button:hover{color:var(--accent)}.project-grid{display:grid;grid-gap:2rem;gap:2rem}.project{display:grid;grid-template-columns:1.15fr .85fr;min-height:540px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);transition:.5s var(--ease)}.project:nth-child(2n){grid-template-columns:.85fr 1.15fr}.project:nth-child(2n) .project-media{order:2}.project:hover{transform:translateY(-7px);border-color:rgba(62,245,255,.25);box-shadow:var(--shadow)}.project-media{position:relative;min-height:400px;overflow:hidden;background:#0a0b0d}.project-media img{object-fit:cover;filter:grayscale(1);transition:1s var(--ease)}.project:hover img{filter:grayscale(0);transform:scale(1.035)}.project-body{padding:clamp(2rem,4vw,4.5rem);display:flex;flex-direction:column;justify-content:space-between}.project-index{color:var(--accent);font-size:.78rem}.project h3{font-size:clamp(2.2rem,4.5vw,4.6rem);letter-spacing:-.06em;line-height:.92;margin:1.3rem 0}.project p{color:var(--muted);line-height:1.65}.project-cta{align-self:flex-start;margin-top:2rem}.tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.5rem}.tag{border:1px solid var(--line);border-radius:999px;padding:.45rem .65rem;font-size:.7rem;color:#c5c7cc}.timeline{border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:1fr 1.6fr .6fr;grid-gap:2rem;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line)}.timeline-row span{color:var(--muted)}.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:1rem;gap:1rem}.tile{grid-column:span 4;min-height:230px;border:1px solid var(--line);border-radius:var(--r-md);padding:1.6rem;background:var(--surface);display:flex;flex-direction:column;justify-content:space-between}.tile.wide{grid-column:span 8}.tile h3{font-size:1.6rem;letter-spacing:-.04em;margin:0}.tile p{color:var(--muted);line-height:1.6}.tile .number{font-size:4rem;letter-spacing:-.08em;color:var(--accent)}.contact-card{border-radius:var(--r-lg);padding:clamp(2rem,6vw,6rem);text-align:center;background:radial-gradient(circle at 50% 110%,rgba(62,245,255,.12),transparent 52%),var(--surface);border:1px solid var(--line)}.contact-card h2{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.07em;line-height:.9;margin:1rem auto 2rem;max-width:900px}.contact-card p{color:var(--muted);max-width:580px;margin:0 auto 2rem;line-height:1.7}.footer{padding:2rem 0 3rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}.footer-inner{justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-brand,.footer-inner{display:flex;align-items:center}.footer-brand{gap:.7rem}.footer-brand strong{color:#fff}.footer a:hover{color:var(--accent)}.case-hero{padding:11rem 0 4rem}.case-hero h1{font-size:clamp(4rem,10vw,9rem);letter-spacing:-.075em;line-height:.86;margin:1rem 0 2.5rem}.case-eyebrow{display:block;margin-top:5rem}.case-meta{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:2rem;gap:2rem;padding-top:2rem;border-top:1px solid var(--line)}.case-meta p{color:var(--muted);line-height:1.55}.case-cover{position:relative;aspect-ratio:16/8;border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}.case-cover img{object-fit:cover}.case-copy{max-width:760px;margin:0 auto}.case-copy h2{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.05em}.case-copy p{font-size:1.1rem;color:#b7b9bf;line-height:1.85;white-space:pre-line}.gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem}.gallery figure{position:relative;aspect-ratio:4/3;margin:0;border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.gallery img{object-fit:cover}.back{color:var(--muted);display:inline-flex;gap:.5rem;align-items:center}.back:hover{color:var(--accent)}.admin{padding:9rem 0;min-height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:3rem}.admin-card{max-width:760px;margin:auto;border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;background:var(--surface)}.field{display:grid;grid-gap:.5rem;gap:.5rem;margin:1rem 0}.field label{font-size:.8rem;color:var(--muted)}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:.85rem;background:#08090b;color:#fff}.field textarea{min-height:280px;resize:vertical}.field .summary-field{min-height:100px}.field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.save-state{color:var(--muted);align-self:center}@media(max-width:800px){.navlinks a:not(:last-child){display:none}.hero{padding-top:7rem}.hero-grid{grid-template-columns:1fr}.hero-grid>div:nth-child(2){order:-1}.portrait-frame{width:min(68vw,320px);margin:auto;transform:none}.hero-environment{transform:none}.hero h1{font-size:clamp(3.8rem,18vw,6rem)}.actions .button{width:100%}.gallery-intro,.overlay-copy{grid-template-columns:1fr}.masonry{columns:220px 2}.overlay-canvas{width:100%;height:96vh;border-radius:18px}.overlay-hero{aspect-ratio:4/3}.project,.project:nth-child(2n),.section-head{grid-template-columns:1fr}.project:nth-child(2n) .project-media{order:0}.project{min-height:0}.project-media{min-height:300px}.timeline-row{grid-template-columns:1fr}.tile,.tile.wide{grid-column:span 12}.case-meta,.gallery{grid-template-columns:1fr}.case-cover{aspect-ratio:4/3}.field-grid{grid-template-columns:1fr}}@media(max-width:520px){.masonry{column-count:1}.gallery-item{border-radius:12px}.gallery-caption{opacity:1;transform:none}.gallery-item:after{opacity:.7}.overlay-copy{padding:2rem 1.25rem}.overlay-copy h2{font-size:3rem}.overlay-nav{position:-webkit-sticky;position:sticky;bottom:0;background:rgba(11,12,15,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hero h1{margin:1.4rem 0 1.05rem}.hero-role{min-height:clamp(3.4rem,6vw,5.8rem);margin:0 0 1.8rem;font-size:clamp(2.35rem,5.25vw,4.8rem);font-weight:420;line-height:1;overflow:hidden}.hero-role,.rotating-title{width:100%;letter-spacing:normal}.rotating-title{position:relative;display:grid;min-width:0;color:#fff;text-transform:uppercase;font-size:1em;vertical-align:baseline}.rotating-title:after{content:"";position:absolute;left:0;bottom:-.55rem;width:clamp(2.4rem,5vw,4.5rem);height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.72}.rotating-title>span{grid-area:1/1;white-space:nowrap;transform-origin:left center}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.hero-grid>div{min-width:0}.rotating-title{color:var(--accent)}.portrait-frame{justify-self:center;width:min(100%,520px);aspect-ratio:1;contain:layout paint size;transform:none!important;border:0;border-radius:0;-webkit-clip-path:polygon(50% 1%,63% 3%,74% 7%,84% 14%,92% 24%,97% 37%,99% 50%,96% 63%,91% 75%,83% 86%,72% 93%,61% 97%,48% 99%,35% 96%,23% 91%,13% 83%,6% 72%,2% 59%,1% 46%,4% 33%,9% 21%,18% 12%,29% 6%,41% 2%);clip-path:polygon(50% 1%,63% 3%,74% 7%,84% 14%,92% 24%,97% 37%,99% 50%,96% 63%,91% 75%,83% 86%,72% 93%,61% 97%,48% 99%,35% 96%,23% 91%,13% 83%,6% 72%,2% 59%,1% 46%,4% 33%,9% 21%,18% 12%,29% 6%,41% 2%);box-shadow:inset 0 0 34px rgba(0,0,0,.28),0 28px 75px rgba(0,0,0,.42)}.portrait-frame:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;-webkit-clip-path:inherit;clip-path:inherit;box-shadow:inset 0 0 0 1px rgba(62,245,255,.7),inset 0 0 18px rgba(62,245,255,.08)}.portrait-frame img{object-position:50% 42%;transform:scale(1.02)}.portrait-frame:hover img{transform:scale(1.035)}.cursor-trail{position:absolute;inset:0;z-index:2;pointer-events:none}.hero-grid{z-index:3}.contact-card{padding-block:clamp(3.5rem,7vw,6rem)}.contact-card h2{margin-bottom:2.5rem}.contact-card p{display:none}@media(max-width:800px){.hero-grid{grid-template-columns:1fr}.portrait-frame{width:min(68vw,320px)}.cursor-trail{display:none}}.landing-experience{position:relative}.site-atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.site-atmosphere>.stars{position:absolute;inset:-2%;opacity:.3}.site-atmosphere>.hero-environment,.site-atmosphere>.hero-space-canvas{position:absolute;inset:0}.site-atmosphere>.hero-space-canvas{z-index:1}.site-atmosphere>.hero-environment{z-index:0}.landing-experience>.cursor-trail{position:fixed;inset:0;z-index:80}body>.footer,body>main{position:relative;z-index:1}.scroll-story{height:560svh;position:relative}.story-sticky{position:-webkit-sticky;position:sticky;top:0;height:100svh;overflow:hidden}.story-stage,.story-sticky{display:grid;align-items:center}.story-stage{position:relative;width:min(66%,760px);height:min(72svh,720px)}.story-panel{position:absolute;inset:auto 0;pointer-events:none;will-change:transform,opacity}.story-panel-introduction{pointer-events:auto}.story-index{display:block;color:var(--accent);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;margin-bottom:1.2rem}.story-panel h1{font-size:clamp(5rem,12vw,10rem);line-height:.8;letter-spacing:-.08em;margin:0 0 1.6rem}.story-panel h2{font-size:clamp(3.5rem,8vw,7.5rem);line-height:.88;letter-spacing:-.07em;margin:.45rem 0 2rem;max-width:760px}.story-panel h2 em{font-style:normal;color:var(--accent)}.story-kicker,.story-lede{color:var(--muted);font-size:clamp(1rem,1.7vw,1.3rem);line-height:1.65}.story-lede{max-width:38rem}.story-roles{display:flex;flex-wrap:wrap;gap:.55rem 1.8rem;color:var(--accent);font-size:clamp(1.3rem,2.4vw,2.1rem);text-transform:uppercase;line-height:1.2;margin-bottom:2rem}.story-disciplines{display:flex;flex-wrap:wrap;gap:.55rem}.story-disciplines span{border:1px solid var(--line);border-radius:999px;padding:.62rem .9rem;color:#c8cbd0;background:rgba(255,255,255,.025);font-size:.78rem}.story-portrait{position:absolute;right:0;width:min(40vw,520px);z-index:-1;transform-origin:center}.story-progress{position:absolute;right:0;top:18%;height:64%;width:1px;background:linear-gradient(to bottom,transparent,var(--accent),transparent);transform-origin:top;opacity:.45}.portfolio-reveal{min-height:62svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(3rem,7vw,7rem)}.portfolio-reveal h2{font-size:clamp(5rem,15vw,13rem);line-height:.72;letter-spacing:-.085em;text-transform:uppercase;margin:0}.branding-link{cursor:default}.branding-link small{position:absolute;left:50%;top:calc(100% + .35rem);transform:translate(-50%,5px);white-space:nowrap;padding:.42rem .6rem;border:1px solid var(--line);border-radius:999px;background:#0b0c0f;color:var(--accent);font-size:.62rem;letter-spacing:.06em;opacity:0;pointer-events:none;transition:.25s var(--ease)}.branding-link:focus-visible small,.branding-link:hover small{opacity:1;transform:translate(-50%)}@media(max-width:800px){.scroll-story{height:430svh}.story-sticky{width:min(calc(100% - 40px),var(--max))}.story-stage{width:100%;height:58svh;align-self:end;margin-bottom:5svh}.story-portrait{right:50%;top:11svh;translate:50% 0;width:min(68vw,320px);opacity:.52!important}.story-panel h1{font-size:clamp(4.6rem,20vw,7rem)}.story-panel h2{font-size:clamp(3.15rem,14vw,5.5rem)}.story-progress{right:4px}.portfolio-reveal{min-height:42svh}.portfolio-reveal h2{font-size:clamp(4.1rem,18vw,8rem)}.branding-link{display:none}}@media(prefers-reduced-motion:reduce){.scroll-story{height:auto}.story-sticky{position:relative;height:auto;display:block;padding-top:9rem}.story-stage{width:100%;height:auto}.story-panel{padding:clamp(4rem,10vw,8rem) 0}.story-panel,.story-portrait{position:relative;opacity:1!important;transform:none!important}.story-portrait{right:auto;width:min(68vw,360px);margin:0 auto 2rem}.story-progress{display:none}.landing-experience>.hero-environment{animation:none}.portfolio-reveal{min-height:40svh}}.branding-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;border:0;background:transparent;color:var(--muted);padding:.7rem .8rem;font-size:.78rem;line-height:normal;cursor:pointer;transition:color .2s}.branding-link:focus-visible,.branding-link:hover{color:#fff}.branding-link:after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + .35rem);transform:translate(-50%,5px);white-space:nowrap;padding:.42rem .6rem;border:1px solid var(--line);border-radius:999px;background:#0b0c0f;color:var(--accent);font-size:.62rem;letter-spacing:.06em;opacity:0;pointer-events:none;transition:.25s var(--ease)}.branding-link:focus-visible:after,.branding-link:hover:after,.branding-link[data-open]:after{opacity:1;transform:translate(-50%)}@media(max-width:800px){.branding-link,.navlinks a{display:inline-block!important}}@media(max-width:520px){.nav{padding-left:12px}.brand{gap:.35rem}.brand span{display:none}.branding-link,.navlinks a{display:inline-block!important;padding:.7rem .56rem;font-size:.72rem}}.nav>.brand{width:30px;height:30px;flex:0 0 30px;gap:0}.nav>.brand .brand-mark{display:block}body{overflow-x:clip}.splice-philosophy{overflow:hidden}.splice{min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;position:relative}.splice-philosophy{height:100svh}.philosophy-content{position:-webkit-sticky;position:sticky;top:0;height:100svh;display:grid;place-content:center;justify-items:center;text-align:center;will-change:transform,opacity}.philosophy-content>.brand-mark{margin-bottom:clamp(2rem,5vw,4rem)}.philosophy-content h1{margin:0;font-size:clamp(3.5rem,8.2vw,8rem);letter-spacing:-.055em}.materialise-line{display:block}.materialise-line>span{display:inline-block}.materialise-line .anchor-word{background:linear-gradient(110deg,#b8fdff,#3ef5ff 28%,#069aa6 52%,#003f48 68%,#56f7ff 86%,#b8fdff);background-size:280% 100%;background-position:0 50%;text-shadow:0 0 20px rgba(62,245,255,.2);animation:anchor-wave 9s ease-in-out infinite}.materialise-line .anchor-word:nth-last-child(2n){animation-delay:-2.4s}@keyframes anchor-wave{0%,to{background-position:0 50%;filter:drop-shadow(0 0 2px rgba(62,245,255,.12))}50%{background-position:100% 50%;filter:drop-shadow(0 0 5px rgba(62,245,255,.26))}}.story-prompt{position:absolute;bottom:5vh;display:grid;justify-items:center;grid-gap:.8rem;gap:.8rem;color:var(--muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.story-prompt i{display:block;width:1px;height:34px;background:linear-gradient(to bottom,var(--accent),transparent);animation:prompt-travel 2.2s ease-in-out infinite;transform-origin:top}@keyframes prompt-travel{0%,to{scale:1 .35;opacity:.35}50%{scale:1 1;opacity:.9}}.ryan-intro,.splice-ryan{display:grid;align-items:center}.ryan-intro{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);grid-gap:clamp(3rem,8vw,8rem);gap:clamp(3rem,8vw,8rem)}.ryan-copy h2{font-size:clamp(4rem,9vw,8.5rem);line-height:.88;letter-spacing:-.075em;margin:0 0 2rem}.typed-identity{display:inline-flex;color:var(--accent);font-size:clamp(2.2rem,5vw,4.8rem);font-weight:800;line-height:1;letter-spacing:.065em;text-transform:uppercase;min-height:1.2em}.typed-identity i{width:.06em;height:.9em;margin-left:.12em;animation:cursor-blink .85s step-end infinite}@keyframes cursor-blink{50%{opacity:0}}.orbital-portrait{position:relative;width:min(38vw,500px);aspect-ratio:1;display:grid;place-items:center;justify-self:center}.orbital-portrait>div{position:relative;width:78%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:inset 0 0 28px rgba(0,0,0,.3),0 0 42px rgba(62,245,255,.12)}.orbital-portrait img{object-fit:cover;object-position:50% 39%}.orbital-portrait>i{position:absolute;inset:4%;border:1px solid rgba(62,245,255,.32);border-radius:50%;animation:orbit-breathe 9s ease-in-out infinite}.orbital-portrait>i:nth-child(2){inset:0;border-color:rgba(62,245,255,.14);animation-delay:-4s}@keyframes orbit-breathe{0%,to{scale:.985;opacity:.45}50%{scale:1.015;opacity:.82}}.portfolio-reveal{scroll-snap-align:start}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:.65rem}.unavailable-link{color:var(--muted);cursor:default}.landing-experience{scroll-snap-type:y proximity}.landing-experience>.cursor-trail{filter:drop-shadow(0 0 5px rgba(62,245,255,.4))}html{scroll-snap-type:y proximity}.splice-ryan{scroll-snap-stop:always}.gallery-section,.section#contact,.splice-ryan{scroll-snap-align:start}@media(max-width:800px){.splice-philosophy{height:100svh}.philosophy-content h1{font-size:clamp(2rem,9.6vw,4.8rem)}.materialise-line{white-space:nowrap}.ryan-intro{grid-template-columns:1fr;text-align:left;padding-top:8rem}.ryan-copy h2{font-size:clamp(4rem,17vw,7rem)}.orbital-portrait{width:min(72vw,360px);order:-1}}@media(prefers-reduced-motion:reduce){.splice-philosophy{height:auto}.philosophy-content{position:relative;height:100svh;letter-spacing:normal!important}.materialise-line>span,.philosophy-content{opacity:1!important;transform:none!important}.materialise-line>span{filter:none!important}.splice-ryan{min-height:100svh}.orbital-portrait>i,.story-prompt i,.typed-identity i{animation:none}}.editorial-case{padding-top:1px}.case-opening{padding-top:clamp(9rem,15vw,13rem);padding-bottom:clamp(3rem,7vw,6rem)}.case-opening>.eyebrow{display:block;margin-top:clamp(4rem,8vw,7rem)}.case-opening h1{max-width:1100px;margin:.8rem 0 clamp(2.5rem,5vw,5rem);font-size:clamp(4rem,11vw,10rem);line-height:.82;letter-spacing:-.078em}.case-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(180px,.4fr);grid-gap:clamp(2rem,8vw,8rem);gap:clamp(2rem,8vw,8rem);padding-top:2rem;border-top:1px solid var(--line)}.case-intro p{margin:0;color:var(--muted);line-height:1.7}.case-intro p:first-child{max-width:760px;color:#d7d9dd;font-size:clamp(1.15rem,2vw,1.55rem)}.case-intro strong{color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}.case-lead{position:relative;aspect-ratio:16/8.5;margin-bottom:clamp(7rem,13vw,13rem);overflow:hidden;border-radius:clamp(1rem,2vw,1.75rem);background:var(--surface)}.case-lead img{object-fit:cover}.editorial-sequence{display:grid;grid-gap:clamp(8rem,15vw,15rem);gap:clamp(8rem,15vw,15rem)}.editorial-beat{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);grid-gap:clamp(2rem,7vw,7rem);gap:clamp(2rem,7vw,7rem)}.editorial-beat figure{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;border-radius:clamp(.8rem,1.5vw,1.25rem);background:#0b0c0f}.editorial-beat figure img{object-fit:contain}.editorial-beat>div{max-width:30rem}.editorial-beat>div>span{color:var(--accent);font-size:.65rem;font-weight:700;letter-spacing:.16em}.editorial-beat h2{margin:.8rem 0 1.1rem;font-size:clamp(2rem,4vw,4rem);line-height:.95;letter-spacing:-.055em}.editorial-beat p{margin:0;color:#adb1b8;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.75}.editorial-beat.left figure{order:2}.editorial-beat.right{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)}.editorial-beat.wide figure{aspect-ratio:16/9}.editorial-beat.wide>div{max-width:720px;margin-left:clamp(0rem,8vw,8rem)}.case-ending{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:1rem;gap:1rem;margin-top:clamp(9rem,17vw,17rem);padding-block:3rem 6rem;border-top:1px solid var(--line)}.case-ending>a{display:flex;align-items:center;gap:.75rem;color:#d7d9dd}.case-ending>a:last-child{justify-self:end;text-align:right}.case-ending small{display:block;margin-bottom:.25rem;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.case-ending .portfolio-return{justify-self:center;color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.case-ending>a:hover{color:var(--accent)}@media(max-width:800px){.case-intro,.editorial-beat,.editorial-beat.left,.editorial-beat.right{grid-template-columns:1fr}.case-lead{aspect-ratio:4/3}.editorial-sequence{gap:7rem}.editorial-beat figure,.editorial-beat.wide figure{aspect-ratio:4/3}.editorial-beat.left figure{order:0}.editorial-beat.wide>div{margin-left:0}.case-ending{grid-template-columns:1fr 1fr}.case-ending .portfolio-return{grid-column:1/-1;grid-row:1;justify-self:center}.case-ending>a:first-child,.case-ending>a:last-child{grid-row:2}.case-ending>a span{max-width:9rem}}.gallery-item{box-shadow:inset 0 0 0 1px transparent,0 0 0 rgba(62,245,255,0);transition:box-shadow .32s var(--ease),transform .32s var(--ease)}.gallery-item:focus-visible,.gallery-item:hover{box-shadow:inset 0 0 0 1px rgba(92,248,255,.82),0 0 22px rgba(62,245,255,.18),0 10px 34px rgba(0,0,0,.42)}.case-lead,.editorial-sequence{width:min(calc(100% - 40px),1440px)}.case-lead{border-radius:clamp(1.25rem,2vw,1.75rem)}.editorial-beat{grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr);gap:clamp(2.5rem,7vw,7.5rem);align-items:center}.editorial-beat.left{grid-template-columns:minmax(260px,.85fr) minmax(0,1.65fr)}.editorial-beat.right{grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr)}.editorial-beat figure{border-radius:clamp(1rem,1.6vw,1.4rem)}.editorial-beat.wide{grid-template-columns:1fr}.editorial-beat.wide figure{border-radius:clamp(1.25rem,2vw,1.75rem)}@media(max-width:800px){.case-lead,.editorial-sequence{width:min(calc(100% - 32px),1440px)}.editorial-beat,.editorial-beat.left,.editorial-beat.right{grid-template-columns:1fr}.case-lead,.editorial-beat figure,.editorial-beat.wide figure{border-radius:1rem}}@media(prefers-reduced-motion:reduce){.materialise-line .anchor-word{animation:none;background-position:45% 50%;filter:none}.gallery-item{transition:none}}body>.cursor-trail{position:fixed;inset:0;z-index:80;pointer-events:none;filter:drop-shadow(0 0 5px rgba(62,245,255,.4))}.materialise-line .anchor-word{text-shadow:none;filter:drop-shadow(0 0 3px rgba(62,245,255,.18));animation:anchor-wave 14s ease-in-out infinite}.materialise-line .anchor-word,.typed-identity{color:transparent;background:linear-gradient(105deg,var(--accent),#3bb0ff,var(--accent));background-size:220% 100%;background-clip:text;-webkit-background-clip:text}.typed-identity{animation:identity-wave 14s ease-in-out infinite}.typed-identity i{background:var(--accent)}@keyframes identity-wave{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.gallery-item:focus-visible,.gallery-item:hover{box-shadow:inset 0 0 0 2px rgba(92,248,255,.9),0 0 25px rgba(62,245,255,.24),0 12px 36px rgba(0,0,0,.44)}.case-context{margin-top:1.35rem!important;color:var(--muted)!important;font-size:1rem!important;max-width:700px}.case-image-button{position:relative;display:block;width:100%;aspect-ratio:4/3;margin:0;padding:0;overflow:hidden;border:1.5px solid rgba(255,255,255,.1);border-radius:clamp(1rem,1.6vw,1.4rem);background:#0b0c0f;cursor:zoom-in;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}.case-image-button img{object-fit:contain}.case-image-button:focus-visible,.case-image-button:hover{border-color:rgba(62,245,255,.72);box-shadow:0 0 22px rgba(62,245,255,.14)}.editorial-beat.left .case-image-button{order:2}.editorial-beat.wide .case-image-button{aspect-ratio:16/9;border-radius:clamp(1.25rem,2vw,1.75rem)}.beyond-sequence{gap:0}.poster-system{display:grid;grid-template-columns:1fr;grid-gap:clamp(2.5rem,5vw,5rem);gap:clamp(2.5rem,5vw,5rem)}.poster-system>div{max-width:760px;margin-inline:auto;text-align:center}.poster-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(1rem,2.5vw,2.5rem);gap:clamp(1rem,2.5vw,2.5rem);align-items:start}.case-image-button.poster{aspect-ratio:936/1323;border-radius:clamp(1rem,1.6vw,1.4rem)}.poster-system>.poster-pair{width:100%;max-width:none;margin-inline:0;text-align:initial}.image-lightbox{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:clamp(.75rem,2vw,1.5rem)}.lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:zoom-out}.lightbox-content{position:relative;z-index:1;width:min(96vw,1680px);max-height:96svh;display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:1rem;gap:1rem;padding:clamp(.7rem,1.5vw,1.25rem);border:1px solid rgba(62,245,255,.2);border-radius:clamp(1rem,2vw,1.5rem);background:#08090b;box-shadow:0 35px 110px rgba(0,0,0,.75)}.lightbox-image{position:relative;width:100%;height:min(78svh,1080px);overflow:auto;border-radius:clamp(.7rem,1.5vw,1.1rem);background:#030405}.lightbox-image img{object-fit:contain}.lightbox-close{position:absolute;z-index:2;top:1.1rem;right:1.1rem;width:42px;height:42px;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(5,5,5,.8);color:#fff;cursor:pointer}.lightbox-close:focus-visible,.lightbox-close:hover{border-color:var(--accent);color:var(--accent)}.lightbox-caption{max-width:800px}.lightbox-caption h2{margin:0 0 .45rem;font-size:clamp(1.35rem,2.4vw,2.1rem);letter-spacing:-.04em}.lightbox-caption p{margin:0;color:var(--muted);line-height:1.65}@media(max-width:800px){body>.cursor-trail{display:none}.editorial-beat.left .case-image-button{order:0}.poster-pair{grid-template-columns:1fr}.poster-system>div{text-align:left}.lightbox-content{width:calc(100vw - 16px);max-height:calc(100svh - 16px);padding:.6rem}.lightbox-image{height:68svh}.lightbox-caption{padding:.25rem .35rem .4rem}.lightbox-caption p{font-size:.9rem}.lightbox-close{top:.9rem;right:.9rem}}@media(prefers-reduced-motion:reduce){.materialise-line .anchor-word,.typed-identity{animation:none;background-position:40% 50%}.image-lightbox{transition:none}}.case-intro>div>p{margin:0;color:var(--muted);line-height:1.7}.case-intro>div>p:first-child{max-width:760px;color:#d7d9dd;font-size:clamp(1.15rem,2vw,1.55rem)}.case-lead.case-image-button{display:block;aspect-ratio:16/8.5;margin-bottom:clamp(7rem,13vw,13rem);border-radius:clamp(1.25rem,2vw,1.75rem)}.case-lead.case-image-button img{object-fit:cover}@media(max-width:800px){.case-lead.case-image-button{aspect-ratio:4/3;border-radius:1rem}}.ryan-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}.ryan-actions a{display:inline-flex;align-items:center;gap:.5rem;min-height:42px;padding:0 .85rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.74rem;transition:border-color .28s var(--ease),color .28s var(--ease),box-shadow .28s var(--ease),transform .28s var(--ease)}.ryan-actions a:focus-visible,.ryan-actions a:hover{color:#fff;border-color:rgba(62,245,255,.68);box-shadow:0 0 20px rgba(62,245,255,.13);transform:translateY(-1px)}.portfolio-reveal{min-height:52svh;padding-bottom:clamp(2.5rem,5vw,5rem)}.portfolio-reveal h2{font-size:clamp(4.4rem,11vw,10rem)}.portfolio-reveal p{margin:clamp(1.3rem,2.5vw,2.2rem) 0 0;color:transparent;background:linear-gradient(105deg,var(--accent),#3bb0ff,var(--accent));background-clip:text;-webkit-background-clip:text;font-size:clamp(.75rem,1.2vw,.95rem);font-weight:700;letter-spacing:.16em;text-transform:uppercase}.portfolio-archive{position:relative;overflow:hidden;max-height:clamp(980px,125vh,1320px);transition:max-height 1s var(--ease)}.portfolio-archive.expanded{max-height:10000px}.archive-smoke{position:absolute;z-index:4;inset:auto 0 0;height:min(55%,720px);pointer-events:none;background:linear-gradient(to bottom,transparent 0,rgba(5,5,5,.2) 20%,rgba(5,5,5,.76) 64%,var(--bg) 94%);opacity:1;transition:opacity .65s var(--ease)}.portfolio-archive.expanded .archive-smoke{opacity:0}.archive-toggle{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;min-width:118px;height:44px;margin:clamp(-2rem,-2vw,-1rem) auto 0;padding:0 1.1rem;border:1.5px solid rgba(62,245,255,.5);border-radius:999px;background:#07090b;color:#fff;box-shadow:0 0 24px rgba(62,245,255,.12);cursor:pointer;transition:.3s var(--ease)}.archive-toggle:focus-visible,.archive-toggle:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 28px rgba(62,245,255,.2);transform:translateY(-2px)}.footer-signature{display:flex;align-items:center;gap:.8rem}.footer-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;transition:.3s var(--ease)}.footer-mark:focus-visible,.footer-mark:hover{filter:drop-shadow(0 0 8px rgba(62,245,255,.4));transform:scale(1.03)}.footer-signature small{color:#717780;font-size:.68rem}.footer-brand{display:none}@media(max-width:800px){.ryan-actions{margin-top:1.5rem}.ryan-actions a span{display:none}.ryan-actions a{width:42px;padding:0;justify-content:center}.portfolio-reveal{min-height:36svh}.portfolio-reveal p{font-size:.66rem;letter-spacing:.1em}.portfolio-archive{max-height:1180px}.footer-inner{align-items:flex-start}.footer-inner>span:last-child{width:100%}}@media(prefers-reduced-motion:reduce){.archive-smoke,.portfolio-archive{transition:none}.archive-toggle:hover{transform:none}}.portfolio-archive.curated .archive-smoke{height:min(68%,820px)}.portfolio-archive.expanded+.archive-toggle{margin-top:clamp(1.75rem,3vw,2.75rem)}@media(max-width:800px){.portfolio-archive.curated .archive-smoke{height:min(72%,840px)}.portfolio-archive.expanded+.archive-toggle{margin-top:1.75rem}}.philosophy-content h1{letter-spacing:-.04em}.materialise-line .terminal-d{margin-left:.018em}.terminal-d-glyph{display:inline-block;transform:scaleX(1.065);transform-origin:left center;margin-right:.035em}.anchor-word .terminal-d-glyph{color:transparent;background:linear-gradient(105deg,var(--accent),#3bb0ff,var(--accent));background-size:220% 100%;background-clip:text;-webkit-background-clip:text}.philosophy-signature{width:clamp(158px,14vw,230px);height:auto;margin-top:clamp(2rem,5vw,4rem);filter:invert(1) brightness(1.35);opacity:.76}.materialise-line .anchor-word{font-family:var(--font-display-serif),"Songti SC","STSong",serif;font-weight:400;letter-spacing:-.015em}.editorial-heading>.eyebrow{display:block;margin-bottom:1.2rem}.editorial-heading h2{max-width:1080px;margin:0;font-size:clamp(3.2rem,7.2vw,7.2rem);font-weight:600;line-height:.9;letter-spacing:-.065em}.editorial-heading h2 em{font-family:var(--font-display-serif),"Songti SC","STSong",serif;font-size:1.08em;font-style:normal;color:transparent;background:linear-gradient(105deg,var(--accent),#3bb0ff,var(--accent));background-size:220% 100%;background-clip:text;-webkit-background-clip:text;animation:identity-wave 14s ease-in-out infinite}.language-switcher{display:flex;align-items:center;justify-content:center;min-width:72px;padding:0 .45rem;color:#656b73;font-size:.66rem;letter-spacing:.03em}.language-switcher button{padding:.65rem .18rem;border:0;background:transparent;color:inherit;cursor:pointer;transition:color .2s var(--ease)}.language-switcher button.active,.language-switcher button:focus-visible,.language-switcher button:hover{color:var(--accent)}.language-switcher button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.experience-section{position:relative;padding-block:clamp(8rem,15vw,15rem);scroll-margin-top:6rem}.experience-opening{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);grid-gap:clamp(2rem,8vw,8rem);gap:clamp(2rem,8vw,8rem);align-items:end;padding-bottom:clamp(7rem,12vw,12rem)}.experience-opening .editorial-heading{grid-column:1/-1}.experience-opening>p{max-width:700px;margin:0;color:#c3c7ce;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.65}.experience-roles{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.experience-roles span{padding:.58rem .78rem;border:1px solid rgba(62,245,255,.2);border-radius:999px;color:#b8bdc5;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.experience-journey{position:relative}.experience-line{position:absolute;z-index:0;top:2rem;left:50%;width:1px;background:rgba(62,245,255,.1);transform:translateX(-50%)}.experience-line i{display:block;width:100%;height:100%;background:linear-gradient(to bottom,var(--accent),#168eaa 48%,rgba(62,245,255,.15));box-shadow:0 0 18px rgba(62,245,255,.2);transform-origin:top}.experience-chapter{position:relative;z-index:1;padding-bottom:clamp(8rem,14vw,14rem)}.experience-chapter>.editorial-heading{width:min(86%,980px);padding:clamp(1.2rem,2vw,2rem) 0 clamp(4rem,7vw,7rem);background:linear-gradient(90deg,var(--bg) 88%,transparent)}.experience-items{display:grid;grid-gap:clamp(3rem,7vw,6rem);gap:clamp(3rem,7vw,6rem)}.experience-item{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(4rem,9vw,9rem);gap:clamp(4rem,9vw,9rem);min-height:160px}.experience-item:nth-child(2n) .experience-meta{grid-column:2;grid-row:1;text-align:left}.experience-item:nth-child(2n) .experience-copy{grid-column:1;grid-row:1;text-align:right}.experience-node{position:absolute;z-index:2;top:.35rem;left:50%;width:11px;height:11px;border:2px solid var(--accent);border-radius:50%;background:var(--bg);box-shadow:0 0 16px rgba(62,245,255,.3)}.experience-item:after{content:"";position:absolute;top:.66rem;left:50%;width:clamp(2rem,5vw,5rem);height:1px;background:linear-gradient(90deg,var(--accent),transparent)}.experience-item:nth-child(2n):after{transform:translateX(-100%) rotate(180deg)}.experience-meta{padding-left:clamp(2rem,5vw,5rem)}.experience-meta>span{color:var(--accent);font-size:.78rem;font-weight:700}.experience-meta small,.experience-meta>span{display:block;letter-spacing:.08em;text-transform:uppercase}.experience-meta small{margin-top:.65rem;color:#777e87;font-size:.68rem}.experience-copy{max-width:520px}.experience-copy h3{margin:0 0 .6rem;font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.05;letter-spacing:-.04em}.experience-copy strong{display:block;color:#d1d4d9;font-size:.9rem;font-weight:500}.experience-copy p{margin:1rem 0 0;color:#8f959e;line-height:1.7}.experience-item:nth-child(odd) .experience-copy{grid-column:2}.experience-item:nth-child(odd) .experience-meta{grid-column:1;grid-row:1;text-align:right;padding:0 clamp(2rem,5vw,5rem) 0 0}.achievement-list{border-top:1px solid var(--line)}.achievement-list article{display:grid;grid-template-columns:120px 1fr;grid-gap:2rem;gap:2rem;padding:1.6rem 0}.achievement-list article>span{color:var(--accent);font-size:.72rem;letter-spacing:.08em}.achievement-list h3{margin:0;font-size:clamp(1.25rem,2.2vw,2rem);letter-spacing:-.035em}.achievement-list p{margin:.55rem 0 0;color:var(--muted)}.tool-groups{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(2rem,5vw,5rem);gap:clamp(2rem,5vw,5rem)}.tool-groups article{border-top:1px solid rgba(62,245,255,.3);padding-top:1.25rem}.tool-groups h3{margin:0 0 1.4rem;color:var(--accent);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.tool-groups article>div{display:flex;flex-wrap:wrap;gap:.55rem}.tool-groups span{padding:.5rem .65rem;border:1px solid var(--line);border-radius:999px;color:#b7bbc2;font-size:.72rem;background:rgba(255,255,255,.02)}@media(max-width:800px){.nav{padding-left:12px}.navlinks{gap:0}.branding-link,.navlinks a{padding-inline:.48rem!important}.language-switcher{min-width:59px;padding:0 .15rem}.experience-opening{grid-template-columns:1fr}.experience-roles{justify-content:flex-start}.experience-line{left:10px}.experience-chapter>.editorial-heading{width:100%;padding-left:2.4rem;background:linear-gradient(90deg,var(--bg) 94%,transparent)}.editorial-heading h2{font-size:clamp(2.8rem,13vw,5rem)}.experience-item,.experience-item:nth-child(2n){grid-template-columns:1fr;gap:.8rem;padding-left:2.4rem}.experience-item:nth-child(2n) .experience-copy,.experience-item:nth-child(2n) .experience-meta,.experience-item:nth-child(odd) .experience-copy,.experience-item:nth-child(odd) .experience-meta{grid-column:1;grid-row:auto;padding:0;text-align:left}.experience-item:nth-child(2n) .experience-meta,.experience-item:nth-child(odd) .experience-meta{grid-row:1}.experience-node{left:10px}.experience-item:after,.experience-item:nth-child(2n):after{left:10px;width:1.55rem;transform:none}.achievement-list,.tool-groups{margin-left:2.4rem}.achievement-list article{grid-template-columns:70px 1fr;gap:1rem}.tool-groups{grid-template-columns:1fr;gap:2.5rem}}@media(max-width:520px){.branding-link,.navlinks a{padding-inline:.34rem!important;font-size:.68rem}.language-switcher{min-width:52px;font-size:.6rem}.experience-opening{padding-bottom:6rem}.experience-roles{gap:.4rem}.experience-roles span{font-size:.64rem}.achievement-list article{grid-template-columns:1fr;gap:.6rem}}@media(prefers-reduced-motion:reduce){.editorial-heading h2 em{animation:none}.experience-line i{transform:scaleY(1)!important}.experience-item{opacity:1!important;transform:none!important}}.projects-preview{min-height:100svh;padding-block:clamp(9rem,14vw,13rem)}.projects-preview>header{max-width:980px;margin-bottom:clamp(4rem,8vw,8rem)}.projects-preview>header>.eyebrow{display:block;margin-bottom:1.2rem}.projects-preview>header>p{max-width:620px;margin:2rem 0 0;color:var(--muted);font-size:1.05rem;line-height:1.7}.built-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.built-project-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:#0b0c0f}.built-project-open{display:block;width:100%;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}.built-project-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#08090b}.built-project-media>img,.built-project-panel-media>img{object-fit:cover;filter:grayscale(.25);transition:filter .5s var(--ease),transform .7s var(--ease)}.built-project-card:focus-within .built-project-media>img,.built-project-card:hover .built-project-media>img{filter:grayscale(0);transform:scale(1.02)}.development-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;grid-gap:1rem;gap:1rem;color:#68707a;background:radial-gradient(circle at 50% 120%,rgba(62,245,255,.12),transparent 55%),repeating-linear-gradient(90deg,transparent 0 39px,rgba(255,255,255,.025) 40px)}.development-placeholder svg{width:28px;height:28px;color:var(--accent)}.development-placeholder span{font-size:.65rem;font-weight:700;letter-spacing:.16em}.development-placeholder i{width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.development-placeholder.coming-soon{opacity:.58}.built-project-copy{padding:1.4rem 1.4rem 3.8rem}.built-project-tags{display:flex;flex-wrap:wrap;gap:.4rem}.built-project-tags span{color:var(--accent);font-size:.62rem;font-weight:700;letter-spacing:.12em}.built-project-copy h2{margin:.8rem 0;font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:.95;letter-spacing:-.045em}.built-project-copy p{margin:0;color:var(--muted);line-height:1.55}.built-project-copy small{display:block;margin-top:1.2rem;color:#656b73}.built-project-live{position:absolute;right:1.4rem;bottom:1.35rem;display:flex;align-items:center;gap:.35rem;color:#aeb3bb;font-size:.72rem}.built-project-live:focus-visible,.built-project-live:hover{color:var(--accent)}.built-project-dialog{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:1rem}.built-project-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.84);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.built-project-panel{position:relative;display:grid;grid-template-columns:1.1fr .9fr;width:min(1120px,96vw);max-height:92svh;overflow:auto;border:1px solid rgba(255,255,255,.13);border-radius:var(--r-lg);background:#0b0c0f;box-shadow:0 40px 120px rgba(0,0,0,.72)}.built-project-close{position:absolute;z-index:2;top:1rem;right:1rem;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(5,5,5,.72);color:#fff;cursor:pointer}.built-project-panel-media{position:relative;min-height:620px;overflow:hidden;background:#07080a}.built-project-panel-copy{align-self:center;padding:clamp(2rem,5vw,4.5rem)}.built-project-panel-copy h2{margin:1rem 0;font-size:clamp(3rem,6vw,6rem);line-height:.86;letter-spacing:-.065em}.built-project-panel-copy>p{color:#c4c7cd;font-size:1.05rem;line-height:1.7}.built-project-panel-copy ul{padding:0;list-style:none;color:var(--muted);line-height:1.8}.built-project-panel-copy>small{display:block;color:#6f7680;line-height:1.6}.built-project-panel-copy .actions{margin-top:2rem}@media(max-width:900px){.built-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.built-project-panel{grid-template-columns:1fr}.built-project-panel-media{min-height:42svh}}@media(max-width:560px){.built-project-grid{grid-template-columns:1fr}.built-project-panel{width:calc(100vw - 16px);max-height:calc(100svh - 16px)}.built-project-panel-media{min-height:36svh}.built-project-panel-copy{padding:2rem 1.25rem}.built-project-panel-copy h2{font-size:3rem}}html[data-locale=zh] .editorial-heading h2{font-size:clamp(3rem,5vw,5rem);letter-spacing:-.035em}html[data-locale=zh] .editorial-heading h2 em{white-space:nowrap}.built-project-panel-gallery{display:grid;grid-gap:.75rem;gap:.75rem;margin:1.5rem 0}.built-project-panel-gallery figure{position:relative;aspect-ratio:16/7;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-sm);background:#07080a}.built-project-panel-gallery img{object-fit:contain;padding:1rem}body{font-family:var(--font-body),"Helvetica Neue",Helvetica,Arial,"PingFang SC","Microsoft YaHei",sans-serif}.contact-card h2,.editorial-heading h2,.philosophy-content h1,.portfolio-reveal h2,.ryan-copy h2,.ryan-narrative h3{font-family:var(--font-display-serif),"Songti SC","STSong",serif;font-weight:400}.philosophy-content h1{font-family:var(--font-display-serif),"Songti SC","STSong",serif;font-size:clamp(3.15rem,6.8vw,6.5rem);line-height:.94;letter-spacing:-.018em}.materialise-line>span{font-family:inherit;font-weight:400}.materialise-line .anchor-word{font-style:normal;letter-spacing:-.02em}.ryan-copy h2{font-family:var(--font-display-serif),"Songti SC","STSong",serif;font-size:clamp(3.6rem,6.5vw,6.4rem);font-weight:400;letter-spacing:-.024em}.typed-identity{font-family:var(--font-body),"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(1.45rem,2.8vw,2.7rem);font-weight:650;letter-spacing:.045em}.ryan-narrative{max-width:39rem;margin-top:1.5rem}.ryan-narrative h3{margin:0;font-family:var(--font-display-serif),"Songti SC","STSong",serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:400;line-height:1.08;letter-spacing:-.012em}.ryan-narrative p{max-width:65ch;margin:1rem 0 0;color:#a4a9b1;font-size:clamp(.9rem,1.1vw,1rem);line-height:1.62}.experience-section{padding-block:clamp(4rem,8vw,8rem) clamp(8rem,12vw,12rem)}.experience-life{position:relative;padding-left:clamp(3.5rem,7vw,6.5rem)}.experience-line{top:1.25rem;bottom:0;left:0;transform:none;background:rgba(62,245,255,.11)}.experience-chapter{padding-bottom:max(clamp(6.5rem,10vw,10rem),25svh);scroll-margin-top:22svh;scroll-snap-align:start;scroll-snap-stop:always}.experience-chapter>.editorial-heading{width:min(100%,940px);padding:0 0 clamp(3rem,5vw,5rem);background:none}.editorial-heading>.eyebrow{margin-bottom:.9rem;font-family:var(--font-body),"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.editorial-heading h2{max-width:900px;font-size:clamp(2.9rem,5.25vw,5.2rem);line-height:.98;letter-spacing:-.018em;text-wrap:balance}.editorial-heading h2 em{font-size:1em;font-style:italic;font-weight:400;letter-spacing:-.008em}.experience-items{gap:clamp(3rem,5vw,4.5rem)}.experience-item,.experience-item:nth-child(2n){display:grid;grid-template-columns:minmax(115px,165px) minmax(0,650px);grid-gap:clamp(1.5rem,4vw,4rem);gap:clamp(1.5rem,4vw,4rem);min-height:0;padding-left:0}.experience-item:nth-child(2n) .experience-copy,.experience-item:nth-child(2n) .experience-meta,.experience-item:nth-child(odd) .experience-copy,.experience-item:nth-child(odd) .experience-meta{grid-column:auto;grid-row:auto;padding:0;text-align:left}.experience-node{top:.2rem;left:calc(-1 * clamp(3.5rem,7vw,6.5rem));width:10px;height:10px;transform:translateX(-50%)}.experience-item:after,.experience-item:nth-child(2n):after{top:.5rem;left:calc(-1 * clamp(3.5rem,7vw,6.5rem));width:clamp(2rem,5vw,4.5rem);transform:none;background:linear-gradient(90deg,var(--accent),rgba(62,245,255,.16))}.experience-meta>span{font-size:.76rem}.experience-meta small{font-size:.65rem;line-height:1.5}.experience-copy{max-width:650px}.experience-copy h3{font-family:var(--font-body),"Helvetica Neue",Helvetica,Arial,sans-serif;margin:0 0 .45rem;font-size:clamp(1.2rem,1.8vw,1.65rem);font-weight:600;line-height:1.15;letter-spacing:-.025em}.experience-copy strong{font-size:.84rem;line-height:1.45}.experience-description{position:relative;max-width:64ch}.experience-description p{display:-webkit-box;margin:.8rem 0 0;overflow:hidden;color:#9298a1;font-size:.92rem;line-height:1.62;-webkit-box-orient:vertical;-webkit-line-clamp:3}.experience-description.overflowing:not(.expanded):after{content:"";position:absolute;right:0;bottom:0;width:45%;height:1.7em;pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg) 88%)}.experience-description.expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.experience-description.expanded:after{opacity:0}.experience-description button{margin:.7rem 0 0;padding:0;border:0;background:transparent;color:var(--accent);font:600 .7rem/1 var(--font-body),sans-serif;letter-spacing:.035em;cursor:pointer}.experience-description button:focus-visible,.experience-description button:hover{color:#fff}.experience-metrics{display:flex;flex-wrap:wrap;gap:.65rem 1.4rem;margin-top:1.15rem}.experience-metrics div{min-width:70px;border-left:1px solid rgba(62,245,255,.35);padding-left:.65rem}.experience-metrics strong{display:block;color:#fff;font-family:var(--font-body),"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.2rem;font-weight:650;line-height:1}.experience-metrics span{display:block;margin-top:.3rem;color:#767d86;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.achievement-list{border-top:0}.achievement-list article{grid-template-columns:90px minmax(0,650px);padding:1.4rem 0;border-bottom:1px solid var(--line)}.achievement-list article>span{font-size:.7rem}.achievement-list h3{font-family:var(--font-body),"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(1.1rem,1.6vw,1.4rem);font-weight:600;line-height:1.25;letter-spacing:-.018em}.achievement-list p{max-width:64ch;font-size:.88rem;line-height:1.55}.toolkit{padding-bottom:max(clamp(7rem,11vw,11rem),25svh)}.tool-groups{gap:clamp(1.5rem,4vw,4rem)}.tool-groups article{position:relative;border-top:0;padding:1.25rem 0 2.25rem}.tool-column-line{position:absolute;z-index:-1;top:0;bottom:0;left:0;width:1px;background:linear-gradient(to bottom,var(--accent),rgba(62,245,255,.08) 88%,transparent)}.tool-groups h3{display:flex;align-items:center;gap:.6rem;margin:0 0 1.3rem;font-size:.68rem}.tool-groups article>div:not(.tool-column-line),.tool-groups h3{padding-left:1rem}.tool-groups span{font-size:.7rem}.footer{padding:3rem 0 3.5rem}.footer-inner{justify-content:center;text-align:center}.footer-signature{flex-direction:column;gap:.7rem}.footer-signature small{display:inline-block;margin-top:.3rem}.portfolio-reveal h2{font-size:clamp(4rem,9vw,8.5rem);line-height:.82;letter-spacing:-.028em;text-transform:none}.contact-card h2{font-size:clamp(3rem,7vw,6rem);line-height:.96;letter-spacing:-.022em}.built-project-copy h2,.built-project-panel-copy h2,.editorial-case h1,.editorial-case h2,.overlay-copy h2{font-family:var(--font-body),"Helvetica Neue",Helvetica,Arial,sans-serif}@media(max-width:800px){.philosophy-content h1{font-size:clamp(2rem,8.5vw,3.75rem);letter-spacing:-.012em}.philosophy-signature{width:clamp(148px,42vw,190px);margin-top:clamp(1.75rem,7vw,2.75rem)}.ryan-intro{padding-top:6rem;gap:2rem}.ryan-copy h2{font-size:clamp(3.1rem,13vw,4.7rem)}.typed-identity{font-size:clamp(1.35rem,6.5vw,2rem)}.ryan-narrative h3{font-size:clamp(1.85rem,8vw,2.65rem)}.ryan-narrative p{font-size:.9rem;line-height:1.58}.experience-life{padding-left:2.25rem}.experience-line{left:0}.experience-chapter>.editorial-heading{padding-left:0}.editorial-heading h2{font-size:clamp(2.35rem,10vw,3.8rem);line-height:1}.experience-item,.experience-item:nth-child(2n){grid-template-columns:1fr;gap:.65rem;padding-left:0}.experience-node{left:-2.25rem}.experience-item:after,.experience-item:nth-child(2n):after{left:-2.25rem;width:1.75rem}.experience-meta small{margin-top:.35rem}.experience-copy h3{font-size:clamp(1.15rem,5vw,1.45rem)}.experience-description p{font-size:.88rem;line-height:1.58}.achievement-list{margin-left:0}.achievement-list article{grid-template-columns:58px 1fr;gap:.9rem}.tool-groups{grid-template-columns:1fr;margin-left:0;gap:1.5rem}.tool-groups article{padding-left:1rem}}@media(min-width:801px){html:has(.landing-experience){scroll-snap-type:y mandatory}}@media(max-width:800px){html:has(.landing-experience){scroll-snap-type:y proximity}.experience-chapter{padding-bottom:max(6.5rem,16svh);scroll-margin-top:14svh}}@media(max-width:520px){.experience-chapter{padding-bottom:max(5rem,15svh);scroll-margin-top:12svh}}@media(prefers-reduced-motion:reduce){html:has(.landing-experience){scroll-snap-type:none}.experience-chapter{scroll-margin-top:0;scroll-snap-align:none}}html[data-locale=zh] .editorial-heading h2{font-family:Songti SC,STSong,serif;font-size:clamp(2.75rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.02em}html[data-locale=zh] .editorial-heading h2 em{font-family:Songti SC,STSong,serif;font-style:normal;white-space:normal}html[data-locale=zh] .ryan-narrative h3{font-family:Songti SC,STSong,serif}html[data-locale=zh] .achievement-list h3,html[data-locale=zh] .experience-copy h3{font-family:var(--font-body),"PingFang SC","Microsoft YaHei",sans-serif}