/* ==========================================================================
   FUTUREE STUDY AD KIT — real ad-unit creatives
   Adapted from the supplied ad-kit template. Every selector is scoped under
   .ad-embed so these rules never leak into (or collide with) the site's
   own component classes (.eyebrow, .stat, .dot, .cta-banner, .row, etc).
   Typography reuses the site's own font tokens; panel/background tones are
   blended toward the site's black/grey monochrome theme so each unit sits
   naturally on the page while keeping its own distinct "advertiser brand"
   accent color.
   ========================================================================== */

.ad-embed{
  /* local, scoped tokens — do NOT touch global :root */
  --bg:        #08080a;
  --panel:     #131316;
  --panel-2:   #1a1a1e;
  --line:      #2c2c31;
  --text:      #eef1f5;
  --text-dim:  #8b8b91;
  --teal:      #2dd4bf;
  --violet:    #a78bfa;
  --amber:     #fbbf24;
  --rose:      #fb7185;
  --blue:      #60a5fa;
  --green:     #86efac;
  --radius:    10px;
  --font-display: var(--f-display);
  --font-body:    var(--f-body);
  --font-mono:    var(--f-mono);

  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
}
.ad-embed *{ box-sizing:border-box; }
.ad-embed a{ color:inherit; text-decoration:none; }
.ad-embed .ad-unit[role="link"] { cursor:pointer; }
.ad-embed .ad-unit[role="link"]:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }

