
/* Alan Bush 360 — Ecosystem Hub V2
   Premium advisor / protection-planning motion system
*/
:root{
  --ab360-navy:#071522;
  --ab360-navy-2:#0B1E31;
  --ab360-sapphire:#174A78;
  --ab360-blue:#2874A6;
  --ab360-teal:#2AA7A1;
  --ab360-gold:#D9B56E;
  --ab360-gold-2:#F0D18F;
  --ab360-ivory:#F7F2E8;
  --ab360-health:#3AB79A;
  --ab360-line:rgba(217,181,110,.24);
  --ab360-glow:0 0 0 5px rgba(217,181,110,.10),0 20px 50px rgba(7,21,34,.34);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 8% 3%,rgba(40,116,166,.13),transparent 28rem),
    radial-gradient(circle at 93% 16%,rgba(42,167,161,.08),transparent 32rem),
    radial-gradient(circle at 52% 92%,rgba(217,181,110,.06),transparent 30rem),
    #071019!important;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.26;
  background-image:
    linear-gradient(rgba(217,181,110,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(217,181,110,.045) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:linear-gradient(to bottom,black,transparent 76%);
}

/* Header/nav refinement */
.site-header{
  background:rgba(5,15,24,.86)!important;
  backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(217,181,110,.16)!important;
}
.site-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(217,181,110,.62),rgba(42,167,161,.34),transparent);
}
.nav-links a{position:relative}
.nav-links a:not(.nav-cta)::after{
  content:"";position:absolute;left:10px;right:10px;bottom:4px;height:1px;
  background:linear-gradient(90deg,var(--ab360-gold),var(--ab360-teal));
  transform:scaleX(0);transform-origin:center;transition:transform .25s ease;
}
.nav-links a:not(.nav-cta):hover::after{transform:scaleX(1)}

/* Hero command-center treatment */
.hero{
  position:relative;isolation:isolate;overflow:visible!important;
}
.hero::before{
  content:"";position:absolute;inset:-80px -10vw -90px;z-index:-2;pointer-events:none;
  background:
    radial-gradient(circle at 77% 32%,rgba(40,116,166,.18),transparent 26rem),
    radial-gradient(circle at 86% 58%,rgba(217,181,110,.11),transparent 20rem);
}
.hero-content{position:relative;z-index:3}
.hero h1{
  text-shadow:0 8px 34px rgba(0,0,0,.30);
}
.hero .eyebrow{
  display:inline-flex;align-items:center;gap:10px;
}
.hero .eyebrow::before{
  content:"";width:9px;height:9px;border-radius:50%;background:var(--ab360-gold);
  box-shadow:0 0 0 0 rgba(217,181,110,.5);animation:ab360Status 2.4s ease-out infinite;
}
@keyframes ab360Status{
  0%{box-shadow:0 0 0 0 rgba(217,181,110,.55)}
  70%{box-shadow:0 0 0 9px rgba(217,181,110,0)}
  100%{box-shadow:0 0 0 9px rgba(217,181,110,0)}
}

