.content-page .site-header{background:#080909}
/* Content remains visible if an animation script fails or JavaScript is off. */
body:not(.motion-ready) .reveal{opacity:1;transform:none}
.home-page.motion-ready .hero .reveal{opacity:1;transform:none}
.seo-page-nav{border-bottom:1px solid var(--line);background:#fff}
.seo-page-nav>.wrap{display:flex;align-items:center;flex-wrap:wrap;gap:14px 28px;padding-top:22px;padding-bottom:22px}
.seo-page-nav span{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#62685e}
.seo-page-nav a{font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.seo-table-scroll{overflow-x:auto;margin-top:30px;border:1px solid var(--line)}
.seo-planning-table{border-collapse:collapse;width:100%;background:#fff;text-align:left;font-size:15px;line-height:1.75}
.seo-planning-table th,.seo-planning-table td{padding:22px 26px;border-bottom:1px solid var(--line);vertical-align:top}
.seo-planning-table thead{background:#101310;color:#fff}
.seo-planning-table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.seo-planning-table tbody th{width:29%;font-weight:800;min-width:170px}
.seo-planning-table tbody tr:last-child>*{border-bottom:0}
.seo-quote-guide{margin-top:42px}
.seo-side-note ul{margin:0;padding-left:20px;font-size:14px;line-height:1.8}
.seo-side-note li+li{margin-top:10px}
.seo-sector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:38px}
.seo-sector-card{padding:32px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:flex-start}
.seo-sector-card p{font-size:16px;color:#454944;flex:1}
.seo-sector-card a{display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.seo-sector-card svg{flex:0 0 22px}
@media(max-width:780px){.seo-sector-grid{grid-template-columns:1fr}.seo-sector-card{padding:26px}.seo-page-nav>.wrap{gap:14px 20px}.seo-page-nav span{width:100%}.seo-planning-table th,.seo-planning-table td{padding:18px 16px}.seo-planning-table tbody th{min-width:120px;width:34%}.seo-body-grid{min-width:0}}
.content-page main{padding-top:88px}
.content-page h1,.content-page h2,.content-page h3{font-family:Poppins,Manrope,Arial,sans-serif;letter-spacing:-.035em;line-height:1.15}
.content-page h1{font-size:clamp(36px,4.2vw,65px);font-weight:700;margin:20px 0 24px;max-width:780px;text-transform:none}
.content-page h2{font-size:clamp(28px,3vw,40px);margin:0 0 24px}
.content-page h3{font-size:22px;line-height:1.35;margin:0 0 14px}
.content-page p{font-size:17px;line-height:1.85}
.content-page .section-label{font-size:12px;line-height:1.5;margin:0 0 20px;letter-spacing:.16em;font-weight:800;text-transform:uppercase}
.seo-hero{background:#080909;color:#fff;position:relative;isolation:isolate;overflow:hidden}
.seo-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:600px;align-items:stretch}
.seo-hero-copy{padding:48px 46px 58px 0;align-self:center;position:relative;z-index:2}
.seo-hero-copy>p:not(.section-label){color:#d2d3cf;font-size:20px;max-width:600px;line-height:1.65}
.seo-hero-media{position:relative;margin-right:min(-24px,calc((1240px - 100vw)/2));min-height:540px}
.seo-hero-media img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}
.seo-hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080909,transparent 20%);pointer-events:none}
.seo-hero-media:before{content:'';position:absolute;top:0;left:10%;width:4px;height:100%;background:var(--orange);z-index:1;transform:skew(-12deg)}
.seo-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;padding:0;margin:0 0 28px;font-size:12px;color:#bdbfb9}
.seo-breadcrumbs li+li:before{content:'/';padding-right:8px;color:#73766f}
.seo-breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.seo-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.seo-actions .button{gap:12px}
.seo-chip-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:32px;color:#bdbfb9;font-size:12px;font-weight:700;letter-spacing:.04em}
.seo-chip-row span:before{content:'';display:inline-block;width:6px;height:6px;margin:0 9px 2px 0;background:var(--orange)}
.seo-body-grid{display:grid;grid-template-columns:1.5fr .72fr;gap:70px;align-items:start}
.seo-prose>p{margin:0 0 24px;max-width:760px;color:#454944}
.seo-side-note{padding:32px;border-top:4px solid var(--orange);background:var(--soft)}
.seo-side-note h2{font-size:24px;margin-bottom:16px}
.seo-side-note p{font-size:15px;margin:0 0 18px}
.seo-side-note a{display:block;font-weight:800;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;margin-top:14px}
.seo-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px}
.seo-scope-card{padding:32px;background:#fff;border:1px solid var(--line);position:relative}
.seo-scope-card>span{display:block;color:#a94c00;font-weight:800;margin-bottom:28px;font-size:14px}
.seo-scope-card p{color:#555b54;font-size:16px;margin:0}
.seo-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.seo-service-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;padding:30px;min-height:300px;transition:transform .2s,border-color .2s}
.seo-service-card:hover{border-color:var(--orange);transform:translateY(-3px)}
.seo-service-card .seo-card-number{font-size:13px;font-weight:800;color:#a94c00;margin-bottom:30px}
.seo-service-card p{font-size:16px;color:#555b54;margin:0 0 24px}
.seo-card-link{font-weight:800;font-size:14px;display:flex;align-items:center;gap:14px;margin-top:auto}
.seo-card-link svg{width:22px;height:22px;flex:0 0 22px}
.seo-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.seo-project-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);background:white}
.seo-project-card>img{width:100%;height:240px;object-fit:cover;transition:transform .3s}
.seo-project-card:hover>img{transform:scale(1.025)}
.seo-project-card>div{padding:26px;display:flex;flex-direction:column;flex:1}
.seo-project-card .seo-project-meta{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#646766;margin:0 0 13px}
.seo-project-card p{font-size:16px;color:#555b54;margin:0 0 22px}
.seo-faq-list{border-top:1px solid var(--line);margin-top:36px}
.seo-faq-list details{border-bottom:1px solid var(--line);padding:0}
.seo-faq-list summary{cursor:pointer;list-style:none;font-size:18px;font-weight:800;padding:24px 40px 24px 0;position:relative}
.seo-faq-list summary::-webkit-details-marker{display:none}
.seo-faq-list summary:after{content:'+';position:absolute;right:4px;top:20px;font-size:25px;color:#a94c00}
.seo-faq-list details[open] summary:after{content:'−'}
.seo-faq-list p{margin:0 0 26px;max-width:850px;color:#454944}
.seo-cta{background:var(--orange);padding:64px 0}
.seo-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}
.seo-cta h2{margin-bottom:12px;max-width:650px}
.seo-cta p{margin:0;max-width:660px;color:#251b12}
.seo-cta .button{background:#080909;color:white;white-space:nowrap}
.seo-section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}
.seo-section-top h2{margin:0;max-width:780px}
.seo-section-top>a{font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
.seo-project-facts{display:flex;flex-wrap:wrap;gap:30px 48px;margin:0;padding:28px 0;border-bottom:1px solid var(--line)}
.seo-project-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#62685f;font-weight:800}
.seo-project-facts dd{margin:6px 0 0;font-weight:800;font-size:17px}
.seo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.seo-gallery img{height:310px;width:100%;object-fit:cover}
.seo-footer .footer-inner{display:block}
.seo-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}
.seo-footer-grid p{font-size:14px!important;text-transform:none!important;letter-spacing:0!important;color:#b2b6ae!important}
.seo-footer-grid address{font-style:normal;font-size:14px;color:#b2b6ae;line-height:1.9}
.seo-footer-grid h2{font-size:14px;letter-spacing:.05em;color:#fff;margin:0 0 18px;text-transform:uppercase}
.seo-footer-grid ul{list-style:none;padding:0;margin:0}
.seo-footer-grid li{margin:8px 0;font-size:14px;color:#b2b6ae}
.seo-footer-grid a:hover{color:var(--orange)}
.seo-footer-bottom{border-top:1px solid #30332d;padding-top:26px;margin-top:36px;display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between;font-size:12px;color:#a4a7a6}
.seo-footer-bottom a{text-decoration:underline;text-underline-offset:4px}
.seo-home-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:32px;font-size:14px;font-weight:800}
.seo-home-links a{text-decoration:underline;text-underline-offset:5px}
.service-card h3 a{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:5px}
.home-page .seo-home-links{margin-bottom:18px}
.site-footer .seo-home-links{grid-column:1/-1;color:#d7dbd3;font-size:12px;margin:0}
.service-prefill-note{font-size:14px;color:#5f665d}
.content-page a:focus-visible,.content-page summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
@media(max-width:1000px){.seo-hero-grid{grid-template-columns:1.15fr .85fr}.seo-hero-copy{padding-right:20px}.seo-body-grid{gap:35px}.seo-project-grid,.seo-service-grid{grid-template-columns:repeat(2,1fr)}.seo-scope-grid{gap:14px}.seo-scope-card{padding:24px}.seo-footer-grid{gap:28px}}
@media(max-width:780px){.content-page main{padding-top:76px}.content-page .site-header{height:76px}.seo-hero-grid{grid-template-columns:1fr;min-height:0}.seo-hero-copy{padding:30px 0 38px}.seo-hero-media{height:280px;min-height:0;margin:0 -24px}.seo-hero-media:after{background:linear-gradient(180deg,#080909,transparent 28%)}.seo-hero-media:before{height:4px;width:72%;left:0;transform:none}.seo-body-grid{grid-template-columns:1fr;gap:30px}.seo-scope-grid,.seo-footer-grid{grid-template-columns:1fr}.seo-project-grid,.seo-service-grid{gap:18px}.seo-section-top{display:block}.seo-section-top>a{display:inline-block;margin-top:20px}.seo-cta .wrap{align-items:start;flex-direction:column;gap:25px}.seo-gallery{grid-template-columns:1fr 1fr}.seo-gallery img{height:250px}.seo-footer-grid{text-align:left}.seo-footer-bottom{justify-content:start}.seo-side-note{padding:26px}.content-page .section{padding:56px 0}}
@media(max-width:520px){.seo-project-grid,.seo-service-grid,.seo-gallery{grid-template-columns:1fr}.seo-hero-copy>p:not(.section-label){font-size:18px}.seo-actions{flex-direction:column;align-items:stretch}.seo-project-facts{gap:20px 28px}.seo-gallery img{height:310px}.seo-project-card>img{height:240px}.seo-cta{padding:48px 0}.seo-footer .footer-lockup strong{font-size:15px}.seo-service-card{min-height:260px}.content-page .wrap{width:calc(100% - 40px)}.seo-hero-media{margin:0 -20px}}
@media(prefers-reduced-motion:reduce){.seo-service-card,.seo-project-card>img{transition:none;transform:none!important}}


.seo-policy{max-width:960px}.seo-policy h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.12}.seo-policy h2{font-size:1.45rem;margin-top:2.5rem;scroll-margin-top:130px}.seo-policy p,.seo-policy li{line-height:1.8}.seo-policy li{margin:10px 0}.seo-policy a{text-decoration:underline;text-underline-offset:3px}.seo-policy-date{color:#656963;font-size:.9rem}.seo-policy-nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin:28px 0 36px;padding:20px 0;border-block:1px solid #d8dad4}.seo-policy .seo-planning-table{min-width:540px}

/* Planning guides: scoped to content pages; the homepage layout is unchanged. */
.seo-hero-text-only{grid-template-columns:minmax(0,1fr);padding-bottom:64px}.seo-hero-text-only .seo-hero-copy{max-width:850px}.seo-evidence-note{max-width:820px;margin-top:24px;color:#5d6260;font-size:14px;line-height:1.7}.seo-guides-all{margin-top:24px}.seo-guide-heading{background:#080909;color:#fff;padding:145px 0 55px}.seo-guide-width{max-width:1000px}.seo-guide-heading h1{font-family:Poppins,sans-serif;font-size:clamp(30px,4.2vw,55px);line-height:1.15;letter-spacing:-.04em;max-width:900px;margin:20px 0}.seo-guide-intro{max-width:780px;font-size:19px;line-height:1.65;color:#d4d6d4}.seo-guide-byline{font-size:13px;color:#c6c9c6;margin-top:24px}.seo-guide-layout{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,780px);gap:60px;align-items:start;padding-top:60px;padding-bottom:70px}.seo-guide-toc{position:sticky;top:110px;padding:24px;background:#f1f2ef;border-top:3px solid #f58220}.seo-guide-toc h2{font-size:18px;letter-spacing:-.02em}.seo-guide-toc ol{padding-left:20px;margin-top:18px}.seo-guide-toc li{margin:12px 0;font-size:14px;line-height:1.6}.seo-guide-article{min-width:0}.seo-guide-article section{scroll-margin-top:110px;margin:0 0 44px}.seo-guide-article h2{font-size:clamp(24px,2.6vw,34px);line-height:1.25;margin-bottom:20px}.seo-guide-article p,.seo-guide-article li{line-height:1.8}.seo-guide-article ul{padding-left:22px}.seo-guide-article li{margin-bottom:10px}.seo-guide-article a:not(.button),.seo-guide-toc a{text-decoration:underline;text-underline-offset:3px}.seo-guide-next{padding:28px;background:#f1f2ef;border-left:3px solid #f58220}.seo-guide-next .button{margin-top:10px}.seo-guide-article .seo-planning-table{min-width:540px}.seo-guide-heading .seo-breadcrumbs{margin-bottom:20px}@media(max-width:900px){.seo-guide-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:32px}.seo-guide-toc{position:static}.seo-guide-heading{padding-top:120px}.seo-hero-text-only{padding-bottom:40px}}@media(prefers-reduced-motion:reduce){.seo-guide-toc a{scroll-behavior:auto}}

.content-page .seo-scope-card h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.content-page .seo-scope-card h3 a:hover{color:#b94e00}

/* Homepage entry to the public awards page. */
.home-page .awards-more-link{display:flex;justify-content:center;margin-top:28px}.home-page .awards-more-link .button{gap:12px}

/* Homepage sector strip and company statistics: compact spacing only. */
.home-page .hero-strip-inner{min-height:56px;gap:16px;font-size:14px;line-height:1.4;letter-spacing:.065em}
.home-page .hero-strip-inner span{white-space:nowrap}
.home-page .hero-strip i{width:1px;height:18px;flex:0 0 1px;border-radius:0;background:rgba(8,9,9,.3)}
.home-page .numbers-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.home-page .number{min-height:132px;padding:22px 22px}
.home-page .number strong{font-size:clamp(32px,3.2vw,44px);line-height:1.05}
.home-page .number p{margin-top:8px;font-size:12px;line-height:1.4;letter-spacing:.05em}
.home-page .number-word strong{font-size:clamp(21px,2vw,27px);letter-spacing:-.035em;white-space:nowrap}
@media(max-width:1000px) and (min-width:781px){.home-page .hero-strip-inner{gap:12px;font-size:12px;letter-spacing:.04em}.home-page .number{padding-inline:16px}.home-page .number p{font-size:11px}}
@media(max-width:780px){
 .home-page .hero-strip-inner{min-height:62px;justify-content:center;flex-wrap:wrap;column-gap:16px;row-gap:6px;padding-block:12px;font-size:12px;letter-spacing:.04em;overflow:visible}
 .home-page .hero-strip-inner span:nth-of-type(n){display:inline}
 .home-page .hero-strip-inner i:nth-of-type(n){display:none}
 .home-page .numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .number{min-height:108px;padding:18px 16px}
 .home-page .number strong{font-size:36px}
 .home-page .number p{font-size:11px}
 .home-page .number-word{grid-column:1/-1;min-height:72px;flex-direction:row;align-items:center;justify-content:center;gap:16px}
 .home-page .number-word strong{font-size:24px}
 .home-page .number-word p{margin:0}
}
