/* YESGEO: royal blue organizes information; coral red marks action. */
body { background: var(--brand-white); }
h1, h2, h3 { color: var(--brand-blue); }
button, a, summary, input, select, textarea { transition: background-color .18s, border-color .18s; }
:focus-visible { outline-color: var(--brand-blue); }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: 3px; }
.site-header { position: relative; background: var(--brand-white); }
.wordmark { color: var(--brand-blue); font-size: 34px; letter-spacing: -1.5px; }
.wordmark small { color: var(--brand-muted); font-weight: 500; }
.brand-dot { background: var(--brand-red); }
.main-nav { color: var(--brand-blue); }
.main-nav a[aria-current=page] { color: var(--brand-blue); border-bottom: 2px solid var(--brand-red); }
.main-nav>a:after { background: var(--brand-blue); }
.main-nav .nav-contact { border-color: var(--brand-red); background: var(--brand-red); color: var(--brand-white); border-radius: 6px; }
.main-nav .nav-contact:hover { background: var(--brand-red-hover); }
.btn, .kb-filter { border-radius: 6px; }
.primary { background: var(--brand-red); color: var(--brand-white); }
.primary:hover { background: var(--brand-red-hover); }
.text-link, .yi-inline-link, .yi-breadcrumb a, .article-body a, .plain-page a { color: var(--brand-blue); }
.text-link { border-color: var(--brand-blue); }
.text-link:hover, .footer-nav a:hover, .yi-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 5px; }
.eyebrow { color: var(--brand-blue); }
.section-index { color: var(--brand-muted); }
.principles span { background: var(--brand-blue-soft); color: var(--brand-blue); border-radius: 5px; }
.round-link { color: var(--brand-blue); border-color: var(--brand-border); }
.round-link:hover { background: var(--brand-blue); border-color: var(--brand-blue); color: var(--brand-white); }
.method { background: var(--brand-blue-soft); }
.method .section-heading h2, .method-grid h3 { color: var(--brand-blue); }
.contact { background: var(--brand-blue-soft); border-color: var(--brand-border); border-radius: 16px; }
.contact-download { color: var(--brand-copy); }
.contact-download a { color: var(--brand-blue); text-decoration: none; }
.site-footer { border-top: 1px solid var(--brand-border); }
.footer-nav { color: var(--brand-blue); }
.footer-note { white-space: normal; }
.yi-side-note, .yi-contact-box, .yi-callout, .yi-comparison .yi-highlight { border-radius: 16px; }
.yi-tag { background: var(--brand-blue-soft); border-radius: 5px; }
.yi-output { border-left-color: var(--brand-red); }
.yi-output strong { color: var(--brand-red); }
.kb-filter { color: var(--brand-blue); border-color: var(--brand-border); background: var(--brand-white); }
.kb-filter:hover { background: var(--brand-blue-soft); }
.kb-filter[aria-pressed=true] { color: var(--brand-white); background: var(--brand-blue); border-color: var(--brand-blue); }
.kb-search input { border-color: var(--brand-muted); color: var(--brand-ink); border-radius: 6px; }
.kb-card { border-radius: 16px; background: var(--brand-white); }
.kb-card:nth-child(3n+2) { background: var(--brand-blue-soft); }
.kb-card:nth-child(3n) { background: var(--brand-red-soft); }
.kb-card h2, .case-card h3 { color: var(--brand-blue); }
.kb-card>a { color: var(--brand-blue); }
.kb-card h2 a:hover, .kb-card>a:hover { text-decoration: underline; text-underline-offset: 4px; }
.case-card .case-industry { color: var(--brand-blue); }
.article-head h1 { color: var(--brand-blue); text-wrap: balance; }
.article-toc, .article-related, .article-consult, .article-end { border-radius: 12px; }
.article-toc { background: var(--brand-blue-soft); height: auto; max-height: none; overflow: visible; }
.article-toc a, .article-related a { color: var(--brand-blue); }
.article-consult { background: var(--brand-red-soft); border: 1px solid var(--brand-border); }
.article-consult .btn { color: var(--brand-white); }
.article-body th { background: var(--brand-blue-soft); }
.article-body h2, .article-body h3 { color: var(--brand-blue); }
.yi-phone a { color: var(--brand-blue); }
#consult-dialog { background: var(--brand-white); border-radius: 16px; }
.consult-aside { background: var(--brand-blue-soft); }
.consult-aside .contact-phone { color: var(--brand-blue); }
.dialog-close { background: var(--brand-white); border-radius: 6px; color: var(--brand-ink); }
.dialog-close:hover { background: var(--brand-blue-soft); }
#consult-form input:not([type=checkbox]), #consult-form textarea, #consult-form select { border-radius: 6px; border-color: var(--brand-muted); background: var(--brand-white); color: var(--brand-ink); }
#consult-form .consent input { accent-color: var(--brand-blue); }
#consult-form .consent a { color: var(--brand-blue); }
.form-status { color: var(--brand-blue); }
.form-status.is-error { color: var(--brand-red); }
@media (min-width: 961px) and (max-width: 1240px) {
  .site-header { height: 90px; }
  .menu-toggle { display: flex; flex-direction: column; gap: 6px; width: 40px; height: 40px; align-items: center; justify-content: center; border: 0; background: transparent; flex-shrink: 0; }
  .menu-toggle span { display: block; width: 21px; height: 1px; background: var(--brand-blue); }
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 50; background: var(--brand-white); padding: 20px 28px; box-shadow: 0 10px 22px rgb(36 87 214 / 6%); border-bottom: 1px solid var(--brand-border); flex-direction: column; align-items: stretch; gap: 0; }
  .main-nav.is-open { display: flex; }
  .main-nav>a { padding: 14px 0; border-bottom: 1px solid var(--brand-border); }
  .main-nav .nav-contact { margin-top: 12px; justify-content: space-between; }
}
@media (max-width: 700px) {
  .site-header { height: 86px; }
  .site-header .wordmark { flex-wrap: wrap; gap: 7px 0; font-size: 29px; max-width: calc(100% - 60px); }
  .site-header .wordmark small { flex-basis: 100%; border: 0; padding: 0; margin: 0; font-size: 10px; letter-spacing: .02em; white-space: normal; }
  .site-header .brand-dot { width: 6px; height: 6px; }
  .contact { border-radius: 12px; }
  .site-footer .wordmark { font-size: 31px; }
  .site-footer>div>p { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  button, a, summary, input, select, textarea { transition: none; }
}
