/* Companies */
.companies-hero { overflow: hidden; border-bottom: 1px solid #d7e4d9; background: #103d31; }
.companies-hero-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr); align-items: center; gap: 74px; padding-top: 86px; padding-bottom: 92px; }
.companies-hero-inner:before { content: ""; position: absolute; width: 620px; height: 620px; right: -250px; top: -300px; border-radius: 50%; border: 1px solid rgba(215,189,120,.23); box-shadow: 0 0 0 42px rgba(215,189,120,.04), 0 0 0 84px rgba(215,189,120,.035); }
.companies-copy { position: relative; max-width: 640px; }
.companies-copy .public-eyebrow { color: #d8bf80; border-color: rgba(215,189,120,.28); background: rgba(255,255,255,.06); }
.companies-copy h1 { margin: 20px 0 19px; color: #fff; font-size: clamp(41px, 5.1vw, 69px); letter-spacing: -3px; line-height: 1; }
.companies-copy h1 em { color: #d9bd78; font-family: var(--serif); font-weight: 400; }
.companies-copy > p { max-width: 605px; color: #c1d4c9; font-size: 16px; line-height: 1.7; }
.companies-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.companies-actions .button-secondary { color: #e2eee5; border-color: rgba(226,238,229,.25); background: transparent; }
.companies-actions .button-secondary:hover { color: #fff; border-color: rgba(226,238,229,.56); background: rgba(255,255,255,.07); }
.companies-trust { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 28px; color: #bad0c2; font-size: 11px; font-weight: 700; }
.companies-trust span { display: flex; align-items: center; gap: 5px; }
.companies-trust svg { color: #d5b86d; }
.company-command-card { position: relative; padding: 22px; border: 1px solid rgba(227,239,229,.25); border-radius: 12px; color: #dbe9df; background: rgba(4,29,22,.56); box-shadow: 0 24px 68px rgba(0,0,0,.18); }
.command-top, .command-foot { display: flex; justify-content: space-between; gap: 12px; color: #90b29f; font-size: 9px; letter-spacing: .9px; font-weight: 800; }
.command-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 38px 0 25px; border-bottom: 1px solid rgba(220,237,224,.14); }
.command-heading div { display: grid; gap: 6px; }
.command-heading small { color: #8aac99; font-size: 9px; letter-spacing: 1px; font-weight: 800; }
.command-heading strong { color: #fff; font-size: 21px; letter-spacing: -.6px; }
.command-score { color: #d9bd78; font: 32px var(--serif); }
.command-lines { display: grid; gap: 17px; padding: 27px 0; }
.command-lines div { display: grid; gap: 8px; }
.command-lines span { color: #b8ccc0; font-size: 11px; }
.command-lines i { display: block; height: 4px; border-radius: 99px; background: linear-gradient(90deg, #d9bd78 0 57%, rgba(255,255,255,.12) 57%); }
.command-lines div:nth-child(2) i { background: linear-gradient(90deg, #73b28d 0 73%, rgba(255,255,255,.12) 73%); }
.command-lines div:nth-child(3) i { background: linear-gradient(90deg, #86a9b5 0 38%, rgba(255,255,255,.12) 38%); }
.command-alert { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid rgba(215,189,120,.24); border-radius: 7px; color: #e8d59f; font-size: 11px; line-height: 1.45; }
.command-foot { padding-top: 18px; margin-top: 17px; border-top: 1px solid rgba(220,237,224,.14); color: #83a395; letter-spacing: 0; text-transform: none; }
.business-proof { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding-top: 27px; padding-bottom: 27px; }
.business-proof > div { display: grid; gap: 2px; padding: 0 18px; border-right: 1px solid #dce7de; }
.business-proof > div:first-child { padding-left: 0; }
.business-proof > div:last-child { border-right: 0; }
.business-proof span { color: var(--gold); font: 20px var(--serif); }
.business-proof strong { color: var(--forest); font-size: 13px; }
.business-proof small { color: #71877c; font-size: 10px; }
.business-services { padding-top: 86px; padding-bottom: 95px; }
.business-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 39px; border: 1px solid #dce7de; background: #dce7de; }
.business-service-card { min-height: 222px; padding: 23px; background: #fff; }
.business-service-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 22px; border-radius: 8px; color: var(--emerald); background: #e8f2e9; }
.business-service-card h3 { margin: 0 0 9px; color: var(--forest); font-size: 17px; letter-spacing: -.5px; }
.business-service-card p { min-height: 56px; margin-bottom: 17px; color: #6a8176; font-size: 12px; line-height: 1.55; }
.business-service-card a { display: inline-flex; align-items: center; gap: 6px; color: #276e55; font-size: 11px; font-weight: 800; }
.business-method { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 62px; padding: 95px max(24px, calc((100vw - 1160px) / 2)); color: #dbe9df; background: var(--forest); }
.business-method-copy { max-width: 710px; }
.public-label-light { color: #d5bc79; }
.business-method h2 { margin: 11px 0 15px; color: #fff; font-size: clamp(31px, 4vw, 51px); letter-spacing: -2.2px; line-height: 1.06; }
.business-method h2 em { color: #d9bd78; font-family: var(--serif); font-weight: 400; }
.business-method-copy > p { color: #b7cfc2; font-size: 15px; line-height: 1.7; }
.method-list { display: grid; gap: 0; margin: 30px 0; border-top: 1px solid rgba(222,239,227,.2); }
.method-list > div { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid rgba(222,239,227,.2); }
.method-list > div > span { color: #d3b86e; font: 20px var(--serif); }
.method-list p { margin: 0; color: #b7cfc2; font-size: 12px; line-height: 1.55; }
.method-list strong { display: block; margin-bottom: 3px; color: #fff; font-size: 13px; }
.business-method-aside { align-self: center; padding: 28px; border: 1px solid rgba(222,239,227,.18); border-radius: 10px; background: rgba(255,255,255,.055); }
.business-method-aside span { color: #d5bc79; font-size: 10px; font-weight: 800; letter-spacing: 1.3px; }
.business-method-aside strong { display: block; margin: 23px 0 11px; color: #fff; font-size: 22px; line-height: 1.2; }
.business-method-aside p { margin: 0; color: #aec8ba; font-size: 12px; line-height: 1.6; }
.business-segments { padding-top: 87px; padding-bottom: 95px; }
.segments-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 34px; border: 1px solid #dce7de; background: #dce7de; }
.segments-grid > div { display: flex; align-items: center; gap: 15px; min-height: 74px; padding: 17px; background: #fff; }
.segments-grid span { color: var(--gold); font: 20px var(--serif); }
.segments-grid strong { color: var(--forest); font-size: 13px; }
.business-cta { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-bottom: 100px; padding: 45px 50px; border-radius: 12px; background: #eaf3eb; }
.business-cta > div:first-child { max-width: 710px; }
.business-cta h2 { margin: 9px 0 12px; color: var(--forest); font-size: clamp(28px, 4vw, 48px); line-height: 1.05; letter-spacing: -2px; }
.business-cta h2 em { color: var(--gold); font-family: var(--serif); font-weight: 400; }
.business-cta p { color: #60786d; font-size: 13px; }

/* Diagnostic */
.diagnostic-page { border-bottom: 1px solid #dce7de; background: linear-gradient(120deg, #f3f8f3, #fafbf9); }
.diagnostic-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, .8fr); gap: 88px; align-items: center; min-height: calc(100vh - 86px); padding-top: 72px; padding-bottom: 86px; }
.diagnostic-intro { max-width: 590px; }
.back-link { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 32px; color: #5f7b6f; font-size: 11px; font-weight: 800; }
.diagnostic-intro h1 { margin: 18px 0; color: var(--forest); font-size: clamp(41px, 5vw, 67px); line-height: 1; letter-spacing: -3px; }
.diagnostic-intro h1 em { color: var(--gold); font-family: var(--serif); font-weight: 400; }
.diagnostic-intro > p { color: #60786d; font-size: 16px; line-height: 1.7; }
.diagnostic-points { display: grid; gap: 9px; margin: 27px 0; color: #4c6e5e; font-size: 12px; font-weight: 700; }
.diagnostic-points span { display: flex; align-items: center; gap: 7px; }
.diagnostic-points svg { color: #2c8a68; }
.diagnostic-security { display: flex; align-items: flex-start; gap: 10px; max-width: 490px; padding-top: 19px; border-top: 1px solid #dbe7dd; color: var(--gold); }
.diagnostic-security span { display: grid; gap: 3px; }
.diagnostic-security strong { color: var(--forest); font-size: 12px; }
.diagnostic-security small { color: #72887d; font-size: 11px; }
.diagnostic-card { padding: 31px; border: 1px solid #d8e5da; border-radius: 12px; background: #fff; box-shadow: 0 24px 60px rgba(10,64,49,.08); }
.diagnostic-form-heading { padding-bottom: 22px; border-bottom: 1px solid #e0eae2; }
.diagnostic-form-heading h2 { margin: 9px 0 7px; color: var(--forest); font-size: 27px; letter-spacing: -1px; }
.diagnostic-form-heading p { margin: 0; color: #70867b; font-size: 12px; }
.diagnostic-fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px 12px; padding: 24px 0 17px; }
.diagnostic-fields label { display: grid; gap: 7px; }
.diagnostic-fields label.wide { grid-column: 1 / -1; }
.diagnostic-fields label > span { display: flex; align-items: center; gap: 6px; color: #4d6e5e; font-size: 11px; font-weight: 800; }
.diagnostic-fields label > span svg { color: var(--gold); }
.diagnostic-fields input, .diagnostic-fields textarea { width: 100%; border: 1px solid #d9e5db; border-radius: 6px; outline: 0; color: var(--forest); background: #fbfdfb; font-size: 12px; }
.diagnostic-fields input { min-height: 44px; padding: 0 12px; }
.diagnostic-fields textarea { min-height: 105px; padding: 11px 12px; resize: vertical; }
.diagnostic-fields input:focus, .diagnostic-fields textarea:focus { border-color: #91b69c; box-shadow: 0 0 0 3px rgba(56,130,91,.12); }
.diagnostic-consent { margin: 0 0 18px; color: #71877c; font-size: 10px; line-height: 1.55; }
.diagnostic-consent a { color: var(--emerald); text-decoration: underline; text-underline-offset: 2px; }
.diagnostic-card form > .button-primary { width: 100%; }
.form-note { display: flex; align-items: center; gap: 6px; margin-top: 14px; color: #789084; font-size: 10px; }
.form-note svg { color: #37906e; }
.diagnostic-success { text-align: center; padding: 32px 8px; }
.diagnostic-success-icon { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 22px; border-radius: 50%; color: #fff; background: var(--emerald); }
.diagnostic-success h2 { margin: 11px 0 12px; color: var(--forest); font-size: 30px; line-height: 1.08; }
.diagnostic-success h2 em { color: var(--gold); font-family: var(--serif); font-weight: 400; }
.diagnostic-success p { color: #71877c; font-size: 13px; line-height: 1.65; }
.diagnostic-success .button-primary { margin-top: 12px; }
@media (max-width: 900px) { .public-problem-layout { grid-template-columns: 1fr; gap: 34px; padding-top: 58px; } .public-side-nav { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; } .public-side-nav > span { width: 100%; } .public-side-nav a { padding-left: 0; border-left: 0; } .public-side-nav .button-primary { width: auto; margin-left: auto; } .companies-hero-inner, .diagnostic-shell { grid-template-columns: 1fr; gap: 48px; } .company-command-card { max-width: 620px; } .business-method { grid-template-columns: 1fr; gap: 35px; } .institutional-page { grid-template-columns: 1fr; gap: 36px; } .institutional-rail { position: static; display: flex; align-items: center; } }
@media (max-width: 680px) { .public-wrap { width: min(100% - 36px, 1160px); } .public-hero-content { padding-top: 38px; padding-bottom: 54px; } .public-breadcrumbs { margin-bottom: 27px; } .public-hero h1, .companies-copy h1, .diagnostic-intro h1 { font-size: clamp(37px, 11vw, 53px); letter-spacing: -2.4px; } .public-hero-content > p, .companies-copy > p, .diagnostic-intro > p { font-size: 15px; } .public-document-list, .business-service-grid, .segments-grid, .demo-outline { grid-template-columns: 1fr; } .business-proof { grid-template-columns: repeat(2, 1fr); gap: 18px 0; } .business-proof > div:nth-child(2) { border-right: 0; } .business-proof > div:nth-child(3) { padding-left: 0; } .business-proof > div { padding-inline: 12px; } .business-proof > div:first-child { padding-left: 0; } .business-proof > div:last-child { padding-left: 12px; } .editorial-article { grid-template-columns: 31px minmax(0, 1fr); gap: 9px; } .editorial-article h2 { font-size: 21px; } .institutional-content > section { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; } .institutional-content h2 { font-size: 25px; } .institutional-note { display: grid; grid-template-columns: auto 1fr; } .institutional-note .button-primary { grid-column: 1 / -1; width: 100%; } .diagnostic-fields { grid-template-columns: 1fr; } .diagnostic-fields label.wide { grid-column: auto; } .diagnostic-card { padding: 23px 18px; } .companies-hero-inner { padding-top: 58px; padding-bottom: 65px; } .companies-actions > a { width: 100%; } .companies-trust { display: grid; gap: 9px; } .business-services, .business-segments { padding-top: 64px; padding-bottom: 70px; } .business-method { padding: 68px 18px; } .business-cta { display: grid; margin-bottom: 70px; padding: 29px 22px; } .business-cta .button-primary, .business-cta .button-secondary { width: 100%; } .business-cta > a { width: 100%; } .public-index-page, .editorial-article-page, .institutional-page { padding-top: 58px; padding-bottom: 72px; } }
@media (prefers-reduced-motion: reduce) { .editorial-link, .public-faq summary svg, .institutional-faq summary svg { transition: none; } }

