.about-grid{display:grid;gap:3rem}.about-plate{border:1px solid var(--border-strong);background:var(--surface);overflow:hidden}.about-monogram{display:grid;place-items:center;aspect-ratio:4/5;color:var(--accent);font-size:clamp(7rem,15vw,13rem);font-weight:600;letter-spacing:-.1em}.about-plate figcaption{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--border-strong);padding:1rem;font:.7rem var(--font-mono)}.about-plate figcaption span:last-child{color:var(--accent-2)}.about-copy{align-self:end}.about-steps{display:grid;border-top:1px solid var(--border-strong)}.about-steps li{padding:1.5rem 0;border-bottom:1px solid var(--border)}.about-steps span{color:var(--accent);font-size:clamp(3rem,7vw,6rem);line-height:1;font-weight:600;letter-spacing:-.06em}.about-steps p{margin-top:.75rem;font-size:1.25rem;font-weight:500}@media (min-width:1024px){.about-grid{grid-template-columns:.62fr 1fr;gap:6rem}}@media (min-width:768px){.about-steps{grid-template-columns:repeat(3,1fr)}.about-steps li{padding-right:2rem}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.about-monogram{animation:about-drift linear both;animation-timeline:view()}.about-steps span{animation:about-light linear both;animation-timeline:view();animation-range:entry 0 entry 80%}}}@keyframes about-drift{0%{transform:translateY(5%)}to{transform:translateY(-5%)}}@keyframes about-light{0%{opacity:.75}to{opacity:1}}.contact-word{display:inline-block;overflow:clip;vertical-align:bottom;padding-right:.22em}.contact-word>span{display:inline-block;animation:contact-rise .8s cubic-bezier(.22,1,.36,1) both}@keyframes contact-rise{0%{transform:translateY(105%)}}.contact-marquee{margin:4rem calc(50% - 50vw) 0;padding-block:.12em;color:var(--bg);font-size:clamp(3rem,10vw,10rem);font-weight:700;line-height:1.2;text-transform:uppercase;white-space:nowrap;-webkit-text-stroke:2px var(--accent);paint-order:stroke fill}.contact-marquee span{padding-right:.28em}.contact-channel{position:relative;isolation:isolate;overflow:hidden;transition:color .2s}.contact-channel:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);transform:translateY(101%)}.contact-arrow,.contact-channel .roll-text,.contact-channel:before{transition:transform .3s cubic-bezier(.22,1,.36,1)}.contact-form label{transition:color .2s}.contact-form div:focus-within>div>label,.contact-form div:focus-within>label{color:var(--accent-2)}.contact-field{background-image:linear-gradient(var(--accent),var(--accent));background-position:bottom;background-size:100% 2px;background-repeat:no-repeat}.contact-error{animation:contact-shake .25s}@keyframes contact-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.contact-spinner{display:inline-block;width:1em;height:1em;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:contact-spin .7s linear infinite}@keyframes contact-spin{to{transform:rotate(1turn)}}.contact-check path{stroke-dasharray:24;animation:contact-check .6s cubic-bezier(.22,1,.36,1) both}@keyframes contact-check{0%{stroke-dashoffset:24}}@media (hover:hover) and (pointer:fine){.contact-channel:hover{color:var(--accent-ink)}.contact-channel:hover:before{transform:translateY(0)}.contact-channel:hover .roll-text{transform:translateX(.75rem)}.contact-channel:hover .contact-arrow{color:var(--accent-ink);transform:translateX(-.75rem) rotate(45deg)}}@media (prefers-reduced-motion:reduce){.contact-check path,.contact-error,.contact-spinner,.contact-word>span{animation:none}.contact-arrow,.contact-channel .roll-text,.contact-channel:before,.contact-form label{transition:none}}@media (scripting:none){.contact-word>span{animation:none}}.contact-form label{position:relative}.contact-form label:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.contact-form div:focus-within>div>label:after,.contact-form div:focus-within>label:after{transform:scaleX(1)}.contact-field{background-image:none}.contact-count{font-variant-numeric:tabular-nums;transition:color .2s}.contact-form div:focus-within>.contact-count{color:var(--accent-2)}@media (prefers-reduced-motion:reduce){.contact-count,.contact-form label:after{transition:none}}.hero{--hero-scroll:0}.hero-grid{transform:translate3d(0,calc(var(--hero-scroll) * 45px),0);mask-image:radial-gradient(ellipse at 70% 40%,black 10%,transparent 75%)}.hero-name{font-size:clamp(3rem,11.8vw,10rem);line-height:.86;transform:translate3d(0,calc(var(--hero-scroll) * -32px),0) scale(calc(1 - var(--hero-scroll) * .035));transform-origin:left center}.hero-word{display:block;white-space:nowrap}.hero-letter-mask{overflow:clip;vertical-align:top;padding-top:.08em;margin-top:-.08em}.hero-letter,.hero-letter-entry,.hero-letter-mask{display:inline-block}html:not([data-intro]) .hero-letter-entry,html[data-intro=done] .hero-letter-entry{animation:hero-rise .9s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--letter-index) * 35ms)}@keyframes hero-rise{0%{transform:translate3d(0,110%,0)}}.hero-graphic{transform:translate3d(0,calc(var(--hero-scroll) * -65px),0)}.hero-svg{overflow:visible}.hero-layer{transform-box:fill-box;transform-origin:center;animation:hero-float 7s ease-in-out infinite}.hero-layer-300{animation-duration:8s;animation-delay:-2s}.hero-layer-480{animation-duration:9s;animation-delay:-4s}@keyframes hero-float{50%{transform:translate3d(0,-10px,0)}}.hero-primary{color:var(--accent-ink)}.hero-footer{padding:1rem 5.5rem 1rem 0}.hero-marquee{font-size:clamp(2.5rem,6vw,6rem);font-weight:600;line-height:1.2;letter-spacing:-.03em;color:var(--bg);-webkit-text-stroke:2px var(--border-strong);paint-order:stroke fill}.hero-marquee-content{white-space:nowrap}.hero-separator{color:var(--accent);-webkit-text-stroke:0}.hero-scroll-link{display:inline-flex;align-items:center;gap:.75rem;margin-left:1.25rem}@media (min-width:640px){.hero-scroll-link{margin-left:max(2rem,calc((100% + 5.5rem - 80rem) / 2 + 2rem))}}.hero-scroll-line{display:block;width:2rem;height:1px;background:var(--accent);transform-origin:left;animation:hero-line 2s cubic-bezier(.77,0,.175,1) infinite}@keyframes hero-line{50%{transform:scaleX(.35)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero-letter{transition:transform .2s cubic-bezier(.22,1,.36,1),color .2s}.hero-letter.is-near{color:var(--accent);transform:translate3d(0,-.08em,0)}.hero-layer-120{translate:calc(var(--pointer-x, 0px) * .35) calc(var(--pointer-y, 0px) * .35)}.hero-layer-300{translate:calc(var(--pointer-x, 0px) * .7) calc(var(--pointer-y, 0px) * .7)}.hero-layer-480{translate:var(--pointer-x,0) var(--pointer-y,0)}}@media (max-width:639px){.hero-name{font-size:clamp(2.8rem,14.5vw,5rem)}.hero-graphic{max-width:21rem}}@media (prefers-reduced-motion:reduce){.hero-graphic,.hero-grid,.hero-name{transform:none}.hero-layer,.hero-scroll-line,html:not([data-intro]) .hero-letter-entry,html[data-intro=done] .hero-letter-entry{animation:none}}@media (scripting:none){.hero-letter-entry{animation:none!important}}.project-empty{border-style:dashed}.project-cursor{position:absolute;right:8%;top:.5rem;color:var(--accent-2);font:.7rem var(--font-mono)}@media (min-width:640px){.project-cursor{top:1.25rem}}.project-frame{clip-path:inset(0)}.project-image{transition:transform .8s cubic-bezier(.22,1,.36,1)}@media (hover:hover) and (pointer:fine){.project-card:hover .project-image{transform:scale(1.04)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.project-empty svg{animation:project-draw linear both;animation-timeline:view();animation-range:entry 0 entry 90%}.project-frame{animation:project-reveal linear both;animation-timeline:view();animation-range:entry 0 entry 80%}.project-image{animation:project-parallax linear both;animation-timeline:view()}}}@keyframes project-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes project-reveal{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes project-parallax{0%{transform:scale(1.04) translateY(-1%)}to{transform:scale(1.04) translateY(1%)}}@media (prefers-reduced-motion:reduce){.project-image{transition:none}}.service-list{border-top:1px solid var(--border-strong)}.service-row{position:relative;border-bottom:1px solid var(--border-strong);isolation:isolate;transition:color .25s cubic-bezier(.22,1,.36,1)}.service-row:before{content:"";position:absolute;inset:0 -1rem;z-index:-1;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .25s cubic-bezier(.22,1,.36,1)}.service-summary{display:grid;grid-template-columns:3rem 1fr 2rem;gap:1rem;align-items:start;padding:1.5rem 0;cursor:pointer;list-style:none}.service-summary::-webkit-details-marker{display:none}.service-summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}.service-badge,.service-number{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.service-number{padding-top:.5rem}.service-badge,.service-number{color:var(--accent-2)}.service-title{font-size:clamp(2rem,5.2vw,5rem);font-weight:600;line-height:1;letter-spacing:-.05em;overflow-wrap:anywhere}.service-badge{display:block;margin-top:.8rem;letter-spacing:.08em}.service-arrow{font-size:1.8rem;transition:transform .25s cubic-bezier(.22,1,.36,1)}.service-row[open] .service-arrow{transform:rotate(45deg)}.service-content{display:grid;gap:2rem;padding:0 0 2rem 4rem;max-width:65rem}.service-content p{max-width:38rem;font-size:1.125rem}.service-content ul{margin-top:1.5rem;list-style:none}.service-content li{border-top:1px solid;padding:.65rem 0}.service-illustration{width:min(100%,13rem)}.service-cta,.service-item{transform-box:fill-box;transform-origin:center;transition:transform .25s cubic-bezier(.22,1,.36,1)}@media (min-width:768px){.service-summary{grid-template-columns:5rem 1fr 3rem;padding:2rem 0}.service-content{grid-template-columns:1fr 13rem;padding-left:6rem}}@media (hover:hover) and (pointer:fine){.service-row:has(:focus-visible):before,.service-row:hover:before{transform:scaleY(1)}.service-row:has(:focus-visible),.service-row:hover{color:var(--accent-ink)}.service-row:is(:hover,:has(:focus-visible)) :is(.service-number,.service-badge,.service-content a){color:inherit;outline-color:currentColor}.service-row:hover .service-item{transform:translate(70px,8px) scale(.6)}.service-row:hover .service-cta{transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.service-arrow,.service-cta,.service-item,.service-row,.service-row:before{transition:none}}.faq-item{position:relative}.faq-item:after{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1)}.faq-item.is-open:after{transform:scaleX(1)}.faq-question{transition:transform .2s cubic-bezier(.22,1,.36,1)}.faq-answer:not([hidden]){animation:faq-answer-in .35s cubic-bezier(.22,1,.36,1) both}@keyframes faq-answer-in{0%{opacity:0;transform:translateY(-8px)}}@media (hover:hover) and (pointer:fine){.faq-item button:hover .faq-question{transform:translateX(8px)}}@media (prefers-reduced-motion:reduce){.faq-icon,.faq-item:after,.faq-question{transition:none}.faq-answer:not([hidden]){animation:none}}