/* 360 Planning Wheel */
.ab360-wheel{
  min-height:430px;position:relative;border-radius:32px;padding:28px;overflow:hidden;
  background:
    radial-gradient(circle at center,rgba(40,116,166,.14),transparent 43%),
    linear-gradient(155deg,rgba(24,41,60,.95),rgba(8,17,28,.95));
  border:1px solid rgba(217,181,110,.30);
  box-shadow:0 28px 70px rgba(0,0,0,.38);
}
.ab360-wheel::before{
  content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent 0 42%,rgba(217,181,110,.10) 48%,transparent 54% 100%);
  animation:ab360Sweep 10s linear infinite;
}
@keyframes ab360Sweep{to{transform:rotate(360deg)}}
.ab360-orbit{
  width:230px;height:230px;border-radius:50%;position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);
  border:1px solid rgba(217,181,110,.42);
  box-shadow:0 0 0 44px rgba(40,116,166,.05),0 0 0 88px rgba(42,167,161,.035);
}
.ab360-orbit::before,.ab360-orbit::after{
  content:"";position:absolute;border-radius:50%;inset:28px;border:1px dashed rgba(42,167,161,.36);
  animation:ab360Spin 14s linear infinite;
}
.ab360-orbit::after{inset:70px;border-style:solid;border-color:rgba(217,181,110,.35);animation-direction:reverse;animation-duration:9s}
@keyframes ab360Spin{to{transform:rotate(360deg)}}
.ab360-wheel-center{
  position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);
  width:128px;height:128px;border-radius:50%;display:grid;place-items:center;text-align:center;
  background:linear-gradient(145deg,#183A59,#0A1828);border:1px solid rgba(217,181,110,.58);
  box-shadow:0 0 34px rgba(217,181,110,.16);
  font-weight:950;color:#fff;line-height:1.08;letter-spacing:.03em;
}
.ab360-wheel-center small{display:block;font-size:.66rem;color:var(--ab360-gold-2);letter-spacing:.12em;margin-top:4px}
.ab360-node{
  position:absolute;display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;
  color:#fff;font-size:.76rem;font-weight:900;letter-spacing:.01em;background:rgba(7,21,34,.86);
  border:1px solid rgba(217,181,110,.28);box-shadow:0 10px 30px rgba(0,0,0,.28);
  animation:ab360Float 4.4s ease-in-out infinite;
}
.ab360-node::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ab360-gold);box-shadow:0 0 12px var(--ab360-gold)}
.ab360-node.n1{left:10%;top:13%}.ab360-node.n2{right:9%;top:18%;animation-delay:.7s}
.ab360-node.n3{right:6%;bottom:19%;animation-delay:1.4s}.ab360-node.n4{left:8%;bottom:16%;animation-delay:2.1s}
.ab360-node.n5{left:39%;bottom:5%;animation-delay:2.8s}.ab360-node.n5::before{background:var(--ab360-teal);box-shadow:0 0 12px var(--ab360-teal)}
@keyframes ab360Float{50%{transform:translateY(-7px)}}
.ab360-wheel-note{
  position:absolute;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;gap:12px;
  color:rgba(255,255,255,.55);font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;font-weight:850;
}
.ab360-live{color:var(--ab360-gold-2)}
.ab360-live::before{content:"●";margin-right:7px;color:var(--ab360-teal)}

/* Primary CTA: visible double pulse rings */
.btn.primary,.nav-cta,.ab360-mobile-cta{
  position:relative!important;isolation:isolate!important;overflow:visible!important;
  box-shadow:var(--ab360-glow)!important;
  animation:ab360Breathe 2.8s ease-in-out infinite!important;
}
.btn.primary::before,.btn.primary::after,.nav-cta::before,.nav-cta::after,.ab360-mobile-cta::before,.ab360-mobile-cta::after{
  content:""!important;position:absolute!important;inset:-7px!important;border-radius:inherit!important;z-index:-1!important;pointer-events:none!important;
  border:3px solid rgba(240,209,143,.94)!important;opacity:0;animation:ab360Ring 2.8s ease-out infinite!important;
}
.btn.primary::after,.nav-cta::after,.ab360-mobile-cta::after{
  border-color:rgba(42,167,161,.86)!important;animation-delay:1.25s!important;
}
@keyframes ab360Ring{
  0%{transform:scale(.96);opacity:0}
  10%{opacity:.95}
  75%{transform:scale(1.25);opacity:0}
  100%{transform:scale(1.25);opacity:0}
}
@keyframes ab360Breathe{50%{filter:brightness(1.08)}}
.btn.primary:hover,.nav-cta:hover{transform:translateY(-3px) scale(1.025)!important}

/* Status rail */
.ab360-status-rail{
  display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;
}
.ab360-status{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;
  border:1px solid rgba(217,181,110,.24);background:rgba(8,19,31,.68);
  color:#F7E9CA;font-size:.78rem;font-weight:850;
}
.ab360-status::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--ab360-teal);
  box-shadow:0 0 12px rgba(42,167,161,.95);
}

