
:root {
  --ink: #f4efe7;
  --muted: #9ba3b4;
  --night: #03060d;
  --night-2: #07101c;
  --gold: #d9a95b;
  --orange: #ff6b35;
  --line: rgba(255,255,255,.12);
  --mx: 50vw;
  --my: 30vh;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--night); }
body {
  margin: 0;
  background: var(--night);
  color: var(--ink);
  font-family: var(--font-geist-sans), Arial, sans-serif;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
::selection { background: var(--orange); color: white; }

.whatsapp-float { position:fixed; z-index:90; right:clamp(18px,2.4vw,38px); bottom:clamp(18px,2.5vw,36px); width:62px; height:62px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#25d366; box-shadow:0 12px 38px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.22) inset; transition:transform .35s cubic-bezier(.2,.9,.2,1),box-shadow .35s ease,background .3s ease; isolation:isolate; }
.whatsapp-float svg { width:30px; height:30px; position:relative; z-index:2; display:block; overflow:visible; filter:drop-shadow(0 2px 3px rgba(0,0,0,.18)); }
.whatsapp-ring { position:absolute; z-index:-1; inset:0; border-radius:inherit; border:2px solid rgba(37,211,102,.62); animation:whatsappPulse 2.15s cubic-bezier(.2,.7,.2,1) infinite; }
.whatsapp-label { position:absolute; right:calc(100% + 13px); top:50%; transform:translate(10px,-50%); padding:9px 13px; border:1px solid rgba(255,255,255,.1); border-radius:999px; background:rgba(3,8,15,.88); backdrop-filter:blur(14px); color:#f5f7f6; font-size:11px; font-weight:650; letter-spacing:.03em; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .3s ease,transform .35s cubic-bezier(.2,.9,.2,1); box-shadow:0 12px 34px rgba(0,0,0,.28); }
.whatsapp-float:hover,.whatsapp-float:focus-visible { transform:translateY(-5px) scale(1.06); background:#20c75e; box-shadow:0 20px 48px rgba(0,0,0,.42),0 0 30px rgba(37,211,102,.32); outline:none; }
.whatsapp-float:hover .whatsapp-label,.whatsapp-float:focus-visible .whatsapp-label { opacity:1; transform:translate(0,-50%); }
@keyframes whatsappPulse { 0% { transform:scale(.9); opacity:.9; } 72%,100% { transform:scale(1.58); opacity:0; } }

.cursor-glow {
  position: fixed; z-index: 50; width: 360px; height: 360px; border-radius: 50%;
  left: var(--mx); top: var(--my); transform: translate(-50%,-50%);
  background: radial-gradient(circle, rgba(255,107,53,.09), transparent 68%);
  pointer-events: none; mix-blend-mode: screen;
}
.scroll-progress { position:fixed; z-index:100; top:0; left:0; width:var(--scroll,0%); height:2px; background:linear-gradient(90deg,var(--gold),var(--orange)); box-shadow:0 0 14px var(--orange); }

.site-header {
  position: fixed; z-index: 40; top: 0; left: 0; right: 0; height: 88px;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 0 clamp(24px, 4vw, 68px); border-bottom: 1px solid var(--line);
  background: rgba(3,6,13,.68); backdrop-filter: blur(20px);
}
.site-header::before { content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:linear-gradient(90deg,transparent 0%,rgba(217,169,91,.18) 22%,rgba(255,107,53,.72) 50%,rgba(217,169,91,.18) 78%,transparent 100%); background-size:220% 100%; animation:navLineScan 8s linear infinite; pointer-events:none; }
@keyframes navLineScan { to { background-position:-220% 0; } }
.brand { display: flex; align-items: center; gap: 12px; width: fit-content; }
.brand-mark {
  display: grid; place-items: center; width: 38px; height: 38px;
  border: 1px solid rgba(217,169,91,.7); transform: rotate(45deg);
  color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: -.08em;
}
.brand-mark::first-letter { transform: rotate(-45deg); }
.brand-copy { font-size: 10px; line-height: 1.05; letter-spacing: .22em; font-weight: 650; }
.desktop-nav { position:relative; display:flex; gap:clamp(4px,.5vw,8px); padding:5px; border:1px solid rgba(255,255,255,.07); border-radius:999px; background:rgba(255,255,255,.025); box-shadow:inset 0 1px rgba(255,255,255,.04),0 14px 40px rgba(0,0,0,.18); font-size:11px; color:#aeb6c4; }
.desktop-nav::before { content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; background:linear-gradient(110deg,transparent 18%,rgba(217,169,91,.34) 45%,rgba(255,107,53,.25) 55%,transparent 82%); background-size:240% 100%; animation:navAura 7s ease-in-out infinite; pointer-events:none; -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.desktop-nav a { position:relative; isolation:isolate; min-width:76px; padding:10px 15px; text-align:center; border-radius:999px; overflow:hidden; transition:color .35s ease,transform .35s cubic-bezier(.2,.8,.2,1); }
.desktop-nav a::before { content:""; position:absolute; z-index:-1; inset:0; border-radius:inherit; background:radial-gradient(circle at 50% 120%,rgba(255,107,53,.24),transparent 62%),linear-gradient(110deg,rgba(217,169,91,.13),rgba(255,255,255,.055)); opacity:0; transform:scale(.72) translateY(8px); transition:opacity .35s ease,transform .4s cubic-bezier(.2,.9,.2,1); }
.desktop-nav a::after { content:""; position:absolute; left:50%; bottom:5px; width:4px; height:4px; border-radius:50%; background:var(--orange); box-shadow:0 0 14px var(--orange); opacity:0; transform:translate(-50%,6px) scale(.4); transition:opacity .3s ease,transform .4s cubic-bezier(.2,.9,.2,1); }
.desktop-nav a span { display:block; transition:transform .38s cubic-bezier(.2,.9,.2,1),text-shadow .35s; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { color:#fff; transform:translateY(-1px); outline:none; }
.desktop-nav a:hover::before,.desktop-nav a:focus-visible::before { opacity:1; transform:scale(1) translateY(0); }
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after { opacity:1; transform:translate(-50%,0) scale(1); }
.desktop-nav a:hover span,.desktop-nav a:focus-visible span { transform:translateY(-2px); text-shadow:0 0 18px rgba(255,255,255,.28); }
@keyframes navAura { 0%,100% { background-position:100% 0; opacity:.45; } 50% { background-position:-100% 0; opacity:1; } }
.header-cta { justify-self: end; font-size: 12px; font-weight: 650; letter-spacing: .03em; display:flex; gap:16px; align-items:center; }
.header-cta span { color:var(--orange); font-size:18px; transition: transform .3s; }
.header-cta:hover span { transform: translate(3px,-3px); }

.hero {
  min-height: 100svh; padding: 150px clamp(24px,7vw,112px) 40px; position: relative;
  display: grid; grid-template-columns: minmax(0,1.06fr) minmax(420px,.94fr);
  align-items: center; isolation: isolate; overflow: hidden;
  background:
    radial-gradient(circle at 70% 43%, rgba(24,65,115,.25), transparent 28%),
    linear-gradient(135deg,#03060d 0%,#07101b 58%,#03060d 100%);
}
.grid-lines { position:absolute; inset:0; z-index:-2; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,black,transparent 87%); }
.grid-lines::after { content:""; position:absolute; inset:0; background:linear-gradient(115deg, transparent 48%,rgba(255,107,53,.16) 49%,transparent 50%); }
.hero-copy { position:relative; z-index:3; padding-bottom:50px; }
.eyebrow { display:flex; align-items:center; gap:10px; color:#bfc6d2; text-transform:uppercase; letter-spacing:.2em; font-size:10px; margin-bottom:30px; }
.live-dot { width:6px; height:6px; border-radius:50%; background:var(--orange); box-shadow:0 0 16px var(--orange); animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 50% { opacity:.35; transform:scale(.7); } }
h1 { font-size:clamp(52px,6.4vw,106px); line-height:.88; letter-spacing:-.07em; font-weight:630; margin:0; max-width:980px; }
.outline-word { color:transparent; -webkit-text-stroke:1px rgba(244,239,231,.55); }
h1 em { font-family: Georgia,serif; color:var(--gold); font-weight:400; }
.hero-lead { max-width:580px; margin:34px 0 0; color:var(--muted); font-size:clamp(15px,1.2vw,19px); line-height:1.7; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:38px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:26px; min-height:56px; padding:0 25px; font-size:12px; font-weight:650; letter-spacing:.03em; transition:all .35s; }
.button-primary { background:var(--orange); color:white; box-shadow:0 14px 45px rgba(255,107,53,.2); }
.button-primary:hover { background:#ff7a49; transform:translateY(-3px); box-shadow:0 20px 55px rgba(255,107,53,.3); }
.button span { font-size:17px; }
.text-link { font-size:12px; color:#d6d8dc; display:flex; gap:15px; }
.text-link span { color:var(--gold); }

.hero-stage { --rx:0deg; --ry:0deg; position:relative; z-index:2; width:min(44vw,650px); aspect-ratio:1; justify-self:end; perspective:1000px; transform-style:preserve-3d; transform:rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .18s ease-out; }
.stage-aura { position:absolute; inset:15%; border-radius:50%; background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.2),rgba(29,92,161,.16) 28%,rgba(255,107,53,.08) 55%,transparent 70%); filter:blur(7px); animation:breathe 5s ease-in-out infinite; }
@keyframes breathe { 50% { transform:scale(1.08); opacity:.7; } }
.orbit { position:absolute; inset:13%; border:1px solid rgba(217,169,91,.34); border-radius:50%; transform-style:preserve-3d; animation:spin 14s linear infinite; }
.orbit-two { inset:24%; border-color:rgba(89,150,218,.28); animation:spinReverse 9s linear infinite; transform:rotateX(72deg); }
.orbit i { position:absolute; width:9px; height:9px; border-radius:50%; background:var(--orange); top:8%; left:20%; box-shadow:0 0 20px var(--orange); }
@keyframes spin { to { transform:rotate(360deg) rotateX(28deg); } }
@keyframes spinReverse { to { transform:rotateX(72deg) rotateZ(-360deg); } }
.core-3d { position:absolute; width:190px; height:190px; left:50%; top:50%; margin:-95px; transform-style:preserve-3d; animation:coreFloat 7s ease-in-out infinite; }
@keyframes coreFloat { 0%,100% { transform:rotateX(-14deg) rotateY(26deg) translateY(-7px); } 50% { transform:rotateX(12deg) rotateY(74deg) translateY(11px); } }
.core-face { position:absolute; inset:0; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); background:linear-gradient(145deg,rgba(20,44,75,.82),rgba(4,10,18,.7)); backdrop-filter:blur(12px); box-shadow:inset 0 0 50px rgba(91,157,229,.08); color:var(--gold); font-size:54px; font-weight:700; letter-spacing:-.1em; }
.face-front { transform:translateZ(95px); }
.face-back { transform:rotateY(180deg) translateZ(95px); color:var(--orange); }
.face-right { transform:rotateY(90deg) translateZ(95px); }
.face-left { transform:rotateY(-90deg) translateZ(95px); }
.face-top { transform:rotateX(90deg) translateZ(95px); }
.face-bottom { transform:rotateX(-90deg) translateZ(95px); }
.floating-card { position:absolute; min-width:166px; padding:16px 18px; border:1px solid rgba(255,255,255,.13); background:rgba(5,12,22,.7); backdrop-filter:blur(16px); box-shadow:0 24px 60px rgba(0,0,0,.35); display:grid; grid-template-columns:auto 1fr; gap:4px 12px; animation:floatCard 5s ease-in-out infinite; }
.floating-card span { grid-row:1/3; color:var(--orange); font:10px var(--font-geist-mono); }
.floating-card strong { font-size:12px; }
.floating-card small { color:#6f7a8c; font-size:8px; text-transform:uppercase; letter-spacing:.12em; }
.card-authority { top:18%; left:2%; }
.card-ai { right:0; bottom:19%; animation-delay:-2.5s; }
@keyframes floatCard { 50% { transform:translateY(-12px); } }
.stage-label { position:absolute; right:4%; top:18%; color:#5f6a7b; text-transform:uppercase; letter-spacing:.2em; font-size:8px; writing-mode:vertical-rl; }
.hero-foot { position:absolute; left:clamp(24px,7vw,112px); right:clamp(24px,7vw,112px); bottom:28px; display:flex; align-items:center; justify-content:space-between; color:#657083; font:9px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.16em; z-index:4; }
.scroll-cue { display:flex; align-items:center; gap:10px; }
.scroll-cue span { width:36px; height:1px; background:#536071; position:relative; overflow:hidden; }
.scroll-cue span::after { content:""; position:absolute; inset:0; background:var(--orange); animation:scan 2s ease-in-out infinite; transform:translateX(-100%); }
@keyframes scan { 70%,100% { transform:translateX(100%); } }
.social-links { display:flex; gap:24px; }
.social-links a { transition:color .3s; }
.social-links a:hover { color:white; }

.proof-bar { min-height:168px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#050913; padding:28px clamp(24px,7vw,112px); }
.proof-bar > div { min-height:78px; border-right:1px solid var(--line); padding:0 clamp(16px,3vw,48px); display:flex; flex-direction:column; justify-content:center; }
.proof-bar > div:first-child { padding-left:0; }
.proof-bar > div:last-child { border:0; }
.proof-bar strong { color:var(--gold); font-size:32px; letter-spacing:-.05em; }
.proof-bar span { color:#7f8999; font-size:10px; text-transform:uppercase; letter-spacing:.15em; margin-top:5px; }
.proof-origin { color:#bcc3cf; font-size:13px; line-height:1.4; flex-direction:row!important; align-items:center; gap:14px; }
.globo-dot { width:11px; height:11px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 8px rgba(255,107,53,.08); flex:none; }

.section-pad { padding:clamp(90px,11vw,180px) clamp(24px,7vw,112px); position:relative; }
.section-index { color:var(--orange); font:9px var(--font-geist-mono); letter-spacing:.22em; text-transform:uppercase; }
.reveal { opacity:0; transform:translateY(42px); transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
.section-heading { display:grid; grid-template-columns:1fr minmax(260px,400px); gap:50px; align-items:end; margin-bottom:75px; }
.section-heading h2,.authority h2,.ai-copy h2,.contact h2 { margin:18px 0 0; font-size:clamp(48px,6vw,92px); line-height:.94; letter-spacing:-.065em; font-weight:590; }
.section-heading h2 em,.authority h2 em,.ai-copy h2 em,.contact h2 em { color:var(--gold); font-family:Georgia,serif; font-weight:400; }
.section-heading > p { color:#8993a4; font-size:15px; line-height:1.8; margin:0 0 7px; }

.manifesto { background:#f0ebe2; color:#0a0d14; overflow:hidden; }
.manifesto::after { content:"JC"; position:absolute; right:-5vw; top:8%; color:rgba(8,12,19,.035); font-size:36vw; font-weight:750; letter-spacing:-.15em; line-height:1; pointer-events:none; }
.manifesto-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:10vw; align-items:end; margin-top:55px; position:relative; z-index:1; }
.manifesto-title { display:flex; flex-direction:column; font-size:clamp(52px,7vw,112px); line-height:.85; letter-spacing:-.07em; }
.manifesto-title span { font-weight:250; }
.manifesto-title strong { font-weight:680; }
.manifesto-title em { color:#b06a26; font-family:Georgia,serif; font-size:.52em; letter-spacing:-.04em; margin-top:28px; }
.manifesto-copy > p { font-size:clamp(17px,1.45vw,23px); line-height:1.72; color:#343945; margin:0; }
.signature { margin-top:42px; font:italic 25px Georgia,serif; color:#a05c21; display:flex; flex-direction:column; gap:6px; }
.signature span { color:#777a7f; font:8px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.18em; }
.experience-rail { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:100px; border-top:1px solid rgba(9,12,18,.15); position:relative; z-index:1; }
.experience-rail div { padding:30px 28px 0 0; border-right:1px solid rgba(9,12,18,.15); min-height:150px; display:flex; flex-direction:column; }
.experience-rail div:not(:first-child) { padding-left:28px; }
.experience-rail div:last-child { border:0; }
.experience-rail span { color:#bd7229; font:9px var(--font-geist-mono); letter-spacing:.15em; }
.experience-rail strong { margin-top:20px; font-size:15px; }
.experience-rail small { margin-top:7px; color:#777c84; font-size:11px; }

.services { background:#060b14; }
.service-list { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-card { position:relative; min-height:500px; padding:30px clamp(22px,2.3vw,38px); border-right:1px solid var(--line); transition:background .45s,transform .45s; overflow:hidden; }
.service-card:last-child { border:0; }
.service-card::before { content:""; position:absolute; width:180px; height:180px; border-radius:50%; right:-100px; top:35%; background:var(--orange); filter:blur(100px); opacity:0; transition:opacity .45s; }
.service-card:hover { background:#0a1321; transform:translateY(-8px); }
.service-card:hover::before { opacity:.15; }
.service-top { display:flex; align-items:center; justify-content:space-between; color:#596477; font:9px var(--font-geist-mono); letter-spacing:.17em; }
.service-top span { color:var(--orange); }
.service-icon { height:150px; position:relative; display:grid; place-items:center; }
.service-icon i { position:absolute; width:54px; height:54px; border:1px solid rgba(217,169,91,.55); transform:rotate(45deg); transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.service-icon i:nth-child(2) { width:36px; height:36px; border-color:rgba(255,107,53,.7); }
.service-icon i:nth-child(3) { width:8px; height:8px; background:var(--orange); border:0; box-shadow:0 0 24px var(--orange); }
.service-card:hover .service-icon i:first-child { transform:rotate(135deg) scale(1.2); }
.service-card:hover .service-icon i:nth-child(2) { transform:rotate(-45deg); }
.service-card h3 { font-size:clamp(20px,1.8vw,29px); line-height:1.08; letter-spacing:-.04em; margin:18px 0; max-width:220px; }
.service-card p { color:#778294; font-size:12px; line-height:1.75; min-height:105px; }
.service-card a { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:17px; color:#cbd0d9; font-size:10px; margin-top:30px; }
.service-card a span { color:var(--orange); font-size:17px; }

.ai-showcase { min-height:900px; display:grid; grid-template-columns:.76fr 1.24fr; align-items:center; gap:1vw; padding:120px 0 120px clamp(24px,7vw,112px); position:relative; overflow:hidden; background:radial-gradient(circle at 72% 50%,rgba(21,76,128,.2),transparent 38%),#02050a; }
.ai-grid { position:absolute; inset:0; opacity:.3; background-image:linear-gradient(rgba(73,123,172,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(73,123,172,.08) 1px,transparent 1px); background-size:46px 46px; mask-image:radial-gradient(circle at 70% 50%,black,transparent 52%); }
.ai-copy { position:relative; z-index:2; }
.ai-copy p { color:#8f99aa; font-size:15px; line-height:1.75; max-width:540px; margin:32px 0; }
.automation-tags { display:flex; gap:8px; flex-wrap:wrap; }
.automation-tags span { border:1px solid var(--line); padding:10px 12px; color:#798497; font:8px var(--font-geist-mono); letter-spacing:.1em; text-transform:uppercase; }
.automation-art { position:relative; z-index:2; width:calc(100% + 6vw); margin-left:-6vw; min-height:700px; align-self:stretch; overflow:hidden; display:grid; place-items:center; isolation:isolate; }
.automation-art::before { content:""; position:absolute; z-index:0; width:68%; aspect-ratio:1; border-radius:50%; left:49%; top:50%; transform:translate(-50%,-50%); background:rgba(31,111,195,.14); filter:blur(95px); animation:automationAura 5s ease-in-out infinite; }
@keyframes automationAura { 50% { transform:translate(-50%,-50%) scale(1.1); opacity:.65; } }
.automation-art > img { position:absolute; z-index:1; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; mask-image:linear-gradient(90deg,transparent 0%,black 7%,black 96%,transparent 100%),linear-gradient(0deg,transparent 0%,black 9%,black 94%,transparent 100%); mask-composite:intersect; }
.automation-flow-overlay { position:absolute; z-index:2; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; filter:drop-shadow(0 0 11px rgba(75,171,255,.7)); }
.flow-paths path { fill:none; stroke:rgba(79,169,255,.28); stroke-width:3; stroke-linecap:round; stroke-dasharray:8 18; animation:flowDash 2.2s linear infinite; }
.flow-paths path:nth-child(even) { stroke:rgba(255,155,72,.28); animation-direction:reverse; }
@keyframes flowDash { to { stroke-dashoffset:-52; } }
.moving-pulses circle { fill:#8ac9ff; filter:drop-shadow(0 0 13px #4ca9ff); }
.moving-pulses circle:nth-child(even) { fill:#ffb267; filter:drop-shadow(0 0 13px #ff873b); }
.automation-status { position:absolute; z-index:4; left:10%; right:8%; bottom:9%; display:flex; justify-content:space-between; align-items:center; pointer-events:none; }
.automation-status span { padding:10px 13px; background:rgba(2,6,12,.62); backdrop-filter:blur(14px); color:#8e9bad; font:7px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.15em; }
.automation-status span:first-child { color:#b8c6d5; }
.automation-status i { display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:8px; background:#62dd93; box-shadow:0 0 12px #62dd93; animation:pulse 2s ease-in-out infinite; }

.projects { background:#efe9df; color:#0a0e16; }
.projects .section-heading > p { color:#6d727a; }
.project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.project-card { min-height:680px; padding:24px; position:relative; overflow:hidden; background:#111821; color:white; transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s; }
.project-card:first-child { grid-row:auto; min-height:680px; }
.project-card:hover { transform:translateY(-8px); box-shadow:0 30px 70px rgba(18,23,31,.2); }
.project-screen { height:65%; min-height:290px; border:1px solid rgba(255,255,255,.15); position:relative; overflow:hidden; background:#11151c; transform:perspective(900px) rotateX(2deg); transition:transform .6s; }
.project-card:first-child .project-screen { min-height:440px; }
.project-card:hover .project-screen { transform:perspective(900px) rotateX(0deg) scale(1.015); }
.project-fire .project-screen { background:radial-gradient(circle at 70% 70%,#8b3119,transparent 38%),linear-gradient(135deg,#17140f,#26110b); }
.project-clinic .project-screen { background:radial-gradient(circle at 72% 35%,#f17635,transparent 30%),linear-gradient(135deg,#1e0d09,#3d1510); }
.project-garden .project-screen { background:radial-gradient(circle at 30% 75%,#416454,transparent 35%),linear-gradient(135deg,#101b18,#122920); }
.browser-bar { height:34px; border-bottom:1px solid rgba(255,255,255,.12); display:flex; align-items:center; gap:6px; padding:0 12px; color:rgba(255,255,255,.25); font:7px var(--font-geist-mono); }
.browser-bar i { width:5px; height:5px; border-radius:50%; background:#6b6e72; }
.browser-bar span { margin-left:12px; }
.project-live-frame { position:absolute; z-index:1; left:0; top:34px; width:200%; height:calc(200% - 68px); border:0; transform:scale(.5); transform-origin:top left; pointer-events:none; background:#0b0d0f; color-scheme:light; }
.live-frame-label { position:absolute; z-index:4; right:14px; top:48px; padding:8px 10px; display:flex; align-items:center; gap:7px; color:white; background:rgba(3,7,12,.78); backdrop-filter:blur(10px); font:7px var(--font-geist-mono); letter-spacing:.14em; }
.live-frame-label i { width:6px; height:6px; border-radius:50%; background:#65d48c; box-shadow:0 0 12px #65d48c; }
.project-monogram { position:absolute; z-index:2; left:9%; top:23%; font-size:clamp(70px,9vw,150px); font-weight:750; letter-spacing:-.12em; color:rgba(255,255,255,.88); text-shadow:0 20px 60px rgba(0,0,0,.35); }
.screen-orb { position:absolute; width:55%; aspect-ratio:1; border:1px solid rgba(255,255,255,.25); border-radius:50%; right:-5%; bottom:-12%; box-shadow:inset 0 0 80px rgba(255,255,255,.05); }
.screen-orb::after { content:""; position:absolute; inset:16%; border-radius:50%; border:1px solid rgba(255,255,255,.16); }
.screen-lines { position:absolute; left:9%; right:9%; bottom:10%; display:flex; flex-direction:column; gap:9px; }
.screen-lines i { height:1px; width:42%; background:rgba(255,255,255,.22); }
.screen-lines i:nth-child(2){width:28%}.screen-lines i:nth-child(3){width:18%}
.project-info { margin-top:26px; }
.project-info small { color:rgba(255,255,255,.47); font:8px var(--font-geist-mono); letter-spacing:.16em; }
.project-info h3 { font-size:clamp(30px,3vw,52px); letter-spacing:-.055em; margin:10px 0 2px; }
.project-info p { color:#87909b; font-size:11px; margin:0; }
.project-arrow { position:absolute; right:28px; bottom:30px; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); color:var(--orange); transition:all .3s; }
.project-card:hover .project-arrow { background:var(--orange); color:white; transform:rotate(45deg); }
.all-projects { width:fit-content; display:flex; gap:28px; margin:55px auto 0; border-bottom:1px solid #a07140; padding-bottom:9px; color:#684724; font-size:12px; }

.bio-showcase { background:radial-gradient(circle at 50% 52%,rgba(34,89,139,.22),transparent 34%),linear-gradient(150deg,#07111e,#02050a 72%); overflow:hidden; }
.bio-showcase::before { content:"LINK"; position:absolute; right:-2vw; top:7%; color:rgba(255,255,255,.018); font-size:28vw; font-weight:750; letter-spacing:-.12em; line-height:1; pointer-events:none; }
.bio-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:7vw; align-items:end; position:relative; z-index:2; }
.bio-heading h2 { margin:18px 0 0; font-size:clamp(48px,6vw,92px); line-height:.94; letter-spacing:-.065em; font-weight:590; }
.bio-heading h2 em { color:var(--gold); font-family:Georgia,serif; font-weight:400; }
.bio-intro p { color:#8993a4; font-size:15px; line-height:1.8; max-width:490px; }
.scroll-instruction { width:fit-content; margin-top:24px; display:flex; align-items:center; gap:11px; padding:11px 14px; border:1px solid var(--line); color:#aab2bf; font:8px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.13em; }
.scroll-instruction span { color:var(--orange); font-size:16px; animation:scrollHint 1.7s ease-in-out infinite; }
@keyframes scrollHint { 50% { transform:translateY(4px); } }
.phones-stage { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(18px,2.5vw,40px); margin-top:90px; align-items:start; }
.phones-light { position:absolute; left:12%; right:12%; height:250px; top:28%; background:rgba(46,119,184,.2); filter:blur(120px); pointer-events:none; }
.phone-project { min-width:0; text-align:center; perspective:1200px; }
.phone-project:nth-of-type(even) { padding-top:58px; }
.phone-shell { position:relative; width:min(100%,250px); aspect-ratio:9/18.5; margin:0 auto; padding:10px; border:1px solid #536071; border-radius:40px; background:linear-gradient(145deg,#2a3441,#070a0e 22%,#05070a 78%,#38424c); box-shadow:0 35px 70px rgba(0,0,0,.58),inset 0 0 0 2px #0a0d12,inset 0 0 0 3px rgba(255,255,255,.08); transform:rotateY(-4deg); transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s; }
.phone-project:nth-of-type(even) .phone-shell { transform:rotateY(4deg); }
.phone-project:hover .phone-shell,.phone-project:nth-of-type(even):hover .phone-shell { transform:rotateY(0deg) translateY(-10px); box-shadow:0 48px 90px rgba(0,0,0,.66),0 0 45px rgba(55,125,190,.09),inset 0 0 0 2px #0a0d12; }
.phone-screen { position:absolute; inset:10px; border-radius:31px; overflow-y:auto; overflow-x:hidden; background:#050505; overscroll-behavior:contain; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:var(--orange) rgba(255,255,255,.06); -webkit-overflow-scrolling:touch; }
.phone-screen::-webkit-scrollbar { width:3px; }
.phone-screen::-webkit-scrollbar-track { background:rgba(255,255,255,.05); }
.phone-screen::-webkit-scrollbar-thumb { background:linear-gradient(var(--gold),var(--orange)); border-radius:4px; }
.phone-screen:focus { outline:1px solid rgba(255,107,53,.65); outline-offset:3px; }
.phone-screen img { width:100%; height:auto; display:block; border-radius:27px 27px 0 0; }
.phone-notch { position:absolute; z-index:4; left:50%; top:15px; transform:translateX(-50%); width:36%; height:19px; border-radius:0 0 14px 14px; background:#05070a; pointer-events:none; display:grid; place-items:center; }
.phone-notch i { width:28%; height:3px; border-radius:4px; background:#1f2935; }
.phone-home { position:absolute; z-index:4; bottom:14px; left:50%; transform:translateX(-50%); width:32%; height:3px; border-radius:4px; background:rgba(255,255,255,.45); pointer-events:none; }
.phone-side { position:absolute; width:3px; background:#303a45; border-radius:2px; }
.side-left { left:-3px; top:23%; height:52px; box-shadow:0 70px 0 #303a45; }
.side-right { right:-3px; top:31%; height:76px; }
.phone-meta { display:flex; align-items:flex-start; gap:13px; text-align:left; max-width:250px; margin:25px auto 0; }
.phone-meta > span { color:var(--orange); font:8px var(--font-geist-mono); margin-top:2px; }
.phone-meta small { color:#647084; font:7px var(--font-geist-mono); letter-spacing:.13em; }
.phone-meta h3 { color:#dce0e7; font-size:15px; margin:6px 0 0; }
.bio-value { position:relative; z-index:2; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:18px; margin-top:90px; color:#727e8f; font:8px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.13em; }
.bio-value i { width:4px; height:4px; border-radius:50%; background:var(--orange); box-shadow:0 0 10px var(--orange); }

.testimonials { background:linear-gradient(145deg,#071321,#02050a 70%); overflow:hidden; }
.testimonials::before { content:""; position:absolute; width:820px; height:820px; border-radius:50%; border:1px solid rgba(217,169,91,.09); left:50%; top:51%; transform:translate(-50%,-50%); box-shadow:0 0 160px rgba(33,94,151,.11); }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,44px); max-width:1080px; margin:0 auto; position:relative; z-index:2; }
.testimonial-card { position:relative; border:1px solid rgba(255,255,255,.13); background:linear-gradient(165deg,#10233a,#050a12 67%); box-shadow:0 28px 70px rgba(0,0,0,.35); transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .45s; }
.testimonial-card:nth-child(2) { background:radial-gradient(circle at 58% 28%,rgba(191,111,42,.27),transparent 34%),linear-gradient(165deg,#251609,#080705 68%); transform:translateY(58px); }
.testimonial-card:nth-child(3) { background:radial-gradient(circle at 45% 34%,rgba(75,123,109,.28),transparent 36%),linear-gradient(165deg,#10251f,#050a08 70%); }
.testimonial-card:hover { transform:translateY(-12px) rotateY(2deg); border-color:rgba(217,169,91,.5); }
.testimonial-card:nth-child(2):hover { transform:translateY(46px) rotateY(2deg); }
.testimonial-video-frame { position:relative; aspect-ratio:9/16; overflow:hidden; background:#05080d; }
.testimonial-video-frame video { width:100%; height:100%; display:block; object-fit:cover; background:#05080d; }
.testimonial-video-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(1,4,8,.18),transparent 22%,transparent 68%,rgba(1,4,8,.14)); pointer-events:none; }
.story-ui { position:absolute; z-index:3; top:18px; left:18px; right:18px; display:flex; align-items:center; gap:10px; color:#b6c0cd; font:7px var(--font-geist-mono); letter-spacing:.14em; }
.story-ui::before { content:"JC"; width:24px; height:24px; border-radius:50%; border:1px solid rgba(217,169,91,.6); display:grid; place-items:center; color:var(--gold); font-size:6px; }
.story-ui i { height:1px; flex:1; background:linear-gradient(90deg,var(--orange) 70%,rgba(255,255,255,.15) 70%); }
.video-number { position:absolute; z-index:2; right:17px; bottom:42px; font:8px var(--font-geist-mono); color:rgba(255,255,255,.65); letter-spacing:.18em; pointer-events:none; }
.testimonial-caption { min-height:156px; padding:24px 26px 27px; }
.testimonial-caption small { color:var(--orange); font:7px var(--font-geist-mono); letter-spacing:.16em; }
.testimonial-caption h3 { font-size:clamp(20px,1.8vw,27px); letter-spacing:-.04em; margin:10px 0 6px; }
.testimonial-caption p { color:#8994a4; font-size:10px; line-height:1.6; margin:0; }
.testimonial-note { text-align:center; color:#5f6a78; font:7px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.15em; margin:105px 0 0; }

.books { background:#060a11; overflow:hidden; }
.books::before { content:""; position:absolute; left:50%; top:25%; width:800px; height:800px; border:1px solid rgba(217,169,91,.08); border-radius:50%; transform:translateX(-50%); }
.books-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(30px,5vw,80px); position:relative; z-index:2; }
.book-item { text-align:center; perspective:1000px; }
.book-3d { width:min(75%,260px); aspect-ratio:.655; margin:30px auto 65px; position:relative; transform-style:preserve-3d; transform:rotateY(-18deg) rotateX(5deg); transition:transform .7s cubic-bezier(.2,.8,.2,1); filter:drop-shadow(22px 28px 26px rgba(0,0,0,.45)); }
.book-item:hover .book-3d { transform:rotateY(4deg) rotateX(0deg) translateY(-18px); }
.book-cover-real { position:absolute; inset:0; border:1px solid rgba(255,255,255,.2); background:#08122c; overflow:hidden; box-shadow:inset -14px 0 25px rgba(0,0,0,.22); }
.book-cover-real img { width:100%; height:100%; display:block; object-fit:cover; }
.book-gloss { position:absolute; inset:0; background:linear-gradient(110deg,rgba(255,255,255,.18),transparent 24%,transparent 66%,rgba(255,255,255,.07)); pointer-events:none; transform:translateX(-85%); transition:transform .8s ease; }
.book-item:hover .book-gloss { transform:translateX(75%); }
.book-spine { position:absolute; top:0; bottom:0; width:28px; right:100%; background:#03070c; transform-origin:right; transform:rotateY(-90deg); display:grid; place-items:center; color:#8d7654; font:6px var(--font-geist-mono); letter-spacing:.12em; writing-mode:vertical-rl; }
.book-meta { max-width:340px; margin:0 auto; }
.book-meta small { display:block; min-height:28px; color:var(--orange); font:7px var(--font-geist-mono); letter-spacing:.16em; line-height:1.5; }
.book-meta h3 { min-height:52px; font-size:20px; line-height:1.25; margin:8px 0 12px; letter-spacing:-.025em; }
.book-meta p { min-height:76px; color:#707a89; font-size:11px; line-height:1.7; }
.book-meta a { display:inline-flex; gap:14px; color:#c5cbd3; border-bottom:1px solid var(--line); padding:8px 0; font-size:10px; }
.book-meta a span { color:var(--orange); }

.authority { min-height:980px; display:grid; grid-template-columns:.76fr 1.24fr; align-items:center; gap:6vw; background:radial-gradient(circle at 72% 48%,rgba(35,92,146,.18),transparent 34%),linear-gradient(120deg,#0b1726,#04080f 70%); border-top:1px solid var(--line); overflow:hidden; }
.authority-number { position:absolute; left:-1vw; bottom:4%; z-index:0; font-size:clamp(170px,19vw,330px); line-height:.72; letter-spacing:-.12em; font-weight:700; color:transparent; -webkit-text-stroke:1px rgba(217,169,91,.16); pointer-events:none; }
.authority-number span { font-size:.3em; color:rgba(255,107,53,.4); -webkit-text-stroke:0; position:absolute; top:-6%; right:-6%; }
.authority-copy { position:relative; z-index:3; }
.authority-copy h2 { font-size:clamp(42px,5vw,74px); }
.authority-copy > p { color:#8792a4; font-size:15px; line-height:1.8; max-width:650px; margin:30px 0; }
.credentials { display:flex; gap:9px; flex-wrap:wrap; }
.credentials span { border:1px solid var(--line); padding:12px 14px; color:#a4adbb; font:8px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.12em; }
.authority-visual { position:relative; z-index:2; min-height:700px; perspective:1200px; }
.authority-visual::before { content:""; position:absolute; width:62%; aspect-ratio:1; border-radius:50%; left:48%; top:45%; transform:translate(-50%,-50%); background:rgba(42,112,175,.14); filter:blur(90px); }
.career-photo { position:absolute; margin:0; overflow:hidden; background:#08101a; box-shadow:0 34px 90px rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.12); transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s; }
.career-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 55%,rgba(2,5,10,.92)); pointer-events:none; }
.career-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform 1s cubic-bezier(.2,.8,.2,1); }
.career-photo:hover img { transform:scale(1.045); }
.camera-photo { left:0; top:2%; width:48%; height:76%; transform:rotateY(5deg) rotateZ(-1.5deg); }
.strategy-photo { right:1%; bottom:0; width:57%; height:79%; transform:rotateY(-5deg) rotateZ(1.2deg); }
.camera-photo:hover,.strategy-photo:hover { transform:rotateY(0deg) rotateZ(0deg) translateY(-9px); z-index:4; }
.career-photo figcaption { position:absolute; z-index:2; left:22px; right:22px; bottom:21px; display:flex; flex-direction:column; align-items:flex-start; }
.career-photo figcaption span { color:var(--orange); font:7px var(--font-geist-mono); letter-spacing:.17em; }
.career-photo figcaption strong { color:white; font-size:clamp(20px,2vw,31px); letter-spacing:-.04em; margin-top:7px; }
.career-photo figcaption small { color:#818d9e; font:7px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.12em; margin-top:5px; }
.camera-photo figcaption strong { color:var(--gold); }

.filmography { grid-column:1/-1; position:relative; z-index:5; margin:90px calc(clamp(24px,7vw,112px) * -1) -40px; }
.filmography-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; padding:0 clamp(24px,7vw,112px) 30px; }
.filmography-heading > div { display:flex; flex-direction:column; gap:8px; }
.filmography-heading span { color:var(--orange); font:8px var(--font-geist-mono); letter-spacing:.2em; }
.filmography-heading strong { color:#e8ecf2; font-size:clamp(22px,2.3vw,36px); letter-spacing:-.04em; }
.filmography-heading a { color:#98a4b5; border-bottom:1px solid rgba(217,169,91,.42); padding-bottom:8px; font:8px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.12em; transition:color .3s,border-color .3s; }
.filmography-heading a:hover { color:white; border-color:var(--orange); }
.filmography-viewport { position:relative; overflow:hidden; padding:18px 0 70px; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%); }
.filmography-viewport::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 40%); pointer-events:none; }
.filmography-track { display:flex; width:max-content; padding-left:24px; animation:filmMarquee 44s linear infinite; will-change:transform; }
.filmography-viewport:hover .filmography-track,.filmography-viewport:focus-within .filmography-track { animation-play-state:paused; }
@keyframes filmMarquee { to { transform:translateX(-50%); } }
.film-card { position:relative; flex:0 0 238px; height:348px; margin-right:24px; overflow:hidden; background:#07101a; box-shadow:0 22px 55px rgba(0,0,0,.42); transform:perspective(900px) rotateY(-2deg); transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s; isolation:isolate; }
.film-card::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,transparent 34%,rgba(3,6,11,.28) 56%,rgba(3,6,11,.98) 100%); }
.film-card img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .6s; }
.film-card:hover,.film-card:focus-visible { transform:perspective(900px) rotateY(0) translateY(-12px) scale(1.035); box-shadow:0 34px 75px rgba(0,0,0,.62),0 0 0 1px rgba(217,169,91,.35); z-index:3; outline:0; }
.film-card:hover img,.film-card:focus-visible img { transform:scale(1.07); filter:saturate(1.12) contrast(1.04); }
.film-shine { position:absolute; z-index:2; inset:-40% auto -40% -70%; width:34%; transform:rotate(16deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent); transition:left .8s cubic-bezier(.2,.8,.2,1); }
.film-card:hover .film-shine,.film-card:focus-visible .film-shine { left:135%; }
.film-index { position:absolute; z-index:3; top:15px; left:15px; width:31px; height:31px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.26); background:rgba(3,7,12,.28); backdrop-filter:blur(10px); color:white; font:7px var(--font-geist-mono); }
.film-info { position:absolute; z-index:3; left:20px; right:20px; bottom:18px; transform:translateY(30px); transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.film-info small { color:var(--gold); font:7px var(--font-geist-mono); letter-spacing:.16em; }
.film-info h3 { color:white; margin:8px 0 4px; font-size:23px; line-height:1; letter-spacing:-.045em; }
.film-info p { color:#a8b1bf; margin:8px 0 0; min-height:28px; opacity:0; font:7px/1.45 var(--font-geist-mono); text-transform:uppercase; letter-spacing:.09em; transition:opacity .4s; }
.film-info b { display:block; margin-top:11px; color:var(--orange); opacity:0; font:7px var(--font-geist-mono); letter-spacing:.14em; transition:opacity .4s; }
.film-card:hover .film-info,.film-card:focus-visible .film-info { transform:none; }
.film-card:hover .film-info p,.film-card:hover .film-info b,.film-card:focus-visible .film-info p,.film-card:focus-visible .film-info b { opacity:1; }

.purpose { min-height:840px; display:grid; grid-template-columns:1fr 1.25fr; gap:8vw; align-items:center; background:#efe9df; color:#0b0e14; overflow:hidden; }
.purpose-visual { display:grid; place-items:center; position:relative; }
.purpose-visual::before { content:"PROPÓSITO"; position:absolute; left:-8%; top:44%; transform:rotate(-90deg); color:rgba(130,87,43,.17); font:8px var(--font-geist-mono); letter-spacing:.42em; }
.purpose-photo { position:relative; width:min(34vw,470px); aspect-ratio:4/5; margin:0; background:#0b1017; box-shadow:0 36px 80px rgba(46,31,18,.24); overflow:hidden; transform:rotate(-1.4deg); transition:transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .8s; }
.purpose-photo::before { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(to bottom,transparent 58%,rgba(3,7,12,.88)); pointer-events:none; }
.purpose-photo::after { content:""; position:absolute; z-index:3; inset:15px; border:1px solid rgba(217,169,91,.28); pointer-events:none; }
.purpose-photo:hover { transform:rotate(0deg) translateY(-9px); box-shadow:0 48px 95px rgba(46,31,18,.3); }
.purpose-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.2s cubic-bezier(.2,.8,.2,1); }
.purpose-photo:hover img { transform:scale(1.04); }
.purpose-photo figcaption { position:absolute; z-index:4; left:34px; right:34px; bottom:30px; display:flex; flex-direction:column; }
.purpose-photo figcaption span { color:var(--gold); font:7px var(--font-geist-mono); letter-spacing:.18em; }
.purpose-photo figcaption strong { color:white; font:20px Georgia,serif; margin-top:8px; }
.purpose blockquote { margin:0; position:relative; }
.purpose blockquote > span { color:#be762f; font:140px Georgia,serif; position:absolute; top:-90px; left:-40px; opacity:.25; }
.purpose blockquote p { font:clamp(28px,3vw,48px)/1.3 Georgia,serif; letter-spacing:-.03em; margin:0; }
.purpose cite { display:block; margin-top:34px; color:#9a5c23; font:10px var(--font-geist-mono); letter-spacing:.18em; text-transform:uppercase; }

.contact { min-height:760px; display:grid; place-items:center; text-align:center; overflow:hidden; background:#03060c; }
.contact-orb { position:absolute; width:min(72vw,900px); aspect-ratio:1; border-radius:50%; border:1px solid rgba(217,169,91,.16); background:radial-gradient(circle,rgba(27,80,132,.22),transparent 60%); animation:breathe 7s ease-in-out infinite; }
.contact-orb::before,.contact-orb::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,107,53,.12); }
.contact-orb::before { inset:12%; }.contact-orb::after { inset:28%; }
.contact-content { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; }
.contact h2 { font-size:clamp(58px,8vw,126px); }
.contact p { color:#8993a4; max-width:590px; font-size:16px; line-height:1.7; margin:32px 0 38px; }

footer { min-height:260px; padding:65px clamp(24px,7vw,112px) 34px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr 1fr; align-items:start; gap:30px; background:#020409; color:#6f7988; }
.footer-brand { color:var(--ink); }
footer > p { text-align:center; font:8px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.16em; }
.footer-social { justify-self:end; display:flex; gap:24px; font-size:10px; color:#b7bdc6; }
.footer-social span { color:var(--orange); }
footer > small { grid-column:1/-1; align-self:end; border-top:1px solid var(--line); padding-top:22px; text-align:center; font:7px var(--font-geist-mono); letter-spacing:.13em; text-transform:uppercase; }

@media (max-width: 900px) {
  .site-header { grid-template-columns:1fr auto; height:76px; }
  .desktop-nav { display:none; }
  .hero { padding-top:120px; grid-template-columns:1fr; align-content:center; }
  .hero-copy { padding-bottom:0; }
  .hero-stage { position:absolute; width:600px; opacity:.48; right:-240px; top:20%; z-index:-1; }
  h1 { font-size:clamp(54px,12vw,92px); }
  .hero-lead { max-width:500px; }
  .proof-bar { grid-template-columns:repeat(2,1fr); }
  .proof-bar > div { border-bottom:1px solid var(--line); }
  .manifesto-grid,.section-heading,.ai-showcase,.authority,.purpose { grid-template-columns:1fr; }
  .experience-rail { grid-template-columns:repeat(2,1fr); }
  .service-list { grid-template-columns:repeat(2,1fr); }
  .service-card { min-height:440px; border-bottom:1px solid var(--line); }
  .automation-art { min-height:620px; }
  .project-grid { grid-template-columns:1fr; }
  .project-card:first-child { grid-row:auto; min-height:620px; }
  .project-card:first-child .project-screen { min-height:380px; }
  .testimonial-grid { max-width:850px; }
  .bio-heading { grid-template-columns:1fr; gap:30px; }
  .phones-stage { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:600px; margin-left:auto; margin-right:auto; }
  .books-grid { gap:20px; }
  .book-3d { width:84%; }
  .authority-number { font-size:50vw; text-align:center; }
  .authority { min-height:1450px; }
  .authority-visual { min-height:850px; }
  .filmography { margin-top:60px; }
  .purpose-visual { order:2; }
  .purpose-photo { width:min(72vw,430px); }
}
@media (max-width: 560px) {
  .brand-copy { display:none; }
  .header-cta { font-size:10px; }
  .hero { padding:112px 20px 62px; min-height:900px; }
  h1 { font-size:15vw; line-height:.92; }
  .hero-lead { font-size:15px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .hero-stage { width:440px; top:45%; right:-220px; }
  .floating-card { display:none; }
  .hero-foot { left:20px; right:20px; }
  .social-links { display:none; }
  .proof-bar { grid-template-columns:1fr 1fr; padding:22px 20px; }
  .proof-bar > div { padding:16px!important; min-height:92px; }
  .proof-bar strong { font-size:27px; }
  .section-pad { padding:84px 20px; }
  .section-heading { gap:24px; margin-bottom:45px; }
  .section-heading h2,.authority h2,.ai-copy h2,.contact h2 { font-size:13vw; }
  .manifesto-grid { gap:45px; }
  .manifesto-title { font-size:15vw; }
  .experience-rail { grid-template-columns:1fr; margin-top:60px; }
  .experience-rail div { border-right:0; border-bottom:1px solid rgba(9,12,18,.15); padding:25px 0!important; min-height:120px; }
  .service-list { grid-template-columns:1fr; }
  .service-card { border-right:0; min-height:400px; padding:28px 24px; }
  .ai-showcase { padding:90px 20px; min-height:1100px; gap:20px; }
  .automation-art { min-height:480px; width:calc(100% + 20px); margin-left:-20px; }
  .automation-art > img { object-position:58% center; mask-image:linear-gradient(0deg,transparent 0%,black 12%,black 91%,transparent 100%); }
  .automation-status { left:18px; right:18px; bottom:6%; }
  .automation-status span:last-child { display:none; }
  .project-card,.project-card:first-child { min-height:520px; padding:16px; }
  .project-card:first-child .project-screen,.project-screen { min-height:310px; }
  .project-info h3 { font-size:34px; }
  .testimonial-grid { grid-template-columns:1fr; max-width:310px; gap:28px; }
  .bio-heading h2 { font-size:13vw; }
  .phones-stage { grid-template-columns:1fr; max-width:260px; margin-top:60px; gap:55px; }
  .phone-project:nth-of-type(even) { padding-top:0; }
  .phone-shell { width:240px; }
  .bio-value { margin-top:65px; flex-direction:column; }
  .bio-value i { display:none; }
  .testimonial-card:nth-child(2) { transform:none; }
  .testimonial-card:nth-child(2):hover { transform:translateY(-12px); }
  .testimonial-note { margin-top:48px; }
  .books-grid { grid-template-columns:1fr; gap:70px; }
  .book-3d { width:64%; max-width:240px; }
  .authority { gap:40px; }
  .authority-number { font-size:70vw; bottom:2%; }
  .authority { min-height:1600px; }
  .authority-visual { min-height:930px; }
  .filmography-heading { align-items:flex-start; flex-direction:column; }
  .filmography-track { animation-duration:34s; }
  .film-card { flex-basis:205px; height:305px; margin-right:16px; }
  .film-info h3 { font-size:20px; }
  .camera-photo { width:78%; height:58%; left:0; top:0; }
  .strategy-photo { width:82%; height:60%; right:0; bottom:0; }
  .purpose { gap:70px; }
  .purpose blockquote p { font-size:31px; }
  .contact { min-height:720px; }
  .contact h2 { font-size:15vw; }
  .contact-orb { width:125vw; }
  footer { grid-template-columns:1fr; text-align:center; }
  .footer-brand,.footer-social { justify-self:center; }
  footer > small { grid-column:1; }
}

/* Hero cinematográfica — o scroll dirige o tempo do filme */
.hero.hero-cinematic { --hero-progress:0; --hero-px:0; --hero-py:0; display:block; min-height:0; height:180svh; padding:0; overflow:visible; background:#02050a; }
.hero-sticky { position:sticky; top:0; width:100%; height:100svh; overflow:hidden; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); align-items:center; padding:150px clamp(24px,7vw,112px) 72px; }
.hero-film { position:absolute; z-index:-4; top:88px; bottom:auto; left:30%; width:auto; max-width:none; height:calc(100% - 88px); aspect-ratio:1942/1080; object-fit:contain; object-position:center; filter:saturate(.86) contrast(1.06) brightness(.76); transform:none; transform-origin:center; border:0; border-radius:0; outline:0; -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 10%,#000 30%,#000 88%,rgba(0,0,0,.72) 94%,transparent 100%); mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 10%,#000 30%,#000 88%,rgba(0,0,0,.72) 94%,transparent 100%); }
.hero-film-shade { position:absolute; z-index:-3; inset:0; background:linear-gradient(90deg,rgba(2,5,10,.98) 0%,rgba(2,5,10,.83) 32%,rgba(2,5,10,.27) 62%,rgba(2,5,10,.1) 84%,rgba(2,5,10,.72) 100%),linear-gradient(0deg,rgba(2,5,10,.96) 0%,rgba(2,5,10,.35) 14%,transparent 38%,rgba(2,5,10,.18) 100%); }
.hero-film-shade::after { content:""; position:absolute; top:88px; right:0; bottom:0; width:18vw; background:linear-gradient(90deg,transparent,rgba(2,5,10,.5) 76%,#02050a 100%); filter:blur(.2px); pointer-events:none; }
.hero-cinematic .grid-lines { z-index:-2; opacity:.13; }
.hero-cinematic .hero-copy { max-width:980px; padding-bottom:20px; text-shadow:0 3px 34px rgba(0,0,0,.65); transform:translateY(calc(var(--hero-progress) * -18px)); }
.hero-cinematic h1 { width:max-content; max-width:62vw; font-size:clamp(46px,5vw,82px); line-height:.9; letter-spacing:-.065em; }
.hero-title-line { display:block; white-space:nowrap; }
.hero-title-line + .hero-title-line { margin-top:.09em; }
.hero-title-line .outline-word { margin-left:.08em; }
.hero-title-line em { margin-left:.08em; }
.hero-cinematic,.hero-sticky { border:0; border-radius:0; outline:0; }
.hero-scroll-story { position:absolute; z-index:4; right:clamp(24px,4vw,68px); top:50%; transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; gap:12px; color:rgba(255,255,255,.46); font:7px var(--font-geist-mono); letter-spacing:.18em; }
.hero-scroll-story i { width:1px; height:34px; background:rgba(255,255,255,.2); }
.hero-scroll-story::before { content:""; position:absolute; top:0; width:2px; height:calc(var(--hero-progress) * 100%); max-height:100%; background:linear-gradient(var(--gold),var(--orange)); box-shadow:0 0 14px rgba(255,107,53,.65); opacity:.78; }
.hero-motion-field { position:absolute; z-index:1; inset:88px 0 0; pointer-events:none; overflow:hidden; perspective:1100px; }
.motion-lens { position:absolute; border:1px solid rgba(217,169,91,.28); border-radius:50%; transform-style:preserve-3d; mix-blend-mode:screen; }
.motion-lens i { position:absolute; inset:12%; border:1px dashed rgba(110,181,255,.24); border-radius:50%; animation:lensSpin 14s linear infinite; }
.motion-lens i:nth-child(2) { inset:31%; border-style:solid; border-color:rgba(255,107,53,.35); animation-direction:reverse; animation-duration:9s; }
.lens-a { width:34vw; aspect-ratio:1; right:-8vw; top:6%; transform:translate(calc(var(--hero-px) * -34px),calc(var(--hero-py) * -22px)) rotateX(calc(var(--hero-py) * 10deg)); animation:lensBreathe 7s ease-in-out infinite; }
.lens-b { width:12vw; aspect-ratio:1; left:48%; bottom:8%; transform:translate(calc(var(--hero-px) * 45px),calc(var(--hero-py) * 28px)); opacity:.7; }
@keyframes lensSpin { to { transform:rotate(360deg); } }
@keyframes lensBreathe { 50% { box-shadow:0 0 90px rgba(47,139,221,.13),inset 0 0 60px rgba(217,169,91,.06); } }
.motion-circuit { position:absolute; inset:0; width:100%; height:100%; filter:drop-shadow(0 0 8px rgba(74,166,255,.45)); transform:translate(calc(var(--hero-px) * -16px),calc(var(--hero-progress) * -35px)); }
.motion-circuit path { fill:none; stroke:rgba(109,181,246,.23); stroke-width:1.2; stroke-dasharray:7 18; animation:circuitFlow 2.8s linear infinite; }
.motion-circuit path:nth-child(2) { stroke:rgba(217,169,91,.25); animation-direction:reverse; }
@keyframes circuitFlow { to { stroke-dashoffset:-50; } }
.circuit-pulse { fill:#72baff; filter:drop-shadow(0 0 12px #4ba8ff); }
.pulse-a { offset-path:path("M560 760 C720 650 650 420 850 360 S1120 250 1360 90"); animation:travelPulse 5s linear infinite; }
.pulse-b { fill:#ff9b55; filter:drop-shadow(0 0 12px #ff6b35); offset-path:path("M680 850 C790 690 970 720 1080 550 S1210 330 1410 300"); animation:travelPulse 6s -2.5s linear infinite; }
@keyframes travelPulse { to { offset-distance:100%; } }
.motion-card { position:absolute; min-width:150px; padding:12px 14px; display:grid; grid-template-columns:auto 1fr; gap:2px 10px; border:1px solid rgba(255,255,255,.13); background:rgba(3,8,15,.42); backdrop-filter:blur(15px); box-shadow:0 18px 50px rgba(0,0,0,.25); color:#d8dee7; transform:translate3d(calc(var(--hero-px) * 22px),calc(var(--hero-py) * 15px + var(--hero-progress) * -28px),0); animation:motionCardFloat 5s ease-in-out infinite; }
.motion-card span { grid-row:1/3; color:var(--orange); font:7px var(--font-geist-mono); }
.motion-card strong { font-size:9px; letter-spacing:.12em; }
.motion-card small { color:#728094; font:6px var(--font-geist-mono); text-transform:uppercase; letter-spacing:.12em; }
.motion-card-a { left:50.5%; right:auto; top:51%; }
.motion-card-b { right:9%; top:48%; animation-delay:-1.7s; }
.motion-card-c { right:25%; bottom:13%; animation-delay:-3.2s; }
@keyframes motionCardFloat { 50% { margin-top:-9px; } }
.motion-coordinates { position:absolute; right:6%; bottom:5%; color:rgba(255,255,255,.32); font:6px var(--font-geist-mono); letter-spacing:.2em; transform:translateX(calc(var(--hero-px) * -18px)); }

@media (max-width:980px) {
  .hero.hero-cinematic { height:165svh; }
  .hero-sticky { grid-template-columns:1fr; padding:128px 36px 76px; }
  .hero-film { left:22%; object-position:center; }
  .hero-film-shade { background:linear-gradient(90deg,rgba(2,5,10,.94),rgba(2,5,10,.58) 64%,rgba(2,5,10,.18)),linear-gradient(0deg,rgba(2,5,10,.82),transparent 40%); }
  .hero-cinematic .hero-copy { max-width:760px; }
  .hero-scroll-story { right:22px; }
}

@media (max-height:760px) and (min-width:900px) {
  .hero-sticky { padding-top:104px; padding-bottom:42px; align-items:center; }
  .hero-cinematic .hero-copy { padding-bottom:10px; }
  .hero-cinematic .eyebrow { margin-bottom:17px; }
  .hero-cinematic h1 { font-size:clamp(48px,5.15vw,76px); line-height:.86; }
  .hero-cinematic .hero-lead { margin-top:20px; max-width:600px; font-size:14px; line-height:1.55; }
  .hero-cinematic .hero-actions { margin-top:22px; }
  .hero-cinematic .button { min-height:48px; padding:0 21px; }
  .hero-cinematic .hero-foot { bottom:13px; }
  .motion-card { transform:scale(.86) translate3d(calc(var(--hero-px) * 22px),calc(var(--hero-py) * 15px + var(--hero-progress) * -28px),0); }
}

@media (max-width:560px) {
  .whatsapp-float { width:56px; height:56px; right:16px; bottom:18px; }
  .whatsapp-float svg { width:27px; height:27px; }
  .whatsapp-label { display:none; }
  .hero.hero-cinematic { height:150svh; min-height:0; padding:0; }
  .hero-sticky { padding:110px 20px 72px; align-items:end; }
  .hero-film { top:88px; left:10%; height:calc(100% - 88px); object-position:52% center; filter:saturate(.88) contrast(1.04) brightness(.68); }
  .hero-film-shade { background:linear-gradient(0deg,rgba(2,5,10,.98) 3%,rgba(2,5,10,.72) 50%,rgba(2,5,10,.18) 100%); }
  .hero-cinematic .hero-copy { padding-bottom:60px; transform:none; }
  .hero-cinematic h1 { font-size:clamp(43px,13.4vw,66px); max-width:96%; }
  .hero-title-line { white-space:normal; }
  .hero-cinematic .hero-lead { max-width:92%; margin-top:24px; }
  .hero-cinematic .hero-actions { margin-top:26px; }
  .hero-scroll-story { display:none; }
  .motion-card { display:none; }
  .lens-a { width:80vw; right:-42vw; top:8%; }
  .lens-b { width:28vw; left:5%; bottom:22%; }
  .motion-coordinates { display:none; }
  .hero-cinematic .social-links { display:none; }
  .hero-cinematic .hero-foot { bottom:22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .cursor-glow { display:none; }
  .hero.hero-cinematic { height:100svh; }
  .hero-cinematic .hero-copy { transform:none; }
  .filmography-track { animation:none; }
  .filmography-viewport { overflow-x:auto; mask-image:none; -webkit-mask-image:none; }
}
