:root{
  --cj-black:#060707;
  --cj-black-2:#0d0f0e;
  --cj-panel:rgba(255,255,255,.075);
  --cj-panel-strong:rgba(255,255,255,.11);
  --cj-line:rgba(255,255,255,.13);
  --cj-text:#ffffff;
  --cj-muted:rgba(255,255,255,.76);
  --cj-soft:rgba(255,255,255,.58);
  --cj-green:#2bbf6a;
  --cj-green-dark:#167d42;
  --cj-green-soft:#9de5b5;
  --cj-shadow:0 24px 80px rgba(0,0,0,.45);
  --cj-radius:30px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  min-height:100svh;
  color:var(--cj-text);
  font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:
    radial-gradient(circle at 18% 12%,rgba(43,191,106,.24),transparent 30%),
    radial-gradient(circle at 80% 16%,rgba(157,229,181,.12),transparent 24%),
    linear-gradient(180deg,#050605 0%,#101211 58%,#060707 100%);
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 82%);
}
body::after{
  content:"";
  position:fixed;
  width:360px;
  height:360px;
  right:-150px;
  bottom:-130px;
  border:1px solid rgba(157,229,181,.18);
  border-radius:999px;
  box-shadow:0 0 0 46px rgba(43,191,106,.045),0 0 0 92px rgba(43,191,106,.025);
  pointer-events:none;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.digicard-page{position:relative;}
.digicard-shell{
  width:min(480px,100%);
  min-height:auto;
  margin:0 auto;
  padding:1rem;
  position:relative;
  z-index:1;
}
.digicard-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--cj-radius);
  border:1px solid var(--cj-line);
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.055));
  box-shadow:var(--cj-shadow);
  backdrop-filter:blur(16px);
}
.digicard-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(135deg,rgba(43,191,106,.62),transparent 32%,rgba(157,229,181,.22) 58%,transparent 80%);
  opacity:.5;
  pointer-events:none;
}
.card-inner{position:relative;z-index:1;padding:1.2rem;}
.brand-strip{
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:.85rem;
  border-radius:22px;
  background:rgba(0,0,0,.30);
  border:1px solid rgba(255,255,255,.10);
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.brand-strip:hover,
.brand-strip:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(157,229,181,.42);
  background:rgba(0,0,0,.42);
  outline:none;
}
.brand-logo{
  width:62px;
  height:62px;
  border-radius:18px;
  object-fit:contain;
  background:#020302;
  padding:.25rem;
}
.brand-eyebrow{
  margin:0 0 .18rem;
  color:var(--cj-green-soft);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.brand-name{margin:0;font-family:'Montserrat',sans-serif;font-weight:900;font-size:1rem;line-height:1.12;}
.brand-service{margin:.22rem 0 0;color:var(--cj-soft);font-size:.82rem;}
.profile-block{text-align:center;padding:1.65rem .55rem 1.05rem;}
.profile-photo{
  width:128px;
  height:128px;
  margin:0 auto 1rem;
  border-radius:999px;
  object-fit:cover;
  background:#050605;
  border:4px solid rgba(157,229,181,.38);
  box-shadow:0 16px 38px rgba(0,0,0,.42),0 0 0 9px rgba(43,191,106,.08);
}
.profile-name{margin:0;font-family:'Montserrat',sans-serif;font-size:clamp(2rem,10vw,3rem);line-height:.98;letter-spacing:-.045em;}
.profile-title{margin:.55rem 0 0;color:var(--cj-green-soft);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;}
.profile-location{margin:.5rem auto 0;max-width:300px;color:var(--cj-muted);font-size:.94rem;line-height:1.5;}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.9rem;}
.action-grid.three{grid-template-columns:1fr 1fr 1fr;}
.action-btn{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.7rem .85rem;
  border-radius:17px;
  font-weight:900;
  text-align:center;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  transition:transform .16s ease,filter .16s ease,border-color .16s ease,background .16s ease;
}
.action-btn:hover,
.action-btn:focus-visible,
.action-btn:active,
.action-btn.is-selected{
  transform:translateY(-1px);
  border-color:rgba(157,229,181,.42);
  background:linear-gradient(135deg,var(--cj-green),var(--cj-green-dark));
  color:#fff;
}
.action-primary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);}
.action-wide{grid-column:1 / -1;}
.section-panel{
  margin-top:.85rem;
  padding:1rem;
  border-radius:22px;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.10);
}
.section-panel h2{
  margin:0 0 .65rem;
  font-family:'Montserrat',sans-serif;
  font-size:1.05rem;
}
.section-panel p{margin:0;color:var(--cj-muted);line-height:1.72;font-size:.95rem;}
.contact-list{display:grid;gap:.55rem;margin-top:.9rem;}
.contact-line{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  padding:.74rem .8rem;
  border-radius:16px;
  background:rgba(255,255,255,.055);
  color:var(--cj-muted);
  overflow-wrap:anywhere;
}
.contact-line strong{display:block;color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;}
.division-list{display:grid;gap:.65rem;margin-top:.8rem;}
.division-link{
  display:grid;
  grid-template-columns:54px 1fr auto;
  align-items:center;
  gap:.8rem;
  padding:.62rem .7rem;
  min-height:70px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
}
.division-link:hover{border-color:rgba(157,229,181,.35);background:rgba(43,191,106,.10);}
.division-logo{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:14px;
  background:#020302;
}
.division-link strong{display:block;font-family:'Montserrat',sans-serif;font-size:.96rem;}
.division-link span{display:block;margin-top:.12rem;color:var(--cj-soft);font-size:.78rem;line-height:1.3;}
.arrow{color:var(--cj-green-soft);font-weight:900;}
.quote-card{
  margin-top:.85rem;
  padding:1.05rem;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(43,191,106,.22),rgba(43,191,106,.08));
  border:1px solid rgba(157,229,181,.22);
  text-align:center;
}
.quote-card h2{margin:0;font-family:'Montserrat',sans-serif;font-size:1.25rem;}
.quote-card p{margin:.45rem 0 .85rem;color:var(--cj-muted);line-height:1.55;}
.footer-brand{text-align:center;margin:1rem 0 0;color:var(--cj-soft);font-size:.8rem;}
.footer-brand a{color:var(--cj-green-soft);font-weight:900;}
.bottom-nav{
  position:fixed;
  left:50%;
  bottom:.85rem;
  transform:translateX(-50%);
  width:min(448px,calc(100% - 1.4rem));
  z-index:10;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.45rem;
  padding:.45rem;
  border-radius:20px;
  background:rgba(8,9,9,.82);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 46px rgba(0,0,0,.44);
  backdrop-filter:blur(16px);
}
.bottom-nav a{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.12rem;
  min-height:54px;
  border-radius:15px;
  color:rgba(255,255,255,.78);
  font-size:.7rem;
  font-weight:900;
}
.bottom-nav a:hover,.bottom-nav a.primary-nav{background:rgba(43,191,106,.15);color:#fff;}
.nav-icon{font-size:1.05rem;line-height:1;}
@media(max-width:430px){
  .digicard-shell{padding:.65rem;}
  .card-inner{padding:.85rem;}
  .brand-strip{padding:.7rem;border-radius:18px;}
  .brand-logo{width:54px;height:54px;border-radius:15px;}
  .profile-photo{width:112px;height:112px;}
  .action-grid.three{grid-template-columns:1fr;}
  .action-grid.three .action-wide{grid-column:auto;}
  .division-link{grid-template-columns:48px 1fr auto;}
  .division-logo{width:48px;height:48px;}
}
@media(min-width:860px){
  .digicard-shell{width:min(1040px,100%);display:grid;align-items:center;padding:2rem 1.2rem;}
  .digicard-card{display:grid;grid-template-columns:.9fr 1.1fr;}
  .card-inner{padding:1.25rem;}
  .desktop-left{display:flex;flex-direction:column;justify-content:space-between;min-height:720px;border-right:1px solid rgba(255,255,255,.10);}
  .desktop-right{padding:1.25rem;}
  .profile-block{padding:2rem .7rem 1.2rem;}
  .bottom-nav{width:74px;left:1rem;transform:none;grid-template-columns:1fr;bottom:1rem;}
}


/* DigiCard cleanup patch: prevents unused blank space below the card when no fixed bottom nav is present. */
.digicard-page{
  min-height:auto;
}
.digicard-card{
  margin-bottom:0;
}
.card-inner:last-child,
.footer-brand:last-child{
  margin-bottom:0;
}

/* Premium neutral CTA/contact button patch */
.action-btn,
.action-primary{
  background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.045));
  border-color:rgba(255,255,255,.14);
  color:#fff;
  box-shadow:0 14px 32px rgba(0,0,0,.24);
  filter:none;
}
.action-btn .btn-icon{
  width:1.12rem;
  height:1.12rem;
  flex:0 0 auto;
  fill:currentColor;
  opacity:.94;
}
.action-btn:hover,
.action-btn:focus-visible,
.action-btn:active,
.action-btn.is-selected{
  transform:translateY(-2px);
  background:linear-gradient(135deg,var(--cj-green),var(--cj-green-dark));
  border-color:rgba(157,229,181,.62);
  color:#fff;
  box-shadow:0 16px 34px rgba(0,0,0,.26),0 0 22px rgba(43,191,106,.30);
  outline:none;
}
.contact-line{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.04));
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;
}
.contact-line .contact-icon{
  width:1.18rem;
  min-width:1.18rem;
  color:rgba(255,255,255,.92);
  margin-top:.12rem;
}
.contact-line .btn-icon{
  width:1.18rem;
  height:1.18rem;
  fill:currentColor;
}
.contact-line:hover,
.contact-line:focus-visible,
.contact-line:active{
  transform:translateY(-1px);
  background:linear-gradient(135deg,var(--cj-green),var(--cj-green-dark));
  border-color:rgba(157,229,181,.62);
  box-shadow:0 12px 26px rgba(0,0,0,.24),0 0 18px rgba(43,191,106,.24);
  color:#fff;
  outline:none;
}
.contact-line:hover strong,
.contact-line:focus-visible strong,
.contact-line:active strong,
.contact-line:hover span,
.contact-line:focus-visible span,
.contact-line:active span{
  color:#fff;
}
