:root{
  --brand-navy:#061A40;
  --brand-blue:#0B5ED7;
  --brand-cobalt:#1273EA;
  --brand-teal:#009D98;
  --brand-green:#18C98B;
  --brand-ice:#EEF7FA;
  --brand-surface:#F7FAFC;
  --brand-ink:#07152E;
  --brand-muted:#5E6C80;
  --brand-line:rgba(6,26,64,.13);
}

body{
  color:var(--brand-ink);
  background:linear-gradient(180deg,#F9FBFD 0%,#F4F8FA 100%);
}

.site-header{
  background:rgba(4,19,48,.96);
  border-bottom:1px solid rgba(30,202,165,.18);
  box-shadow:0 8px 30px rgba(3,18,45,.12);
}

.brand-mark{
  border-radius:14px;
  background:linear-gradient(135deg,var(--brand-blue) 0%,var(--brand-cobalt) 38%,var(--brand-teal) 72%,var(--brand-green) 100%);
  color:#fff;
  box-shadow:0 8px 22px rgba(10,101,211,.28);
}

.brand-copy strong{color:#fff}
.brand-copy small{color:#71E0CE;opacity:1}
.nav-cta{border-color:rgba(73,218,191,.42)}
.nav-cta:hover{background:rgba(0,157,152,.14)}

.hero,.contact-hero{
  background:
    radial-gradient(circle at 78% 18%,rgba(0,157,152,.24),transparent 34%),
    radial-gradient(circle at 14% 82%,rgba(18,115,234,.20),transparent 34%),
    linear-gradient(135deg,#04132F 0%,#08275A 55%,#064C61 100%);
}

.grid-field{
  opacity:.16;
  background-image:
    linear-gradient(rgba(61,217,198,.24) 1px,transparent 1px),
    linear-gradient(90deg,rgba(52,133,233,.20) 1px,transparent 1px);
}

.hero .typewriter-target{
  position:relative;
}
.hero .typewriter-target.is-typing::after{
  content:"";
  display:inline-block;
  width:.075em;
  height:.88em;
  margin-left:.08em;
  background:#4DE0BE;
  vertical-align:-.04em;
  box-shadow:0 0 10px rgba(77,224,190,.28);
  animation:typewriter-cursor .72s steps(1,end) infinite;
}
.hero .eyebrow.typewriter-target.is-typing::after{
  width:2px;
  height:1.05em;
  margin-left:6px;
  vertical-align:-.14em;
}
@keyframes typewriter-cursor{0%,48%{opacity:1}49%,100%{opacity:0}}

.eyebrow{color:#48DDBB}
.eyebrow-dark{color:var(--brand-teal)}
.hero-copy{color:rgba(239,248,255,.79)}

.button{
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.button:hover{transform:translateY(-2px)}
.button-primary,.submit-button{
  background:linear-gradient(110deg,var(--brand-blue),var(--brand-teal));
  color:#fff;
  box-shadow:0 12px 28px rgba(9,102,201,.24);
}
.button-primary:hover,.submit-button:hover{
  box-shadow:0 16px 32px rgba(7,117,180,.30);
}
.button-secondary{border-color:rgba(92,220,203,.42)}
.button-light{color:var(--brand-navy)}

.hero-principles{border-color:rgba(110,223,208,.20)}
.hero-principles span{color:#4DE0BE}

.intro-copy,.service-card p,.principle-list p,.contact-copy>p,.notice p{color:var(--brand-muted)}

.service-card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--brand-line);
  box-shadow:0 10px 30px rgba(4,30,67,.045);
  position:relative;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.service-card::before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--brand-blue),var(--brand-teal),var(--brand-green));
}
.service-card:hover{
  transform:translateY(-5px);
  border-color:rgba(0,157,152,.30);
  box-shadow:0 20px 45px rgba(4,30,67,.10);
}
.service-card span{color:var(--brand-teal)}

.section-dark{
  background:
    radial-gradient(circle at 10% 20%,rgba(18,115,234,.16),transparent 30%),
    linear-gradient(135deg,#061A40 0%,#063B57 100%);
}
.flow-step{
  border-color:rgba(76,220,194,.20);
  background:rgba(255,255,255,.025);
}
.flow-step small,.flow-arrow{color:#49DDB9}

.principle-list article{border-color:var(--brand-line)}
.principle-list strong{color:var(--brand-navy)}

.audience-grid{border-color:var(--brand-line)}
.audience-grid span{
  background:#fff;
  border-color:var(--brand-line);
  transition:background .18s ease,color .18s ease;
}
.audience-grid span:hover{
  background:linear-gradient(135deg,#F0F8FF,#ECFBF7);
  color:var(--brand-navy);
}

.cta-band{
  background:linear-gradient(105deg,#071C46 0%,#07526A 60%,#008A87 100%);
}

.site-footer{
  background:#031127;
  border-top:1px solid rgba(48,202,177,.14);
}
.footer-links a:hover{color:#65E1CB}

.notice{
  background:linear-gradient(135deg,#EDF6FC,#ECF9F5);
  border-left-color:var(--brand-teal);
}

.contact-form{
  border-color:var(--brand-line);
  box-shadow:0 18px 50px rgba(3,29,66,.07);
}
.contact-form input,.contact-form select,.contact-form textarea{
  border-color:#CBD7E3;
  background:#FCFDFE;
  color:var(--brand-ink);
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  border-color:var(--brand-teal);
  box-shadow:0 0 0 3px rgba(0,157,152,.12);
}

@media(prefers-reduced-motion:reduce){
  .hero .typewriter-target.is-typing::after{animation:none;opacity:0}
}

@media(max-width:900px){
  .nav{background:#061A40}
}
