:root{--bg:#0b0b10;--surface:#12121a;--surface-2:#191923;--ink:#f3f0ea;--muted:#a7a6ad;--line:rgba(243,240,234,.14);--violet:#8b5cf6;--cyan:#5eead4;--orange:#ff926e;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}.ambient{position:fixed;width:52vw;height:52vw;border-radius:50%;filter:blur(90px);opacity:.13;pointer-events:none;z-index:-1}.ambient-one{background:var(--violet);top:-25vw;right:-15vw;animation:float 16s ease-in-out infinite}.ambient-two{background:var(--cyan);bottom:-35vw;left:-20vw;animation:float 21s ease-in-out infinite reverse}.section-shell{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.site-header{width:min(calc(100% - 64px),var(--max));margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:26px 0;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,var(--violet),var(--cyan));color:#0b0b10;font:500 11px 'DM Mono',monospace;letter-spacing:-1px}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-text strong{font-size:13px;letter-spacing:-.3px}.brand-text small{color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:30px;font-size:12px;color:var(--muted)}.nav-links a{transition:color .25s ease}.nav-links a:hover{color:var(--ink)}.nav-cta{color:var(--ink)!important;border:1px solid var(--line);padding:10px 15px;border-radius:99px}.nav-cta span{color:var(--cyan);margin-left:8px}.menu-toggle{display:none;background:none;border:0;color:var(--ink)}.hero{display:grid;grid-template-columns:1fr .78fr;min-height:700px;align-items:center;gap:60px;padding-block:78px 100px}.eyebrow,.section-index,.meta-label,.visual-label{font:500 10px 'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase}.eyebrow{color:var(--muted);display:flex;align-items:center;gap:10px}.eyebrow-dot{width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 15px var(--cyan)}h1,h2,h3,p{margin:0}h1,h2{font-family:'Playfair Display',serif;font-weight:600;letter-spacing:-.05em}h1{font-size:clamp(3.9rem,8vw,7.8rem);line-height:.92;margin:28px 0 26px}h1 em,h2 em,.visual-word em{font-style:italic;background:linear-gradient(100deg,var(--violet),var(--cyan));background-clip:text;-webkit-background-clip:text;color:transparent}.hero-description{max-width:450px;font-size:16px;line-height:1.75;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:35px}.button{display:inline-flex;align-items:center;gap:24px;border-radius:99px;padding:15px 19px;font-size:12px;font-weight:700}.button-primary{background:var(--ink);color:var(--bg);transition:transform .25s,box-shadow .25s}.button-primary:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(243,240,234,.14)}.button-primary span{color:var(--violet);font-size:16px}.text-link{font-size:12px;font-weight:700;display:inline-flex;gap:12px;align-items:center}.text-link span,.card-link span{color:var(--cyan);font-size:16px;transition:transform .25s}.text-link:hover span,.card-link:hover span{transform:translateX(4px)}.hero-meta{display:flex;gap:42px;margin-top:65px;padding-top:18px;border-top:1px solid var(--line);max-width:450px}.hero-meta div{display:flex;flex-direction:column;gap:7px}.meta-label{color:var(--muted);font-size:9px}.hero-meta strong{font-size:12px}.hero-portrait{position:relative;justify-self:end;width:min(100%,450px)}.portrait-frame{aspect-ratio:4/5;overflow:hidden;border-radius:210px 210px 22px 22px;background:linear-gradient(150deg,rgba(139,92,246,.8),rgba(94,234,212,.6));padding:8px;transform:rotate(3deg)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:202px 202px 16px 16px;filter:saturate(.76) contrast(1.05)}.portrait-note{position:absolute;bottom:34px;left:-34px;display:flex;gap:12px;align-items:center;font:11px/1.5 'DM Mono',monospace;color:var(--ink);transform:rotate(-5deg)}.note-line{display:block;width:32px;height:1px;background:var(--cyan)}.orbit{position:absolute;border:1px solid rgba(94,234,212,.35);border-radius:50%;pointer-events:none}.orbit-one{inset:-22px -34px 21px -40px;transform:rotate(-13deg)}.orbit-two{inset:18px -50px -21px -4px;transform:rotate(36deg);border-color:rgba(139,92,246,.45)}.marquee{border-block:1px solid var(--line);overflow:hidden;padding:17px 0;background:rgba(255,255,255,.015)}.marquee-track{display:flex;justify-content:space-around;align-items:center;min-width:1000px;animation:marquee 26s linear infinite;color:var(--muted);font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.2em}.marquee i{font-style:normal;color:var(--violet);font-size:14px}.content-section{padding-block:145px}.section-heading{max-width:790px}.section-index{color:var(--cyan);margin-bottom:22px}.section-heading h2,.tools-copy h2,.about-copy h2{font-size:clamp(2.7rem,5vw,5.3rem);line-height:1.02}.section-intro{color:var(--muted);font-size:14px;line-height:1.7;max-width:280px;margin-top:28px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:70px}.service-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px;min-height:305px;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,background .3s}.service-card:hover{transform:translateY(-6px);border-color:rgba(94,234,212,.45);background:var(--surface-2)}.service-card-accent{background:linear-gradient(145deg,#171525,#151c20);border-color:rgba(139,92,246,.34)}.service-top{display:flex;justify-content:space-between;color:var(--muted)}.service-number{font:11px 'DM Mono',monospace}.service-icon{font-size:25px;color:var(--cyan)}.service-card h3{font:600 30px 'Playfair Display',serif;margin-top:65px;letter-spacing:-.04em}.service-card p{font-size:13px;line-height:1.7;color:var(--muted);max-width:380px;margin-top:10px}.card-link{display:inline-flex;gap:12px;align-items:center;font-size:11px;font-weight:700;margin-top:auto}.tools-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;border-top:1px solid var(--line)}.tools-list{border-top:1px solid var(--line)}.tool-row{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:12px;padding:21px 0;border-bottom:1px solid var(--line)}.tool-row span,.tool-row small{font:10px 'DM Mono',monospace;color:var(--muted)}.tool-row strong{font-size:14px}.tool-row small{text-align:right}.split-heading{display:grid;grid-template-columns:1fr 250px;gap:70px;align-items:end;max-width:none}.work-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:62px}.work-card{min-width:0}.work-card-large{grid-row:span 2}.work-visual{min-height:280px;border-radius:18px;overflow:hidden;position:relative;padding:22px}.work-card-large .work-visual{min-height:580px}.visual-purple{background:linear-gradient(135deg,#2b1a55,#6b4bd4 60%,#a88dfc)}.visual-cyan{background:linear-gradient(135deg,#0c2a2e,#277c83 60%,#80e4d0)}.visual-orange{background:linear-gradient(135deg,#4a1f28,#bb5b59 60%,#ffbd7c)}.visual-label{position:relative;z-index:1;color:rgba(255,255,255,.7);font-size:9px}.visual-word{position:absolute;left:31px;bottom:32px;font:600 clamp(3.5rem,7vw,7.5rem)/.83 'Playfair Display',serif;letter-spacing:-.08em;color:#fff}.small-word{font-size:clamp(2.7rem,4vw,4.5rem);left:25px;bottom:25px}.shape-star{position:absolute;right:12%;top:25%;font-size:clamp(7rem,17vw,16rem);line-height:1;color:rgba(255,255,255,.12);transform:rotate(22deg)}.visual-circle{position:absolute;width:220px;height:220px;border-radius:50%;border:30px solid rgba(255,255,255,.2);right:-35px;top:44px}.visual-bars{display:flex;gap:10px;align-items:end;height:145px;position:absolute;right:35px;top:55px}.visual-bars i{width:26px;background:rgba(255,255,255,.28);height:55px;border-radius:99px}.visual-bars i:nth-child(2){height:95px}.visual-bars i:nth-child(3){height:130px}.visual-bars i:nth-child(4){height:76px}.work-info{display:flex;justify-content:space-between;gap:15px;padding:17px 3px}.work-info h3{font-size:13px}.work-info p{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.work-arrow{color:var(--cyan)}.about-section{display:grid;grid-template-columns:.8fr 1fr;gap:110px;align-items:center;padding-block:80px 150px}.about-image{position:relative;max-width:350px}.about-image img{width:100%;aspect-ratio:1/1.15;object-fit:cover;object-position:center top;border-radius:18px;filter:grayscale(.35) saturate(.7)}.image-caption{position:absolute;bottom:-27px;right:-55px;border:1px solid var(--line);background:var(--surface);padding:15px 18px;font:10px/1.5 'DM Mono',monospace;color:var(--muted);transform:rotate(4deg)}.about-copy p:not(.section-index){color:var(--muted);font-size:14px;line-height:1.8;max-width:450px;margin-top:25px}.about-copy .text-link{margin-top:33px}.contact-section{padding-block:70px 110px}.contact-card{padding:50px 0;display:flex;align-items:end;justify-content:space-between;gap:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-card h2{font-size:clamp(3.2rem,7vw,7rem);line-height:.9}.contact-card p:not(.section-index){color:var(--muted);font-size:14px;line-height:1.7;max-width:300px;margin-top:24px}.contact-email{font:600 clamp(1rem,2vw,1.45rem) Manrope,sans-serif;border-bottom:1px solid var(--cyan);padding-bottom:10px;white-space:nowrap}.contact-email span{font-size:20px;color:var(--cyan);margin-left:20px}.contact-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-links a{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);transition:color .2s,border-color .2s}.contact-links a:hover{color:var(--ink);border-color:var(--cyan)}.contact-links a span:last-child{color:var(--cyan)}.site-footer{border-top:1px solid var(--line);padding-block:25px 35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer p,.back-top{font:10px 'DM Mono',monospace;color:var(--muted)}.back-top:hover{color:var(--cyan)}.reveal{animation:reveal .8s both}.reveal-delay{animation-delay:.13s}@keyframes reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translate(30px,25px) scale(1.08)}}@keyframes marquee{to{transform:translateX(-25%)}}@media(max-width:760px){.section-shell,.site-header{width:min(calc(100% - 36px),var(--max))}.site-header{padding:18px 0}.menu-toggle{display:flex;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{display:block;width:23px;height:1px;background:var(--ink)}.nav-links{display:none;position:absolute;top:72px;left:0;right:0;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:flex-start;gap:18px}.nav-links.is-open{display:flex}.hero{display:flex;flex-direction:column;align-items:stretch;gap:42px;padding-block:62px 80px}.hero h1{font-size:clamp(3.7rem,16vw,5.4rem)}.hero-description{font-size:14px}.hero-meta{margin-top:48px}.hero-portrait{width:78%;align-self:flex-end}.portrait-note{left:-24px}.content-section{padding-block:90px}.section-heading h2,.tools-copy h2,.about-copy h2{font-size:clamp(2.7rem,13vw,4.5rem)}.service-grid,.tools-section,.work-grid,.about-section{grid-template-columns:1fr;gap:16px}.service-grid{margin-top:45px}.service-card{min-height:280px}.tools-section{gap:45px}.split-heading{display:block}.split-heading .section-intro{margin-top:25px}.work-grid{margin-top:45px}.work-card-large{grid-row:auto}.work-card-large .work-visual{min-height:400px}.work-visual{min-height:230px}.about-section{gap:60px;padding-block:35px 100px}.about-image{width:78%;justify-self:center}.contact-card{display:block}.contact-email{display:inline-block;margin-top:36px}.contact-links{grid-template-columns:1fr}.site-footer{align-items:flex-start;flex-direction:column}.site-footer p{order:3}.image-caption{right:-20px}.tool-row{grid-template-columns:35px 1fr}.tool-row small{grid-column:2;text-align:left;margin-top:-7px}.marquee-track{justify-content:flex-start;gap:30px}.contact-section{padding-top:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.ambient-one,.ambient-two,.marquee-track{animation:none}}

/* Interactive project gallery */
.gallery-section{padding-top:40px}.gallery-toolbar{display:flex;gap:9px;margin-top:38px;margin-bottom:28px}.filter-button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:10px 14px;font:10px 'DM Mono',monospace;cursor:pointer;transition:.25s}.filter-button:hover,.filter-button.is-active{color:var(--bg);background:var(--ink);border-color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.gallery-card{border:0;background:var(--surface);padding:0;border-radius:18px;overflow:hidden;text-align:left;color:var(--ink);cursor:pointer;transition:transform .3s,border-color .3s,background .3s;min-width:0}.gallery-card:hover{transform:translateY(-6px);background:var(--surface-2)}.gallery-card.is-hidden{display:none}.gallery-art{height:300px;display:block;position:relative;overflow:hidden;padding:22px}.gallery-art:after{content:"";position:absolute;inset:0;opacity:.15;background-image:linear-gradient(135deg,transparent 0 48%,rgba(255,255,255,.5) 49% 50%,transparent 51%)}.gallery-art>i,.gallery-art>small,.gallery-art>strong{position:relative;z-index:1}.gallery-art>i{font:10px 'DM Mono',monospace;font-style:normal;color:rgba(255,255,255,.75)}.gallery-art>small{position:absolute;bottom:20px;left:22px;font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.65)}.gallery-art>strong{position:absolute;bottom:48px;left:22px;font:600 clamp(2.5rem,5vw,5rem)/.84 'Playfair Display',serif;letter-spacing:-.07em;color:#fff}.gallery-art em{font-style:italic;color:rgba(255,255,255,.74)}.art-editorial{background:linear-gradient(135deg,#2b1a55,#8d6cfd 65%,#d5c9ff)}.art-editorial:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-45px;top:35px;border:32px solid rgba(255,255,255,.18)}.art-signal{background:linear-gradient(135deg,#0c2a2e,#3aa3a1 60%,#b7f3df)}.signal-ring{position:absolute;width:240px;height:240px;border-radius:50%;border:42px solid rgba(255,255,255,.22);right:-70px;top:-65px}.art-video{background:linear-gradient(135deg,#421f28,#bb5b59 54%,#ffc582);animation:videoHue 8s ease-in-out infinite}.art-motion{background:linear-gradient(135deg,#15203f,#5872e7 56%,#a5f2df);animation:videoHue 11s ease-in-out infinite reverse}.play-glyph{display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:12px;padding-left:2px;color:#fff}.video-timeline{position:absolute;right:24px;top:30px;display:flex;gap:7px;align-items:end;height:95px}.video-timeline b{display:block;width:10px;height:38px;border-radius:99px;background:rgba(255,255,255,.34);animation:equalize 1.2s ease-in-out infinite alternate}.video-timeline b:nth-child(2){height:68px;animation-delay:.25s}.video-timeline b:nth-child(3){height:88px;animation-delay:.5s}.video-timeline b:nth-child(4){height:52px;animation-delay:.75s}.motion-orb{position:absolute;border-radius:50%;filter:blur(1px);background:rgba(255,255,255,.28);animation:orbFloat 5s ease-in-out infinite}.orb-a{width:155px;height:155px;right:18%;top:12%}.orb-b{width:86px;height:86px;right:42%;top:36%;animation-delay:-2s;background:rgba(255,255,255,.46)}.gallery-card-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 18px}.gallery-card-meta span{display:flex;flex-direction:column;gap:5px}.gallery-card-meta strong{font-size:12px}.gallery-card-meta small{font-size:10px;color:var(--muted)}.gallery-card-meta b{font-size:17px;color:var(--cyan);font-weight:400}.gallery-note{font:10px 'DM Mono',monospace;color:var(--muted);margin-top:20px}.gallery-note a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}.gallery-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s}.gallery-modal.is-open{visibility:visible;opacity:1}.modal-backdrop{position:absolute;inset:0;background:rgba(5,5,8,.84);backdrop-filter:blur(9px)}.modal-panel{position:relative;z-index:1;width:min(calc(100% - 40px),900px);display:grid;grid-template-columns:1fr .8fr;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;transform:translateY(15px);transition:transform .35s}.gallery-modal.is-open .modal-panel{transform:none}.modal-close{position:absolute;right:16px;top:13px;border:0;background:rgba(11,11,16,.6);color:var(--ink);width:32px;height:32px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;z-index:2}.modal-art{min-height:390px;background:var(--surface-2);position:relative;overflow:hidden}.modal-art.art-editorial,.modal-art.art-signal,.modal-art.art-video,.modal-art.art-motion{background-size:cover}.modal-art .gallery-art{height:100%;min-height:390px}.modal-copy{padding:48px 38px;display:flex;flex-direction:column;justify-content:center}.modal-copy h3{font:600 clamp(2rem,4vw,3.5rem)/1 'Playfair Display',serif;letter-spacing:-.05em}.modal-copy>p:not(.section-index){font-size:13px;line-height:1.75;color:var(--muted);margin-top:20px}.modal-copy .button{margin-top:28px;width:max-content}.modal-copy .button-primary{background:var(--ink);color:var(--bg)}@keyframes equalize{to{transform:scaleY(.5);opacity:.5}}@keyframes orbFloat{50%{transform:translate(35px,20px) scale(1.08)}}@keyframes videoHue{50%{filter:hue-rotate(18deg) saturate(1.12)}}
@media(max-width:760px){.gallery-toolbar{overflow:auto;padding-bottom:4px}.gallery-grid{grid-template-columns:1fr}.gallery-art{height:260px}.modal-panel{grid-template-columns:1fr;width:min(calc(100% - 28px),520px);max-height:90vh;overflow:auto}.modal-art,.modal-art .gallery-art{min-height:240px;height:240px}.modal-copy{padding:30px 24px}.modal-copy .button{width:100%;justify-content:space-between}.gallery-note{line-height:1.7}}
