:root{--bg:#101010;--fg:#f2f0e9;--muted:#a3a39e;--lime:#c5f45b;--purple:#bda0ff;--orange:#ff9a62;--line:#343430}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--lime);color:var(--bg)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--lime);outline-offset:7px}img{display:block;width:100%;height:auto}svg{display:block;width:100%;height:100%}p{line-height:1.5}h1,h2,h3,p{margin-top:0}em{font-weight:inherit;font-style:normal}body{overflow-x:clip}.skip{position:fixed;top:-80px;left:20px;background:var(--lime);color:#101010;padding:15px;z-index:100}.skip:focus{top:15px}.progress{height:3px;position:fixed;top:0;left:0;background:var(--lime);width:100%;transform:scaleX(0);transform-origin:left;z-index:90}.nav{height:100px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.wordmark{font-size:36px;font-weight:700;letter-spacing:-2px;display:flex;align-items:center;gap:5px}.brand-star{font-size:33px;color:var(--lime);line-height:1;display:block}.nav nav{display:flex;align-items:center;gap:45px;font-size:15px}.nav nav a{position:relative}.nav nav a:after{content:'';position:absolute;bottom:-7px;left:0;height:1px;width:100%;transform:scaleX(0);transform-origin:left;background:currentColor;transition:transform .3s}.nav nav a:hover:after{transform:scaleX(1)}.nav nav span{font-size:12px;vertical-align:super;margin-left:5px;color:var(--muted)}.nav nav .nav-contact span{font-size:19px;color:var(--lime);vertical-align:baseline}.hero{padding:42px 5vw 70px;min-height:calc(100svh - 100px);position:relative}.hero-meta{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.07em;color:var(--muted);margin-bottom:35px}.hero h1{font-size:clamp(90px,13.5vw,215px);font-weight:500;line-height:.92;letter-spacing:-.075em;margin:0 0 45px;max-width:1300px}.hero-line{display:flex;align-items:center;gap:6vw;overflow:hidden;padding-bottom:.05em}.hero-line>span{display:block}.hero h1 em{color:var(--lime)}.hero-spark{display:block;width:clamp(70px,9vw,140px);height:clamp(70px,9vw,140px);color:var(--purple);flex:none;margin-top:12px}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;min-height:190px;gap:25px}.intro{flex:0 0 32%;font-size:18px;line-height:1.5}.intro p{margin-bottom:27px}.text-link{font-size:14px;border-bottom:1px solid #777;padding-bottom:9px;display:inline-flex;gap:50px}.text-link span{color:var(--lime);transition:transform .25s}.text-link:hover span{transform:translateY(4px)}.edition{font-size:12px;line-height:1.6;color:var(--muted);text-align:right;letter-spacing:.04em;min-width:115px}.hero-art{position:relative;width:310px;height:185px;margin-right:40px;flex:none}.mini-card{position:absolute;width:195px;height:145px;overflow:hidden;box-shadow:0 15px 30px #0005;border:4px solid #242424}.mini-card img{width:100%;height:100%;object-fit:cover}.mini-one{left:0;top:0;transform:rotate(-12deg)}.mini-two{left:120px;top:24px;transform:rotate(10deg)}.orbit{position:absolute;width:105px;height:105px;right:-47px;top:-53px;color:var(--orange);stroke:currentColor;stroke-width:4;fill:none}.ribbon{overflow:hidden;background:var(--lime);color:var(--bg);padding:19px 0;transform:rotate(-2deg);width:calc(100% + 20px);margin:15px -10px 0}.ribbon-track{display:flex;width:max-content;font-size:clamp(23px,3vw,46px);font-weight:500;letter-spacing:-.03em;white-space:nowrap}.ribbon-track b{font-size:1.2em;margin:0 36px;font-weight:400}.work{padding:140px 5vw 100px;scroll-margin-top:0}.section-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;margin-bottom:60px}.eyebrow{font-size:12px;font-weight:400;letter-spacing:.08em;line-height:1.5;color:var(--muted);margin-bottom:28px}.section-heading .eyebrow{grid-column:1/-1;margin:0}.section-heading h2{font-size:clamp(42px,6vw,94px);font-weight:400;letter-spacing:-.06em;margin:0}.section-heading h2 span{font-size:16px;color:var(--muted);letter-spacing:0;vertical-align:super}.section-heading>p:last-child{font-size:15px;margin:0;color:var(--muted)}.project-row{display:grid;grid-template-columns:55px 1fr 210px 55px;align-items:center;gap:25px;padding:33px 0;border-top:1px solid var(--line);min-height:200px;transition:padding .5s, color .3s;position:relative}.project-row:last-child{border-bottom:1px solid var(--line)}.project-index{font-size:13px;color:var(--muted);align-self:start;margin-top:15px}.project-name h3{font-size:clamp(28px,3.9vw,60px);font-weight:400;letter-spacing:-.05em;margin-bottom:14px}.project-name p{color:var(--muted);font-size:14px;margin:0}.row-image{height:135px;overflow:hidden;border-radius:3px}.row-image img{height:100%;object-fit:cover;transition:transform .7s}.row-arrow{width:36px;height:36px;justify-self:end;transition:transform .35s,color .3s}.project-row:hover{color:var(--project-color);padding-left:14px;padding-right:14px}.project-row:hover .row-arrow{transform:rotate(45deg)}.project-row:hover .row-image img{transform:scale(1.08)}.spotlight{margin:30px 5vw 130px;display:grid;grid-template-columns:.85fr 1.3fr;gap:6vw;align-items:center}.spotlight-title h2{font-size:clamp(45px,6vw,92px);line-height:1.02;font-weight:400;letter-spacing:-.055em;margin-bottom:50px}.spotlight-title em{color:var(--orange)}.spin-mark{display:block;width:85px;height:85px;color:var(--orange)}.feature-image{position:relative;display:block;overflow:hidden;aspect-ratio:1/1.02;background:#ff243f;border-radius:3px}.feature-image>img{height:100%;object-fit:cover;transition:filter .5s}.feature-label{position:absolute;bottom:22px;left:22px;right:22px;background:#101010;color:#f2f0e9;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.feature-label b{font-size:24px;font-weight:400}.feature-image:hover img{filter:brightness(1.08)}.about{padding:100px 5vw 125px;display:grid;grid-template-columns:.6fr 1.4fr;gap:8vw;border-top:1px solid var(--line)}.about-symbol{width:130px;height:130px;color:var(--purple);margin-top:100px}.about h2{font-size:clamp(37px,4.9vw,74px);font-weight:400;letter-spacing:-.055em;line-height:1.07;margin-bottom:40px}.about h2 span{color:var(--purple)}.about-copy{font-size:23px;line-height:1.5;max-width:740px}.about-copy.secondary{font-size:17px;color:var(--muted);max-width:620px}.skills{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.skills span{border:1px solid #484843;border-radius:30px;padding:9px 14px;font-size:13px;line-height:1.3}.magnetic-button{display:flex;border-radius:50%;background:var(--lime);color:#101010;width:145px;height:145px;align-items:center;justify-content:center;margin-top:42px}.magnetic-button>span{display:flex;align-items:center;gap:16px;font-size:16px}.magnetic-button svg{width:26px;height:26px}footer{background:#1a1a18;padding:65px 5vw 25px;border-radius:35px 35px 0 0}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.footer-star{width:50px;height:50px;color:var(--lime)}.footer-top .eyebrow{margin:0}.contact-title{font-size:clamp(55px,9vw,145px);line-height:1.05;letter-spacing:-.065em;display:block;position:relative;padding-right:100px}.contact-title>span:not(.contact-arrow){color:var(--lime)}.contact-arrow{width:80px;height:80px;position:absolute;right:0;bottom:15px;transition:transform .4s}.contact-title:hover .contact-arrow{transform:translate(8px,-8px)}.footer-links{display:flex;gap:35px;padding:45px 0 70px;font-size:16px;flex-wrap:wrap}.footer-links a{border-bottom:1px solid #555;padding-bottom:7px}.footer-bottom{border-top:1px solid #44443c;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.hover-preview{position:fixed;top:0;left:0;width:330px;z-index:60;pointer-events:none;visibility:hidden;opacity:0;transform:translate(-50%,-50%);box-shadow:0 20px 80px #0008;background:var(--lime);color:#101010}.hover-preview img{height:235px;object-fit:cover}.hover-preview span{display:block;padding:13px 16px;font-size:12px;letter-spacing:.07em}.page-wipe{position:fixed;inset:0;background:var(--lime);z-index:100;transform:translateY(101%);pointer-events:none}.case-header{padding:60px 5vw 80px}.back-link{display:inline-block;font-size:14px;color:var(--muted);margin-bottom:70px}.case-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);gap:25px;margin-bottom:25px}.case-header h1{font-size:clamp(55px,9vw,145px);font-weight:400;letter-spacing:-.065em;line-height:1.02;color:var(--project-color,var(--lime));margin-bottom:70px}.case-summary{display:grid;grid-template-columns:1fr 1fr;gap:9vw;max-width:1250px}.case-summary h2{font-size:clamp(28px,3.4vw,50px);letter-spacing:-.035em;font-weight:400;line-height:1.15}.case-summary p{font-size:18px;color:var(--muted)}.gallery{padding:0 5vw 110px;display:grid;grid-template-columns:1fr 1fr;gap:45px 25px}.gallery-item{margin:0;min-width:0}.gallery-item.wide{grid-column:1/-1}.gallery-item>div{overflow:hidden;border-radius:3px;background:#222}.gallery-item img{height:auto;aspect-ratio:auto;object-fit:contain}.gallery-item figcaption{display:flex;gap:20px;font-size:13px;color:var(--muted);padding-top:15px;line-height:1.5}.gallery-item figcaption span{color:var(--project-color)}.next-project{display:block;padding:70px 5vw 90px;border-top:1px solid var(--line);position:relative}.next-project h2{font-size:clamp(40px,6vw,90px);letter-spacing:-.055em;font-weight:400;margin:0;padding-right:80px}.next-project>svg{width:55px;height:55px;position:absolute;right:5vw;bottom:100px;color:var(--lime);transition:transform .4s}.next-project:hover>svg{transform:translate(6px,-6px)}
@media(min-width:1600px){.hero,.work,.about,footer,.case-header,.gallery,.next-project,.nav{padding-left:max(5vw,calc((100vw - 1550px)/2));padding-right:max(5vw,calc((100vw - 1550px)/2))}}@media(max-width:1000px){.hero h1{font-size:14vw}.hero-art{width:250px;margin-right:0}.mini-card{width:160px;height:120px}.mini-two{left:85px}.orbit{right:-15px}.project-row{grid-template-columns:30px 1fr 160px 35px;gap:20px}.row-image{height:115px}.about{grid-template-columns:.45fr 1.55fr;gap:4vw}.edition{display:none}.spotlight{gap:4vw}.contact-arrow{width:55px;height:55px}}
@media(max-width:650px){.nav{height:80px;padding:0 6vw}.wordmark{font-size:31px}.brand-star{font-size:27px}.nav nav{gap:20px;font-size:13px}.nav nav span{display:none}.hero{padding:28px 6vw 55px;min-height:auto}.hero-meta{font-size:10px;letter-spacing:.03em;gap:15px;margin-bottom:34px}.hero h1{font-size:17vw;letter-spacing:-.07em;line-height:.97;margin-bottom:36px}.hero-spark{width:13vw;height:13vw;margin-top:0}.hero-line{gap:7vw}.hero-bottom{min-height:260px;display:block;position:relative}.intro{font-size:16px;max-width:70%}.intro p{margin-bottom:25px}.hero-art{width:185px;height:135px;position:absolute;right:0;bottom:-10px;pointer-events:none}.mini-card{width:117px;height:91px;border-width:3px}.mini-two{left:67px;top:25px}.orbit{width:65px;height:65px;top:-27px;right:3px}.ribbon{padding:15px 0;margin-top:20px}.ribbon-track{font-size:23px}.ribbon-track b{margin:0 22px}.work{padding:80px 6vw 65px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:35px}.section-heading h2{font-size:45px}.section-heading>p:last-child{display:none}.eyebrow{font-size:11px}.project-row{grid-template-columns:25px 1fr 28px;gap:12px;padding:25px 0;min-height:0}.project-name h3{font-size:31px;margin-bottom:9px}.project-name p{font-size:12px}.row-image{grid-column:2/3;grid-row:2;height:auto;margin-top:10px;max-width:300px}.row-image img{height:auto;aspect-ratio:1.5;object-fit:cover}.row-arrow{grid-column:3;grid-row:1;width:24px;height:24px}.project-index{margin-top:8px;font-size:12px}.project-row:hover{padding-left:0;padding-right:0}.spotlight{margin:20px 6vw 80px;grid-template-columns:1fr;gap:30px}.spotlight-title{position:relative}.spotlight-title h2{font-size:55px;margin-bottom:0}.spotlight-title .eyebrow{margin-bottom:20px;display:block}.spin-mark{width:65px;height:65px;position:absolute;right:10px;bottom:5px}.feature-image{aspect-ratio:1/1.1}.feature-label{left:14px;right:14px;bottom:14px;font-size:12px;padding:13px}.about{padding:60px 6vw 80px;display:block}.about-symbol{display:none}.about h2{font-size:41px;margin-bottom:30px}.about-copy{font-size:20px}.about-copy.secondary{font-size:16px}.skills span{font-size:12px;padding:8px 12px}.magnetic-button{width:125px;height:125px}footer{padding:45px 6vw 25px;border-radius:23px 23px 0 0}.footer-star{width:35px;height:35px}.contact-title{font-size:12vw;padding-right:0;margin-top:25px}.contact-arrow{width:30px;height:30px;right:0;bottom:3px}.footer-links{padding:35px 0 50px;gap:22px;font-size:14px}.footer-bottom{font-size:11px;gap:15px;flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}.hover-preview{display:none}.case-header{padding:35px 6vw 45px}.back-link{margin-bottom:45px}.case-meta{font-size:11px;display:block}.case-meta span{display:block;margin-bottom:10px}.case-header h1{font-size:16vw;margin-bottom:40px;overflow-wrap:break-word}.case-summary{display:block}.case-summary h2{font-size:31px}.case-summary p{font-size:16px}.gallery{padding:0 6vw 60px;grid-template-columns:1fr;gap:30px}.gallery-item.wide{grid-column:auto}.gallery-item figcaption{font-size:12px;gap:13px}.next-project{padding:45px 6vw 65px}.next-project h2{font-size:40px;padding-right:35px}.next-project>svg{width:27px;height:27px;bottom:70px;right:6vw}.text-link{font-size:13px;gap:30px}.about .eyebrow{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hover-preview{display:none!important}}

/* The project images move as one vertical reel inside a fixed clipping window. */
.preview-viewport{height:235px;overflow:hidden;position:relative}
.preview-track{display:flex;flex-direction:column;will-change:transform}
.preview-slide{height:235px;flex:0 0 235px;overflow:hidden}
.preview-slide img{display:block;width:100%;height:100%;object-fit:cover}

/* Three crossing strips: each has an independent loop and scroll offset. */
.ribbon-stack{height:340px;margin:35px 0 0;position:relative;overflow:hidden;isolation:isolate}
.bands{position:absolute;inset:35px 0 55px}
.ribbon-stack .ribbon{position:absolute;left:-10%;width:120%;margin:0;padding:18px 0;box-shadow:0 8px 20px #0003}
.ribbon-stack .ribbon-1{top:45px;background:var(--purple);transform:rotate(-7deg);z-index:1}
.ribbon-stack .ribbon-2{top:102px;background:var(--orange);transform:rotate(6deg);z-index:2}
.ribbon-stack .ribbon-3{top:92px;background:var(--lime);transform:rotate(-1deg);z-index:3}
.ribbon-scroll{width:160%;margin-left:-30%;will-change:transform}
.ribbon-stack .ribbon-track{font-size:clamp(25px,3vw,46px);line-height:1.15;will-change:transform}
.ribbon-group{flex:none;display:block}
.motion-toggle{position:absolute;right:5vw;bottom:10px;background:none;border:1px solid #555;border-radius:20px;padding:9px 15px;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}
.motion-toggle:hover{color:var(--fg);border-color:var(--fg)}
.hero-spark svg,.spin-mark svg,.footer-star svg{transform-origin:center}
@media(max-width:650px){.ribbon-stack{height:265px;margin-top:5px}.bands{inset:25px 0 45px}.ribbon-stack .ribbon{padding:14px 0;left:-15%;width:130%}.ribbon-stack .ribbon-1{top:40px;transform:rotate(-11deg)}.ribbon-stack .ribbon-2{top:75px;transform:rotate(10deg)}.ribbon-stack .ribbon-3{top:90px;transform:rotate(-2deg)}.ribbon-stack .ribbon-track{font-size:25px}.motion-toggle{right:6vw;bottom:5px}}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}.ribbon-track,.ribbon-scroll{will-change:auto}}

/* Letter choreography retains semantic text, natural wrapping and emphasis. */
.motion-word{display:inline-block;white-space:nowrap;vertical-align:baseline}
.motion-char{display:inline-block;transform-origin:50% 100%}
.hero-line .motion-word,.reveal .motion-word,.case-header h1 .motion-word{overflow:clip;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.hero-line .motion-char{line-height:1.05}
.reveal .motion-word{perspective:600px}
.section-heading h2 .motion-word,.section-heading h2 .motion-char{font:inherit;color:inherit;letter-spacing:inherit;vertical-align:baseline}
.motion-motif{display:block;pointer-events:none}
.hero-flower{position:absolute;width:clamp(85px,11vw,170px);height:clamp(85px,11vw,170px);right:7vw;top:24%;z-index:0}
.hero h1,.hero-bottom{position:relative;z-index:1}
.section-heading{position:relative}.work-coil{position:absolute;right:22%;top:-45px;width:140px;height:100px}
.spotlight-title{position:relative}.detail-dots{position:absolute;bottom:0;right:25px;width:90px;height:90px}
.about-label{position:relative}.about-curve{width:175px;height:85px;margin:0 0 40px}
.about-symbol{margin-top:65px}
@media(max-width:1000px){.work-coil{right:25%;top:-20px;width:100px;height:70px}.hero-flower{right:5vw;top:30%}}
@media(max-width:650px){.hero-flower{top:36%;right:7vw;width:65px;height:65px;opacity:.9}.work-coil{right:0;top:-15px;width:85px;height:62px}.section-heading h2{max-width:85%}.detail-dots{width:50px;height:50px;right:88px;bottom:12px}.about-curve{width:120px;height:60px;margin-bottom:25px}.hero h1{font-size:16.5vw}.motion-char{will-change:auto}}

.contact-page{min-height:calc(100svh - 210px)}.contact-page h1{display:flex;align-items:center;gap:4vw}.contact-spark{display:block;width:.7em;height:.7em;color:var(--purple);flex:none}.contact-intro{font-size:clamp(20px,2.4vw,34px);max-width:750px;margin-bottom:55px;color:var(--muted)}.contact-options{display:grid;grid-template-columns:1.3fr 1fr;gap:6vw;border-top:1px solid var(--line);padding-top:35px}.contact-options article{min-width:0}.email-address,.phone-address{font-size:clamp(22px,2.6vw,40px);letter-spacing:-.03em;overflow-wrap:anywhere}.email-address{user-select:all}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.contact-action{display:inline-flex;align-items:center;padding:15px 22px;border:1px solid #555;border-radius:30px;background:transparent;color:var(--fg);font:inherit;font-size:15px;cursor:pointer}.contact-action.primary{background:var(--lime);border-color:var(--lime);color:var(--bg)}.contact-action:hover{border-color:var(--lime)}.copy-status{font-size:14px;color:var(--lime);min-height:24px;margin:15px 0 0}.contact-location{color:var(--muted);margin-top:20px}.contact-page-footer{padding-top:25px}.contact-page-footer .footer-bottom{border:0;padding-top:0}
@media(max-width:650px){.contact-options{grid-template-columns:1fr;gap:35px}.contact-options article+article{border-top:1px solid var(--line);padding-top:30px}.contact-page .case-header h1{font-size:17vw}.contact-intro{margin-bottom:35px}.contact-action{padding:12px 18px}}

@font-face{font-family:Manrope;src:url('/assets/manrope-300.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/manrope-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body{font-family:Manrope,Arial,sans-serif;font-weight:400}
.hero h1,.section-heading h2,.project-name h3,.spotlight-title h2,.about h2,.case-header h1,.case-summary h2,.next-project h2,.contact-title,.ribbon-track{font-weight:300}
.wordmark{font-weight:400}.hero h1{font-size:clamp(80px,12vw,190px);letter-spacing:-.055em;margin-bottom:22px;line-height:1}.hero-subhead{font-size:clamp(14px,1.3vw,18px);font-weight:300;letter-spacing:.035em;color:var(--muted);margin:0 0 40px;position:relative;z-index:1}.hero-line{gap:5vw}.hero-spark{width:clamp(60px,7vw,110px);height:clamp(60px,7vw,110px)}
html.is-arriving:before{content:'';position:fixed;inset:0;background:var(--lime);z-index:101;pointer-events:auto}
.page-wipe{will-change:transform;border-radius:0}
@media(max-width:650px){.hero h1{font-size:14vw;letter-spacing:-.055em;margin-bottom:18px}.hero-subhead{font-size:13px;line-height:1.65;max-width:290px;margin-bottom:35px}.hero-flower{top:32%;width:58px;height:58px}.hero-spark{width:50px;height:50px}.hero-line{gap:8vw}.project-name h3{font-size:29px}.about h2{font-size:37px}}

/* Drag the existing SVG artwork while its original motion continues. */
.hero-line{overflow:visible}
.existing-draggable{pointer-events:auto!important;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;overflow:visible}
.existing-draggable.is-grabbed{cursor:grabbing;filter:drop-shadow(0 10px 15px #0005)}
.existing-draggable:focus-visible{outline:2px dashed var(--lime);outline-offset:8px}
.drag-raised{position:relative;z-index:70!important}
.hero-flower.drag-raised,.work-coil.drag-raised,.detail-dots.drag-raised{position:absolute}

.project-media,.project-resources{margin:0 5vw 80px}.project-media video{display:block;width:100%;max-width:620px;max-height:80vh;margin:0 auto;background:#171717;border-radius:4px}.project-media p{text-align:center;margin-top:18px;color:var(--muted);font-size:14px}.project-resources a{display:flex;justify-content:space-between;gap:25px;padding:24px 0;border-bottom:1px solid var(--line);font-size:clamp(16px,2vw,25px);transition:color .25s}.project-resources a:hover{color:var(--lime)}.project-resources a span{color:var(--lime)}.gallery-item.wide img{max-height:1100px;object-fit:contain}.project-media video:focus-visible{outline:2px solid var(--lime)}
