/*
Theme Name: SEOs.Vegas
Theme URI: https://seos.vegas/
Author: SEOs.Vegas
Description: A fast, responsive one-page WordPress theme for an SEO and AEO agency.
Version: 2.0.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: seos-vegas
*/

:root {
      --bg: #070913;
      --bg-soft: #0e1223;
      --card: rgba(20, 25, 47, 0.86);
      --text: #f7f8ff;
      --muted: #b8bfd6;
      --line: rgba(255,255,255,0.1);
      --primary: #8b5cf6;
      --primary-2: #4f46e5;
      --accent: #22d3ee;
      --success: #34d399;
      --shadow: 0 20px 60px rgba(0,0,0,.35);
      --radius: 24px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--text);
      background:
        radial-gradient(circle at 15% 10%, rgba(139,92,246,.22), transparent 30%),
        radial-gradient(circle at 85% 20%, rgba(34,211,238,.14), transparent 26%),
        linear-gradient(180deg, #070913 0%, #090c18 55%, #070913 100%);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }

    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }
    .container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }

    .nav-wrap {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(14px);
      background: rgba(7,9,19,.72);
      border-bottom: 1px solid rgba(255,255,255,.08);
    }

    nav {
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      font-weight: 800;
      letter-spacing: -.03em;
      font-size: 1.28rem;
    }

    .brand-mark {
      width: 42px;
      height: 42px;
      border-radius: 13px;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg, var(--primary), var(--accent));
      box-shadow: 0 12px 32px rgba(99,102,241,.35);
      font-size: 1rem;
      font-weight: 900;
    }

    .nav-links { display: flex; gap: 28px; align-items: center; }
    .nav-links a { color: var(--muted); font-size: .96rem; transition: .2s ease; }
    .nav-links a:hover { color: #fff; }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 50px;
      padding: 0 22px;
      border-radius: 999px;
      border: 1px solid transparent;
      font-weight: 800;
      cursor: pointer;
      transition: .2s ease;
      box-shadow: none;
    }

    .btn:hover { transform: translateY(-2px); }
    .btn-primary {
      color: #fff;
      background: linear-gradient(135deg, var(--primary), var(--primary-2));
      box-shadow: 0 14px 34px rgba(79,70,229,.35);
    }
    .btn-outline { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.03); }
    .btn-outline:hover { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.06); }

    .hero {
      position: relative;
      padding: 112px 0 92px;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.18fr .82fr;
      align-items: center;
      gap: 58px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 8px 13px;
      border-radius: 999px;
      color: #ddd9ff;
      border: 1px solid rgba(139,92,246,.35);
      background: rgba(139,92,246,.08);
      font-size: .86rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .eyebrow-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--success);
      box-shadow: 0 0 18px var(--success);
    }

    h1, h2, h3 { margin-top: 0; line-height: 1.1; letter-spacing: -.045em; }
    h1 { font-size: clamp(3.3rem, 7vw, 6.7rem); margin-bottom: 26px; }
    h2 { font-size: clamp(2.3rem, 5vw, 4.3rem); margin-bottom: 18px; }
    h3 { font-size: 1.45rem; margin-bottom: 12px; }

    .gradient-text {
      background: linear-gradient(90deg, #fff 0%, #b9a7ff 40%, #67e8f9 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    .hero p {
      max-width: 720px;
      color: var(--muted);
      font-size: 1.18rem;
      margin: 0 0 34px;
    }

    .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
    .phone-line { margin-top: 23px; color: var(--muted); font-size: .98rem; }
    .phone-line a { color: #fff; font-weight: 800; }

    .dashboard {
      position: relative;
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(23,29,55,.96), rgba(11,14,28,.96));
      border-radius: 30px;
      padding: 24px;
      box-shadow: var(--shadow);
      transform: rotate(1.8deg);
    }

    .dashboard::before {
      content: "";
      position: absolute;
      inset: -2px;
      z-index: -1;
      border-radius: 32px;
      background: linear-gradient(135deg, rgba(139,92,246,.55), rgba(34,211,238,.15), transparent 65%);
      filter: blur(12px);
    }

    .dash-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
    .dash-title { font-weight: 800; }
    .live-pill { color: #c9ffe7; background: rgba(52,211,153,.12); border: 1px solid rgba(52,211,153,.3); padding: 5px 9px; border-radius: 999px; font-size: .76rem; font-weight: 800; }

    .metric-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
    .metric {
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 18px;
      background: rgba(255,255,255,.03);
      padding: 18px;
    }
    .metric span { color: var(--muted); font-size: .83rem; }
    .metric strong { display: block; font-size: 1.8rem; margin-top: 4px; }
    .up { color: var(--success); font-size: .8rem; font-weight: 800; }

    .chart {
      height: 180px;
      margin-top: 16px;
      border-radius: 18px;
      border: 1px solid rgba(255,255,255,.08);
      background:
        linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(180deg, rgba(139,92,246,.08), transparent);
      background-size: 100% 36px, 52px 100%, auto;
      overflow: hidden;
      position: relative;
    }
    .chart svg { position: absolute; inset: 0; width: 100%; height: 100%; }

    section { padding: 94px 0; }
    .section-head { max-width: 760px; margin-bottom: 46px; }
    .section-head p { color: var(--muted); font-size: 1.08rem; margin-bottom: 0; }

    .logo-strip {
      padding: 26px 0;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      background: rgba(255,255,255,.02);
    }
    .logo-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; text-align: center; color: #cfd4e7; font-weight: 800; }

    .services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
    .card {
      border: 1px solid var(--line);
      background: var(--card);
      border-radius: var(--radius);
      padding: 30px;
      box-shadow: 0 14px 40px rgba(0,0,0,.18);
    }
    .icon {
      width: 52px;
      height: 52px;
      border-radius: 16px;
      display: grid;
      place-items: center;
      margin-bottom: 22px;
      background: linear-gradient(135deg, rgba(139,92,246,.25), rgba(34,211,238,.18));
      border: 1px solid rgba(139,92,246,.24);
      font-size: 1.35rem;
    }
    .card p { color: var(--muted); margin-bottom: 0; }

    .process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; counter-reset: step; }
    .step { position: relative; padding-top: 72px; }
    .step::before {
      counter-increment: step;
      content: "0" counter(step);
      position: absolute;
      top: 0;
      left: 0;
      font-size: 2.65rem;
      font-weight: 900;
      color: rgba(255,255,255,.12);
      letter-spacing: -.05em;
    }

    .pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; align-items: stretch; }
    .price-card { position: relative; display: flex; flex-direction: column; }
    .price-card.featured {
      border-color: rgba(139,92,246,.6);
      transform: translateY(-10px);
      background: linear-gradient(180deg, rgba(37,28,78,.95), rgba(14,18,35,.94));
      box-shadow: 0 24px 70px rgba(79,70,229,.25);
    }
    .popular {
      position: absolute;
      top: 18px;
      right: 18px;
      padding: 6px 10px;
      border-radius: 999px;
      color: #efeaff;
      background: rgba(139,92,246,.2);
      border: 1px solid rgba(139,92,246,.4);
      font-size: .74rem;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .08em;
    }
    .price { font-size: 2.8rem; font-weight: 900; letter-spacing: -.05em; margin: 16px 0 4px; }
    .price small { font-size: .95rem; color: var(--muted); font-weight: 700; letter-spacing: 0; }
    .price-note { color: var(--muted); font-size: .9rem; }
    .features { list-style: none; padding: 0; margin: 24px 0 30px; display: grid; gap: 13px; }
    .features li { color: #dfe3f2; position: relative; padding-left: 27px; }
    .features li::before { content: "✓"; position: absolute; left: 0; color: var(--success); font-weight: 900; }
    .price-card .btn { margin-top: auto; }

    .split {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 34px;
      align-items: center;
    }
    .quote-card blockquote { font-size: 1.45rem; line-height: 1.45; letter-spacing: -.02em; margin: 0 0 22px; }
    .quote-card cite { color: var(--muted); font-style: normal; }

    .faq { display: grid; gap: 14px; }
    details {
      border: 1px solid var(--line);
      background: rgba(255,255,255,.025);
      border-radius: 18px;
      padding: 20px 22px;
    }
    summary { cursor: pointer; font-weight: 800; list-style: none; }
    summary::-webkit-details-marker { display: none; }
    details p { color: var(--muted); margin: 14px 0 0; }

    .cta {
      padding: 48px;
      border: 1px solid rgba(139,92,246,.35);
      border-radius: 34px;
      background:
        radial-gradient(circle at 85% 10%, rgba(34,211,238,.16), transparent 30%),
        linear-gradient(135deg, rgba(79,70,229,.28), rgba(139,92,246,.12));
      box-shadow: var(--shadow);
      display: flex;
      justify-content: space-between;
      gap: 30px;
      align-items: center;
    }
    .cta h2 { font-size: clamp(2rem, 4vw, 3.4rem); margin-bottom: 12px; }
    .cta p { color: var(--muted); margin: 0; max-width: 680px; }
    .cta-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }

    footer { padding: 36px 0 48px; color: var(--muted); }
    .footer-row { display: flex; justify-content: space-between; gap: 24px; align-items: center; border-top: 1px solid var(--line); padding-top: 28px; }

    .mobile-call {
      display: none;
      position: fixed;
      left: 16px;
      right: 16px;
      bottom: 16px;
      z-index: 60;
    }
    .mobile-call .btn { width: 100%; }

    @media (max-width: 960px) {
      .hero-grid, .split { grid-template-columns: 1fr; }
      .dashboard { transform: none; max-width: 700px; }
      .services-grid, .pricing-grid { grid-template-columns: 1fr 1fr; }
      .process-grid { grid-template-columns: 1fr 1fr; }
      .logo-row { grid-template-columns: 1fr 1fr; }
      .price-card.featured { transform: none; }
      .cta { flex-direction: column; align-items: flex-start; }
      .cta-actions { justify-content: flex-start; }
    }

    @media (max-width: 700px) {
      .container { width: min(100% - 28px, 1160px); }
      nav { min-height: 0; padding: 12px 0 11px; flex-direction: column; gap: 10px; }
      .brand { width: 100%; justify-content: center; font-size: 1.1rem; }
      nav .brand-logo img, nav .brand-mark { width: 38px; height: 38px; border-radius: 11px; }
      .nav-links { width: 100%; justify-content: center; gap: clamp(10px, 4vw, 18px); }
      .nav-links a, .nav-links .menu-item a { display: inline-flex; font-size: .78rem; white-space: nowrap; }
      .nav-cta { min-height: 34px; padding: 0 12px; }
      .hero { padding: 70px 0 60px; }
      h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
      .services-grid, .pricing-grid, .process-grid, .metric-grid { grid-template-columns: 1fr; }
      .services-grid, .pricing-grid, .process-grid { gap: 18px; }
      .card { padding: 24px; }
      .step { padding-top: 68px; }
      .step::before { top: 4px; left: 24px; }
      .logo-row { grid-template-columns: 1fr 1fr; font-size: .88rem; }
      section { padding: 64px 0; }
      .cta { padding: 30px 24px; }
      .cta-actions { width: 100%; }
      .cta-actions .btn { width: 100%; }
      .footer-row { flex-direction: column; align-items: flex-start; }
      .mobile-call { display: block; }
      body { padding-bottom: 78px; }
    }

    @media (max-width: 380px) {
      .nav-links { gap: 9px; }
      .nav-links a, .nav-links .menu-item a { font-size: .72rem; }
      .nav-cta { padding: 0 9px; }
    }

