/* Shared visual system. Content, routes and approved page structure stay in the base files. */
:root{
  --ai-cobalt:#355bfa;--ai-violet:#7155ed;--ai-cyan:#32acc4;
  --ai-ink:#14243f;--ai-body:#526581;--ai-line:#dde5f2;
  --ai-shadow:0 18px 48px #263e7b0c;
  --blue:var(--ai-cobalt);--blue-dark:#2748d5;--navy:var(--ai-ink);
  --ink:var(--ai-ink);--muted:#5d6e87;--line:var(--ai-line);
  --pale:#eff3ff;--paper:#f8faff;
}
body{background:#fff}
.site-header{background:#ffffffed;border-color:#e6ebf5;box-shadow:0 4px 22px #1d366006;backdrop-filter:blur(20px)}
.brand-symbol{background:linear-gradient(145deg,#365ffa 12%,#6552e9);box-shadow:0 5px 13px #4864de24, inset 0 1px 0 #ffffff4d;border:1px solid #ffffff2b;border-radius:11px}
.brand>span:last-child{color:#182943}
.brand small{color:#667a9b}
.header-inner nav>a{color:#52617a;transition:color .18s}
.header-inner nav>a:hover,.header-inner nav>a.active{color:#355bfa}
.header-inner nav>a.active:after{height:3px;background:linear-gradient(90deg,#355bfa,#8064ec);border-radius:3px 3px 0 0;box-shadow:0 -2px 9px #6479ee20}
.account-link{color:#71809a}
.account-link:hover{color:#355bfa}
.btn{border-radius:9px;letter-spacing:.005em;transition:background .18s,transform .18s,box-shadow .18s,border-color .18s}
.btn.primary,.btn-primary{background:linear-gradient(115deg,#355bfa,#6551e6);border-color:#4962eb;box-shadow:0 5px 15px #3d60dc1a,inset 0 1px 0 #ffffff20;color:#fff}
.btn.primary:hover{background:linear-gradient(115deg,#2a4ee1,#5942d2);box-shadow:0 9px 22px #3d60dc29}
.btn.secondary{border-color:#d9e2f1;background:#fff;color:#3b527b;box-shadow:0 2px 4px #244d8e03}
.btn.secondary:hover{background:#f8faff;border-color:#b7c9ee}
.btn:active{transform:translateY(0)}
.status-dot{background:#5376f3;box-shadow:0 0 0 4px #5575ef12,0 0 12px #5276f329}
.eyebrow{color:#4868d6}
.breadcrumb{color:#7a8ba4}
.contact-form input:not([type="checkbox"]),.contact-form textarea{border-color:#dce5f2;background:#fff;border-radius:7px;transition:border-color .18s,box-shadow .18s}
.contact-form input:not([type="checkbox"]):focus,.contact-form textarea:focus{outline:none;border-color:#8ba7ed;box-shadow:0 0 0 3px #5b81ed0e}
.contact-form label{color:#536785}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#94a2b7}
.contact-form-panel{border-radius:16px}
dialog{background:#fff;border:1px solid #d8e1f2;border-radius:20px;box-shadow:0 32px 100px #142a5c33,0 2px 10px #142a5c08}
dialog::backdrop{background:#152a4b66;backdrop-filter:blur(7px)}
.modal-close{color:#8290a8;transition:background .18s,color .18s}
.modal-close:hover{background:#f0f4fd;color:#355bfa}
.modal-intro .eyebrow{letter-spacing:.16em}
.modal-intro h2{color:#172b4d}
.modal-intro p{color:#667a97}
.site-footer{background:#fff;border-top:1px solid #e1e8f4}
.footer-top{color:#687a96}
.footer-top>p{color:#6d7e98}
.footer-links a{color:#536b90}
.footer-links a:hover{color:#355bfa}
.footer-bottom{color:#8a98ac;border-color:#e7edf6}

/* Home: a connected services system, with the same light technical materials as the portfolios. */
.home-hero-business{position:relative;isolation:isolate;background:#fff;border-color:#e5ebf6}
.home-hero-business:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#fff 5%,#ffffffed 43%,#ffffff35 100%),url('assets/ai-network-field.svg') right center/1000px auto no-repeat}
.home-hero-business .hero-layout{position:relative}
.home-hero-business .hero-copy h1{font-weight:700;letter-spacing:-.04em}
.home-hero-business .hero-copy h1>span,.home-contact-integrated .contact-copy h2>span{color:#3c5cea;background:linear-gradient(110deg,#355bfa 15%,#7053e9 88%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.home-hero-business .hero-copy p{color:#60738f}
.home-hero-business .hero-copy .eyebrow{color:#57709a;letter-spacing:.06em}
.home-system-map{position:relative;isolation:isolate;overflow:hidden;border-radius:18px;border:1px solid transparent;background:linear-gradient(145deg,#ffffffed,#f8fafff5) padding-box,linear-gradient(130deg,#bfd0f1,#d5d9f6 55%,#d1e8ef) border-box;box-shadow:0 20px 52px #2a477513,0 2px 6px #2a477505}
.home-system-map:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(#7291d52e .75px,transparent 1px) 0 0/15px 15px;mask-image:linear-gradient(90deg,transparent,#000 65%)}
.home-system-map:after{content:"";position:absolute;top:0;left:27px;right:27px;height:2px;background:linear-gradient(90deg,transparent,#6986e16e,#4cb6c654,transparent);pointer-events:none}
.home-system-caption{color:#637d9e;font-size:10px;letter-spacing:.06em}
.home-system-item{border-color:#dbe5f5;border-radius:10px;box-shadow:0 5px 16px #1d44750a;background:linear-gradient(110deg,#fff,#fcfdff)}
.home-system-item>span{background:linear-gradient(140deg,#f1f5ff,#edf0fd);border:1px solid #dfe7fc;color:#4f6dde;border-radius:8px}
.home-system-item:nth-child(2)>span{color:#467e9c;background:#f0f9fb;border-color:#deedf2}
.home-system-item:nth-child(3)>span{color:#7a65b8;background:#f7f3ff;border-color:#e9e1f7}
.home-system-item strong{font-weight:600;color:#314b75}
.home-system-item:after{border-color:#9cb7e3}
.home-system-connector:before,.home-system-connector:after{border-color:#9cb7e3}
.home-system-outcome{position:relative;border-color:#c9d5f5;background:linear-gradient(145deg,#edf3ff,#f1edff);border-radius:13px;box-shadow:0 7px 23px #5464c711,inset 0 1px 0 #fff}
.home-system-outcome>span{background:#fff;border:1px solid #dce3f8;box-shadow:0 4px 12px #5269c614;color:#5a64dc}
.home-system-outcome strong{color:#3e548a}
.home-services .section-heading h2,.home-challenges .section-heading h2{color:#192e50}
.home-services .section-heading .eyebrow,.home-challenges .section-heading .eyebrow{display:flex;align-items:center;gap:9px;letter-spacing:.13em;font-size:10px}
.home-services .section-heading .eyebrow:before,.home-challenges .section-heading .eyebrow:before{content:"";width:17px;height:3px;border-radius:2px;background:linear-gradient(90deg,#446aef,#81b8ce)}
.home-services .service-grid{border:0;border-radius:0;gap:20px;overflow:visible}
.home-services .service-card{--service-accent:#4f70e6;--service-tint:#f1f5ff;border:1px solid #dce5f3;border-radius:16px;position:relative;background:linear-gradient(155deg,#fff 65%,#f9fbff);box-shadow:0 7px 25px #27457506;transition:transform .2s,border-color .2s,box-shadow .2s}
.home-services .service-card+.service-card{border:1px solid #dce5f3}
.home-services .service-card:nth-child(2){--service-accent:#8063c6;--service-tint:#f6f2fc}
.home-services .service-card:nth-child(3){--service-accent:#428caa;--service-tint:#eff8fa}
.home-services .service-card:hover{transform:translateY(-4px);border-color:#b9c9ed;box-shadow:0 16px 35px #27457511}
.home-services .service-card-top{color:#788eaf;letter-spacing:.04em}
.home-services .service-card-top>.icon{color:var(--service-accent);width:40px;height:40px;padding:9px;border:1px solid #e0e7f5;border-radius:11px;background:var(--service-tint)}
.home-services .service-card h3{color:#213b61}
.home-services .service-card p{color:#697d99}
.home-services .service-tags>span{color:#6c7e9a;background:#f7f9fd;border:1px solid #e9eef6;line-height:18px;height:auto;border-radius:5px}
.home-services .service-card-bottom{border-color:#e5ebf5;color:var(--service-accent)}
.home-services .service-card-bottom>span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--service-tint);border-radius:50%;font-size:16px;color:var(--service-accent)}
.home-challenges{border-color:#e5ebf6;background:#fff}
.home-challenge{background:linear-gradient(150deg,#fff,#fbfcff);border-color:#dfe7f3;border-radius:15px;box-shadow:0 6px 24px #27457504}
.home-challenge-index{align-self:start;display:inline-flex;font-size:9px;color:#6886bb;letter-spacing:.04em;border:1px solid #e0e9f8;border-radius:5px;padding:4px 8px;background:#f7faff}
.home-challenge h3{color:#233c60}
.home-challenge p{color:#6b7d98}
.home-challenge-direction{color:#5a78af;border-color:#e3ebf7;display:flex;align-items:center;gap:8px}
.home-challenge-direction:before{content:"";width:5px;height:5px;flex-shrink:0;transform:rotate(45deg);background:#8ba4d8;border-radius:1px}
.home-contact-integrated{position:relative;background:#fff;border-color:#e5ebf6}
.home-contact-integrated .contact-copy p{color:#657b99}
.home-contact-integrated .contact-copy .home-contact-lead{color:#2a4266}
.home-contact-integrated .contact-form-panel{position:relative;background:linear-gradient(135deg,#fff,#fafbff);border-color:#dbe5f5;box-shadow:var(--ai-shadow);overflow:hidden}
.home-contact-integrated .contact-form-panel:before{content:"";position:absolute;left:25px;right:25px;top:0;height:2px;background:linear-gradient(90deg,#5c7af2,#a394e8,#87c5d0);opacity:.6;pointer-events:none}
.home-contact-integrated .contact-form-panel h3{color:#2c466b}

@media(max-width:1150px){
  .home-services .service-grid{gap:16px}
}
@media(max-width:900px){
  .home-services .service-grid{gap:12px}
  .home-services .service-card-top>.icon{width:34px;height:34px;padding:7px}
}
@media(max-width:700px){
  .brand-symbol{border-radius:8px}
  .home-hero-business:before{background-size:auto,740px auto;background-position:center,right bottom;opacity:.55}
  .home-services .service-grid{gap:15px}
  .home-services .service-card{border-radius:13px}
  .home-services .service-card h3{font-size:22px}
  .home-services .service-card-top>.icon{width:37px;height:37px;padding:8px}
  .home-system-map{border-radius:14px;box-shadow:0 12px 30px #2a47750e}
  .home-system-item{border-radius:8px}
  .home-system-caption{font-size:9px}
  .home-services .section-heading .eyebrow,.home-challenges .section-heading .eyebrow{font-size:9px}
  .home-challenge{border-radius:13px}
  dialog{border-radius:15px}
}
@media(hover:none){.home-services .service-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){
  .btn,.site-header a,.home-services .service-card,.contact-form input,.contact-form textarea,.modal-close{transition:none}
  .home-services .service-card:hover,.btn:hover{transform:none}
}
