/* Hosting V5 page-specific styles (extracted from inline <style>) */
.v5-row { transition: background .2s cubic-bezier(.4,0,.2,1); }
  .v5-row:hover { background: rgba(255,255,255,.025); }
  /* CTA grain card — V6 on-brand teal duotone grain (from Frontpage Showcase) */
  .v5-cta-card { position: relative; border-radius: 24px; overflow: hidden;
    padding: 88px 48px;
    display: flex; flex-direction: column; gap: 40px; align-items: center; text-align: center;
    background: radial-gradient(120% 120% at 12% -10%, rgba(14,116,144,.85) 0%, rgba(15,58,71,.85) 42%, rgba(11,14,17,.95) 92%), #0B0D0F; }
  .v5-cta-card::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: radial-gradient(60% 50% at 88% 8%, rgba(147,227,241,.22) 0%, transparent 70%); }
  .v5-cta-grain { position: absolute; inset: 0; pointer-events: none; z-index: 1;
    background: url("../textures/noise.png") 0 0 / 256px 256px repeat; image-rendering: pixelated; }
  .v5-cta-card > *:not(.v5-cta-grain) { position: relative; z-index: 2; }
  .v5-cta-card .hv-lead { color: rgba(255,255,255,.88); }
  /* single pill CTA */
  .v5-cta-pill, .hv-page a.v5-cta-pill { position: relative; display: inline-flex; align-items: center; height: 48px;
    background: #fff; color: #18181b; border-radius: 9999px; overflow: hidden;
    padding: 4px 56px 4px 24px; font-size: 18px; font-weight: 500; letter-spacing: -.025em;
    cursor: pointer; transition: padding .5s cubic-bezier(.4,0,.2,1); }
  .v5-cta-pill:hover, .hv-page a.v5-cta-pill:hover { padding: 4px 24px 4px 56px; }
  .v5-pill-ic { position: absolute; right: 4px; width: 40px; height: 40px; border-radius: 9999px; background: #18181b; color: #fff;
    display: flex; align-items: center; justify-content: center;
    transition: right .5s cubic-bezier(.4,0,.2,1), transform .5s cubic-bezier(.4,0,.2,1); }
  .v5-pill-ic svg { fill: currentColor; }
  .v5-cta-pill:hover .v5-pill-ic { right: calc(100% - 44px); transform: rotate(45deg); }
  /* flag chips — global locations */
  .v5-flag-grid { display: flex; flex-wrap: wrap; gap: 10px; }
  .v5-flag-chip { display: inline-flex; align-items: center; gap: 10px;
    background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
    border-radius: 6px; padding: 10px 16px; font-size: 15px; color: var(--fg-4);
    letter-spacing: -.025em; }
  .v5-flag-chip.ghost { background: none; border-style: dashed; color: var(--fg-2); }
  .v5-flag { display: flex; width: 24px; height: 16px; border-radius: 3px; overflow: hidden;
    outline: 1px solid rgba(255,255,255,.12); outline-offset: -1px; flex-shrink: 0; }
  .v5-flag svg { width: 100%; height: 100%; display: block; }
  .v5-cdn-note { display: flex; align-items: center; gap: 16px; }
  .v5-cdn-plus { font-family: var(--mono); font-size: 18px; color: var(--fg-2); line-height: 1; }