/* User-defined palette. The original blue hero composition is retained. */
:root{
  --bg:#0A0F16;
  --card:#121A24;
  --border:#253241;
  --title:#F3F6FA;
  --subtitle:#8EA3BA;
  --text:#A7B4C2;
  --accent:#5B86B3;
  --accent-hover:#6E9BCB;
  --muted:#627487;
  --divider:#314252;
  --panel:var(--card);
  --line:var(--border);
  --blue:var(--accent);
  color-scheme:dark;
}
body{background:var(--bg);color:var(--text)}
h1,h2,h3,.wordmark,.header-cta,.footer-top>a,.contact-row b{color:var(--title)}
h1 em,h2 em,.cta h2 em{color:var(--subtitle)}
.header nav a{color:var(--text)}
.header nav a:hover,.header nav a[aria-current]{color:var(--title)}
.header nav a[aria-current]:after{background:var(--accent)}
.header,.service-card,.gallery-caption,.faq-list details,.footer-bottom,.intro-strip,.steps article,.contact-row{border-color:var(--border)}
.header-cta span,.hero-explore span{border-color:var(--divider)}
.eyebrow,.section-heading>p,.about-copy>p:not(.eyebrow),.service-card>p,.steps p,.faq-list details>p,.contact-info>p,.page-intro>p:last-child,.cta p:not(.eyebrow){color:var(--text)}
.eyebrow,.gallery-caption small,.contact-row small{color:var(--subtitle)}
.card-top>span:first-child,.photo-label,.image-note,.footer-bottom,.form-hint,.intro-strip>span{color:var(--muted)}
.service-card{background:var(--card)}
.service-card:hover{border-color:var(--accent)}
.service-card>a,.text-link,.gallery-caption b,.hero-explore{color:var(--title)}
.text-link{border-color:var(--divider)}
.service-card>a>span,.text-link span,.gallery-caption>span:last-child,.steps article>span,.faq-list summary>i{color:var(--accent)}
.faq-list summary{color:var(--title)}
.faq-list summary>span{color:var(--muted)}
.services,.work,.faq-home{background:var(--bg)}
.about,.process,.cta,.inner-page .header,.page-intro,.header #mobile-nav{background:var(--card)}
.intro-strip,footer{background:var(--bg)}
.intro-strip p,.footer-top>p{color:var(--text)}
.button.primary{background:var(--accent);color:var(--bg);border:1px solid var(--accent);box-shadow:none}
.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg)}
.button.white{background:var(--title);color:var(--bg)}
.button.white:hover{background:var(--text)}
.button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--accent-hover)}
.demo-note,#message-result{background:var(--card);border-color:var(--divider);color:var(--text)!important}
form label{color:var(--title)}
form label>small{color:var(--subtitle)}
input,select,textarea{background:var(--card);color:var(--title);border-color:var(--border)}
input::placeholder,textarea::placeholder{color:var(--subtitle)}
pre,dialog p{color:var(--text)}
dialog{background:var(--card);color:var(--title);border-color:var(--divider)}
dialog small{color:var(--subtitle)}
.legal p{color:var(--text)}
.legal a{color:var(--accent-hover)}
::selection{background:var(--accent);color:var(--bg)}
