html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}:root{--bg: #0a0a09;--bg-alt: #111110;--bg-elevated: #161614;--bg-elevated-hi: #1d1c19;--ink: #f3f1ea;--ink-soft: #a09b8e;--ink-faint: #6a665c;--line: #22211d;--line-strong: #3a3730;--accent: #d8c9a3;--invert-bg: #f3f1ea;--invert-ink: #0a0a09;--invert-ink-soft: #4a4740}html,body{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55;letter-spacing:-.005em}body{min-height:100vh;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.85 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:240px 240px}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--ink));transform-origin:0 50%;transform:scaleX(0);z-index:200;pointer-events:none}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 28px}.section{padding:clamp(96px,13vw,180px) 0;border-top:1px solid var(--line);position:relative}.section-alt{background:var(--bg-alt)}.section-invert{background:var(--invert-bg);color:var(--invert-ink);border-top:none}.section-invert .display{color:var(--invert-ink)}.section-invert .display em{color:var(--invert-ink-soft)}.display,.display-sm{font-family:"Instrument Serif",Playfair Display,Georgia,serif;font-weight:400;letter-spacing:-.02em;line-height:1.02;color:var(--ink)}.display{font-size:clamp(52px,8.5vw,124px)}.display em{font-style:italic;color:var(--ink-faint)}.display-sm{font-size:clamp(34px,5.4vw,72px);line-height:1.05}.eyebrow{font-family:Inter,sans-serif;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:28px;display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:24px;height:1px;background:var(--line-strong)}.section-invert .eyebrow{color:var(--invert-ink-soft)}.section-invert .eyebrow:before{background:var(--invert-ink-soft)}.lede{font-size:clamp(17px,1.6vw,21px);color:var(--ink-soft);max-width:620px;margin-top:32px;line-height:1.55}.word{display:inline-block;opacity:0;will-change:opacity,transform}.split-words .word{transform:translateY(28px)}.split-words-right .word{transform:translate(24px)}.nav{position:sticky;top:0;z-index:50;background:#0a0a09b3;backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line);transition:border-color .3s ease,background .3s ease}.nav-inner{width:100%;max-width:1240px;margin:0 auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:"Instrument Serif",serif;font-size:28px;letter-spacing:-.02em;color:var(--ink);position:relative}.nav-links{display:flex;gap:36px;align-items:center;font-size:14px}.nav-links a:not(.nav-cta){color:var(--ink-soft);position:relative;padding:4px 0;transition:color .25s ease}.nav-links a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--ink);transition:right .4s cubic-bezier(.65,0,.35,1)}.nav-links a:not(.nav-cta):hover{color:var(--ink)}.nav-links a:not(.nav-cta):hover:after{right:0}.nav-cta{background:var(--ink);color:var(--bg)!important;padding:11px 20px;border-radius:999px;font-weight:500;transition:background .25s ease,color .25s ease,box-shadow .3s ease}.nav-cta:hover{background:var(--accent);box-shadow:0 8px 30px -10px #d8c9a380}.btn{display:inline-flex;align-items:center;gap:10px;padding:17px 30px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:-.005em;border:1px solid transparent;position:relative;transition:background .3s ease,color .3s ease,box-shadow .4s ease,border-color .3s ease}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--accent);box-shadow:0 12px 40px -12px #d8c9a38c}.btn-light{background:var(--invert-ink);color:var(--invert-bg)}.btn-light:hover{background:var(--ink);box-shadow:0 12px 40px -12px #14140f66}.btn-text{font-size:15px;font-weight:500;color:var(--ink);position:relative;padding:4px 2px;display:inline-flex;align-items:center;gap:8px;transition:gap .3s ease}.btn-text:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .4s cubic-bezier(.65,0,.35,1)}.btn-text:hover{gap:14px}.btn-text:hover:after{right:0}.section-invert .btn-text{color:var(--invert-ink)}.hero{padding:clamp(120px,16vw,200px) 0 clamp(80px,10vw,130px);border-top:none;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:-10% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle at center,rgba(216,201,163,.08),transparent 60%);pointer-events:none;z-index:0}.hero .container{position:relative;z-index:1}.hero .display{margin-top:12px}.hero-actions{margin-top:56px;display:flex;gap:32px;align-items:center;flex-wrap:wrap}.hero-meta{margin-top:clamp(72px,10vw,130px);padding-top:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px;color:var(--ink-soft);flex-wrap:wrap;gap:12px}.hero-meta span{display:inline-flex;align-items:center;gap:8px}.hero-meta .dot{width:7px;height:7px;border-radius:50%;background:#6fc78a;box-shadow:0 0 0 4px #6fc78a29;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #6fc78a29}50%{box-shadow:0 0 0 6px #6fc78a0f}}.section-head{display:flex;flex-direction:column;margin-bottom:clamp(56px,7vw,96px);max-width:920px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{background:var(--bg-elevated);border:1px solid var(--line);border-radius:8px;padding:40px 36px;display:flex;flex-direction:column;gap:18px;transition:background .45s cubic-bezier(.22,1,.36,1),border-color .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.service:after{content:"";position:absolute;inset:auto -40% -60% auto;width:60%;height:80%;background:radial-gradient(circle,rgba(216,201,163,.1),transparent 65%);opacity:0;transition:opacity .5s ease;pointer-events:none}.service:hover{background:var(--bg-elevated-hi);border-color:var(--line-strong);transform:translateY(-4px)}.service:hover:after{opacity:1}.service-num{font-family:"Instrument Serif",serif;font-size:18px;color:var(--ink-faint);font-style:italic}.service h3{font-family:"Instrument Serif",serif;font-size:34px;font-weight:400;letter-spacing:-.01em;line-height:1.1;color:var(--ink)}.service-desc{color:var(--ink-soft);font-size:15px}.service-list{display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-soft);margin:6px 0 18px}.service-list li{position:relative;padding-left:18px}.service-list li:before{content:"";position:absolute;left:0;top:9px;width:8px;height:1px;background:var(--ink-soft);transition:background .3s ease,width .3s ease}.service:hover .service-list li:before{background:var(--accent);width:12px}.service-cta{margin-top:auto;font-size:14px;font-weight:500;color:var(--ink);padding-top:16px;border-top:1px solid var(--line);align-self:stretch;display:inline-flex;align-items:center;justify-content:space-between;transition:color .3s ease,border-color .3s ease}.service-cta .arrow{display:inline-block;transition:transform .4s cubic-bezier(.22,1,.36,1)}.service:hover .service-cta{border-color:var(--ink-soft);color:var(--accent)}.service:hover .service-cta .arrow{transform:translate(6px,-2px)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.work-card{display:flex;flex-direction:column;gap:20px;position:relative}.work-thumb{width:100%;aspect-ratio:16 / 10;background-color:var(--bg-elevated);background-size:cover;background-position:center top;border:1px solid var(--line);border-radius:10px;display:flex;align-items:flex-end;justify-content:flex-start;padding:32px;overflow:hidden;position:relative;transition:border-color .45s ease,transform .8s cubic-bezier(.22,1,.36,1)}.work-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.55) 100%);pointer-events:none;z-index:0;transition:opacity .4s ease}.work-thumb:not([style*=background-image]):before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}.work-card:hover .work-thumb{transform:scale(1.015)}.work-id{font-family:"Instrument Serif",serif;font-size:64px;font-style:italic;color:#f3f1ea80;position:relative;z-index:1;transition:color .4s ease,transform .6s cubic-bezier(.22,1,.36,1)}.work-card:hover .work-thumb{border-color:var(--line-strong)}.work-card:hover .work-thumb:before{transform:scale(1.06);opacity:.7}.work-card:hover .work-id{color:var(--accent);transform:translateY(-4px)}.work-visit{position:absolute;left:0;right:0;bottom:0;padding:16px 24px;background:linear-gradient(to top,#0a0a09d9,#0a0a0900);color:var(--ink);font-size:13px;font-weight:500;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;transform:translateY(100%);opacity:0;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s ease;z-index:2}.work-card:hover .work-visit{transform:translateY(0);opacity:1}.work-visit .arrow{transition:transform .4s ease}.work-card:hover .work-visit .arrow{transform:translate(4px,-3px)}.work-live{position:absolute;top:18px;right:18px;z-index:2;font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:#14140f8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(243,241,234,.16)}.work-live:before{content:"";width:6px;height:6px;border-radius:50%;background:#6fc78a;box-shadow:0 0 0 3px #6fc78a33}.work-meta{display:flex;flex-direction:column;gap:6px}.work-meta h3{font-family:"Instrument Serif",serif;font-size:30px;font-weight:400;letter-spacing:-.01em;color:var(--ink);display:inline-flex;align-items:center;gap:12px;transition:color .3s ease}.work-meta h3 .arrow{font-size:16px;opacity:0;transform:translate(-8px);transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1);color:var(--accent)}.work-card:hover .work-meta h3 .arrow{opacity:1;transform:translateY(-2px)}.work-meta p{font-size:13px;color:var(--ink-soft)}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;border-top:1px solid var(--line);padding-top:56px}.process li{display:flex;flex-direction:column;gap:14px;padding-right:24px;border-right:1px solid var(--line);transition:border-color .4s ease}.process li:last-child{border-right:none}.process li:hover{border-color:var(--ink-soft)}.proc-num{font-family:"Instrument Serif",serif;font-size:18px;font-style:italic;color:var(--accent)}.process h3{font-family:"Instrument Serif",serif;font-size:34px;font-weight:400;letter-spacing:-.01em;color:var(--ink)}.process p{font-size:15px;color:var(--ink-soft);max-width:320px;line-height:1.6}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:start}.about-body p{font-size:17px;color:var(--ink-soft);line-height:1.75;margin-bottom:22px}.about-stats{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line);padding-top:32px}.about-stats dt{font-size:12px;color:var(--ink-faint);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}.about-stats dd{font-family:"Instrument Serif",serif;font-size:26px;color:var(--ink)}.contact{text-align:center;padding:clamp(40px,6vw,80px) 0}.contact-lede{font-size:clamp(17px,1.6vw,21px);color:var(--invert-ink-soft);max-width:560px;margin:32px auto 0}.contact-actions{margin-top:56px;display:flex;gap:32px;justify-content:center;align-items:center;flex-wrap:wrap}.footer{border-top:1px solid var(--line);background:var(--bg);padding:36px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer-meta{font-size:13px;color:var(--ink-soft)}.reveal{opacity:0;transform:translateY(36px);will-change:opacity,transform}html:not(.motion-ready) .reveal{animation:revealFallback 0s linear 1.5s forwards}html:not(.motion-ready) .word{animation:revealFallback 0s linear 1.5s forwards}@keyframes revealFallback{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.reveal,.word{opacity:1!important;transform:none!important}.hero-meta .dot{animation:none}}@media(max-width:900px){.nav-links a:not(.nav-cta){display:none}.services-grid,.work-grid{grid-template-columns:1fr}.process{grid-template-columns:1fr;gap:36px;padding-top:36px}.process li{border-right:none;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:28px}.process li:last-child{border-bottom:none;padding-bottom:0}.about-grid{grid-template-columns:1fr}}@media(max-width:540px){.container{padding:0 22px}.nav-inner{padding:16px 22px}.hero-actions{gap:20px}.btn{padding:15px 24px;font-size:14px}.about-stats{grid-template-columns:1fr;gap:16px}.about-stats>div{padding-bottom:16px;border-bottom:1px solid var(--line)}.about-stats>div:last-child{border-bottom:none;padding-bottom:0}.work-id{font-size:48px}.service{padding:32px 28px}}.cursor{position:fixed;top:0;left:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--ink);pointer-events:none;z-index:9999;mix-blend-mode:difference;display:flex;align-items:center;justify-content:center;transition:width .35s cubic-bezier(.22,1,.36,1),height .35s cubic-bezier(.22,1,.36,1),margin .35s cubic-bezier(.22,1,.36,1),background .25s ease;will-change:transform}.cursor-label{font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--bg);opacity:0;transition:opacity .25s ease;white-space:nowrap;pointer-events:none}.cursor.is-hover{width:26px;height:26px;margin:-13px 0 0 -13px}.cursor.is-text{width:70px;height:70px;margin:-35px 0 0 -35px;background:#f3f1ea0f;border:1px solid var(--ink)}.cursor.is-view{width:88px;height:88px;margin:-44px 0 0 -44px;background:var(--ink)}.cursor.is-view .cursor-label{opacity:1}@media(hover:none),(pointer:coarse){.cursor{display:none}}@media(hover:hover)and (pointer:fine){body,body *{cursor:none!important}}@media(prefers-reduced-motion:reduce){.cursor{display:none}body,body *{cursor:auto!important}}.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;background:var(--bg-alt)}.marquee-track{display:flex;width:max-content;animation:marquee 32s linear infinite}.marquee-row{display:flex;gap:56px;padding-right:56px;flex-shrink:0;font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(22px,2.6vw,32px);color:var(--ink-soft);align-items:center}.marquee-row span.dot{font-style:normal;color:var(--ink-faint);font-size:.7em}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee:hover .marquee-track{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}.hero-ribbon{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.55;-webkit-mask-image:linear-gradient(180deg,transparent 0%,transparent 32%,rgba(0,0,0,.6) 50%,black 70%,black 92%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,transparent 32%,rgba(0,0,0,.6) 50%,black 70%,black 92%,transparent 100%)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(10,10,9,.7) 28%,transparent 55%);pointer-events:none;z-index:1}.hero .container,.hero .hero-meta{position:relative;z-index:2}
