*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}address{font-style:normal}:root{--bg-primary: #0A0A0A;--bg-surface: #141414;--bg-elevated: #1E1E1E;--text-primary: #F0EDE8;--text-secondary: #9A9590;--accent: #2AD86F;--accent-cool: #A8F0D0;--accent-muted: rgba(42, 216, 111, .15);--accent-cool-muted: rgba(168, 240, 208, .12);--border: #2A2A2A;--font-heading: "Syne", sans-serif;--font-body: "Outfit", sans-serif;--section-gap: min(15vh, 10rem);--content-max: 1200px;--content-padding: clamp(1.5rem, 5vw, 3rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}body{font-family:var(--font-body);font-weight:400;color:var(--text-secondary);background-color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);line-height:1.1}.section{padding:var(--section-gap) var(--content-padding)}.section__inner{max-width:var(--content-max);margin:0 auto;display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1024px){.section__inner{grid-template-columns:200px 1fr;gap:4rem}}.section__label{display:flex;gap:1rem;align-items:baseline}@media(min-width:1024px){.section__label{flex-direction:column;gap:.5rem;position:sticky;top:8rem;align-self:start;height:fit-content}}.section__number{font-family:var(--font-heading);font-weight:800;font-size:.75rem;letter-spacing:.15em;color:var(--accent)}.section__name{font-family:var(--font-body);font-weight:500;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary)}.section__content{min-width:0}.section__heading{font-size:clamp(2rem,4vw,3.5rem);font-weight:700;margin-bottom:1.5rem}.section__lead{font-size:clamp(1.125rem,2vw,1.5rem);font-weight:300;line-height:1.5;color:var(--text-primary);margin-bottom:1.5rem;max-width:48ch}.section__text{font-size:1rem;line-height:1.7;max-width:56ch;margin-bottom:1.5rem}.section__rule{width:4rem;height:2px;background:var(--accent);margin-top:2rem;transform-origin:left}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem var(--content-padding);transition:background-color .4s ease,backdrop-filter .4s ease}.nav--scrolled{background-color:#0a0a0ad9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.nav__inner{max-width:var(--content-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.nav__logo{font-family:var(--font-heading);font-weight:800;font-size:1.5rem;color:var(--text-primary);letter-spacing:-.02em}.nav__logo-dot{color:var(--accent)}.nav__links{display:none;gap:2.5rem}@media(min-width:768px){.nav__links{display:flex}}.nav__link{font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);position:relative;transition:color .3s ease}.nav__link:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-out)}.nav__link:hover{color:var(--text-primary)}.nav__link:hover:after{transform:scaleX(1);transform-origin:left}.nav__hamburger{display:flex;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:4px;z-index:110}@media(min-width:768px){.nav__hamburger{display:none}}.nav__hamburger span{display:block;width:24px;height:2px;background:var(--text-primary);transition:transform .3s ease,opacity .3s ease}.nav__hamburger.active span:first-child{transform:translateY(4px) rotate(45deg)}.nav__hamburger.active span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease}.mobile-menu.active{opacity:1;pointer-events:all}.mobile-menu__links{display:flex;flex-direction:column;gap:2rem;text-align:center}.mobile-menu__link{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--text-primary);transition:color .3s ease}.mobile-menu__link:hover{color:var(--accent)}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:6rem var(--content-padding) 4rem;position:relative;overflow:hidden;max-width:100vw}@media(min-width:1024px){.hero{flex-direction:row;align-items:center;gap:4rem}}.hero__content{flex:1;max-width:700px;z-index:2}.hero__title{font-size:clamp(2.75rem,7vw,6rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-bottom:1.5rem}@media(max-width:420px){.hero__title{font-size:2.25rem}}.hero__word{display:inline-block;margin-right:.25em}.hero__word--accent{color:var(--accent)}.hero__subtitle{font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300;line-height:1.6;max-width:44ch;margin-bottom:2.5rem}.hero__cta{display:inline-flex;align-items:center;padding:.875rem 2.25rem;background:var(--accent);color:var(--bg-primary);font-family:var(--font-body);font-weight:500;font-size:.875rem;letter-spacing:.05em;text-transform:uppercase;border-radius:100px;transition:transform .3s var(--ease-out),box-shadow .3s ease}.hero__cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px #2ad86f4d}.hero__visual{flex:1;display:none;position:relative;min-height:400px}@media(min-width:1024px){.hero__visual{display:block}}.dot-grid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(16,1fr);grid-template-rows:repeat(16,1fr);gap:0;opacity:.6}.dot-grid__dot{width:3px;height:3px;border-radius:50%;background:var(--text-secondary);justify-self:center;align-self:center;transition:background .6s ease,transform .6s ease}.dot-grid__dot--active{background:var(--accent);transform:scale(2);box-shadow:0 0 8px #2ad86f80}.dot-grid__dot--cool{background:var(--accent-cool);transform:scale(1.6);box-shadow:0 0 8px #a8f0d066}.dot-grid__line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.3;transform-origin:left}.hero__scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero__scroll-line{display:block;width:1px;height:48px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:0;transform:translateY(-8px)}50%{opacity:1;transform:translateY(0)}}.services-grid{display:grid;grid-template-columns:1fr;gap:1px;margin-top:3rem;background:var(--border)}@media(min-width:768px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service-card{position:relative;padding:2.5rem 2rem;background:var(--bg-primary);overflow:hidden;transition:background-color .4s ease,transform .3s var(--ease-out)}.service-card:hover{background:var(--bg-surface)}.service-card__number{font-family:var(--font-heading);font-weight:800;font-size:5rem;line-height:1;color:var(--accent);opacity:.07;position:absolute;top:.5rem;right:1rem;pointer-events:none;transition:opacity .4s ease}.service-card:hover .service-card__number{opacity:.15}.service-card__title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;position:relative}.service-card__desc{font-size:.9rem;line-height:1.6;position:relative}.works-list{display:flex;flex-direction:column;gap:4rem;margin-top:3rem}.work-card{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}@media(min-width:768px){.work-card{grid-template-columns:1fr 1fr;gap:3rem}.work-card--reversed{direction:rtl}.work-card--reversed>*{direction:ltr}}.work-card__image{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:16 / 10}.work-card__placeholder{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.work-card__placeholder--retail{background:radial-gradient(circle at 30% 40%,rgba(42,216,111,.25) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(42,216,111,.15) 0%,transparent 40%),linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-elevated) 100%)}.work-card__placeholder--transport{background:radial-gradient(circle at 20% 70%,rgba(168,240,208,.2) 0%,transparent 50%),radial-gradient(circle at 80% 30%,rgba(168,240,208,.12) 0%,transparent 40%),linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-elevated) 100%)}.work-card__placeholder--marketing{background:radial-gradient(circle at 50% 50%,rgba(42,216,111,.2) 0%,transparent 40%),radial-gradient(circle at 30% 30%,rgba(168,240,208,.15) 0%,transparent 50%),linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-elevated) 100%)}.work-card__image:hover .work-card__placeholder{transform:scale(1.03);transition:transform .6s var(--ease-out)}.work-card__tag{display:inline-block;font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);padding-bottom:.5rem;border-bottom:1px solid var(--accent);margin-bottom:1rem}.work-card__title{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;margin-bottom:1rem}.work-card__desc{font-size:.95rem;line-height:1.7;margin-bottom:1.5rem}.work-card__link{font-size:.85rem;font-weight:500;color:var(--accent);letter-spacing:.05em;transition:gap .3s ease;display:inline-flex;align-items:center;gap:.5rem}.work-card__link:hover{gap:.75rem}.contact-grid{display:grid;grid-template-columns:1fr;gap:3rem;margin-top:2rem}@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr;gap:4rem}}.contact-info__block{margin-bottom:2rem}.contact-info__label{display:block;font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5rem}.contact-info__value{font-size:1rem;color:var(--text-primary);line-height:1.6}.contact-info__email{color:var(--accent);transition:opacity .3s ease}.contact-info__email:hover{opacity:.8}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.contact-form__group{display:flex;flex-direction:column;gap:.4rem}.contact-form__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-secondary)}.contact-form__input,.contact-form__textarea{background:#ffffff0d;border:1px solid var(--border);border-radius:4px;padding:.75rem 1rem;font-family:var(--font-body);font-size:1rem;color:var(--text-primary);transition:border-color .3s ease}.contact-form__input:focus,.contact-form__textarea:focus{outline:none;border-color:var(--accent)}.contact-form__textarea{resize:vertical}.contact-form__submit{align-self:flex-start;background:var(--accent);color:var(--bg);border:none;border-radius:4px;padding:.75rem 2rem;font-family:var(--font-heading);font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .3s ease}.contact-form__submit:hover{opacity:.85}.contact-form__status{font-size:.85rem;min-height:1.2em}.contact-form__status--success{color:var(--accent)}.contact-form__status--error{color:#f44}.footer{border-top:1px solid var(--border);padding:2rem var(--content-padding)}.footer__inner{max-width:var(--content-max);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.footer__copy{font-size:.8rem;color:var(--text-secondary);opacity:.6}.footer__links{display:flex;gap:1.5rem}.footer__link{font-size:.8rem;color:var(--text-secondary);opacity:.6;transition:opacity .3s ease}.footer__link:hover{opacity:1}.reveal{opacity:0;transform:translateY(2rem);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:var(--delay, 0s)}.reveal.revealed{opacity:1;transform:translateY(0)}.section__rule.reveal{transform:scaleX(0) translateY(0);opacity:1}.section__rule.reveal.revealed{transform:scaleX(1) translateY(0)}.hero__word{opacity:0;transform:translateY(1.5rem);animation:heroWordIn .7s var(--ease-out) forwards}.hero__word:nth-child(1){animation-delay:.1s}.hero__word:nth-child(2){animation-delay:.2s}.hero__word:nth-child(3){animation-delay:.35s}.hero__word:nth-child(4){animation-delay:.45s}.hero__word:nth-child(5){animation-delay:.55s}@keyframes heroWordIn{to{opacity:1;transform:translateY(0)}}.hero__subtitle{opacity:0;animation:fadeUp .8s var(--ease-out) .7s forwards}.hero__cta{opacity:0;animation:fadeUp .8s var(--ease-out) .9s forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.hero__word{opacity:1;transform:none}.hero__subtitle,.hero__cta{opacity:1}}