/* WordPress integration */
body.admin-bar .nav-wrap { top: 32px; }
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{width:auto;height:auto;clip:auto;background:#fff;color:#111;padding:12px;z-index:1000}
.brand-logo, .brand-logo .custom-logo-link { display: flex; align-items: center; }
.brand-logo img { width: 42px; height: 42px; object-fit: contain; border-radius: 13px; }
@media (max-width: 782px) { body.admin-bar .nav-wrap { top: 46px; } }

/* Structured service and city templates */
.nav-links .menu-item{list-style:none}.nav-links .menu-item a{color:var(--muted)}.internal-hero,.archive-hero{padding:104px 0 78px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 20%,rgba(139,92,246,.18),transparent 30%)}.internal-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}.internal-hero h1,.archive-hero h1{font-size:clamp(3.2rem,6vw,5.7rem);margin:24px 0}.internal-hero p,.archive-hero p{color:var(--muted);font-size:1.15rem;max-width:720px}.internal-hero .btn{margin-top:12px}.internal-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow)}.city-dashboard{transform:rotate(1deg)}.internal-section{padding-top:64px}.internal-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.content-card{padding:42px}.entry-content{font-size:1.04rem}.entry-content h2,.entry-content h3{margin-top:1.7em}.entry-content p,.content-card>p{color:#d6daeb}.sticky-card{position:sticky;top:104px}.sticky-card h2{font-size:2rem;margin:18px 0}.related-links{display:grid;gap:4px}.related-links a{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-weight:700}.related-links span{color:var(--accent)}.local-callout{padding:54px 0 0}.local-callout .cta{padding:34px 40px}.local-callout .cta h2{margin:0;font-size:clamp(1.8rem,3.5vw,2.8rem)}.service-symbol{display:grid;place-items:center;min-height:360px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(34,211,238,.08));font-size:9rem;color:#c4b5fd;box-shadow:var(--shadow)}.deliverables{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.deliverables li{padding:14px 16px 14px 42px;border:1px solid var(--line);border-radius:14px;position:relative}.deliverables li:before{content:'✓';position:absolute;left:16px;color:var(--success);font-weight:900}.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.city-card{padding:24px}.city-card .eyebrow{margin:18px 0 15px}.city-card h2,.services-grid h2{font-size:1.7rem}.card-image{display:block;margin:-24px -24px 0}.card-image img{width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:24px 24px 0 0}.text-link{display:inline-block;margin-top:20px;color:#c4b5fd;font-weight:800}.archive-hero+.services-grid{padding-top:0}
@media(max-width:900px){.internal-hero-grid,.internal-layout{grid-template-columns:1fr}.sticky-card{position:static}.city-grid{grid-template-columns:1fr 1fr}.service-symbol{min-height:240px}.deliverables{grid-template-columns:1fr}}
@media(max-width:650px){.internal-hero,.archive-hero{padding:66px 0 52px}.internal-hero-grid{gap:38px}.internal-hero h1,.archive-hero h1{font-size:clamp(2.7rem,13vw,4.2rem);margin:20px 0}.internal-hero p,.archive-hero p{font-size:1.04rem}.city-grid{grid-template-columns:1fr}.content-card{padding:24px}.local-callout .cta{padding:26px 24px}.service-symbol{font-size:5rem;min-height:210px}.deliverables li{padding:13px 14px 13px 40px}}
