:root{--color-orange: oklch(67% .19 46);--color-orange-hover: oklch(62% .19 46);--color-bg-light: oklch(99% .005 46);--color-surface-light: oklch(97% .006 46);--color-border-light: oklch(92% .008 46);--color-ink-light: oklch(16% .01 46);--color-muted-light: oklch(42% .01 46);--color-bg-dark: oklch(18% .015 46);--color-surface-dark: oklch(22% .015 46);--color-border-dark: oklch(28% .015 46);--color-ink-dark: oklch(95% .005 46);--color-muted-dark: oklch(78% .008 46);--font-display: "Jost", sans-serif;--font-body: "Archivo", sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .38vw, 1rem);--text-base: clamp(1rem, .92rem + .4vw, 1.125rem);--text-md: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--text-lg: clamp(1.562rem, 1.4rem + .8vw, 2rem);--text-xl: clamp(1.953rem, 1.7rem + 1.2vw, 2.5rem);--text-display: clamp(2.441rem, 2.1rem + 1.8vw, 3.5rem);--text-hero: clamp(3.051rem, 2.5rem + 2.8vw, 5rem);--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-8: 4rem;--space-12: 6rem;--space-16: 8rem;--max-width: 1280px;--transition-fast: .2s cubic-bezier(.25, .46, .45, .94);--transition-medium: .4s cubic-bezier(.25, .46, .45, .94);--transition-slow: .8s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-bg-light);color:var(--color-ink-light);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased}body{overflow-x:hidden;line-height:1.6}.container{max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:var(--space-5);padding-right:var(--space-5)}@media (min-width: 768px){.container{padding-left:var(--space-8);padding-right:var(--space-8)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{position:fixed;top:0;left:0;width:100%;z-index:100;background-color:transparent;border-bottom:1px solid transparent;height:90px;display:flex;align-items:center;transition:height var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.header--scrolled{height:70px;background-color:#fffbf9e5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--color-border-light)}.header__container{width:100%;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.logo__img{height:36px;width:auto}.logo__text{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;color:var(--color-ink-dark);letter-spacing:-.03em;transition:color var(--transition-fast)}.nav{display:none}@media (min-width: 768px){.nav{display:flex;gap:var(--space-6)}}.nav__link{font-family:var(--font-display);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;color:var(--color-muted-dark);text-decoration:none;letter-spacing:.08em;transition:color var(--transition-fast)}.nav__link:hover{color:var(--color-orange)}.header--scrolled .logo__text{color:var(--color-ink-light)}.header--scrolled .nav__link{color:var(--color-muted-light)}.header--scrolled .menu-toggle__line{background-color:var(--color-ink-light)}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;padding:.75rem 2rem;border-radius:0;border:1px solid transparent;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn--primary{background-color:var(--color-orange);color:var(--color-ink-light)}.btn--primary:hover{background-color:var(--color-orange-hover);color:var(--color-ink-light)}.btn--secondary{border-color:var(--color-ink-light);color:var(--color-ink-light);background-color:transparent}.btn--secondary:hover{background-color:var(--color-ink-light);color:#fff}.hero .btn--secondary{border-color:var(--color-ink-dark);color:var(--color-ink-dark)}.hero .btn--secondary:hover{background-color:var(--color-ink-dark);color:var(--color-ink-light)}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-2)}@media (min-width: 768px){.menu-toggle{display:none}}.menu-toggle__line{width:25px;height:2px;background-color:var(--color-ink-dark);transition:transform var(--transition-fast),opacity var(--transition-fast),background-color var(--transition-fast)}.mobile-nav{position:fixed;top:0;right:-100%;width:80%;max-width:320px;height:100vh;background-color:var(--color-bg-light);z-index:99;padding:var(--space-12) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);box-shadow:-4px 0 24px #00000014;transition:right var(--transition-medium)}.mobile-nav--open{right:0}.mobile-nav__overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#110c0a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:98;opacity:0;pointer-events:none;transition:opacity var(--transition-medium)}.mobile-nav__overlay--visible{opacity:1;pointer-events:auto}.mobile-nav__link{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;text-transform:uppercase;color:var(--color-ink-light);text-decoration:none;letter-spacing:.08em;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:120px;padding-bottom:var(--space-12);background-color:var(--color-bg-dark);color:var(--color-ink-dark)}.hero__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:center}@media (min-width: 992px){.hero__grid{grid-template-columns:1.1fr .9fr;gap:var(--space-12)}}.hero__content{display:flex;flex-direction:column;gap:var(--space-5)}.hero__heading{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;line-height:1.05;letter-spacing:-.04em;text-transform:uppercase}.hero__heading span{color:var(--color-orange)}.hero__desc{font-size:var(--text-base);color:var(--color-muted-dark);max-width:520px}.hero__actions{display:flex;gap:var(--space-3);margin-top:var(--space-3)}.hero__image-wrapper{position:relative;width:100%;height:450px}@media (min-width: 768px){.hero__image-wrapper{height:550px}}.hero__image-border{position:absolute;top:var(--space-4);left:calc(-1 * var(--space-4));width:100%;height:100%;border:1px solid var(--color-border-dark);z-index:0}.hero__image{position:relative;width:100%;height:100%;object-fit:cover;z-index:1}.services{padding-top:var(--space-12);padding-bottom:var(--space-12);background-color:var(--color-bg-light);border-bottom:1px solid var(--color-border-light)}.services__grid{display:grid;grid-template-columns:1fr;gap:0}@media (min-width: 768px){.services__grid{grid-template-columns:repeat(3,1fr)}}.service-card{padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-fast)}@media (min-width: 768px){.service-card{padding:var(--space-8) var(--space-6);border-bottom:none}.service-card:not(:first-child){border-left:1px solid var(--color-border-light)}}.service-card:hover{background-color:var(--color-surface-light)}.service-card__num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-orange);opacity:.4}.service-card__title{font-family:var(--font-display);font-size:var(--text-md);font-weight:600;text-transform:uppercase;color:var(--color-ink-light);letter-spacing:.02em}.service-card__desc{font-size:var(--text-sm);color:var(--color-muted-light)}.value-prop{padding-top:var(--space-16);padding-bottom:var(--space-16);background-color:var(--color-bg-dark);color:var(--color-ink-dark);position:relative;overflow:hidden}.value-prop__grid{display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:center}@media (min-width: 992px){.value-prop__grid{grid-template-columns:1fr 1fr}}.value-prop__content{display:flex;flex-direction:column;gap:var(--space-4)}.value-prop__title{font-family:var(--font-display);font-size:var(--text-display);font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:-.03em}.value-prop__divider{width:80px;height:4px;background-color:var(--color-orange)}.value-prop__desc{font-size:var(--text-base);color:var(--color-muted-dark);line-height:1.7}.value-prop__blocks{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media (min-width: 576px){.value-prop__blocks{grid-template-columns:repeat(2,1fr)}}.val-block{height:180px;display:flex;align-items:center;justify-content:center;padding:var(--space-4);text-align:center;border:1px solid var(--color-border-dark);background-color:var(--color-surface-dark);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.val-block--highlight{background-color:var(--color-orange);border-color:var(--color-orange)}.val-block--span-2{grid-column:1 / -1}.val-block__text{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-ink-dark)}.val-block--highlight .val-block__text{color:#fff}.portfolio{padding-top:var(--space-12);padding-bottom:var(--space-12);background-color:var(--color-bg-light)}.portfolio__header{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}@media (min-width: 768px){.portfolio__header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.portfolio__title{font-family:var(--font-display);font-size:var(--text-display);font-weight:700;text-transform:uppercase;letter-spacing:-.03em}.portfolio__subtitle{font-size:var(--text-sm);color:var(--color-muted-light);margin-top:var(--space-1)}.portfolio__filters{display:flex;gap:var(--space-3)}.filter-btn{background:none;border:none;font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted-light);padding:var(--space-2) var(--space-3);border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.filter-btn--active{color:var(--color-orange);border-bottom-color:var(--color-orange)}.portfolio__grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--color-border-light);border-left:1px solid var(--color-border-light)}@media (min-width: 576px){.portfolio__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 992px){.portfolio__grid{grid-template-columns:repeat(4,1fr)}}.portfolio-item{position:relative;aspect-ratio:1;overflow:hidden;border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light)}.portfolio-item--hidden{display:none}.portfolio-item__img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%);transition:filter var(--transition-medium)}.portfolio-item__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#17100c00;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-4);transition:background-color var(--transition-medium)}.portfolio-item:hover .portfolio-item__img{filter:grayscale(0%)}.portfolio-item:hover .portfolio-item__overlay{background-color:#17100cd9}.portfolio-item__cat{font-size:var(--text-xs);color:var(--color-orange);text-transform:uppercase;letter-spacing:.1em;opacity:0;transform:translateY(10px);transition:opacity var(--transition-medium),transform var(--transition-medium)}.portfolio-item__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(10px);transition:opacity var(--transition-medium) .05s,transform var(--transition-medium) .05s}.portfolio-item:hover .portfolio-item__cat,.portfolio-item:hover .portfolio-item__title{opacity:1;transform:translateY(0)}.contact{padding-top:var(--space-12);padding-bottom:var(--space-12);background-color:var(--color-bg-light)}.contact__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}@media (min-width: 992px){.contact__grid{grid-template-columns:1fr 1.1fr;gap:var(--space-12)}}.contact__content{display:flex;flex-direction:column;gap:var(--space-5)}.contact__title{font-family:var(--font-display);font-size:var(--text-display);font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:-.03em}.contact__info{display:flex;flex-direction:column;gap:var(--space-3)}.contact-item{display:flex;align-items:center;gap:var(--space-3)}.contact-item__icon{font-size:24px;color:var(--color-orange);display:flex;align-items:center;justify-content:center}.contact-item__text{font-size:var(--text-base);color:var(--color-ink-light)}.form{display:flex;flex-direction:column;gap:var(--space-3)}.form__input,.form__textarea{width:100%;background-color:var(--color-surface-light);border:1px solid var(--color-border-light);padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-ink-light);outline:none;transition:border-color var(--transition-fast);border-radius:0}.form__input:focus,.form__textarea:focus{border-color:var(--color-orange)}.form__textarea{resize:vertical}.footer{background-color:var(--color-bg-dark);color:var(--color-ink-dark);padding-top:var(--space-12);padding-bottom:var(--space-8);border-top:1px solid var(--color-border-dark)}.footer__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);border-bottom:1px solid oklch(95% .005 46 / 10%);padding-bottom:var(--space-8);margin-bottom:var(--space-8)}@media (min-width: 576px){.footer__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 992px){.footer__grid{grid-template-columns:2fr 1fr 1fr}}.footer__about{display:flex;flex-direction:column;gap:var(--space-3)}.footer__logo-text{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;letter-spacing:-.03em;color:#fff}.footer__desc{font-size:var(--text-sm);color:var(--color-muted-dark);max-width:360px;line-height:1.6}.footer__title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--color-orange);margin-bottom:var(--space-4)}.footer__links{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.footer__link{font-size:var(--text-sm);color:var(--color-muted-dark);text-decoration:none;transition:color var(--transition-fast)}.footer__link:hover{color:var(--color-orange)}.footer__address{font-style:normal;font-size:var(--text-sm);color:var(--color-muted-dark);display:flex;flex-direction:column;gap:var(--space-2)}.footer__bottom{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-muted-dark);opacity:1}@media (min-width: 768px){.footer__bottom{flex-direction:row}}.footer__socials{display:flex;gap:var(--space-4)}.footer__social-link{color:var(--color-muted-dark);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;transition:color var(--transition-fast)}.footer__social-link:hover{color:var(--color-orange)}.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.reveal--visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}.portfolio-item__overlay,.portfolio-item__img{transition:none}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#17100ca6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-medium);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-overlay--visible{opacity:1;pointer-events:auto}.modal-container{background-color:var(--color-bg-light);border:1px solid var(--color-border-light);max-width:550px;width:100%;padding:var(--space-6);position:relative;transform:translateY(30px);transition:transform var(--transition-medium)}.modal-overlay--visible .modal-container{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--space-3)}.modal-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-light)}.modal-close{background:none;border:none;cursor:pointer;font-size:28px;line-height:1;color:var(--color-muted-light);transition:color var(--transition-fast);display:flex;align-items:center}.modal-close:hover{color:var(--color-orange)}.form__select{width:100%;background-color:var(--color-surface-light);border:1px solid var(--color-border-light);padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-ink-light);outline:none;transition:border-color var(--transition-fast);border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23282927' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 16px center;background-size:16px}.form__select:focus{border-color:var(--color-orange)}.chat-widget{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:999;font-family:var(--font-body)}.chat-button{width:56px;height:56px;border-radius:50%;background-color:var(--color-orange);color:var(--color-ink-light);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #00000026;transition:transform var(--transition-fast),background-color var(--transition-fast)}.chat-button:hover{transform:scale(1.05);background-color:var(--color-orange-hover)}.chat-button svg{width:24px;height:24px;fill:currentColor}.chat-window{position:absolute;bottom:70px;right:0;width:320px;max-height:460px;height:460px;background-color:var(--color-bg-light);border:1px solid var(--color-border-light);box-shadow:0 8px 30px #0000001f;display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(20px) scale(.95);transform-origin:bottom right;transition:opacity var(--transition-medium),transform var(--transition-medium)}.chat-window--open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.chat-header{background-color:var(--color-bg-dark);color:var(--color-ink-dark);padding:var(--space-3) var(--space-4);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border-dark)}.chat-title-group{display:flex;flex-direction:column}.chat-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);letter-spacing:.05em;display:flex;align-items:center;gap:6px}.chat-subtitle{font-size:10px;color:var(--color-muted-dark)}.chat-close{background:none;border:none;cursor:pointer;color:var(--color-muted-dark);font-size:24px;display:flex;align-items:center;line-height:1}.chat-close:hover{color:var(--color-orange)}.chat-disclaimer{font-size:10px;color:var(--color-muted-light);text-align:center;padding:6px;background-color:var(--color-surface-light);border-bottom:1px solid var(--color-border-light);line-height:1.3}.chat-messages{flex:1;padding:var(--space-3);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);background-color:var(--color-surface-light)}.chat-msg{max-width:85%;padding:var(--space-2) var(--space-3);font-size:13px;line-height:1.45}.chat-msg--bot{align-self:flex-start;background-color:var(--color-bg-light);border:1px solid var(--color-border-light);color:var(--color-ink-light)}.chat-msg--user{align-self:flex-end;background-color:var(--color-orange);color:var(--color-ink-light);font-weight:500}.chat-chips{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-2)}.chat-chip{background-color:var(--color-bg-light);border:1px solid var(--color-border-light);color:var(--color-ink-light);padding:8px var(--space-3);font-size:11px;text-align:left;cursor:pointer;font-weight:500;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.chat-chip:hover{border-color:var(--color-orange);color:var(--color-orange);background-color:var(--color-surface-light)}.chat-typing{align-self:flex-start;font-size:11px;color:var(--color-muted-light);padding-left:var(--space-3);margin-top:4px;display:none}
