/* Homepage editorial redesign. Scoped so internal pages retain their styling. */
.homepage-redesign { --home-ink:#07152e; --home-copper:#b35423; --home-blue:#249ed0; font-family:Arial,Helvetica,sans-serif; color:#4b5563; }
.homepage-redesign h1,.homepage-redesign h2,.homepage-redesign h3 {color:var(--home-ink); font-family:Arial,Helvetica,sans-serif;}
.homepage-redesign a:focus-visible,.homepage-redesign summary:focus-visible,.homepage-redesign button:focus-visible { outline:3px solid var(--home-copper); outline-offset:5px; }
.homepage-redesign .home-container {width:calc(100% - 80px);max-width:1280px;margin-inline:auto;}
.homepage-redesign #site-header {border-bottom:1px solid #e6ebef;}
.homepage-redesign #site-header>.container-faa {max-width:1360px;padding-inline:40px;height:104px!important;}
.homepage-redesign .site-header-logo {width:252px;height:auto;max-height:none;}
.homepage-redesign .utilnav-link {font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;color:var(--home-ink);}
.homepage-redesign .utility-access-link {display:none;}
.homepage-redesign .assessment-dd--desktop {display:none!important;}
.homepage-redesign .assessment-dd--compact {display:inline-flex!important;}
.homepage-redesign .assessment-dd__heading {color:#fff;}
.homepage-redesign .mobile-header-cta {display:inline-flex!important;font-family:Arial,Helvetica,sans-serif;border-radius:2px;background:#176595;border:0;box-shadow:none;font-weight:600;font-size:14px;padding:0 20px;height:48px;color:white;}
.homepage-redesign .mobile-header-cta::before,.homepage-redesign .mobile-header-cta::after {display:none;}
.homepage-redesign .mobile-menu-toggle {border-radius:4px;box-shadow:none;}
.homepage-redesign .home-masthead {display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;padding-block:52px 40px;}
.homepage-redesign .home-masthead h1 {font-size:clamp(56px,6.1vw,84px);font-weight:800;line-height:.98;letter-spacing:-.065em;margin:0;}
.homepage-redesign .home-period {color:var(--home-blue);}
.homepage-redesign .home-intro {border-left:1px solid #bcc5cd;padding-left:48px;}
.homepage-redesign .home-intro h2 {font-size:clamp(25px,2.5vw,34px);font-weight:750;letter-spacing:-.045em;line-height:1.15;margin:0 0 12px;}
.homepage-redesign .home-intro p {font-size:18px;line-height:1.45;margin:0 0 24px;}
.homepage-redesign .home-actions {display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;}
.homepage-redesign .home-button {background:#10344b;color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:14px 22px;font-weight:600;font-size:14px;line-height:1.35;text-decoration:none;border:1px solid #10344b;transition:background .15s;}
.homepage-redesign .home-button:hover {background:#1b5b7d;}
.homepage-redesign .home-button span {font-size:22px;line-height:1;}
.homepage-redesign .home-text-link {color:#15567c;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:12px;padding:12px 0 7px;border-bottom:2px solid var(--home-blue);text-decoration:none;}
.homepage-redesign .home-text-link:hover {color:var(--home-ink);border-color:var(--home-copper);}
.homepage-redesign .home-section-label {font-size:11px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;display:flex;align-items:center;gap:20px;margin:0 0 18px;line-height:1.5;color:var(--home-ink);}
.homepage-redesign .home-section-label::after {content:"";height:1px;flex:1;background:#a9b3bf;}
.homepage-redesign .home-story-grid {display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:224px 224px;gap:14px;}
.homepage-redesign .home-story {display:block;position:relative;overflow:hidden;background:#14283c;color:white;}
.homepage-redesign .home-story--lead {grid-row:span 2;}
.homepage-redesign .home-story img {height:100%;width:100%;object-fit:cover;transition:transform .25s ease;}
.homepage-redesign .home-story:hover img {transform:scale(1.025);}
.homepage-redesign .home-story-caption {position:absolute;inset:auto 0 0;padding:50px 24px 22px;background:linear-gradient(transparent,rgba(7,25,43,.92) 55%);}
.homepage-redesign .home-story-rule {display:block;width:42px;height:3px;background:var(--home-blue);margin:0 0 12px;}
.homepage-redesign .home-story h3 {font-size:24px;font-weight:700;color:white;line-height:1.12;letter-spacing:-.025em;margin:0;padding-right:24px;}
.homepage-redesign .home-story--lead h3 {font-size:clamp(29px,3vw,40px);}
.homepage-redesign .home-story--lead .home-story-caption {padding:62px 34px 30px;}
.homepage-redesign .home-story-arrow {position:absolute;right:24px;bottom:23px;font-size:28px;line-height:1;}
.homepage-redesign .home-all-insights {margin-top:10px;}
.homepage-redesign .home-methodology {padding-block:52px 42px;}
.homepage-redesign .home-heading {font-size:clamp(32px,3.4vw,46px);font-weight:750;letter-spacing:-.045em;line-height:1.12;margin:0 0 20px;}
.homepage-redesign .home-steps {list-style:none;padding:0;margin:12px 0 0;}
.homepage-redesign .home-step {position:relative;display:grid;grid-template-columns:100px minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:32px;min-height:148px;padding:18px 0;}
.homepage-redesign .home-step+.home-step {border-top:1px solid #c0c8d0;}
.homepage-redesign .home-step:not(:last-child)::after {content:"";position:absolute;top:50%;bottom:-50%;left:49px;width:3px;background:var(--home-copper);z-index:0;}
.homepage-redesign .home-step-number {position:relative;z-index:1;border-radius:50%;width:90px;height:90px;background:var(--home-copper);color:white;display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:700;line-height:1;margin-left:5px;font-variant-numeric:lining-nums tabular-nums;}
.homepage-redesign .home-step-copy {position:relative;z-index:1;}
.homepage-redesign .home-step h3 {font-size:25px;letter-spacing:-.035em;line-height:1.15;font-weight:700;margin:0 0 8px;}
.homepage-redesign .home-step h3 a {color:inherit;text-decoration:none;}
.homepage-redesign .home-step h3 a:hover {text-decoration:underline;text-decoration-color:var(--home-copper);text-underline-offset:5px;}
.homepage-redesign .home-step p {font-size:17px;line-height:1.4;margin:0;max-width:470px;}
.homepage-redesign .home-step img {width:100%;height:108px;object-fit:cover;object-position:center 45%;}
.homepage-redesign .home-industries {position:relative;background:#14283c;color:white;overflow:hidden;}
.homepage-redesign .home-industries-photo {position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center 42%;}
.homepage-redesign .home-industries::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,31,49,.97),rgba(12,31,49,.75) 48%,rgba(12,31,49,.1)),linear-gradient(transparent 50%,rgba(12,31,49,.85));}
.homepage-redesign .home-industries-content {position:relative;z-index:1;padding-block:42px 28px;}
.homepage-redesign .home-industries .home-section-label {color:white;max-width:550px;}
.homepage-redesign .home-industries .home-heading {color:white;margin-bottom:36px;}
.homepage-redesign .home-industry-links {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;}
.homepage-redesign .home-industry-links a {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:600;line-height:1.4;color:white;border-bottom:2px solid #47b7dc;text-decoration:none;padding:12px 0;min-height:48px;}
.homepage-redesign .home-industry-links a:hover {border-color:#fff;}
.homepage-redesign .home-industry-links span {font-size:23px;}
.homepage-redesign .home-industries-all {display:inline-block;color:#e3eef6;font-size:13px;margin-top:18px;padding-block:8px;text-decoration:underline;text-underline-offset:5px;}
.homepage-redesign .home-assessment {background:#edf2f6;padding-block:40px;}
.homepage-redesign .home-assessment-grid {display:grid;grid-template-columns:1.5fr 1fr auto;gap:36px;align-items:center;}
.homepage-redesign .home-eyebrow {font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--home-ink);font-weight:600;margin:0 0 14px;line-height:1.4;}
.homepage-redesign .home-assessment h2 {font-size:31px;font-weight:750;line-height:1.15;letter-spacing:-.045em;margin:0;}
.homepage-redesign .home-assessment-grid>p {border-left:1px solid #bcc5cd;padding-left:36px;font-size:15px;line-height:1.45;margin:0;}
.homepage-redesign .home-faq {display:grid;grid-template-columns:1fr 1.7fr;gap:70px;padding-block:52px;}
.homepage-redesign .home-faq h2 {font-size:28px;font-weight:700;letter-spacing:-.04em;line-height:1.15;margin:0;}
.homepage-redesign .home-faq-intro {margin:16px 0 0;font-size:16px;line-height:1.6;}
.homepage-redesign .home-faq-item {border-top:1px solid #c0c8d0;}
.homepage-redesign .home-faq-item:last-child {border-bottom:1px solid #c0c8d0;}
.homepage-redesign .home-faq summary {display:flex;justify-content:space-between;gap:22px;align-items:center;list-style:none;padding:18px 0;cursor:pointer;color:var(--home-ink);font-size:15px;font-weight:600;line-height:1.4;}
.homepage-redesign .home-faq summary::-webkit-details-marker {display:none;}
.homepage-redesign .home-faq summary::after {content:"+";color:#15567c;font-size:25px;line-height:1;flex-shrink:0;font-weight:400;}
.homepage-redesign .home-faq details[open] summary::after {content:"−";}
.homepage-redesign .home-faq details p {font-size:15px;line-height:1.6;padding-bottom:20px;margin:0;}
.homepage-redesign .home-footer {font-family:Arial,Helvetica,sans-serif;}
.homepage-redesign .home-footer>.container-faa {padding-block:32px!important;}
.homepage-redesign .home-footer .footer-attribution {font-size:16px;font-weight:600;color:white;margin:0 0 22px;}
.homepage-redesign .home-footer .flex.items-center.gap-4 {flex-wrap:wrap;}
@media(min-width:1280px){.homepage-redesign #site-header nav[aria-label="Primary"] {gap:24px;margin-inline:24px;}}
@media(max-width:1100px){
 .homepage-redesign .home-masthead {gap:30px;grid-template-columns:1fr 1fr;}
 .homepage-redesign .home-masthead h1 {font-size:64px;}
 .homepage-redesign .home-intro {padding-left:30px;}
 .homepage-redesign .home-story-grid {grid-template-rows:200px 200px;}
 .homepage-redesign .home-step {gap:24px;grid-template-columns:88px minmax(0,1.3fr) minmax(0,1fr);}
 .homepage-redesign .home-step-number {width:76px;height:76px;font-size:44px;margin-left:6px;}
 .homepage-redesign .home-step:not(:last-child)::after {left:43px;}
 .homepage-redesign .home-step h3 {font-size:22px;}
 .homepage-redesign .home-assessment-grid {gap:24px;grid-template-columns:1.3fr 1fr;}
 .homepage-redesign .home-assessment .home-button {grid-column:2;justify-self:start;}
 .homepage-redesign .home-faq {gap:40px;}
}
@media(max-width:760px){
 .homepage-redesign .home-container {width:calc(100% - 40px);}
 .homepage-redesign #site-header>.container-faa {padding-inline:20px;height:84px!important;}
 .homepage-redesign .site-header-logo {width:190px;}
 .homepage-redesign .home-masthead {grid-template-columns:1fr;gap:24px;padding-block:36px 32px;}
 .homepage-redesign .home-masthead h1 {font-size:clamp(46px,10.5vw,76px);}
 .homepage-redesign .home-intro {border-left:0;padding:0;}
 .homepage-redesign .home-intro h2 {font-size:27px;}
 .homepage-redesign .home-intro p {font-size:17px;margin-bottom:18px;}
 .homepage-redesign .home-actions {gap:14px 24px;}
 .homepage-redesign .home-section-label {font-size:10px;letter-spacing:.13em;gap:12px;}
 .homepage-redesign .home-story-grid {grid-template-columns:1fr 1fr;grid-template-rows:360px 240px;gap:12px;}
 .homepage-redesign .home-story--lead {grid-column:span 2;grid-row:auto;}
 .homepage-redesign .home-story h3 {font-size:21px;padding-right:12px;}
 .homepage-redesign .home-story--lead h3 {font-size:34px;}
 .homepage-redesign .home-story-caption {padding:70px 16px 40px;}
 .homepage-redesign .home-story--lead .home-story-caption {padding:70px 24px 26px;}
 .homepage-redesign .home-story-arrow {right:15px;bottom:12px;font-size:23px;}
 .homepage-redesign .home-story--lead .home-story-arrow {right:22px;bottom:25px;}
 .homepage-redesign .home-methodology {padding-block:38px 28px;}
 .homepage-redesign .home-heading {font-size:35px;}
 .homepage-redesign .home-step {grid-template-columns:64px minmax(0,1fr);gap:14px 20px;padding-block:22px;align-items:start;}
 .homepage-redesign .home-step-number {width:56px;height:56px;font-size:32px;margin-left:4px;grid-column:1;grid-row:1;}
 .homepage-redesign .home-step:not(:last-child)::after {top:50px;bottom:-50px;left:31px;}
 .homepage-redesign .home-step-copy {grid-column:2;grid-row:1;}
 .homepage-redesign .home-step h3 {font-size:23px;}
 .homepage-redesign .home-step p {font-size:16px;line-height:1.45;}
 .homepage-redesign .home-step img {grid-column:2;grid-row:2;height:120px;}
 .homepage-redesign .home-industries-content {padding-block:32px 24px;}
 .homepage-redesign .home-industries::after {background:linear-gradient(90deg,rgba(12,31,49,.95),rgba(12,31,49,.5)),linear-gradient(transparent,rgba(12,31,49,.8));}
 .homepage-redesign .home-industry-links {grid-template-columns:1fr 1fr;gap:8px 24px;}
 .homepage-redesign .home-industry-links a {font-size:14px;}
 .homepage-redesign .home-assessment {padding-block:32px;}
 .homepage-redesign .home-assessment-grid {grid-template-columns:1fr;gap:20px;}
 .homepage-redesign .home-assessment-grid>p {padding:0;border:0;font-size:16px;max-width:420px;}
 .homepage-redesign .home-assessment h2 {font-size:32px;}
 .homepage-redesign .home-assessment .home-button {grid-column:auto;justify-self:start;min-width:150px;}
 .homepage-redesign .home-faq {grid-template-columns:1fr;gap:26px;padding-block:36px;}
 .homepage-redesign .home-faq-intro {display:none;}
 .homepage-redesign .home-footer>.container-faa {padding-inline:20px;}
}
@media(max-width:480px){
 .homepage-redesign #site-header>.container-faa {padding-inline:16px;height:76px!important;}
 .homepage-redesign .site-header-logo {width:154px;}
 .homepage-redesign .mobile-header-cta {font-size:12px;padding-inline:12px;height:42px;gap:9px;}
 .homepage-redesign .mobile-menu-toggle {width:40px;height:42px;margin-left:10px;}
 .homepage-redesign .home-desktop-break {display:none;}
 .homepage-redesign .home-story-grid {grid-template-columns:1fr;grid-template-rows:320px 220px 220px;}
 .homepage-redesign .home-story--lead {grid-column:auto;}
 .homepage-redesign .home-story h3 {font-size:25px;max-width:90%;}
 .homepage-redesign .home-story--lead h3 {font-size:31px;}
 .homepage-redesign .home-story-caption {padding:80px 22px 22px;}
 .homepage-redesign .home-story-arrow {right:20px;bottom:20px;}
 .homepage-redesign .home-step {grid-template-columns:50px minmax(0,1fr);gap:16px;}
 .homepage-redesign .home-step-number {width:48px;height:48px;font-size:29px;margin-left:0;}
 .homepage-redesign .home-step:not(:last-child)::after {left:23px;top:46px;bottom:-46px;}
 .homepage-redesign .home-step h3 {font-size:22px;}
 .homepage-redesign .home-step img {height:112px;}
 .homepage-redesign .home-industry-links {gap:8px 18px;}
}
@media(max-width:359px){.homepage-redesign .site-header-logo{width:125px;}.homepage-redesign .home-container{width:calc(100% - 32px);}.homepage-redesign .home-masthead h1{font-size:45px;}.homepage-redesign .mobile-header-cta{padding-inline:9px;}.homepage-redesign .mobile-menu-toggle{margin-left:7px;width:36px;}}
@media(prefers-reduced-motion:reduce){.homepage-redesign .home-story img,.homepage-redesign .home-button{transition:none;}.homepage-redesign .home-story:hover img{transform:none;}}
