/* Corporate visual system: shared type, measured contrast, quiet surfaces. */
:root{--navy:#183047;--navy-deep:#102638;--navy-soft:#34536a;--ink:#344553;--muted:#596b78;--brass:#947345;--paper:#fff;--ivory:#f6f5f1;--beige:#f6f5f1;--pale-blue:#edf3f5;--pale-blue-deep:#dce7eb;--line:#dce3e7;--shadow:0 8px 26px rgba(16,38,56,.05)}
:root body{color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75}
:root body .article-body :is(p,ul,ol,li,blockquote,td,.list-feature-text,.list-feature-description,.list-feature-title),
:root body .article-body .styled-dot-list .step-copy>h3,
:root body .article-body .faq-answer :is(p,ul,ol){font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:1.75;letter-spacing:normal;color:var(--ink)}
:root body .article-body :is(.step-copy>h3,.list-feature-title){font-weight:600;margin-bottom:6px}
:root body .article-body>p{margin-block:0 22px}
:root body :is(h1,h2,h3){color:var(--navy);text-wrap:pretty}
:root body .article-body h2{font-size:clamp(26px,2.7vw,36px);font-weight:600;line-height:1.25;letter-spacing:-.025em;margin-top:56px;margin-bottom:20px}
:root body .article-body h3{font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.01em}
:root body .article-body :is(.eyebrow,.updated,.label){font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.13em;color:#76603e}
.article-body a:not(.button){color:#245771;text-decoration-thickness:1px;text-underline-offset:3px}
.article-body a:not(.button):hover{color:var(--navy);text-decoration-thickness:2px}
:focus-visible{outline:2px solid #346f8c;outline-offset:4px}
.breadcrumbs{padding-block:18px;color:var(--muted)}
.breadcrumbs ol{justify-content:flex-start;flex-wrap:wrap;gap:6px}
:root body .breadcrumbs{font-size:11px;letter-spacing:.035em;font-weight:400}
.hero.shell{min-height:480px;background:var(--pale-blue)}
.hero>div{padding:clamp(40px,5vw,80px)}
.hero>div:only-child{min-height:320px;background:var(--pale-blue);padding-block:64px}
:root body .hero h1{font-size:clamp(36px,4.3vw,60px);font-weight:500;line-height:1.12;letter-spacing:-.04em;max-width:1000px}
.hero h1:after{width:48px;margin-top:26px;border-color:var(--brass)}
:root body .hero .dek{font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.7;color:var(--ink)}
.hero img{min-height:480px}
.article-body{padding-top:48px}
:root body .button{min-height:46px;padding:13px 22px;border-radius:4px;font-size:14px;font-weight:600;line-height:1.4;letter-spacing:0;background:var(--navy);border-color:var(--navy);color:#fff!important;transition:background .15s ease}
:root body .button:hover{background:var(--navy-soft);color:#fff!important}
:root body .button-secondary{background:#fff;color:var(--navy)!important;border-color:#aebdc6}
:root body .button-secondary:hover{background:#edf3f5;color:var(--navy)!important}
:root body .services-dropdown a{font-size:13px;line-height:1.4;letter-spacing:0;text-transform:none}
.services-dropdown{border-top:2px solid var(--brass);max-height:calc(100vh - 140px);overflow-y:auto}
:root body .utility,:root body .utility *{font-family:Arial,Helvetica,sans-serif;font-size:12px}
.brand-triangle{background:#fff}
.cta-band,.article-body>.crosslink-panel{background:var(--ivory);border:1px solid #e5e3dc;border-left:3px solid var(--brass);border-radius:4px;padding:30px 34px}
:root body .article-body .cta-band p{font-size:16px;line-height:1.75}
:root body .article-body>.crosslink-panel h2{margin:0 0 10px;font-size:20px}
.split-feature,.evidence-module{background:#f4f6f7;margin-block:72px}
.evidence-visual img{min-height:520px}
:root body .evidence-panel h2{font-size:clamp(28px,3vw,38px)!important;line-height:1.25!important}
.process-row{grid-template-columns:42px minmax(100px,.8fr) minmax(0,1.2fr);gap:16px;min-height:94px}
:root body .process-row>span:last-child{font-size:15px;color:var(--ink)}
:root body .process-row strong{font-size:11px;letter-spacing:.06em}
.article-body table{border-spacing:0;border:1px solid var(--line);border-radius:4px}
.article-body th{background:var(--navy);font-size:12px;line-height:1.5;letter-spacing:.045em;padding:16px 20px}
.article-body td{background:#fff;border-bottom:1px solid var(--line);padding:18px 20px}
.article-body tbody tr:nth-child(even) td{background:#f6f8f9}
.article-body tbody tr:hover td{background:#edf3f5}
.article-body tr:last-child td{border-bottom:0}
:root body .article-body ul>li::marker{color:#b49a76;font-size:1.05em}
:root body .article-body ul>li:nth-child(odd)::marker{color:#b49a76}
:root body .article-body ul>li{padding-block:8px}
:root body .article-body ul.styled-dot-list{margin-block:24px 32px}
:root body .article-body .styled-dot-list>.styled-dot-item:has(h3),:root body .article-body .styled-dot-list>.styled-dot-item:has(.list-feature-title){padding-block:12px}
:root body .faq-section>h2{margin-top:0;margin-bottom:24px}
.faq-accordion,.faq-item,.faq-item[open]>summary{border-color:var(--line)}
.faq-item>summary{min-height:72px;padding-block:22px;color:var(--navy)}
:root body .faq-item>summary>h3{font-size:15px;font-weight:600;line-height:1.65;letter-spacing:.035em;text-transform:none}
.faq-item>summary:hover{background:#f6f8f9}
.faq-answer{padding-block:22px 28px}
.related-grid,.blog-grid,.resource-card-grid,.client-review-grid{gap:20px}
.related-card,.related-card:first-child,.blog-card,.resource-card,.case-study-card,.location-card{border:1px solid var(--line);border-radius:4px;background:#fff;box-shadow:none}
.related-card{min-height:130px;align-items:center;transition:background .15s ease}
.related-card:hover{transform:none;background:#f3f6f8;border-color:#aebdc6}
.related-grid{border-top:0}
:root body .related h2{font-size:28px;font-weight:600;text-align:left}
:root body :is(.blog-card,.resource-card,.case-study-card) h2{font-size:24px;line-height:1.35}
.client-review,.testimonial-card{background:var(--ivory);border-top:2px solid #b49a76}
.assessment-band{background:var(--pale-blue);border-top:1px solid var(--line)}
.assessment-inner{min-height:280px;padding-block:52px}
:root body .assessment-inner h2{font-size:clamp(26px,2.7vw,36px);font-weight:600;max-width:920px}
:root body .assessment-inner p{font-size:17px;color:var(--ink);max-width:850px;line-height:1.7;margin-top:12px}
.site-footer{background:var(--navy-deep);border-top:2px solid #947345}
:root body .footer-column a,:root body .footer-intro p{font-size:14px;line-height:1.7;color:#d8e1e7}
:root body .footer-column h2{color:#d7bf99;font-size:12px;letter-spacing:.12em}
.footer-column a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{background:#0c1f2f;color:#b9c7d2}
@media(min-width:1051px){
 .site-header{grid-template-columns:240px 1fr;grid-template-rows:40px 88px;min-height:128px}
 .utility{height:40px;padding-inline:24px}
 .utility-meta>*{padding-inline:18px}
 .nav-stage,.nav-frame{min-height:88px}
 .nav-frame{padding-left:24px}
 .nav-list{gap:24px}.nav-right{margin-left:24px}
 :root body .nav-list>li>a{font-size:12px;letter-spacing:0;text-transform:none;padding-block:33px}
 .nav-left .nav-list>li:first-child>a:before{display:none}
 .desktop-assessment{flex-basis:190px;font-size:12px;background:#f6f8f9}
 .desktop-assessment:after{content:"→";font-size:20px;margin-left:12px}
 .brand-triangle{background:#fff}.brand-triangle:before,.brand-triangle:after{display:none}
 .brand-triangle strong,.brand-triangle .brand-name{font-size:34px}
 .brand-triangle small{font-size:8px;letter-spacing:.22em}
 .services-dropdown{top:68px}
}
@media(min-width:1051px) and (max-width:1250px){
 .site-header{grid-template-columns:190px 1fr}.nav-list{gap:18px}.nav-right{margin-left:18px}.desktop-assessment{flex-basis:160px}.nav-frame{padding-left:18px}
}
@media(max-width:1050px){
 .hero.shell{min-height:0}.hero img{min-height:320px;max-height:480px}
 .services-dropdown{max-height:none}
 :root body .services-dropdown a{padding-block:14px}
 .process-row{grid-template-columns:42px minmax(100px,.8fr) minmax(0,1.2fr)}
}
@media(max-width:720px){
 .hero>div,.hero>div:only-child{padding:38px 22px;min-height:0}
 :root body .hero h1{font-size:36px}
 :root body .hero .dek{font-size:17px}
 .hero img{min-height:0;height:auto;aspect-ratio:4/3}
 .article-body{padding-top:32px}
 :root body .article-body h2{font-size:27px;margin-top:42px}
 :root body .faq-section>h2{margin-top:0}
 .cta-band,.article-body>.crosslink-panel{padding:24px 22px}
 .process-row{grid-template-columns:36px minmax(0,1fr)}
 .process-row>span:last-child{grid-column:2}
 .evidence-visual img{min-height:0;aspect-ratio:4/3}
 .faq-item>summary{padding-right:34px}
 :root body .faq-item>summary>h3{font-size:15px;letter-spacing:.02em}
 .assessment-inner{padding:40px 22px;min-height:0}
 .article-body th,.article-body td{padding:14px}
 .footer-columns{gap:34px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* Match the specificity of legacy nested-list typography. */
:root body .article-body :is(ul,ol) :is(li,p,.list-feature-text,.list-feature-description,.list-feature-title),
:root body .article-body :is(.step-copy,.faq-answer) :is(p,ul,ol,blockquote){font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75;color:var(--ink);letter-spacing:normal}
:root body .article-body .styled-dot-list .step-copy>h3{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:600;line-height:1.75;color:var(--navy);margin-bottom:6px}
:root body .article-body :is(ul,ol) .list-feature-title{font-weight:600;color:var(--navy)}

/* Reading rhythm for long pages: bounded sections and occasional quiet panels. */
.article-body>.reading-section{width:100%;max-width:1080px;margin:44px auto;padding:34px 0 0;border-top:1px solid var(--line)}
.blog-single .article-body>.reading-section{max-width:1120px}
:root body .article-body .reading-section>h2:first-child{margin:0 0 22px;font-size:clamp(25px,2.5vw,34px);line-height:1.3}
:root body .article-body .reading-section>p{margin:0 0 20px}
:root body .article-body .reading-section>h3{margin:32px 0 12px;padding-top:24px;border-top:1px solid var(--line)}
.article-body>.reading-section--tinted{padding:32px 36px;background:#f4f7f8;border:1px solid #e0e7eb;border-left:3px solid #a6b9c3;border-radius:4px}
:root body .article-body .reading-section>:last-child{margin-bottom:0}
:root body .article-body .reading-section>ul.styled-dot-list{margin-block:18px 26px}
.reading-section .table-wrap{max-width:100%;overflow-x:auto}
.reading-section>table{display:table;max-width:100%;table-layout:fixed}
.reading-section :is(th,td){overflow-wrap:anywhere}
:root body .article-body .reading-section blockquote{margin:28px 0;padding:22px 26px;background:#f6f5f1;border-left:3px solid var(--brass)}
:root body .article-body .reading-section .styled-dot-item:has(>.step-copy)+.styled-dot-item:has(>.step-copy){margin-top:12px;padding-top:22px;border-top:1px solid var(--line)}
.reading-section--tinted .faq-item>summary:hover{background:#eaf0f3}
@media(max-width:720px){
 .article-body>.reading-section{margin-block:32px;padding-top:26px}
 .article-body>.reading-section--tinted{padding:24px 20px}
 :root body .article-body .reading-section>h2:first-child{font-size:25px;margin-bottom:18px}
 :root body .article-body .reading-section>h3{margin-top:26px;padding-top:20px}
 .reading-section>table{display:block;table-layout:auto;overflow-x:auto}
 .reading-section>table :is(th,td){min-width:145px}
}

/* Distinguish nested bullets from the beige outer list markers. */
:root body .article-body :is(ul,ol) ul>li::marker,
:root body .article-body :is(ul,ol) ul>li:nth-child(odd)::marker{color:#346f8c}


/* Thin-line circle markers: one consistent symbol and color per list. */
:root body .article-body ul.custom-markers{padding-left:0;list-style:none}
:root body .article-body ul.custom-markers>li{position:relative;list-style:none;padding:12px 0 12px 34px}
:root body .article-body ul.custom-markers>li::before{content:"";position:absolute;left:0;top:16px;width:20px;height:20px;background-repeat:no-repeat;background-size:20px 20px;pointer-events:none}
:root body .article-body ul.marker-check-gold>li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23947345' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.4'/%3E%3Cpath d='m7.8 12 2.8 2.8 5.6-5.6'/%3E%3C/svg%3E")}
:root body .article-body ul.marker-dot-blue>li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23346f8c' stroke-width='1.35'%3E%3Ccircle cx='12' cy='12' r='9.4'/%3E%3Ccircle cx='12' cy='12' r='2' fill='%23346f8c' stroke='none'/%3E%3C/svg%3E")}
:root body .article-body .reading-section ul.custom-markers>.styled-dot-item:has(>.step-copy)+.styled-dot-item:has(>.step-copy){padding-top:22px}
:root body .article-body .reading-section ul.custom-markers>.styled-dot-item:has(>.step-copy)+.styled-dot-item:has(>.step-copy)::before{top:26px}
@media(max-width:720px){
 :root body .article-body ul.custom-markers>li{padding-left:30px}
}
/* Keep text clear of the icon in previously styled lists. */
:root body .article-body ul.custom-markers>li.styled-dot-item{padding-left:34px}
@media(max-width:720px){:root body .article-body ul.custom-markers>li.styled-dot-item{padding-left:30px}}
