/* ============================================================
   IVORY EDITORIAL LUXURY THEME — FPR Networks (2026-06-26)
   Loads after main.min.css. Overrides all previous themes.
   Palette: warm ivory background, charcoal headlines (Fraunces serif),
   warm gray body text, cyan accent, hairline dividers.
   Feel: Hermes / Aesop / Bloomberg long-read editorial.
   ============================================================ */

:root{
  --iv-bg:#f7f3ec;
  --iv-surface:#ffffff;
  --iv-surface-2:#fbf7f0;
  --iv-ink:#1a1a1a;
  --iv-ink-soft:#2a2a28;
  --iv-body:#4a4a44;
  --iv-muted:#6b6a64;
  --iv-faint:#8e8c85;
  --iv-line:#e2dcd0;
  --iv-line-soft:#ede7db;
  --iv-cyan:#0099d4;
  --iv-cyan-deep:#006d99;
  --iv-cyan-soft:#e7f4fb;
  --font-head:'Fraunces','Editorial New','Cormorant Garamond',Georgia,serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
}

/* ---------- Base ---------- */
html,body{background:var(--iv-bg) !important;color:var(--iv-body) !important}
body{background:
  radial-gradient(1100px 540px at 80% -8%, rgba(0,153,212,0.04), transparent 60%),
  radial-gradient(900px 480px at 8% 18%, rgba(180,150,90,0.05), transparent 55%),
  var(--iv-bg) !important;
  font-family:var(--font-body) !important;font-weight:400;line-height:1.7}
.cosmic-bg{display:none !important}
.grid-overlay{display:none !important}

h1,h2,h3,h4,.hero-headline,.section-header h2{font-family:var(--font-head) !important;
  color:var(--iv-ink) !important;letter-spacing:-0.02em !important;font-style:normal !important;
  font-weight:600 !important;text-shadow:none !important}
h1{font-size:clamp(2.4rem,5vw,4rem) !important;line-height:1.05}
h2{font-size:clamp(1.8rem,3.5vw,2.8rem) !important;line-height:1.1}
h3{font-size:clamp(1.3rem,2.2vw,1.6rem) !important;line-height:1.2}
p{color:var(--iv-body)}

html body .gradient-text,.gradient-text,h1 .gradient-text,h2 .gradient-text,
.hero-headline .gradient-text,.hero .hero-headline .gradient-text{
  background:linear-gradient(120deg,var(--iv-cyan),var(--iv-cyan-deep)) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;font-style:italic !important;
  filter:none !important;font-weight:500 !important}

/* ---------- Header ---------- */
.site-header{background:rgba(247,243,236,0.88) !important;backdrop-filter:blur(18px) saturate(140%) !important;
  border-bottom:1px solid var(--iv-line) !important;box-shadow:none !important}
.site-header .logo::before{background:none !important;-webkit-text-fill-color:var(--iv-ink) !important;color:var(--iv-ink) !important}
.site-header .logo::after{color:var(--iv-cyan) !important}
.site-header .logo .header-location{background:var(--iv-cyan-soft) !important;border:1px solid rgba(0,153,212,0.18) !important;
  color:var(--iv-cyan-deep) !important;box-shadow:none !important}
.site-header .logo img[src$="fpr-seo-logo.svg"]{background:transparent !important;box-shadow:none !important;filter:none !important}
.nav-links a{color:var(--iv-ink-soft) !important;font-weight:500}
.nav-links a:hover{color:var(--iv-cyan-deep) !important;background:transparent !important}
.nav-links .dropdown,.has-sub .dropdown{background:var(--iv-surface) !important;border:1px solid var(--iv-line) !important;
  box-shadow:0 18px 50px rgba(40,30,15,0.10) !important}
.has-sub .dropdown a{color:var(--iv-ink-soft) !important}
.has-sub .dropdown a:hover{color:var(--iv-cyan-deep) !important;background:var(--iv-surface-2) !important}
.burger span{background:var(--iv-ink) !important}