/* Planning cards */
.plan-card,.route-step,.panel,.authority,.router-section,.consultation,.faq,.different-path,.disclosure{
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease!important;
}
.plan-card{position:relative;overflow:hidden!important}
.plan-card::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,transparent,var(--ab360-gold),var(--ab360-teal),transparent);
  transform:translateX(-100%);transition:transform .6s ease;
}
.plan-card:hover::before{transform:translateX(0)}
.plan-card:hover{
  transform:translateY(-7px)!important;border-color:rgba(217,181,110,.42)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.32)!important;
}
.plan-card a{position:relative}
.plan-card a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.plan-card:hover a::after{transform:scaleX(1)}
.plan-card.health-access-v2{
  border-color:rgba(42,167,161,.42)!important;
  background:
    radial-gradient(circle at 92% 12%,rgba(42,167,161,.16),transparent 12rem),
    linear-gradient(180deg,rgba(19,43,47,.96),rgba(10,24,31,.96))!important;
}
.plan-card.health-access-v2 .badge{border-color:rgba(42,167,161,.48)!important;color:#A8F0DF!important}
.plan-card.health-access-v2 a{color:#79E2CB!important}

/* Route flow */
.route-steps{position:relative}
.route-steps::before{
  content:"";position:absolute;top:36px;left:12%;right:12%;height:2px;z-index:0;
  background:linear-gradient(90deg,rgba(217,181,110,.08),var(--ab360-gold),var(--ab360-teal),rgba(217,181,110,.08));
  background-size:200% 100%;animation:ab360Flow 6s linear infinite;
}
@keyframes ab360Flow{to{background-position:-200% 0}}
.route-step{position:relative;z-index:1}
.step-num{
  box-shadow:0 0 0 0 rgba(217,181,110,.25);animation:ab360Step 3.6s ease-in-out infinite;
}
.route-step:nth-child(2) .step-num{animation-delay:.8s}.route-step:nth-child(3) .step-num{animation-delay:1.6s}
@keyframes ab360Step{50%{box-shadow:0 0 0 10px rgba(217,181,110,0)}}

/* Advisor authority */
.authority{position:relative;overflow:hidden}
.authority::after{
  content:"25+ YEARS";position:absolute;right:26px;top:22px;font-size:clamp(2.2rem,6vw,5.6rem);
  font-weight:950;letter-spacing:-.05em;color:rgba(217,181,110,.045);pointer-events:none;
}
.advisor-photo{
  position:relative!important;
  box-shadow:0 0 0 1px rgba(217,181,110,.35),0 24px 55px rgba(0,0,0,.34)!important;
}
.advisor-photo::after{
  content:"LICENSED SINCE 1999";position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);
  white-space:nowrap;padding:7px 10px;border-radius:999px;background:#0A1A29;border:1px solid rgba(217,181,110,.38);
  color:var(--ab360-gold-2);font-size:.65rem;font-weight:950;letter-spacing:.08em;
}

/* Ecosystem bridge */
.ab360-ecosystem{
  margin:70px clamp(20px,5vw,72px);padding:42px;border-radius:42px;
  background:
    radial-gradient(circle at 90% 10%,rgba(42,167,161,.12),transparent 25rem),
    linear-gradient(155deg,rgba(19,32,48,.95),rgba(8,18,29,.95));
  border:1px solid rgba(217,181,110,.22);box-shadow:0 25px 60px rgba(0,0,0,.26);
}
.ab360-ecosystem-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.ab360-ecosystem-map{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;
}
.ab360-ecosystem-card{
  padding:17px;border-radius:20px;border:1px solid rgba(217,181,110,.20);background:rgba(255,255,255,.035);
  text-decoration:none;color:#fff;transition:.25s ease;min-height:118px;
}
.ab360-ecosystem-card:hover{transform:translateY(-4px);border-color:rgba(42,167,161,.55);background:rgba(42,167,161,.07)}
.ab360-ecosystem-card span{display:block;color:var(--ab360-gold-2);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;margin-bottom:7px}
.ab360-ecosystem-card strong{display:block;font-size:1.05rem;margin-bottom:6px}
.ab360-ecosystem-card small{color:rgba(255,255,255,.62);line-height:1.45}
.ab360-ecosystem-card.health{border-color:rgba(42,167,161,.35)}
.ab360-ecosystem-card.health span{color:#8CE6D1}

/* Scroll reveal */
.ab360-reveal{opacity:0;transform:translateY(18px);transition:opacity .64s ease,transform .64s ease}
.ab360-reveal.is-visible{opacity:1;transform:none}

/* Mobile persistent CTA */
.ab360-mobile-cta{
  display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;
  padding:14px 17px;border-radius:999px;text-align:center;text-decoration:none;font-weight:950;color:#111;
  background:linear-gradient(135deg,var(--ab360-gold-2),var(--ab360-gold));
}
.ab360-mobile-cta small{font-size:.7rem;opacity:.68;margin-right:7px}
@media(max-width:900px){
  .ab360-ecosystem-grid{grid-template-columns:1fr}
  .route-steps::before{display:none}
}
@media(max-width:760px){
  body{padding-bottom:80px}
  .ab360-mobile-cta{display:block}
  .ab360-wheel{min-height:350px}
  .ab360-orbit{width:180px;height:180px}
  .ab360-wheel-center{width:108px;height:108px;font-size:.88rem}
  .ab360-node{font-size:.65rem;padding:7px 8px}
  .ab360-node.n1{left:4%;top:14%}.ab360-node.n2{right:3%;top:18%}.ab360-node.n3{right:3%;bottom:18%}.ab360-node.n4{left:3%;bottom:16%}.ab360-node.n5{left:34%;bottom:3%}
  .ab360-ecosystem-map{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .ab360-reveal{opacity:1!important;transform:none!important}
  .btn.primary::before,.btn.primary::after,.nav-cta::before,.nav-cta::after,.ab360-mobile-cta::before,.ab360-mobile-cta::after{display:none!important}
}


/* V2.1 contrast corrections
   - Planning intro and Connected Ecosystem live on dark surfaces.
   - Healthcare Solutions badge stays light, so its label must be dark.
*/
#planning .section-heading .section-kicker{
  color:var(--ab360-gold-2)!important;
}
#planning .section-heading h2{
  color:#FFFFFF!important;
}
#planning .section-heading > p:not(.section-kicker){
  color:rgba(238,246,249,.78)!important;
}

