@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-latin-400-normal-C81ewxNO.woff2)format("woff2"),url(/assets/archivo-latin-400-normal-Bl602Mgc.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-latin-500-normal-CGugC8dq.woff2)format("woff2"),url(/assets/archivo-latin-500-normal-pkzA7jw9.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-latin-600-normal-3BBy0ZsW.woff2)format("woff2"),url(/assets/archivo-latin-600-normal-DwYieO8P.woff)format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/archivo-latin-800-normal-cB6v3kRN.woff2)format("woff2"),url(/assets/archivo-latin-800-normal-DZa_k145.woff)format("woff")}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-narrow-latin-500-normal-BH-FPhCi.woff2)format("woff2"),url(/assets/archivo-narrow-latin-500-normal-Oafwxh5s.woff)format("woff")}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-latin-700-normal-DtADLsoy.woff2)format("woff2"),url(/assets/archivo-narrow-latin-700-normal-DxmyBkwC.woff)format("woff")}:root{--color-bg:#f4f3f0;--color-bg-alt:#e8e6e1;--color-placeholder:#dedbd5;--color-border:#d6d3cd;--color-border-input:#a8a59e;--color-text:#111;--color-text-secondary:#3a3935;--color-text-muted:#5a5853;--color-link-hover:#555;--color-white:#fff;--color-error:#a4281b;--color-whatsapp:#25d366;--color-dark:#111;--color-dark-surface:#2b2a28;--color-on-dark:#f4f3f0;--color-on-dark-secondary:#c9c6bf;--color-on-dark-muted:#a8a59e;--color-accent:#111;--font-body:"Archivo", system-ui, sans-serif;--font-display:"Archivo Narrow", sans-serif;--text-h1:clamp(48px, 7vw, 92px);--text-h2:clamp(36px, 5vw, 60px);--text-h3:22px;--text-h3-large:24px;--text-service-number:56px;--text-process-letter:20px;--text-strip:20px;--text-lead:18px;--text-lead-small:17px;--text-body:16px;--text-nav:15px;--text-label:14px;--text-eyebrow:13px;--leading-h1:.95;--leading-h2:1;--leading-body:1.6;--tracking-h1:-2px;--tracking-h2:-1px;--tracking-eyebrow:3px;--tracking-category:2px;--space-12:12px;--space-16:16px;--space-24:24px;--space-28:28px;--space-32:32px;--space-48:48px;--space-56:56px;--space-64:64px;--container-max:1240px;--gutter:24px;--section-py:112px;--hero-pt:72px;--hero-pb:56px;--logo-size:44px;--col-services:280px;--col-hero:320px;--col-wide:340px;--media-hero-max:760px;--media-project:420px;--media-process:300px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1);--motion-fast:.16s;--motion-hover:.2s;--motion-overlay:.45s;--motion-reveal:.7s;--motion-stagger:80ms;--reveal-distance:32px;--motion-slide:.9s;--slide-duration:6s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);font-weight:700}h1{font-size:var(--text-h1);line-height:var(--leading-h1);letter-spacing:var(--tracking-h1)}h2{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}h3{font-size:var(--text-h3);font-weight:600;line-height:1.25}a{color:inherit}img,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline-offset:3px;outline:2px solid}.container{width:100%;max-width:var(--container-max);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reveal{opacity:0;transition:opacity var(--motion-reveal) var(--ease-soft), transform var(--motion-reveal) var(--ease-soft);transition-delay:calc(var(--reveal-index,0) * var(--motion-stagger))}.reveal--from-bottom{transform:translateY(var(--reveal-distance))}.reveal--from-left{transform:translateX(calc(var(--reveal-distance) * -1))}.reveal--from-right{transform:translateX(var(--reveal-distance))}.reveal.is-visible{opacity:1;transform:none}.hero__slide{transition:opacity var(--motion-slide) var(--ease-out);transform:scale(1.06)}.hero__slide.is-active{animation:hero-slide-zoom var(--slide-duration) linear both}.hero__slide--video,.hero__slide--video.is-active{animation:none;transform:none}@keyframes hero-slide-zoom{0%{transform:scale(1)}to{transform:scale(1.06)}}.hero__indicator-fill.is-running{animation:hero-progress var(--slide-duration) linear both}@keyframes hero-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero__project{animation:hero-project-in .3s var(--ease-out)}@keyframes hero-project-in{0%{opacity:0}}@keyframes zoom-on-scroll{0%{transform:scale(1)}to{transform:scale(1.08)}}@supports (animation-timeline:view()){.zoom-on-scroll{animation:linear both zoom-on-scroll;animation-timeline:view()}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.zoom-on-scroll{animation:none}.hero__slide,.hero__slide.is-active{transition:none;animation:none;transform:none}.hero__project,.hero__indicator-fill.is-running{animation:none}}.button{text-align:center;cursor:pointer;min-height:48px;transition:background-color var(--motion-hover) var(--ease-out), color var(--motion-hover) var(--ease-out), opacity var(--motion-hover) var(--ease-out), transform var(--motion-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;padding:16px 28px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.button:active{transform:scale(.97)}.button:disabled,.button[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none}.button--small{min-height:44px;padding:12px 20px}.button--large{gap:var(--space-16);min-width:min(360px,100%);min-height:72px;font-size:var(--text-lead-small);letter-spacing:.5px;padding:24px 48px}.button__arrow{transition:transform var(--motion-hover) var(--ease-out)}@media (width<=599px){.button--large{width:100%}}.button--primary{background:var(--color-accent);color:var(--color-white)}.button--secondary{border-color:var(--color-text);color:var(--color-text);background:0 0}.button--secondary.button--on-dark{border-color:var(--color-on-dark);color:var(--color-on-dark)}.button--primary.button--on-dark{background:var(--color-on-dark);color:var(--color-dark)}@media (hover:hover){.button--primary:hover:not(:disabled){opacity:.85}.button--secondary:hover:not(:disabled){background:var(--color-text);color:var(--color-bg)}.button--secondary.button--on-dark:hover:not(:disabled){background:var(--color-on-dark);color:var(--color-dark)}.button:hover .button__arrow{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.button__arrow{transition:none}.button:hover .button__arrow{transform:none}}.error-message{align-items:flex-start;gap:var(--space-24);max-width:560px;padding:var(--space-64) var(--gutter);font-size:var(--text-lead-small);color:var(--color-text-secondary);flex-direction:column;margin-inline:auto;display:flex}.spinner{align-items:center;gap:var(--space-16);padding:var(--space-64) var(--gutter);color:var(--color-text-muted);font-size:var(--text-label);flex-direction:column;display:flex}.spinner__bar{background:var(--color-border);width:120px;height:2px;position:relative;overflow:hidden}.spinner__bar:after{content:"";animation:spinner-slide 1.1s var(--ease-out) infinite;background:currentColor;position:absolute;inset:0}@keyframes spinner-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.spinner__bar:after{animation:none}}.footer{background:var(--color-dark);color:var(--color-on-dark-muted);font-size:var(--text-label)}.footer__inner{gap:var(--space-24);flex-direction:column;padding-block:40px;display:flex}.footer__row{justify-content:space-between;align-items:center;gap:var(--space-16);flex-wrap:wrap;display:flex}.footer__row--secondary{padding-top:var(--space-24);border-top:1px solid var(--color-dark-surface)}.footer__name{color:var(--color-on-dark);letter-spacing:.5px;font-weight:800}.footer__legal{gap:var(--space-24);flex-wrap:wrap;display:flex}.footer__link{min-height:44px;color:var(--color-on-dark-muted);transition:color var(--motion-hover) var(--ease-out);align-items:center;display:inline-flex}.footer__social{gap:8px;margin:0 -11px;padding:0;list-style:none;display:flex}.footer__social-link{width:44px;height:44px;color:var(--color-on-dark-muted);transition:color var(--motion-hover) var(--ease-out);place-content:center;display:grid}.footer__social-icon{width:22px;height:22px}@media (width<=767px){.footer__inner{padding-bottom:96px}}@media (hover:hover){.footer__link:hover,.footer__social-link:hover{color:var(--color-on-dark)}}.header{z-index:10;background:var(--color-bg);border-bottom:1px solid var(--color-border);transition:transform var(--motion-hover) var(--ease-out);position:sticky;top:0}.header.is-hidden{transform:translateY(-100%)}.header:has(:focus-visible){transform:none}.header__bar{justify-content:space-between;align-items:center;gap:var(--space-16);padding-block:18px;display:flex}.header__left{align-items:center;gap:var(--space-12);display:flex}.header__brand{align-items:center;gap:var(--space-12);color:var(--color-text);text-decoration:none;display:flex}.header__logo-circle{width:var(--logo-size);height:var(--logo-size);background:var(--color-text);color:var(--color-bg);font-family:var(--font-display);letter-spacing:-.5px;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.header__logo-image{width:auto;height:var(--logo-size)}.header__brand-text{flex-direction:column;line-height:1.1;display:flex}.header__brand-name{letter-spacing:.5px;font-size:16px;font-weight:800}.header__brand-subtitle{letter-spacing:1.5px;color:var(--color-text-muted);font-size:12px}.header__toggle{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;margin-left:-10px;padding:0;display:flex}.header__toggle-icon,.header__toggle-icon:before,.header__toggle-icon:after{background:var(--color-text);width:24px;height:2px;transition:transform var(--motion-hover) var(--ease-out);display:block}.header__toggle-icon{position:relative}.header__toggle-icon:before,.header__toggle-icon:after{content:"";position:absolute;left:0}.header__toggle-icon:before{transform:translateY(-7px)}.header__toggle-icon:after{transform:translateY(7px)}.header__toggle[aria-expanded=true] .header__toggle-icon{background:0 0}.header__toggle[aria-expanded=true] .header__toggle-icon:before{transform:rotate(45deg)}.header__toggle[aria-expanded=true] .header__toggle-icon:after{transform:rotate(-45deg)}.header__menu{background:var(--color-bg);border-bottom:1px solid var(--color-border);display:none;position:absolute;top:100%;left:0;right:0}.header__menu.is-open{animation:header-menu-in var(--motion-hover) var(--ease-out);display:block}.header__menu-inner{padding-bottom:var(--space-16);flex-direction:column;align-items:flex-start;display:flex}.header__link{border-top:1px solid var(--color-border);width:100%;min-height:52px;color:var(--color-text);font-size:var(--text-lead-small);transition:color var(--motion-hover) var(--ease-out);align-items:center;text-decoration:none;display:flex}.header__link:first-child{border-top:0}@media (hover:hover){.header__link:hover{color:var(--color-link-hover)}}.header__cta--menu{margin-top:var(--space-12);display:none}@media (width<=767px){.header__cta--bar{display:none}.header__cta--menu{width:100%;display:inline-flex}}@keyframes header-menu-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.header,.header__toggle-icon,.header__toggle-icon:before,.header__toggle-icon:after{transition:none}.header__menu.is-open{animation:none}}.whatsapp-button{right:var(--space-24);bottom:calc(var(--space-24) + env(safe-area-inset-bottom,0px));z-index:15;border:1px solid color-mix(in srgb, var(--color-dark) 15%, transparent);background:var(--color-whatsapp);width:56px;height:56px;color:var(--color-white);animation:whatsapp-button-in var(--motion-reveal) var(--ease-out) backwards;transition:opacity var(--motion-hover) var(--ease-out), transform var(--motion-hover) var(--ease-out);border-radius:50%;place-content:center;animation-delay:.6s;display:grid;position:fixed}.whatsapp-button__icon{fill:currentColor;width:30px;height:30px}.whatsapp-button:active{transform:scale(.97)}.whatsapp-button.is-hidden{opacity:0;pointer-events:none;transform:scale(.9)}.whatsapp-button:focus-visible{outline:2px solid var(--color-dark);outline-offset:3px;box-shadow:0 0 0 7px var(--color-bg)}@media (hover:hover){.whatsapp-button:hover{transform:scale(1.05)}}@media (width<=767px){.whatsapp-button{right:var(--space-16);bottom:calc(var(--space-16) + env(safe-area-inset-bottom,0px))}}@keyframes whatsapp-button-in{0%{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.whatsapp-button{transition:none;animation:none}.whatsapp-button:hover{transform:none}}.layout{flex-direction:column;min-height:100vh;display:flex}.layout__main{flex:1}.layout__main:focus{outline:none}.layout__skip-link{z-index:20;padding:var(--space-12) var(--space-16);background:var(--color-text);color:var(--color-bg);position:absolute;top:0;left:0;transform:translateY(-100%)}.layout__skip-link:focus{transform:none}.section__inner{padding-block:var(--section-py)}.section--alt{background:var(--color-bg-alt)}.section--dark{background:var(--color-dark);color:var(--color-on-dark)}@media (width<=767px){.section__inner{padding-block:var(--space-64)}}.section--with-background{isolation:isolate;position:relative;overflow:hidden}.section__background{z-index:-2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.section--with-background:after{content:"";z-index:-1;background:linear-gradient(to right, color-mix(in srgb, var(--color-dark) 80%, transparent), color-mix(in srgb, var(--color-dark) 60%, transparent));position:absolute;inset:0}.contact{gap:var(--space-48);flex-direction:column;display:flex}.contact__header{gap:var(--space-24);flex-direction:column;display:flex}.contact__intro{font-size:var(--text-lead-small);color:var(--color-text-secondary)}@media (width<=767px){.contact{gap:var(--space-32)}}.hero{min-height:min(78vh, var(--media-hero-max));background:var(--color-dark);color:var(--color-on-dark);border-bottom:1px solid var(--color-dark-surface);display:flex;position:relative;overflow:clip}.hero__background{position:absolute;inset:0}.hero__slide{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.hero__slide.is-active{opacity:1}.hero__shade{background:linear-gradient(to right, color-mix(in srgb, var(--color-dark) 70%, transparent), color-mix(in srgb, var(--color-dark) 15%, transparent) 70%), linear-gradient(to top, color-mix(in srgb, var(--color-dark) 85%, transparent), color-mix(in srgb, var(--color-dark) 25%, transparent) 55%);position:absolute;inset:0}.hero__content{justify-content:flex-end;gap:var(--space-56);padding-top:var(--hero-pt);padding-bottom:var(--space-32);flex-direction:column;display:flex;position:relative}.hero__text{gap:var(--space-24);flex-direction:column;max-width:640px;display:flex}.hero__eyebrow{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);color:var(--color-on-dark-secondary);text-transform:uppercase}.hero__body{font-size:var(--text-lead);color:var(--color-on-dark)}.hero__actions{gap:var(--space-12);flex-wrap:wrap;display:flex}.hero__footer{justify-content:space-between;align-items:flex-end;gap:var(--space-24);padding-top:var(--space-24);border-top:1px solid color-mix(in srgb, var(--color-on-dark) 30%, transparent);flex-wrap:wrap;display:flex}.hero__project{color:var(--color-on-dark);flex-direction:column;gap:6px;text-decoration:none;display:inline-flex}.hero__project-category{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-category);color:var(--color-on-dark-secondary);text-transform:uppercase}.hero__project-title{font-size:var(--text-h3);font-weight:600;line-height:1.25}.hero__controls{align-items:center;display:flex}.hero__control{width:44px;height:44px;color:var(--color-on-dark);opacity:.6;cursor:pointer;transition:opacity var(--motion-hover) var(--ease-out), transform var(--motion-fast) var(--ease-out);background:0 0;border:0;place-content:center;padding:0;font-size:22px;line-height:1;display:grid}.hero__control--pause{font-size:11px}.hero__control:active{transform:scale(.9)}.hero__control:focus-visible{opacity:1}.hero__indicators{gap:6px;display:flex}.hero__indicator{cursor:pointer;background:0 0;border:0;width:32px;height:44px;padding:0;position:relative}.hero__indicator:before{content:"";background:color-mix(in srgb, var(--color-on-dark) 35%, transparent);height:2px;transition:background-color var(--motion-hover) var(--ease-out);position:absolute;top:50%;left:0;right:0}.hero__indicator-fill{background:var(--color-on-dark);transform-origin:0;height:2px;position:absolute;top:50%;left:0;right:0}@media (hover:hover){.hero__control:hover{opacity:1}.hero__project:hover .hero__project-title{text-decoration:underline}.hero__indicator:hover:before{background:color-mix(in srgb, var(--color-on-dark) 70%, transparent)}}@media (width<=767px){.hero{min-height:min(86vh,640px)}.hero__content{gap:var(--space-32);padding-top:var(--space-48);padding-bottom:var(--space-24)}.hero__shade{background:linear-gradient(to top, color-mix(in srgb, var(--color-dark) 88%, transparent), color-mix(in srgb, var(--color-dark) 45%, transparent))}.hero__controls{width:100%;margin-left:-14px;padding-right:72px}}.process{gap:var(--space-56);flex-direction:column;display:flex}.process__header{grid-template-columns:repeat(auto-fit, minmax(min(var(--col-hero), 100%), 1fr));gap:var(--space-32);align-items:end;display:grid}.process__intro{font-size:var(--text-lead-small);color:var(--color-text-secondary)}.process__media{aspect-ratio:16/9;background:var(--color-dark);max-height:70vh}.process__video{object-fit:cover;width:100%;height:100%}.process__grid{grid-template-columns:repeat(auto-fit, minmax(min(var(--col-services), 100%), 1fr));gap:1px;margin:0;padding:1px;list-style:none;display:grid}.process__card{gap:var(--space-16);padding:40px var(--space-32);background:var(--color-bg);outline:1px solid var(--color-border);flex-direction:column;display:flex}.process__number{font-family:var(--font-display);font-size:var(--text-service-number);color:var(--color-accent);font-weight:700;line-height:1}.process__title{font-size:var(--text-h3-large)}.process__description{color:var(--color-text-secondary)}@media (width<=767px){.process{gap:var(--space-32)}.process__card{padding:var(--space-32) var(--space-24)}}.projects-teaser{gap:var(--space-48);flex-direction:column;display:flex}.projects-teaser__header{justify-content:space-between;align-items:flex-end;gap:var(--space-24);flex-wrap:wrap;display:flex}.projects-teaser__instagram{color:var(--color-on-dark);font-size:var(--text-nav)}.projects-teaser--with-background{justify-content:center;min-height:60vh}@media (width<=767px){.projects-teaser--with-background{min-height:50vh}}.media-placeholder{width:100%;height:100%}.media-placeholder--light{background:var(--color-placeholder)}.media-placeholder--dark{background:var(--color-dark-surface)}.cover-overlay{background:color-mix(in srgb, var(--color-dark) 82%, transparent);color:var(--color-on-dark);opacity:0;pointer-events:none;transition:opacity var(--motion-overlay) var(--ease-soft);position:absolute;inset:0}.cover-overlay__content{justify-content:flex-end;align-items:flex-start;gap:var(--space-16);height:100%;padding:var(--space-24);transition:transform var(--motion-overlay) var(--ease-soft);flex-direction:column;display:flex;transform:translateY(12px)}.cover-overlay__text{white-space:pre-line;scrollbar-width:thin;scrollbar-color:var(--color-on-dark-muted) transparent;width:100%;min-height:0;padding-bottom:28px;line-height:1.5;display:block;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}.cover-overlay__text::-webkit-scrollbar{width:4px}.cover-overlay__text::-webkit-scrollbar-thumb{background:var(--color-on-dark-muted)}@media (hover:hover){.has-cover-overlay:hover .cover-overlay,.has-cover-overlay:focus-within .cover-overlay{opacity:1;pointer-events:auto}.has-cover-overlay:hover .cover-overlay__content,.has-cover-overlay:focus-within .cover-overlay__content{transform:none}}@media (hover:none){.has-cover-overlay.is-centered .cover-overlay{opacity:1;pointer-events:auto}.has-cover-overlay.is-centered .cover-overlay__content{transform:none}}@media (prefers-reduced-motion:reduce){.cover-overlay,.cover-overlay__content{transition:none;transform:none}}.services{gap:var(--space-56);flex-direction:column;display:flex}.services__header{grid-template-columns:repeat(auto-fit, minmax(min(var(--col-hero), 100%), 1fr));gap:var(--space-32);align-items:end;display:grid}.services__intro{font-size:var(--text-lead-small);color:var(--color-on-dark-secondary)}.services__grid{gap:var(--space-24);grid-template-columns:1fr;display:grid}@media (width>=600px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.services__grid{grid-template-columns:repeat(var(--service-columns,4), 1fr)}}.service-card{gap:var(--space-16);flex-direction:column;display:flex}.service-card__media{height:var(--media-project);background:var(--color-dark-surface);position:relative;overflow:hidden}.service-card__image{object-fit:cover;width:100%;height:100%;transition:transform var(--motion-reveal) var(--ease-out)}.service-card__title{font-size:var(--text-h3-large);color:var(--color-on-dark)}@media (hover:hover){.service-card__media:hover .service-card__image{transform:scale(1.04)}}@media (width<=767px){.service-card__media{aspect-ratio:4/5;height:auto}}@media (prefers-reduced-motion:reduce){.service-card__image{transition:none}.service-card__media:hover .service-card__image{transform:none}}.quote-form{column-gap:var(--space-24);background:var(--color-bg);border:1px solid var(--color-border);grid-template-columns:1fr;align-items:start;row-gap:18px;padding:36px;display:grid}@media (width>=600px){.quote-form{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.quote-form{grid-template-columns:repeat(3,1fr)}}.quote-form__full,.quote-form__error,.quote-form__submit{grid-column:1/-1}.quote-field{flex-direction:column;gap:8px;display:flex}.quote-field__label{font-size:var(--text-label);font-weight:600}.quote-field__hint{font-size:var(--text-label);color:var(--color-text-muted)}.quote-field__control{border:1px solid var(--color-border-input);background:var(--color-white);width:100%;font-size:var(--text-body);transition:border-color var(--motion-hover) var(--ease-out);border-radius:0;padding:14px}textarea.quote-field__control{resize:vertical}.quote-field>input.quote-field__control,.quote-field>select.quote-field__control{height:56px}.quote-field__control:focus-visible{border-color:var(--color-text);outline-offset:0}.quote-field__control:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.quote-field__control[aria-invalid=true]{border-color:var(--color-error)}.quote-field__error,.quote-form__error{font-size:var(--text-label);color:var(--color-error)}.quote-form__error{font-size:var(--text-body)}.quote-form__error a{color:inherit}.quote-check{align-items:center;column-gap:var(--space-12);grid-template-columns:auto 1fr;row-gap:8px;display:grid}.quote-check__box{appearance:none;border:1px solid var(--color-border-input);background:var(--color-white);cursor:pointer;width:24px;height:24px;transition:background-color var(--motion-fast) var(--ease-out);border-radius:0;place-content:center;margin:0;display:grid}.quote-check__box:before{content:"";background:var(--color-white);width:12px;height:12px;transition:transform var(--motion-fast) var(--ease-out);transform:scale(0)}.quote-check__box:checked{border-color:var(--color-accent);background:var(--color-accent)}.quote-check__box:checked:before{transform:scale(1)}.quote-check__box[aria-invalid=true]{border-color:var(--color-error)}.quote-check__label{cursor:pointer;align-items:center;min-height:24px;display:flex}.quote-check__label a{color:var(--color-text)}.quote-check__error{grid-column:1/-1}.quote-check--small{align-items:start}.quote-check--small .quote-check__label{font-size:var(--text-label);color:var(--color-text-secondary);display:block}@media (prefers-reduced-motion:reduce){.quote-check__box,.quote-check__box:before{transition:none}}.quote-form__submit{width:100%}.quote-form__trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.quote-success{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.quote-success__title{font-size:var(--text-h3-large)}.quote-success__title:focus{outline:none}.quote-success__text{color:var(--color-text-secondary)}.quote-success__reset{min-height:44px;color:var(--color-text);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.contact .spinner,.contact .error-message{background:var(--color-bg);border:1px solid var(--color-border);margin-inline:0;padding:36px}@media (width<=767px){.quote-form{padding:var(--space-24)}}.not-found{align-items:flex-start;gap:var(--space-28);flex-direction:column;display:flex}.not-found__title{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.not-found__message{font-size:var(--text-lead);color:var(--color-text-secondary)}.not-found__actions{gap:var(--space-12);flex-wrap:wrap;display:flex}.legal-page{gap:var(--space-48);flex-direction:column;max-width:820px;display:flex}.legal-page__header{gap:var(--space-16);flex-direction:column;display:flex}.legal-page__title{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.legal-page__date{font-size:var(--text-label);color:var(--color-text-muted)}.legal-page__intro{font-size:var(--text-lead);color:var(--color-text-secondary);white-space:pre-line}.legal-page__section{gap:var(--space-12);padding-top:var(--space-32);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.legal-page__subtitle{font-family:var(--font-body);font-size:var(--text-h3-large);letter-spacing:0;font-weight:600;line-height:1.25}.legal-page__text{color:var(--color-text-secondary);white-space:pre-line}html:has(.lightbox[open]){overflow:hidden}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;padding:var(--space-16);background:var(--color-dark);color:var(--color-on-dark);border:0;margin:0}.lightbox[open]{align-items:center;gap:var(--space-16);animation:lightbox-in var(--motion-hover) var(--ease-out);flex-direction:column;display:flex}.lightbox__image{object-fit:contain;max-width:100%;min-height:0;animation:lightbox-in var(--motion-hover) var(--ease-out);flex:1}.lightbox__nav{align-items:center;gap:var(--space-24);display:flex}.lightbox__counter{font-size:var(--text-label);color:var(--color-on-dark-muted);font-variant-numeric:tabular-nums}.lightbox__button{min-height:48px;padding:var(--space-12) var(--space-16);color:var(--color-on-dark);cursor:pointer;transition:border-color var(--motion-hover) var(--ease-out), transform var(--motion-fast) var(--ease-out);background:0 0;border:1px solid #0000;font-weight:600}.lightbox__button:active{transform:scale(.97)}.lightbox__close{align-self:flex-end}@media (hover:hover){.lightbox__button:hover{border-color:var(--color-on-dark)}}@keyframes lightbox-in{0%{opacity:0;transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.lightbox[open],.lightbox__image{animation:none}}.media-gallery{grid-template-columns:repeat(auto-fill, minmax(min(var(--col-services), 100%), 1fr));gap:var(--space-24);display:grid}.media-gallery__item{aspect-ratio:4/3;background:var(--color-dark-surface);overflow:hidden}.media-gallery__button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.media-gallery__media{object-fit:cover;width:100%;height:100%;transition:transform var(--motion-reveal) var(--ease-out)}.media-gallery__button:focus-visible{outline-offset:-4px;outline-color:var(--color-on-dark)}@media (hover:hover){.media-gallery__button:hover .media-gallery__media{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.media-gallery__media{transition:none}.media-gallery__button:hover .media-gallery__media{transform:none}}.project-detail{gap:var(--space-48);flex-direction:column;display:flex}.project-detail__header{align-items:flex-start;gap:var(--space-16);flex-direction:column;display:flex}.project-detail__back{min-height:44px;margin-bottom:var(--space-16);color:var(--color-on-dark-secondary);font-size:var(--text-nav);transition:color var(--motion-hover) var(--ease-out);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.project-detail__category{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-category);color:var(--color-on-dark-muted);text-transform:uppercase}.project-detail__title{max-width:22ch;font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.project-detail__details{color:var(--color-on-dark-secondary)}.project-detail__cover{aspect-ratio:16/9;background:var(--color-dark-surface);max-height:80vh;position:relative;overflow:clip}.project-detail__cover .cover-overlay__content{padding:var(--space-48)}.project-detail__cover-text{font-size:var(--text-lead-small);padding-right:max(0px,100% - 68ch)}.project-detail__cover-image{object-fit:cover;width:100%;height:100%}@media (width<=767px){.project-detail__cover .cover-overlay__content{padding:var(--space-24)}}@media (hover:hover){.project-detail__back:hover{color:var(--color-on-dark)}}@media (width<=767px){.project-detail{gap:var(--space-32)}.project-detail__cover{aspect-ratio:4/3}}.category-filter{gap:var(--space-24);border-bottom:1px solid var(--color-dark-surface);flex-wrap:wrap;display:flex}.category-filter__link{min-height:48px;color:var(--color-on-dark-secondary);font-size:var(--text-nav);transition:color var(--motion-hover) var(--ease-out), border-color var(--motion-hover) var(--ease-out);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;text-decoration:none;display:inline-flex}.category-filter__link[aria-current=page]{border-bottom-color:var(--color-on-dark);color:var(--color-on-dark);font-weight:600}@media (hover:hover){.category-filter__link:hover{color:var(--color-on-dark)}}.project-card__link{gap:var(--space-16);color:inherit;flex-direction:column;text-decoration:none;display:flex}.project-card__media{height:var(--media-project);background:var(--color-dark-surface);position:relative;overflow:hidden}.project-card__image{object-fit:cover;width:100%;height:100%;transition:transform var(--motion-reveal) var(--ease-out)}.project-card__text{gap:var(--space-16);flex-direction:column;display:flex}.project-card__category{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-category);color:var(--color-on-dark-muted);text-transform:uppercase}.project-card__title{font-family:var(--font-body);font-size:var(--text-h3);letter-spacing:0;color:var(--color-on-dark);font-weight:600;line-height:1.25}.project-card__summary{color:var(--color-on-dark-secondary)}.project-card__link:focus-visible .cover-overlay{opacity:1;pointer-events:auto}.project-card__link:focus-visible .cover-overlay__content{transform:none}@media (hover:hover){.project-card__link:hover .project-card__image{transform:scale(1.04)}}@media (hover:none){.project-card .has-cover-overlay.is-centered .cover-overlay{pointer-events:none}.project-card .has-cover-overlay.is-centered .cover-overlay__text{pointer-events:auto}}@media (width<=767px){.project-card__media{aspect-ratio:4/3;height:auto}}@media (prefers-reduced-motion:reduce){.project-card__image{transition:none}.project-card__link:hover .project-card__image{transform:none}}.project-grid{grid-template-columns:repeat(auto-fill, minmax(min(var(--col-wide), 100%), 1fr));gap:var(--space-24);display:grid}.projects-page{gap:var(--space-48);flex-direction:column;min-height:70vh;display:flex}.projects-page__title{font-size:var(--text-h2);line-height:var(--leading-h2);letter-spacing:var(--tracking-h2)}.projects-page__empty{font-size:var(--text-lead-small);color:var(--color-on-dark-secondary)}.projects-page .spinner,.projects-page .error-message{color:var(--color-on-dark-secondary);align-items:flex-start;margin-inline:0;padding-inline:0}.projects-page .spinner__bar{background:var(--color-dark-surface)}.projects-page .error-message .button{border-color:var(--color-on-dark);color:var(--color-on-dark)}.projects-page__back{min-height:44px;margin-bottom:calc(var(--space-16) - var(--space-48));color:var(--color-on-dark);font-size:var(--text-nav);align-self:flex-start;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.projects-page__back-arrow{transition:transform var(--motion-hover) var(--ease-out)}@media (hover:hover){.projects-page__back:hover .projects-page__back-arrow{transform:translate(-4px)}}@media (prefers-reduced-motion:reduce){.projects-page__back-arrow{transition:none}.projects-page__back:hover .projects-page__back-arrow{transform:none}}
