*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}button{font:inherit}@font-face{font-family:Ribes;src:url(/assets/Ribes-Regular-C6Z3-G72.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{interpolate-size:allow-keywords;--bg:oklch(100% 0 0);--panel:oklch(95.5% 0 0);--ink:oklch(15% 0 0);--ink-soft:oklch(45% 0 0);--ink-faint:oklch(58% 0 0);--line:oklch(90% 0 0);--tag:oklch(90% .01 145);--dark:oklch(13% 0 0);--dark-line:oklch(100% 0 0/.14);--dark-soft:oklch(100% 0 0/.66);--accent:oklch(62% .17 38);--available:oklch(70% .18 150);--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif;--font-display:"Ribes", Georgia, serif;--gutter:clamp(16px, 6.6vw, 96px)}html{scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}.page{overflow-x:clip}.wrap{max-width:1440px;padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.mono,.nav-link,.nav-clock,.lang-switch,.nav-toggle,.section-head,.tag,.hero-status,.marquee,.project-year,.project-role,.project-stat dd,.line-list,.exp-row,.contact-link,.footer,.gallery-caption{text-transform:uppercase;letter-spacing:.06em;font-weight:500}.nav{z-index:50;-webkit-backdrop-filter:blur(12px);background:oklch(100% 0 0/.86);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.nav-logo{font-family:var(--font-display);letter-spacing:-.01em;font-size:26px;line-height:1}.nav-links{align-items:center;gap:24px;font-size:13px;display:flex}.nav-link,.lang-link{transition:color .2s}.nav-link:hover,.lang-link:hover{color:var(--accent)}.lang-switch{color:var(--ink-faint);gap:6px;display:inline-flex}.lang-link.active{color:var(--ink)}.nav-clock{font-variant-numeric:tabular-nums}.nav-toggle{color:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:13px;display:none}.nav-panel{display:none}.hero{text-align:center;flex-direction:column;align-items:center;padding-top:clamp(64px,12vh,140px);padding-bottom:clamp(56px,9vh,96px);display:flex}.hero-name{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(48px,10vw,150px);font-weight:400;line-height:1}.hero-name-wrap{cursor:default;-webkit-user-select:none;user-select:none;animation:.9s cubic-bezier(.2,.7,.2,1) both rise;position:relative}.hero-name-wrap.is-drawn .hero-name{color:#0000}.hero-name-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-rule{background:var(--ink);transform-origin:top;width:1px;height:clamp(56px,12vh,120px);margin:clamp(28px,5vh,48px) 0;animation:.8s cubic-bezier(.2,.7,.2,1) .4s both grow}.hero-intro{letter-spacing:-.02em;text-wrap:balance;max-width:34ch;margin:0;font-size:clamp(19px,1.8vw,24px);font-weight:300;line-height:1.3;animation:.8s .6s both fade}.hero-status{color:var(--ink-faint);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;margin:24px 0 0;font-size:13px;animation:.8s .75s both fade;display:flex}.hero-status-main .status-dot{vertical-align:.1em;margin-right:10px;display:inline-block}.status-dot{background:var(--available);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 4px oklch(70% .18 150/.18)}.hero-email{color:var(--accent)}.hero-email:hover{text-decoration:underline}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes grow{0%{transform:scaleY(0)}}@keyframes fade{0%{opacity:0}}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-soft);padding:18px 0;font-size:13px;overflow:hidden}.marquee-track{width:max-content;animation:38s linear infinite marquee;display:flex}.marquee-group{display:flex}.marquee-item{white-space:nowrap;align-items:center;display:inline-flex}.marquee-star{color:var(--accent);margin:0 28px}@keyframes marquee{to{transform:translate(-50%)}}.section{padding-top:clamp(80px,12vw,160px)}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:clamp(32px,4vw,48px);padding-bottom:18px;font-size:13px;display:flex}.section-head-label{font:inherit;align-items:center;gap:12px;margin:0;display:inline-flex}.section-head-mark{background:var(--accent);width:10px;height:10px}.section-head-index{color:var(--ink-faint);font-weight:400}.section-head.dark{border-color:var(--dark-line)}.section-head.dark .section-head-index{color:var(--dark-soft)}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{background:var(--tag);color:oklch(35% .01 145);border-radius:999px;padding:5px 12px;font-size:12px}.project+.project{margin-top:clamp(72px,9vw,128px)}.project-media .gallery-media{aspect-ratio:16/9;border-radius:0}.project-body{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:clamp(40px,7vw,120px);display:grid}.project-intro{max-width:640px}.project-heading{align-items:flex-start;gap:14px;display:flex}.project-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(40px,4vw,56px);font-weight:400;line-height:1}.project-year{color:var(--ink-faint);padding-top:2px;font-size:13px}.project-role{color:var(--accent);margin-top:12px;font-size:13px}.project-text{letter-spacing:-.02em;max-width:56ch;color:var(--ink-soft);margin:18px 0 24px;font-size:19px;line-height:1.5}.project-stats{border-bottom:1px solid var(--line);margin:0}.project-stat{border-top:1px solid var(--line);padding:18px 0}.project-stat dt{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(32px,3vw,42px);line-height:1.1}.project-stat dd{color:var(--ink-faint);margin:6px 0 0;font-size:11.5px;line-height:1.4}.project-media{width:65%;margin:clamp(40px,5vw,72px) 0 0 auto}.section-dark{background:var(--dark);color:oklch(97% 0 0);margin-top:clamp(80px,12vw,160px);padding-bottom:clamp(80px,12vw,160px)}.about-grid{grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,160px);display:grid}.about-lead{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 20px;font-size:clamp(26px,2.6vw,36px);line-height:1.2}.about-text{letter-spacing:-.02em;max-width:46ch;color:var(--dark-soft);margin:0;font-size:19px;line-height:1.5}.about-photo{max-width:360px;margin:48px 0 0}.about-photo-media{aspect-ratio:4/5;width:100%}.chromatic-image{isolation:isolate;background:var(--dark);position:relative;overflow:hidden}.chromatic-image-fallback,.chromatic-image-canvas{transition:opacity .3s;display:block;position:absolute}.chromatic-image-fallback{object-fit:cover;width:100%;height:100%;inset:0}.chromatic-image-fallback.is-hidden{opacity:0}.chromatic-image-canvas{opacity:0;will-change:transform;width:105%;height:105%;inset:-2.5%}.chromatic-image-canvas.is-ready{opacity:1}.about-photo figcaption{text-transform:uppercase;color:var(--dark-soft);margin-top:12px;font-size:12px}.list-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 12px;font-size:28px;font-weight:400}.list-title+.line-list+.list-title{margin-top:56px}.line-list{margin:0;padding:0;font-size:13px;list-style:none}.line-list li{border-top:1px solid var(--dark-line);padding:16px 0}.step{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;padding:36px 0;display:grid}.step:first-of-type{padding-top:0}.step-title{font-family:var(--font-display);letter-spacing:-.01em;align-items:flex-start;gap:16px;margin:0;font-size:clamp(40px,4.4vw,60px);font-weight:400;line-height:1;display:flex}.step-num{font-family:var(--font-sans);letter-spacing:0;color:var(--accent);padding-top:6px;font-size:13px;font-weight:500}.step-text{letter-spacing:-.02em;max-width:44ch;color:var(--ink-soft);margin:0 0 16px;font-size:19px;line-height:1.5}.faq-item{border-bottom:1px solid var(--line)}.faq-item::details-content{block-size:0;transition:block-size .35s ease, content-visibility .35s allow-discrete;overflow:hidden}.faq-item[open]::details-content{block-size:auto}.faq-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;list-style:none;display:flex}.faq-summary::-webkit-details-marker{display:none}.faq-summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.section-head+.faq-item .faq-summary{padding-top:0}.faq-question{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(24px,2.2vw,30px);font-weight:400;line-height:1.2;transition:color .2s}.faq-summary:hover .faq-question{color:var(--accent)}.faq-icon{flex:none;width:22px;height:22px;transition:transform .3s;position:relative}.faq-icon:before,.faq-icon:after{content:"";background:var(--ink);width:100%;height:1.5px;position:absolute;top:50%;left:0}.faq-icon:after{transform:rotate(90deg)}.faq-item[open] .faq-icon{transform:rotate(45deg)}.faq-answer{letter-spacing:-.02em;max-width:62ch;color:var(--ink-soft);margin:0;padding-bottom:28px;font-size:19px;line-height:1.5}.exp-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:center;gap:16px;padding:18px 0;font-size:13px;display:grid}.exp-row:first-of-type{padding-top:0}.exp-org{align-items:center;gap:16px;display:flex}.exp-badge{flex:none;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.exp-link{justify-self:start;transition:color .2s}.exp-arrow{font-family:var(--font-sans);color:var(--ink-faint);margin-left:8px;font-size:15px;transition:transform .2s,color .2s;display:inline-block}.exp-link:hover{color:var(--accent)}.exp-link:hover .exp-arrow{color:var(--accent);transform:translate(2px,-2px)}.exp-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.exp-badge--brand{background:var(--accent);color:var(--bg);font-family:var(--font-display);text-transform:none;font-size:26px;font-weight:400;line-height:1}.exp-badge--logo{background:var(--bg);padding:7px}.exp-badge--logo img{object-fit:contain;width:100%;height:100%;display:block}.exp-badge--fill{padding:0}.exp-badge--fill img{object-fit:cover}.exp-role,.exp-date{color:var(--ink-faint)}.exp-date{text-align:right;font-variant-numeric:tabular-nums}.contact-big{background:var(--panel);font-family:var(--font-display);text-align:center;white-space:nowrap;letter-spacing:-.01em;padding:.12em .2em .05em;font-size:clamp(34px,12vw,176px);line-height:1;transition:background .3s,color .3s;display:block;overflow:hidden}.contact-big:hover{background:var(--ink);color:var(--bg)}.contact-grid{grid-template-columns:1fr 2fr;gap:32px;margin-top:48px;display:grid}.contact-text{letter-spacing:-.02em;max-width:32ch;color:var(--ink-soft);margin:0;font-size:19px;line-height:1.5}.contact-link{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 0;font-size:14px;display:flex}.contact-link:last-child{border-bottom:1px solid var(--line)}.contact-arrow{font-family:var(--font-sans);color:var(--ink-faint);font-size:20px;transition:transform .25s,color .25s}.contact-link:hover .contact-arrow{color:var(--accent);transform:translate(4px)}.footer{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:clamp(80px,10vw,140px);padding-top:40px;padding-bottom:56px;font-size:13px;display:grid}.footer-logo{font-family:var(--font-display);text-transform:none;letter-spacing:-.01em;font-size:26px;font-weight:400;line-height:1}.footer-col{flex-direction:column;gap:14px;display:flex}.footer-col a:hover{color:var(--accent)}.footer-col:last-child{color:var(--ink-faint)}.gallery-media{aspect-ratio:4/3;background:oklch(100% 0 0/.04);border-radius:1.25rem;width:100%;position:relative;overflow:hidden}.gallery-media img{object-fit:cover;width:100%;height:100%;display:block}.gallery-media.contain{background:oklch(98.5% .002 220)}.gallery-media.contain img{object-fit:contain;padding:20px}.gallery-media.video{aspect-ratio:16/9;background:oklch(16.5% .005 270)}.gallery-media.video iframe{border:0;width:100%;height:100%;display:block}.gallery-video-thumb{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.gallery-video-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gallery-video-thumb:after{content:"";background:linear-gradient(oklch(16.5% .005 270/.1),oklch(16.5% .005 270/.4));position:absolute;inset:0}.gallery-play{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gallery-play-circle{background:oklch(98.5% .002 220);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .2s;display:flex;box-shadow:0 6px 20px oklch(16.5% .005 270/.4)}.gallery-video-thumb:hover .gallery-play-circle{transform:scale(1.08)}.gallery-play-icon{border:11px solid #0000;border-left:18px solid oklch(16.5% .005 270);border-right-width:0;width:0;height:0;margin-left:4px}.gallery-caption{letter-spacing:.04em;color:oklch(98.5% .002 220/.45);margin-top:12px;font-size:10.5px}.gallery-media{border-radius:0}@media (width<=860px){.nav-links{display:none}.nav-toggle{display:block}.nav-panel{max-height:0;padding:0 var(--gutter);background:var(--bg);flex-direction:column;transition:max-height .35s;display:flex;overflow:hidden}.nav-panel.open{border-bottom:1px solid var(--line);max-height:420px}.nav-panel-link{font-family:var(--font-display);letter-spacing:-.01em;border-bottom:1px solid var(--line);padding:10px 0;font-size:36px}.nav-panel-meta{justify-content:space-between;padding:20px 0 24px;font-size:13px;display:flex}.hero-name{font-size:21vw;line-height:.95}.project-body{grid-template-columns:1fr}.project-media{width:100%}.project-stats{border-top:1px solid var(--line);border-bottom:0;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:20px;display:grid}.project-stat{border-top:0;padding:0}.about-grid,.step,.contact-grid{grid-template-columns:1fr}.about-photo{max-width:none}.exp-row{grid-template-columns:1fr auto}.exp-role{grid-area:2/1/auto/-1;margin-top:-10px;padding-left:60px}.footer{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}}@media (width<=520px){.hero-status-sep{display:none}.hero-email{flex-basis:100%}.project-stats{grid-template-columns:1fr;gap:16px}.project-text,.about-text,.step-text,.faq-answer,.contact-text{font-size:17px}.contact-big{font-size:12vw}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
