:root{--color-bg:oklch(14.5% 0 0);--color-surface:oklch(18.5% 0 0);--color-surface-glass:oklch(14.5% 0 0/.7);--color-text:oklch(95% .008 90);--color-text-muted:oklch(68% .006 90);--color-brand:oklch(39% .07 163);--color-brand-hover:oklch(44% .08 163);--color-brand-bright:oklch(72% .14 160);--color-on-brand:oklch(97% .008 90);--color-border:oklch(100% 0 0/.09);--color-border-strong:oklch(100% 0 0/.22);--color-footer-bg:oklch(7% 0 0);--color-footer-line:oklch(100% 0 0/.28);--color-brand-border:oklch(72% .14 160/.5);--gradient-glow:radial-gradient(60% 60% at 30% 40%, oklch(39% .07 163/.35), transparent 70%);--gradient-fade-edge:linear-gradient(90deg, var(--color-bg), transparent 20%, transparent 80%, var(--color-bg));--font-display:"Archivo Black", "Arial Black", sans-serif;--font-sans:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.5rem;--text-display-sm:clamp(3rem, 8vw, 4.5rem);--text-display-lg:clamp(3.2rem, 13vw, 6.5rem);--text-marquee:clamp(3.5rem, 8vw, 6rem);--tracking-label:.16em;--leading-tight:.9;--leading-body:1.65;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--container:80rem;--gutter:clamp(1rem, 4vw, 2rem);--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.18s;--duration-base:.3s;--duration-slow:.6s}.light{--color-bg:oklch(96.5% .008 90);--color-surface:oklch(99% .004 90);--color-surface-glass:oklch(96.5% .008 90/.75);--color-text:oklch(16% 0 0);--color-text-muted:oklch(42% .006 90);--color-brand-bright:oklch(45% .09 163);--color-border:oklch(0% 0 0/.1);--color-border-strong:oklch(0% 0 0/.25);--color-brand-border:oklch(45% .09 163/.5);--color-footer-bg:oklch(90% .012 90);--color-footer-line:oklch(0% 0 0/.3);--gradient-glow:radial-gradient(60% 60% at 30% 40%, oklch(39% .07 163/.14), transparent 70%)}*,:before,:after{box-sizing:border-box;border:0 solid var(--color-border);margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);line-height:1.5}img,svg,canvas{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0}ul{list-style:none}::selection{background:var(--color-brand);color:var(--color-on-brand)}:focus-visible{outline:2px solid var(--color-brand-bright);outline-offset:3px;border-radius:var(--radius-sm)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container);margin-inline:auto}.section{padding-inline:var(--gutter);padding-top:var(--space-20)}.section--spaced{padding-top:var(--space-32)}.display{font-family:var(--font-display);text-transform:uppercase;line-height:var(--leading-tight);letter-spacing:-.02em;font-weight:400}.display--sm{font-size:var(--text-display-sm)}.display--card{font-size:var(--text-3xl)}.label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-brand-bright)}.label--muted,.text-muted{color:var(--color-text-muted)}.text-strong{color:var(--color-text)}.link-underline{transition:background-size var(--duration-base) var(--ease-out), color var(--duration-fast);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.link-underline:hover,.link-underline:focus-visible{background-size:100% 1px}.button{align-items:center;gap:var(--space-2);padding:.9rem var(--space-6);border-radius:var(--radius-md);transition:background-color var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast) var(--ease-out);font-weight:500;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button--primary{background:var(--color-brand);color:var(--color-on-brand)}.button--primary:hover{background:var(--color-brand-hover)}.button--ghost{border:1px solid var(--color-border-strong)}.button--ghost:hover{border-color:var(--color-text)}.button__icon{width:1rem;height:1rem;transition:transform var(--duration-fast) var(--ease-out)}.button:hover .button__icon{transform:translate(4px)}.icon-button{border:1px solid var(--color-border);border-radius:var(--radius-full);width:2.5rem;height:2.5rem;transition:border-color var(--duration-fast), background-color var(--duration-fast), color var(--duration-fast), transform var(--duration-fast);place-items:center;display:grid}.icon-button:hover{border-color:var(--color-border-strong)}.icon-button:active{transform:scale(.95)}.icon-button--lg{width:3rem;height:3rem}.icon-button--brand:hover{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand)}.icon-button__icon{width:1rem;height:1rem}.icon-button--lg .icon-button__icon{width:1.25rem;height:1.25rem}.chip-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);transition:border-color var(--duration-fast), color var(--duration-fast);padding:.3rem .65rem}.chip--lg{font-size:var(--text-sm);color:var(--color-text);padding:.4rem .8rem}.chip:hover{border-color:var(--color-brand-bright)}.logo{align-items:center;gap:var(--space-3);display:flex}.logo__mark{width:auto;height:2rem}.logo__name{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}.site-header{z-index:50;padding:var(--space-4) var(--gutter) 0;position:sticky;top:0}.site-header__bar{max-width:var(--container);padding:var(--space-3) var(--space-5);background:var(--color-surface-glass);border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.site-header__nav{gap:var(--space-8);display:none}.site-header__link{color:var(--color-text-muted);transition:color var(--duration-fast)}.site-header__link:hover,.site-header__link--active{color:var(--color-text)}.site-header__actions{align-items:center;gap:var(--space-3);display:flex}.site-header__menu-button{display:grid}.availability{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);transition:border-color var(--duration-fast);display:none}.availability:hover{border-color:var(--color-brand-bright)}.availability__dot{border-radius:var(--radius-full);background:var(--color-brand-bright);width:.5rem;height:.5rem;animation:2.4s ease-in-out infinite pulse-dot}.mobile-menu{z-index:60;padding:var(--space-6);background:var(--color-bg);flex-direction:column;display:flex;position:fixed;inset:0}.mobile-menu__top{justify-content:space-between;align-items:center;display:flex}.mobile-menu__nav{gap:var(--space-4);margin-top:var(--space-16);flex-direction:column;display:flex}.mobile-menu__link{font-size:var(--text-display-sm)}.site-footer-wrap{margin-top:var(--space-32)}.site-footer{background:var(--color-footer-bg);padding-inline:var(--gutter);transition:background-color var(--duration-base)}.site-footer-wrap{--rio-footer-bg:var(--color-footer-bg);--rio-accent:var(--color-brand-bright);--rio-wire:var(--color-footer-line);--rio-window:color-mix(in oklab, var(--color-brand) 40%, black);--rio-cable-start:translate(1542px, 295.789px);--rio-cable-end:translate(1746px, 207.211px);--rio-cable-rest:translate(1644px, 251.5px);--rio-tram-duration:24s;--rio-cable-duration:20s}.light .site-footer-wrap{--rio-window:var(--color-footer-bg)}.site-footer-wrap>.site-footer{background-color:var(--rio-footer-bg)}.rio-skyline{pointer-events:none;-webkit-user-select:none;user-select:none;background:0 0;width:100%;margin-bottom:-1px;line-height:0;position:relative;overflow:hidden}.rio-skyline__svg{width:100%;height:auto;fill:var(--rio-footer-bg);transition:fill var(--duration-base);display:block;overflow:hidden}.rio-skyline__svg--desktop{aspect-ratio:1910/304}.rio-skyline__svg--mobile{aspect-ratio:800/198;display:none}.rio-skyline__wire{fill:none;stroke:var(--rio-wire);stroke-width:1.25px;stroke-linecap:round;vector-effect:non-scaling-stroke}.rio-skyline__vehicle{fill:var(--rio-accent)}.rio-skyline__window{fill:var(--rio-window)}.rio-skyline__tram-motion{animation:rio-tram-travel var(--rio-tram-duration) ease-in-out infinite alternate;transform:translate(0)}.rio-skyline__cable-motion{transform:var(--rio-cable-start);animation:rio-cable-travel var(--rio-cable-duration) ease-in-out infinite alternate}@keyframes rio-tram-travel{0%,8%{transform:translate(0)}92%,to{transform:translate(410px)}}@keyframes rio-cable-travel{0%,8%{transform:var(--rio-cable-start)}92%,to{transform:var(--rio-cable-end)}}@media (width<=767px){.rio-skyline__svg--desktop{display:none}.rio-skyline__svg--mobile{display:block}}@media (prefers-reduced-motion:reduce){.rio-skyline__tram-motion,.rio-skyline__cable-motion{animation:none}.rio-skyline__tram-motion{transform:translate(160px)}.rio-skyline__cable-motion{transform:var(--rio-cable-rest)}}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-6);max-width:var(--container);padding-block:var(--space-10);flex-wrap:wrap;margin-inline:auto;display:flex}.site-footer__name{font-weight:600}.site-footer__meta{margin-top:var(--space-1)}.site-footer__copy{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.site-footer__legal{gap:var(--space-3) var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border-strong);font-size:var(--text-sm);color:var(--color-text-muted);flex-wrap:wrap;flex-basis:100%;order:2;display:flex}.site-footer__legal a:hover,.site-footer__legal button:hover{color:var(--color-text);text-underline-offset:3px;text-decoration:underline}.site-footer__legal button{font-size:inherit}.socials{gap:var(--space-3);display:flex}.social-link{border:1px solid var(--color-border);border-radius:var(--radius-full);width:2.75rem;height:2.75rem;color:var(--color-text-muted);transition:color var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast) var(--ease-out);place-items:center;display:grid}.social-link:hover{color:var(--color-brand-bright);border-color:var(--color-brand-bright);transform:translateY(-4px)}.social-link__icon{width:1rem;height:1rem}.hero{padding:var(--space-16) var(--gutter) var(--space-24);position:relative;overflow:hidden}.hero__glow{pointer-events:none;background-image:var(--gradient-glow);position:absolute;inset:0}.hero__field{pointer-events:none;opacity:0;transition:opacity 1.2s var(--ease-out);position:absolute;inset:0}.hero__field--ready{opacity:1}.hero__grid{gap:var(--space-12);align-items:start;display:grid;position:relative}.hero__title{font-size:var(--text-display-lg);line-height:1.04}.hero__line{padding-bottom:var(--space-1);display:block}.hero__line-inner{display:block}.hero__line-inner--accent{color:var(--color-brand-bright)}.about-card{padding:var(--space-8);background:color-mix(in oklab, var(--color-surface) 80%, transparent);border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px)}.about-card__text{gap:var(--space-4);margin-top:var(--space-5);font-size:var(--text-lg);line-height:var(--leading-body);color:var(--color-text-muted);display:grid}.about-card__actions{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.about-card__stack{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.about-card__stack .chip-list{margin-top:var(--space-4)}.marquee{padding-block:var(--space-6);border-block:1px solid var(--color-border);overflow:hidden}.marquee__track{gap:var(--space-10);white-space:nowrap;width:max-content;animation:40s linear infinite marquee;display:flex}.marquee__item{align-items:center;gap:var(--space-10);font-size:var(--text-marquee);color:#0000;-webkit-text-stroke:1px var(--color-border-strong);display:flex}.marquee__sep{color:var(--color-brand-bright);-webkit-text-stroke:0;font-size:var(--text-3xl)}.section-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-12);flex-wrap:wrap;display:flex}.section-heading__aside{max-width:20rem;color:var(--color-text-muted)}.section-heading__link{color:var(--color-text-muted)}.section-heading__link:hover{color:var(--color-text)}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);height:100%;transition:border-color var(--duration-base), transform var(--duration-base) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{border-color:var(--color-border-strong);transform:translateY(-4px)}.project-card--featured{border-color:var(--color-brand-border)}.project-card__media{display:block;overflow:hidden}.project-card__image{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;transition:transform .7s var(--ease-out)}.project-card:hover .project-card__image{transform:scale(1.04)}.project-card__body{gap:var(--space-4);padding:var(--space-6);flex-direction:column;flex:1;display:flex}.project-card__category{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.project-card__title{font-size:var(--text-2xl);letter-spacing:-.01em;font-weight:600}.project-card__desc{color:var(--color-text-muted)}.project-card__footer{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-top:var(--space-2);margin-top:auto;display:flex}.project-card__link{flex-shrink:0;width:2.75rem;height:2.75rem}.project-card__link .icon-button__icon{width:1.25rem;height:1.25rem;transition:transform var(--duration-base) var(--ease-out)}.project-card:hover .project-card__link .icon-button__icon{transform:rotate(45deg)}.carousel,.carousel__stage{position:relative}.carousel__viewport{padding-block:var(--space-6);overflow:hidden}.carousel__container{touch-action:pan-y pinch-zoom;display:flex}.carousel__slide{min-width:0;padding-inline:var(--space-3);flex:0 0 88%}.carousel__item{height:100%;transition:transform var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out)}.carousel__item--near{opacity:.6;cursor:pointer}.carousel__item--far{opacity:.2;cursor:pointer}.carousel__item--near .project-card,.carousel__item--far .project-card{pointer-events:none}.carousel__fade{pointer-events:none;background-image:var(--gradient-fade-edge);display:none;position:absolute;inset:0}.carousel__controls{justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-6);display:flex}.carousel__dots{gap:var(--space-2);display:flex}.carousel__dot{border-radius:var(--radius-full);background:var(--color-border-strong);width:.75rem;height:.375rem;transition:width var(--duration-base) var(--ease-out), background-color var(--duration-base)}.carousel__dot:hover{background:var(--color-text-muted)}.carousel__dot--active{background:var(--color-brand-bright);width:2rem}.carousel__arrows{gap:var(--space-3);display:flex}.cta-panel{padding:var(--space-10);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.cta-panel__title{margin-top:var(--space-4)}.cta-panel__text{max-width:36rem;margin-top:var(--space-5);font-size:var(--text-lg);color:var(--color-text-muted)}.cta-panel__action{margin-top:var(--space-8)}.filters{gap:var(--space-2);margin-bottom:var(--space-10);flex-wrap:wrap;display:flex}.filter{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--duration-fast);position:relative}.filter:hover{color:var(--color-text)}.filter--active{color:var(--color-on-brand);border-color:#0000}.filter__pill{border-radius:var(--radius-full);background:var(--color-brand);position:absolute;inset:0}.filter__text{position:relative}.project-grid{gap:var(--space-6);display:grid}.about-grid{gap:var(--space-12);display:grid}.about-grid__text{gap:var(--space-5);font-size:var(--text-xl);line-height:var(--leading-body);color:var(--color-text-muted);display:grid}.about-grid__text .chip-list,.about-grid__stack .chip-list{margin-top:var(--space-4)}.steps{margin-top:var(--space-24);background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:1px;display:grid;overflow:hidden}.step{height:100%;padding:var(--space-8);background:var(--color-bg);transition:background-color var(--duration-base)}.step:hover{background:var(--color-surface)}.step__title{margin-top:var(--space-2)}.step__text{margin-top:var(--space-3);color:var(--color-text-muted)}.services-grid{gap:var(--space-6);display:grid}.service-card{height:100%;padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--duration-base), transform var(--duration-base) var(--ease-out)}.service-card:hover{border-color:var(--color-brand-border);transform:translateY(-4px)}.service-card__title{margin-top:var(--space-12)}.service-card__text{margin-top:var(--space-3);color:var(--color-text-muted)}.extra-services{gap:var(--space-8);margin-top:var(--space-20);padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid}.extra-services__title{margin-top:var(--space-3);font-size:var(--text-2xl);font-weight:600}.extra-services__text{margin-top:var(--space-2);color:var(--color-text-muted)}.extra-services__action{margin-top:var(--space-6)}.extra-services__list{column-gap:var(--space-8);display:grid}.extra-services__item{padding-block:var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text-muted)}.contact-email{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.contact-email__address{font-size:clamp(1.5rem,4vw,2.25rem);font-weight:500}.contact-email__note{margin-top:var(--space-4);color:var(--color-text-muted)}.copy-button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);transition:border-color var(--duration-fast);display:inline-flex}.copy-button:hover{border-color:var(--color-brand-bright)}.copy-button__content{align-items:center;gap:var(--space-2);display:inline-flex}.copy-button__icon{width:1rem;height:1rem}.copy-button__icon--done{color:var(--color-brand-bright)}.contact-grid{gap:var(--space-4);margin-top:var(--space-16);display:grid}.contact-card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--duration-base), transform var(--duration-base) var(--ease-out);justify-content:space-between;align-items:center;display:flex}.contact-card:hover{border-color:var(--color-brand-border);transform:translateY(-4px)}.contact-card__main{align-items:center;gap:var(--space-4);display:flex}.contact-card__icon{border:1px solid var(--color-border);border-radius:var(--radius-full);width:3rem;height:3rem;transition:background-color var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);place-items:center;display:grid}.contact-card__icon svg{width:1.25rem;height:1.25rem}.contact-card:hover .contact-card__icon{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand)}.contact-card__value{margin-top:var(--space-1);font-size:var(--text-lg)}.contact-card__arrow{font-size:var(--text-xl);transition:transform var(--duration-base) var(--ease-out)}.contact-card:hover .contact-card__arrow{transform:translate(4px)}.status-page{min-height:100vh;padding:var(--space-4);text-align:center;justify-content:center;align-items:center;display:flex}.status-page__inner{max-width:28rem}.status-page__title{font-size:6rem}.status-page__subtitle{margin-top:var(--space-4);font-size:var(--text-xl);font-weight:600}.status-page__text{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.status-page__actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}@media (width>=640px){.extra-services__list{grid-template-columns:repeat(2,1fr)}}@media (width>=768px){.site-header__nav{display:flex}.site-header__menu-button{display:none}.hero{padding-top:var(--space-24)}.about-card{padding:var(--space-8) var(--space-8)}.carousel__slide{flex-basis:33.3333%}.carousel__item--near{opacity:.4;transform:scale(.88)}.carousel__item--far{transform:scale(.88)}.carousel__fade{display:block}.cta-panel{padding:var(--space-16)}.project-grid,.contact-grid,.steps{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:repeat(3,1fr)}.extra-services{padding:var(--space-10);grid-template-columns:1fr 2fr}}@media (width>=1024px){.availability{display:flex}.hero__grid{grid-template-columns:1.75fr 1fr}.about-card{margin-top:var(--space-6)}.project-grid{grid-template-columns:repeat(3,1fr)}.about-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-intro{max-width:58rem;margin:calc(-1 * var(--space-6)) 0 var(--space-16);font-size:var(--text-xl);line-height:var(--leading-body);color:var(--color-text-muted)}.home-services{gap:var(--space-3);display:grid}.home-services__item{align-items:start;gap:var(--space-3);padding:var(--space-8) 0;border-top:1px solid var(--color-border-strong);transition:color var(--duration-fast);grid-template-columns:1fr auto;display:grid}.home-services__item:last-child{border-bottom:1px solid var(--color-border-strong)}.home-services__item h3{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;line-height:1.1}.home-services__item p{max-width:48rem;color:var(--color-text-muted);line-height:var(--leading-body);grid-column:1}.home-services__item span{font-size:var(--text-2xl);color:var(--color-brand-bright);transition:transform var(--duration-base) var(--ease-out);grid-area:1/2}.home-services__item:hover span{transform:translate(3px,-3px)}.site-header__noscript-nav{gap:var(--space-4);padding:var(--space-4) var(--gutter);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.site-header__noscript-nav a:hover{color:var(--color-text)}.offer-list{border-top:1px solid var(--color-border-strong)}.offer-list__item{gap:var(--space-6);padding:var(--space-10) 0;border-bottom:1px solid var(--color-border-strong);display:grid}.offer-list__item p{max-width:48rem;margin-top:var(--space-4);color:var(--color-text-muted);line-height:var(--leading-body)}.offer-list__link{place-self:center start}.offer-next{justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-12);flex-wrap:wrap;display:flex}.offer-next p{max-width:35rem;font-size:var(--text-lg)}.detail-page{padding-bottom:var(--space-24)}.detail-hero{padding-top:var(--space-24)}.detail-back{margin-bottom:var(--space-12);color:var(--color-text-muted);display:inline-block}.breadcrumbs{margin-bottom:var(--space-12);color:var(--color-text-muted);font-size:var(--text-sm)}.breadcrumbs ol{align-items:center;gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.breadcrumbs li{overflow-wrap:anywhere;min-width:0;list-style:none}.breadcrumbs li+li:before{content:"/";margin-right:var(--space-2);color:var(--color-border-strong)}.breadcrumbs a:hover{color:var(--color-text);text-underline-offset:3px;text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--color-text)}.detail-hero__title{max-width:17ch;font-size:var(--text-display-lg);overflow-wrap:anywhere}.detail-hero__intro{max-width:45rem;margin:var(--space-8) 0;font-size:var(--text-xl);line-height:var(--leading-body);color:var(--color-text-muted)}.detail-section{gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border-strong);display:grid}.detail-section>h2{max-width:22ch}.detail-section__text{max-width:65ch;font-size:var(--text-lg);line-height:var(--leading-body);color:var(--color-text-muted)}.detail-rows{gap:var(--space-6);display:grid}.detail-row{padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.detail-row h3{font-size:var(--text-xl);font-weight:600}.detail-row p{max-width:65ch;margin-top:var(--space-2);color:var(--color-text-muted);line-height:var(--leading-body)}.detail-close{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-10);background:var(--color-surface);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.detail-close p{max-width:37rem;margin-top:var(--space-4);color:var(--color-text-muted)}.case-role{font-size:var(--text-sm);color:var(--color-brand-bright)}.case-image{border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.case-image img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:38rem}.case-contributions{gap:var(--space-4);max-width:65ch;display:grid}.case-contributions li{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);line-height:var(--leading-body)}.case-stack{margin-top:var(--space-5)}@media (width>=768px){.offer-list__item{grid-template-columns:1fr auto}.detail-section{gap:var(--space-16);grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr)}}@media (width<=767px){.hero{padding-top:var(--space-12);padding-bottom:var(--space-16)}.hero__grid{gap:var(--space-8);min-width:0}.hero__title{min-width:0;max-width:100%;font-size:clamp(2rem,8.5vw,3rem);line-height:1.04}.about-card{min-width:0;padding:var(--space-6)}.about-card__text{font-size:var(--text-base);line-height:1.6}.about-card__actions,.about-card__stack{margin-top:var(--space-6)}.cta-panel{min-width:0;padding:var(--space-6)}.cta-panel__title{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.75rem,7.2vw,2.5rem);line-height:1.08}.cta-panel__text{font-size:var(--text-base)}.services-page{padding-top:var(--space-16)}.services-page .section-heading{min-width:0;margin-bottom:var(--space-8)}.services-page .section-heading>.display{overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:clamp(1.625rem,8vw,3rem);line-height:1.06}.services-page .page-intro{margin:0 0 var(--space-12);font-size:var(--text-lg)}.offer-list__item{min-width:0;padding-block:var(--space-8)}.offer-list__item>div{min-width:0}.offer-list__item .display{overflow-wrap:anywhere;font-size:clamp(1.5rem,6.5vw,1.875rem);line-height:1.1}.offer-list__item p{margin-top:var(--space-3)}.offer-next{margin-top:var(--space-10);align-items:flex-start}.extra-services{margin-top:var(--space-16);padding:var(--space-6)}.service-detail-page .detail-hero{padding-top:var(--space-16)}.service-detail-page .detail-back{margin-bottom:var(--space-8)}.service-detail-page .detail-hero__title{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.75rem,8.5vw,3.5rem);line-height:1.06}.service-detail-page .detail-hero__intro{margin-block:var(--space-6);font-size:var(--text-lg)}.service-detail-page .detail-section{gap:var(--space-6);min-width:0}.service-detail-page .detail-section>h2{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.5rem,6.5vw,1.875rem);line-height:1.12}.service-detail-page .detail-close{padding:var(--space-6)}}@media (width<=420px){.site-header__bar{min-width:0;padding-inline:var(--space-3)}.site-header__actions{gap:var(--space-2)}.logo{gap:var(--space-2);min-width:0}.logo__name{font-size:var(--text-base);white-space:nowrap}.logo__mark{flex:none;height:1.75rem}.services-page .button,.service-detail-page .button{max-width:100%;padding-inline:var(--space-4)}}@media (width>=768px) and (width<=1023px){.service-detail-page .detail-hero__title{font-size:clamp(3rem,7vw,4rem);line-height:1.04}}.utm-page{padding-bottom:var(--space-24)}.utm-page__intro{max-width:60ch;margin-top:var(--space-6);color:var(--color-text-muted);font-size:var(--text-lg);line-height:var(--leading-body)}.utm-layout{gap:var(--space-8);margin-top:var(--space-12);display:grid}.utm-form,.utm-result{padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.utm-form{gap:var(--space-8);display:grid}.utm-fields-grid{gap:var(--space-6);display:grid}.utm-field{align-content:start;gap:var(--space-2);display:grid}.utm-field label{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;font-weight:600;display:flex}.utm-field label span,.utm-field>span{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400}.utm-field input,.utm-field select,.utm-result textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);font:inherit}.utm-field input::placeholder,.utm-result textarea::placeholder{color:var(--color-text-muted)}.utm-field input:focus,.utm-field select:focus,.utm-result textarea:focus{outline:2px solid var(--color-brand-bright);outline-offset:2px}.utm-result{align-self:start}.utm-result>p{max-width:40ch;margin-top:var(--space-4);color:var(--color-text-muted);line-height:var(--leading-body)}.utm-result textarea{margin-top:var(--space-8);resize:vertical;overflow-wrap:anywhere;min-height:10rem}.utm-result__actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.utm-result__actions .button:disabled{opacity:.45;cursor:not-allowed;transform:none}.utm-result .utm-result__status{min-height:1.5rem;margin-top:var(--space-4);color:var(--color-brand-bright)}body:has(.error-page){--color-bg:#100b0c;--color-surface:#1d1214;--color-surface-glass:#1d1214d9;--color-text:#f5eeee;--color-text-muted:#c5afb0;--color-brand:#922b34;--color-brand-hover:#ae3942;--color-brand-bright:#f07a7d;--color-footer-bg:#2a1014;--color-footer-line:#e78a8a}.error-page{min-height:clamp(27rem,64svh,45rem);padding:var(--space-20) var(--gutter);background:radial-gradient(at 34% 48%,#7b18222e,#0000 55%);align-items:center;display:flex;position:relative;overflow:hidden}.error-page__inner{z-index:1;position:relative}.error-page__title{width:max-content;max-width:100%;color:var(--color-brand-bright);font-size:clamp(7rem,19vw,15rem);line-height:1;position:relative}.error-page__title:after{content:attr(data-text);color:#fbb;clip-path:inset(47% 0 44%);pointer-events:none;position:absolute;inset:0;transform:translate(8px,4px)}.error-page__subtitle{margin-top:var(--space-5);font-size:clamp(1.5rem,4vw,2.5rem);font-weight:600}.error-page__text{max-width:43ch;margin-top:var(--space-4);color:var(--color-text-muted);line-height:var(--leading-body)}.error-page__actions{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.error-page__fault{opacity:.6;pointer-events:none;position:absolute;inset:0}.error-page__fault:before,.error-page__fault:after{content:"";background:var(--color-brand-bright);transform-origin:0;width:45vw;height:1px;position:absolute}.error-page__fault:before{top:19%;right:-8%;transform:rotate(142deg)}.error-page__fault:after{bottom:21%;right:-2%;transform:rotate(163deg)}body:has(.error-page) .site-footer-wrap{--rio-footer-bg:#2a1014;--rio-accent:#ef666b;--rio-wire:#d65760;--rio-window:#531a20;margin-top:0}body:has(.error-page) .rio-skyline__tram-motion{animation:none;transform:translate(165px)}body:has(.error-page) .rio-skyline__cable-motion{animation:none;transform:translate(1644px,267px)rotate(14deg)}body:has(.error-page) .rio-skyline__wire{stroke-dasharray:38 9 4 7}body:has(.error-page) .rio-skyline__svg{transition:none}body:has(.error-page) .availability__dot{background:var(--color-brand-bright);animation:none}@media (width>=768px){.utm-layout{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.75fr)}.utm-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.utm-result{position:sticky;top:7rem}}.privacy-consent{z-index:80;max-height:85svh;padding:var(--space-5) var(--gutter) max(var(--space-5), env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border-strong);opacity:0;visibility:hidden;pointer-events:none;transition:transform .26s cubic-bezier(.4,0,1,1),opacity .22s,visibility 0s linear .26s;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -16px 48px #0000003d}.privacy-consent--open{opacity:1;visibility:visible;pointer-events:auto;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .26s,visibility;transform:translateY(0)}.privacy-consent__inner{gap:var(--space-6);max-width:var(--container);margin-inline:auto;display:grid}.privacy-consent__copy{max-width:67ch}.privacy-consent__copy h2{margin-top:var(--space-2);font-size:clamp(1.35rem,4vw,2rem);line-height:1.2}.privacy-consent__copy p:not(.label){margin-block:var(--space-3);color:var(--color-text-muted);line-height:1.55}.privacy-consent__copy a,.legal-page__content a{color:var(--color-brand-bright);text-underline-offset:3px;text-decoration:underline}.privacy-consent__options{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-border-strong);gap:1px;display:grid;overflow:hidden}.privacy-consent__option{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-4);background:var(--color-bg);display:flex}.privacy-consent__option strong{font-size:var(--text-base);display:block}.privacy-consent__option p,.privacy-consent__option small{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45;display:block}.privacy-consent__option>span:last-child{color:var(--color-text-muted);font-size:var(--text-sm);flex:none}.privacy-consent__option input{width:1.4rem;height:1.4rem;accent-color:var(--color-brand);cursor:pointer;flex:none}.privacy-consent__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.privacy-consent__actions .button{justify-content:center;min-height:2.9rem}.privacy-consent__text-button{min-height:2.9rem;padding-inline:var(--space-3);color:var(--color-text);text-underline-offset:3px;text-decoration:underline}.legal-page{padding-bottom:var(--space-24)}.legal-page__inner{max-width:56rem}.legal-page__title{overflow-wrap:anywhere;font-size:clamp(2rem,7vw,4.5rem);line-height:1.07}.legal-page__intro{max-width:65ch;margin-top:var(--space-6);color:var(--color-text-muted);font-size:var(--text-lg);line-height:1.6}.legal-page__date{margin-top:var(--space-4);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.legal-page__content{gap:var(--space-12);margin-top:var(--space-16);display:grid}.legal-page__content section{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border-strong);display:grid}.legal-page__content h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.2}.legal-page__content p,.legal-page__content li{max-width:75ch;color:var(--color-text-muted);line-height:1.7}.legal-page__content strong{color:var(--color-text)}.legal-page__content ul{gap:var(--space-4);padding-left:var(--space-5);list-style:outside;display:grid}.legal-page__table-wrap{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);max-width:100%;overflow-x:auto}.legal-page__table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:44rem}.legal-page__table-wrap th,.legal-page__table-wrap td{padding:var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:top}.legal-page__table-wrap th{background:var(--color-surface)}.legal-page__table-wrap td{color:var(--color-text-muted)}.legal-page__table-wrap code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text)}.legal-page__action{justify-self:start}@media (width<=639px){.privacy-consent__actions .button,.privacy-consent__text-button{width:100%}.legal-page__content{gap:var(--space-10);margin-top:var(--space-12)}}@media (prefers-reduced-motion:reduce){.privacy-consent,.privacy-consent--open{transition:opacity .14s,visibility 0s linear .14s;transform:none}.privacy-consent--open{transition:opacity .14s,visibility}}
