@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Outfit:wght@300;400;500;600;700&display=swap";.scroll-scrub{--ss-progress:0;isolation:isolate;color:var(--ss-ink);background:var(--ss-bg);position:relative}.scroll-scrub__stage{z-index:0;background:var(--ss-bg);width:100%;height:100dvh;position:sticky;top:0;overflow:hidden}.scroll-scrub__media,.scroll-scrub__layer,.scroll-scrub__picture,.scroll-scrub__poster,.scroll-scrub__video{width:100%;height:100%;position:absolute;inset:0}.scroll-scrub__media{z-index:0}.scroll-scrub__layer{opacity:0;will-change:opacity;margin:0;overflow:hidden}.scroll-scrub__layer:first-child{opacity:1}.scroll-scrub__poster,.scroll-scrub__video{object-fit:cover;object-position:var(--ss-object-position);display:block}.scroll-scrub__poster{z-index:0}.scroll-scrub__video{z-index:1}.scroll-scrub__layer[data-video-painted=true] .scroll-scrub__poster{visibility:hidden}.scroll-scrub__progress{z-index:5;background:color-mix(in srgb, var(--ss-ink) 14%, transparent);pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.scroll-scrub__progress span{background:var(--ss-accent);width:100%;height:100%;transform:scaleX(var(--ss-progress));transform-origin:0;display:block}.scroll-scrub__route{z-index:6;pointer-events:auto;justify-content:flex-end;gap:.25rem;display:flex;position:absolute;top:clamp(1rem,3vw,2rem);left:clamp(1rem,4vw,4rem);right:clamp(1rem,4vw,4rem)}.scroll-scrub__route-button{min-height:2.75rem;color:var(--ss-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:.65rem .9rem}.scroll-scrub__route-button:hover,.scroll-scrub__route-button[aria-current=step]{color:var(--ss-ink)}.scroll-scrub__route-button[aria-current=step]{text-decoration:underline;-webkit-text-decoration-color:var(--ss-accent);text-decoration-color:var(--ss-accent);text-underline-offset:.3em;text-decoration-thickness:.15em}.scroll-scrub__route-button:focus-visible{outline:2px solid var(--ss-accent);outline-offset:3px}.scroll-scrub__story{z-index:3;pointer-events:none;margin-top:-100dvh;position:relative}.scroll-scrub__chapter,.scroll-scrub__connector-band{position:relative}.scroll-scrub__chapter-pin{pointer-events:none;align-items:center;min-height:100dvh;padding:clamp(5rem,9vw,8rem) clamp(1.25rem,6vw,6rem);display:flex;position:sticky;top:0}.scroll-scrub__chapter[data-align=right] .scroll-scrub__chapter-pin{justify-content:flex-end}.scroll-scrub__copy{pointer-events:auto;width:min(40rem,48vw);position:relative}.scroll-scrub__copy:before{z-index:-1;content:"";background:radial-gradient(ellipse at center, color-mix(in srgb, var(--ss-bg) 88%, transparent) 0%, color-mix(in srgb, var(--ss-bg) 58%, transparent) 52%, transparent 76%);pointer-events:none;position:absolute;inset:-3rem -5rem}.scroll-scrub__kicker{max-width:30ch;color:var(--ss-accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1rem;font-size:.8rem;font-weight:700}.scroll-scrub__title{max-width:13ch;color:var(--ss-ink);font:inherit;letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(2.75rem,6vw,6.75rem);font-weight:700;line-height:.94}.scroll-scrub__body{max-width:42ch;color:var(--ss-muted);margin:1.5rem 0 0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55}.scroll-scrub__tags{flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.scroll-scrub__tags li{border:1px solid color-mix(in srgb, var(--ss-ink) 20%, transparent);color:var(--ss-ink);padding:.45rem .7rem;font-size:.82rem}.scroll-scrub__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}@media (width<=860px){.scroll-scrub__poster,.scroll-scrub__video{object-position:var(--ss-mobile-position)}.scroll-scrub__route{right:max(.75rem, env(safe-area-inset-right));left:max(.75rem, env(safe-area-inset-left));overscroll-behavior-x:contain;scrollbar-width:thin;justify-content:flex-start;overflow-x:auto}.scroll-scrub__route-button{flex:none}.scroll-scrub__chapter-pin,.scroll-scrub__chapter[data-align=right] .scroll-scrub__chapter-pin{padding:6.5rem max(1.25rem, env(safe-area-inset-right)) calc(4rem + env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));justify-content:flex-start;align-items:flex-end}.scroll-scrub__copy{width:min(100%,36rem)}.scroll-scrub__copy:before{background:linear-gradient(to top, var(--ss-bg) 0%, color-mix(in srgb, var(--ss-bg) 82%, transparent) 58%, transparent 100%);inset:-3rem -2rem}.scroll-scrub__title{max-width:14ch;font-size:clamp(2.3rem,11vw,4.5rem)}}@media (prefers-reduced-motion:reduce){.scroll-scrub__chapter{min-height:100dvh!important}.scroll-scrub__connector-band{display:none}.scroll-scrub__progress span{transition:none}}:root{--site-bg:#141718;--site-panel:#252a2b;--site-ink:#f3f4f2;--site-muted:#aeb0b4;--site-accent:#d6d7da;--site-rule:#44464a;--site-focus:#fff}html{scroll-behavior:smooth;background:var(--site-bg);color:var(--site-ink);scroll-padding-top:96px}body{background:var(--site-bg);color:var(--site-ink);margin:0;font-family:Outfit,Arial,sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--site-focus);outline-offset:5px}button:active,a:active{transform:translateY(1px)}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--site-ink);color:var(--site-bg);padding:12px 20px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{z-index:20;border-bottom:1px solid color-mix(in srgb,var(--site-ink) 14%,transparent);justify-content:space-between;align-items:center;gap:24px;height:140px;padding:12px 5.5vw;display:flex;position:absolute;top:0;left:0;right:0}.brand{flex:none;align-items:center;line-height:1;display:flex}.brand img{object-fit:contain;width:180px;height:120px;display:block}.brand>span{letter-spacing:.06em;font-size:17px;font-weight:600}.brand small{letter-spacing:.3em;margin-top:7px;font:10px IBM Plex Mono,monospace;display:block}.desktop-nav{gap:28px;font-size:14px;display:flex}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";background:var(--site-accent);transform-origin:0;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:-8px;left:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{align-items:center;gap:22px;display:flex}.language-switch{padding:8px;font:12px IBM Plex Mono,monospace}.nav-estimate{border-left:1px solid var(--site-accent);border-right:1px solid var(--site-accent);align-items:center;gap:28px;padding:9px 14px;font-size:14px;display:flex}.nav-estimate span{transition:transform .25s}.nav-estimate:hover span{transform:translate(3px,-3px)}.menu-toggle{background:0 0;border:0;width:42px;height:44px;padding:12px;display:none}.menu-toggle span{background:var(--site-ink);height:1px;margin:7px 0;display:block}.mobile-nav{background:var(--site-bg);padding:24px;position:absolute;top:140px;left:0;right:0}.mobile-nav a{border-bottom:1px solid var(--site-rule);justify-content:space-between;padding:14px 0;display:flex}.hero-wrap{position:relative}.hero-wrap .scroll-scrub__route{display:none}.hero-wrap .scroll-scrub__progress{top:140px}.hero-wrap .scroll-scrub__title{white-space:pre-line;letter-spacing:-.055em;max-width:12ch;font-size:clamp(48px,6.1vw,88px);font-weight:500;line-height:1.02}.hero-wrap .scroll-scrub__copy{width:min(560px,48vw)}.hero-wrap .scroll-scrub__body{max-width:33ch;color:var(--site-ink);font-size:18px;font-weight:300}.hero-wrap .scroll-scrub__kicker{letter-spacing:.15em;color:var(--site-muted);margin-bottom:20px;font:11px IBM Plex Mono,monospace}.hero-wrap .scroll-scrub__chapter-pin{padding-top:160px;padding-bottom:72px}.hero-wrap .scroll-scrub__copy:before{background:linear-gradient(90deg,color-mix(in srgb,var(--site-bg) 96%,transparent),color-mix(in srgb,var(--site-bg) 62%,transparent),transparent);inset:-8rem -5rem -8rem -7rem}.hero-actions{align-items:center;gap:28px;margin-top:2px;display:flex}.hero-estimate{background:var(--site-accent);color:var(--site-bg);box-shadow:4px 4px 0 color-mix(in srgb,var(--site-ink) 20%,transparent);align-items:center;gap:36px;padding:16px 20px;font-size:15px;font-weight:500;transition:transform .3s,box-shadow .3s;display:inline-flex}.hero-estimate:hover{box-shadow:2px 2px 0 color-mix(in srgb,var(--site-ink) 20%,transparent);transform:translate(2px,2px)}.hero-projects{align-items:center;gap:12px;font-size:14px;display:inline-flex}.hero-projects span{transition:transform .3s}.hero-projects:hover span{transform:translateY(5px)}.concept-label{z-index:4;color:var(--site-muted);letter-spacing:.08em;font:10px IBM Plex Mono,monospace;position:absolute;top:calc(100dvh - 34px);bottom:auto;right:5.5vw}.page-section{border-top:1px solid var(--site-rule);padding:110px 6vw;scroll-margin-top:28px;position:relative}.section-heading{max-width:750px;margin-bottom:48px}.section-heading h2{letter-spacing:-.045em;margin:0 0 22px;font-size:clamp(35px,4.3vw,64px);font-weight:400;line-height:1.08}.section-heading p{max-width:53ch;color:var(--site-muted);margin:0;font-size:18px;line-height:1.6}.transformation{max-width:1500px;margin:auto}.comparison{cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:var(--site-panel);width:100%;max-width:1050px;height:clamp(400px,53vw,650px);margin:0 auto;position:relative;overflow:hidden}.comparison img{object-fit:cover;object-position:center 46%;width:100%;height:100%;position:absolute;top:0;left:0}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0);position:absolute;inset:0}.comparison-line{left:var(--split);background:var(--site-ink);pointer-events:none;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.comparison-line>span{border:1px solid var(--site-ink);background:var(--site-bg);place-items:center;width:44px;height:56px;font-size:23px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.comparison-labels{pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:16px;left:18px;right:18px}.comparison-labels span{color:var(--site-ink);background:color-mix(in srgb,var(--site-bg) 84%,transparent);padding:4px 11px;font-size:13px}.comparison-controls{grid-template-columns:1fr 1.1fr 48px;align-items:center;gap:24px;max-width:1050px;margin:24px auto 0;display:grid}.comparison-controls label{color:var(--site-muted);font-size:13px}.comparison-controls output{font:12px IBM Plex Mono,monospace}.comparison-controls input{accent-color:var(--site-accent);cursor:ew-resize;width:100%;height:36px}.source-link{max-width:1050px;color:var(--site-muted);justify-content:flex-end;align-items:center;gap:24px;margin:20px auto 0;font-size:13px;display:flex}.source-link:hover{color:var(--site-ink)}.service-explorer{grid-template-columns:1fr 1.1fr;align-items:start;gap:9vw;display:grid}.service-list{border-top:1px solid var(--site-rule)}.service-choice{border:0;border-bottom:1px solid var(--site-rule);text-align:left;width:100%;color:var(--site-muted);background:0 0;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:clamp(19px,2.1vw,30px);font-weight:300;transition:padding .3s,color .3s;display:flex}.service-choice>span:last-child{font-size:22px;transition:transform .3s}.service-choice:hover,.service-choice[aria-pressed=true]{color:var(--site-ink);padding-left:12px}.service-choice[aria-pressed=true]>span:last-child{color:var(--site-accent);transform:rotate(45deg)}.service-detail{padding-bottom:12px}.service-photo{aspect-ratio:4/3;background:var(--site-panel);position:relative;overflow:hidden}.service-photo>img:first-child{object-fit:cover;width:100%;height:100%;animation:.4s ease-out material-arrive;display:block}.service-photo .service-icon{background:color-mix(in srgb,var(--site-bg) 80%,transparent);width:70px;height:70px;padding:11px;position:absolute;bottom:18px;right:18px}.service-detail h3{letter-spacing:-.02em;margin:25px 0 12px;font-size:27px;font-weight:400}.service-detail>p{max-width:42ch;color:var(--site-muted);margin:0}.service-estimate{border-top:1px solid var(--site-rule);justify-content:space-between;align-items:center;width:min(220px,100%);margin-top:25px;padding:12px 0;font-size:14px;display:flex}.service-estimate span{transition:transform .25s;display:inline-block}.service-estimate:hover span{transform:rotate(45deg)}.projects{padding-bottom:95px}.project-filters{flex-wrap:wrap;gap:26px;margin:0 0 42px;display:flex}.project-filters button{color:var(--site-muted);background:0 0;border:0;border-bottom:1px solid #0000;padding:7px 0;font-size:14px}.project-filters button[aria-pressed=true]{color:var(--site-ink);border-bottom-color:var(--site-accent)}.project-grid{grid-template-columns:1.05fr .9fr;align-items:start;gap:50px 7vw;display:grid}.project:nth-child(4n+2){margin-top:100px}.project:nth-child(4n+3){width:85%}.project:nth-child(4n){margin-top:40px}.project-open{text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.project-photo{aspect-ratio:4/5;background:var(--site-panel);display:block;position:relative;overflow:hidden}.project:nth-child(2n) .project-photo{aspect-ratio:4/3}.project-photo>img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1);display:block}.project-open:hover .project-photo>img{transform:scale(1.045)}.project-arrow{background:var(--site-bg);width:42px;height:42px;color:var(--site-ink);place-items:center;font-size:26px;transition:transform .3s;display:grid;position:absolute;bottom:15px;right:15px;transform:translateY(2px)}.project-open:hover .project-arrow{transform:translate(2px,-2px)}.project-title{margin-top:18px;font-size:20px;font-weight:300;line-height:1.35;display:block}.more-projects{border:0;border-top:1px solid var(--site-rule);border-bottom:1px solid var(--site-rule);background:0 0;justify-content:space-between;align-items:center;width:100%;margin-top:65px;padding:24px 0;font-size:20px;font-weight:300;display:flex}.more-projects span{font-size:30px;transition:transform .25s}.more-projects:hover span{transform:rotate(90deg)}.estimate{background:color-mix(in srgb,var(--site-panel) 45%,var(--site-bg))}.estimate-layout{grid-template-columns:1.25fr .8fr;gap:10vw;display:grid}.estimate-steps{color:var(--site-muted);gap:20px;margin:0 0 38px;padding:0;font-size:12px;list-style:none;display:flex}.estimate-steps li{align-items:center;gap:9px;display:flex}.estimate-steps li>span{border:1px solid var(--site-rule);place-items:center;width:23px;height:23px;font:11px IBM Plex Mono,monospace;display:grid}.estimate-steps li[aria-current=step]{color:var(--site-ink)}.estimate-steps li[aria-current=step]>span{background:var(--site-accent);color:var(--site-bg);border-color:var(--site-accent)}.step-title{margin:0 0 22px;font-size:22px;font-weight:400;line-height:1.3}.step-title:focus{outline:none}.estimate-options{border:0;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;display:grid}.estimate-options label{position:relative}.estimate-options input{accent-color:var(--site-accent);position:absolute;top:16px;left:14px}.estimate-options label>span{border:1px solid var(--site-rule);cursor:pointer;align-items:center;min-height:56px;padding:12px 12px 12px 37px;font-size:14px;transition:transform .2s,border-color .2s;display:flex}.estimate-options input:checked+span{border-color:var(--site-accent);background:color-mix(in srgb,var(--site-accent) 7%,transparent)}.estimate-options input:focus-visible+span{outline:2px solid var(--site-focus);outline-offset:4px}.step-controls{justify-content:space-between;align-items:center;gap:20px;margin-top:30px;display:flex}.step-next{border:0;border-bottom:1px solid var(--site-accent);background:0 0;align-items:center;gap:35px;margin-left:auto;padding:12px 0;font-size:16px;display:flex}.step-next span{transition:transform .3s}.step-next:hover span{transform:translate(5px)}.step-back{color:var(--site-muted);background:0 0;border:0;padding:10px 0;font-size:14px}.estimate-details label{margin-bottom:9px;font-size:14px;display:block}.estimate-details input,.estimate-details textarea,.message-review textarea{border:1px solid var(--site-rule);background:var(--site-bg);width:100%;color:var(--site-ink);resize:vertical;border-radius:0;padding:13px 15px;font-size:16px;line-height:1.6}.estimate-details input{margin-bottom:24px}.estimate-details input::placeholder,.estimate-details textarea::placeholder{color:var(--site-muted);opacity:1}.field-error{color:var(--site-ink);margin:-12px 0 20px;font-size:14px}.message-review>p{color:var(--site-muted);margin:12px 0;font-size:13px}.open-draft{background:var(--site-accent);width:100%;color:var(--site-bg);justify-content:space-between;align-items:center;margin-top:25px;padding:17px 19px;font-size:16px;display:flex}.open-draft span{transition:transform .25s}.open-draft:hover span{transform:translate(3px,-3px)}.copy-message{border:0;border-bottom:1px dotted var(--site-muted);background:0 0;margin-top:15px;padding:6px 0;font-size:13px}.copy-status{min-height:21px}.contact-aside{border-left:1px solid var(--site-rule);padding-left:4vw}.contact-aside>p{color:var(--site-muted);margin:0 0 18px;font-size:15px}.phone-link{letter-spacing:-.03em;font-size:clamp(30px,3.6vw,54px);font-weight:300;line-height:1.18;display:inline-block;position:relative}.phone-link>span{margin-left:20px;font-size:26px}.instagram-link{border-top:1px solid var(--site-rule);border-bottom:1px solid var(--site-rule);justify-content:space-between;align-items:center;margin-top:40px;padding:16px 0;font-size:15px;display:flex}.contact-aside .contact-languages{margin-top:24px;font:12px IBM Plex Mono,monospace}.site-footer{grid-template-columns:1fr 1fr;gap:35px;padding:65px 6vw 30px;display:grid}.footer-wordmark{letter-spacing:-.04em;font-size:clamp(25px,4.5vw,65px);font-weight:500;line-height:1}.footer-wordmark span{letter-spacing:.2em;margin-left:12px;font:11px IBM Plex Mono,monospace}.site-footer>div{text-align:right;justify-self:end;font-size:15px}.site-footer p{color:var(--site-muted);margin:0 0 12px}.site-footer>small{color:var(--site-muted);border-top:1px solid var(--site-rule);grid-column:1/-1;padding-top:22px;font-size:11px}.project-dialog{border:1px solid var(--site-rule);width:min(1100px,94vw);max-height:92dvh;color:var(--site-ink);background:var(--site-bg);padding:0;overflow:auto}.project-dialog::backdrop{background:color-mix(in srgb,var(--site-bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog-content{grid-template-columns:1.45fr 1fr;min-height:480px;display:grid;position:relative}.dialog-close{z-index:2;background:var(--site-bg);border:1px solid var(--site-rule);width:42px;height:42px;font-size:28px;line-height:1;position:absolute;top:12px;right:12px}.dialog-image{background:var(--site-panel);min-height:460px;position:relative}.dialog-image>img{object-fit:contain;width:100%;height:76dvh;min-height:460px;max-height:820px;display:block}.photo-controls{background:var(--site-bg);border:1px solid var(--site-rule);align-items:center;gap:18px;padding:6px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.photo-controls button{background:0 0;border:0;min-width:40px;min-height:40px;font-size:20px}.photo-controls span{white-space:nowrap;font:11px IBM Plex Mono,monospace}.dialog-copy{align-self:center;padding:80px 36px 40px}.dialog-copy h2{letter-spacing:-.03em;margin:0 0 20px;font-size:34px;font-weight:400;line-height:1.1}.dialog-copy p{color:var(--site-muted);font-size:16px;line-height:1.6}.dialog-copy a{border-bottom:1px solid var(--site-accent);margin-top:16px;padding-bottom:6px;font-size:14px;display:inline-block}@keyframes material-arrive{0%{transform:scale(1.025)}to{transform:scale(1)}}@media (width>=861px){.hero-wrap .scroll-scrub__title{animation:.8s cubic-bezier(.2,.7,.2,1) both headline-arrive}@keyframes headline-arrive{0%{transform:translateY(10px)}to{transform:translateY(0)}}}@media (width<=1050px){.desktop-nav{gap:18px}.desktop-nav a:last-child{display:none}.site-header{padding-left:4vw;padding-right:4vw}.header-actions{gap:12px}.service-explorer,.estimate-layout{gap:5vw}.estimate-steps{gap:12px}}@media (width<=760px),(height<=500px) and (pointer:coarse){html{scroll-padding-top:24px}.site-header{gap:10px;height:84px;padding:8px 16px}.brand{gap:6px}.brand img{width:102px;height:68px}.brand>span{font-size:12px}.brand small{margin-top:4px;font-size:8px}.desktop-nav,.nav-estimate{display:none}.menu-toggle{width:40px;height:42px;display:block}.header-actions{gap:4px}.mobile-nav,.hero-wrap .scroll-scrub__progress{top:84px}.hero-wrap .scroll-scrub__title{max-width:13ch;font-size:clamp(42px,11vw,64px)}.hero-wrap .scroll-scrub__body{max-width:32ch;margin-top:19px;font-size:16px}.hero-wrap .scroll-scrub__copy{width:100%}.hero-wrap .scroll-scrub__chapter-pin{min-height:100dvh;padding:112px 22px calc(72px + env(safe-area-inset-bottom));align-items:flex-end}.hero-wrap .scroll-scrub__copy:before{background:linear-gradient(0deg,var(--site-bg),color-mix(in srgb,var(--site-bg) 85%,transparent) 55%,transparent);inset:-3rem -3rem -6rem}.hero-wrap .scroll-scrub__poster,.hero-wrap .scroll-scrub__video{object-position:center 25%}.hero-actions{flex-wrap:wrap;gap:16px 18px}.hero-estimate{gap:26px;padding:13px 16px;font-size:14px}.hero-projects{gap:9px;font-size:13px}.concept-label{font-size:9px;bottom:24px;right:24px}.page-section{padding:62px 20px}.section-heading{margin-bottom:28px}.section-heading h2{margin-bottom:14px;font-size:clamp(32px,9vw,37px)}.section-heading p{font-size:16px;line-height:1.55}.comparison{aspect-ratio:3/4;height:auto}.comparison-controls{grid-template-columns:1fr 42px;gap:6px 16px;margin-top:16px}.comparison-controls label{grid-column:1/-1}.comparison-controls output{text-align:right}.source-link{margin-top:12px;font-size:12px}.service-explorer{grid-template-columns:1fr;gap:30px}.service-list{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;border-top:0;gap:9px;padding:2px 2px 12px;display:flex;overflow-x:auto}.service-choice{scroll-snap-align:start;border:1px solid var(--site-rule);flex:none;gap:10px;width:auto;padding:9px 12px;font-size:15px}.service-choice[aria-pressed=true]{border-color:var(--site-accent);background:color-mix(in srgb,var(--site-accent) 8%,transparent)}.service-choice:hover,.service-choice[aria-pressed=true]{padding-left:0}.service-choice>span:last-child{font-size:16px}.service-detail h3{margin-top:20px;font-size:25px}.service-photo{aspect-ratio:4/3}.project-filters{scrollbar-width:thin;flex-wrap:nowrap;gap:16px 20px;margin-bottom:26px;padding:0 2px 8px;overflow-x:auto}.project-filters button{flex:none;font-size:13px}.project-grid{grid-template-columns:minmax(0,1fr);gap:30px}.project:nth-child(n){width:100%;margin-top:0}.project:nth-child(2n) .project-photo,.project-photo{aspect-ratio:4/3}.project-title{margin-top:13px;font-size:18px}.more-projects{margin-top:36px;padding:18px 0;font-size:18px}.estimate-layout{grid-template-columns:1fr;gap:50px}.estimate-steps{justify-content:space-between;gap:8px;margin-bottom:26px}.estimate-steps li{gap:6px;font-size:10px}.estimate-steps li>span{width:21px;height:21px}.estimate-options{grid-template-columns:1fr;gap:10px}.estimate-options label>span{min-height:58px;padding-left:34px;font-size:13px}.contact-aside{border-left:0;border-top:1px solid var(--site-rule);padding:34px 0 0}.phone-link{font-size:44px}.phone-link br{display:block}.instagram-link{margin-top:25px}.site-footer{grid-template-columns:1fr;gap:28px;padding:45px 22px 25px}.footer-wordmark{font-size:39px}.site-footer>div{text-align:left;justify-self:start}.site-footer>small{margin-top:12px}.dialog-content{grid-template-columns:1fr}.dialog-image{min-height:300px}.dialog-image>img{height:58dvh;min-height:300px}.dialog-copy{padding:28px}.dialog-copy h2{font-size:28px}.project-dialog{width:94vw;max-height:92dvh}.dialog-close{position:fixed;top:calc(4dvh + 8px);right:calc(3vw + 8px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.hero-wrap .scroll-scrub__chapter{min-height:100dvh!important}.project-photo>img,.project-arrow,.hero-estimate{transform:none!important}}.service-detail>.service-photo-caption{color:var(--site-muted);max-width:none;margin:12px 0 0;font-size:12px;line-height:1.45}.project-slideshow{min-width:0}.project-photo>.slideshow-image,.slideshow-stage>.slideshow-image{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.slideshow-image.is-previous{z-index:0}.slideshow-image.is-current{z-index:1;position:relative}.project-photo>.slideshow-image.is-current{position:absolute}.slideshow-image.is-current[data-entering=true]{animation:.52s ease-out both project-photo-arrive}.project-photo>.project-arrow{z-index:2}.slideshow-controls{align-items:center;gap:12px;width:100%;margin-top:17px;font-size:12px;display:flex}.slideshow-controls button{border:1px solid var(--site-rule);background:var(--site-bg);min-width:40px;min-height:40px;color:var(--site-ink);transition:border-color .2s,transform .2s}.slideshow-controls button:hover:not(:disabled){border-color:var(--site-accent)}.slideshow-controls button:disabled{cursor:default;opacity:.55}.slideshow-count{white-space:nowrap;color:var(--site-muted);font:11px IBM Plex Mono,monospace}.slideshow-controls .slideshow-toggle{justify-content:center;align-items:center;gap:9px;min-width:96px;margin-left:auto;padding:8px 13px;display:flex}.slideshow-toggle>span{font-size:15px;line-height:1}.slideshow-status{color:var(--site-muted);margin:7px 0 0;font-size:11px;line-height:1.5}.slideshow-error{color:var(--site-ink);margin:10px 0 0;font-size:13px;line-height:1.5}.dialog-slideshow{background:var(--site-panel);padding-bottom:18px}.dialog-slideshow .dialog-image{background:var(--site-panel);min-height:0}.dialog-slideshow .slideshow-stage{height:68dvh;min-height:340px;max-height:760px;position:relative;overflow:hidden}.dialog-slideshow .slideshow-stage>.slideshow-image{object-fit:contain;position:absolute}.dialog-slideshow .slideshow-controls{margin-top:16px;padding:0 18px}.dialog-slideshow .slideshow-status,.dialog-slideshow .slideshow-error{margin-left:18px;margin-right:18px}.slideshow-thumbnails{scrollbar-width:thin;scrollbar-color:var(--site-rule) var(--site-panel);gap:8px;padding:16px 18px 4px;display:flex;overflow-x:auto}.slideshow-thumbnail{border:1px solid var(--site-rule);background:var(--site-bg);flex:0 0 74px;width:74px;height:58px;padding:2px;position:relative;overflow:hidden}.slideshow-thumbnail[aria-current=true]{border:2px solid var(--site-accent);padding:1px}.slideshow-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.slideshow-thumbnail>span{background:var(--site-bg);min-width:19px;color:var(--site-ink);padding:0 3px;font:10px/17px IBM Plex Mono,monospace;position:absolute;bottom:1px;right:1px}.slideshow-thumbnail:disabled{cursor:default}@keyframes project-photo-arrive{0%{opacity:0}to{opacity:1}}@media (width<=760px),(height<=500px) and (pointer:coarse){.slideshow-controls{gap:10px}.dialog-slideshow .slideshow-stage{height:52dvh;min-height:280px}.dialog-slideshow .slideshow-controls{padding:0 14px}.dialog-slideshow .slideshow-status,.dialog-slideshow .slideshow-error{margin-left:14px;margin-right:14px}.slideshow-thumbnails{padding-left:14px;padding-right:14px}.slideshow-controls .slideshow-toggle{min-width:94px}}@media (prefers-reduced-motion:reduce){.slideshow-image.is-current[data-entering=true]{animation:none!important}.project-photo>.slideshow-image{transform:none!important}.slideshow-controls button{transition:none!important}}.service-photo>.slideshow-image{object-fit:cover;width:100%;height:100%;animation:none;position:absolute;inset:0}.service-photo>.slideshow-image.is-current[data-entering=true]{animation:.52s ease-out both project-photo-arrive}.service-photo>.service-icon{z-index:2}.service-slideshow .slideshow-controls{margin-top:14px}.service-slideshow .slideshow-status{font-size:11px}@media (prefers-reduced-motion:reduce){.service-photo>.slideshow-image.is-current[data-entering=true]{animation:none!important}}@media (width<=380px){.site-header{padding-left:12px;padding-right:12px}.brand img{width:94px;height:63px}.page-section{padding-left:17px;padding-right:17px}.hero-wrap .scroll-scrub__title{font-size:clamp(39px,10.5vw,48px)}.estimate-steps li{gap:4px;font-size:9px}.estimate-steps li>span{width:19px;height:19px}.slideshow-controls{gap:7px}.slideshow-controls .slideshow-toggle{min-width:84px;padding:7px 9px}}.mobile-hero,.mobile-call-bar{display:none}@media (width<=760px),(height<=500px) and (pointer:coarse){:root{--site-bg:#f4f4f5;--site-panel:#e9e9eb;--site-ink:#111214;--site-muted:#55575c;--site-accent:#cfd0d3;--site-rule:#d3d4d7;--site-focus:#111214}html{scroll-behavior:smooth;background:var(--site-bg);scroll-padding-top:84px}body{background:var(--site-bg);color:var(--site-ink);padding-bottom:env(safe-area-inset-bottom)}.site-header{color:#f7f7f8;background:#0b0b0d;border-bottom:1px solid #ffffff29;height:78px;padding:5px 16px;position:sticky;top:0;box-shadow:0 4px 18px #00000024}.brand img{width:100px;height:67px}.language-switch{color:#f7f9f6;padding:8px 10px}.menu-toggle span{background:#f7f9f6}.mobile-nav{color:#f7f7f8;background:#0b0b0d;padding:10px 20px 20px;top:78px;box-shadow:0 12px 18px #14231a2e}.cinematic-hero{display:none}.mobile-hero{isolation:isolate;color:#fff;background:#111214 url(/assets/world/structuras-ai-hero.webp) 50% 46%/cover no-repeat;align-items:flex-end;height:min(690px,100svh - 78px);min-height:430px;padding:30px 21px 34px;display:flex;position:relative;overflow:hidden}.mobile-hero:before{z-index:0;content:"";pointer-events:none;background:radial-gradient(at 76% 22%,#ffffff3d,#0000 36%) 72% 20%/150% 150%,linear-gradient(#08080a1f 2%,#08080a33 35%,#08080ae6 100%) 50%/100% 100%;animation:9s ease-in-out infinite alternate mobile-light-sweep;position:absolute;inset:0}.mobile-hero-photo{z-index:-1;object-fit:cover;object-position:center 46%;width:100%;height:100%;animation:18s ease-in-out infinite alternate mobile-photo-settle;position:absolute;inset:0;transform:scale(1.04)}.mobile-hero-copy{z-index:1;width:100%;max-width:540px;margin:0 auto;animation:.55s ease-out both mobile-copy-arrive;position:relative}.mobile-hero-eyebrow{letter-spacing:.16em;color:#f1f1f2;margin:0 0 10px;font:600 10px IBM Plex Mono,monospace}.mobile-hero h1{letter-spacing:-.055em;text-wrap:balance;max-width:12ch;margin:0;font-size:clamp(39px,10vw,52px);font-weight:500;line-height:.98}.mobile-hero-copy>p:not(.mobile-hero-eyebrow){color:#f4f4f5;max-width:32ch;margin:14px 0 19px;font-size:15px;line-height:1.45}.mobile-hero-actions{gap:7px;display:grid}.mobile-hero-primary{color:#0b0b0d;text-align:center;background:#f3f5f1;justify-content:center;align-items:center;min-height:50px;padding:12px 16px;font-size:15px;font-weight:600;display:flex}.mobile-hero-secondary{color:#fff;text-underline-offset:5px;justify-self:start;padding:8px 0;font-size:14px;font-weight:500;-webkit-text-decoration:underline #ffffffa6;text-decoration:underline #ffffffa6}.page-section{border-top-color:var(--site-rule);padding:40px 18px;scroll-margin-top:6px}.section-heading{margin-bottom:20px}.section-heading h2{letter-spacing:-.045em;margin-bottom:10px;font-size:clamp(29px,8vw,34px);line-height:1.04}.section-heading p{max-width:43ch;color:var(--site-muted);font-size:14px;line-height:1.5}.transformation{padding-top:44px}.comparison{aspect-ratio:1;border:1px solid var(--site-rule);max-height:430px}.comparison-labels{bottom:10px;left:10px;right:10px}.comparison-labels span{color:#fff;background:#1a2b21e0;padding:4px 8px;font-size:11px}.comparison-line>span{color:#fff;background:#0b0b0d;width:36px;height:44px}.comparison-controls{grid-template-columns:1fr 38px;gap:4px 12px;margin-top:10px}.comparison-controls label{font-size:12px}.source-link{gap:8px;margin-top:6px;font-size:12px}.service-explorer{grid-template-columns:minmax(0,1fr);gap:14px}.service-list{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;border:0;gap:7px;padding:2px 2px 9px;display:flex;overflow-x:auto}.service-choice{scroll-snap-align:start;border:1px solid var(--site-rule);width:auto;color:var(--site-muted);flex:none;gap:0;padding:8px 11px;font-size:13px;line-height:1.2}.service-choice[aria-pressed=true]{color:#0b0b0d;background:#e2e3e5;border-color:#17181b;padding-left:11px}.service-choice>span:last-child{display:none}.service-photo{aspect-ratio:16/10}.service-photo .service-icon{width:46px;height:46px;padding:7px;bottom:10px;right:10px}.service-detail>.service-photo-caption{margin-top:8px;font-size:11px}.service-detail h3{margin:8px 0;font-size:20px;line-height:1.15}.service-detail>p:not(.service-photo-caption){margin:6px 0;font-size:13px;line-height:1.45}.service-estimate{border-top:1px solid var(--site-rule);width:100%;margin-top:10px;padding:10px 0;font-size:13px}.service-estimate span{display:none}.projects{padding-bottom:42px}.project-filters{overscroll-behavior-inline:contain;scrollbar-width:thin;flex-wrap:nowrap;gap:7px;margin:0 0 16px;padding:2px 2px 8px;display:flex;overflow-x:auto}.project-filters button{border:1px solid var(--site-rule);color:var(--site-muted);flex:none;padding:7px 10px;font-size:12px;line-height:1.1}.project-filters button[aria-pressed=true]{color:#0b0b0d;background:#e2e3e5;border-color:#17181b}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px 12px}.project-grid:not([data-expanded=true])>.project:nth-child(n+5){display:none}.project:nth-child(n){width:100%;margin-top:0}.project-photo,.project:nth-child(2n) .project-photo{aspect-ratio:1;border:1px solid var(--site-rule)}.project-title{margin-top:7px;font-size:13px;font-weight:500;line-height:1.3}.project-arrow{display:none}.card-slideshow .slideshow-controls{gap:5px;margin-top:5px;font-size:10px}.card-slideshow .slideshow-controls button{min-width:30px;min-height:32px;padding:4px 6px}.card-slideshow .slideshow-controls .slideshow-toggle{gap:4px;min-width:64px;padding:5px 7px;font-size:10px}.card-slideshow .slideshow-controls .slideshow-toggle>span{display:none}.card-slideshow .slideshow-count{font-size:10px}.card-slideshow .slideshow-status{display:none}.more-projects{border-color:var(--site-rule);margin-top:24px;padding:13px 0;font-size:15px}.more-projects span{font-size:21px}.estimate{background:#f0f0f1}.estimate-layout{grid-template-columns:minmax(0,1fr);gap:22px}.estimate-steps{justify-content:space-between;gap:7px;margin:0 0 20px;font-size:9px}.estimate-steps li{gap:5px;font-size:9px}.estimate-steps li>span{width:20px;height:20px}.step-title{margin:0 0 14px;font-size:19px}.estimate-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.estimate-options input{top:13px;left:10px}.estimate-options label>span{min-height:48px;padding:9px 7px 9px 29px;font-size:11px;line-height:1.2}.step-controls{margin-top:16px}.step-next{gap:12px;padding:10px 0;font-size:14px}.estimate-details label{margin-bottom:6px;font-size:13px}.estimate-details input,.estimate-details textarea,.message-review textarea{padding:10px 11px;font-size:15px}.estimate-details input{margin-bottom:15px}.estimate-details textarea,.message-review textarea{min-height:92px}.contact-aside{color:#fff;background:#0b0b0d;border:0;margin-top:0;padding:16px 18px}.contact-aside>p:first-child{color:#d0d1d4;margin:0 0 5px;font-size:12px}.phone-link{white-space:nowrap;letter-spacing:-.025em;color:#fff;font-size:clamp(21px,6.4vw,27px);font-weight:500;line-height:1.2;display:block}.phone-link br,.phone-link>span[aria-hidden=true]{display:none}.instagram-link{color:#fff;margin-top:9px;font-size:13px;display:inline-flex}.instagram-link span{display:none}.contact-languages{color:#d0d1d4;font-size:11px}.site-footer{padding:28px 18px calc(100px + env(safe-area-inset-bottom));color:#f7f9f6;background:#0b0b0d;grid-template-columns:1fr;gap:16px}.footer-wordmark{font-size:32px}.footer-wordmark span{font-size:10px}.site-footer>div{text-align:left;justify-self:start;font-size:13px}.site-footer p{color:#d0d1d4}.site-footer>small{color:#d0d1d4;border-color:#fff3;padding-top:14px;font-size:10px}.mobile-call-bar{z-index:45;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));color:#fff;text-align:center;background:#0b0b0d;border:1px solid #ffffff38;justify-content:center;align-items:center;min-height:48px;padding:10px 14px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;display:flex;position:fixed;box-shadow:0 5px 24px #00000038}.mobile-call-bar:focus-visible{outline-offset:3px;outline:3px solid #fafafa}.mobile-nav a span,.source-link span,.service-estimate span,.step-next span,.project-arrow{display:none}.dialog-content{grid-template-columns:minmax(0,1fr)}.dialog-image{min-height:0}.dialog-image>img{height:min(52svh,410px);min-height:220px}.dialog-copy{padding:18px}.dialog-copy h2{font-size:23px}.project-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 24px);padding:0}.dialog-close{top:12px;right:12px}.slideshow-thumbnails{gap:6px;padding:10px}.slideshow-thumbnail{width:52px;height:48px}.slideshow-controls{gap:6px;margin-top:8px}.slideshow-controls button{min-width:34px;min-height:36px}.slideshow-controls .slideshow-toggle{min-width:76px;padding:7px 9px;font-size:11px}.slideshow-status{margin-top:4px;font-size:10px}.mobile-call-bar~.site-footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}}@keyframes mobile-photo-settle{0%{transform:scale(1.04)}to{transform:scale(1.12)}}@keyframes mobile-copy-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-light-sweep{0%{background-position:72% 20%,50%}to{background-position:90% 34%,50%}}@media (prefers-reduced-motion:reduce){.mobile-hero-photo{animation:none;transform:none}.mobile-hero:before,.mobile-hero-copy{animation:none!important}}@media (width<=760px),(height<=500px) and (pointer:coarse){.phone-reveal{opacity:0;transition:opacity .62s,transform .62s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)scale(.99)}.phone-reveal.phone-reveal-visible{opacity:1;transform:translate(0,0)scale(1)}.project.phone-reveal:first-child{transition-delay:20ms}.project.phone-reveal:nth-child(2){transition-delay:80ms}.project.phone-reveal:nth-child(3){transition-delay:.14s}.project.phone-reveal:nth-child(4){transition-delay:.2s}.service-choice{transition:color .24s,background-color .24s,border-color .24s,transform .2s}.service-choice:active{transform:scale(.97)}.menu-toggle span{transform-origin:50%;transition:transform .24s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px)rotate(-45deg)}.mobile-nav:not([hidden]){transform-origin:top;animation:.24s cubic-bezier(.2,.7,.2,1) both mobile-menu-drop}.mobile-hero-primary{isolation:isolate;transition:transform .22s,background-color .22s;position:relative;overflow:hidden}.mobile-hero-primary:after{z-index:-1;content:"";background:linear-gradient(105deg,#0000,#ffffff8f,#0000);width:42%;animation:1.25s ease-out .65s both mobile-cta-glint;position:absolute;top:-40%;bottom:-40%;left:0;transform:translate(-160%)skew(-18deg)}.mobile-hero-primary:active{background:#fff;transform:scale(.985)}.mobile-call-bar{transition:background-color .2s,transform .2s;animation:.46s cubic-bezier(.2,.7,.2,1) .24s both mobile-call-rise}.mobile-call-bar:active{background:#36373b;transform:scale(.985)}.project-open:active .project-photo>.slideshow-image.is-current{transition:transform .35s;transform:scale(1.025)}}@keyframes mobile-menu-drop{0%{opacity:0;transform:translateY(-8px)scaleY(.98)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes mobile-cta-glint{0%{transform:translate(-160%)skew(-18deg)}to{transform:translate(350%)skew(-18deg)}}@keyframes mobile-call-rise{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.phone-reveal{opacity:1!important;transition:none!important;transform:none!important}.mobile-nav:not([hidden]),.mobile-hero-primary:after,.mobile-call-bar{animation:none!important}}@media (height<=500px) and (pointer:coarse){.mobile-hero{height:calc(100svh - 78px);min-height:280px;padding:18px 28px 20px}.mobile-hero h1{font-size:clamp(31px,7vw,42px)}.mobile-hero-copy>p:not(.mobile-hero-eyebrow){margin:9px 0 12px;font-size:13px}.mobile-hero-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.mobile-hero-primary{min-height:44px;font-size:14px}.mobile-hero-secondary{align-self:center;font-size:13px}.mobile-call-bar{min-height:42px;padding:8px 12px}}
