/* Portrait: show the source at a useful size while keeping animation behind it. */
.hero-inner{isolation:isolate}
.orb{min-height:600px;overflow:hidden;isolation:isolate}
.orb:before,.orb:after{z-index:0;border-width:2px;box-shadow:0 0 32px #487aff30,inset 0 0 38px #7957d825}
.orb:before{animation:orb-turn 28s linear infinite,orb-breathe 5s ease-in-out infinite}
.orb:after{animation:orb-turn 19s linear infinite reverse,orb-breathe 6s ease-in-out infinite reverse}
.orb-halo{position:absolute;z-index:0;inset:7%;border-radius:50%;background:radial-gradient(circle at 52% 53%,#9ab9ff52 0%,#a78bfa25 34%,transparent 68%);filter:blur(15px);animation:orb-breathe 5.5s ease-in-out infinite}
.orb-scan{position:absolute;z-index:1;inset:8%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 250deg,#4b82ff1f 305deg,#7756e672 331deg,transparent 353deg);mask:radial-gradient(circle,transparent 54%,#000 55%,#000 58%,transparent 59%);animation:orb-turn 15s linear infinite;pointer-events:none}
.orb .portrait{position:relative;z-index:2;width:100%;height:630px;max-height:none;object-fit:cover;object-position:center 19%;filter:drop-shadow(0 20px 24px #1f37672e);transform:translateZ(0)}
.orb-label{display:none}
@keyframes orb-turn{to{transform:rotate(360deg)}}
@keyframes orb-breathe{50%{opacity:.57;scale:1.055}}

/* One restrained hover language across content and image cards. */
.card,.case,.article,.geo-card,.showcase-card,.training-gallery article{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;will-change:transform}
.card:hover,.case:hover,.article:hover,.geo-card:hover,.showcase-card:hover,.training-gallery article:hover{transform:translateY(-6px);border-color:#8ea8f4;box-shadow:0 20px 42px #3558ad25}
.case img,.showcase-card img,.training-gallery img{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s ease}
.case:hover img,.showcase-card:hover img,.training-gallery article:hover img{transform:scale(1.045);filter:saturate(1.08) contrast(1.035)}
.showcase-card,.training-gallery article,.case{overflow:hidden}
.card:hover .num,.article:hover small{color:#5b38c2}

/* Keep the legal line separate from the useful footer navigation. */
.shell{width:min(1440px,calc(100% - 96px))}
body{font-size:17px;line-height:1.75}
.links,.navbtn,.btn,.links a.contact-nav{font-size:16px}
.brand{font-size:20px}
.kicker{font-size:13px}
.card p,.case p,.step p,.article p,.geo-card p,.showcase-card p,.training-gallery p,.muted{font-size:16px;line-height:1.75}
.section-top p,.pagehero p,.hero p,.textblock p,.articlebody p,.geo-guide p{font-size:17px;line-height:1.8}
.articlebody{max-width:860px}
.textblock{max-width:900px}
.card h3,.case h3,.geo-card h3,.showcase-card h3,.training-gallery h3{line-height:1.45}
.site-footer p,.site-footer a,.footer-contact-line{font-size:16px}
.site-footer .footer-eyebrow{font-size:13px}
.footer-bottom{font-size:14px;text-align:center;display:block}
.site-footer{padding:36px 0 24px}
.footer-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(390px,1.4fr) minmax(245px,.85fr);grid-template-areas:"brand navigation contact";gap:40px;align-items:start}
.footer-brand{grid-area:brand;max-width:380px;padding:0;border:0}
.footer-grid>div:nth-child(2){grid-area:navigation}
.footer-grid>div:nth-child(3){grid-area:contact}
.footer-brand .footer-eyebrow{display:none}
.site-footer h3{font-size:15px;line-height:1.4;color:#fff;margin:0 0 8px}
.footer-brand h3{font-size:17px}
.site-footer p{margin:0 0 9px;line-height:1.6}
.footer-links{display:flex;flex-wrap:wrap;gap:7px 20px}
.site-footer .footer-links a{display:block;width:auto;max-width:100%;margin:0}
.footer-contact-line{display:inline-block;margin:0 20px 0 0;color:#d9e3f3;font-size:14px}
.footer-contact-line a{font-weight:700;color:#fff}
.footer-grid>div:nth-child(3) .footer-links{display:inline-flex;margin-left:4px}
.footer-bottom{margin-top:22px;padding-top:14px;border-top:1px solid #ffffff2b;text-align:center}
.footer-bottom a{margin:0}
/* A focused service-first navigation; detailed evidence belongs one level below. */
.nav{gap:24px}.links{gap:18px}.links a{font-size:15px}
@media(max-width:900px){.nav{gap:14px}.links{gap:16px}.links a{font-size:14px}}
.content-path{padding:76px 0;background:linear-gradient(180deg,#fff 0%,#f2f7ff 100%)}
.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.path-card{overflow:hidden;background:#fff;border:1px solid #d7e5f3;border-radius:12px;box-shadow:0 10px 28px #1f4d8120;transition:transform .25s ease,box-shadow .25s ease}.path-card:hover{transform:translateY(-5px);box-shadow:0 19px 36px #1f4d812c}.path-card img{display:block;width:100%;height:210px;object-fit:cover}.path-card:nth-child(2) img{object-position:top left}.path-card div{padding:22px}.path-card span{color:#3975cb;font-size:12px;font-weight:700;letter-spacing:.08em}.path-card h3{margin:9px 0;font-size:23px}.path-card p{margin:0 0 16px;color:#536b80}.path-card a,.path-note a{font-weight:700;color:#176fcd;text-decoration:none}.path-note{display:flex;align-items:center;gap:16px;margin-top:28px;padding:22px 24px;border-left:4px solid #5b55d9;background:#eaf2ff;color:#38526b}.path-note span{flex:1}@media(max-width:760px){.content-path{padding:48px 0}.path-grid{grid-template-columns:1fr}.path-card img{height:210px}.path-note{display:block}.path-note span{display:block;margin:9px 0 14px}}
@media(max-width:760px){
  .shell{width:calc(100% - 40px)}
  body{font-size:16px}
  .links,.navbtn,.btn,.links a.contact-nav{font-size:15px}
  .section-top p,.pagehero p,.hero p,.textblock p,.articlebody p,.geo-guide p{font-size:16px}
  .card p,.case p,.step p,.article p,.geo-card p,.showcase-card p,.training-gallery p,.muted{font-size:16px}
  .orb{min-height:390px;max-height:460px}
  .orb .portrait{height:440px;object-position:center 18%}
  .footer-grid{grid-template-columns:1fr;grid-template-areas:"brand" "navigation" "contact";gap:22px}
  .footer-brand{max-width:none;padding:0 0 18px;border-right:0;border-bottom:1px solid #ffffff24}
  .site-footer{padding:34px 0 76px}
  .footer-bottom{display:block;margin-top:24px}
  .footer-bottom a{display:inline-block;margin-top:8px}
}
.training-proof,.more-cases{padding:74px 0;background:linear-gradient(120deg,#edf5ff,#f8f6ff)}.training-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.training-proof-grid article{background:#fff;border:1px solid #d7e5f3;border-radius:12px;overflow:hidden;padding-bottom:22px}.training-proof-grid img{display:block;width:100%;height:220px;object-fit:cover}.training-proof-grid h3,.training-proof-grid p,.training-proof-grid a{margin-left:20px;margin-right:20px}.training-proof-grid h3{margin-top:18px;margin-bottom:8px}.training-proof-grid p{color:#536b80}.training-proof-grid a,.training-proof-more a{color:#176fcd;font-weight:700}.training-proof-more{margin:24px 0 0}.more-cases .shell{display:flex;align-items:end;justify-content:space-between;gap:32px}.more-cases h2{margin:10px 0;font-size:clamp(28px,3.5vw,42px)}.more-cases p{max-width:760px;margin:0;color:#536b80}.more-cases a{white-space:nowrap}@media(max-width:760px){.training-proof,.more-cases{padding:48px 0}.training-proof-grid{grid-template-columns:1fr}.more-cases .shell{display:block}.more-cases a{display:inline-block;margin-top:18px}}
@media(prefers-reduced-motion:reduce){
  .orb:before,.orb:after,.orb-halo,.orb-scan{animation:none!important}
  .card,.case,.article,.geo-card,.showcase-card,.training-gallery article,.case img,.showcase-card img,.training-gallery img{transition:none!important}
}