/* Nav "Get Started" button — smaller, deep cyan brand CTA (not heavy black) */
.site-header .nav-links .btn,.site-header .nav-links .btn-primary{
  display:inline-flex !important;align-items:center !important;
  padding:10px 22px !important;font-size:0.88rem !important;font-weight:500 !important;
  letter-spacing:0.02em !important;border-radius:4px !important;
  background:var(--iv-cyan-deep) !important;color:#ffffff !important;
  border:1px solid var(--iv-cyan-deep) !important;box-shadow:none !important;
  transition:all .2s ease !important;text-decoration:none !important}
.site-header .nav-links .btn-primary:hover{
  background:var(--iv-ink) !important;border-color:var(--iv-ink) !important;
  color:#ffffff !important;transform:translateY(-1px) !important;
  box-shadow:0 6px 18px rgba(26,26,26,0.18) !important}

/* ---------- Buttons ---------- */
.btn{border-radius:4px !important;font-family:var(--font-body) !important;font-weight:500 !important;
  letter-spacing:0.01em !important;text-transform:none !important}
.btn-primary{background:var(--iv-ink) !important;color:#fff !important;border:1px solid var(--iv-ink) !important;
  box-shadow:none !important;transition:all .25s ease !important}
.btn-primary:hover{background:var(--iv-cyan-deep) !important;border-color:var(--iv-cyan-deep) !important;
  box-shadow:0 8px 24px rgba(0,109,153,0.18) !important;transform:translateY(-1px) !important;color:#fff !important}
.btn-primary::before{display:none !important}
.btn-ghost{background:transparent !important;color:var(--iv-ink) !important;
  border:1px solid var(--iv-ink) !important;box-shadow:none !important}
.btn-ghost:hover{border-color:var(--iv-cyan-deep) !important;color:var(--iv-cyan-deep) !important;
  background:transparent !important;box-shadow:none !important}

/* ---------- Hero ---------- */
.hero,.hero.hero-galaxy{background:
  linear-gradient(180deg,rgba(247,243,236,0.55) 0%,rgba(247,243,236,0.85) 70%,var(--iv-bg) 100%),
  url('/uploads/hero-dark-bg.jpg?v=2') center/cover no-repeat,
  var(--iv-bg) !important;min-height:88vh}
.hero-video-overlay{background:linear-gradient(180deg,rgba(247,243,236,0.45) 0%,rgba(247,243,236,0.82) 70%,var(--iv-bg) 100%) !important}
.hero-headline,.hero .hero-headline,.hero.hero-galaxy .hero-headline{color:var(--iv-ink) !important;
  font-family:var(--font-head) !important;font-weight:600 !important;text-shadow:none !important;
  font-size:clamp(2.6rem,5.4vw,4.6rem) !important;line-height:1.06 !important;letter-spacing:-0.025em !important;animation:none !important}
.hero-sub,.hero .hero-sub{color:var(--iv-body) !important;font-size:1.14rem !important;font-weight:400 !important;
  text-shadow:none !important;max-width:560px;line-height:1.7}
.eyebrow,.hero .eyebrow{background:transparent !important;border:0 !important;padding:0 0 0 18px !important;
  color:var(--iv-cyan-deep) !important;font-family:var(--font-mono) !important;
  font-size:0.72rem !important;letter-spacing:0.3em !important;font-weight:500 !important;
  text-transform:uppercase !important;text-shadow:none !important;box-shadow:none !important;position:relative !important}
.eyebrow::before{content:'' !important;position:absolute !important;left:0 !important;top:50% !important;
  width:10px !important;height:1px !important;background:var(--iv-cyan) !important;transform:translateY(-50%) !important;
  border-radius:0 !important;animation:none !important;box-shadow:none !important}

/* Hide legacy sci-fi chrome */
.hud-frame,.hud-telemetry,.scan-line,.hyperspace,.hyperspace::before,.hyperspace::after,
.hero-rocket-launch,.texas-star,.hologram-overlay,.globe-stage::after{display:none !important}
#globe-canvas{filter:drop-shadow(0 8px 40px rgba(0,153,212,0.18)) !important;opacity:0.85}

/* Hero stats — paper card */
.hero-stats,.loc-stats,.city-stats{background:var(--iv-surface) !important;backdrop-filter:none !important;
  border:1px solid var(--iv-line) !important;border-radius:6px !important;box-shadow:0 6px 24px rgba(40,30,15,0.06) !important}
.stat-num{font-family:var(--font-head) !important;font-weight:600 !important;background:none !important;
  -webkit-text-fill-color:var(--iv-ink) !important;color:var(--iv-ink) !important;filter:none !important}
.stat-label{color:var(--iv-muted) !important;font-weight:500 !important;text-transform:uppercase;
  letter-spacing:0.12em;font-size:0.74rem !important;text-shadow:none !important;font-family:var(--font-mono)}

/* ---------- Locations dropdown ---------- */
.locations-dropdown{background:var(--iv-surface) !important;border:1px solid var(--iv-line) !important;
  border-radius:6px !important;box-shadow:0 8px 28px rgba(40,30,15,0.08) !important}
.locations-dropdown[open]{box-shadow:0 14px 44px rgba(40,30,15,0.10) !important}
.locations-dropdown summary{background:var(--iv-surface) !important}
.locations-dropdown summary:hover{background:var(--iv-surface-2) !important}
.ld-eyebrow{color:var(--iv-cyan-deep) !important;font-family:var(--font-mono) !important;letter-spacing:0.22em}
.ld-title{color:var(--iv-ink) !important;font-family:var(--font-head) !important}
.ld-title .gradient-text{background:linear-gradient(120deg,var(--iv-cyan),var(--iv-cyan-deep)) !important;
  -webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important}
.ld-hint{color:var(--iv-muted) !important}
.ld-arrow{color:var(--iv-cyan) !important}
.ld-content{border-top:1px solid var(--iv-line) !important}
.ld-cities a{background:var(--iv-surface-2) !important;border:1px solid var(--iv-line) !important;
  border-radius:4px !important;color:var(--iv-ink-soft) !important}
.ld-cities a::before{background:var(--iv-cyan) !important;box-shadow:none !important}
.ld-cities a:hover{background:var(--iv-cyan-soft) !important;color:var(--iv-cyan-deep) !important;
  border-color:rgba(0,153,212,0.25) !important;box-shadow:0 4px 14px rgba(0,153,212,0.08) !important}
.ld-footer a{color:var(--iv-cyan-deep) !important;font-weight:500}
.ld-footer a:hover{color:var(--iv-cyan) !important}

/* ---------- Sections / cards ---------- */
.section{padding:110px 0 !important;background:transparent !important}
.section.office-bg{background:transparent !important}
.office-bg::before{background-image:none !important;background:transparent !important;filter:none !important}
.office-bg::after{background:transparent !important}
.section-header h2{font-size:clamp(2rem,4vw,3.1rem) !important;color:var(--iv-ink) !important}
.section-header p{color:var(--iv-body) !important;font-size:1.08rem;line-height:1.7;max-width:680px;margin:0 auto}

.card,.post-card,.price-card,.step,.contact-info li{background:var(--iv-surface) !important;
  border:1px solid var(--iv-line) !important;border-radius:6px !important;
  box-shadow:0 1px 0 rgba(40,30,15,0.02) !important;
  transition:all .3s ease !important}
.card:hover,.post-card:hover,.price-card:hover{border-color:rgba(0,153,212,0.30) !important;
  background:var(--iv-surface) !important;transform:translateY(-3px) !important;
  box-shadow:0 14px 40px rgba(40,30,15,0.10),0 0 0 1px rgba(0,153,212,0.08) !important}
.card h3,.step h4{color:var(--iv-ink) !important;font-family:var(--font-head) !important;font-weight:600}
.card p,.step p{color:var(--iv-body) !important;line-height:1.7}
.card-icon{background:var(--iv-cyan-soft) !important;border:1px solid rgba(0,153,212,0.18) !important;
  border-radius:4px !important}
.card-icon::after{display:none !important}
.card-link{color:var(--iv-cyan-deep) !important;font-weight:500}
.card-link:hover{color:var(--iv-cyan) !important}

.image-frame{border-radius:6px !important;border:1px solid var(--iv-line) !important;
  box-shadow:0 18px 50px rgba(40,30,15,0.10) !important;overflow:hidden}
.image-frame img{opacity:1;filter:none}
.post-card img,.article-body img{filter:none;border-radius:4px}

/* ---------- CTA banner ---------- */
.cta-banner{background:var(--iv-ink) !important;
  border:1px solid var(--iv-ink) !important;border-radius:8px !important;box-shadow:0 18px 50px rgba(40,30,15,0.16) !important}
.cta-banner::before,.cta-banner::after{display:none !important}
.cta-banner h2{color:#fff !important;font-family:var(--font-head) !important}
.cta-banner p{color:rgba(255,255,255,0.78) !important}
.cta-banner .btn-primary{background:var(--iv-cyan) !important;border-color:var(--iv-cyan) !important;color:#fff !important}
.cta-banner .btn-primary:hover{background:#fff !important;color:var(--iv-cyan-deep) !important;border-color:#fff !important}
.cta-banner .btn-ghost{color:#fff !important;border-color:rgba(255,255,255,0.45) !important}
.cta-banner .btn-ghost:hover{background:rgba(255,255,255,0.1) !important;border-color:#fff !important;color:#fff !important}

/* ---------- Footer (charcoal for contrast) ---------- */
.site-footer{background:#1c1815 !important;border-top:0 !important;
  color:rgba(255,255,255,0.66) !important;margin-top:80px !important;padding-top:80px !important}
.site-footer::before{display:none !important}
.site-footer h5{color:#fff !important;font-family:var(--font-mono) !important;font-weight:500}
.site-footer .footer-grid li a{color:rgba(255,255,255,0.58) !important}
.site-footer .footer-grid li a:hover{color:var(--iv-cyan) !important}
.site-footer .footer-brand p{color:rgba(255,255,255,0.58) !important}
.site-footer .footer-brand a[href^="tel"]{color:var(--iv-cyan) !important;font-weight:500}
.site-footer .logo::before{-webkit-text-fill-color:#fff !important;color:#fff !important;background:none !important}
.site-footer .logo::after{color:var(--iv-cyan) !important}
.site-footer .footer-bottom{color:rgba(255,255,255,0.42) !important;border-top:1px solid rgba(255,255,255,0.08) !important}
.site-footer img[src$="fpr-seo-logo.svg"],.site-footer img[src$="fpr-logo-2026.png"]{width:88px !important;height:88px !important;
  background:transparent;border-radius:0;padding:0;box-shadow:none;filter:brightness(0) invert(1)}

/* Footer layout organization */
.site-footer .footer-grid{display:grid !important;grid-template-columns:1.5fr 1fr 1.3fr 1fr !important;
  gap:56px !important;align-items:start !important}
.site-footer .footer-grid h5{font-size:0.72rem !important;letter-spacing:0.22em !important;
  text-transform:uppercase !important;margin-bottom:18px !important;color:#fff !important}
.site-footer .footer-grid ul{list-style:none !important;margin:0 !important;padding:0 !important}
.site-footer .footer-grid li{padding:5px 0 !important;line-height:1.5 !important}
.site-footer .footer-grid li a{font-size:0.92rem !important;text-decoration:none !important;
  transition:color .2s ease !important}
.site-footer .footer-grid > div:nth-child(3) ul{columns:2 !important;column-gap:28px !important}
.site-footer .footer-grid > div:nth-child(3) li{break-inside:avoid !important}
.site-footer .footer-brand{max-width:300px}
.site-footer .footer-brand p{font-size:0.92rem !important;line-height:1.6 !important}
.site-footer .footer-bottom{margin-top:56px !important;padding-top:24px !important;
  display:flex !important;justify-content:space-between !important;font-size:0.8rem !important}
@media (max-width:980px){.site-footer .footer-grid{grid-template-columns:1fr 1fr !important;gap:36px !important}}
@media (max-width:600px){.site-footer .footer-grid{grid-template-columns:1fr !important}
  .site-footer .footer-bottom{flex-direction:column;gap:6px}}

/* ---------- Cookie banner / misc ---------- */
.cookie-banner{background:var(--iv-surface) !important;border:1px solid var(--iv-line) !important;
  color:var(--iv-body) !important;box-shadow:0 18px 50px rgba(40,30,15,0.14) !important}
.cookie-banner a{color:var(--iv-cyan-deep) !important;font-weight:500}
.cb-accept{background:var(--iv-ink) !important;color:#fff !important;border:1px solid var(--iv-ink) !important}
.cb-decline{background:transparent !important;color:var(--iv-ink-soft) !important;
  border:1px solid var(--iv-line) !important}
.skip-link{background:var(--iv-ink) !important;color:#fff !important}

::selection{background:rgba(0,153,212,0.18);color:var(--iv-ink)}

/* ---------- Hero ranking dashboard ---------- */
.rank-dash{background:var(--iv-surface) !important;backdrop-filter:none;border:1px solid var(--iv-line);
  border-radius:8px;padding:22px 22px 18px;max-width:480px;margin:0 auto;
  box-shadow:0 18px 50px rgba(40,30,15,0.10),0 1px 0 rgba(40,30,15,0.04);
  font-family:var(--font-mono)}
.rd-head{display:flex;align-items:center;gap:7px;padding-bottom:14px;border-bottom:1px solid var(--iv-line)}
.rd-dot{width:9px;height:9px;border-radius:50%;background:rgba(40,30,15,0.15)}
.rd-dot:first-child{background:#e8584c}
.rd-dot:nth-child(2){background:#f0b830}
.rd-dot:nth-child(3){background:#27a55a}
.rd-title{margin-left:10px;font-size:0.66rem;letter-spacing:0.18em;color:var(--iv-muted);font-weight:500}
.rd-status{margin-left:auto;font-size:0.6rem;letter-spacing:0.12em;color:#27a55a;animation:rdPulse 2s ease-in-out infinite}
@keyframes rdPulse{0%,100%{opacity:1}50%{opacity:0.4}}
.rd-rows{padding:14px 0 6px}
.rd-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--iv-line-soft)}
.rd-row:last-child{border-bottom:0}
.rd-kw{font-size:0.78rem;color:var(--iv-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.rd-delta{font-size:0.68rem;color:#27a55a;font-weight:600;flex-shrink:0}
.rd-pos{font-size:0.92rem;color:var(--iv-cyan-deep);font-weight:600;flex-shrink:0;min-width:30px;text-align:right;
  text-shadow:none}
.rd-graph{width:100%;height:80px;display:block;margin:8px 0 4px}
.rd-foot{padding-top:12px;border-top:1px solid var(--iv-line);font-size:0.72rem;color:var(--iv-muted);
  display:flex;align-items:baseline;gap:8px}
.rd-big{font-family:var(--font-head);font-size:1.6rem;font-weight:600;color:var(--iv-ink)}
@media (max-width:720px){.rank-dash{max-width:100%;padding:16px 14px 14px}.rd-kw{font-size:0.7rem}}

/* ---------- Call pill (charcoal — high contrast, mobile-readable) ---------- */
.call-pill{display:inline-flex;align-items:center;gap:8px;background:#1a1a1a !important;color:#ffffff !important;
  font-weight:600;font-size:0.92rem;padding:9px 20px;border-radius:999px;text-decoration:none;margin-left:6px;white-space:nowrap;
  box-shadow:0 4px 14px rgba(26,26,26,0.22);transition:all .25s ease;letter-spacing:0.01em}
.call-pill:hover{transform:translateY(-1px);background:#006d99 !important;color:#fff !important;
  box-shadow:0 8px 24px rgba(0,109,153,0.32)}
.call-pill svg{flex-shrink:0}
@media (max-width:640px){.call-pill{font-size:0.88rem;padding:8px 16px;margin-left:0;margin-top:6px;display:inline-flex}}

/* ---------- Card icons ---------- */
.card-icon{display:flex;align-items:center;justify-content:center}
.card-icon svg{width:26px;height:26px;filter:none;color:var(--iv-cyan-deep)}

/* ---------- Article body & blog typography (editorial tightening) ---------- */
.article-body p,.post-content p{font-family:var(--font-body) !important;color:var(--iv-body) !important;
  font-size:1.06rem;line-height:1.85;max-width:680px;margin-left:auto;margin-right:auto}
.article-body h2,.post-content h2,.article-body h3,.post-content h3{font-family:var(--font-head) !important;
  color:var(--iv-ink) !important;max-width:680px;margin-left:auto;margin-right:auto}
.article-body blockquote,.post-content blockquote{border-left:2px solid var(--iv-cyan) !important;
  background:transparent !important;padding:6px 0 6px 28px !important;font-family:var(--font-head) !important;
  font-style:italic !important;color:var(--iv-ink) !important;font-size:1.32rem;line-height:1.5;
  max-width:680px;margin:32px auto}
.article-body a,.post-content a{color:var(--iv-cyan-deep) !important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-body a:hover,.post-content a:hover{color:var(--iv-cyan) !important}

/* Hairline between major sections — editorial signature */
.section + .section{border-top:1px solid var(--iv-line-soft) !important}

/* Region/hub-page accents */
.region-block h2{color:var(--iv-cyan-deep) !important}
.region-block h2::before{background:linear-gradient(180deg,var(--iv-cyan),var(--iv-cyan-deep)) !important}
.region-cities a{background:var(--iv-surface) !important;border:1px solid var(--iv-line) !important;color:var(--iv-ink) !important}
.region-cities a:hover{background:var(--iv-cyan-deep) !important;color:#fff !important;border-color:var(--iv-cyan-deep) !important;
  box-shadow:0 6px 14px rgba(0,109,153,0.18) !important}
.region-cities span.planned{background:var(--iv-surface-2) !important;border-color:var(--iv-line) !important;color:var(--iv-faint) !important}
.region-cities span.planned::before{background:var(--iv-line) !important}

/* Hub hero subtitle/lede tone */
.hub-hero h1{color:var(--iv-ink) !important}
.hub-hero p.lede{color:var(--iv-body) !important}
.see-more-block{background:linear-gradient(135deg,rgba(0,153,212,0.05),rgba(0,109,153,0.05)) !important;
  border:1px solid rgba(0,153,212,0.18) !important;border-radius:10px !important}
.see-more-block h3{color:var(--iv-ink) !important;font-family:var(--font-head) !important}
.see-more-block p{color:var(--iv-body) !important}
.cta-final{background:var(--iv-ink) !important;color:#fff !important;border-radius:12px !important}
.cta-final h2{color:#fff !important;font-family:var(--font-head) !important}
.cta-final p{color:rgba(255,255,255,0.74) !important}

/* Breadcrumbs */
.breadcrumbs{color:var(--iv-muted) !important;font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.06em}
.breadcrumbs a{color:var(--iv-cyan-deep) !important;text-decoration:none}
.breadcrumbs a:hover{color:var(--iv-cyan) !important}

/* Tables (within blog content) */
.article-body table,.post-content table{border-collapse:collapse;width:100%;max-width:680px;margin:24px auto;font-size:0.95rem}
.article-body th,.post-content th{background:var(--iv-surface-2);color:var(--iv-ink);font-weight:600;
  font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;
  padding:12px 14px;border-bottom:1px solid var(--iv-line);text-align:left}
.article-body td,.post-content td{padding:12px 14px;border-bottom:1px solid var(--iv-line-soft);color:var(--iv-body)}
