:root{--paper:#f3f2ec;--ink:#22231f;--muted:#72736b;--line:#d3d3ca;--accent:#dfff7c;--gutter:5vw;font-family:'DM Sans', 'Segoe UI', Arial, sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #7851d8;outline-offset:7px}::selection{background:#dfff7c;color:#22231f}.skip{position:fixed;top:-70px;left:20px;padding:15px;background:var(--accent);z-index:100}.skip:focus{top:15px}.header{padding:35px var(--gutter);display:flex;align-items:flex-start;gap:5vw}.wordmark{font-size:24px;letter-spacing:-1.3px;font-weight:700;white-space:nowrap}.brand-dot{font-size:12px;vertical-align:top;display:inline-block;margin:2px 0 0 4px;letter-spacing:0}.header-note{font-size:12px;line-height:1.5;margin-left:auto}.header nav{display:flex;gap:38px;font-size:14px}.header nav a{border-bottom:1px solid transparent;padding-bottom:6px}.header nav a:hover{border-color:currentColor}.header nav span{font-size:10px;vertical-align:top;margin-left:5px}.motion-toggle{border:1px solid var(--line);background:none;border-radius:50%;width:30px;height:30px;margin-top:-4px;font-size:12px}.hero{padding:100px var(--gutter) 42px;min-height:720px;min-height:calc(100svh - 100px);display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;letter-spacing:1.3px;display:flex;align-items:center;gap:10px;margin-bottom:28px}.status-dot{height:7px;width:7px;background:var(--ink);border-radius:50%}h1{font-size:clamp(70px,10.2vw,170px);line-height:.99;font-weight:500;letter-spacing:-.075em;margin:0}.hero-line{display:flex;align-items:center;gap:.18em;white-space:nowrap}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}.reel-trigger{position:relative;flex:none;width:clamp(70px,9vw,145px);height:clamp(70px,9vw,145px);border:0;border-radius:50%;background:#222b22;margin:12px 0 0 2vw;overflow:visible;transition:transform .4s}.reel-trigger:hover{transform:rotate(-12deg) scale(1.06)}.reel-orbit{position:absolute;inset:12%;border:15px solid var(--accent);border-radius:50%;transform:rotate(-35deg) scaleX(.5);animation:reel 7s ease-in-out infinite}.play{color:white;position:relative;font-size:19px}.reel-label{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);font:9px 'DM Sans',sans-serif;letter-spacing:1px;white-space:nowrap;color:var(--ink)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:90px}.hero-bottom p{margin:0;font-size:17px;line-height:1.5;letter-spacing:-.3px}.scroll-link{display:flex;align-items:center;gap:28px;font-size:10px;letter-spacing:.7px}.circle-arrow{display:grid;place-items:center;width:37px;height:37px;border:1px solid #999c8d;border-radius:50%;font-size:21px;transition:background .25s}.scroll-link:hover .circle-arrow{background:var(--accent)}.hero-index{font-size:9px;color:var(--muted);letter-spacing:.7px}.work{padding:65px var(--gutter) 120px}.section-top{border-top:1px solid var(--line);padding-top:25px;display:flex;align-items:center;justify-content:space-between}.section-top h2{font-size:23px;font-weight:450;letter-spacing:-.8px;margin:0}.section-top>span{font-size:10px;letter-spacing:.6px}.draft-note{font-size:11px;line-height:1.7;color:var(--muted);margin:18px 0 42px}.draft-note span{font-size:8px;border:1px solid #c5c7bb;border-radius:20px;padding:4px 7px;margin-right:8px}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:100px 0;align-items:start}.project{background:none;border:0;text-align:left;padding:0;min-width:0}.project:nth-child(6n + 1){grid-column:1/8}.project:nth-child(6n + 2){grid-column:10/13;margin-top:210px}.project:nth-child(6n + 3){grid-column:1/5;margin-top:90px}.project:nth-child(6n + 4){grid-column:6/13}.project:nth-child(6n + 5){grid-column:1/8}.project:nth-child(6n + 6){grid-column:10/13;margin-top:170px}.art{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:1.24;transition:border-radius .4s}.project:hover .art{border-radius:10px}.project-small .art{aspect-ratio:.79}.project-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:16px}.project-caption h3{font-size:18px;font-weight:500;letter-spacing:-.5px;margin:0}.project-caption>span{font-size:8px;letter-spacing:.8px;color:var(--muted)}.project-small .project-caption{display:block}.project-small .project-caption>span{display:block;margin-top:6px}.art-corner{position:absolute;left:20px;bottom:19px;font-size:8px;letter-spacing:1px;z-index:3}.project-open{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:36px;height:36px;background:var(--paper);border-radius:50%;font-size:20px;opacity:0;transform:translate(-8px,8px);transition:.3s;z-index:4}.project:hover .project-open,.project:focus-visible .project-open{opacity:1;transform:none}
.art-orbit{background:#bab0df;display:grid;place-items:center}.orbital{position:absolute;width:65%;height:65%;border:clamp(18px,3.8vw,70px) solid #dfff7c;border-radius:50%;box-shadow:inset 0 5px 12px #20280030,0 12px 20px #21144625}.orbital-one{transform:rotate(-28deg) scaleX(.48);animation:orbit-one 9s ease-in-out infinite}.orbital-two{border-color:#f6f2e7;transform:rotate(38deg) scaleX(.45);animation:orbit-two 9s ease-in-out infinite}.orbital-three{border-color:#353737;transform:rotate(92deg) scaleX(.44);animation:orbit-three 9s ease-in-out infinite}.orbital-core{position:absolute;width:14%;height:17%;border-radius:50%;background:radial-gradient(circle at 30% 23%,#fe9b63,#db4d20 65%,#98270e);box-shadow:0 10px 20px #44253335;animation:bob 5s ease-in-out infinite}.art-type{background:#e5ff81;color:#21281c;display:flex;align-items:center}.type-stack{font-size:clamp(44px,6.8vw,115px);line-height:.81;letter-spacing:-.09em;font-weight:700;transform:rotate(-9deg);width:100%;text-align:center}.type-stack span{display:block;animation:type-shift 5s ease-in-out infinite}.type-stack span:nth-child(2){animation-delay:-1.5s}.type-stack span:nth-child(3){animation-delay:-3s}.art-flower{background:#ef642e;display:grid;place-items:center}.flower{width:78%;aspect-ratio:1;position:relative;animation:spin 35s linear infinite}.flower i{width:28%;height:50%;position:absolute;left:36%;top:0;border-radius:60% 60% 40% 40%;background:#f9ccde;transform-origin:50% 100%;box-shadow:inset 0 0 20px #d8543830}.flower i:nth-child(2){transform:rotate(45deg)}.flower i:nth-child(3){transform:rotate(90deg)}.flower i:nth-child(4){transform:rotate(135deg)}.flower i:nth-child(5){transform:rotate(180deg)}.flower i:nth-child(6){transform:rotate(225deg)}.flower i:nth-child(7){transform:rotate(270deg)}.flower i:nth-child(8){transform:rotate(315deg)}.flower b{position:absolute;inset:34%;background:#472f2a;border-radius:50%;box-shadow:0 6px 15px #66251740}.art-wave{background:#233eec;color:#ececdb}.wave-lines{position:absolute;inset:-20%;display:flex;align-items:center;justify-content:center;gap:3%;transform:rotate(-27deg)}.wave-lines i{display:block;width:3%;height:140%;background:#abcbff;border-radius:50%;opacity:.45;animation:wave 6s ease-in-out infinite}.wave-lines i:nth-child(3n){animation-delay:-2s}.wave-lines i:nth-child(3n + 1){animation-delay:-4s}.wave-word{position:absolute;inset:0;display:grid;place-content:center;line-height:.9;font-size:clamp(45px,6.8vw,100px);font-weight:500;letter-spacing:-.07em;transform:rotate(-7deg)}.art-balance{background:#ded4c4}.balance-floor{position:absolute;inset:68% 0 0;background:#c5b9a5}.balance-sphere{position:absolute;left:13%;top:22%;width:27%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#c0bddb,#656175 70%,#3e3a49);box-shadow:25px 35px 20px #5a50492b;animation:bob 6s ease-in-out infinite}.balance-arch{position:absolute;width:35%;height:65%;top:25%;left:42%;border:clamp(20px,4.6vw,80px) solid #c74728;border-bottom:0;border-radius:50% 50% 0 0;transform:rotate(16deg);box-shadow:12px 8px 20px #61412f20;animation:balance 8s ease-in-out infinite}.balance-pill{position:absolute;width:29%;height:13%;left:18%;top:67%;border-radius:50px;background:linear-gradient(#e4ed9c,#9aa16e);transform:rotate(-10deg);box-shadow:8px 14px 15px #6f695b30}.art-spark{background:#eeacd3;color:#562d79}.spark{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);font-family:Arial,sans-serif;font-size:clamp(120px,19vw,290px);line-height:1;animation:spark 15s linear infinite}.spark-text{position:absolute;left:10%;bottom:15%;font-size:clamp(22px,3vw,48px);font-weight:600;line-height:.9;letter-spacing:-.06em}.asset-image,.asset-video{display:block;width:100%;height:100%;object-fit:cover}
.about{margin:0 var(--gutter);padding:80px 0 95px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:8vw}.about-label{display:flex;flex-direction:column;gap:30px;font-size:10px;letter-spacing:1px}.mini-star{font-size:110px;line-height:1;display:block;width:max-content}.about h2{font-size:clamp(35px,4.4vw,70px);font-weight:450;letter-spacing:-.055em;line-height:1.05;margin:0 0 30px}.about-content>p{font-size:18px;line-height:1.6;max-width:550px}.services{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.services span{border:1px solid var(--line);border-radius:25px;padding:9px 14px;font-size:11px}.about-content .bio-note{font-size:10px;color:var(--muted);margin-top:22px}.contact{background:var(--accent);padding:36px var(--gutter) 40px}.contact-top,.contact-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px}.contact-top{letter-spacing:.6px}.contact-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #242b2540;padding:40px 0 32px}.contact h2{font-size:clamp(70px,14vw,220px);font-weight:450;letter-spacing:-.075em;line-height:1;margin:0}.contact-link>span{font-size:clamp(70px,11vw,170px);line-height:1;transition:transform .3s}.contact-link:hover>span{transform:translate(8px,-8px)}.contact-bottom{padding-top:25px;font-size:13px;align-items:center}.contact-bottom p{margin:0}#social-links{display:flex;gap:20px}footer{padding:35px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span{font-size:11px;color:var(--muted)}footer>a:last-child{font-size:9px;letter-spacing:.7px}dialog{width:min(900px,92vw);max-height:90svh;border:0;padding:0;background:var(--paper);color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#1f211ad9;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:17px 25px;font-size:10px;letter-spacing:1px;position:sticky;top:0;background:var(--paper);z-index:10}.close-dialog{background:none;border:1px solid var(--line);border-radius:50%;width:35px;height:35px;font-size:17px}#dialog-art .art{aspect-ratio:1.8}#dialog-art .art-corner,#dialog-art .project-open{display:none}.dialog-content{padding:30px}.dialog-content h2{font-size:clamp(32px,5vw,60px);font-weight:500;letter-spacing:-.05em;line-height:1.05;margin:0 0 20px}.dialog-content p{font-size:16px;line-height:1.6;max-width:650px;color:#65675b}.next-project{border:0;border-top:1px solid var(--line);padding:20px 0 0;background:none;display:flex;justify-content:space-between;width:100%;margin-top:30px;font-size:15px}#dialog-details{display:flex;gap:25px;font-size:12px;color:var(--muted)}.reel-placeholder{min-height:250px;background:#222b22;color:var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.reel-placeholder strong{font-size:80px;font-weight:450;letter-spacing:-6px}.reel-placeholder span{font-size:12px}.dialog-video{width:100%;display:block;background:#171913;max-height:65svh}.paused *,.paused *::before,.paused *::after{animation-play-state:paused!important}
@keyframes orbit-one{50%{transform:rotate(5deg) scaleX(.55)}}@keyframes orbit-two{50%{transform:rotate(75deg) scaleX(.42)}}@keyframes orbit-three{50%{transform:rotate(130deg) scaleX(.5)}}@keyframes bob{50%{translate:0 -14px}}@keyframes type-shift{50%{transform:translateX(4%) skewX(-6deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes wave{50%{transform:scaleX(2.3) translateY(8%)}}@keyframes balance{50%{transform:rotate(9deg)}}@keyframes spark{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes reel{50%{transform:rotate(150deg) scaleX(.8)}}
@media(min-width:1700px){main,.header,footer{max-width:1900px;margin-left:auto;margin-right:auto}.hero{min-height:850px}}
@media(max-width:800px){.header{padding-top:25px;gap:20px}.header-note{display:none}.header nav{margin-left:auto;gap:20px}.wordmark{font-size:21px}.hero{padding-top:85px;min-height:620px}h1{font-size:11.5vw}.hero-line{gap:.15em}.reel-trigger{width:10vw;height:10vw;margin-left:1vw}.reel-orbit{border-width:8px}.hero-index{display:none}.hero-bottom{margin-top:85px}.project-grid{gap:70px 0}.project:nth-child(6n + 1),.project:nth-child(6n + 5){grid-column:1/8}.project:nth-child(6n + 2),.project:nth-child(6n + 6){grid-column:9/13;margin-top:110px}.project:nth-child(6n + 3){grid-column:1/5;margin-top:65px}.project:nth-child(6n + 4){grid-column:6/13}.project-caption{display:block}.project-caption>span{display:block;margin-top:6px}.project-caption h3{font-size:16px}.art-corner{font-size:7px;left:12px;bottom:12px}.about{grid-template-columns:.6fr 1.4fr;gap:25px}.about-content>p{font-size:16px}.project-open{opacity:1;width:27px;height:27px;font-size:16px;transform:none}}
@media(max-width:520px){:root{--gutter:6vw}.header{align-items:center;gap:12px}.header nav{gap:15px;font-size:12px}.header nav span{display:none}.header nav a:last-child{display:none}.motion-toggle{margin:0;width:26px;height:26px}.hero{padding-top:66px;padding-bottom:35px;min-height:570px;min-height:calc(85svh - 65px)}.eyebrow{font-size:8px;letter-spacing:.9px;margin-bottom:28px}h1{font-size:14vw;line-height:1.05}.hero-line{display:block;position:relative;white-space:normal}h1 em{white-space:nowrap}.reel-trigger{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 0 0 11px;vertical-align:middle;top:-5px}.reel-orbit{border-width:6px}.play{font-size:11px}.reel-label{font-size:6px;top:calc(100% + 8px);letter-spacing:.2px}.hero-bottom{margin-top:65px;align-items:center}.hero-bottom p{font-size:13px}.scroll-link{gap:12px;font-size:8px}.circle-arrow{width:31px;height:31px}.work{padding-top:30px;padding-bottom:65px}.section-top h2{font-size:20px}.section-top>span{font-size:8px}.draft-note{font-size:10px;margin-bottom:28px}.draft-note span{display:inline-block;margin-bottom:3px}.project-grid{display:block}.project{display:block;width:100%;margin:0 0 38px!important}.project:nth-child(6n + 2),.project:nth-child(6n + 3),.project:nth-child(6n + 6){width:78%}.project:nth-child(6n + 2),.project:nth-child(6n + 6){margin-left:auto!important}.project-small .art{aspect-ratio:1}.project-caption{display:flex}.project-caption>span{font-size:7px}.project-small .project-caption{display:flex}.type-stack{font-size:24vw}.orbital{border-width:25px}.wave-word{font-size:15vw}.spark{font-size:55vw}.spark-text{font-size:9vw}.balance-arch{border-width:30px}.about{grid-template-columns:1fr;padding:42px 0 55px;gap:35px}.about-label{flex-direction:row;align-items:center;gap:18px}.mini-star{font-size:47px}.about h2{font-size:40px}.about-content>p{font-size:16px}.contact{padding-top:25px;padding-bottom:25px}.contact-top{font-size:8px}.contact-link{padding:35px 0 25px}.contact h2{font-size:18vw}.contact-link>span{font-size:16vw}.contact-bottom{align-items:flex-start;flex-direction:column;font-size:12px;gap:12px}footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px}footer .wordmark{font-size:18px}footer>span{font-size:9px}footer>a:last-child{width:100%;font-size:8px}.dialog-content{padding:22px}.reel-placeholder strong{font-size:60px}}
.reel-trigger{display:inline-grid;place-items:center}.play{line-height:1;letter-spacing:0}[hidden]{display:none!important}
@media(max-width:520px){.hero-line .reel-trigger{position:absolute;right:0;top:calc(100% + 15px);margin:0}.hero-bottom{margin-top:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Final studio refinements */
.reading-progress{position:fixed;z-index:30;top:0;left:0;width:100%;height:3px;background:#252b20;transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero{min-height:min(760px,calc(100svh - 100px));padding-top:80px;padding-bottom:70px}.hero-bottom{margin-top:72px}.hero h1{font-size:clamp(64px,10.4vw,170px)}
.header-note{color:#5d6357}.header nav{gap:25px}.project-caption>span{color:#62695b}.draft-note{color:#62695b}.project-open{opacity:1;transform:none;background:#f3f2ecd9}.project:hover .project-open{background:var(--accent);transform:rotate(8deg)}
.project{position:relative}.project:focus-visible .art{outline:3px solid #7851d8;outline-offset:4px}.art{transition:border-radius .4s,filter .4s}.project:hover .art{filter:saturate(1.08)}
.approach{padding:0 var(--gutter) 95px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;padding-top:55px}.step-number{font-size:9px;letter-spacing:1px;color:#68705e}.approach h3{font-size:clamp(29px,3vw,48px);font-weight:450;line-height:1.1;letter-spacing:-1.5px;margin:25px 0 20px}.approach p{font-size:14px;line-height:1.75;color:#62695b;max-width:330px}
.questions{margin:0 var(--gutter);padding:60px 0 90px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:6vw}.questions .eyebrow{font-size:9px}.questions h2{font-size:clamp(34px,4vw,62px);line-height:1.04;letter-spacing:-2px;font-weight:450;margin:0}.questions details{border-bottom:1px solid var(--line)}.questions summary{padding:21px 0;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:15px;list-style:none;line-height:1.5}.questions summary::-webkit-details-marker{display:none}.questions summary span{font-size:22px;flex:none;transition:transform .2s}.questions details[open] summary span{transform:rotate(45deg)}.questions details p{font-size:14px;line-height:1.75;color:#62695b;margin:0 25px 25px 0}.questions summary:focus-visible{outline:3px solid #7851d8;outline-offset:5px}.dialog-content .dialog-hint{font-size:10px;color:#68705e;margin-top:25px}.media-fallback{position:absolute;inset:0;display:grid;place-content:center;font-size:26px;padding:30px;background:#e3e6d8;color:#343c2c}
.dialog-content{padding:35px 40px}.dialog-head{border-bottom:1px solid var(--line)}.dialog-content p{color:#51584c}#dialog-art .asset-image{max-height:60svh;object-fit:contain}.contact-top{color:#344225}.contact-link{overflow-wrap:anywhere}footer .wordmark{font-size:20px}
@media(max-width:800px){.header-note{display:none}.header nav{gap:18px}.header nav a[href="#approach"]{display:none}.hero{min-height:600px}.hero h1{font-size:11.5vw}.approach-grid{gap:25px}.approach h3{font-size:29px}.questions{grid-template-columns:.8fr 1.2fr}.questions summary{font-size:13px}}
@media(max-width:520px){.header .wordmark{font-size:17px;letter-spacing:-.7px;white-space:normal;line-height:1.1;max-width:150px}.header{gap:10px}.header nav{gap:14px}.header nav a{font-size:11px}.motion-toggle{flex:none;min-width:28px;min-height:28px}.hero{padding-top:55px;min-height:540px;min-height:calc(80svh - 60px);padding-bottom:48px}.hero h1{font-size:14.2vw;line-height:1.05}.hero-bottom{margin-top:60px}.hero-bottom p{max-width:58%;font-size:12px}.scroll-link{font-size:7px;gap:8px}.hero-line .reel-trigger{top:calc(100% + 12px)}.hero:has(.reel-trigger:not([hidden])) .hero-bottom{margin-top:90px}.section-top{gap:20px}.section-top>span{font-size:7px}.project-caption h3{font-size:16px}.project-caption>span{max-width:46%;text-align:right;line-height:1.5}.work{padding-bottom:35px}.about{padding-bottom:45px}.about-content>p{font-size:15px}.approach{padding-bottom:42px}.approach-grid{grid-template-columns:1fr;padding-top:30px;gap:25px}.approach article{display:grid;grid-template-columns:1fr 1.35fr;gap:12px 20px}.step-number{grid-column:1/-1}.approach h3{font-size:26px;margin:0}.approach p{margin:0;font-size:12px}.questions{grid-template-columns:1fr;gap:30px;padding:35px 0 50px}.questions h2{font-size:38px}.questions h2 br{display:none}.questions summary{font-size:14px}.contact-bottom{overflow-wrap:anywhere}.dialog-content{padding:25px}.dialog-hint{display:none}footer{row-gap:20px}footer .wordmark{font-size:17px}}
.phone-link{display:inline-block;margin-top:12px;border-bottom:1px solid currentColor;padding-bottom:3px;letter-spacing:.3px}.phone-link:hover{opacity:.65}
