:root {
  --ink: #1f1f1f;
  --ink-deep: #0d0d0d;
  --paper: #f4f1e9;
  --muted: #aaa79f;
  --yellow: #ffb800;
  --line: rgba(255,255,255,.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: "Poppins", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
::selection { background: var(--yellow); color: #111; }
a { color: inherit; text-decoration: none; }
.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 99; opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

.site-header {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 50;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  min-height: 78px; padding: 0 3.5vw; border-bottom: 1px solid transparent;
  transition: background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
}
.site-header.scrolled { background: rgba(20,20,20,.82); border-color: var(--line); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 10px; width: max-content; }
.brand-mark { position: relative; width: 29px; height: 29px; overflow: hidden; border-radius: 50%; flex: 0 0 auto; }
.brand-mark img { position: absolute; width: 196px; max-width: none; left: -83px; top: -67px; }
.brand-name { font-size: .83rem; font-weight: 600; letter-spacing: .065em; }
.desktop-nav { display: flex; align-items: center; gap: 36px; }
.desktop-nav a { font-size: .72rem; color: rgba(255,255,255,.64); transition: color .2s; }
.desktop-nav a:hover { color: #fff; }
.header-cta { justify-self: end; font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; display: flex; gap: 12px; align-items: center; }
.header-cta span { color: var(--yellow); font-size: 1.15rem; }

.hero {
  --pointer-x: 0px; --pointer-y: 0px;
  position: relative; min-height: 100svh; padding: 150px 6vw 54px;
  display: flex; flex-direction: column; justify-content: center; overflow: hidden;
  background:
    radial-gradient(circle at 76% 30%, rgba(255,184,0,.12), transparent 24%),
    linear-gradient(125deg, #080808 0%, #1c1c1c 48%, #090909 100%);
}
.hero::before {
  content: ""; position: absolute; inset: -10%; opacity: .13;
  background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px);
  background-size: 8.33vw 100%, 100% 100%; mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
  animation: heroGrid 16s ease-in-out infinite alternate;
}
.hero-cinema { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.hero-cinema::before { content:""; position:absolute; inset:0; z-index:1; opacity:.34; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); mix-blend-mode:overlay; animation:grainShift .22s steps(2) infinite; }
.hero-cinema::after { content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),linear-gradient(90deg,rgba(4,4,4,.78) 0%,rgba(4,4,4,.5) 38%,rgba(4,4,4,.08) 74%,rgba(4,4,4,.25) 100%); }
.hero-fluid { display:none; }
.hero-fluid-canvas { position:absolute; inset:-7%; width:114%; height:114%; filter:blur(14px) saturate(1.2) contrast(1.12); transform:translate3d(var(--pointer-x),var(--pointer-y),0) scale(1.05); animation:fluidFloat 14s ease-in-out infinite alternate; }
.fluid-band { animation:fluidPulse 8s ease-in-out infinite; }
.fluid-ribbon-glow { animation:fluidGlow 6s ease-in-out infinite; }
.hero-glow { position: absolute; right: 10vw; top: 16%; width: 24vw; aspect-ratio: 1; border-radius: 50%; background:radial-gradient(circle,rgba(255,184,0,.2),transparent 68%); filter:blur(12px); opacity:.42; animation:breathe 5s ease-in-out infinite; transform:translate3d(var(--pointer-x),var(--pointer-y),0); }
.hero-glow::before,.hero-glow::after { content:""; position:absolute; inset:12%; border-radius:50%; border:1px solid rgba(255,255,255,.16); }
.hero-glow::before,.hero-glow::after { display:none; }
.hero-meta,.hero-bottom { backdrop-filter:blur(10px); background:linear-gradient(100deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); box-shadow:inset 0 1px rgba(255,255,255,.12); }
.hero-meta { position: relative; z-index:2; display: flex; justify-content: space-between; padding:13px 16px; border:1px solid rgba(255,255,255,.1); border-radius:100px; font-size: .65rem; text-transform: uppercase; letter-spacing: .2em; color: rgba(255,255,255,.62); }
.hero-title { position: relative; z-index: 2; margin: 34px 0 28px; font-family: "Bebas Neue", sans-serif; font-weight: 400; font-size: clamp(4.4rem, 10.2vw, 10.6rem); line-height: .79; letter-spacing: -.025em; text-shadow:0 10px 50px rgba(0,0,0,.28); }
.hero-title > span { display: block; }
.hero-title .hero-line-mobile,.mobile-prefix { display:none; }
.accent-line { color: var(--yellow); padding-left: 0; display: flex !important; align-items: baseline; flex-wrap: wrap; column-gap: .055em; background:linear-gradient(100deg,#ffb800 0%,#fff1af 22%,#ffb800 42%,#d99000 64%,#ffb800 100%); background-size:220% auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:heroShine 6s linear infinite; }
.accent-line em { font: inherit; font-style: normal; letter-spacing: inherit; color: var(--paper); white-space: nowrap; }
.accent-line em { -webkit-text-fill-color:var(--paper); }
.hero-shine { color:#fff; background:linear-gradient(100deg,#f4f1e9 0%,#f4f1e9 38%,#ffcf4f 49%,#fff7dc 54%,#f4f1e9 66%,#f4f1e9 100%); background-size:240% auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:heroShine 7.5s linear infinite reverse; }
.hero-bottom { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:18px 18px 18px 22px; }
.hero-bottom p { margin: 0; max-width: 520px; font-size: clamp(.9rem,1.35vw,1.1rem); line-height: 1.65; color: rgba(255,255,255,.7); }
.primary-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; min-width: 235px; padding: 16px 20px; background: var(--yellow); color: #111; font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; border: 1px solid var(--yellow); transition: .25s ease; }
.primary-button:hover { background: transparent; color: var(--yellow); }
.primary-button span { font-size: 1.1rem; }
.scroll-cue { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.42); font-size:.58rem; text-transform:uppercase; letter-spacing:.2em; }
.scroll-cue span { width: 1px; height: 24px; background: var(--yellow); animation: scrollCue 1.8s ease-in-out infinite; transform-origin: top; }

.section-kicker { margin: 0; display:flex; align-items:center; gap:12px; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.section-kicker span { color: var(--yellow); }
.manifesto { position:relative; padding:130px 6vw; border-top:1px solid var(--line); background:radial-gradient(circle at 78% 42%,rgba(255,184,0,.08),transparent 30%),#1f1f1f; overflow:hidden; }
.manifesto-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap: 8vw; align-items:end; margin-top: 80px; }
.manifesto h2,.services h2,.process h2,.final-cta h2 { margin:0; font-family:"Bebas Neue",sans-serif; font-weight:400; letter-spacing:-.015em; line-height:.82; }
.manifesto h2 { font-size:clamp(4.5rem,9vw,9rem); }
.manifesto h2 span,.services h2 span,.process h2 span,.final-cta h2 span { color:var(--yellow); }
.manifesto-copy { max-width:520px; padding:30px; border:1px solid rgba(255,255,255,.14); border-left:2px solid var(--yellow); border-radius:24px; background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.018)); box-shadow:inset 0 1px rgba(255,255,255,.14),0 24px 70px rgba(0,0,0,.2); backdrop-filter:blur(18px); }
.manifesto-copy p { color:rgba(255,255,255,.57); line-height:1.75; font-size:.9rem; }
.manifesto-copy .lead { color:#fff; font-size:1.25rem; line-height:1.45; }
.manifesto-copy a { display:inline-block; margin-top:26px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.35); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.manifesto-copy a span { color:var(--yellow); margin-left:10px; }

.services { padding:120px 6vw; background:radial-gradient(circle at 12% 12%,rgba(255,184,0,.18),transparent 24%),linear-gradient(135deg,#f5f2ea,#e7e2d8); color:#191919; }
.services .section-kicker { color:rgba(0,0,0,.48); }
.services-head { display:grid; grid-template-columns:.4fr 1fr; align-items:start; margin-bottom:74px; }
.services h2 { font-size:clamp(4.2rem,8vw,8rem); }
.service-row { display:grid; grid-template-columns:70px 1.1fr .8fr 50px; gap:30px; align-items:center; margin:12px 0; padding:30px 26px; border:1px solid rgba(255,255,255,.72); border-radius:20px; background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.2)); box-shadow:inset 0 1px rgba(255,255,255,.85),0 16px 40px rgba(49,40,20,.06); backdrop-filter:blur(18px); transition:background .35s,transform .35s,box-shadow .35s; }
.service-row:last-child { border-bottom:1px solid rgba(255,255,255,.72); }
.service-row:hover { background:rgba(255,255,255,.72); transform:translateY(-3px); box-shadow:inset 0 1px #fff,0 22px 46px rgba(49,40,20,.11); }
.service-index { font-size:.68rem; color:#777; }
.service-name h3 { margin:0; font:400 clamp(2.3rem,4.2vw,4.7rem)/.9 "Bebas Neue",sans-serif; }
.service-name p { margin:9px 0 0; color:#666; font-size:.8rem; }
.service-row ul { list-style:none; padding:0; margin:0; color:#555; font-size:.75rem; line-height:1.9; }
.service-row li::before { content:"—"; margin-right:9px; color:var(--yellow); }
.service-arrow { font-size:1.8rem; color:#888; transition:transform .3s,color .3s; }
.service-row:hover .service-arrow { color:#111; transform:translate(4px,-4px); }

.clients { position:relative; padding:130px 0 120px; background:#090909; border-top:1px solid var(--line); overflow:hidden; }
.clients::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(5,5,5,.64),rgba(5,5,5,.74)); }
.clients::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.15; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"); mix-blend-mode:overlay; }
.clients-fluid-canvas { position:absolute; inset:-8%; z-index:0; width:116%; height:116%; opacity:.58; filter:blur(18px) saturate(1.15) contrast(1.08); animation:fluidFloat 17s ease-in-out infinite alternate-reverse; }
.clients-head { position:relative; z-index:2; display:grid; grid-template-columns:.35fr 1fr; gap:6vw; align-items:start; margin:0 6vw 78px; padding:34px; border:1px solid rgba(255,255,255,.14); border-radius:26px; background:linear-gradient(135deg,rgba(12,12,12,.7),rgba(12,12,12,.48)); box-shadow:inset 0 1px rgba(255,255,255,.13),0 24px 70px rgba(0,0,0,.28); backdrop-filter:blur(22px); }
.clients h2 { margin:0; font:400 clamp(4.4rem,8vw,8.4rem)/.82 "Bebas Neue",sans-serif; letter-spacing:-.015em; }
.clients h2 span { color:var(--yellow); }
.clients-head > div > p { max-width:590px; margin:32px 0 0; color:rgba(255,255,255,.56); font-size:.88rem; line-height:1.75; }
.logo-streams { position:relative; z-index:2; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); background:#000; box-shadow:inset 0 1px rgba(255,255,255,.06),inset 0 -1px rgba(255,255,255,.04); }
.logo-stream { width:100%; overflow:hidden; border-bottom:1px solid var(--line); }
.logo-stream:last-child { border-bottom:0; }
.logo-track { display:flex; width:max-content; animation:logoMarquee 26s linear infinite; }
.logo-stream.reverse .logo-track { animation-direction:reverse; animation-duration:30s; }
.logo-streams:hover .logo-track { animation-play-state:paused; }
.client-logo { position:relative; width:300px; min-height:145px; padding:26px 34px; display:flex; align-items:center; justify-content:center; flex-direction:column; border-right:1px solid var(--line); background:#000; overflow:hidden; }
.client-logo img { display:block; width:auto; height:auto; max-width:220px; max-height:88px; object-fit:contain; transition:transform .35s,opacity .35s; }
.client-logo:hover img { transform:scale(1.08); opacity:.72; }
.client-logo.cutout img { filter:grayscale(1) brightness(0) invert(1); }
.client-logo.light-source img { filter:grayscale(1) invert(1) contrast(12) brightness(2); mix-blend-mode:screen; transform:scale(1.45); }
.client-logo.dark-source img { filter:grayscale(1) contrast(4) brightness(1.5); mix-blend-mode:screen; transform:scale(1.45); }
.client-logo.red-source img { filter:grayscale(1) contrast(8); mix-blend-mode:screen; transform:scale(1.32); }
.client-logo.light-source:hover img,.client-logo.dark-source:hover img { transform:scale(1.55); }
.client-logo.red-source:hover img { transform:scale(1.42); }
.client-logo.logo-oro img { transform:scale(1); }
.client-logo.logo-gama img { transform:scale(3); }
.client-logo.logo-andes img { transform:scale(2.15); }
.client-logo.logo-injection img { transform:scale(1.8); }
.client-logo.logo-cooperativa img { transform:scale(1.35); }
.client-logo.logo-ecuatronix img { transform:scale(.9); }
.client-logo.logo-ejecutivo img { transform:scale(1.15); }
.client-logo.logo-bebitos img { transform:scale(1.18); }
.client-logo.logo-dash img { transform:scale(1.05); }
.client-logo.logo-biodental img { transform:scale(1); }
.client-logo.logo-tandem img { transform:scale(1.18); }
.client-logo.logo-sk img { transform:scale(1.1); }
.client-logo.logo-oro:hover img { transform:scale(1.1); }
.client-logo.logo-gama:hover img { transform:scale(3.12); }
.client-logo.logo-andes:hover img { transform:scale(2.28); }
.client-logo.logo-injection:hover img { transform:scale(1.92); }
.client-logo.logo-cooperativa:hover img { transform:scale(1.45); }
.client-logo.logo-ecuatronix:hover img { transform:scale(.98); }
.client-logo.logo-ejecutivo:hover img { transform:scale(1.25); }
.client-logo.logo-bebitos:hover img { transform:scale(1.28); }
.client-logo.logo-dash:hover img { transform:scale(1.15); }
.client-logo.logo-biodental:hover img { transform:scale(1.1); }
.client-logo.logo-tandem:hover img { transform:scale(1.28); }
.client-logo.logo-sk:hover img { transform:scale(1.2); }
.clients-foot { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:34px 6vw 0; color:rgba(255,255,255,.54); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.clients-foot .primary-button { color:#111; }
.clients-foot .primary-button:hover { color:var(--yellow); }

.signal { position:relative; min-height:740px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at center,#27210f 0%,#111 38%,#080808 72%); }
.signal-orbit { position:absolute; width:min(67vw,760px); aspect-ratio:1; border:1px solid rgba(255,184,0,.24); border-radius:50%; animation:spin 28s linear infinite; }
.signal-orbit::before,.signal-orbit::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.1); }
.signal-orbit::before { inset:14%; }.signal-orbit::after { inset:31%; }
.signal-orbit i { position:absolute; width:10px; height:10px; border-radius:50%; background:var(--yellow); box-shadow:0 0 24px var(--yellow); }
.signal-orbit i:nth-child(1){top:4%;left:31%}.signal-orbit i:nth-child(2){top:57%;right:-.5%}.signal-orbit i:nth-child(3){bottom:7%;left:23%}
.signal-copy { position:relative; z-index:2; text-align:center; padding:48px 58px; border:1px solid rgba(255,255,255,.14); border-radius:32px; background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.015)); box-shadow:inset 0 1px rgba(255,255,255,.15),0 30px 90px rgba(0,0,0,.3); backdrop-filter:blur(20px); }
.signal-label { display:inline-block; margin-bottom:22px; color:rgba(255,255,255,.5); font-size:.64rem; text-transform:uppercase; letter-spacing:.2em; }
.signal-copy p { margin:0; font:400 clamp(5rem,10vw,10rem)/.78 "Bebas Neue",sans-serif; }
.signal-copy p span { color:var(--yellow); text-shadow:0 0 50px rgba(255,184,0,.18); }
.signal-copy strong { display:block; margin-top:24px; font-size:.8rem; font-weight:400; color:rgba(255,255,255,.58); }
.signal-ticker { position:absolute; bottom:0; left:0; width:100%; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:13px 0; background:rgba(0,0,0,.45); color:var(--yellow); font-size:.62rem; letter-spacing:.22em; white-space:nowrap; }
.signal-ticker div { width:max-content; animation:ticker 24s linear infinite; }

.process { padding:130px 6vw; display:grid; grid-template-columns:.78fr 1.22fr; gap:9vw; }
.process-intro { position:sticky; top:110px; height:max-content; padding:32px; border:1px solid rgba(255,255,255,.12); border-radius:26px; background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.014)); box-shadow:inset 0 1px rgba(255,255,255,.12),0 24px 70px rgba(0,0,0,.18); backdrop-filter:blur(18px); }
.process h2 { font-size:clamp(4rem,7.3vw,7.6rem); margin-top:52px; }
.process-intro > p:last-child { max-width:430px; margin:34px 0 0; color:rgba(255,255,255,.56); font-size:.88rem; line-height:1.75; }
.process-list { margin:0; padding:0; list-style:none; counter-reset:item; }
.process-list li { display:grid; grid-template-columns:68px 1fr; gap:24px; margin-bottom:14px; padding:34px; border:1px solid rgba(255,255,255,.11); border-radius:22px; background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); box-shadow:inset 0 1px rgba(255,255,255,.1); backdrop-filter:blur(16px); transition:transform .3s,border-color .3s,background .3s; }
.process-list li:hover { transform:translateX(5px); border-color:rgba(255,184,0,.34); background:rgba(255,255,255,.07); }
.process-list li:last-child { border-bottom:1px solid rgba(255,255,255,.11); }
.process-list > li > span { color:var(--yellow); font-size:.68rem; }
.process-list h3 { margin:0; font:400 3.2rem/1 "Bebas Neue",sans-serif; }
.process-list p { margin:12px 0 0; max-width:440px; color:rgba(255,255,255,.52); font-size:.82rem; line-height:1.65; }

.final-cta { position:relative; padding:170px 6vw 140px; text-align:center; overflow:hidden; background:#151515; border-top:1px solid var(--line); }
.final-cta::before { content:""; position:absolute; width:640px; height:640px; border-radius:50%; background:rgba(255,184,0,.12); filter:blur(100px); left:50%; top:50%; transform:translate(-50%,-50%); }
.final-cta::after { content:""; position:absolute; inset:70px 6vw; border:1px solid rgba(255,255,255,.13); border-radius:34px; background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.012)); box-shadow:inset 0 1px rgba(255,255,255,.14),0 30px 90px rgba(0,0,0,.25); backdrop-filter:blur(20px); }
.logo-lockup { position:absolute; inset:0; opacity:.055; display:grid; place-items:center; overflow:hidden; pointer-events:none; }
.logo-lockup img { width:min(900px,92vw); mix-blend-mode:screen; }
.final-cta .section-kicker { position:relative; z-index:2; justify-content:center; }
.final-cta h2 { position:relative; z-index:2; margin-top:50px; font-size:clamp(4.5rem,8.5vw,9rem); }
.cta-actions { position:relative; z-index:2; margin-top:58px; display:flex; justify-content:center; align-items:center; gap:35px; flex-wrap:wrap; }
.primary-button.large { min-width:275px; padding:20px 24px; }
.text-link { font-size:.72rem; padding-bottom:7px; border-bottom:1px solid rgba(255,255,255,.35); }
.text-link span { color:var(--yellow); margin-left:9px; }
.socials { padding:110px 6vw 120px; background:radial-gradient(circle at 88% 18%,rgba(255,184,0,.17),transparent 23%),linear-gradient(145deg,#f5f2ea,#e5e0d5); color:#171717; }
.socials .section-kicker { color:rgba(0,0,0,.48); }
.socials-heading { display:grid; grid-template-columns:.45fr 1fr; align-items:start; margin-bottom:64px; }
.socials h2 { margin:0; font:400 clamp(4rem,7.5vw,7.8rem)/.82 "Bebas Neue",sans-serif; letter-spacing:-.015em; }
.socials h2 span { color:#d99c00; }
.social-links { border-top:0; }
.social-links a { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:30px; margin:12px 0; padding:24px 26px; border:1px solid rgba(255,255,255,.72); border-radius:18px; background:linear-gradient(135deg,rgba(255,255,255,.6),rgba(255,255,255,.22)); box-shadow:inset 0 1px rgba(255,255,255,.86),0 14px 35px rgba(49,40,20,.06); backdrop-filter:blur(18px); transition:transform .3s,background .3s,box-shadow .3s; }
.social-links a:hover { transform:translateY(-3px); background:rgba(255,255,255,.74); box-shadow:inset 0 1px #fff,0 20px 42px rgba(49,40,20,.1); }
.social-links span { font:400 clamp(2.3rem,4vw,4.2rem)/1 "Bebas Neue",sans-serif; }
.social-links small { color:#686868; font-size:.72rem; letter-spacing:.05em; }
.social-links b { color:#d99c00; font-size:1.45rem; font-weight:400; transition:transform .3s; }
.social-links a:hover b { transform:translate(4px,-4px); }
footer { padding:30px 3.5vw; display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); color:rgba(255,255,255,.4); font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; }
footer a:hover { color:var(--yellow); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1); }
.reveal.visible { opacity:1; transform:none; }
@keyframes breathe { 50%{transform:scale(1.08);opacity:.7} }
@keyframes scrollCue { 0%,100%{transform:scaleY(.25);opacity:.35}50%{transform:scaleY(1);opacity:1} }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes ticker { to{transform:translateX(-50%)} }
@keyframes logoMarquee { to{transform:translateX(-50%)} }
@keyframes heroShine { from{background-position:200% center} to{background-position:-20% center} }
@keyframes heroGrid { from{transform:translate3d(-1.5%,0,0)} to{transform:translate3d(1.5%,-1%,0)} }
@keyframes fluidFloat { from{translate:-1% 1%;rotate:-.8deg} to{translate:1.5% -1%;rotate:.8deg} }
@keyframes fluidPulse { 0%,100%{opacity:.72} 50%{opacity:1} }
@keyframes fluidGlow { 0%,100%{opacity:.16} 50%{opacity:.34} }
@keyframes grainShift { 0%{transform:translate(0,0)} 25%{transform:translate(-1%,1%)} 50%{transform:translate(1%,-1%)} 75%{transform:translate(.5%,1%)} 100%{transform:translate(0,0)} }

@media (max-width: 820px) {
  .site-header { grid-template-columns:1fr auto; padding:0 20px; min-height:68px; }
  .desktop-nav { display:none; }
  .brand-name { display:none; }
  .hero { padding:128px 20px 48px; min-height:780px; }
  .hero::before { background-size:25% 100%,100% 100%; }
  .hero-glow { width:62vw; right:-12vw; top:21%; }
  .hero-fluid-canvas { width:150%; height:112%; inset:-6% -40%; filter:blur(11px) saturate(1.15) contrast(1.08); }
  .hero-meta { font-size:.55rem; }
  .hero-title { font-size:clamp(4rem,20vw,6.8rem); line-height:.82; margin:42px 0 36px; }
  .hero-line-desktop { display:none !important; }
  .hero-title .hero-line-mobile { display:block; }
  .mobile-prefix { display:inline; }
  .accent-line { display: block !important; }
  .accent-line em { display: block; }
  .hero-bottom { grid-template-columns:1fr; align-items:start; border-radius:16px; padding:20px; }
  .primary-button { width:100%; }
  .scroll-cue { display:none; }
  .manifesto,.services,.process { padding:90px 20px; }
  .manifesto-grid { grid-template-columns:1fr; margin-top:55px; }
  .manifesto h2 { font-size:clamp(4.4rem,20vw,7rem); }
  .manifesto-copy { margin-top:20px; }
  .services-head { grid-template-columns:1fr; gap:48px; }
  .services h2 { font-size:clamp(4.2rem,18vw,6.5rem); }
  .service-row { grid-template-columns:35px 1fr 28px; gap:18px; padding:24px 18px; border-radius:16px; }
  .service-row ul { display:none; }
  .service-name h3 { font-size:2.8rem; }
  .service-name p { max-width:320px; }
  .clients { padding:90px 0 82px; }
  .clients-head { grid-template-columns:1fr; gap:42px; margin:0 20px 52px; padding:24px 20px; border-radius:20px; }
  .clients h2 { font-size:clamp(4rem,18vw,6.4rem); }
  .client-logo { width:230px; min-height:120px; font-size:1.65rem; }
  .client-logo.ecuatronix { font-size:1.8rem; }
  .client-logo.jetour { font-size:2.1rem; }
  .client-logo.jac { font-size:2.3rem; }
  .client-logo.bebitos { font-size:2.15rem; }
  .clients-foot { align-items:flex-start; flex-direction:column; padding:28px 20px 0; }
  .signal { min-height:590px; }
  .signal-orbit { width:110vw; }
  .signal-copy { margin:0 20px; padding:36px 20px; border-radius:24px; }
  .signal-copy p { font-size:clamp(4.5rem,20vw,7rem); }
  .process { grid-template-columns:1fr; }
  .process-intro { position:static; padding:24px; border-radius:20px; }
  .process-list { margin-top:36px; }
  .process-list li { grid-template-columns:42px 1fr; padding:24px 20px; border-radius:18px; }
  .final-cta { padding:110px 20px 100px; }
  .final-cta::after { inset:34px 12px; border-radius:24px; }
  .final-cta h2 { font-size:clamp(4rem,18vw,6.2rem); }
  .socials { padding:90px 20px; }
  .socials-heading { grid-template-columns:1fr; gap:42px; margin-bottom:48px; }
  .socials h2 { font-size:clamp(4rem,18vw,6.2rem); }
  .social-links a { grid-template-columns:1fr auto; gap:8px 20px; padding:22px 18px; border-radius:16px; }
  .social-links small { grid-column:1; grid-row:2; }
  .social-links b { grid-column:2; grid-row:1 / span 2; }
  footer { flex-direction:column; text-align:center; align-items:center; padding:28px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}
