:root{--color-bg: #1a1a1a;--color-text: #ffffff;--color-text-muted: #999999;--color-border: rgba(255, 255, 255, .12);--color-border-hover: rgba(255, 255, 255, .22);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--letter-display: .22em;--letter-tight: .12em;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.75rem;--space-lg: 3rem;--space-xl: 5rem;--space-2xl: 7rem;--max-width: 72rem;--max-width-narrow: 40rem;--logo-max: 180px;--radius-sm: 6px;--radius-md: 10px;--font-display: "Space Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--bg-motif-solid: rgba(255, 255, 255, .038);--bg-motif-soft: rgba(255, 255, 255, .022)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;position:relative;isolation:isolate;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;line-height:1.6;font-weight:400;opacity:1;visibility:visible;transition:opacity .2s ease-in}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-color:var(--color-bg);background-image:linear-gradient(14deg,var(--bg-motif-solid) 0%,transparent 62%),linear-gradient(198deg,transparent 38%,var(--bg-motif-soft) 100%);background-size:100% 100%;background-position:0 0;background-repeat:no-repeat}.wrap{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-md)}.wrap--narrow{max-width:var(--max-width-narrow)}.hero{padding-block:var(--space-2xl) var(--space-lg)}.hero .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-lg)}.hero__brand{container-type:inline-size;container-name:hero-brand;display:flex;flex-direction:column;align-items:center;width:min(100%,var(--logo-max));max-width:var(--logo-max)}.hero__plane-stage{position:relative;width:100%;aspect-ratio:180 / 95;flex-shrink:0}.hero__plane{position:absolute;left:0;top:0;width:100%;height:auto;opacity:0;transform-origin:50% 50%}.hero__plane svg{display:block;width:100%;height:auto}.hero__rule{display:block;width:100%;height:auto;margin-top:calc(100cqw * 17 / 180);flex-shrink:0}.hero__wordmark{display:flex;flex-direction:column;align-items:center;margin:0;margin-top:calc(100cqw * 11 / 180);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;text-align:center;text-transform:uppercase}.hero__wordmark-primary{display:block;font-size:calc(100cqw * 16 / 180);font-weight:500;letter-spacing:calc(100cqw * 5 / 180);line-height:1;color:var(--color-text)}.hero__wordmark-secondary{display:block;margin-top:calc(100cqw * 10 / 180);font-size:5cqw;font-weight:400;letter-spacing:calc(100cqw * 3.5 / 180);line-height:1;color:var(--color-text-muted)}.hero__tagline{margin:0;max-width:30rem;font-family:var(--font-display);font-weight:300;color:var(--color-text);font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);letter-spacing:.1em}.hero__sub{margin:.65rem auto 0;max-width:34rem;color:var(--color-text-muted);font-size:clamp(.9375rem,.9rem + .2vw,1rem);letter-spacing:.02em;line-height:1.7}.hero__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm)}.hero-fade{opacity:0;transform:translateY(10px)}.section{padding-block:var(--space-xl)}.section--portfolio{padding-block:var(--space-md)}.section--portfolio+.section--portfolio{padding-block-start:0}.section--services,.section--about,.section--contact{padding-block-start:var(--space-lg);padding-block-end:var(--space-lg)}.section__title{margin:0 0 var(--space-md);font-size:clamp(.6875rem,.65rem + .15vw,.75rem);font-weight:500;letter-spacing:var(--letter-display);text-transform:uppercase;color:var(--color-text-muted)}.services{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-sm)}@media(min-width:640px){.services{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}}.services__item{position:relative;margin:0;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg,#ffffff09,#ffffff03);transition:border-color .25s ease,transform .25s ease,background .25s ease,box-shadow .25s ease}.services__item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:radial-gradient(220px circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.08),transparent 65%);opacity:0;transition:opacity .35s ease;pointer-events:none}.services__content{position:relative;z-index:1}@media(hover:hover)and (pointer:fine){.services__item:hover:before{opacity:1}}.services__head{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.services__icon{flex-shrink:0;width:1.5rem;height:1.5rem;color:var(--color-text-muted);transition:color .25s ease,transform .25s ease}.services__icon svg{display:block;width:100%;height:100%}.services__content{min-width:0}@media(hover:hover)and (pointer:fine){.services__item:hover{border-color:var(--color-border-hover);translate:0 -6px;scale:1.03;background:linear-gradient(180deg,#ffffff0d,#ffffff05);box-shadow:0 16px 34px #00000073}.services__item:hover .services__icon{color:var(--color-text);transform:translateY(-2px) scale(1.08)}}.services__name{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:var(--letter-tight);color:var(--color-text)}.services__text{margin:0;font-size:1rem;color:var(--color-text-muted);line-height:1.6}.work{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-border)}.work__item{border-bottom:1px solid var(--color-border)}.work__row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.25rem var(--space-md);padding:1.35rem .5rem;border-radius:var(--radius-sm);transition:background-color .25s ease}@media(min-width:760px){.work__row{grid-template-columns:17rem 1fr auto}.work__name{white-space:nowrap}}@media(hover:hover)and (pointer:fine){.work__item:hover .work__row{background:#ffffff06}.work__item:hover .work__name{transform:translate(4px)}}.work__name{font-family:var(--font-display);font-weight:400;font-size:1.0625rem;letter-spacing:.04em;display:inline-block;transition:transform .25s ease;color:var(--color-text);text-decoration:none}a.work__name{border-bottom:1px solid var(--color-border);transition:transform .25s ease,border-color .25s ease}a.work__name:hover{border-bottom-color:#ffffff8c}a.work__name:after{content:"↗︎" / "";display:inline-block;margin-left:.45em;font-size:.7em;color:var(--color-text-muted);transition:transform .25s ease,color .25s ease}a.work__name:hover:after{transform:translate(2px,-2px);color:var(--color-text)}.work__desc{color:var(--color-text-muted);font-size:.9375rem;line-height:1.55;grid-column:1 / -1}@media(min-width:760px){.work__desc{grid-column:auto}}.work__tag{font-size:.6875rem;letter-spacing:var(--letter-display);text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;justify-self:end;text-decoration:none}a.work__tag{border-bottom:1px solid var(--color-border);transition:color .25s ease,border-color .25s ease}a.work__tag:hover{color:var(--color-text);border-bottom-color:#ffffff8c}a.work__tag:after{content:"↗︎" / "";margin-left:.4em;font-size:.9em}.work__logo{display:inline-block;height:20px;width:auto;max-width:100px;object-fit:contain;vertical-align:-4px;margin-right:.6em;opacity:.9;transition:opacity .25s ease}.work__item:hover .work__logo{opacity:1}.work__more{display:inline-block;margin-top:var(--space-md);color:var(--color-text);text-decoration:none;font-size:.8125rem;letter-spacing:.08em;border-bottom:1px solid var(--color-border-hover);padding-bottom:2px;transition:border-color .25s ease}.work__more:hover{border-color:var(--color-text)}.work__more-arrow{display:inline-block;transition:transform .25s ease}.work__more:hover .work__more-arrow{transform:translate(4px)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:2.25rem}@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr);gap:3rem}}.steps__item{position:relative;border:1px solid var(--color-border);padding:var(--space-md);border-radius:var(--radius-md);background:linear-gradient(180deg,#ffffff09,#ffffff03);transition:border-color .25s ease,transform .25s ease,background .25s ease,box-shadow .25s ease}@media(hover:hover)and (pointer:fine){.steps__item:hover{border-color:var(--color-border-hover);translate:0 -6px;scale:1.03;background:linear-gradient(180deg,#ffffff0d,#ffffff05);box-shadow:0 16px 34px #00000073}}.steps__item+.steps__item:before{content:"";position:absolute;left:50%;top:-1.75rem;width:1px;height:1.2rem;background:#ffffff47}.steps__item+.steps__item:after{content:"";position:absolute;left:50%;top:-.8rem;width:6px;height:6px;border-right:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.5);transform:translate(-50%) rotate(45deg)}@media(min-width:760px){.steps__item+.steps__item:before{left:-2.35rem;top:50%;width:1.7rem;height:1px}.steps__item+.steps__item:after{left:-.9rem;top:50%;transform:translateY(-50%) rotate(-45deg)}}.steps__num{display:block;margin-bottom:var(--space-xs);font-family:var(--font-display);font-weight:300;font-size:1.5rem;color:var(--color-text-muted)}.steps__name{margin:0 0 var(--space-xs);font-family:var(--font-display);font-size:1rem;font-weight:400;letter-spacing:var(--letter-tight);color:var(--color-text)}.steps__text{margin:0;font-size:.9375rem;color:var(--color-text-muted);line-height:1.6}.about__text{margin:0;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:1.0625rem;line-height:1.75}.about__link-icon{display:inline-block;width:.85em;height:.85em;vertical-align:baseline;color:var(--color-text-muted);transition:color .15s ease}.about__link-icon svg{display:block;width:100%;height:100%}.about__link-icon:hover{color:var(--color-text)}.contact__line{margin:0}.contact__note{margin:0 0 var(--space-sm);color:var(--color-text-muted);font-size:.9375rem}.contact__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.contact__btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:44px;min-width:8.5rem;padding:.65rem 1.35rem;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:var(--letter-display);text-transform:uppercase;text-decoration:none;cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease,transform .2s ease}@media(hover:hover)and (pointer:fine){.contact__btn:hover{border-color:#ffffff73}.contact__btn--primary:hover{background:var(--color-text);color:var(--color-bg)}}.contact__btn:active{transform:scale(.98)}.contact__btn-icon{width:1.15em;height:1.15em;flex-shrink:0;margin-top:-.05em}.contact__btn:focus-visible{outline:2px solid var(--color-text);outline-offset:4px}.footer{padding-block:var(--space-lg);margin-top:0}.footer__line{margin:0;text-align:center;font-size:.8125rem;letter-spacing:.06em;color:var(--color-text-muted)}.footer__line a[x-apple-data-detectors]{color:inherit;text-decoration:none;pointer-events:none}.footer__sep{margin-inline:.35em;opacity:.6}.footer__pay{color:inherit;text-decoration:none;opacity:.55;transition:opacity .15s ease,color .15s ease}@media(hover:hover)and (pointer:fine){.footer__pay:hover{opacity:1;color:var(--color-text)}}.footer__pay:focus-visible{opacity:1;color:var(--color-text);outline:1px solid var(--color-text);outline-offset:3px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:none}.reveal-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .6s ease var(--enter-delay, 0s),transform .6s cubic-bezier(.16,1,.3,1) var(--enter-delay, 0s)}.reveal-stagger>.services__item,.reveal-stagger>.steps__item{transform-origin:center top;transform:perspective(900px) rotateX(7deg) translateY(26px);transition:opacity .6s ease var(--enter-delay, 0s),transform .6s cubic-bezier(.16,1,.3,1) var(--enter-delay, 0s),translate .32s cubic-bezier(.34,1.5,.5,1),scale .32s cubic-bezier(.34,1.5,.5,1),border-color .25s ease,background .25s ease,box-shadow .25s ease}.reveal-stagger.in>*{opacity:1;transform:none}.reveal-stagger.in>*:nth-child(2){--enter-delay: .1s}.reveal-stagger.in>*:nth-child(3){--enter-delay: .2s}.reveal-stagger.in>*:nth-child(4){--enter-delay: .3s}@media(prefers-reduced-motion:reduce){.hero__plane{opacity:1!important;transform:none!important}.hero-fade{opacity:1;transform:none}.reveal,.reveal-stagger>*{opacity:1!important;transform:none!important;transition:none!important}.services__item:hover,.steps__item:hover{translate:none;scale:none;box-shadow:none}.services__item:hover .services__icon,.work__item:hover .work__name,a.work__name:hover:after,.work__more:hover .work__more-arrow{transform:none}.contact__btn:active{transform:none}}.page-header{padding-block:var(--space-sm);border-bottom:1px solid var(--color-border)}.page-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.page-header .wrap:has(>:only-child){justify-content:flex-end}.page-header__brand{display:inline-flex;align-items:center;line-height:0;text-decoration:none}.page-header__brand-mark{display:block;width:min(15rem,88vw);height:auto;max-width:100%}.page-header__eyebrow{margin:0;line-height:1;font-size:.6875rem;font-weight:500;letter-spacing:var(--letter-display);text-transform:uppercase;color:var(--color-text-muted)}.portfolio-hero{padding-block:var(--space-xl) var(--space-lg);text-align:center}.portfolio-hero__logo{display:block;width:180px;max-width:50%;height:auto;margin:0 auto var(--space-md)}.portfolio-hero__title{margin:0 0 .5rem;font-family:Space Grotesk,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(1.875rem,1.6rem + 1.2vw,2.5rem);font-weight:300;line-height:1.05;letter-spacing:.015em;color:#f2f0ea}.portfolio-hero__subtitle{margin:0 0 var(--space-md);color:var(--color-text-muted);font-size:.8125rem;font-weight:400;letter-spacing:.28em;text-transform:uppercase;opacity:.85}.portfolio-hero__lede{max-width:62ch;margin:0 auto;color:var(--color-text-muted);font-size:1.0625rem;line-height:1.7;text-align:left;text-wrap:pretty;-webkit-hyphens:none;hyphens:none}.portfolio-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-sm)}@media(min-width:640px){.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}}@media(min-width:960px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}}.portfolio-card{margin:0;padding:var(--space-md);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-xs);transition:border-color .15s ease}@media(hover:hover)and (pointer:fine){.portfolio-card:hover{border-color:var(--color-border-hover)}}.portfolio-card__title{margin:0;font-size:.9375rem;font-weight:500;letter-spacing:var(--letter-tight);color:var(--color-text)}.portfolio-card__one-liner{margin:0;font-size:.9375rem;color:var(--color-text-muted);line-height:1.55}.portfolio-grid--featured{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:880px){.portfolio-grid--featured{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}}.portfolio-card--featured{padding:0;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:0;overflow:hidden}.portfolio-card__image-wrap{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;background:#0d0d0d;border-bottom:1px solid var(--color-border)}.portfolio-card__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block;opacity:0;transition:opacity .6s ease}.portfolio-card__image.is-current{opacity:1}.portfolio-card__title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.portfolio-card__title-logo{height:36px;width:auto;max-width:35%;object-fit:contain;flex-shrink:0}@media(max-width:600px){.portfolio-card__title-logo{height:28px}}.portfolio-card__image-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:.75rem;letter-spacing:var(--letter-display);text-transform:uppercase;color:var(--color-text-muted);background:linear-gradient(135deg,#161616,#0d0d0d)}.portfolio-card__body{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.portfolio-card--featured .portfolio-card__body{flex:1 1 auto;min-height:0}.portfolio-card--featured .portfolio-card__tags,.portfolio-card--featured .portfolio-card__links{margin-top:auto}.portfolio-card--featured .portfolio-card__tags+.portfolio-card__links{margin-top:0}.portfolio-card--featured .portfolio-card__title{font-size:1.0625rem;font-weight:600}.portfolio-card__bullets{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:.45rem;color:var(--color-text-muted);font-size:.875rem;line-height:1.55}.portfolio-card__bullets li::marker{color:var(--color-text-muted)}.portfolio-card__tags{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem .6rem;font-size:.6875rem;letter-spacing:var(--letter-display);text-transform:uppercase;color:var(--color-text-muted)}.portfolio-card__tags li:after{content:"·";margin-left:.6rem;opacity:.5}.portfolio-card__tags li:last-child:after{content:none}.portfolio-card__links{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-sm);padding-top:var(--space-xs);border-top:1px solid var(--color-border)}.portfolio-card__links a{font-size:.8125rem;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border-hover);padding-bottom:1px;transition:border-color .15s ease,color .15s ease}.portfolio-card__links a:hover{color:var(--color-accent, var(--color-text));border-bottom-color:currentColor}.portfolio-card__links span.portfolio-card__link-muted{font-size:.8125rem;color:var(--color-text-muted);font-style:italic}.gate{min-height:60vh;display:flex;align-items:center;padding-block:var(--space-xl)}.gate__form{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.gate__form .section__title{margin:0}.gate__input{width:100%;max-width:22rem;padding:.65rem .9rem;box-sizing:border-box;border:1px solid var(--color-border);background:transparent;color:var(--color-text);font-family:var(--font-sans);font-size:1rem;letter-spacing:var(--letter-tight);transition:border-color .15s ease}.gate__input:focus{outline:none;border-color:var(--color-border-hover)}.gate__input:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.gate__error{margin:0;font-size:.8125rem;color:var(--color-text-muted);letter-spacing:var(--letter-tight)}
