:root{--ink:#0b1b2b;--ink-soft:#1a2b3d;--text:#1f2937;--muted:#5b6676;--line:#e3e7ec;--surface:#fff;--surface-alt:#f5f7f8;--accent:#047857;--accent-strong:#065f46;--accent-bright:#34d399;--accent-tint:#ecfdf5;--danger:#b91c1c;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0b1b2b0a, 0 8px 24px #0b1b2b0f;--shadow-hover:0 2px 4px #0b1b2b0f, 0 16px 40px #0b1b2b1a;--header-h:72px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}body{font-family:var(--font-sans), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.65}img{max-width:100%;height:auto;display:block}h1,h2,h3{color:var(--ink);letter-spacing:-.015em;margin:0 0 .6em;line-height:1.2}h1{letter-spacing:-.025em;font-size:clamp(2rem,4vw,3.1rem);font-weight:750}h2{font-size:clamp(1.6rem,2.6vw,2.15rem);font-weight:700}h3{font-size:1.15rem;font-weight:650}p{margin:0 0 1em}:where(.site) :where(p,li,dd,blockquote){text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:3px solid var(--accent-bright);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}.container.narrow,.narrow{max-width:820px}.section{padding:88px 0}.section-tight{padding-top:48px}.section-alt{background:var(--surface-alt)}.section-heading{max-width:720px;margin-bottom:40px}.section-heading h2{margin-bottom:.4em}.section-link{margin:32px 0 0;font-weight:600}.h-section{margin-bottom:32px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:var(--radius-sm);padding:8px 14px;position:absolute;top:-48px;left:16px}.skip-link:focus{color:#fff;top:12px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:.8rem;font-weight:700}.eyebrow-light{color:var(--accent-bright)}.lead{color:var(--muted);max-width:680px;font-size:1.2rem}.button-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{min-height:48px;font:inherit;cursor:pointer;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:1rem;font-weight:650;line-height:1.2;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.button:hover{text-decoration:none;transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:wait;transform:none}.button-small{min-height:40px;padding:8px 18px;font-size:.95rem}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-strong);color:#fff}.button-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.button-secondary:hover{border-color:var(--ink);color:var(--ink)}.button-ghost{color:var(--accent);background:0 0;padding-left:8px;padding-right:8px}.button-ghost:hover{color:var(--accent-strong);text-decoration:underline}.button-light{color:var(--ink);background:#fff}.button-light:hover{background:var(--accent-tint);color:var(--ink)}.button-outline-light{color:#fff;border-color:#ffffff73}.button-outline-light:hover{color:#fff;border-color:#fff}.site-header{z-index:50;-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--line);background:#fffffff0;transition:box-shadow .3s,border-color .3s;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:#0000;box-shadow:0 6px 24px #0b1b2b14}.site-header-inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{color:var(--ink);align-items:center;gap:12px;display:flex}.brand:hover{color:var(--ink);text-decoration:none}.brand-logo{flex-shrink:0;width:40px;height:40px}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-name{font-family:var(--font-brand), var(--font-sans), sans-serif;letter-spacing:-.02em;font-size:1.1rem;font-weight:800}.brand-role{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:2px;font-size:.68rem;font-weight:700}.site-nav{align-items:center;gap:28px;display:flex}.site-nav ul{gap:24px;margin:0;padding:0;list-style:none;display:flex}.site-nav ul a{color:var(--text);padding:6px 0;font-size:.98rem;font-weight:550;position:relative}.site-nav ul a:after{content:"";background:var(--accent);transform-origin:100%;border-radius:2px;height:2px;transition:transform .3s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav ul a:hover{color:var(--ink);text-decoration:none}.site-nav ul a:hover:after,.site-nav ul a.is-active:after{transform-origin:0;transform:scaleX(1)}.site-nav ul a.is-active{color:var(--ink)}.nav-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;font-size:1.4rem;display:none}@media (max-width:960px){.brand-role{display:none}.nav-toggle{justify-content:center;align-items:center;display:inline-flex}.site-nav{top:var(--header-h);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:16px;padding:16px 20px 24px;display:none;position:absolute;left:0;right:0}.site-nav.is-open{animation:.22s cubic-bezier(.2,.7,.2,1) menu-in;display:flex}.site-nav ul a:after{display:none}.site-nav ul{flex-direction:column;gap:0}.site-nav ul a{border-bottom:1px solid var(--line);padding:12px 0;display:block}.site-nav ul a.is-active{border-bottom-color:var(--line);color:var(--accent)}}.hero{background:linear-gradient(180deg, #fff 0%, var(--surface-alt) 100%);padding:56px 0 96px}.hero-pattern{z-index:-1;pointer-events:none;background-image:radial-gradient(#0b1b2b1a 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 65% at 72% 40%,#000 15%,#0000 75%);mask-image:radial-gradient(70% 65% at 72% 40%,#000 15%,#0000 75%)}.hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:72px;display:grid}.pill{border:1px solid var(--line);color:var(--ink);background:#ffffffd9;border-radius:999px;align-items:center;gap:10px;margin:0 0 24px;padding:7px 16px 7px 12px;font-size:.88rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0b1b2b0d}.hero-title{letter-spacing:-.035em;margin-bottom:22px;font-size:clamp(2.3rem,5vw,3.9rem);line-height:1.07}.hero-title .word{display:inline-block}.hero-title .hl{background-image:linear-gradient(#34d39966,#34d39966);background-position:0 88%;background-repeat:no-repeat;background-size:100% .3em}.hero-lead{color:var(--muted);max-width:600px;font-size:1.22rem}.hero-proof{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:600px;color:var(--ink);background:#fffc;border-radius:16px;align-items:flex-start;gap:14px;margin-top:8px;padding:16px 18px;font-weight:550;display:flex}.hero-proof i{color:var(--accent);font-size:1.25rem;line-height:1.45}.hero-alt{color:var(--muted);margin-top:20px;font-size:.95rem}.hero-alt a{white-space:nowrap}.hero-visual{position:relative}.hero-photo-frame{aspect-ratio:4/5;background:var(--surface-alt);border-radius:28px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0b1b2b0f,0 30px 60px -30px #0b1b2b73}.hero-photo{object-fit:cover;object-position:50% 12%;width:100%;height:100%}.status-dot{background:#10b981;border-radius:50%;flex-shrink:0;width:9px;height:9px}@media (max-width:900px){.hero{padding:32px 0 64px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-visual{width:100%;max-width:380px;margin:0 auto}}.proof{background:var(--ink);color:#e5e7eb;padding:48px 0 40px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;display:grid}.stat dt{color:var(--accent-bright);letter-spacing:-.03em;margin-bottom:10px;font-size:clamp(2.4rem,4vw,3.2rem);font-weight:800;line-height:1}.stat dd{color:#d1d5db;max-width:300px;margin:0}.orgs{border-top:1px solid #ffffff1f;align-items:center;gap:32px;margin-top:40px;padding-top:28px;display:flex}.orgs-label{letter-spacing:.12em;text-transform:uppercase;color:#9ca3af;flex-shrink:0;margin:0;font-size:.78rem;font-weight:700}.marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{align-items:center;gap:20px;width:max-content;margin:0;padding:0;list-style:none;animation:40s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track li{white-space:nowrap;color:#f3f4f6;border-radius:16px;align-items:center;gap:10px;height:64px;padding:0 22px;font-weight:600;display:flex}.marquee-track .org-logo{background:#fff;box-shadow:0 10px 24px -12px #00000080}.marquee-track .org-logo img{object-fit:contain;filter:grayscale();opacity:.75;max-width:140px;max-height:40px;transition:filter .3s,opacity .3s;display:block}.marquee-track .org-logo:hover img{filter:none;opacity:1}.marquee-track .org-name{background:#ffffff0a;border:1px solid #ffffff24}.marquee-track i{color:var(--accent-bright)}@keyframes marquee{to{transform:translate(-50%)}}@media (max-width:760px){.orgs{flex-direction:column;align-items:flex-start;gap:14px}.marquee{width:100%}.stats{grid-template-columns:1fr;gap:24px}}.card-grid,.bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.card-grid-2,.bento{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1023px){.card-grid,.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid>:last-child:nth-child(odd),.bento>:last-child:nth-child(odd){grid-column:1/-1}}@media (max-width:639px){.card-grid,.bento{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);flex-direction:column;padding:28px;display:flex}.card p:last-child{margin-bottom:0}.card-link{transition:box-shadow .2s,border-color .2s,transform .2s}.card-link:hover{color:var(--text);box-shadow:var(--shadow-hover);border-color:#0000;text-decoration:none;transform:translateY(-2px)}.card-icon{background:var(--accent-tint);width:48px;height:48px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;margin-bottom:18px;font-size:1.4rem;display:inline-flex}.card-more{color:var(--accent);margin-top:auto;padding-top:12px;font-weight:650}.tag{background:var(--accent-tint);color:var(--accent-strong);border-radius:999px;align-self:flex-start;margin-bottom:14px;padding:4px 10px;font-size:.8rem;font-weight:700}.project-meta{color:var(--muted);font-size:.9rem}.case-feature{background:var(--ink);color:#e5e7eb;border-radius:20px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid;overflow:hidden}.case-feature-figure{background:radial-gradient(500px 300px at 20% 20%, #34d39940, transparent 70%), var(--ink-soft);flex-direction:column;justify-content:center;padding:48px;display:flex}.case-feature-number{color:var(--accent-bright);letter-spacing:-.04em;font-size:clamp(4rem,9vw,7rem);font-weight:800;line-height:1}.case-feature-unit{color:#f3f4f6;margin-top:12px;font-size:1.1rem}.case-feature-body{padding:48px}.case-feature-body h2{color:#fff}.case-feature-meta{flex-wrap:wrap;gap:16px 40px;margin:8px 0 0;display:flex}.case-feature-meta dt{text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;font-size:.8rem}.case-feature-meta dd{color:#fff;margin:0;font-weight:550}@media (max-width:860px){.case-feature{grid-template-columns:1fr}.case-feature-figure,.case-feature-body{padding:32px 24px}}.steps{counter-reset:step;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;border-top:3px solid var(--line);padding-top:20px}.steps li:before{content:counter(step, decimal-leading-zero);color:var(--accent);margin-bottom:8px;font-weight:800;display:block}.steps p{color:var(--muted)}@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.steps{grid-template-columns:1fr}}.testimonial{margin:0}.testimonial blockquote{color:var(--ink);margin:0 0 20px;font-size:1.05rem}.testimonial figcaption{flex-direction:column;margin-top:auto;font-size:.95rem;display:flex}.testimonial figcaption span{color:var(--muted)}.cta-band{background:radial-gradient(700px 300px at 90% 0%, #34d39938, transparent 70%), var(--ink);color:#d1d5db;padding:72px 0}.cta-band-inner{justify-content:space-between;align-items:center;gap:32px;display:flex}.cta-band h2{color:#fff;margin-bottom:.3em}.cta-band p{margin:0;font-size:1.1rem}.cta-band .button-row{flex-shrink:0;margin-top:0}@media (max-width:860px){.cta-band-inner{flex-direction:column;align-items:flex-start}}.site-footer{isolation:isolate;color:#9ca3af;background:#07131f;padding:80px 0 28px;font-size:.95rem;position:relative;overflow:hidden}.site-footer:before{content:"";background:linear-gradient(90deg,#0000,#34d39999,#0000);height:1px;position:absolute;top:0;left:0;right:0}.site-footer:after{content:"";z-index:-1;filter:blur(90px);pointer-events:none;background:#34d3991a;border-radius:50%;width:720px;height:420px;position:absolute;top:-260px;left:50%;translate:-50%}.footer-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1.25fr);gap:48px;display:grid}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer a{color:#e5e7eb}.site-footer a:hover{color:#fff;text-decoration:none}.footer-brand{align-items:center;gap:14px;margin-bottom:20px;display:inline-flex}.footer-brand>span{flex-direction:column;display:flex}.footer-logo{width:48px;height:48px;transition:rotate .4s var(--ease-spring,ease);flex-shrink:0}.footer-brand:hover .footer-logo{rotate:-8deg}.footer-name{font-family:var(--font-brand), var(--font-sans), sans-serif;letter-spacing:-.02em;color:#fff;font-size:1.3rem;font-weight:800}.footer-signature{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright);margin-top:2px;font-size:.68rem;font-weight:700}.footer-text{max-width:360px;line-height:1.7}.footer-status{color:#d1fae5;background:#34d39914;border:1px solid #34d3994d;border-radius:999px;align-items:center;gap:10px;margin:4px 0 24px;padding:6px 14px 6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.footer-socials{gap:10px;display:flex}.footer-socials a{color:#e5e7eb;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;transition:background-color .25s,border-color .25s,color .25s,transform .25s;display:flex}.footer-socials a:hover{border-color:var(--accent-bright);background:var(--accent);color:#fff;transform:translateY(-3px)}.footer-title{letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:18px;font-size:.75rem;font-weight:700}.footer-col li{margin-bottom:4px}.footer-col a:not(.footer-cta){transition:color .25s, translate .25s var(--ease-out,ease);padding:6px 0;display:inline-block;position:relative}.footer-col a:not(.footer-cta):before{content:"";background:var(--accent-bright);opacity:0;transform-origin:100%;border-radius:2px;width:8px;height:2px;transition:opacity .25s,transform .25s;position:absolute;top:50%;left:-14px;transform:scaleX(0)}.footer-col a:not(.footer-cta):hover{translate:14px}.footer-col a:not(.footer-cta):hover:before{opacity:1;transform:scaleX(1)}.footer-contact li{overflow-wrap:anywhere;align-items:center;gap:12px;display:flex}.footer-contact i{width:18px;color:var(--accent-bright);flex-shrink:0}.footer-socials i,.footer-contact i,.footer-top-link i,.footer-cta i{justify-content:center;align-items:center;line-height:1;display:inline-flex}.footer-socials i:before,.footer-contact i:before,.footer-top-link i:before,.footer-cta i:before{vertical-align:0;line-height:1}.footer-cta{white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:44px;margin-top:8px;padding:10px 18px;font-weight:650;transition:background-color .25s;display:inline-flex;color:var(--ink)!important}.footer-cta:hover{background:#d1fae5}.footer-cta i{transition:transform .25s}.footer-cta:hover i{transform:translate(4px)}.footer-wordmark{font-family:var(--font-brand), var(--font-sans), sans-serif;letter-spacing:-.05em;white-space:nowrap;text-align:center;-webkit-user-select:none;user-select:none;background:linear-gradient(#ffffff24 0%,#ffffff05 85%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:64px 0 0;font-size:clamp(2.6rem,12vw,9.5rem);font-weight:800;line-height:.85}.footer-bottom{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-top:24px;font-size:.85rem;display:flex}.footer-bottom p{margin:0}.footer-top-link{border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-size:.85rem;font-weight:600;display:inline-flex}.footer-top-link i{transition:transform .25s}.footer-top-link:hover{border-color:var(--accent-bright)}.footer-top-link:hover i{transform:translateY(-3px)}@media (max-width:1023px){.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}.footer-about{grid-column:1/-1}.footer-text{max-width:560px}.footer-cta{padding:10px 14px;font-size:.9rem}}@media (max-width:639px){.site-footer{padding-top:56px}.footer-grid{grid-template-columns:1fr 1fr}.footer-col:last-child{grid-column:1/-1}.footer-wordmark{margin-top:44px}}.page-header{background:linear-gradient(180deg, #fff 0%, var(--surface-alt) 100%);border-bottom:1px solid var(--line);padding:64px 0 56px}.page-header h1{max-width:860px}.back-link{align-items:center;gap:6px;min-height:44px;margin-bottom:24px;font-size:.95rem;font-weight:600;display:inline-flex}.anchor-nav{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.anchor-nav a{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 16px;font-size:.95rem;font-weight:600}.anchor-nav a:hover{border-color:var(--accent);text-decoration:none}.about-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);align-items:start;gap:64px;display:grid}.about-text{max-width:680px;font-size:1.12rem}.about-aside{position:relative}.collage{margin-bottom:8px;padding:0 0 56px 24px;position:relative}.collage-main{aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border-radius:26px;width:82%;height:auto;rotate:-1.5deg;box-shadow:0 34px 60px -24px #0b1b2b73}.collage-inset{aspect-ratio:4/3;object-fit:cover;border:6px solid #fff;border-radius:20px;width:58%;height:auto;position:absolute;bottom:0;right:0;rotate:3deg;box-shadow:0 24px 44px -18px #0b1b2b66}.collage-pill{position:absolute;top:24px;left:0;box-shadow:0 14px 30px -12px #0b1b2b4d}@media (max-width:900px){.about-grid{grid-template-columns:1fr;gap:40px}.about-aside{max-width:420px}}.check-list{margin:0;padding:0;list-style:none}.check-list li{margin-bottom:12px;padding-left:32px;position:relative}.check-list li:before{content:"";border:solid var(--accent);border-width:0 2.5px 2.5px 0;width:7px;height:13px;position:absolute;top:.35em;left:4px;transform:rotate(45deg)}.check-list-small li{margin-bottom:8px;font-size:.95rem}.fact-list{gap:16px;margin:24px 0 0;display:grid}.fact-list dt{color:var(--muted);font-size:.85rem;font-weight:600}.fact-list dt i{color:var(--accent);margin-right:4px}.fact-list dd{color:var(--ink);margin:2px 0 0;font-weight:550}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:4px 12px;font-size:.88rem}.compact-list{margin:0 0 48px;padding:0;list-style:none}.compact-list:last-child{margin-bottom:0}.compact-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;padding:20px 0;display:flex}.compact-list h3{margin-bottom:4px}.compact-list p{color:var(--muted);margin:0}.compact-date{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:.9rem}@media (max-width:600px){.compact-list li{flex-direction:column;gap:4px}}.offer-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:56px;display:grid}.offer-facts{gap:18px;margin:28px 0 0;display:grid}.offer-facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:700}.offer-facts dd{margin:4px 0 0}.offer-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}.offer-panel .button-row{margin-top:20px}@media (max-width:900px){.offer-grid{grid-template-columns:1fr;gap:32px}}.tech-details{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.tech-details summary{color:var(--ink);cursor:pointer;padding:18px 24px;font-weight:650}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px 32px;padding:8px 24px 28px;display:grid}.tech-grid h3{margin-bottom:6px;font-size:1rem}.tech-grid p{color:var(--muted);margin:0;font-size:.95rem}.timeline{border-left:2px solid var(--line);margin:0;padding:0 0 0 28px;list-style:none}.timeline li{padding-bottom:40px;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";background:var(--surface);border:3px solid var(--accent);border-radius:50%;width:14px;height:14px;position:absolute;top:4px;left:-36px}.timeline-date{color:var(--accent);margin-bottom:4px;font-size:.85rem;font-weight:650}.timeline h3{margin-bottom:2px}.timeline-org{color:var(--muted);margin-bottom:10px;font-weight:550}.rich-text p{margin-bottom:.6em}.rich-text ul{padding-left:1.2em}.case-meta{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px 32px;margin:32px 0 0;padding-top:24px;display:grid}.case-meta dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700}.case-meta dd{color:var(--ink);margin:4px 0 0;font-weight:550}.case-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:64px;display:grid}.case-body section+section{margin-top:48px}.case-body p{font-size:1.08rem}.solution-list{counter-reset:sol;gap:20px;margin:0;padding:0;list-style:none;display:grid}.solution-list li{counter-increment:sol;padding-left:52px;position:relative}.solution-list li:before{content:counter(sol);background:var(--accent-tint);width:34px;height:34px;color:var(--accent-strong);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:flex;position:absolute;top:0;left:0}.solution-list h3{margin-bottom:4px}.solution-list p{color:var(--muted);margin:0}.case-aside{top:calc(var(--header-h) + 24px);gap:20px;display:grid;position:sticky}.case-figures{border-radius:var(--radius);background:var(--ink);color:#e5e7eb;padding:28px}.case-figures p{flex-direction:column;margin:0;display:flex}.case-figures p+p{margin-top:20px}.case-figures strong{color:var(--accent-bright);font-size:3rem;font-weight:800;line-height:1}.case-tools,.case-cta{border:1px solid var(--line);border-radius:var(--radius);padding:24px}.case-tools h2{margin-bottom:14px;font-size:1rem}.case-cta p{color:var(--ink);font-weight:600}.case-cta .button{width:100%}@media (max-width:960px){.case-layout{grid-template-columns:1fr;gap:40px}.case-aside{position:static}}.contact-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);align-items:start;gap:56px;display:grid}.contact-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:32px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.field label{color:var(--ink);font-size:.92rem;font-weight:600}.field input,.field select,.field textarea{border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--text);background:#fff;border:1px solid #cdd3db;padding:12px 14px;font-size:1rem}.field textarea{resize:vertical;min-height:140px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #04785726}.field [aria-invalid=true]{border-color:var(--danger)}.field [aria-invalid=true]:focus{border-color:var(--danger);box-shadow:0 0 0 3px #b91c1c26}.field-error{text-align:left;color:var(--danger);align-items:flex-start;gap:6px;margin:0;font-size:.85rem;font-weight:500;display:flex}.field-meta{align-items:flex-start;gap:12px;display:flex}.field-count{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.8rem}.hp-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-fields{border:0;min-width:0;margin:0;padding:0;transition:opacity .2s}.form-fields:disabled{opacity:.6}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:1.05em;height:1.05em;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.form-footer{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.form-status{margin:0;font-size:.95rem}.form-success{color:var(--accent-strong);font-weight:600}.form-error{color:var(--danger);font-weight:600}.contact-whatsapp{border-radius:var(--radius);color:#fff;background:#128c4b;align-items:center;gap:14px;padding:18px 20px;display:flex}.contact-whatsapp:hover{color:#fff;background:#0f7a41;text-decoration:none}.contact-whatsapp i{font-size:1.8rem}.contact-whatsapp span{flex-direction:column;line-height:1.3;display:flex}.contact-whatsapp span span{opacity:.85;font-size:.9rem}.contact-aside .check-list{margin-top:28px}@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}}@media (max-width:600px){.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:22px}}.not-found{min-height:60vh}@media (max-width:760px){body{font-size:1rem}.section{padding:60px 0}.page-header{padding:44px 0 40px}.lead,.hero-lead{font-size:1.08rem}}:root{--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes photo-in{0%{opacity:0;transform:translateY(28px)scale(.96)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.9)}to{opacity:1;transform:none}}@keyframes pulse-ring{0%{box-shadow:0 0 #10b98173}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes drift{0%{transform:translate(0)scale(1)}50%{transform:translate(-40px,30px)scale(1.08)}to{transform:translate(30px,-20px)scale(.95)}}@keyframes shimmer{to{background-position:200%}}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes reveal-fallback{to{opacity:1;translate:none;rotate:none}}.hero-copy>*,.page-header .container>*{animation:rise .8s var(--ease-out) both}.hero-copy>:nth-child(2),.page-header .container>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3),.page-header .container>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4),.page-header .container>:nth-child(4){animation-delay:.24s}.hero-copy>:nth-child(5),.page-header .container>:nth-child(5){animation-delay:.32s}.hero-copy>:nth-child(6),.page-header .container>:nth-child(6){animation-delay:.4s}.hero-visual{animation:photo-in 1s .2s var(--ease-out) both}.hero-copy>.hero-title{animation:none}.hero-title .word{animation:word-in .9s var(--ease-out) both;animation-delay:calc(.12s + var(--w,0) * 70ms)}.hero-title .hl{animation:word-in .9s var(--ease-out) both, marker .9s var(--ease-out) both;animation-delay:calc(.12s + var(--w,0) * 70ms), 1.1s}@keyframes word-in{0%{opacity:0;filter:blur(8px);transform:translateY(.45em)}to{opacity:1;filter:none;transform:none}}@keyframes marker{0%{background-size:0% .3em}}@keyframes bob{50%{transform:translateY(-10px)}}.collage-main{animation:photo-in 1s .15s var(--ease-out) both}.collage-inset{animation:pop-in .8s .6s var(--ease-spring) both}.collage-pill{animation:pop-in .6s 1s var(--ease-spring) both}.status-dot{animation:2.4s 1.5s infinite pulse-ring}.contact-form,.contact-aside{animation:rise .8s .25s var(--ease-out) both}.contact-aside{animation-delay:.35s}.hero,.cta-band{isolation:isolate;position:relative;overflow:hidden}.hero:before,.hero:after,.cta-band:before{content:"";z-index:-1;filter:blur(70px);pointer-events:none;border-radius:50%;animation:22s ease-in-out infinite alternate drift;position:absolute}.hero:before{background:#34d39938;width:520px;height:520px;top:-180px;right:-140px}.hero:after{background:#3b82f61a;width:420px;height:420px;animation-duration:28s;animation-direction:alternate-reverse;bottom:-220px;left:-160px}.cta-band:before{background:#34d39933;width:560px;height:560px;top:-300px;right:-180px}.has-reveal [data-reveal]{opacity:0;transform-origin:50% 100%;transition-property:opacity,translate,rotate,transform,box-shadow,border-color,background-color;transition-duration:.8s,.9s,.9s,.25s,.2s,.2s,.2s;transition-timing-function:var(--ease-out);transition-delay:calc(var(--reveal-i,0) * 90ms), calc(var(--reveal-i,0) * 90ms), calc(var(--reveal-i,0) * 90ms), 0s, 0s, 0s, 0s;translate:0 34px;rotate:x 14deg}.has-reveal [data-reveal].is-revealed{opacity:1;translate:none;rotate:none}.card-grid,.bento,.stats,.steps,.photo-grid{perspective:1400px}.has-reveal:not(.reveal-live) [data-reveal]{animation:0s 3s forwards reveal-fallback}.steps li{position:relative}.steps li:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:3px;transition:transform 1s var(--ease-out);transition-delay:calc(var(--reveal-i,0) * .16s + .2s);position:absolute;top:-3px;left:0;transform:scaleX(0)}.steps li.is-revealed:after,html:not(.has-reveal) .steps li:after{transform:scaleX(1)}.has-reveal .timeline li:before{transition:transform .5s var(--ease-spring) .2s;transform:scale(0)}.has-reveal .timeline li.is-revealed:before{transform:scale(1)}.card-icon{transition:transform .35s var(--ease-spring), background-color .3s, color .3s}.card:hover .card-icon{background:var(--accent);color:#fff;transform:translateY(-3px)rotate(-6deg)}.card-more i,.section-link i,.button i.bi-arrow-right{transition:transform .25s var(--ease-out);display:inline-block}.card-link:hover .card-more i,.section-link a:hover i,.button:hover i.bi-arrow-right{transform:translate(4px)}.button-primary{isolation:isolate;position:relative;overflow:hidden}.button-primary:after{content:"";z-index:-1;transition:transform .7s var(--ease-out);background:linear-gradient(110deg,#0000 35%,#ffffff47 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.button-primary:hover:after{transform:translate(120%)}.hero-photo{transition:transform .9s var(--ease-out)}.hero-visual:hover .hero-photo{transform:scale(1.04)}.case-feature-number{background:linear-gradient(120deg,#34d399 0%,#a7f3d0 45%,#34d399 90%) 0 0/200%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite shimmer}@supports (animation-timeline:scroll()){.site-header:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:2px;animation:linear both grow-x;animation-timeline:scroll(root);position:absolute;bottom:-1px;left:0}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}h1,h2,h3,.stat dt,.case-feature-number,.case-figures strong{font-family:var(--font-brand), var(--font-sans), sans-serif}h1,h2{font-weight:800}.eyebrow{align-items:center;gap:10px;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:2px;width:22px;height:2px}.card{border-radius:20px}.card,.case-feature{position:relative;overflow:hidden}.card>*,.case-feature>*{position:relative}.card:before,.case-feature:before{content:"";pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), #34d39924, transparent 45%);transition:opacity .35s;position:absolute;inset:0}.case-feature:before{background:radial-gradient(520px circle at var(--mx,50%) var(--my,0%), #34d39929, transparent 45%)}.card:hover:before,.case-feature:hover:before{opacity:1}.bento-card{padding:0}.bento-visual{background:linear-gradient(180deg, var(--surface-alt), #fff);border-bottom:1px solid var(--line);padding:24px 24px 0}.bento-visual .illus{max-height:210px;margin:0 auto}.bento-body{flex-direction:column;flex:none;padding:24px 28px 28px;display:flex}.bento-body p{color:var(--muted)}@media (min-width:640px) and (max-width:1023px){.bento>:last-child:nth-child(odd){flex-direction:row;align-items:stretch}.bento>:last-child:nth-child(odd) .bento-visual{border-bottom:0;border-right:1px solid var(--line);flex:1;align-items:center;padding-bottom:24px;display:flex}.bento>:last-child:nth-child(odd) .bento-body{flex:1;justify-content:center}}.photo-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:stretch;gap:24px;display:grid}.photo-card{flex-direction:column;margin:0;display:flex}.photo-frame{border-radius:24px;flex:1;overflow:hidden;box-shadow:0 30px 60px -30px #0b1b2b73}.photo-frame img{object-fit:cover;object-position:50% 25%;width:100%;height:100%;min-height:320px;max-height:480px;transition:transform .9s var(--ease-out)}.photo-card:hover .photo-frame img{transform:scale(1.04)}.photo-card figcaption{color:var(--muted);align-items:center;gap:8px;margin-top:14px;font-size:.92rem;font-weight:600;display:flex}.photo-card figcaption:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}@media (max-width:860px){.photo-grid{grid-template-columns:1fr}.photo-frame img{min-height:0;max-height:360px}}@supports (animation-timeline:view()){.parallax{animation:linear both parallax;animation-timeline:view();scale:1.12}@keyframes parallax{0%{translate:0 -5%}to{translate:0 5%}}}.offer-side{gap:20px;display:grid}.offer-visual{border:1px solid var(--line);background:linear-gradient(160deg, #fff, var(--surface-alt));border-radius:20px;padding:20px}.offer-visual .illus{max-height:260px;margin:0 auto}.case-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:48px;display:grid}.case-visual{margin:0}.case-visual figcaption{text-align:center;color:var(--muted);margin-top:8px;font-size:.78rem}.project-visual{background:linear-gradient(180deg, var(--surface-alt), #fff);border-bottom:1px solid var(--line);margin:-28px -28px 20px;padding:20px 24px 0}.project-visual .illus{max-height:200px;margin:0 auto}@media (max-width:960px){.case-hero{grid-template-columns:1fr;gap:24px}.case-visual{max-width:480px}}.illus{width:100%;height:auto;display:block;overflow:visible}.illus text{font-family:var(--font-sans), sans-serif}.illus-bar{transform-box:fill-box;transform-origin:0;animation:bar-grow 1.1s var(--ease-out) both;animation-delay:var(--d,0s)}.illus-col{transform-box:fill-box;transform-origin:bottom;animation:col-grow .9s var(--ease-out) both;animation-delay:var(--d,0s)}.illus-fade{animation:rise .7s var(--ease-out) both;animation-delay:var(--d,0s)}.illus-flow{stroke-dasharray:6 9;animation:1.4s linear infinite flow}.illus-pulse{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite node-pulse;animation-delay:var(--d,0s)}.illus-draw{stroke-dasharray:120;animation:draw 1.2s .4s var(--ease-out) both}.illus-draw-long{stroke-dasharray:700;animation:draw-long 1.8s .5s var(--ease-out) both}.illus-float{animation:6s ease-in-out infinite bob}.illus-card{filter:drop-shadow(0 18px 30px #0b1b2b24)}@keyframes bar-grow{0%{transform:scaleX(0)}}@keyframes col-grow{0%{transform:scaleY(0)}}@keyframes flow{to{stroke-dashoffset:-30px}}@keyframes node-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes draw{0%{stroke-dashoffset:120px}to{stroke-dashoffset:0}}@keyframes draw-long{0%{stroke-dashoffset:700px}to{stroke-dashoffset:0}}.has-reveal [data-reveal]:not(.is-revealed) .illus,.has-reveal [data-reveal]:not(.is-revealed) .illus *{animation-play-state:paused}@media (max-width:480px){.container{padding:0 16px}.button-row>.button{text-align:center;flex:100%}.case-feature-body h2{font-size:1.45rem}.case-feature-number{font-size:4.2rem}.section-heading{margin-bottom:28px}.card:not(.bento-card){padding:22px}.project-visual{margin:-22px -22px 18px}.offer-panel,.contact-form{padding:22px}}.site-footer :is(p,li,dd){text-align:left;-webkit-hyphens:manual;hyphens:manual}.hero-visual{perspective:1200px}.hero-scene{transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .8s var(--ease-out);position:relative}.hero-photo-frame{transform:translateZ(0)}@media (hover:hover) and (pointer:fine){.card,.card-link:hover,.case-feature,.photo-frame{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px))}.card{transition:transform .25s var(--ease-out), box-shadow .2s, border-color .2s}.card-link:hover{--lift:-4px}.case-feature,.photo-frame{transition:transform .3s var(--ease-out)}}