.ad-embed .la-ad {
  display:flex; align-items:center; width:100%; max-width:728px; aspect-ratio:728 / 90;
  background:linear-gradient(135deg, rgba(39,39,42,.22), rgba(161,161,170,.14)), var(--bg-card);
  border:1px solid var(--glass-border); padding:1%; border-radius:4px; gap:2%;
  color:#fff; cursor:pointer; box-sizing:border-box;
}
.ad-embed .la-ad:focus-visible { outline:2px solid #1877f2; outline-offset:3px; }
.ad-embed .la-ad-img {
  height:90%; aspect-ratio:2 / 1; object-fit:cover; border-radius:2px; flex:none;
}
.ad-embed .la-ad-body { display:flex; align-items:center; flex-grow:1; min-width:0; gap:2%; }
.ad-embed .la-ad-copy { flex-grow:1; min-width:0; overflow:hidden; }
.ad-embed .la-ad-copy strong { display:block; font-weight:bold; font-size:1.1rem; color:#fff; }
.ad-embed .la-ad-copy span { display:block; font-size:.9rem; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ad-embed .la-ad-cta {
  background:#000; color:#fff; padding:4% 8%; border-radius:20px;
  font-weight:bold; font-size:.9rem; white-space:nowrap; flex:none;
}

@media (max-width:560px) {
  .ad-embed .la-ad-copy span { font-size:.75rem; }
  .ad-embed .la-ad-copy strong { font-size:.95rem; }
  .ad-embed .la-ad-cta { font-size:.75rem; padding:3% 5%; }
}

  /* ---------- Ad chrome shared by every unit ---------- */
  .ad-embed .ad-unit {
    position:relative; border-radius:var(--radius); overflow:hidden;
    background:var(--panel); border:1px solid var(--line);
    box-shadow:0 1px 0 rgba(255,255,255,.02) inset;
  }

  /* =========================================================
     1. LEADERBOARD 728x90 — self-promo style
  ========================================================== */
  .ad-embed .ad-leaderboard {
    width:728px; max-width:100%; height:90px;
    display:flex; align-items:center; gap:16px; padding:0 22px;
    background:radial-gradient(120% 180% at 0% 50%, rgba(45,212,191,.16), transparent 60%), var(--panel);
  }

.ad-embed .ad-leaderboard .glyph {
    width:46px; height:46px; border-radius:10px; background:var(--panel-2);
    border:1.5px solid var(--teal); display:flex; align-items:center; justify-content:center;
    flex:none;
  }

.ad-embed .ad-leaderboard .glyph svg { width:22px; height:22px; }

.ad-embed .ad-leaderboard .copy strong {
    font-family:var(--font-display); font-size:1.15rem; font-weight:700; color:var(--teal);
    display:block;
  }

.ad-embed .ad-leaderboard .copy span { color:var(--text-dim); font-size:.85rem; }

  /* =========================================================
     2. MEDIUM RECTANGLE 300x250 — co-branded travel
  ========================================================== */
  .ad-embed .ad-rect { width:300px; height:250px; display:flex; flex-direction:column; }

.ad-embed .ad-travel {
    background:linear-gradient(160deg,#241a12,#171210 70%);
  }

.ad-embed .ad-travel .top {
    display:flex; align-items:center; gap:8px; padding:14px 16px 0;
  }

.ad-embed .ad-travel .badge-pair { display:flex; }

.ad-embed .ad-travel .coin {
    width:22px; height:22px; border-radius:50%; margin-left:-8px; border:2px solid #171210;
  }

.ad-embed .ad-travel .coin:first-child { margin-left:0; background:var(--amber); }

.ad-embed .ad-travel .coin:last-child { background:var(--rose); }

.ad-embed .ad-travel .brand { font-family:var(--font-display); font-weight:700; font-size:.9rem; }

.ad-embed .ad-travel .photo {
    margin:12px 14px 0; height:96px; border-radius:8px;
    background:linear-gradient(0deg, rgba(20,14,9,.55), rgba(20,14,9,0) 60%), url('https://images.pexels.com/photos/3584338/pexels-photo-3584338.jpeg?auto=compress&cs=tinysrgb&w=600') center 30%/cover;
    position:relative; overflow:hidden;
  }

.ad-embed .ad-travel .photo::after {
    content:""; position:absolute; inset:0;
    background:radial-gradient(60% 90% at 30% 100%, rgba(0,0,0,.5), transparent);
  }

.ad-embed .ad-travel .body { padding:12px 16px 14px; flex:1; display:flex; flex-direction:column; }

.ad-embed .ad-travel .body p {
    margin:0 0 10px; font-size:.86rem; color:#f2d9c2; line-height:1.35;
  }

.ad-embed .ad-travel .body p b { color:var(--amber); }

.ad-embed .ad-travel .cta {
    margin-top:auto; align-self:flex-start; background:var(--amber); color:#241a12;
    font-weight:700; font-size:.78rem; padding:7px 16px; border-radius:999px;
  }

.ad-embed .ad-travel .fine { font-size:.62rem; color:#8d7a68; margin-top:8px; }

  /* =========================================================
     3. MEDIUM RECTANGLE 300x250 — fitness app
  ========================================================== */
  .ad-embed .ad-fit {
    background:linear-gradient(180deg, rgba(10,12,16,.35), rgba(10,12,16,.94) 78%), url('https://images.pexels.com/photos/416778/pexels-photo-416778.jpeg?auto=compress&cs=tinysrgb&w=600') center/cover;
    padding:18px; display:flex; flex-direction:column;
  }

.ad-embed .ad-fit .icon {
    width:52px; height:52px; border-radius:14px; background:var(--panel-2);
    border:1px solid #1f3a2e; display:flex; align-items:center; justify-content:center; margin-bottom:12px;
  }

.ad-embed .ad-fit h3 { font-family:var(--font-display); font-size:1.05rem; margin:0 0 6px; }

.ad-embed .ad-fit p { font-size:.82rem; color:var(--text-dim); margin:0 0 auto; line-height:1.4; }

.ad-embed .ad-fit .stars { color:var(--green); font-size:.78rem; margin:12px 0 10px; font-family:var(--font-mono); }

.ad-embed .ad-fit .cta {
    background:var(--green); color:#08150f; font-weight:700; font-size:.8rem;
    padding:9px 0; border-radius:8px; text-align:center;
  }

  /* =========================================================
     4. SQUARE 250x250 — grocery
  ========================================================== */
  .ad-embed .ad-square { width:250px; height:250px; }

.ad-embed .ad-grocery {
    background:linear-gradient(180deg, rgba(10,12,16,.25), rgba(10,12,16,.92) 75%), url('https://images.pexels.com/photos/28670064/pexels-photo-28670064.jpeg?auto=compress&cs=tinysrgb&w=600') center/cover;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:20px;
  }

.ad-embed .ad-grocery .pct {
    font-family:var(--font-display); font-size:2.6rem; font-weight:700; color:var(--green);
    line-height:1;
  }

.ad-embed .ad-grocery .pct span { font-size:1.1rem; vertical-align:top; }

.ad-embed .ad-grocery .sub { font-size:.78rem; color:var(--text-dim); margin:8px 0 16px; }

.ad-embed .ad-grocery strong { font-family:var(--font-display); font-size:1rem; display:block; margin-bottom:14px; }

.ad-embed .ad-grocery .cta {
    background:transparent; border:1.5px solid var(--green); color:var(--green);
    font-weight:600; font-size:.78rem; padding:8px 20px; border-radius:999px;
  }

  /* =========================================================
     5 & 18. MOBILE BANNERS
  ========================================================== */
  .ad-embed .ad-mobile { width:320px; max-width:100%; height:50px; display:flex; align-items:center; gap:10px; padding:0 14px; }

.ad-embed .ad-bank { background:linear-gradient(90deg,#0e1830,#0a0c10); }

.ad-embed .ad-bank .glyph { width:30px; height:30px; border-radius:8px; background:var(--blue); flex:none; display:flex; align-items:center; justify-content:center; color:#0a0c10; font-family:var(--font-display); font-weight:700; font-size:.85rem; }

.ad-embed .ad-bank .txt strong { font-size:.78rem; display:block; }

.ad-embed .ad-bank .txt span { font-size:.68rem; color:var(--text-dim); }

.ad-embed .ad-bank .cta { margin-left:auto; font-size:.68rem; background:var(--blue); color:#0a0c10; font-weight:700; padding:5px 12px; border-radius:6px; }

.ad-embed .ad-mobile-2 { width:320px; max-width:100%; height:100px; padding:12px 14px; flex-direction:column; align-items:stretch; justify-content:center; gap:4px; }

.ad-embed .ad-home { background:linear-gradient(160deg,#1c1710,#0a0c10 75%); }

.ad-embed .ad-home .row { display:flex; align-items:center; gap:10px; }

.ad-embed .ad-home .glyph { width:34px; height:34px; border-radius:8px; background:url('https://images.pexels.com/photos/7031607/pexels-photo-7031607.jpeg?auto=compress&cs=tinysrgb&w=100') center/cover; flex:none; }

.ad-embed .ad-home strong { font-size:.82rem; }

.ad-embed .ad-home span { font-size:.7rem; color:var(--text-dim); }

.ad-embed .ad-home .cta { margin-top:8px; align-self:flex-start; font-size:.68rem; background:var(--amber); color:#0a0c10; font-weight:700; padding:5px 14px; border-radius:6px; }

  /* =========================================================
     6. BILLBOARD 970x250 — music
  ========================================================== */
  .ad-embed .ad-billboard {
    width:970px; max-width:100%; height:250px; padding:0 42px;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    background:linear-gradient(115deg,#1c1230,#0a0c10 65%); position:relative;
  }

.ad-embed .ad-billboard .waves { position:absolute; inset:0; opacity:.35; }

.ad-embed .ad-billboard .copy { position:relative; z-index:2; max-width:420px; }

.ad-embed .ad-billboard .copy .eyebrow { font-family:var(--font-mono); font-size:.7rem; color:var(--violet); letter-spacing:.08em; text-transform:uppercase; }

.ad-embed .ad-billboard .copy h3 { font-family:var(--font-display); font-size:1.7rem; margin:8px 0 10px; line-height:1.15; }

.ad-embed .ad-billboard .copy p { color:var(--text-dim); font-size:.88rem; margin:0 0 18px; }

.ad-embed .ad-billboard .cta { background:var(--violet); color:#160f26; font-weight:700; padding:11px 24px; border-radius:999px; font-size:.85rem; }

.ad-embed .ad-billboard .art {
    position:relative; z-index:2; width:150px; height:150px; border-radius:16px; flex:none;
    background:url('https://images.pexels.com/photos/10676939/pexels-photo-10676939.jpeg?auto=compress&cs=tinysrgb&w=400') center/cover;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 14px 30px rgba(0,0,0,.4);
  }

  /* =========================================================
     7. HALF PAGE 300x600 — learning
  ========================================================== */
  .ad-embed .ad-halfpage { width:300px; height:600px; display:flex; flex-direction:column; }

.ad-embed .ad-learn { background:linear-gradient(180deg,#0d1a2e,#0a0c10 55%); padding:22px 20px; }

.ad-embed .ad-learn .eyebrow { font-family:var(--font-mono); font-size:.68rem; color:var(--blue); letter-spacing:.08em; text-transform:uppercase; }

.ad-embed .ad-learn h3 { font-family:var(--font-display); font-size:1.35rem; margin:12px 0 14px; line-height:1.2; }

.ad-embed .ad-learn .art {
    height:190px; border-radius:12px; margin-bottom:18px;
    background:linear-gradient(0deg, rgba(13,26,46,.75), rgba(13,26,46,.15)), url('https://images.pexels.com/photos/5306449/pexels-photo-5306449.jpeg?auto=compress&cs=tinysrgb&w=600') center/cover;
    position:relative; overflow:hidden;
  }

.ad-embed .ad-learn .art .bar { position:absolute; left:16px; right:16px; height:6px; border-radius:3px; background:rgba(96,165,250,.35); }

.ad-embed .ad-learn .art .bar:nth-child(1) { top:30px; }

.ad-embed .ad-learn .art .bar:nth-child(2) { top:48px; width:60%; }

.ad-embed .ad-learn .art .bar:nth-child(3) { top:66px; width:80%; }

.ad-embed .ad-learn ul { list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:9px; }

.ad-embed .ad-learn li { font-size:.82rem; color:var(--text-dim); display:flex; gap:8px; align-items:flex-start; }

.ad-embed .ad-learn li::before { content:"→"; color:var(--blue); flex:none; }

.ad-embed .ad-learn .cta { display:block; text-align:center; background:var(--blue); color:#0a0c10; font-weight:700; font-size:.86rem; padding:12px 0; border-radius:8px; }

  /* =========================================================
     8. SKYSCRAPER 160x600 — cloud storage
  ========================================================== */
  .ad-embed .ad-sky { width:100%; height:auto; min-height:250px; }

.ad-embed .ad-cloud {
    background:linear-gradient(180deg,#101820,#0a0c10 60%);
    padding:20px 14px; display:flex; flex-direction:column; align-items:center; text-align:center;
  }

.ad-embed .ad-cloud .glyph { width:56px; height:56px; border-radius:14px; background:var(--panel-2); border:1px solid var(--teal); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }

.ad-embed .ad-cloud h4 { font-family:var(--font-display); font-size:.95rem; margin:0 0 10px; line-height:1.3; }

.ad-embed .ad-cloud p { font-size:.72rem; color:var(--text-dim); margin:0 0 20px; line-height:1.4; }

.ad-embed .ad-cloud .stat { font-family:var(--font-mono); font-size:1.5rem; color:var(--teal); font-weight:600; }

.ad-embed .ad-cloud .stat-label { font-size:.66rem; color:var(--text-dim); margin-bottom:22px; }

.ad-embed .ad-cloud .cta { background:var(--teal); color:#04211c; font-weight:700; font-size:.74rem; padding:9px 0; width:100%; border-radius:7px; }

  /* =========================================================
     9. VIDEO AD UNIT
  ========================================================== */
  .ad-embed .ad-video { width:340px; }

.ad-embed .ad-video .frame {
    position:relative; height:200px; border-radius:var(--radius) var(--radius) 0 0; overflow:hidden;
    background:linear-gradient(0deg, rgba(10,12,16,.55), rgba(10,12,16,.05) 55%), url('https://images.pexels.com/photos/17323801/pexels-photo-17323801.jpeg?auto=compress&cs=tinysrgb&w=700') center/cover;
  }

.ad-embed .ad-video .skyline { position:absolute; inset:0; opacity:.5; }

.ad-embed .ad-video .playbtn {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.92);
    display:flex; align-items:center; justify-content:center; cursor:pointer;
  }

.ad-embed .ad-video .playbtn svg { margin-left:3px; }

.ad-embed .ad-video .title-row {
    position:absolute; top:0; left:0; right:0; padding:10px 12px; display:flex; align-items:center; gap:8px;
    background:linear-gradient(180deg, rgba(0,0,0,.55), transparent);
  }

.ad-embed .ad-video .title-row .dot { width:8px; height:8px; border-radius:50%; background:var(--teal); flex:none; }

.ad-embed .ad-video .title-row span { font-size:.74rem; font-weight:600; }

.ad-embed .ad-video .progress { position:absolute; left:0; right:0; bottom:0; height:3px; background:rgba(255,255,255,.15); }

.ad-embed .ad-video .progress i { display:block; width:34%; height:100%; background:var(--teal); }

.ad-embed .ad-video .meta {
    display:flex; align-items:center; gap:14px; padding:10px 14px; font-family:var(--font-mono);
    font-size:.7rem; color:var(--text-dim); border-top:1px solid var(--line);
  }

  /* =========================================================
     10. SERVICE STATUS WIDGET
  ========================================================== */
  .ad-embed .ad-widget { width:340px; padding:20px; }

.ad-embed .ad-widget h4 { font-family:var(--font-display); font-size:1.02rem; margin:0 0 3px; }

.ad-embed .ad-widget .sub { font-size:.78rem; color:var(--text-dim); margin:0 0 16px; }

.ad-embed .ad-widget .row {
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    background:var(--panel-2); border-radius:999px; padding:10px 16px; margin-bottom:10px;
  }

.ad-embed .ad-widget .row strong { font-size:.84rem; }

.ad-embed .ad-widget .status { display:flex; align-items:center; gap:8px; }

.ad-embed .ad-widget .status span { font-size:.68rem; color:var(--amber); }

.ad-embed .ad-widget .pulse { display:flex; align-items:flex-end; gap:1.5px; height:16px; }

.ad-embed .ad-widget .pulse i { width:2px; background:var(--amber); border-radius:1px; display:block; }

.ad-embed .ad-widget .foot { text-align:center; font-size:.72rem; color:var(--text-dim); margin-top:12px; }

.ad-embed .ad-widget .foot b { color:var(--rose); }

  /* =========================================================
     11. NATIVE IN-FEED CARD
  ========================================================== */
  .ad-embed .ad-native { width:300px; }

.ad-embed .ad-native .photo {
    height:160px; background:url('https://images.pexels.com/photos/259065/pexels-photo-259065.jpeg?auto=compress&cs=tinysrgb&w=600') center/cover;
  }

.ad-embed .ad-native .body { padding:14px 16px 16px; }

.ad-embed .ad-native .tag { font-family:var(--font-mono); font-size:.62rem; color:var(--amber); text-transform:uppercase; letter-spacing:.06em; }

.ad-embed .ad-native h5 { font-family:var(--font-display); font-size:.98rem; margin:8px 0 6px; line-height:1.3; }

.ad-embed .ad-native p { font-size:.78rem; color:var(--text-dim); margin:0; }

.ad-embed .ad-native .src { display:flex; align-items:center; gap:6px; margin-top:12px; font-size:.7rem; color:var(--text-dim); }

.ad-embed .ad-native .src i { width:16px; height:16px; border-radius:4px; background:var(--amber); display:block; }

  /* =========================================================
     12. FLASH SALE 300x250
  ========================================================== */
  .ad-embed .ad-flash { background:linear-gradient(160deg,#2a0f14,#0a0c10 70%); padding:20px; display:flex; flex-direction:column; align-items:center; text-align:center; }

.ad-embed .ad-flash .badge { font-family:var(--font-mono); font-size:.66rem; background:var(--rose); color:#2a0f14; padding:3px 10px; border-radius:999px; font-weight:700; letter-spacing:.04em; }

.ad-embed .ad-flash h3 { font-family:var(--font-display); font-size:1.3rem; margin:12px 0 4px; }

.ad-embed .ad-flash .pct { color:var(--rose); font-weight:700; }

.ad-embed .ad-flash .timer { display:flex; gap:8px; margin:14px 0; font-family:var(--font-mono); }

.ad-embed .ad-flash .timer div { background:var(--panel-2); border-radius:6px; padding:6px 9px; font-size:1rem; font-weight:600; min-width:34px; }

.ad-embed .ad-flash .timer span { display:block; font-size:.58rem; color:var(--text-dim); margin-top:2px; }

.ad-embed .ad-flash .cta { margin-top:auto; background:var(--rose); color:#2a0f14; font-weight:700; font-size:.82rem; padding:9px 26px; border-radius:999px; }

  /* =========================================================
     13. LEADERBOARD — insurance
  ========================================================== */
  .ad-embed .ad-insure {
    background:linear-gradient(90deg, rgba(96,165,250,.12), transparent 55%), var(--panel);
    justify-content:space-between;
  }

.ad-embed .ad-insure .copy strong,
.ad-embed .ad-insure .copy span { color:#fff; }
.ad-embed .ad-insure .cta { background:#000; color:#fff; font-weight:700; font-size:.8rem; padding:9px 20px; border-radius:8px; flex:none; }

  /* =========================================================
     14. LARGE RECTANGLE 336x280 — airline
  ========================================================== */
  .ad-embed .ad-large-rect { width:336px; height:280px; }

.ad-embed .ad-airline { background:linear-gradient(160deg,#0e2230,#0a0c10 70%); display:flex; flex-direction:column; }

.ad-embed .ad-airline .photo {
    height:150px; position:relative;
    background:linear-gradient(0deg, rgba(10,20,26,.65), rgba(10,20,26,.05) 55%), url('https://images.pexels.com/photos/1056528/pexels-photo-1056528.jpeg?auto=compress&cs=tinysrgb&w=600') center/cover;
  }

.ad-embed .ad-airline .photo .route { position:absolute; bottom:12px; left:16px; right:16px; display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.78rem; color:#cfe9f2; }

.ad-embed .ad-airline .photo .route .line { flex:1; height:1px; background:rgba(255,255,255,.35); position:relative; }

.ad-embed .ad-airline .body { padding:14px 16px; display:flex; flex-direction:column; flex:1; }

.ad-embed .ad-airline .price { font-family:var(--font-display); font-size:1.5rem; font-weight:700; color:var(--blue); }

.ad-embed .ad-airline .price span { font-size:.72rem; color:var(--text-dim); font-family:var(--font-body); font-weight:400; }

.ad-embed .ad-airline p { font-size:.78rem; color:var(--text-dim); margin:4px 0 auto; }

.ad-embed .ad-airline .cta { align-self:flex-start; background:transparent; border:1.5px solid var(--blue); color:var(--blue); font-weight:600; font-size:.78rem; padding:8px 18px; border-radius:999px; margin-top:10px; }

  /* =========================================================
     15. NEWSLETTER-STYLE AD
  ========================================================== */
  .ad-embed .ad-news { width:300px; height:250px; background:var(--panel-2); padding:22px; display:flex; flex-direction:column; align-items:center; text-align:center; justify-content:center; }

.ad-embed .ad-news .mark { font-family:var(--font-display); font-weight:700; font-size:1.1rem; margin-bottom:10px; letter-spacing:-.01em; }

.ad-embed .ad-news .mark span { color:var(--teal); }

.ad-embed .ad-news p { font-size:.8rem; color:var(--text-dim); margin:0 0 16px; }

.ad-embed .ad-news .field { display:flex; width:100%; border:1px solid var(--line); border-radius:8px; overflow:hidden; }

.ad-embed .ad-news .field input { flex:1; background:transparent; border:0; padding:9px 10px; color:var(--text); font-size:.76rem; }

.ad-embed .ad-news .field button { background:var(--teal); color:#04211c; border:0; font-weight:700; font-size:.76rem; padding:0 14px; }

  /* =========================================================
     16. COMPACT NATIVE TEXT LINK AD
  ========================================================== */
  .ad-embed .ad-textlink { width:100%; max-width:640px; padding:12px 16px; display:flex; align-items:center; gap:10px; }

.ad-embed .ad-textlink .dot { width:6px; height:6px; border-radius:50%; background:var(--teal); flex:none; }

.ad-embed .ad-textlink a { font-size:.86rem; color:var(--text); font-weight:600; }

.ad-embed .ad-textlink a:hover { color:var(--teal); }

.ad-embed .ad-textlink span { font-size:.76rem; color:var(--text-dim); margin-left:auto; flex:none; }

  /* =========================================================
     17. APP INSTALL AD
  ========================================================== */
  .ad-embed .ad-install { background:linear-gradient(160deg,#1a1420,#0a0c10 70%); padding:20px; display:flex; flex-direction:column; }

.ad-embed .ad-install .row { display:flex; gap:12px; align-items:center; }

.ad-embed .ad-install .icon { width:58px; height:58px; border-radius:10px; display:grid; place-items:center; flex:none; background:linear-gradient(145deg,#31a8ff,#001e36 72%); border:1px solid rgba(49,168,255,.85); box-shadow:0 8px 18px rgba(0,30,54,.45), 0 1px 0 rgba(255,255,255,.22) inset; }
.ad-embed .ad-install .icon::before { content:"Ps"; color:#d9f1ff; font-family:var(--font-display); font-size:1.65rem; font-weight:700; letter-spacing:-.08em; line-height:1; }

.ad-embed .ad-install h4 { font-family:var(--font-display); font-size:.98rem; margin:0 0 4px; }

.ad-embed .ad-install .stars { font-size:.72rem; color:var(--amber); font-family:var(--font-mono); }

.ad-embed .ad-install p { font-size:.78rem; color:var(--text-dim); margin:14px 0 auto; line-height:1.4; }

.ad-embed .ad-install .cta { background:var(--violet); color:#1a1420; font-weight:700; font-size:.82rem; padding:10px 0; border-radius:8px; text-align:center; margin-top:14px; }
