.google-page-hero { padding:10px 0 58px; }
.google-hero-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; align-items:center; }
.google-hero-copy { min-width:0; }
.page-hero h1.google-hero-title { max-width:none; font-size:clamp(49px,calc(4.5vw + 1px),57px); line-height:1.08; letter-spacing:-.035em; }
.google-hero-title span { display:block; white-space:nowrap; }
.google-hero-copy .page-lead { max-width:570px; }

.google-hero-visual { position:relative; min-height:600px; overflow:hidden; cursor:crosshair; touch-action:pan-y; isolation:isolate; }
.google-hero-visual::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.28; background-image:radial-gradient(#8390a4 .65px,transparent .65px); background-size:22px 22px; mask-image:linear-gradient(90deg,transparent,#000 12%,#000 100%); }
.google-hero-visual::after { content:""; position:absolute; left:50%; top:10%; bottom:6%; z-index:-1; border-left:1px dashed rgba(91,105,128,.19); }
.ga-scene { position:absolute; left:50%; top:50%; width:620px; height:600px; transform:translate(-50%,-50%) scale(.88); transform-origin:center; }
.ga-item { position:absolute; z-index:4; will-change:transform; }
.ga-drift { animation:ga-drift var(--ga-speed,7s) ease-in-out infinite alternate; animation-delay:var(--ga-delay,0s); }
.ga-drift-1 { --ga-speed:8.4s; --ga-delay:-2s; --ga-r1:-1.1deg; --ga-r2:.5deg; }
.ga-drift-2 { --ga-speed:7.1s; --ga-delay:-4s; --ga-r1:.8deg; --ga-r2:-.5deg; }
.ga-drift-3 { --ga-speed:6.8s; --ga-delay:-1s; --ga-r1:.3deg; --ga-r2:1deg; }
.ga-drift-4 { --ga-speed:8.8s; --ga-delay:-5s; --ga-r1:-.6deg; --ga-r2:.8deg; }
.ga-drift-5 { --ga-speed:8.2s; --ga-delay:-3s; }
.ga-drift-6 { --ga-speed:9.2s; --ga-delay:-4s; }
@keyframes ga-drift { from { transform:translate3d(-3px,-4px,0) rotate(var(--ga-r1,-.5deg)); } to { transform:translate3d(5px,6px,0) rotate(var(--ga-r2,.7deg)); } }

.ga-card { position:relative; width:198px; min-height:190px; overflow:hidden; border:1px solid rgba(255,255,255,.9); border-radius:5px; background:#fff; box-shadow:0 14px 38px rgba(25,37,57,.13),0 2px 5px rgba(25,37,57,.06); }
.ga-card::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(16,23,35,.035); pointer-events:none; }
.ga-card p { margin:0; padding:10px 11px 11px; color:#263044; font:700 10px/1.3 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.ga-card p span { display:block; margin-top:4px; color:#8a93a3; font-size:9px; font-weight:500; line-height:1.4; }
.ga-graphic { position:relative; height:96px; overflow:hidden; }
.ga-graphic::after { content:""; position:absolute; inset:0; opacity:.5; background-image:radial-gradient(rgba(50,72,111,.24) .6px,transparent .6px); background-size:10px 10px; mask-image:linear-gradient(135deg,#000,transparent 72%); }
.ga-area-1 { top:42px; left:7px; }
.ga-area-2 { top:42px; left:211px; }
.ga-area-3 { top:42px; right:7px; }

.ga-demand { background:linear-gradient(145deg,#eaf1ff,#f8faff); }
.ga-demand-ring { position:absolute; z-index:1; left:50%; top:48%; width:62px; height:62px; border:1px dashed #8fa9e0; border-radius:50%; transform:translate(-50%,-50%); }
.ga-demand-core { position:absolute; z-index:3; left:50%; top:48%; width:20px; height:20px; border:6px solid var(--accent); border-radius:50%; background:#fff; transform:translate(-50%,-50%); box-shadow:0 0 0 5px rgba(37,95,230,.09); }
.ga-query { position:absolute; z-index:3; padding:4px 6px; border:1px solid #dce4f3; border-radius:4px; color:#496189; background:#fff; box-shadow:0 5px 12px rgba(37,65,112,.09); font:800 9px/1 var(--font-mono); letter-spacing:.05em; }
.ga-query::after { content:""; position:absolute; z-index:-1; top:50%; width:32px; height:1px; background:#879bc6; }
.ga-q1 { left:12px; top:14px; }
.ga-q1::after { left:100%; transform:rotate(26deg); transform-origin:left; }
.ga-q2 { right:10px; top:19px; }
.ga-q2::after { right:100%; transform:rotate(-30deg); transform-origin:right; }
.ga-q3 { left:50%; bottom:8px; transform:translateX(-50%); }
.ga-q3::after { left:50%; bottom:100%; transform:rotate(90deg); transform-origin:left; }

.ga-measurement { background:linear-gradient(145deg,#eaf8f4,#f7fcfa); }
.ga-measure-line { position:absolute; z-index:1; left:24px; right:24px; top:47%; height:2px; border-top:2px dashed #6fa893; transform:rotate(-7deg); }
.ga-measure-node { position:absolute; z-index:3; width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(32,91,69,.18); border-radius:50%; color:#21684f; background:#fff; box-shadow:0 7px 16px rgba(37,93,73,.1); font:800 9px/1 var(--font-mono); }
.ga-m1 { left:13px; bottom:13px; }
.ga-m2 { left:50%; top:24px; transform:translateX(-50%); }
.ga-m3 { right:13px; top:9px; color:#fff; background:#2ba977; }

.ga-inputs { background:linear-gradient(145deg,#eeeaff,#faf9ff); }
.ga-input-line { position:absolute; z-index:1; left:21%; right:21%; top:50%; height:1px; background:#9585d6; }
.ga-input-line::before,.ga-input-line::after { content:""; position:absolute; top:-16px; width:1px; height:32px; background:#9585d6; }
.ga-input-line::before { left:0; transform:rotate(-52deg); }
.ga-input-line::after { right:0; transform:rotate(52deg); }
.ga-input-node { position:absolute; z-index:3; width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(74,55,150,.18); border-radius:7px; color:#5843ad; background:#fff; box-shadow:0 6px 14px rgba(67,49,142,.1); font:800 9px/1 var(--font-mono); }
.ga-i1 { left:9%; top:12%; }
.ga-i2 { left:50%; bottom:7%; transform:translateX(-50%); }
.ga-i3 { right:9%; top:12%; }
.ga-input-hub { position:absolute; z-index:4; left:50%; top:43%; width:18px; height:18px; border:5px solid #6e58c8; border-radius:50%; background:#fff; transform:translate(-50%,-50%); }

.ga-control { background:linear-gradient(145deg,#fff3df,#fffbf2); }
.ga-control-bars { position:absolute; z-index:2; left:28px; right:28px; bottom:16px; height:56px; display:flex; align-items:end; gap:10px; border-bottom:1px solid #d9c69f; }
.ga-control-bars i { flex:1; height:var(--h); border-radius:3px 3px 0 0; background:#f2aa36; }
.ga-control-bars i:nth-child(2) { background:#ffd06b; }
.ga-control-bars i:nth-child(3) { background:#87a8ed; }
.ga-control-bars i:nth-child(4) { background:var(--accent); }
.ga-control-arrow { position:absolute; z-index:3; left:33px; top:12px; width:118px; height:41px; border-top:2px solid #8e6c28; border-radius:50%; transform:rotate(-10deg); }
.ga-control-arrow::after { content:""; position:absolute; right:-1px; top:-5px; width:8px; height:8px; border-top:2px solid #8e6c28; border-right:2px solid #8e6c28; transform:rotate(30deg); }

.ga-activation { top:260px; left:50%; transform:translateX(-50%); }
.ga-google-box { width:500px; min-height:80px; display:grid; grid-template-columns:164px 1fr; gap:13px; align-items:center; padding:13px 14px; border:1px solid rgba(42,59,87,.16); border-radius:6px; background:rgba(255,255,255,.97); box-shadow:0 18px 48px rgba(22,37,62,.14); }
.ga-google-brand { display:flex; align-items:center; gap:10px; }
.ga-google-brand img { width:40px; height:40px; object-fit:contain; }
.ga-google-brand small { display:block; color:#8b94a4; font:600 9px/1.25 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.ga-google-brand strong { display:block; margin-top:3px; color:#202838; font-size:13px; white-space:nowrap; }
.ga-formats { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
.ga-formats span { min-height:40px; display:grid; place-items:center; border:1px solid #e0e5ed; border-radius:4px; color:#536077; background:#fafbfc; font:700 9px/1 var(--font-mono); text-transform:uppercase; }

.ga-outcomes { top:400px; left:50%; transform:translateX(-50%); }
.ga-dashboard { width:402px; display:grid; grid-template-columns:118px 1fr; gap:20px; align-items:end; padding:15px 19px; border:1px solid rgba(45,62,89,.16); border-radius:6px; background:rgba(255,255,255,.96); box-shadow:0 17px 42px rgba(22,37,62,.12); }
.ga-metric small { color:#8b94a4; font:600 9px/1.3 var(--font-mono); letter-spacing:.07em; text-transform:uppercase; }
.ga-metric strong { display:block; margin-top:4px; font-size:29px; letter-spacing:-.04em; }
.ga-metric em { display:inline-block; margin-top:5px; padding:3px 5px; border-radius:3px; color:#168052; background:#e9f7f0; font:normal 700 9px/1 var(--font-mono); }
.ga-chart { height:76px; display:flex; align-items:end; gap:6px; border-bottom:1px solid #dfe4ec; background:repeating-linear-gradient(to top,transparent 0 24px,#edf0f4 25px); }
.ga-chart i { flex:1; height:var(--h); min-width:6px; border-radius:2px 2px 0 0; background:#b9c8ea; animation:ga-bars 2.8s ease-in-out infinite alternate; animation-delay:var(--d); transform-origin:bottom; }
.ga-chart i:nth-child(3n) { background:var(--accent); }
@keyframes ga-bars { from { transform:scaleY(.82); opacity:.75; } to { transform:scaleY(1); opacity:1; } }

.ga-flow { position:absolute; z-index:1; height:1px; background:linear-gradient(90deg,transparent,rgba(102,116,139,.32) 15%,rgba(102,116,139,.32) 85%,transparent); transform-origin:left center; }
.ga-flow::after { content:""; position:absolute; left:12%; top:-2px; width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(37,95,230,.08); animation:ga-signal 3.6s ease-in-out infinite; animation-delay:var(--ga-flow-delay,0s); }
@keyframes ga-signal { 0% { left:12%; opacity:0; } 18% { opacity:1; } 82% { opacity:1; } 100% { left:86%; opacity:0; } }
.ga-flow-1 { top:246px; left:104px; width:207px; transform:rotate(4deg); --ga-flow-delay:-.5s; }
.ga-flow-2 { top:246px; left:310px; width:18px; transform:rotate(90deg); --ga-flow-delay:-1.6s; }
.ga-flow-3 { top:246px; left:516px; width:207px; transform:rotate(176deg); --ga-flow-delay:-2.4s; }
.ga-flow-4 { top:355px; left:310px; width:59px; transform:rotate(90deg); --ga-flow-delay:-1.1s; }
.ga-orbit { position:absolute; z-index:0; left:50%; top:47%; width:500px; height:300px; border:1px solid rgba(37,95,230,.08); border-radius:50%; transform:translate(-50%,-50%) rotate(-8deg); }
.ga-orbit::before { content:""; position:absolute; inset:34px 70px; border:1px solid rgba(37,95,230,.06); border-radius:inherit; }

@media (max-width:1100px) {
  .google-hero-grid { grid-template-columns:1fr; gap:32px; }
  .google-hero-copy { max-width:760px; }
  .google-hero-visual { min-height:580px; }
  .ga-scene { transform:translate(-50%,-50%) scale(.94); }
}

@media (max-width:720px) {
  .google-page-hero { padding:10px 0 42px; }
  .page-hero h1.google-hero-title { font-size:clamp(38px,10.5vw,48px); }
  .google-hero-title span { white-space:normal; }
  .google-hero-grid { gap:22px; }
}

@media (prefers-reduced-motion:reduce) {
  .ga-drift,.ga-flow::after,.ga-chart i { animation:none !important; }
}
