/* ============================================================
   GOOGLE ADS PAGE — radius map · search demo · own-the-search
   ============================================================ */

/* ---------- hero layout: stack headline over search demo ---------- */
.g-hero{flex-direction:column;}
.g-hero .hero2-inner{width:100%;}

/* ---------- hero search demo ---------- */
.g-search-demo{max-width:640px;margin:3rem auto 0;}
.gs-bar{
  display:flex;align-items:center;gap:.8rem;
  background:rgba(15,31,54,.9);border:1px solid rgba(127,166,204,.3);
  border-radius:999px;padding:1rem 1.5rem;
  box-shadow:0 18px 50px rgba(0,0,0,.45), inset 0 1px 0 rgba(207,227,247,.06);
}
.gs-bar i{color:#5a7ba3;font-size:1.2rem;}
.gs-typed{font-size:1.1rem;font-weight:700;color:#eef4fb;min-height:1.4em;}
.gs-caret{width:2px;height:1.2em;background:#6fc1ff;animation:gsBlink 1.1s steps(1) infinite;}
@keyframes gsBlink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
.gs-results{margin-top:.9rem;display:flex;flex-direction:column;gap:.5rem;}
.gs-result{
  border-radius:14px;padding:.85rem 1.2rem;text-align:left;
  background:rgba(21,39,65,.5);border:1px solid rgba(127,166,204,.14);
}
.gs-result.gs-you{
  background:linear-gradient(140deg, rgba(27,141,246,.16), rgba(21,39,65,.75));
  border-color:rgba(111,193,255,.55);
  box-shadow:0 0 26px rgba(27,141,246,.22);
}
.gs-ad-badge{
  display:inline-block;font-size:.62rem;font-weight:900;letter-spacing:.1em;
  text-transform:uppercase;color:#6fc1ff;border:1px solid rgba(111,193,255,.5);
  border-radius:5px;padding:.1rem .4rem;margin-bottom:.3rem;
}
.gs-title{display:block;font-weight:800;font-size:1rem;color:#eef4fb;}
.gs-result.gs-them .gs-title{color:#7fa6cc;font-weight:600;}
.gs-url{display:block;font-size:.78rem;color:#5a7ba3;margin-top:.15rem;}
.gs-result.gs-them{opacity:.55;filter:blur(.4px);}
.gs-caption{margin-top:1rem;font-size:.92rem;font-weight:700;color:#9db8d6;text-align:center;}

/* the "trend-punch" conclusion lines had no rule at all, so they sat full-width
   and left-aligned. Center them with a readable measure. */
.trend-punch{
  max-width:720px;margin:2.4rem auto 0;text-align:center;
  font-size:1.15rem;line-height:1.6;font-weight:600;color:var(--text);
}
.trend-punch b{color:var(--accent);}
/* when a section's eyebrow is deleted, its h2 becomes the first child and its
   top margin opened a gap under the section padding. Close it. */
.prose h2:first-child{margin-top:0;}

/* ---------- radius map ---------- */
.g-radius{position:relative;}
.rmap-stage{
  display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center;
  max-width:980px;margin:2.6rem auto 0;
}
.rmap{
  position:relative;aspect-ratio:1.08/1;border-radius:24px;overflow:hidden;
  background:
    radial-gradient(120% 100% at 50% 50%, rgba(21,39,65,.55), rgba(9,16,30,.95)),
    #0a1424;
  border:1px solid rgba(127,166,204,.2);
  box-shadow:0 30px 80px rgba(0,0,0,.5), inset 0 1px 0 rgba(207,227,247,.05);
}
/* faux street grid */
.rmap-roads{
  position:absolute;inset:0;opacity:.35;
  background-image:
    linear-gradient(rgba(127,166,204,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,166,204,.14) 1px, transparent 1px),
    linear-gradient(rgba(127,166,204,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127,166,204,.07) 1px, transparent 1px);
  background-size:96px 96px, 96px 96px, 24px 24px, 24px 24px;
}
.rmap-store{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;
  width:52px;height:52px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#1b8df6,#0044ff);color:#fff;font-size:1.5rem;
  box-shadow:0 10px 30px rgba(27,141,246,.5), 0 0 0 5px rgba(27,141,246,.18);
}
.rmap-ring{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  border-radius:50%;pointer-events:none;
}
.rmap-seo{
  width:26%;height:24%;
  border:2px solid rgba(46,204,113,.65);
  background:radial-gradient(circle, rgba(46,204,113,.12), transparent 70%);
}
.rmap-ads{
  border:2px dashed rgba(111,193,255,.75);
  background:radial-gradient(circle, rgba(27,141,246,.1), transparent 72%);
  transition:width .35s cubic-bezier(.34,1.2,.64,1), height .35s cubic-bezier(.34,1.2,.64,1);
  animation:adsRingPulse 3s ease-in-out infinite;
}
@keyframes adsRingPulse{0%,100%{box-shadow:0 0 0 0 rgba(27,141,246,.25);}50%{box-shadow:0 0 34px 6px rgba(27,141,246,.12);}}
.rmap-dot{
  position:absolute;width:8px;height:8px;border-radius:50%;
  transform:translate(-50%,-50%);
  background:rgba(127,166,204,.3);
  transition:background .3s ease, box-shadow .3s ease;
  animation:dotBreathe 4s ease-in-out infinite;
}
@keyframes dotBreathe{0%,100%{opacity:.75;}50%{opacity:1;}}
.rmap-dot.lit{
  background:#6fc1ff;
  box-shadow:0 0 10px rgba(111,193,255,.85);
}
.rmap-dot.seo{
  background:#2ecc71;
  box-shadow:0 0 10px rgba(46,204,113,.8);
}
/* controls */
.rmap-controls{display:flex;flex-direction:column;gap:1rem;}
.rmap-readout{display:flex;flex-direction:column;gap:.65rem;}
.rr-item{
  display:flex;align-items:center;gap:.6rem;
  font-size:.98rem;font-weight:600;color:#c4d6ee;
}
.rr-item b{color:#eef4fb;font-weight:900;}
.rr-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto;}
.rr-dot.rr-seo{background:#2ecc71;box-shadow:0 0 8px rgba(46,204,113,.7);}
.rr-dot.rr-ads{background:#6fc1ff;box-shadow:0 0 8px rgba(111,193,255,.7);}
.rr-item.rr-count{
  margin-top:.3rem;padding:.8rem 1rem;border-radius:14px;
  background:rgba(27,141,246,.1);border:1px solid rgba(27,141,246,.35);
}
.rr-item.rr-count i{color:var(--accent);}
.rr-item.rr-count b{color:#6fc1ff;font-size:1.25rem;}
.rmap-slider-label{
  font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);
}
#radSlider{
  -webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;
  background:linear-gradient(90deg, #2ecc71 0%, #2ecc71 12%, rgba(127,166,204,.25) 12%);
  outline:none;cursor:pointer;
}
#radSlider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;
  background:linear-gradient(135deg,#6fc1ff,#1b8df6);
  border:3px solid #0b1424;
  box-shadow:0 0 14px rgba(27,141,246,.8);cursor:grab;
}
#radSlider::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;
  background:linear-gradient(135deg,#6fc1ff,#1b8df6);
  border:3px solid #0b1424;
  box-shadow:0 0 14px rgba(27,141,246,.8);cursor:grab;
}
.rmap-scale{display:flex;justify-content:space-between;font-size:.75rem;font-weight:700;color:#5a7ba3;}

/* ---------- own the search cards ---------- */
.own-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;
  max-width:940px;margin:2.4rem auto 0;
}
.own-card{
  border-radius:20px;padding:1.8rem;
  background:linear-gradient(170deg, rgba(21,39,65,.6), rgba(13,25,44,.85));
  border:1px solid rgba(127,166,204,.2);
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.own-card:hover{
  transform:translateY(-4px);
  border-color:rgba(27,141,246,.5);
  box-shadow:0 20px 50px rgba(0,0,0,.4), 0 0 26px rgba(27,141,246,.12);
}
.own-query{
  display:inline-flex;align-items:center;gap:.55rem;
  background:rgba(15,31,54,.9);border:1px solid rgba(127,166,204,.3);
  border-radius:999px;padding:.6rem 1.1rem;margin-bottom:1.1rem;
  font-weight:800;font-size:.95rem;color:#eef4fb;
}
.own-query i{color:var(--accent);}
.own-card h3{margin:0 0 .5rem;font-size:1.25rem;}
.own-card p{margin:0 0 1rem;color:#9db8d6;line-height:1.6;font-size:.96rem;}
.own-proof{
  font-size:.85rem;font-weight:800;color:#6fc1ff;
  border-top:1px solid rgba(127,166,204,.15);padding-top:.9rem;
}
.own-card.own-name{
  background:linear-gradient(170deg, rgba(27,141,246,.14), rgba(13,25,44,.9));
  border-color:rgba(27,141,246,.4);
}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .rmap-stage{grid-template-columns:1fr;gap:1.8rem;}
  .own-grid{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  .gs-caret,.rmap-ads,.rmap-dot{animation:none;}
}

/* ---------- pitch video (20260702) ---------- */
.g-video .video-frame{
  position:relative;max-width:880px;margin:2.4rem auto 0;aspect-ratio:16/9;
  border-radius:18px;overflow:hidden;background:#0a1626;
  border:1px solid rgba(127,166,204,.2);box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.g-video .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ============================================================
   v2 (20260702) — two-col hero · video receipts · ROI calculator ·
   policy-notice mock · demand->capture viz · radius facts
   ============================================================ */

/* ---------- hero: demo beside the copy on desktop ---------- */
@media(min-width:1080px){
  .g-hero{position:relative;}
  .g-hero .hero2-inner{padding-right:clamp(440px,44vw,520px);}
  .g-hero h1{font-size:clamp(2.9rem,4.7vw,3.75rem);}
  .g-hero .g-search-demo{
    position:absolute;right:clamp(24px,5vw,110px);top:50%;
    transform:translateY(-50%);width:min(460px,36vw);margin:0;z-index:2;
  }
}

/* ---------- radius facts strip ---------- */
.rad-facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;
  max-width:860px;margin:2.4rem auto 0;
}
.rf-item{
  text-align:center;padding:1.3rem 1rem;border-radius:16px;
  border:1px solid rgba(127,166,204,.2);background:rgba(21,39,65,.45);
}
.rf-item b{
  display:block;font-size:1.7rem;font-weight:900;letter-spacing:-.02em;
  background:linear-gradient(135deg,#6fc1ff,#1b8df6);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.rf-item span{display:block;margin-top:.35rem;font-size:.82rem;color:#9db8d6;line-height:1.5;}
@media(max-width:760px){.rad-facts{grid-template-columns:1fr;max-width:420px;}}

/* ---------- receipts from Google ---------- */
.gproof{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;
  max-width:1020px;margin:2.6rem auto 0;
}
.gp-card{
  border-radius:18px;padding:1.6rem 1.5rem;
  background:linear-gradient(170deg, rgba(21,39,65,.6), rgba(13,25,44,.85));
  border:1px solid rgba(127,166,204,.2);
  transition:transform .25s ease,border-color .25s ease;
}
.gp-card:hover{transform:translateY(-4px);border-color:rgba(27,141,246,.5);}
.gp-num{
  font-size:2rem;font-weight:900;letter-spacing:-.02em;line-height:1;
  background:linear-gradient(135deg,#6fc1ff,#1b8df6);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.gp-where{
  display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:#7fa6cc;margin:.5rem 0 .55rem;
}
.gp-card p{margin:0;font-size:.88rem;color:#9db8d6;line-height:1.55;}
.gp-card p b{color:#eef4fb;}
.gport{
  max-width:1020px;margin:1.3rem auto 0;padding:1.2rem 1.6rem;border-radius:16px;
  border:1px solid rgba(27,141,246,.35);
  background:linear-gradient(90deg, rgba(27,141,246,.12), rgba(11,20,36,.6));
  display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;
  font-size:.95rem;color:#cfe3f7;text-align:center;
}
.gport b{font-size:1.25rem;color:#6fc1ff;}
@media(max-width:860px){.gproof{grid-template-columns:1fr;max-width:440px;}}

/* ---------- ROI calculator ---------- */
.roi-calc{
  max-width:860px;margin:2.6rem auto 0;border-radius:22px;overflow:hidden;
  border:1px solid rgba(27,141,246,.35);
  background:linear-gradient(180deg, rgba(15,31,54,.75), rgba(11,20,36,.92));
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  padding:2.2rem clamp(1.2rem,4vw,2.6rem) 2.4rem;text-align:center;
}
.roi-label{
  display:block;font-size:.8rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:#7fc1ff;margin:1.6rem 0 .6rem;text-align:left;
}
.roi-calc input[type=range]{
  width:100%;accent-color:#1b8df6;height:6px;cursor:grab;
}
.roi-val{font-size:1rem;color:#cfe3f7;margin-top:.5rem;text-align:left;}
.roi-val b{color:#6fc1ff;}
.roi-val small{display:block;color:#7fa6cc;font-size:.75rem;margin-top:.2rem;}
.roi-results{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;
}
.roi-card{
  border-radius:14px;padding:1.2rem .9rem;
  background:rgba(21,39,65,.6);border:1px solid rgba(127,166,204,.2);
}
.roi-card b{
  display:block;font-size:1.8rem;font-weight:900;letter-spacing:-.02em;
  color:#eef4fb;
}
.roi-card span{display:block;font-size:.82rem;font-weight:700;color:#9db8d6;margin-top:.2rem;}
.roi-card small{display:block;font-size:.66rem;color:#7fa6cc;margin-top:.5rem;line-height:1.4;}
.roi-total{
  margin-top:1.4rem;padding:1rem 1.4rem;border-radius:14px;
  background:linear-gradient(90deg, rgba(27,141,246,.18), rgba(27,141,246,.05));
  border:1px solid rgba(27,141,246,.4);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.roi-total span{font-size:.9rem;font-weight:700;color:#cfe3f7;}
.roi-total b{font-size:2rem;font-weight:900;color:#6fc1ff;letter-spacing:-.02em;}
.roi-note{font-size:.8rem;color:#7fa6cc;margin:1.2rem auto 1.4rem;max-width:56ch;line-height:1.55;}
@media(max-width:700px){.roi-results{grid-template-columns:1fr;}}

/* ---------- policy notice mock ---------- */
.policy-note{
  max-width:640px;margin:2.4rem auto 0;border-radius:16px;overflow:hidden;
  border:1px solid rgba(210,74,74,.4);background:rgba(15,26,44,.85);
  text-align:left;
}
.pn-bar{
  display:flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;
  font-family:ui-monospace,Menlo,monospace;font-size:.72rem;color:#9db8d6;
  background:rgba(10,19,34,.9);border-bottom:1px solid rgba(127,166,204,.15);
}
.pn-row{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.2rem;}
.pn-status{
  flex:0 0 auto;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:.32rem .6rem;border-radius:6px;
  background:rgba(210,74,74,.15);color:#f2a0a0;border:1px solid rgba(210,74,74,.4);
}
.pn-body b{display:block;font-size:.95rem;color:#eef4fb;}
.pn-body span{display:block;font-size:.82rem;color:#9db8d6;margin-top:.3rem;line-height:1.5;}
.pn-warn{
  padding: .85rem 1.2rem;font-size:.82rem;color:#f2b0b0;
  border-top:1px dashed rgba(210,74,74,.3);background:rgba(210,74,74,.05);
}

/* ---------- demand -> capture viz ---------- */
.gcapture{max-width:520px;margin:2.4rem auto 0;}
.gcapture .pv-node small{display:block;font-size:.72rem;color:#7fa6cc;font-weight:600;margin-top:.15rem;}

/* Google Ads pricing: 2 tiers side by side on desktop, stacked full-width on phones */
.pkg-grid.pkg-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-left:auto;margin-right:auto;}
@media(max-width:760px){
  .pkg-grid.pkg-grid-2{grid-template-columns:1fr;max-width:460px;}
  .pkg-grid.pkg-grid-2 .pkg-price{font-size:clamp(2.4rem,10vw,3rem);}
}