.ab360-ecosystem .section-kicker{
  color:var(--ab360-gold-2)!important;
}
.ab360-ecosystem h2{
  color:#FFFFFF!important;
}
.ab360-ecosystem p{
  color:rgba(238,246,249,.78)!important;
}
.ab360-ecosystem .license-chips span{
  color:#EAF7F4!important;
  border-color:rgba(42,167,161,.34)!important;
  background:rgba(42,167,161,.08)!important;
}

/* Health-access planning card: readable dark card copy + dark pill label. */
.plan-card.health-access-v2 h3{
  color:#FFFFFF!important;
}
.plan-card.health-access-v2 p{
  color:rgba(236,248,246,.78)!important;
}
.plan-card.health-access-v2 .badge{
  color:#07383B!important;
  background:#B9F3E6!important;
  border-color:rgba(42,167,161,.58)!important;
}
.plan-card.health-access-v2 a{
  color:#91EAD6!important;
}

/* V2.2 hero image + navigation/logo visibility upgrade */
.hero{
  background-image:
    linear-gradient(90deg, rgba(7,21,34,.84) 0%, rgba(7,21,34,.72) 33%, rgba(7,21,34,.34) 60%, rgba(7,21,34,.14) 100%),
    linear-gradient(180deg, rgba(7,21,34,.22) 0%, rgba(7,21,34,.08) 36%, rgba(7,21,34,.32) 100%),
    url("/assets/hero-legacy-planning-v2.png") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  min-height:760px;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 24% 34%, rgba(255,255,255,.08), transparent 26rem),
    linear-gradient(90deg, rgba(7,21,34,.18) 0%, rgba(7,21,34,.02) 44%, rgba(7,21,34,.18) 100%);
}

