/* Measurements and motion parameters from the purchased Vexoo template. */
@font-face{font-family:Sauce;src:url('/assets/FU5SehNS0gqCfI1z9VMQFQ9kps.woff2');font-weight:600;font-display:swap}
@font-face{font-family:SauceTwo;src:url('/assets/MuNMZGWeNhX5Gys174fgd0zrnbE.woff2');font-weight:500;font-display:swap}
html{scroll-behavior:auto}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}
body{font-weight:500;letter-spacing:-.02em;padding-top:76px;-webkit-font-smoothing:antialiased}
body>header{position:fixed;top:0;left:0;right:0;z-index:60;grid-template-columns:160px 1fr auto 108px;transition:background .3s;isolation:isolate}
body>header:before{content:'';position:absolute;inset:0 0 -20px;z-index:-1;pointer-events:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);mask-image:linear-gradient(#000 45%,transparent);background:#0005;opacity:0;transition:opacity .3s}body.scrolled>header:before{opacity:1}
.hero-name,.hero-alternate,.page-title{font-family:SauceTwo,Arial,sans-serif;font-weight:500;letter-spacing:-.04em}
.home{min-height:708px}.hero-name,.hero-alternate{font-size:160px}.hero-stage{height:160px}.home .bento{isolation:auto}
.page{padding:48px 32px 0;margin-bottom:80px}.page-title{font-size:160px;line-height:1;margin-bottom:80px}.page-lead{font-size:48px;line-height:1.2;font-weight:500;letter-spacing:-.04em;max-width:none;width:70%;margin-bottom:48px}
.about-copy{font-size:40px;line-height:1.3;font-weight:500;letter-spacing:-.02em;margin:0 0 100px auto;width:70%}.about-copy p+p{margin-top:0}.reveal-word{display:inline-block;white-space:pre}.reveal-char{opacity:.2}.about-photo{width:35%;aspect-ratio:.8;max-height:none;object-fit:cover;margin:0 0 150px auto;border-radius:0;background:none}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;overflow:visible;padding:0;margin-bottom:150px}.quote{padding:0;min-height:0;background:none;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;display:flex;flex-direction:column}.quote p{font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.02em;margin:24px 0 12px}.quote footer{margin-top:0;font-size:14px}.fact-number{font-size:40px;line-height:1.2;font-weight:400}.experience{width:100%;margin:0}.job{padding:0;margin-bottom:48px;border:0;display:grid;grid-template-columns:27% 29% 40%;gap:2%}.job h2{font-size:24px;font-weight:600;line-height:1.2;margin-bottom:4px}.job span{font-size:16px;line-height:1.4}.job p{margin:0;font-size:16px;line-height:1.4;max-width:none;color:#fff8}
.faq-title,.faq-item{display:none}.marquee-line{font-size:80px;line-height:1.2;letter-spacing:-.04em;font-weight:500;margin:150px -32px 20px;overflow:hidden}.marquee-track{will-change:transform;animation-duration:45s}
.projects{gap:16px}.project-card{padding:16px;border-radius:24px}.project-image{aspect-ratio:1.618}.project-card .project-image img{aspect-ratio:auto;height:100%;width:100%;object-fit:cover;border-radius:0}.project-card:nth-child(3) .project-image{aspect-ratio:1.618}.project-card:nth-child(3) img{aspect-ratio:auto}.project-meta{padding:32px 24px 24px;align-items:center}.project-meta h2{font-size:24px;font-weight:600;line-height:1.2}.project-meta>span{font-size:16px;line-height:1.4;opacity:.5;color:#fff}.project-status{padding:0 24px 16px;font-size:12px;color:#fff8}.project-card:hover{background:#fff05}.project-image{transition:transform 1s var(--spring)}.project-card:hover .project-image{transform:scale(.98)}
.project-page{padding-left:0;padding-right:0;display:flex;flex-direction:column;gap:64px}.project-heading{padding:0 32px;display:flex;flex-direction:column;gap:48px}.project-title{font-family:Sauce,Arial,sans-serif;font-size:48px;line-height:1.2;font-weight:500;letter-spacing:-.04em;margin:0;overflow-wrap:normal}.project-category{font-size:20px;line-height:1.2;margin-top:12px}.project-details{padding:0 80px;display:flex;justify-content:space-between;align-items:start}.project-summary{width:35%;font-size:16px;line-height:1.4}.project-facts{display:flex;flex-direction:column;gap:16px;width:40%;margin:0;font-size:16px;line-height:1.4}.project-facts dt{font-size:16px;line-height:1.4;color:#fff8;margin-bottom:8px}.project-live{padding:0;border:0}.project-gallery{display:flex;flex-direction:column;gap:24px;padding:0 32px}.project-story{padding:0 80px;display:flex;flex-direction:column;gap:64px}.project-story section{display:flex;justify-content:space-between;gap:32px}.project-story h2{width:35%;font-size:16px;line-height:1.4}.project-story p{width:40%;font-size:16px;line-height:1.4;color:#fff8}.project-page .marquee-line{margin:0;width:100%}.project-nav{padding:0 80px;margin:0;font-size:80px;line-height:1.2;letter-spacing:-.04em}.project-nav a{display:flex;align-items:center;gap:24px}.nav-arrow{font-size:64px;transition:transform .6s cubic-bezier(.44,0,.56,1)}.project-nav a:hover .nav-arrow{transform:translateX(8px)}.project-nav a:first-child:hover .nav-arrow{transform:translateX(-8px)}
.contact-layout{display:grid;grid-template-columns:40% 60%;gap:0;margin-top:80px}.contact-details>div{margin-bottom:24px}.contact-details small{font-size:14px;line-height:1.4;margin-bottom:8px}.contact-details a{font-size:26px;line-height:1.2;font-weight:600;letter-spacing:-.02em}.contact-form{padding:48px;border-radius:32px}.field{margin-bottom:40px}.field>span,legend{font-size:16px;line-height:1.4;margin-bottom:12px}.field input,.field textarea{border-radius:12px;padding:20px 16px;background:#fff05}.form-options{grid-template-columns:1fr 1fr;gap:80px;margin-bottom:40px}.form-options legend{margin-bottom:24px}.choice{font-size:16px;line-height:1.4;margin:16px 0;gap:12px}.submit{padding:20px 24px;font-weight:600;position:relative;overflow:hidden}.submit span{transition:transform .6s cubic-bezier(.44,0,.56,1)}.submit:hover span:last-child{transform:rotate(45deg)}
.site-footer{margin:0 32px;padding:48px 0 80px;grid-template-columns:40% 30% 30%;gap:32px 0;border-color:#fff2}.footer-item:first-child{grid-row:span 2}.footer-item:nth-child(2),.footer-item:nth-child(4){grid-column:2}.footer-item:nth-child(3),.footer-item:nth-child(5){grid-column:3}.footer-item small{font-size:14px;line-height:1.4;margin-bottom:8px}.footer-item a{font-size:26px;line-height:1.2;font-weight:600;letter-spacing:-.02em}.footer-item a:hover{text-decoration:none}.company-details{border-top:1px solid #fff1;margin-top:16px;padding-top:24px}.footer-item a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .6s cubic-bezier(.44,0,.56,1)}.footer-item a:hover{background-size:100% 1px}
@media(min-width:1025px) and (max-width:1439px){.hero-name,.hero-alternate,.page-title{font-size:130px}.about-copy{font-size:38px}.page-lead{font-size:48px}.contact-form{padding:40px}.form-options{gap:40px}}
@media(min-width:700px) and (max-width:1024px){.home{height:auto;min-height:0}.hero-name,.hero-alternate,.page-title{font-size:100px}.page-lead{font-size:36px;width:100%}.about-copy{width:100%;font-size:32px;line-height:1.2}.about-photo{width:50%}.quotes{grid-template-columns:repeat(2,1fr)}.job{grid-template-columns:25% 30% 41%}.job h2{font-size:20px}.contact-layout{grid-template-columns:30% 70%}.contact-details a{font-size:18px}.form-options{gap:24px}.project-details,.project-story,.project-nav{padding:0 32px}.project-summary{width:45%}.project-facts,.project-story p{width:50%}.footer-item a{font-size:20px}.marquee-line,.project-nav{font-size:64px}}
@media(max-width:699px){body{padding-top:60px}body>header{height:60px;padding:0 16px;grid-template-columns:1fr auto 64px;gap:10px;font-size:12px}.role{display:none}.home{padding:64px 16px 16px;margin-top:16px;height:auto;min-height:0}.hero-name,.hero-alternate{font-size:clamp(38px,10.3vw,70px)}.hero-stage{height:100px}.page{padding:32px 16px 0;margin-bottom:64px}.page-title{font-size:64px;line-height:1;margin-bottom:48px}.page-lead{font-size:32px;line-height:1.2;width:100%;margin-bottom:32px}.about-copy{font-size:22px;line-height:1.3;width:100%;margin:0 0 64px}.about-photo{width:65%;margin-bottom:80px}.quotes{grid-template-columns:1fr;gap:32px;margin-bottom:80px}.quote p{font-size:22px}.job{grid-template-columns:1fr;gap:16px;margin-bottom:40px}.job p{margin:0}.job h2{font-size:22px}.marquee-line{font-size:40px;margin:80px -16px 20px}.projects{grid-template-columns:1fr;gap:16px}.project-card{padding:8px;border-radius:16px}.project-meta{padding:24px 16px 16px;gap:16px}.project-meta h2{font-size:20px}.project-meta>span{font-size:14px;max-width:48%;text-align:right}.project-status{padding:0 16px 12px}.project-card:nth-child(3){grid-column:auto}.project-page{padding:32px 0 0;gap:48px}.project-heading{padding:0 16px;gap:32px}.project-title{font-size:32px}.project-category{font-size:16px;margin-top:8px}.project-details{padding:0 16px;flex-direction:column;gap:32px}.project-summary,.project-facts{width:100%}.project-gallery{padding:0 16px;gap:16px}.project-story{padding:0 16px;gap:40px}.project-story section{flex-direction:column;gap:16px}.project-story h2,.project-story p{width:100%}.project-nav{padding:0 16px;font-size:32px}.project-nav a{gap:12px}.nav-arrow{font-size:30px}.contact-layout{grid-template-columns:1fr;gap:40px;margin-top:48px}.contact-details{display:flex;gap:24px;flex-wrap:wrap}.contact-details a{font-size:20px}.contact-form{padding:24px;border-radius:24px}.form-options{grid-template-columns:1fr;gap:32px}.choice{font-size:14px}.site-footer{margin:0 16px;grid-template-columns:1fr 1fr;gap:32px 16px;padding:32px 0 40px}.footer-item:first-child{grid-column:1/-1;grid-row:auto}.footer-item:nth-child(2),.footer-item:nth-child(4){grid-column:1}.footer-item:nth-child(3),.footer-item:nth-child(5){grid-column:2}.footer-item a{font-size:18px}}
/* Original Framer page transition: 270° wipe, 5% vertical travel, 600 ms. */
@property --wipe-offset{syntax:'<number>';initial-value:0;inherits:false}
::view-transition-group(root){animation-duration:.8s}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal}
::view-transition-old(root){animation:page-exit .6s cubic-bezier(.27,0,.51,1) both;mask-image:linear-gradient(360deg,transparent calc(-100% + 200% * var(--wipe-offset)),black calc(200% * var(--wipe-offset)))}
::view-transition-new(root){animation:page-enter .6s .2s cubic-bezier(.27,0,.51,1) both;mask-image:linear-gradient(360deg,black calc(-100% + 200% * var(--wipe-offset)),transparent calc(200% * var(--wipe-offset)))}
@keyframes page-exit{from{opacity:1;transform:translateY(0);--wipe-offset:0}to{opacity:0;transform:translateY(-5%);--wipe-offset:1}}
@keyframes page-enter{from{opacity:0;transform:translateY(5%);--wipe-offset:0}to{opacity:1;transform:translateY(0);--wipe-offset:1}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}.reveal-char{opacity:1!important}}
@media(max-width:699px){.page-title{font-size:clamp(36px,13vw,64px);white-space:nowrap}.project-title{overflow-wrap:break-word}}
.project-meta h2 span{font:inherit;color:inherit}
.portrait img{object-position:50% 40%}
@media(max-width:699px){.page:has(>.story)>.page-title{font-size:clamp(28px,8vw,48px)}}
/* Keep moving text inside its own mask; skew cannot expose the duplicate at rest. */
.roll-label{height:1.2em;line-height:1.2;overflow:hidden;clip-path:inset(0);flex-shrink:0;white-space:nowrap;vertical-align:bottom}
.roll-label>span:first-child{transform-origin:100% 100%;transform:translateY(0) skewY(0)}
.roll-label>span+span{inset:0 auto auto 0;transform-origin:0 0;transform:translateY(110%) skewY(12deg);pointer-events:none}
a:hover .roll-label>span:first-child,a:focus-visible .roll-label>span:first-child{transform:translateY(-110%) skewY(12deg)}
a:hover .roll-label>span+span,a:focus-visible .roll-label>span+span{transform:translateY(0) skewY(0)}
.project-nav a{min-width:0}.project-nav .nav-label{max-width:none}
html{background:#000}.home{isolation:isolate;overflow:clip}.hero-stage{contain:paint;clip-path:inset(0)}
.hero-name,.hero-alternate{backface-visibility:hidden}.home .panel{contain:paint;backface-visibility:hidden;transform:translateZ(0);clip-path:inset(0 round 32px)}
body:after{contain:strict;backface-visibility:hidden;transform:translateZ(0)}
::view-transition{background:#000}
@media(max-width:699px){.project-nav{font-size:clamp(16px,4.5vw,24px)}.project-nav a{gap:8px}.project-nav .nav-arrow{font-size:24px}.home .panel{clip-path:inset(0 round 26px)}}

/* New transparent portrait: preserve the complete silhouette. */
.portrait img{object-fit:contain;object-position:center bottom;width:100%;height:100%}.about-photo{object-fit:contain;object-position:center bottom}

.faq-section{margin:64px 0 0 auto;width:70%}.faq-section>h2{font-size:28px;margin-bottom:24px}.faq-section details{border-top:1px solid #ffffff20;padding:24px 0}.faq-section summary{cursor:pointer;font-size:20px;line-height:1.4}.faq-section details p{font-size:18px;line-height:1.6;color:#aaa;margin-top:20px}.faq-section summary:focus-visible{outline:2px solid #fff;outline-offset:6px}#main:focus{outline:none}@media(max-width:1024px){.faq-section{width:100%}}@media(prefers-reduced-motion:reduce){.reveal-char{opacity:1}}

/* Intrinsic image height must scale with its responsive width. */
.about-photo{height:auto;aspect-ratio:auto}
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none}
.scroll-reveal-pending{opacity:0}
@media(max-width:699px){.about-copy{margin-bottom:32px}.about-photo{margin-bottom:48px}}
