:root {
  color-scheme: light;
  --bg: #f3f7fb;
  --surface: #ffffff;
  --line: #dde7f3;
  --text: #111827;
  --muted: #5b6b7f;
  --indigo: #4f46e5;
  --purple: #895df0;
  --cyan: #0f8ca5;
  --lime: #789d3a;
  --shadow: 0 22px 60px rgba(17, 24, 39, 0.12);
}

body { background: radial-gradient(circle at top, #f9fbff 0%, var(--bg) 28%, #eef3fa 100%); color: var(--text); }
body::before { background-image: linear-gradient(#1f2b3d08 1px, transparent 1px), linear-gradient(90deg, #1f2b3d08 1px, transparent 1px); }
.site-header { border-color: rgba(255,255,255,0.08); background: rgba(10, 17, 29, 0.82); backdrop-filter: blur(18px); }
.site-header.is-scrolled { border-color: rgba(255,255,255,0.12); box-shadow: 0 12px 30px rgba(10, 17, 29, 0.18); }
.brand-logo-crop { display: block; width: 285px; background: transparent; }
.brand-logo { display: block; width: 100%; height: auto; }
.brand-footer .brand-logo-crop { width: 250px; }
.location-index { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; margin-top: 40px; }
.location-index section { border-top: 2px solid var(--cyan); padding-top: 14px; }
.location-index h2 { margin: 0 0 12px; font-size: 1.2rem; }
.location-index ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.location-index a { color: var(--text); text-decoration-color: var(--cyan); text-underline-offset: 3px; }
.lede { color: #526375; }
.main-nav a { color: rgba(255,255,255,0.8); }
.main-nav a:hover, .main-nav a[aria-current=page] { color: #fff; }
.nav-contact { color: #dfe7f3; }
.nav-contact span { color: #79f0d8; }
.brand-mark { width: 40px; height: 40px; border-color: rgba(79,70,229,0.18); border-radius: 10px; background: linear-gradient(135deg, var(--indigo), var(--purple)); color: #fff; box-shadow: 0 10px 22px rgba(79,70,229,0.25); }
.button { color: #fff; box-shadow: 0 14px 28px rgba(79,70,229,0.18); }
.button:hover { background: linear-gradient(135deg, #3d32c5, #4839cc); color: #fff; transform: translateY(-1px); }
.button-secondary { border-color: #d3ddea; color: var(--text); box-shadow: none; }
.button-secondary:hover { border-color: var(--cyan); background: #edf9fb; }
.gradient-text { background-image: linear-gradient(100deg, #3d5bff, #0d8ea8 55%, #7d53d6); }
.hero::after { border-color: rgba(79,70,229,0.14); box-shadow: 0 0 110px rgba(79,70,229,0.1), inset 0 0 70px rgba(15,140,165,0.08); }
.avatar-stack span { border-color: var(--bg); background: #edf1ff; color: var(--indigo); }
.hero-image, .split-image { filter: saturate(.96) brightness(.98); }
.visual-frame { border-color: rgba(15, 140, 165, 0.28); }
.floating-panel { border-color: rgba(16, 24, 39, 0.08); background: rgba(255,255,255,0.86); box-shadow: 0 18px 40px rgba(17, 24, 39, 0.1); color: var(--text); }
.floating-panel small { color: var(--muted); }
.stat { border-color: var(--line); }
.tool-chip { border-color: var(--line); color: #43516a; }
.card { border-color: var(--line); background: #fff; box-shadow: 0 18px 38px rgba(17, 24, 39, 0.06); }
.card-icon { border-color: rgba(15, 140, 165, 0.18); background: linear-gradient(135deg, #ebf9fb, #eef1ff); color: var(--cyan); }
.quote-card blockquote { color: #354158; }
.cta-band { border-color: rgba(132, 142, 245, 0.18); background: linear-gradient(110deg, rgba(79,70,229,0.08), rgba(15, 140, 165, 0.08)); }
.role-card { background: #fff; }
.profile-card { display: flex; min-height: 142px; align-items: center; gap: 16px; border: 1px solid var(--line); border-top: 2px solid var(--indigo); border-radius: 8px; box-shadow: 0 8px 24px #20274108; }
.profile-card:nth-child(2) { border-top-color: var(--cyan); }
.profile-card img { width: 82px; height: 82px; flex: 0 0 auto; border: 2px solid #e4e9f2; border-radius: 50%; object-fit: cover; }
.profile-card .tag { margin-bottom: 8px; }
.profile-card p { margin: 0; color: var(--muted); font-size: 13px; }
.mission-callout { padding: 30px; border: 1px solid #dce7c5; border-radius: 8px; background: #eef3e4; }
.mission-callout h3 { margin: 5px 0 12px; color: #34461f; font-size: 25px; }
.mission-callout p { margin: 0; color: #536246; }
.leadership-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.leadership-card { display: grid; grid-template-columns: minmax(100px, 36%) minmax(0, 1fr); align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 8px 24px #20274108; }
.leadership-card > img { display: block; width: 100%; height: 100%; min-height: 155px; object-fit: cover; object-position: center 25%; }
.leadership-copy { padding: 16px; }
.leadership-copy .tag { margin-bottom: 10px; }
.leadership-copy h3 { margin-bottom: 8px; font-size: 20px; }
.leadership-copy p { margin: 0; color: var(--muted); font-size: 13px; }
.about-overview-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(270px, .6fr); gap: 28px; align-items: stretch; }
.about-story { display: grid; gap: 22px; }
.about-story section { padding: 22px 24px; border-left: 3px solid var(--indigo); background: #fff; }
.about-story section + section { border-left-color: var(--cyan); }
.about-story h2 { margin: 7px 0 10px; font-size: 27px; letter-spacing: 0; }
.about-story p { max-width: 720px; margin: 0; color: #58657c; }
.about-services-panel { padding: 26px; border-radius: 8px; background: #eef3e4; }
.about-services-panel h2 { margin: 7px 0 15px; color: #34461f; font-size: 25px; letter-spacing: 0; }
.about-services-list { display: grid; gap: 9px; margin: 0; padding: 0; color: #46543b; font-size: 13px; list-style: none; }
.about-services-list li { padding-bottom: 8px; border-bottom: 1px solid #6d7d5326; }
.about-services-list li:last-child { border-bottom: 0; }
.about-history-section { background: linear-gradient(180deg, #f7fafc, #eef5f4); }
.about-history-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 36px; align-items: center; }
.about-history-grid h2 { max-width: 650px; margin: 9px 0 16px; font-size: 35px; letter-spacing: 0; }
.about-history-grid p { max-width: 700px; color: #53657a; }
.about-history-grid strong { color: #263b62; }
.about-history-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.about-history-facts div { display: grid; min-height: 125px; align-content: center; gap: 5px; padding: 18px; border: 1px solid #d5e2ec; border-radius: 12px; background: rgba(255,255,255,.8); box-shadow: 0 12px 28px rgba(25,55,82,.06); }
.about-history-facts strong { color: #3047bf; font-size: 25px; }
.about-history-facts span { color: #617187; font-size: 12px; line-height: 1.4; }
.process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.process-card { min-height: 155px; padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.process-card > span { display: inline-grid; width: 31px; height: 31px; margin-bottom: 14px; place-items: center; border-radius: 6px; background: #eef0ff; color: var(--indigo); font-size: 11px; font-weight: 800; }
.process-card h3 { margin-bottom: 7px; font-size: 16px; }
.process-card p { margin: 0; color: var(--muted); font-size: 12px; }
.about-reasons { border-top: 1px solid var(--line); }
.about-reasons details { border-bottom: 1px solid var(--line); }
.about-reasons summary { position: relative; padding: 17px 40px 17px 0; color: var(--text); font-size: 15px; font-weight: 700; list-style: none; cursor: pointer; }
.about-reasons summary::-webkit-details-marker { display: none; }
.about-reasons summary::after { position: absolute; top: 13px; right: 5px; color: var(--indigo); content: "+"; font-size: 23px; font-weight: 400; }
.about-reasons details[open] summary::after { content: "−"; }
.about-reasons details p { max-width: 780px; margin: 0; padding: 0 36px 18px 0; color: var(--muted); font-size: 13px; }
.check-list li { color: #4a566d; }
.comparison .card:last-child { border-color: #c5dfe2; background: #f0f9f9; }
.tag { border-color: var(--line); color: var(--muted); }
.tag-cyan { border-color: #b8dfe3; background: #f0f9f9; color: var(--cyan); }
.role-card { border-color: var(--indigo); }
.role-card:nth-child(2) { border-color: var(--cyan); }
.role-card:nth-child(3) { border-color: var(--purple); }
.services-overview { padding-top: 28px; }
.services-overview-grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 18px; }
.services-contact-panel { display: flex; flex-direction: column; padding: 24px; border-radius: 8px; background: #728d3e; color: #fff; }
.services-team { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 19px; border-bottom: 1px solid #ffffff48; }
.services-portraits { display: flex; flex: 0 0 auto; align-items: center; }
.services-portraits img { width: 48px; height: 48px; border: 2px solid #ffffffd9; border-radius: 50%; object-fit: cover; }
.services-portraits img + img { margin-left: -12px; }
.services-team > span { color: #f5f8ec; font-size: 11px; font-weight: 650; }
.services-panel-kicker { margin-top: 22px; color: #e2edc7; font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.services-contact-panel h2 { margin: 8px 0 12px; color: #fff; font-size: 25px; letter-spacing: 0; }
.services-contact-panel > p { color: #f2f5e8; font-size: 13px; }
.services-panel-button { width: 100%; min-height: 45px; margin-top: 6px; background: #fff; color: #405324; }
.services-panel-button:hover { background: #f0f4e7; color: #34461d; }
.services-panel-contact { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 17px; }
.services-panel-contact a { color: #fff; font-size: 11px; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.services-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.service-listing { display: flex; min-height: 260px; flex-direction: column; padding: 20px; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 8px 24px #20274108; }
.service-listing-image { width: calc(100% + 40px); height: 148px; margin: -20px -20px 17px; object-fit: cover; }
.service-listing-heading { display: flex; align-items: center; gap: 11px; }
.service-listing-icon { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 6px; background: #edf3df; color: #668237; font-size: 18px; font-weight: 750; }
.service-listing-kicker { color: #6d7d53; font-size: 9px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.service-listing h2 { margin: 3px 0 0; font-size: 18px; letter-spacing: 0; }
.service-listing > p { margin: 14px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.service-listing ul { display: grid; gap: 5px; margin: 12px 0 16px; padding: 0; color: #49566d; font-size: 11px; list-style: none; }
.service-listing li { position: relative; padding-left: 13px; }
.service-listing li::before { position: absolute; left: 0; color: #6e8c39; content: "•"; font-weight: 800; }
.service-listing > a { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; color: var(--indigo); font-size: 11px; font-weight: 750; }
.service-listing > a:hover { color: #342fa0; }
.services-landing-hero { padding-block: 28px 56px; background: #f8f9fc; }
.services-landing-hero .breadcrumb { margin-bottom: 24px; }
.services-landing-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr); align-items: center; gap: 46px; }
.services-landing-grid h1 { max-width: 660px; margin: 14px 0 18px; font-size: 49px; }
.services-landing-grid .lede { margin-bottom: 24px; }
.services-landing-visual { position: relative; min-height: 360px; }
.services-landing-visual > img { width: 100%; height: 370px; border: 1px solid #dfe5ee; border-radius: 8px; object-fit: cover; object-position: center 22%; }
.services-landing-visual > div { position: absolute; right: 14px; bottom: 14px; left: 14px; display: grid; gap: 3px; padding: 14px 16px; border: 1px solid #ffffffba; border-radius: 6px; background: #fffffff0; box-shadow: 0 8px 22px #2027411a; }
.services-landing-visual strong { color: #202741; font-size: 13px; }
.services-landing-visual span { color: #68748a; font-size: 11px; }
.services-catalog { background: #fff; }
.services-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.services-catalog-card { display: grid; grid-template-columns: minmax(160px, .82fr) minmax(0, 1fr); min-height: 250px; overflow: hidden; border: 1px solid #dfe5ee; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px #20274108; }
.services-catalog-card > img { width: 100%; height: 100%; min-height: 250px; object-fit: cover; }
.services-catalog-card > div { display: flex; flex-direction: column; align-items: flex-start; padding: 22px 20px; }
.services-catalog-card > div > span { margin-bottom: 13px; color: #718a43; font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.services-catalog-card h3 { margin-bottom: 9px; font-size: 18px; }
.services-catalog-card p { margin-bottom: 17px; color: #68748a; font-size: 12px; }
.services-catalog-card a { margin-top: auto; color: var(--indigo); font-size: 11px; font-weight: 750; }
.services-catalog-card a:hover { color: #3631a2; }
.services-approach { background: #f3f5f8; }
.services-approach-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.services-approach-grid article { padding: 19px 18px; border-top: 2px solid #82995d; background: #fff; }
.services-approach-grid article > span { display: block; margin-bottom: 19px; color: #718a43; font-size: 10px; font-weight: 800; }
.services-approach-grid h3 { margin-bottom: 8px; font-size: 15px; }
.services-approach-grid p { margin: 0; color: #68748a; font-size: 12px; }
.service-detail-hero { padding-block: 30px 58px; background: #f8f9fc; }
.service-detail-hero .breadcrumb { margin-bottom: 24px; }
.service-detail-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); align-items: center; gap: 46px; }
.service-detail-copy h1 { max-width: 660px; margin: 14px 0 19px; font-size: 48px; }
.service-detail-copy .lede { margin-bottom: 24px; }
.service-detail-image { width: 100%; height: 390px; border: 1px solid #dfe5ee; border-radius: 8px; object-fit: cover; object-position: center; }
.service-detail-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(270px, .8fr); align-items: start; gap: 42px; }
.service-detail-intro > div > h2 { margin: 8px 0 14px; font-size: 32px; letter-spacing: 0; }
.service-detail-intro > div > p { max-width: 740px; color: #58657c; }
.service-detail-note { padding: 24px; border-radius: 8px; background: #eef3e4; }
.service-detail-note .tag { margin-bottom: 14px; }
.service-detail-note .about-services-list { color: #46543b; }
.service-detail-features { background: #f3f5f8; }
.service-detail-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.service-detail-feature-grid article { padding: 22px; border-top: 2px solid #78934a; background: #fff; }
.service-detail-feature-grid article > span { display: block; margin-bottom: 22px; color: #718a43; font-size: 11px; font-weight: 800; }
.service-detail-feature-grid h3 { margin-bottom: 9px; font-size: 18px; }
.service-detail-feature-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.service-detail-faq { max-width: 850px; border-top: 1px solid var(--line); }
.service-detail-faq details { border-bottom: 1px solid var(--line); }
.service-detail-faq summary { position: relative; padding: 18px 40px 18px 0; color: var(--text); font-size: 15px; font-weight: 700; list-style: none; cursor: pointer; }
.service-detail-faq summary::-webkit-details-marker { display: none; }
.service-detail-faq summary::after { position: absolute; top: 14px; right: 5px; color: var(--indigo); content: "+"; font-size: 22px; }
.service-detail-faq details[open] summary::after { content: "−"; }
.service-detail-faq details p { max-width: 760px; margin: 0; padding: 0 36px 18px 0; color: var(--muted); font-size: 13px; }
.contact-detail, .form-panel { border-color: var(--line); background: #fff; box-shadow: 0 8px 24px #20274108; }
.field label { color: #46536b; }
.field input, .field select, .field textarea, .search-input, .newsletter input { border-color: #cbd3e0; background: #fff; color: var(--text); }
.field input::placeholder, .field textarea::placeholder, .search-input::placeholder { color: #8a95a7; }
.form-note { color: var(--muted); }
.accordion { border-color: var(--line); }
.accordion details { border-color: var(--line); }
.accordion summary { color: var(--text); }
.price-card.featured { border-color: #c4c8ef; background: linear-gradient(155deg, #f0f0ff, #fff); }
.price-card ul { color: #4a566d; }
.filter-button { border-color: var(--line); color: #536078; }
.filter-button[aria-pressed=true] { border-color: #9acbd1; background: #eff8f8; color: var(--cyan); }
.blog-card { border-color: var(--line); background: #fff; box-shadow: 0 8px 24px #20274108; }
.blog-cover { background: linear-gradient(135deg, #e7ecff, #e1f3f4); color: #344bb0; }
.blog-card:nth-child(3n + 2) .blog-cover { background: linear-gradient(135deg, #f0eaff, #e9edfa); color: #6847a4; }
.blog-card:nth-child(3n) .blog-cover { background: linear-gradient(135deg, #e4f3ec, #e8f0f3); color: #276b58; }
.empty-state { border-color: #cbd3e0; }
.site-footer { border-color: #293447; background: #101b2b; }
.footer-grid h3 { color: #f4f6fb; }
.footer-grid p, .footer-grid a { color: #b8c2d2; }
.footer-links a:hover { color: #8be0e8; }
.newsletter input { background: #fff; }
.newsletter button { background: var(--indigo); color: #fff; }
.footer-bottom { border-color: #293447; color: #9ca9bc; }
.dialog { border-color: #d4dcea; background: #fff; color: var(--text); box-shadow: 0 25px 90px #20274124; }
.dialog-content p { color: var(--muted); }
.dialog::backdrop { background: #28334a66; }

@media (max-width: 780px) {
  .nav-wrap { min-height: 76px; }
  .brand-logo-crop { width: 240px; }
  .main-nav { border-color: #31394a; background: #111621; box-shadow: 0 14px 22px #080a1040; }
  .services-overview-grid { grid-template-columns: 1fr; }
  .leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leadership-card { grid-template-columns: 112px minmax(0, 1fr); }
  .about-overview-grid { grid-template-columns: 1fr; }
  .about-history-grid { grid-template-columns: 1fr; }
  .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .brand-logo-crop { width: 215px; }
  .about-history-grid h2 { font-size: 29px; }
  .about-history-facts { grid-template-columns: 1fr; }
  .services-contact-panel { padding: 21px; }
  .services-directory { grid-template-columns: 1fr; }
  .service-listing { min-height: 0; }
  .leadership-grid { grid-template-columns: 1fr; }
  .leadership-card { grid-template-columns: 112px minmax(0, 1fr); }
  .about-story section { padding: 20px 17px; }
  .process-grid { grid-template-columns: 1fr; }
}

.home-hero {
  overflow: hidden;
  padding-block: 44px 34px;
  background: linear-gradient(180deg, rgba(79, 70, 229, 0.06), rgba(15, 140, 165, 0.03) 35%, #f9fbff 100%);
}
.home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr);
  align-items: center;
  gap: 48px;
}
.home-hero-copy {
  padding-block: 24px;
}
.home-hero-copy h1 {
  max-width: 620px;
  margin: 15px 0 18px;
  font-size: 51px;
  letter-spacing: -0.06em;
}
.home-hero-copy .gradient-text { background-image: linear-gradient(100deg, #3648d8, #1594b4 52%, #7d5ad8); }
.home-hero-copy .lede { max-width: 550px; margin-bottom: 25px; }
.home-hero-copy .button { background: linear-gradient(135deg, #4f46e5, #3b82f6); color: #fff; }
.home-hero-copy .button:hover { background: linear-gradient(135deg, #4339cf, #2f6fe5); }
.home-hero-copy .button-secondary { border-color: #d7dfec; background: rgba(255,255,255,0.88); color: var(--text); }
.home-hero-note { display: flex; align-items: center; gap: 9px; margin-top: 24px; color: #68748a; font-size: 12px; }
.home-live-dot { width: 8px; height: 8px; border-radius: 50%; background: #18b865; box-shadow: 0 0 0 4px rgba(24, 184, 101, 0.14); }
.home-hero-visual { position: relative; min-height: 400px; }
.home-hero-visual > img {
  width: 100%;
  height: 420px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 18px;
  object-fit: cover;
  object-position: center 20%;
  box-shadow: 0 24px 52px rgba(17, 24, 39, 0.15);
}
.home-photo-caption {
  position: absolute;
  right: 16px;
  bottom: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,0.7);
  border-radius: 12px;
  background: rgba(255,255,255,0.86);
  box-shadow: 0 16px 32px rgba(17, 24, 39, 0.12);
}
.home-caption-mark {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #0f172a, #4f46e5);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.home-photo-caption strong, .home-photo-caption small { display: block; }
.home-photo-caption strong { color: #202741; font-size: 12px; }
.home-photo-caption small { color: #68748a; font-size: 10px; }
.home-capability-strip { border-block: 1px solid rgba(147, 163, 184, 0.35); background: rgba(255,255,255,0.78); }
.home-capability-strip .container { display: flex; min-height: 68px; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 28px; }
.home-capability-strip span { color: #58657c; font-size: 12px; font-weight: 700; }
.home-capability-strip span::before { margin-right: 9px; color: #7aa93c; content: "✓"; }
.home-why { background: #fff; }
.home-reasons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.home-reasons article {
  padding: 18px 16px 4px 0;
  border-top: 2px solid #dce7c7;
}
.reason-index { display: block; margin-bottom: 20px; color: #5f7d2a; font-size: 11px; font-weight: 800; }
.home-reasons h3 { margin-bottom: 8px; font-size: 16px; }
.home-reasons p { margin: 0; color: #68748a; font-size: 12px; }
.home-solutions { background: linear-gradient(180deg, #f8f9fc, #f3f5f8); }
.home-solutions-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.home-solution-card {
  overflow: hidden;
  border: 1px solid #dfe5ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-solution-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 44px rgba(79,70,229,0.12);
}
.home-solution-card > img { width: 100%; height: 172px; object-fit: cover; }
.home-solution-copy { display: flex; min-height: 225px; flex-direction: column; align-items: flex-start; padding: 18px; }
.home-solution-copy > span { margin-bottom: 10px; color: #728a48; font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.home-solution-copy h3 { margin-bottom: 8px; font-size: 17px; }
.home-solution-copy p { margin-bottom: 18px; color: #68748a; font-size: 12px; }
.home-solution-copy a { margin-top: auto; color: #4f46c8; font-size: 11px; font-weight: 750; }
.home-solution-copy a:hover { color: #3631a2; }
.home-solutions-foot { display: flex; justify-content: center; margin-top: 27px; }
.home-audience { background: linear-gradient(180deg, #edf4ea 0%, #eef3e4 100%); }
.home-audience-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 48px; }
.home-audience-grid h2 { margin: 10px 0 13px; font-size: 34px; letter-spacing: 0; }
.home-audience-grid p { max-width: 500px; margin-bottom: 20px; color: #536246; }
.home-audience-grid .button { background: linear-gradient(135deg, #6f8c3b, #7ca447); }
.audience-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.audience-list span {
  padding: 13px 15px;
  border: 1px solid rgba(116, 144, 83, 0.22);
  border-radius: 10px;
  background: rgba(255,255,255,0.68);
  color: #425132;
  font-size: 12px;
  font-weight: 700;
}
.home-contact { background: #fff; }
.home-contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 44px; }
.home-contact-grid > div { padding-top: 12px; }
.home-contact-grid h2 { max-width: 470px; margin: 10px 0 14px; font-size: 36px; letter-spacing: 0; }
.home-contact-grid > div > p { max-width: 440px; color: #68748a; }
.home-direct-contact { display: grid; gap: 9px; margin-top: 24px; }
.home-direct-contact a { color: #455a2e; font-size: 13px; font-weight: 700; }
.home-inquiry-form {
  padding: 25px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 18px;
  background: linear-gradient(180deg, #f9fafc, #f7f9fc);
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.04);
}
.home-inquiry-form h3 { margin-bottom: 18px; font-size: 20px; }
.home-inquiry-form .field textarea { min-height: 88px; }
.home-inquiry-form .form-actions { flex-direction: row; }
.home-inquiry-form .button { min-height: 42px; }
.home-inquiry-form .button:first-child { background: linear-gradient(135deg, #6c9c3d, #7ca447); color: #fff; }
.home-inquiry-form .button-secondary { border-color: #c7cfdd; background: #fff; color: #202741; }

.training-hero {
  padding: 52px 0 24px;
  background: linear-gradient(180deg, rgba(79,70,229,0.04), rgba(15,140,165,0.03) 36%, #f9fbff 100%);
}
.training-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
  align-items: center;
  gap: 40px;
}
.training-hero-copy h1 {
  max-width: 700px;
  margin: 14px 0 18px;
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  line-height: 0.98;
  letter-spacing: -0.07em;
}
.training-hero-copy .lede {
  max-width: 620px;
  font-size: 1.1rem;
}
.training-actions { margin-top: 26px; }
.training-meta-list {
  display: grid;
  gap: 10px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
  color: #495d7b;
  font-size: 0.92rem;
  font-weight: 600;
}
.training-meta-list li::before {
  display: inline-block;
  margin-right: 9px;
  color: #6f8c3b;
  content: "✓";
}
.training-hero-visual {
  position: relative;
}
.training-preview-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,0.35);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 26px 58px rgba(17,24,39,0.08);
}
.training-preview-card img {
  display: block;
  width: 100%;
  height: 470px;
  object-fit: cover;
}
.training-preview-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.9);
  color: #1d2b45;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.training-preview-panel {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: grid;
  gap: 3px;
  padding: 16px 18px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.82);
  color: #fff;
  backdrop-filter: blur(8px);
}
.training-preview-panel strong {
  font-size: 0.95rem;
}
.training-preview-panel span {
  color: rgba(255,255,255,0.72);
  font-size: 0.8rem;
}
.training-stats { padding: 0 0 14px; }
.training-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
}
.training-stat {
  display: grid;
  gap: 4px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,0.7);
  box-shadow: 0 10px 22px rgba(17,24,39,0.04);
}
.training-stat strong {
  font-size: clamp(1.6rem, 2vw, 2.1rem);
  color: #1f2d45;
}
.training-stat span {
  color: var(--muted);
  font-size: 0.8rem;
}
.training-program, .training-benefits, .training-curriculum, .training-options, .training-faq {
  background: #fff;
}
.training-course-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}
.training-course-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(17,24,39,0.05);
}
.training-course-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.training-course-copy {
  padding: 20px 18px 22px;
}
.training-course-copy span {
  display: inline-block;
  margin-bottom: 10px;
  color: #6a8a3c;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.training-course-copy h3 {
  margin-bottom: 8px;
  font-size: 1.1rem;
}
.training-course-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
}
.training-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
.training-feature-card {
  min-height: 220px;
}
.training-feature-card .card-icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(79,70,229,0.18);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(79,70,229,0.08), rgba(15,140,165,0.08));
  color: #243c8a;
  font-size: 0.8rem;
  font-weight: 800;
}
.training-curriculum-grid {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr);
  gap: 22px;
  align-items: start;
}
.curriculum-list {
  display: grid;
  gap: 14px;
}
.curriculum-item {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 18px;
  padding: 18px 18px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(17,24,39,0.04);
}
.curriculum-item span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(79,70,229,0.08), rgba(15,140,165,0.1));
  color: #3047bf;
  font-size: 0.78rem;
  font-weight: 800;
}
.curriculum-item h3 {
  margin-bottom: 6px;
  font-size: 1.05rem;
}
.curriculum-item p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}
.training-side-panel {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(180deg, #f7f9fc, #f3f7fb);
}
.training-side-panel img {
  width: 100%;
  height: 240px;
  border-radius: 16px;
  object-fit: cover;
}
.training-side-quote {
  padding: 18px 16px;
  border: 1px solid rgba(79,70,229,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.8);
}
.training-side-quote p {
  margin: 12px 0 0;
  color: #46556d;
  font-size: 0.95rem;
}
.training-options .pricing-grid { margin-top: 12px; }
.training-faq .accordion { max-width: 940px; }
@media (max-width: 1050px) {
  .training-hero-grid, .training-curriculum-grid { grid-template-columns: 1fr; }
  .training-feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .training-course-grid { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .training-hero { padding-top: 34px; }
  .training-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .training-feature-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .training-hero-copy h1 { font-size: 2.5rem; }
  .training-preview-card img { height: 330px; }
  .training-stat-grid { grid-template-columns: 1fr; }
  .curriculum-item { grid-template-columns: 42px minmax(0,1fr); }
  .training-side-panel img { height: 200px; }
}

@media (max-width: 1050px) {
  .home-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); gap: 28px; }
  .home-hero-copy h1 { font-size: 44px; }
  .home-solutions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-reasons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-detail-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); gap: 28px; }
  .service-detail-copy h1 { font-size: 42px; }
  .services-landing-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); gap: 28px; }
  .services-landing-grid h1 { font-size: 42px; }
  .services-catalog-card { grid-template-columns: minmax(130px, .72fr) minmax(0, 1fr); }
  .services-approach-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
  .home-hero { padding-top: 34px; }
  .home-hero-grid, .home-audience-grid, .home-contact-grid { grid-template-columns: 1fr; }
  .home-hero-grid { gap: 26px; }
  .home-hero-copy { padding: 0; }
  .home-hero-copy h1 { font-size: 42px; }
  .home-hero-visual { min-height: 330px; }
  .home-hero-visual > img { height: 330px; }
  .home-capability-strip .container { justify-content: flex-start; padding-block: 14px; }
  .home-audience-grid, .home-contact-grid { gap: 25px; }
  .service-detail-hero-grid, .service-detail-intro { grid-template-columns: 1fr; }
  .service-detail-hero-grid { gap: 26px; }
  .service-detail-image { height: 330px; }
  .service-detail-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-landing-grid { grid-template-columns: 1fr; gap: 26px; }
  .services-catalog-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .home-hero-copy h1 { font-size: 37px; }
  .home-hero-visual, .home-hero-visual > img { min-height: 285px; height: 285px; }
  .home-capability-strip .container { gap: 10px 18px; }
  .home-capability-strip span { font-size: 11px; }
  .home-reasons, .home-solutions-grid { grid-template-columns: 1fr; }
  .home-reasons article { padding: 15px 0 5px; }
  .home-solution-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); }
  .home-solution-card > img { height: 100%; min-height: 205px; }
  .home-solution-copy { min-height: 205px; padding: 15px; }
  .home-audience-grid h2, .home-contact-grid h2 { font-size: 29px; }
  .audience-list { gap: 8px; }
  .home-inquiry-form { padding: 20px 16px; }
  .home-inquiry-form .form-actions { flex-direction: column; }
  .home-inquiry-form .form-actions .button { width: 100%; }
  .service-listing-image { height: 130px; }
  .service-detail-copy h1 { font-size: 37px; }
  .service-detail-image { height: 275px; }
  .service-detail-feature-grid { grid-template-columns: 1fr; }
  .service-detail-feature-grid article { padding: 19px; }
  .services-landing-grid h1 { font-size: 37px; }
  .services-landing-visual, .services-landing-visual > img { min-height: 280px; height: 280px; }
  .services-catalog-card { grid-template-columns: 112px minmax(0, 1fr); min-height: 0; }
  .services-catalog-card > img { min-height: 220px; }
  .services-catalog-card > div { padding: 16px 14px; }
  .services-catalog-card h3 { font-size: 16px; }
  .services-approach-grid { grid-template-columns: 1fr; }
.blog-thumbnail { width: 100%; height: 168px; object-fit: cover; }
.article-hero { padding-block: 48px 38px; background: #f8f9fc; }
.article-hero .breadcrumb { margin-bottom: 22px; }
.article-hero h1 { max-width: 880px; margin: 12px 0 16px; font-size: 44px; }
.article-hero .lede { max-width: 760px; margin-bottom: 20px; }
.article-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: #68748a; font-size: 11px; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 255px; align-items: start; gap: 40px; padding-block: 40px 76px; }
.article-body { min-width: 0; max-width: 780px; color: #46536b; }
.article-feature-image { width: 100%; max-height: 390px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 8px; object-fit: cover; }
.article-answer { margin-bottom: 30px; padding: 20px 22px; border-left: 3px solid #738d44; border-radius: 0 6px 6px 0; background: #eef3e4; }
.article-answer strong { display: block; margin-bottom: 7px; color: #425132; font-size: 12px; text-transform: uppercase; }
.article-answer p { margin: 0; color: #46543b; font-size: 15px; }
.article-body h2 { margin: 30px 0 12px; font-size: 26px; letter-spacing: 0; }
.article-body p, .article-body li { color: #536078; font-size: 15px; }
.article-body ul, .article-body ol { display: grid; gap: 8px; margin-bottom: 20px; padding-left: 22px; }
.article-inline-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 24px 0; }
.article-inline-links a, .article-related a, .article-sidebar a { color: var(--indigo); font-size: 13px; font-weight: 700; }
.article-sidebar { position: sticky; top: 102px; display: grid; gap: 11px; padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.article-sidebar h2 { margin: 0; font-size: 20px; letter-spacing: 0; }
.article-sidebar p { margin: 0; color: var(--muted); font-size: 13px; }
.article-sidebar .tag { justify-self: start; margin: 0; }
.article-faq { margin-top: 38px; border-top: 1px solid var(--line); }
.article-faq details { border-bottom: 1px solid var(--line); }
.article-faq summary { position: relative; padding: 16px 36px 16px 0; color: var(--text); font-size: 14px; font-weight: 700; list-style: none; cursor: pointer; }
.article-faq summary::-webkit-details-marker { display: none; }
.article-faq summary::after { position: absolute; top: 12px; right: 5px; color: var(--indigo); content: "+"; font-size: 22px; font-weight: 400; }
.article-faq details[open] summary::after { content: "−"; }
.article-faq details p { margin: 0; padding: 0 30px 17px 0; color: var(--muted); font-size: 13px; }
.article-related { display: grid; gap: 9px; margin-top: 30px; padding-block: 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.article-related > span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.article-cta { margin-top: 28px; padding: 23px; border-radius: 8px; background: #eef3e4; }
.article-cta h2 { margin: 0 0 8px; color: #34461f; font-size: 21px; }
.article-cta p { margin-bottom: 15px; font-size: 13px; }
.article-cta .button { background: #6f8c3b; color: #fff; }

@media (max-width: 780px) {
  .article-layout { grid-template-columns: 1fr; gap: 28px; }
  .article-sidebar { position: static; }
}

@media (max-width: 520px) {
  .blog-thumbnail { height: 190px; }
  .article-hero { padding-block: 34px 26px; }
  .article-hero h1 { font-size: 36px; }
  .article-feature-image { max-height: 260px; }
  .article-body h2 { font-size: 23px; }
  .article-layout { padding-block: 25px 52px; }
}

.footer-social { display: flex; gap: 9px; margin-top: 18px; }
.footer-social a { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #334155; border-radius: 6px; background: #111827; color: #fff; transition: color .2s, border-color .2s, transform .2s; }
.footer-social a:hover { transform: translateY(-2px); border-color: #67e8f9; color: #67e8f9; }
.footer-social svg { display: block; width: 17px; height: 17px; fill: currentColor; stroke: currentColor; stroke-width: 2; }
.footer-social svg rect, .footer-social svg circle { fill: none; }
.footer-social .social-icon-dot { fill: currentColor; stroke: none; }
.footer-social a:nth-child(1), .footer-social a:nth-child(2), .footer-social a:nth-child(3) { color: #fff; }
.footer-social a:nth-child(1):hover { border-color: #1877f2; background: #1877f2; color: #fff; }
.footer-social a:nth-child(2):hover { border-color: #e4405f; background: #e4405f; color: #fff; }
.footer-social a:nth-child(3):hover { border-color: #4285f4; background: #4285f4; color: #fff; }
}