.hero-content{
  max-width:760px;
}
.hero .eyebrow{
  color:var(--ab360-gold-2) !important;
  text-shadow:0 8px 28px rgba(0,0,0,.28);
}
.hero h1{
  color:#FFFFFF !important;
  text-shadow:0 10px 36px rgba(0,0,0,.38);
}
.hero .hero-sub{
  color:rgba(243,247,250,.92) !important;
  text-shadow:0 8px 28px rgba(0,0,0,.22);
}
.hero .trust-row span{
  color:#F3F7FA !important;
  border-color:rgba(255,255,255,.16) !important;
  background:rgba(7,21,34,.44) !important;
  backdrop-filter:blur(10px);
}
.hero .btn.secondary{
  color:#FFFFFF !important;
  border-color:rgba(255,255,255,.26) !important;
  background:rgba(255,255,255,.08) !important;
  box-shadow:0 14px 30px rgba(7,21,34,.22) !important;
}
.hero .btn.secondary:hover{
  background:rgba(255,255,255,.14) !important;
}

.hero-card{
  position:relative;
  top:10px;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.28) !important;
}

/* More legible top nav on dark header */
.site-header nav,
.site-header #main-nav{
  color:rgba(247,242,232,.96) !important;
}
.site-header nav a,
.site-header #main-nav a{
  color:rgba(247,242,232,.96) !important;
  font-weight:900 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.18);
}
.site-header nav a:not(.nav-cta):hover,
.site-header #main-nav a:not(.nav-cta):hover{
  color:var(--ab360-gold-2) !important;
}
.site-header .nav-toggle{
  color:#F7F2E8 !important;
  border-color:rgba(217,181,110,.34) !important;
  background:rgba(255,255,255,.08) !important;
}

/* Brighten the brand mark/logo for dark backgrounds */
.site-header .logo-wrap img{
  filter:brightness(1.3) saturate(1.08) contrast(1.03) drop-shadow(0 10px 24px rgba(0,0,0,.20));
}
footer img{
  filter:brightness(1.12) saturate(1.04);
}

@media (max-width:980px){
  .hero{
    min-height:auto;
    background-position:center center !important;
  }
  .hero-card{
    top:0;
  }
}

@media (max-width:820px){
  .site-header nav,
  .site-header #main-nav{
    background:rgba(5,15,24,.96) !important;
    border-top:1px solid rgba(217,181,110,.20) !important;
  }
  .site-header nav a,
  .site-header #main-nav a{
    border-bottom-color:rgba(255,255,255,.08) !important;
  }
}


/* V2.3 — connected health-resource network band */
.ab360-network{
  margin:62px clamp(20px,5vw,72px) 32px;padding:22px;border-radius:28px;
  background:linear-gradient(145deg,rgba(10,27,42,.96),rgba(15,52,70,.94));
  border:1px solid rgba(217,181,110,.24);box-shadow:0 24px 58px rgba(0,0,0,.24);color:#fff;
}
.ab360-network .net-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.ab360-network .net-kicker{color:var(--ab360-gold-2);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:950}
.ab360-network .net-title{font-weight:950;color:#fff}
.ab360-network .net-note{font-size:.78rem;color:rgba(255,255,255,.58)}
.ab360-network .net-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ab360-network .net-links a{display:block;padding:13px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);text-decoration:none;color:#fff;transition:.22s ease}
.ab360-network .net-links a:hover{transform:translateY(-3px);border-color:rgba(42,167,161,.50);background:rgba(42,167,161,.07)}
.ab360-network .net-links strong{display:block;font-size:.83rem}.ab360-network .net-links small{display:block;margin-top:5px;color:rgba(255,255,255,.56);line-height:1.35}
@media(max-width:900px){.ab360-network .net-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ab360-network{margin-left:14px;margin-right:14px}.ab360-network .net-links{grid-template-columns:1fr}}
