:root { --ink:#0b0d0b; --lime:#caff3d; --cream:#f3f0e3; --paper:#f7f5ef; --cobalt:#1646d8; --muted:#a5aa9f; --line:rgba(243,240,227,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--cream); font-family:Arial,Helvetica,sans-serif; }
main { display:flex; flex-direction:column; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
.brand { display:flex; align-items:center; gap:12px; font-size:14px; font-weight:800; letter-spacing:.08em; }
.brand b { color:var(--lime); }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--lime); border-radius:50%; color:var(--lime); font:italic 700 17px Georgia,serif; }
.hero { order:1; min-height:100svh; padding:48px 5vw 54px; position:relative; display:grid; grid-template-rows:auto 1fr auto; gap:38px; }
.hero-brand { align-self:start; display:block; width:210px; }.hero-brand img { display:block; width:100%; height:auto; }
.hero-copy { align-self:center; width:100%; }
.hero h1 { margin:0; font-size:clamp(72px,8vw,152px); line-height:.8; letter-spacing:-.08em; text-transform:uppercase; max-width:1500px; }
.hero h1 span { color:var(--cream); font-size:.6em; letter-spacing:-.04em; }.hero h1 strong { color:var(--lime); font-weight:900; }.hero h1 em { display:inline-block; margin-top:.08em; font-family:Georgia,serif; font-weight:400; text-transform:none; color:var(--cream); letter-spacing:-.06em; }
.hero-bottom { margin-top:58px; display:grid; grid-template-columns:minmax(0,600px) auto; align-items:center; gap:50px; width:100%; }
.hero-bottom p { max-width:600px; margin:0; color:#c4c9bc; font-size:22px; line-height:1.55; }
.hero-bottom .primary-cta { justify-self:end; }
.primary-cta { display:inline-flex; align-items:center; justify-content:space-between; min-width:310px; gap:28px; background:var(--lime); color:var(--ink); border-radius:999px; padding:20px 24px 20px 28px; font-size:16px; font-weight:800; transition:.25s ease; box-shadow:0 16px 45px rgba(202,255,61,.12); }
.primary-cta span { font-size:21px; transition:transform .25s ease; }
.primary-cta:hover { transform:translateY(-3px); box-shadow:0 20px 50px rgba(202,255,61,.22); }
.primary-cta:hover span { transform:translate(3px,-3px); }
.hero-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; border-top:1px solid var(--line); }
.hero-proof article { padding:24px 34px 0 0; display:grid; gap:7px; }
.hero-proof article+article { border-left:1px solid var(--line); padding-left:34px; }
.hero-proof strong { font-size:20px; }.hero-proof span { color:#aeb4a7; font-size:16px; }
.ticker { order:2; height:72px; background:var(--lime); color:var(--ink); overflow:hidden; display:flex; align-items:center; font-size:16px; font-weight:900; letter-spacing:.18em; white-space:nowrap; }
.ticker-track { display:flex; width:max-content; animation:ticker 24s linear infinite; will-change:transform; }.ticker-group { flex:0 0 auto; }.ticker span { margin:0 28px; }
.section { padding:120px 5vw; background:var(--paper); color:#101610; }
.clients { order:3; }
.section-label { display:flex; align-items:center; color:#596052; font-size:14px; letter-spacing:.13em; text-transform:uppercase; font-weight:700; }
.section-label.light { color:#c1c7b9; }
.section h2,.ai-band h2,.about h2,.final-cta h2 { margin:0; font-size:clamp(42px,5.2vw,80px); line-height:.98; letter-spacing:-.055em; }
.section h2 em,.ai-band h2 em,.about h2 em,.final-cta h2 em { font-family:Georgia,serif; font-weight:400; }
.client-heading { display:grid; grid-template-columns:2fr 1fr; gap:10vw; align-items:end; margin:0 0 70px; }
.client-heading p { color:#62685e; font-size:18px; line-height:1.7; margin:0; }
.logo-carousel { display:grid; gap:18px; overflow:hidden; padding:3px 0; }
.logo-row { overflow:hidden; mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%); }
.logo-track { display:flex; width:max-content; animation:logo-scroll 34s linear infinite; }
.logo-row.reverse .logo-track { animation-direction:reverse; animation-duration:30s; }
.logo-row:hover .logo-track { animation-play-state:paused; }
.logo-cell { width:220px; height:136px; flex:0 0 auto; display:grid; place-items:center; padding:24px 28px; border:1px solid #d4d5ce; border-right:0; background:rgba(255,255,255,.28); }
.logo-cell img { max-width:100%; width:130px; height:72px; object-fit:contain; mix-blend-mode:multiply; }
.portfolio { order:6; min-height:760px; position:relative; display:grid; overflow:hidden; background:#121a16; }
.portfolio-slides,.portfolio-slide,.portfolio-shade { position:absolute; inset:0; }
.portfolio-slide { margin:0; opacity:0; transform:scale(1.05); transition:opacity 1.1s ease,transform 6.5s ease; }
.portfolio-slide.is-active { opacity:1; transform:scale(1); }
.portfolio-slide img,.portfolio-slide video { width:100%; height:100%; object-fit:cover; display:block; }
.portfolio-shade { background:linear-gradient(90deg,rgba(7,10,8,.92) 0%,rgba(7,10,8,.62) 38%,rgba(7,10,8,.16) 72%,rgba(7,10,8,.33) 100%),linear-gradient(0deg,rgba(7,10,8,.58),transparent 48%); transition:opacity .55s ease; }
.portfolio-content { width:min(100%,1540px); min-height:760px; margin:0 auto; padding:94px 5vw 62px; position:relative; z-index:2; display:flex; flex-direction:column; justify-content:space-between; color:#fff; transition:opacity .55s ease,transform .55s ease; }
.portfolio.is-quiet .portfolio-shade { opacity:0; }
.portfolio.is-quiet .portfolio-content { opacity:0; transform:translateY(12px); pointer-events:none; }
.portfolio h2 { margin:0; max-width:850px; font-size:clamp(52px,6vw,104px); line-height:.92; letter-spacing:-.068em; }
.portfolio h2 em { color:var(--lime); font-family:Georgia,serif; font-weight:400; }
.portfolio-project { display:flex; align-items:end; gap:22px; font-size:clamp(28px,3vw,52px); font-weight:800; letter-spacing:-.05em; }
.portfolio-project small { padding:0 0 .48em; color:#e3e7dc; font-size:15px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.portfolio-progress { width:min(100%,530px); height:3px; margin-top:22px; background:rgba(255,255,255,.35); overflow:hidden; }
.portfolio-progress i { display:block; width:5%; height:100%; background:var(--lime); transition:transform .65s ease,width .2s ease; }
.ai-band { order:4; padding:115px 5vw; background:var(--cobalt); display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:start; position:relative; overflow:hidden; }
.ai-band:after { content:"AI"; position:absolute; right:-2vw; bottom:-10vw; font-size:32vw; line-height:1; font-weight:900; color:rgba(255,255,255,.035); letter-spacing:-.12em; }
.ai-copy,.ai-list { position:relative; z-index:2; }
.ai-copy h2 { margin:0 0 28px; color:white; }.ai-copy h2 em { color:var(--lime); }.ai-lead { color:#d7ddff; line-height:1.75; max-width:600px; font-size:19px; }
.ai-copy>a { margin-top:26px; display:inline-flex; gap:18px; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:8px; font-weight:700; font-size:16px; }.ai-copy>a span { color:var(--lime); }
.ai-list { display:grid; gap:16px; }
.ai-list article { min-height:164px; display:grid; grid-template-columns:86px 1fr; column-gap:24px; align-items:center; padding:26px 30px; border:1px solid rgba(255,255,255,.34); border-radius:18px; background:rgba(9,29,160,.18); transition:background .25s ease,transform .25s ease; }
.ai-list article:hover { transform:translateX(8px); background:rgba(9,29,160,.3); }.ai-list article>div:last-child { padding:0; }.ai-list h3 { margin:0 0 11px; color:var(--lime); font-size:16px; letter-spacing:.1em; text-transform:uppercase; }.ai-list p { margin:0; color:white; font-size:20px; line-height:1.5; max-width:570px; }
.ai-icon { width:64px; height:64px; display:grid; place-items:center; align-self:center; border-radius:18px; background:var(--lime); color:var(--cobalt); box-shadow:0 12px 30px rgba(0,0,0,.14); }.ai-icon i { font-size:31px; line-height:1; }
.solutions { order:5; }.solutions-heading { margin:0 0 70px; display:grid; grid-template-columns:2fr 1fr; gap:8vw; align-items:end; }.solutions-cta { justify-self:start; display:inline-flex; gap:14px; color:var(--cobalt); font:italic 26px Georgia,serif; border-bottom:1px solid currentColor; padding-bottom:8px; }.solutions-cta span { color:#101610; font-family:Arial,Helvetica,sans-serif; font-size:22px; }
.solutions-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #c7c9c1; }
.solutions-grid a { min-height:130px; display:grid; grid-template-columns:1fr 30px; align-items:center; padding:20px 26px 20px 0; border-bottom:1px solid #c7c9c1; transition:.25s ease; }
.solutions-grid a:nth-child(odd) { border-right:1px solid #c7c9c1; }.solutions-grid a:nth-child(even) { padding-left:26px; }
.solutions-grid a:hover { background:var(--lime); padding-left:24px; padding-right:24px; }
.solutions-grid h3 { font-size:24px; margin:0; }.solutions-grid b { font-size:25px; }
.value-card { margin-top:76px; min-height:520px; width:100%; background:var(--ink); color:var(--cream); display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr); overflow:hidden; border-radius:22px; }
.value-intro { padding:58px; display:flex; flex-direction:column; justify-content:center; }.value-intro h3 { margin:0 0 24px; max-width:460px; font-size:clamp(36px,3.1vw,52px); line-height:1; letter-spacing:-.055em; }.value-intro p { max-width:440px; color:#c5c9bf; line-height:1.65; font-size:19px; }
.value-metrics { min-width:0; width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--lime); color:var(--ink); }.value-metrics article { min-width:0; overflow:hidden; padding:34px clamp(24px,2.5vw,40px) 32px; display:grid; grid-template-rows:1fr auto; align-items:end; }.value-metrics article+article { border-left:1px solid rgba(11,13,11,.2); }.value-metrics strong { display:flex; align-items:flex-end; justify-content:flex-start; gap:clamp(6px,.8vw,12px); align-self:center; min-width:0; line-height:.72; letter-spacing:-.1em; white-space:nowrap; }.value-metrics strong small { flex:0 0 auto; padding-bottom:.36em; font-size:clamp(22px,1.5vw,30px); letter-spacing:-.06em; font-weight:800; }.value-metrics strong b { flex:0 1 auto; font-size:clamp(108px,7.4vw,174px); font-weight:900; }.value-metrics strong em { flex:0 0 auto; padding-bottom:.08em; font-size:clamp(56px,3.8vw,84px); font-style:normal; font-weight:900; }.value-metrics span { max-width:250px; font-size:20px; line-height:1.2; font-weight:800; }
.about { order:7; padding:120px 5vw; display:grid; grid-template-columns:1.2fr 1fr; gap:60px 9vw; }
.about-main h2 { margin-top:0; font-size:clamp(42px,4.5vw,70px); }.about-main h2 em { color:var(--lime); }
.about-copy { padding-top:68px; }.about-copy p { color:#b8bdb1; font-size:18px; line-height:1.8; margin:0 0 24px; }
.tools-block { grid-column:1/-1; border-top:1px solid var(--line); padding-top:34px; display:grid; grid-template-columns:1fr 2fr; gap:50px; }.tools-block>p { color:#aeb3a8; line-height:1.6; margin:0; max-width:360px; font-size:17px; }.tools-block>div { display:flex; flex-wrap:wrap; gap:10px; }.tools-block span { border:1px solid #464c43; border-radius:999px; padding:11px 16px; color:#d9ddd3; font-size:14px; }
.reviews { order:8; padding-top:110px; padding-bottom:120px; }.reviews-heading { display:grid; grid-template-columns:1.4fr 1fr; column-gap:10vw; align-items:end; }.google-title { grid-column:1 / -1; display:flex; align-items:center; gap:12px; margin-bottom:28px; color:#5f665b; font-size:16px; font-weight:700; }.google-g { width:34px; height:34px; border-radius:50%; background:conic-gradient(#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0); color:white; display:grid; place-items:center; font-size:21px; font-weight:900; }.reviews h2 { margin:0; font-size:clamp(42px,5vw,72px); line-height:.98; letter-spacing:-.055em; }.reviews h2 em { font-family:Georgia,serif; font-weight:400; }.reviews-heading>p { margin:0; color:#62685e; font-size:18px; line-height:1.7; }.reviews-carousel { margin-top:58px; }.reviews-controls { margin-bottom:18px; display:flex; align-items:center; justify-content:flex-end; gap:12px; color:#687066; font-size:14px; font-weight:700; }.review-arrow { width:44px; height:44px; display:grid; place-items:center; border:1px solid #c8ccc3; border-radius:50%; color:#20251e; background:transparent; cursor:pointer; font-size:18px; transition:.2s ease; }.review-arrow:hover { color:white; background:#101610; border-color:#101610; }.reviews-viewport { overflow:hidden; scroll-behavior:smooth; }.reviews-track { display:flex; gap:18px; }.review-card { flex:0 0 calc((100% - 36px) / 3); min-height:330px; padding:30px; border:1px solid #d7d9d1; border-radius:16px; background:white; display:flex; flex-direction:column; transition:transform .25s ease,box-shadow .25s ease; }.review-card:hover { transform:translateY(-5px); box-shadow:0 20px 45px rgba(18,23,18,.1); }.review-top { display:flex; justify-content:space-between; align-items:center; color:#697068; font-size:14px; }.stars { color:#fbbc05; letter-spacing:.12em; font-size:17px; }.review-card blockquote { margin:34px 0; color:#20251e; font-family:Georgia,serif; font-size:22px; line-height:1.35; letter-spacing:-.025em; }.review-card footer { margin-top:auto; padding:18px 0 0; min-height:0; border-top:1px solid #e1e3dc; display:flex; flex-direction:column; gap:4px; color:#6a7066; font-size:14px; }.review-card footer strong { color:#20251e; font-size:15px; }
.final-cta { order:9; min-height:720px; padding:110px 5vw; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; overflow:hidden; background:var(--ink); }
.final-cta .section-label { margin-bottom:35px; }.final-cta h2 { font-size:clamp(48px,6vw,92px); position:relative; z-index:2; }.final-cta h2 em { color:var(--lime); }.final-cta p { max-width:630px; color:#abb0a5; line-height:1.7; margin:28px auto; position:relative; z-index:2; font-size:19px; }.final-cta .primary-cta { position:relative; z-index:2; min-width:420px; }
footer { order:10; min-height:150px; border-top:1px solid var(--line); padding:32px 5vw; display:grid; grid-template-columns:1fr 1fr 1fr auto; align-items:center; gap:30px; color:#8d9387; font-size:14px; }.footer-brand { display:block; width:145px; }.footer-brand img { display:block; width:100%; height:auto; }footer p { margin:0; }footer div { display:flex; gap:22px; }

.footer-social { display:flex; align-items:center; gap:10px; }.footer-social a { width:36px; height:36px; display:grid; place-items:center; border:1px solid #464c43; border-radius:50%; color:var(--cream); font-size:17px; transition:background .2s ease,color .2s ease,border-color .2s ease; }.footer-social a:hover { background:var(--lime); border-color:var(--lime); color:var(--ink); }
footer { grid-template-columns:1fr 1fr 1.2fr auto auto; }
.cookie-banner { position:fixed; z-index:20; left:24px; right:24px; bottom:24px; max-width:1040px; margin:0 auto; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid rgba(255,255,255,.2); border-radius:16px; background:rgba(11,13,11,.96); box-shadow:0 18px 60px rgba(0,0,0,.35); color:var(--cream); }.cookie-banner[hidden] { display:none; }.cookie-banner strong { display:block; font-size:18px; }.cookie-banner p { max-width:600px; margin:7px 0 3px; color:#c3c9bd; font-size:14px; line-height:1.5; }.cookie-banner a,.cookie-link { color:var(--lime); font-size:13px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }.cookie-actions,.modal-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }.cookie-actions button,.modal-actions button { font:inherit; cursor:pointer; }.cookie-link { padding:10px 4px; border:0; background:transparent; }.cookie-secondary,.cookie-accept { min-height:42px; padding:10px 15px; border-radius:999px; font-size:13px; font-weight:800; }.cookie-secondary { border:1px solid #596056; background:transparent; color:var(--cream); }.cookie-accept { border:1px solid var(--lime); background:var(--lime); color:var(--ink); }.cookie-modal { width:min(600px,calc(100% - 32px)); padding:34px; border:0; border-radius:18px; background:var(--paper); color:var(--ink); box-shadow:0 24px 80px rgba(0,0,0,.42); }.cookie-modal::backdrop { background:rgba(0,0,0,.62); }.cookie-modal form { position:absolute; top:14px; right:14px; }.modal-close { width:34px; height:34px; border:0; border-radius:50%; background:#e2e4dc; color:var(--ink); font-size:23px; line-height:1; cursor:pointer; }.legal-eyebrow { margin:0 0 14px; color:#5f665b; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.cookie-modal h2 { margin:0; font-size:clamp(34px,5vw,54px); letter-spacing:-.06em; line-height:.95; }.cookie-modal>p:not(.legal-eyebrow) { margin:20px 0 25px; color:#5e655a; line-height:1.6; }.cookie-options { border-top:1px solid #d7d9d1; }.cookie-options label { padding:17px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #d7d9d1; }.cookie-options strong,.cookie-options small { display:block; }.cookie-options small { max-width:390px; margin-top:4px; color:#646b60; font-size:13px; line-height:1.4; }.cookie-options input { width:20px; height:20px; accent-color:var(--cobalt); }.modal-actions { margin-top:24px; }
@keyframes ticker { to { transform:translateX(-50%); } }@keyframes logo-scroll { to { transform:translateX(-50%); } }@keyframes float { 50% { transform:translateY(14px); } }
@media (max-width:1050px) { .client-heading,.solutions-heading { grid-template-columns:1fr; gap:28px; }.ai-band { grid-template-columns:1fr; }.value-card { grid-template-columns:1fr; }.about { grid-template-columns:1fr; }.about-copy { padding-top:0; }.tools-block { grid-template-columns:1fr; }.reviews-heading { grid-template-columns:1fr; gap:24px; }.reviews-grid { grid-template-columns:1fr; }.review-card { min-height:0; }.portfolio,.portfolio-content { min-height:640px; }footer { grid-template-columns:1fr 1fr; } }
@media (max-width:700px) { .hero { min-height:100svh; padding:28px 20px 44px; gap:30px; }.hero-brand { font-size:13px; }.hero-brand .brand-mark { width:36px; height:36px; font-size:18px; }.hero h1 { font-size:clamp(52px,15vw,72px); }.hero-bottom { margin-top:34px; grid-template-columns:1fr; align-items:stretch; gap:26px; }.hero-bottom p { font-size:18px; }.hero-bottom .primary-cta { justify-self:stretch; }.primary-cta { min-width:0; width:100%; }.hero-proof { grid-template-columns:1fr; }.hero-proof article,.hero-proof article+article { border-left:0; border-top:1px solid var(--line); padding:16px 0; }.hero-proof article:first-child { border-top:0; }.ticker { height:54px; font-size:13px; }.ticker-group { padding-right:28px; }.section,.ai-band,.about,.reviews { padding:80px 20px; }.section h2,.ai-band h2,.about h2,.reviews h2 { font-size:43px; }.client-heading { margin:0 0 48px; }.logo-wall { grid-template-columns:repeat(3,1fr); }.logo-cell { min-height:100px; padding:18px 12px; }.logo-cell img { width:90px; height:52px; }.portfolio,.portfolio-content { min-height:560px; }.portfolio-content { padding:62px 20px 40px; }.portfolio h2 { font-size:clamp(48px,14vw,68px); }.portfolio-project { align-items:flex-start; flex-direction:column; gap:5px; font-size:34px; }.portfolio-project small { padding:0; font-size:12px; }.portfolio-progress { width:100%; }.portfolio-shade { background:linear-gradient(90deg,rgba(7,10,8,.86),rgba(7,10,8,.27)),linear-gradient(0deg,rgba(7,10,8,.7),transparent 60%); }.ai-band { gap:52px; }.ai-list article { min-height:156px; grid-template-columns:62px 1fr; column-gap:14px; }.ai-list h3 { font-size:12px; }.ai-list p { font-size:17px; }.ai-icon { width:44px; height:44px; }.ai-list article:not(:last-child) .ai-icon:after { height:94px; top:54px; }.icon-discover:before { width:13px; height:13px; top:11px; left:11px; }.icon-discover:after { width:10px; top:29px; left:26px; }.icon-implement:before { width:19px; top:20px; left:11px; }.icon-implement:after { width:8px; height:8px; top:16px; right:10px; }.icon-optimize:before { left:11px; bottom:11px; transform:scale(.78); transform-origin:bottom left; }.icon-optimize:after { width:22px; left:10px; bottom:10px; }.solutions-heading { margin:0 0 48px; }.solutions-grid { grid-template-columns:1fr; }.solutions-grid a:nth-child(odd) { border-right:0; }.solutions-grid a:nth-child(even),.solutions-grid a { padding-left:0; }.solutions-grid a:hover { padding-left:14px; }.solutions-grid h3 { font-size:20px; }.value-intro { padding:34px 26px; }.value-intro h3 { font-size:36px; }.value-intro p { font-size:17px; }.value-metrics { grid-template-columns:1fr; }.value-metrics article { padding:32px 26px; }.value-metrics article+article { border-left:0; border-top:1px solid rgba(11,13,11,.2); }.tools-block { grid-column:auto; }.reviews-heading>p { font-size:17px; }.reviews-grid { margin-top:38px; }.review-card { padding:26px 22px; }.review-card blockquote { margin:28px 0; font-size:20px; }.final-cta { min-height:700px; padding:80px 20px; align-items:center; text-align:center; background-position:58% center; }.final-cta h2 { font-size:47px; }.final-cta .primary-cta { min-width:0; }.final-orbit { width:120vw; }footer { padding:40px 20px; grid-template-columns:1fr; }footer div { flex-wrap:wrap; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
@media (max-width:700px) { .hero-brand { width:150px; }.ai-icon { width:52px; height:52px; border-radius:14px; }.ai-list article:not(:last-child) .ai-icon:after { height:100px; top:62px; }.icon-discover i,.icon-discover b,.icon-discover em { width:8px; height:8px; }.icon-discover i { top:13px; left:14px; }.icon-discover b { top:31px; left:14px; }.icon-discover em { top:22px; right:12px; }.icon-discover:before { width:17px; height:1px; border:0; left:19px; top:18px; transform:rotate(18deg); }.icon-discover:after { width:16px; height:1px; left:19px; top:35px; transform:rotate(-31deg); }.icon-implement i,.icon-implement b,.icon-implement em { width:7px; bottom:12px; }.icon-implement i { left:11px; height:11px; }.icon-implement b { left:22px; height:19px; }.icon-implement em { left:33px; height:29px; }.icon-implement:before { width:24px; height:1px; border:0; top:18px; left:11px; transform:rotate(-38deg); }.icon-implement:after { width:7px; height:7px; top:9px; right:10px; }.icon-optimize i,.icon-optimize b,.icon-optimize em { width:8px; height:8px; }.icon-optimize i { left:10px; bottom:11px; }.icon-optimize b { left:22px; top:20px; }.icon-optimize em { right:9px; top:10px; }.icon-optimize:before { width:16px; height:1px; border:0; left:17px; top:33px; bottom:auto; transform:rotate(-37deg); }.icon-optimize:after { width:16px; height:1px; left:29px; top:24px; bottom:auto; transform:rotate(-38deg); }.value-metrics strong { gap:8px; }.value-metrics strong small { font-size:22px; }.value-metrics strong b { font-size:clamp(94px,28vw,128px); }.value-metrics strong em { font-size:clamp(52px,16vw,76px); } }
@media (max-width:700px) { .ai-list article { min-height:142px; grid-template-columns:64px 1fr; column-gap:16px; padding:20px 18px; }.ai-list h3 { font-size:12px; }.ai-icon { width:54px; height:54px; border-radius:15px; }.ai-icon i { position:static; font-size:27px; }.ai-list article:not(:last-child) .ai-icon:after { content:none; } }
@media (max-width:1050px) and (min-width:701px) { .review-card { flex-basis:calc((100% - 18px) / 2); } }
@media (max-width:700px) { .solutions-cta { font-size:22px; }.reviews-controls { justify-content:center; }.review-card { flex-basis:100%; }.reviews-track { gap:14px; } }
@media (max-width:700px) { .cookie-banner { left:12px; right:12px; bottom:12px; padding:19px; display:block; }.cookie-banner p { font-size:13px; }.cookie-actions { margin-top:16px; justify-content:flex-start; }.cookie-modal { padding:28px 20px 22px; }.cookie-modal h2 { font-size:38px; }.cookie-options label { align-items:flex-start; }.cookie-options small { font-size:12px; }.modal-actions { justify-content:stretch; }.modal-actions button { flex:1; } }
.legal-page { min-height:100svh; background:var(--paper); color:var(--ink); }.legal-header { padding:30px 5vw; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #d5d7cf; }.legal-header img { width:160px; }.legal-header a { font-size:14px; font-weight:800; }.legal-main { width:min(100% - 40px,960px); margin:0 auto; padding:92px 0 100px; }.legal-main h1 { max-width:840px; margin:0; font-size:clamp(52px,8vw,112px); line-height:.88; letter-spacing:-.075em; }.legal-main h1 em { display:block; margin-top:8px; color:var(--cobalt); font-family:Georgia,serif; font-weight:400; }.legal-updated { margin:30px 0 58px; color:#687066; font-size:15px; }.legal-intro { max-width:750px; margin:0 0 54px; color:#3d443b; font-size:21px; line-height:1.6; }.legal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 70px; }.legal-grid section { border-top:1px solid #c8cbc2; padding-top:22px; }.legal-grid section.wide { grid-column:1/-1; }.legal-grid h2 { margin:0 0 12px; font-size:26px; letter-spacing:-.04em; }.legal-grid p { margin:0; color:#535b50; font-size:16px; line-height:1.65; }.legal-footer { padding:30px 5vw; border-top:1px solid #d5d7cf; color:#687066; font-size:14px; display:flex; justify-content:space-between; gap:20px; }.legal-footer a { color:var(--ink); font-weight:800; }
@media (max-width:700px) { .legal-header { padding:24px 20px; }.legal-header img { width:132px; }.legal-main { padding:64px 0 76px; }.legal-main h1 { font-size:clamp(48px,15vw,72px); }.legal-intro { font-size:18px; }.legal-grid { grid-template-columns:1fr; gap:36px; }.legal-grid section.wide { grid-column:auto; }.legal-footer { padding:24px 20px; display:block; }.legal-footer a { display:inline-block; margin-top:10px; } }
.copy-page { background:var(--paper); color:var(--ink); }.copy-header { padding:28px 5vw; display:flex; align-items:center; justify-content:space-between; background:var(--ink); }.copy-header img { width:170px; }.copy-header a { color:var(--cream); font-size:14px; font-weight:800; }.copy-hero { min-height:720px; position:relative; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; background:var(--ink); color:white; }.copy-hero-copy { z-index:2; padding:100px 5vw; display:flex; flex-direction:column; justify-content:center; }.copy-kicker { margin:0 0 22px; color:var(--lime); font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.copy-hero h1 { max-width:800px; margin:0; font-size:clamp(54px,6.5vw,108px); line-height:.88; letter-spacing:-.075em; }.copy-hero h1 em { color:var(--lime); font-family:Georgia,serif; font-weight:400; }.copy-hero p { max-width:600px; margin:30px 0 34px; color:#c1c7bb; font-size:20px; line-height:1.6; }.copy-hero-media { min-height:500px; position:relative; }.copy-hero-media:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--ink),transparent 45%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 52%); }.copy-hero-media img { width:100%; height:100%; object-fit:cover; }.copy-section { padding:112px 5vw; }.copy-section h2 { max-width:900px; margin:0; font-size:clamp(44px,5vw,80px); line-height:.92; letter-spacing:-.065em; }.copy-section h2 em { color:var(--cobalt); font-family:Georgia,serif; font-weight:400; }.copy-list { margin-top:55px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #c9ccc4; }.copy-list article { min-height:190px; padding:26px 30px 26px 0; border-bottom:1px solid #c9ccc4; }.copy-list article:nth-child(3n+2),.copy-list article:nth-child(3n+3) { padding-left:30px; border-left:1px solid #c9ccc4; }.copy-list strong { display:block; margin-bottom:15px; color:var(--cobalt); font-size:14px; letter-spacing:.08em; }.copy-list p { margin:0; color:#4d554b; font-size:18px; line-height:1.45; }.copy-proof { padding:104px 5vw; display:grid; grid-template-columns:1fr 1fr; gap:8vw; background:var(--ink); color:var(--cream); }.copy-proof h2 { margin:0; font-size:clamp(48px,5.4vw,88px); line-height:.9; letter-spacing:-.07em; }.copy-proof h2 em { color:var(--lime); font-family:Georgia,serif; font-weight:400; }.copy-proof p { color:#b7bdb0; font-size:20px; line-height:1.65; }.copy-process { padding:112px 5vw; background:#dbe1d3; }.copy-process-head { display:flex; justify-content:space-between; gap:40px; align-items:end; }.copy-process-head p { max-width:420px; margin:0; color:#4b5348; font-size:18px; line-height:1.6; }.process-track { position:relative; margin-top:68px; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.process-track:before { content:""; position:absolute; top:37px; left:8%; right:8%; height:1px; background:#788171; }.process-step { position:relative; z-index:1; min-height:245px; padding:22px; border:1px solid #aab2a3; background:var(--paper); animation:step-rise 7s ease-in-out infinite; }.process-step:nth-child(2){animation-delay:.5s}.process-step:nth-child(3){animation-delay:1s}.process-step:nth-child(4){animation-delay:1.5s}.process-step:nth-child(5){animation-delay:2s}.process-step:nth-child(6){animation-delay:2.5s}.process-step:nth-child(7){animation-delay:3s}.process-step span { width:32px; height:32px; margin-bottom:45px; display:grid; place-items:center; border-radius:50%; background:var(--cobalt); color:white; font-size:12px; font-weight:800; }.process-step h3 { margin:0 0 10px; font-size:21px; letter-spacing:-.04em; }.process-step p { margin:0; color:#596156; font-size:15px; line-height:1.45; }.copy-results { padding:112px 5vw; display:grid; grid-template-columns:1fr 1.5fr; gap:8vw; background:var(--paper); }.copy-results h2 { font-size:clamp(42px,4.5vw,70px); }.copy-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); }.copy-stat { padding:26px; border-left:1px solid #c9ccc4; }.copy-stat strong { display:block; font-size:clamp(44px,5vw,75px); letter-spacing:-.08em; }.copy-stat span { display:block; margin-top:12px; color:#5a6257; line-height:1.35; }.copy-cta { padding:120px 5vw; text-align:center; background:var(--cobalt); color:white; }.copy-cta h2 { max-width:960px; margin:0 auto; font-size:clamp(48px,6.4vw,100px); line-height:.88; letter-spacing:-.075em; }.copy-cta h2 em { color:var(--lime); font-family:Georgia,serif; font-weight:400; }.copy-cta p { max-width:620px; margin:28px auto 38px; color:#dce4ff; font-size:19px; line-height:1.6; }.copy-footer { padding:30px 5vw; display:flex; justify-content:space-between; gap:20px; background:var(--ink); color:#aab1a5; font-size:14px; }.copy-footer a { color:var(--cream); font-weight:800; }@keyframes step-rise { 0%,55%,100% { transform:translateY(0); box-shadow:none; } 10%,35% { transform:translateY(-12px); box-shadow:0 16px 30px rgba(20,31,19,.15); } }
@media (max-width:900px) { .copy-hero { grid-template-columns:1fr; }.copy-hero-media { min-height:400px; grid-row:1; }.copy-hero-copy { grid-row:2; padding-top:72px; }.copy-hero-media:after { background:linear-gradient(0deg,var(--ink),transparent 65%); }.copy-list { grid-template-columns:1fr 1fr; }.copy-list article:nth-child(3n+2),.copy-list article:nth-child(3n+3) { border-left:0; padding-left:0; }.copy-list article:nth-child(even) { padding-left:28px; border-left:1px solid #c9ccc4; }.process-track { grid-template-columns:repeat(2,1fr); }.process-track:before { display:none; }.copy-results { grid-template-columns:1fr; } }
@media (max-width:700px) { .copy-header { padding:22px 20px; }.copy-header img { width:140px; }.copy-hero { min-height:auto; }.copy-hero-copy { padding:68px 20px 80px; }.copy-hero h1 { font-size:clamp(52px,15vw,72px); }.copy-hero p { font-size:18px; }.copy-section,.copy-process,.copy-results { padding:78px 20px; }.copy-section h2 { font-size:44px; }.copy-list { grid-template-columns:1fr; margin-top:42px; }.copy-list article,.copy-list article:nth-child(even) { min-height:0; padding:24px 0; border-left:0; }.copy-proof { padding:78px 20px; grid-template-columns:1fr; gap:28px; }.copy-proof h2 { font-size:50px; }.copy-proof p { font-size:18px; }.copy-process-head { display:block; }.copy-process-head p { margin-top:22px; }.process-track { margin-top:42px; grid-template-columns:1fr; }.process-step { min-height:0; }.process-step span { margin-bottom:28px; }.copy-results { gap:30px; }.copy-stat-grid { grid-template-columns:1fr; }.copy-stat { border-left:0; border-top:1px solid #c9ccc4; padding:22px 0; }.copy-cta { padding:88px 20px; }.copy-cta h2 { font-size:52px; }.copy-cta .primary-cta { width:100%; }.copy-footer { padding:28px 20px; display:block; }.copy-footer a { display:inline-block; margin-top:10px; } }
.copy-process h2,.copy-results h2 { margin:0; font-size:clamp(42px,4.5vw,70px); line-height:.92; letter-spacing:-.065em; }.copy-process h2 em,.copy-results h2 em { color:var(--cobalt); font-family:Georgia,serif; font-weight:400; }
.copy-hero-copy .primary-cta { align-self:flex-start; min-width:0; width:auto; padding:16px 22px 16px 26px; gap:22px; }.copy-process .process-track { grid-template-columns:repeat(7,minmax(0,1fr)); gap:0; border-top:1px solid #84907b; border-bottom:1px solid #84907b; }.copy-process .process-track:before { top:50px; left:7%; right:7%; height:2px; background:linear-gradient(90deg,var(--cobalt),var(--lime),var(--cobalt)); }.copy-process .process-step { min-height:280px; padding:24px 16px 22px; border:0; border-left:1px solid #b4bcae; background:transparent; animation:process-focus 7s ease-in-out infinite; }.copy-process .process-step:first-child { border-left:0; }.copy-process .process-step:after { content:"›"; position:absolute; z-index:2; top:33px; right:-9px; color:var(--cobalt); font-size:24px; font-weight:900; }.copy-process .process-step:last-child:after { display:none; }.copy-process .process-step span { width:38px; height:38px; margin-bottom:52px; border:3px solid #dbe1d3; background:var(--cobalt); box-shadow:0 0 0 2px var(--cobalt); }.copy-process .process-step h3 { font-size:19px; }.copy-process .process-step p { font-size:14px; }.copy-process .process-step:nth-child(2){animation-delay:1s}.copy-process .process-step:nth-child(3){animation-delay:2s}.copy-process .process-step:nth-child(4){animation-delay:3s}.copy-process .process-step:nth-child(5){animation-delay:4s}.copy-process .process-step:nth-child(6){animation-delay:5s}.copy-process .process-step:nth-child(7){animation-delay:6s}@keyframes process-focus { 0%,68%,100% { background:transparent; transform:translateY(0); } 8%,38% { background:rgba(255,255,255,.65); transform:translateY(-9px); } }
@media (max-width:1150px) and (min-width:701px) { .copy-process .process-track { grid-template-columns:repeat(4,1fr); gap:14px; border:0; }.copy-process .process-step { border:1px solid #b4bcae; background:var(--paper); }.copy-process .process-step:after,.copy-process .process-track:before { display:none; } }
@media (max-width:700px) { .copy-hero-copy .primary-cta { width:auto; }.copy-process .process-track { grid-template-columns:1fr; gap:0; border:0; }.copy-process .process-step { min-height:0; padding:22px 0 22px 58px; border:0; border-bottom:1px solid #aab2a3; background:transparent; }.copy-process .process-step:after { display:none; }.copy-process .process-track:before { display:block; top:28px; bottom:28px; left:18px; right:auto; width:2px; height:auto; background:linear-gradient(var(--cobalt),var(--lime),var(--cobalt)); }.copy-process .process-step span { position:absolute; top:18px; left:0; margin:0; }.copy-process .process-step p { font-size:15px; } }
.copy-process .process-track,.copy-process .process-step { border:0; }.copy-process .process-track:before,.copy-process .process-step:after { display:none; }.copy-process .process-track { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.copy-process .process-step { min-height:250px; padding:28px; border-radius:18px; background:rgba(255,255,255,.58); box-shadow:inset 0 0 0 1px rgba(69,82,65,.16); animation:none; transition:transform .3s ease,background .3s ease,box-shadow .3s ease; }.copy-process .process-step span { margin-bottom:42px; }.copy-process.is-in-view .process-step,.copy-process:hover .process-step { animation:process-focus 4.5s ease-in-out both; }.copy-process.is-in-view .process-step:nth-child(2),.copy-process:hover .process-step:nth-child(2){animation-delay:.12s}.copy-process.is-in-view .process-step:nth-child(3),.copy-process:hover .process-step:nth-child(3){animation-delay:.24s}.copy-process.is-in-view .process-step:nth-child(4),.copy-process:hover .process-step:nth-child(4){animation-delay:.36s}.copy-process.is-in-view .process-step:nth-child(5),.copy-process:hover .process-step:nth-child(5){animation-delay:.48s}.copy-process.is-in-view .process-step:nth-child(6),.copy-process:hover .process-step:nth-child(6){animation-delay:.6s}.copy-process.is-in-view .process-step:nth-child(7),.copy-process:hover .process-step:nth-child(7){animation-delay:.72s}.copy-process .process-step:hover { transform:translateY(-8px); background:white; box-shadow:0 18px 35px rgba(20,31,19,.15); }
@media (max-width:900px) and (min-width:701px) { .copy-process .process-track { grid-template-columns:repeat(2,minmax(0,1fr)); }.copy-process .process-step { min-height:230px; } }
@media (max-width:700px) { .copy-process .process-track { grid-template-columns:1fr; gap:12px; }.copy-process .process-step { min-height:0; padding:24px; border-radius:14px; }.copy-process .process-step span { position:static; margin:0 0 22px; } }
.legal-page .legal-header img { filter:invert(1); }

/* Interações de arrasto, ícones e enquadramento mobile */
.logo-row { cursor:grab; touch-action:pan-y; user-select:none; }
.logo-row img { -webkit-user-drag:none; }
.logo-row.is-dragging { cursor:grabbing; }
.logo-row.is-dragging .logo-track { animation-play-state:paused; }
.cta-icon,.service-icon { display:inline-block; font-family:"bootstrap-icons" !important; font-style:normal; line-height:1; }
.primary-cta .cta-icon { font-size:20px; transition:transform .25s ease; }
.primary-cta:hover .cta-icon { transform:translate(3px,-3px); }
.ai-copy>a .cta-icon,.solutions-cta .cta-icon { color:var(--lime); font-size:19px; }
.solutions-cta .cta-icon { color:#101610; }
.service-icon { font-size:23px; justify-self:end; }
.cookie-modal .cookie-secondary { color:var(--ink); border-color:#8c9488; background:transparent; }
.cookie-modal .cookie-secondary:hover { background:#e3e6de; }

@media (max-width:700px) {
  .portfolio { min-height:0; aspect-ratio:3 / 4; background:#111; }
  .portfolio-content { min-height:0; height:100%; }
  .portfolio-slide img { object-fit:contain; background:#111; }
  .portfolio-shade { background:linear-gradient(0deg,rgba(7,10,8,.76),transparent 58%); }
  .service-icon { font-size:21px; }
}

@media (max-width:700px) {
  .portfolio { display:grid; grid-template-rows:auto auto; aspect-ratio:auto; background:#111; }
  .portfolio-slides { position:relative; inset:auto; grid-row:2; width:100%; aspect-ratio:16 / 9; background:#111; }
  .portfolio-slide { position:absolute; inset:0; }
  .portfolio-content { grid-row:1; width:100%; height:auto; min-height:0; padding:46px 20px 30px; display:block; background:#111; }
  .portfolio h2 { max-width:520px; font-size:clamp(46px,13vw,64px); }
  .portfolio-project { margin-top:38px; align-items:baseline; flex-direction:row; flex-wrap:wrap; gap:8px 15px; font-size:30px; }
  .portfolio-project small { padding:0; font-size:11px; }
  .portfolio-progress { width:100%; margin-top:20px; }
  .portfolio-shade { display:none; }
  .portfolio-slide img { object-fit:contain; background:#111; }
  .portfolio.is-quiet .portfolio-content { opacity:1; transform:none; pointer-events:auto; }
}
