:root{--cream: #F5F2EB;--cream-dark: #E8E3D8;--teal: #2A9D8F;--teal-dark: #1A7A6E;--teal-light: #6EC6BA;--teal-pale: #BEE4DE;--celeste: #4FB0D0;--mustard: #E9B44C;--mustard-light: #F2D08A;--pink: #E8598B;--pink-soft: #F2A0BA;--plum: #7B5EA7;--plum-soft: #B8A3D4;--charcoal: #1C1C28;--gray-dark: #3A3A4A;--gray: #6B6B7B;--gray-light: #A0A0AB;--r-sm: 6px;--r-md: 12px;--r-lg: 18px;--r-full: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-6: 24px;--s-8: 32px;--s-12: 48px;--s-16: 64px;--font: "Space Grotesk", system-ui, sans-serif;--font-logo: "Bungee Shade", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace;--accent: var(--teal);--accent-cta: var(--mustard)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--cream);color:var(--charcoal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.t-display{font-size:clamp(38px,6.2vw,76px);font-weight:700;line-height:1.04;letter-spacing:-.03em}.t-h1{font-size:clamp(28px,3.4vw,44px);font-weight:700;line-height:1.12;letter-spacing:-.02em}.t-h2{font-size:clamp(22px,2.4vw,30px);font-weight:600;line-height:1.2;letter-spacing:-.01em}.t-h3{font-size:19px;font-weight:600;line-height:1.3}.t-bodyl{font-size:clamp(16px,1.4vw,19px);font-weight:400;line-height:1.6}.t-body{font-size:15px;font-weight:400;line-height:1.6}.t-small{font-size:13px;line-height:1.5}.t-caption{font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}.t-mono{font-family:var(--font-mono)}.wrap{width:min(1200px,92vw);margin:0 auto}::selection{background:var(--pink);color:#fff}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-weight:700;font-size:14px;padding:13px 24px;border-radius:var(--r-md);border:none;cursor:pointer;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;white-space:nowrap}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:var(--accent);color:var(--cream)}.btn-primary:hover{background:var(--teal-dark);transform:translateY(-2px);box-shadow:0 10px 22px -10px #1a7a6eb3}.btn-cta{background:var(--accent-cta);color:var(--charcoal)}.btn-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px #e9b44ccc}.btn-outline{background:transparent;color:var(--charcoal);border:1.5px solid var(--charcoal)}.btn-outline:hover{background:var(--charcoal);color:var(--cream);transform:translateY(-2px)}.btn-ghost-cream{background:var(--cream);color:var(--charcoal)}.btn-ghost-cream:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px #0006}.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r-full);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.tag-teal{background:var(--teal-pale);color:var(--teal-dark)}.tag-pink{background:var(--pink-soft);color:var(--charcoal)}.tag-mustard{background:var(--mustard-light);color:var(--charcoal)}.tag-plum{background:var(--plum-soft);color:var(--charcoal)}.tag-dark{background:var(--charcoal);color:var(--cream)}.section{padding:clamp(64px,9vw,120px) 0;position:relative}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none}html{scroll-behavior:auto}}.reveal-failsafe .reveal{opacity:1!important;transform:none!important;transition:none!important}.gridbg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--cream-dark) 1px,transparent 1px),linear-gradient(90deg,var(--cream-dark) 1px,transparent 1px);background-size:48px 48px;opacity:.35;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 75%)}.ph{background-color:var(--cream-dark);background-image:repeating-linear-gradient(135deg,transparent 0 11px,rgba(28,28,40,.05) 11px 22px);display:flex;align-items:center;justify-content:center;color:var(--gray);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em}.navlink{position:relative;transition:color .18s}.navlink:after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--accent);transition:width .22s ease}.navlink:hover{color:var(--charcoal)}.navlink:hover:after{width:100%}.svc-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -28px #1c1c2880;border-color:var(--gray-light)}.work-card:hover{transform:translateY(-6px);box-shadow:0 26px 44px -28px #1c1c288c}.work-card:hover .work-go{transform:translateY(0);opacity:1}.work-thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(135deg,transparent 0 11px,rgba(28,28,40,.05) 11px 22px)}.foot-link{transition:color .18s}.foot-link:hover{color:var(--cream)!important}.foot-social{transition:background .18s,border-color .18s,transform .18s}.foot-social:hover{background:var(--teal);border-color:var(--teal)!important;transform:translateY(-2px)}.fld:focus{border-color:var(--mustard)!important;box-shadow:0 0 0 3px #e9b44c40}.fld::placeholder{color:var(--gray-light)}@media(max-width:940px){.nav-links{display:none!important}.nav-burger{display:flex!important}.nav-drawer{display:block!important}.hero-grid{grid-template-columns:1fr!important;gap:40px!important}.hero-visual{max-width:460px}.cards-grid{grid-template-columns:repeat(2,1fr)!important}.steps-grid{grid-template-columns:repeat(2,1fr)!important;row-gap:36px!important}.step-conn{display:none!important}.works-grid{grid-template-columns:repeat(2,1fr)!important}.sobre-grid{grid-template-columns:1fr!important;gap:36px!important}.cta-grid{grid-template-columns:1fr!important}.footer-grid{grid-template-columns:1fr 1fr!important}}@media(max-width:600px){.cards-grid,.works-grid,.steps-grid{grid-template-columns:1fr!important}.footer-grid{grid-template-columns:1fr!important;gap:32px!important}.sec-head{flex-direction:column;align-items:flex-start!important}}
