/* LEAP corporate theme: compact red accents, black anchors and light reading surfaces. */
.home-modern { --site-font-family:'Montserrat',Arial,sans-serif; --site-text-size:14px; --site-text-leading:1.8; --site-small-size:13px; --site-control-size:13px; --site-input-size:16px; --site-menu-size:14px; --home-primary:#C3152C; --home-ink:#181818; --home-muted:#626262; --home-line:#e8e3e4; --home-soft:#f6f4f5; --home-red-dark:#990e22; --home-red-soft:#fff1f3; font-family:var(--site-font-family); font-size:var(--site-text-size); color:var(--home-ink); line-height:var(--site-text-leading); background:#fff; }
.home-modern #wrapper { overflow:visible; background:#fff; }
.home-modern #content,.home-modern .home-content { background:#fff; padding:0; overflow:visible; }
.home-modern h1,.home-modern h2,.home-modern h3,.home-modern h4,.home-modern h5,.home-modern h6,.home-modern .menu-link,.home-modern .button,.home-modern input,.home-modern textarea,.home-modern select,.home-modern button,.home-modern small { font-family:var(--site-font-family); }
.home-modern h2 { color:var(--home-ink); font-size:clamp(29px,3vw,42px); font-weight:700; line-height:1.3; letter-spacing:-1.2px; text-transform:none; margin-bottom:23px; }
.home-modern em { font:inherit; }
.home-modern a { color:inherit; }
.home-modern a:hover { color:var(--home-primary); }
.home-modern a:focus-visible,.home-modern button:focus-visible,.home-modern summary:focus-visible,[role=button]:focus-visible { outline:3px solid #C3152C; outline-offset:4px; }
.home-modern [id] { scroll-margin-top:110px; }
.home-modern .container { width:100%; max-width:1200px; padding-left:28px; padding-right:28px; }
.home-modern .home-section { padding:90px 0; }
.home-modern .home-eyebrow { display:block; color:var(--home-primary); text-transform:uppercase; font-size:12px; font-weight:700; letter-spacing:1.2px; margin-bottom:17px; }
.home-modern p { font-size:var(--site-text-size); line-height:var(--site-text-leading); color:var(--home-muted); }
.home-modern .home-icon { display:inline-block; width:24px; height:24px; flex-shrink:0; vertical-align:middle; overflow:visible; }
.home-modern .home-button,.home-modern .button { display:inline-flex; justify-content:center; align-items:center; gap:15px; min-height:48px; height:auto; padding:13px 22px; background:var(--home-primary); color:#fff; border:1px solid var(--home-primary); border-radius:4px; box-shadow:none; text-shadow:none; font-size:var(--site-control-size); line-height:1.5; font-weight:700; letter-spacing:.3px; text-transform:uppercase; transition:background .2s,transform .2s; white-space:normal; }
.home-modern .home-button:hover,.home-modern .button:hover { color:#fff; background:#9d1023; border-color:#9d1023; transform:translateY(-2px); }
.home-modern .home-button .home-icon { width:19px; height:19px; }
.home-modern .home-button-light { color:var(--home-primary); background:#fff; border-color:#fff; }
.home-modern .home-button-light:hover { background:#fff1f3; color:var(--home-primary); border-color:#fff1f3; }
.home-modern .home-text-link,.home-modern .home-read-link { display:inline-flex; align-items:center; gap:12px; font-size:var(--site-control-size); font-weight:700; text-transform:uppercase; color:var(--home-primary); }
.home-modern .home-read-link .home-icon { width:17px; height:17px; }
.home-modern .home-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:45px; }
.home-modern .home-section-heading h2 { margin:0; }
.home-modern .home-section-heading > p { max-width:390px; margin:0; font-size:var(--site-text-size); line-height:var(--site-text-leading); }
/* Navigation and utility bar */
.home-modern .home-topbar { background:var(--home-primary); font-size:13px; color:white; }
.home-modern .home-topbar > .container { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:10px; padding-bottom:10px; }
.home-modern .home-topbar .container > div { display:flex; gap:25px; flex-wrap:wrap; }
.home-modern .home-topbar a { display:inline-flex; gap:7px; align-items:center; }
.home-modern .home-topbar a:hover { color:white; text-decoration:underline; }
.home-modern .home-topbar a:focus-visible { outline-color:white; }
.home-modern .home-topbar .home-icon { width:14px; height:14px; }
.home-modern #header,.home-modern #header-wrap { background:#E5E7EB; border:0; }
.home-modern #header-wrap { box-shadow:0 3px 20px #00000008; border-bottom:1px solid #d7dbe0; }
.home-modern #header .header-row { min-height:64px; }
.home-modern #logo { border:0; padding-right:15px; margin-right:auto; }
.home-modern #header #logo img { height:64px; }
.home-modern .menu-link { font-size:var(--site-menu-size); color:var(--home-ink) !important; font-weight:600; letter-spacing:.3px; padding:14px 10px; text-transform:uppercase; }
.home-modern .menu-link:hover { color:var(--home-primary) !important; }
.home-modern .menu-link.contact_us { background:var(--home-primary); color:#fff !important; padding:9px 17px !important; margin-left:16px; border-radius:4px; align-self:center; }
.home-modern .header-misc { border:0; }
.home-modern #top-search-trigger { color:var(--home-ink); display:flex; justify-content:center; align-items:center; }
.home-modern #top-search-trigger .home-icon { width:19px; height:19px; }
.home-modern .home-search-close { display:none; }
.home-modern.top-search-open .home-search-close { display:inline; }
.home-modern.top-search-open .home-search-open { display:none; }
/* Full-width automatic hero with highlighted LEAP/GROW values and side navigation. */
.home-modern .home-hero { position:relative; background:#141414; color:#fff; margin:0 !important; isolation:isolate; }
.home-modern .home-hero-slide { position:relative; min-height:640px; display:flex; align-items:center; }
.home-modern .home-hero-slide[hidden] { display:none; }
.home-modern .home-hero-image,.home-modern .home-hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.home-modern .home-hero-slide::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#090909df,#09090965),linear-gradient(120deg,#C3152C9c,transparent 70%); z-index:-1; }
.home-modern .home-hero-content { text-align:left; padding-top:95px; padding-bottom:160px; }
.home-modern .home-hero .home-eyebrow { color:#fff; font-size:12px; letter-spacing:1.8px; }
.home-modern .home-hero h1,.home-modern .home-hero h2 { font-size:clamp(34px,4.4vw,60px); font-weight:700; line-height:1.2; letter-spacing:-1.8px; color:white; margin:0 0 24px; max-width:790px; }
.home-modern .home-hero p { color:#e4e8ed; font-size:var(--site-text-size); line-height:var(--site-text-leading); max-width:580px; margin:0 0 30px; }
.home-modern .home-hero-actions { display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-start; align-items:center; }
.home-modern .home-hero-values { padding:0; margin:0 0 26px; list-style:none; color:#eef0f4; font-size:var(--site-text-size); line-height:var(--site-text-leading); max-width:650px; }
.home-modern .home-hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; position:absolute; bottom:90px; left:50%; transform:translateX(-50%); z-index:2; pointer-events:none; }
.home-modern .home-hero-bottom > * { pointer-events:auto; }
.home-modern .home-hero-controls { display:flex; gap:7px; }
.home-modern .home-hero-controls button { border:1px solid #ffffff60; background:transparent; color:white; width:40px; height:40px; font-size:12px; border-radius:3px; cursor:pointer; }
.home-modern .home-hero-controls button.is-active { background:var(--home-primary); border-color:var(--home-primary); }
.home-modern .home-hero [hidden] { display:none; }
/* Execution-inspired services: a centered introduction, three-column cards and a final full-width service. */
.home-modern .home-services { background:var(--home-soft); padding-top:75px; padding-bottom:75px; }
.home-modern .home-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; align-items:stretch; }
.home-modern .home-service-intro { grid-column:1 / -1; padding:0; text-align:center; width:100%; max-width:740px; justify-self:center; margin-bottom:12px; }
.home-modern .home-service-intro .home-eyebrow { color:var(--home-primary); }
.home-modern .home-service-intro h2 { color:var(--home-ink); font-size:clamp(29px,3vw,40px); letter-spacing:-1px; }
.home-modern .home-service-intro p { color:var(--home-muted); font-size:var(--site-text-size); margin:0; line-height:var(--site-text-leading); }
.home-modern .home-service-card { display:flex; flex-direction:column; padding:32px; border:1px solid #eae7e8; border-radius:5px; box-shadow:0 5px 24px #00000004; background:white; min-width:0; transition:box-shadow .2s,border-color .2s; }
.home-modern .home-service-card:hover { box-shadow:0 10px 30px #0000000c; border-color:#C3152C70; }
.home-modern .home-service-icon { display:grid; place-items:center; width:60px; height:60px; border:1px solid #efcbd1; border-radius:50%; background:white; color:var(--home-primary); margin-bottom:23px; }
.home-modern .home-service-icon .home-icon { width:31px; height:31px; stroke-width:1.4; }
.home-modern .home-service-card h3 { color:var(--home-ink); font-size:18px; line-height:1.5; font-weight:600; letter-spacing:-.3px; margin-bottom:13px; }
.home-modern .home-service-card p { font-size:var(--site-text-size); margin-bottom:22px; line-height:var(--site-text-leading); }
.home-modern .home-service-card .home-read-link { margin-top:auto; }
.home-modern .home-service-card:last-child { grid-column:1 / -1; display:grid; grid-template-columns:60px minmax(0,1fr) auto; gap:6px 25px; align-items:center; }
.home-modern .home-service-card:last-child .home-service-icon { grid-row:1 / 3; margin:0; }
.home-modern .home-service-card:last-child h3 { grid-column:2; margin:0; }
.home-modern .home-service-card:last-child p { grid-column:2; margin:0; }
.home-modern .home-service-card:last-child .home-read-link { grid-column:3; grid-row:1 / 3; margin:0; white-space:nowrap; }
/* Asymmetric primary-red/white split with the image bridging the background edge. */
.home-modern .home-about { position:relative; isolation:isolate; padding:65px 0; background:white; }
.home-modern .home-about::before { content:''; position:absolute; inset:0 auto 0 0; width:39%; background-color:var(--home-primary); background-image:url('../leap/images/network-pattern.svg?v=2'); background-size:600px 600px; background-repeat:repeat; background-position:left top; z-index:-1; }
.home-modern .home-about-layout { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:65px; }
.home-modern .home-about-media { position:relative; min-width:0; }
.home-modern .home-about-main { display:block; width:100%; height:490px; object-fit:cover; object-position:center; border-radius:6px; }
.home-modern .home-about-badge { position:absolute; left:24px; bottom:24px; max-width:calc(100% - 48px); display:flex; align-items:center; gap:15px; padding:18px 23px; background:white; color:var(--home-ink); border-left:4px solid var(--home-primary); border-radius:4px; box-shadow:0 6px 20px #00000018; }
.home-modern .home-about-badge .home-icon { width:31px; height:31px; color:var(--home-primary); }
.home-modern .home-about-badge strong { display:block; color:var(--home-primary); font-size:30px; line-height:1.1; }
.home-modern .home-about-badge span { display:block; font-size:12px; letter-spacing:.4px; margin-top:5px; }
.home-modern .home-about-copy { min-width:0; }
.home-modern .home-about-copy p { font-size:var(--site-text-size); margin-bottom:17px; line-height:var(--site-text-leading); }
.home-modern .home-about-copy .home-lead { font-size:var(--site-text-size); line-height:var(--site-text-leading); }
.home-modern .home-about-copy > p:last-of-type { border-top:1px solid var(--home-line); padding-top:18px; }
.home-modern .home-about-features { display:flex; gap:25px; flex-wrap:wrap; margin:24px 0; }
.home-modern .home-about-features > div { display:flex; align-items:center; gap:12px; }
.home-modern .home-about-features .home-icon { color:var(--home-primary); width:33px; height:33px; }
.home-modern .home-about-features span { font-size:var(--site-small-size); font-weight:600; line-height:1.6; }
/* Statistics */
.home-modern .home-stats { padding:34px 0; background:#171717; color:white; }
.home-modern .home-stats > .container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-modern .home-stat { display:flex; align-items:center; justify-content:center; gap:22px; padding:18px; border-right:1px solid #ffffff25; }
.home-modern .home-stat:last-child { border:0; }
.home-modern .home-stat > .home-icon { width:39px; height:39px; color:var(--home-primary); }
.home-modern .home-stat strong { font-size:36px; line-height:1.2; display:block; color:white; }
.home-modern .home-stat span { font-size:var(--site-small-size); color:#d4d4d4; }
/* Full-bleed photographic feature with a translucent copy panel and retained field-work photographs. */
.home-modern .home-possibility { position:relative; isolation:isolate; padding:55px 0; background:#171717; }
.home-modern .home-possibility-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.home-modern .home-possibility::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0a0a0a85,#0a0a0a55); z-index:-1; }
.home-modern .home-possibility-layout { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:38px; }
.home-modern .home-possibility-copy { min-width:0; padding:34px; border:1px solid #ffffff24; border-radius:5px; background:#171717b8; backdrop-filter:blur(5px); }
.home-modern .home-possibility .home-eyebrow { color:#fff; margin-bottom:15px; }
.home-modern .home-possibility h2 { color:white; font-size:clamp(30px,3vw,40px); line-height:1.22; letter-spacing:-1px; margin:0 0 19px; }
.home-modern .home-possibility h2 > span { color:white; }
.home-modern .home-possibility h3 { color:#fff; font-size:18px; font-weight:500; line-height:1.6; letter-spacing:-.25px; margin:0 0 15px; }
.home-modern .home-possibility p { color:#eee; font-size:var(--site-text-size); line-height:var(--site-text-leading); margin:0 0 24px; }
.home-modern .home-possibility-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.home-modern .home-possibility-contact { display:inline-flex; align-items:center; gap:10px; color:white; font-size:var(--site-small-size); font-weight:600; }
.home-modern .home-possibility-contact:hover { color:var(--home-primary); }
.home-modern .home-possibility-contact:focus-visible { outline-color:white; }
.home-modern .home-possibility-contact .home-icon { width:18px; height:18px; }
.home-modern .home-possibility-gallery { min-width:0; display:grid; grid-template-columns:1.25fr 1fr; gap:14px; }
.home-modern .home-possibility-photo { position:relative; min-width:0; margin:0; isolation:isolate; border:3px solid #ffffffd9; border-radius:5px; background:#333; overflow:hidden; }
.home-modern .home-possibility-photo > svg { display:block; width:100%; height:305px; }
.home-modern .home-possibility-photo::after { content:''; position:absolute; inset:40% 0 0; background:linear-gradient(0deg,#111111ee,transparent); pointer-events:none; }
.home-modern .home-possibility-photo figcaption { position:absolute; z-index:1; left:15px; right:12px; bottom:17px; color:white; }
.home-modern .home-possibility-photo figcaption strong { display:block; font-size:14px; font-weight:600; line-height:1.5; }
.home-modern .home-possibility-photo figcaption > span { display:block; color:#eee; font-size:12px; line-height:1.6; margin-top:6px; }
/* Vision, mission and values: editorial introduction and three open rows. */
.home-modern .home-principles { padding:60px 0; background:#faf9f8; }
.home-modern .home-principle-layout { display:grid; grid-template-columns:.85fr 2fr; gap:42px; align-items:start; }
.home-modern .home-principle-intro { padding:26px 32px 26px 0; border-right:1px solid var(--home-line); align-self:stretch; }
.home-modern .home-principle-intro h2 { font-size:clamp(32px,3.3vw,44px); line-height:1.25; margin-bottom:25px; }
.home-modern .home-principle-intro h2 > span { color:var(--home-primary); }
.home-modern .home-principle-intro p { margin-bottom:25px; }
.home-modern .home-principle-accent { display:block; width:30px; height:3px; background:var(--home-primary); }
.home-modern .home-principle-row { display:grid; grid-template-columns:44px .95fr 1.25fr; gap:18px; padding:25px 0; border-bottom:1px solid var(--home-line); }
.home-modern .home-principle-row:first-child { padding-top:15px; }
.home-modern .home-principle-row:last-child { border-bottom:0; padding-bottom:0; }
.home-modern .home-principle-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#f8eaed; color:var(--home-primary); }
.home-modern .home-principle-icon .home-icon { width:24px; height:24px; }
.home-modern .home-principle-summary .home-eyebrow { font-size:11px; letter-spacing:.7px; margin:0 0 13px; }
.home-modern .home-principle-summary h3 { font-size:20px; line-height:1.4; font-weight:600; letter-spacing:-.4px; margin:0; }
.home-modern .home-principle-description { min-width:0; }
.home-modern .home-principle-description p { font-size:var(--site-text-size); line-height:1.75; margin:0 0 10px; }
.home-modern .home-principle-description .home-read-link { font-size:11px; margin-top:4px; gap:7px; }
.home-modern .home-principle-value-list { list-style:none; padding:0; margin:0 0 10px; }
.home-modern .home-principle-value-list li { color:var(--home-muted); font-size:var(--site-text-size); line-height:1.75; margin-bottom:7px; }
.home-modern .home-principle-value-list strong { color:var(--home-ink); font-weight:500; margin-right:4px; }
@media(max-width:1199px) {
.home-modern .home-principle-layout { grid-template-columns:.75fr 2fr; gap:28px; }
.home-modern .home-principle-row { grid-template-columns:40px 1fr 1.25fr; gap:14px; }
.home-modern .home-principle-summary h3 { font-size:18px; }
}
@media(max-width:991px) {
.home-modern .home-principle-layout { grid-template-columns:1fr; gap:25px; }
.home-modern .home-principle-intro { border-right:0; border-bottom:1px solid var(--home-line); padding:0 0 25px; }
.home-modern .home-principle-intro h2 br { display:none; }
.home-modern .home-principle-intro h2 { font-size:34px; }
.home-modern .home-principle-intro p { max-width:620px; margin-bottom:18px; }
}
@media(max-width:575px) {
.home-modern .home-principles { padding:40px 0; }
.home-modern .home-principle-row { grid-template-columns:40px minmax(0,1fr); gap:15px; }
.home-modern .home-principle-description { grid-column:2; }
}
/* Several solutions remain visible while the carousel advances automatically. */
.home-modern .home-solutions { position:relative; isolation:isolate; padding:50px 0; background:#171717; }
.home-modern .home-solutions-backgrounds { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.home-modern .home-solutions-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .8s ease; }
.home-modern .home-solutions-background.is-visible { opacity:1; }
.home-modern .home-solutions::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,#101010d9,#101010a6); }
.home-modern .home-solutions-heading { display:flex; justify-content:space-between; align-items:center; gap:35px; margin-bottom:26px; }
.home-modern .home-solutions-heading h2 { margin:0; font-size:34px; color:white; }
.home-modern .home-solutions-heading > p { max-width:510px; margin:0; color:#eee; }
.home-modern .home-solutions-stage { position:relative; padding:0 48px 42px; }
.home-modern .home-solutions-track { --solution-columns:3; display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.home-modern .home-solutions-track::-webkit-scrollbar { display:none; }
.home-modern .home-solutions-track.has-solution-tail::after { content:''; flex:0 0 var(--solution-tail-space,0px); }
.home-modern .home-solution-slide { flex:0 0 calc((100% - (var(--solution-columns) - 1)*20px)/var(--solution-columns)); display:flex; flex-direction:column; min-width:0; background:white; border:1px solid var(--home-line); border-radius:6px; scroll-snap-align:start; overflow:hidden; }
.home-modern .home-solution-media { position:relative; }
.home-modern .home-solution-media > a:first-child { display:block; }
.home-modern .home-solution-media img { display:block; width:100%; height:180px; object-fit:cover; }
.home-modern .home-solution-card-body { flex:1; display:flex; flex-direction:column; gap:18px; padding:20px; }
.home-modern .home-solution-card-body h3 { color:var(--home-ink); font-size:17px; line-height:1.5; font-weight:600; margin:0; }
.home-modern .home-solution-card-body .home-read-link { margin-top:auto; font-size:11px; gap:8px; }
.home-modern .home-solution-zoom { position:absolute; top:10px; right:10px; width:30px; height:30px; display:grid; place-items:center; background:white; color:var(--home-primary); border-radius:50%; }
.home-modern .home-solution-zoom .home-icon { width:16px; height:16px; }
.home-modern .home-solutions-navigation { position:absolute; inset:0; z-index:2; pointer-events:none; }
.home-modern .home-solutions-counter { position:absolute; bottom:0; left:50%; transform:translateX(-50%); font-size:13px; color:white; padding:3px 12px; border-radius:20px; background:#171717a6; font-variant-numeric:tabular-nums; }
.home-modern .home-solutions-navigation button { position:absolute; top:calc(50% - 21px); transform:translateY(-50%); display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #d7d1d2; border-radius:50%; background:white; color:var(--home-primary); cursor:pointer; pointer-events:auto; }
.home-modern .home-solutions-navigation [data-solution-prev] { left:0; }
.home-modern .home-solutions-navigation [data-solution-next] { right:0; }
.home-modern .home-solutions-navigation button:hover { background:var(--home-primary); border-color:var(--home-primary); color:white; }
.home-modern [data-solution-prev] .home-icon { transform:rotate(180deg); }
@media(max-width:991px) {
.home-modern .home-solutions-track { --solution-columns:2; }
.home-modern .home-solutions-heading { align-items:flex-start; flex-direction:column; gap:15px; }
}
@media(max-width:575px) {
.home-modern .home-solutions { padding:35px 0; }
.home-modern .home-solutions-track { --solution-columns:1; }
.home-modern .home-solutions-stage { padding-left:36px; padding-right:36px; }
.home-modern .home-solutions-navigation button { width:28px; height:28px; }
.home-modern .home-solution-media img { height:175px; }
}
/* Markets */
.home-modern .home-markets { background:#171717; }
.home-modern .home-markets .home-section-heading h2 { color:white; }
.home-modern .home-markets .home-section-heading .home-eyebrow { color:var(--home-primary); }
.home-modern .home-markets .home-section-heading > p { color:#d4d4d4; }
.home-modern .home-market-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.home-modern .home-market-grid article { position:relative; grid-column:span 2; display:flex; align-items:flex-end; min-height:340px; border-radius:5px; isolation:isolate; }
.home-modern .home-market-grid article:nth-child(n+4) { grid-column:span 3; min-height:280px; }
.home-modern .home-market-grid img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:5px; z-index:-2; }
.home-modern .home-market-grid article::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#110406f2,#16020730); border-radius:5px; z-index:-1; }
.home-modern .home-market-grid article > div { width:100%; padding:28px; }
.home-modern .home-market-grid article > div > span { display:inline-block; max-width:100%; padding:3px 7px; border:1px solid var(--home-primary); border-radius:3px; background:var(--home-primary); color:#fff; font-size:11px; font-weight:700; line-height:1.4; text-transform:uppercase; letter-spacing:.5px; box-shadow:0 2px 8px #00000018; }
.home-modern .home-market-grid h3 { font-size:23px; color:#fff; margin:12px 0; font-weight:600; }
.home-modern .home-market-grid p { font-size:var(--site-text-size); color:#ededed; margin:0 0 10px; line-height:var(--site-text-leading); }
/* Client grid preserves the existing filter and shuffle functionality. */
.home-modern .home-clients { padding:75px 0; background:white; }
.home-modern #clients_wrap { margin:0; padding:0; }
.home-modern .home-clients .home-section-heading { margin-bottom:25px; }
.home-modern .home-client-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.home-modern .home-client-filters { display:flex; flex-wrap:wrap; gap:5px; }
.home-modern .home-client-filters button { padding:8px 16px; border:1px solid var(--home-line); border-radius:4px; background:white; color:var(--home-muted); font:inherit; font-size:13px; cursor:pointer; }
.home-modern .home-client-filters button[aria-pressed=true] { background:var(--home-primary); border-color:var(--home-primary); color:white; }
.home-modern .home-client-navigation { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.home-modern [data-client-page] { margin-right:8px; font-size:13px; color:var(--home-muted); font-variant-numeric:tabular-nums; }
.home-modern .home-client-navigation button { display:grid; place-items:center; width:35px; height:35px; padding:0; border:1px solid var(--home-line); border-radius:50%; background:white; color:var(--home-primary); cursor:pointer; }
.home-modern .home-client-navigation button:disabled { opacity:.35; cursor:default; }
.home-modern .home-client-navigation button:not(:disabled):hover { background:var(--home-red-soft); }
.home-modern [data-client-prev] .home-icon { transform:rotate(180deg); }
.home-modern .home-client-navigation .home-icon { width:18px; height:18px; }
.home-modern .home-client-track { --client-columns:6; --client-gap:14px; display:grid; grid-template-rows:repeat(2,130px); grid-auto-flow:column; grid-auto-columns:calc((100% - (var(--client-columns) - 1)*var(--client-gap))/var(--client-columns)); gap:var(--client-gap); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.home-modern .home-client-track::-webkit-scrollbar { display:none; }
.home-modern .home-client-card { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-width:0; padding:15px 12px; border:1px solid var(--home-line); border-radius:5px; background:white; scroll-snap-align:start; }
.home-modern .home-client-card[hidden] { display:none; }
.home-modern .home-client-card img { display:block; width:100%; height:50px; flex-shrink:0; object-fit:contain; }
.home-modern .home-client-card h3 { color:var(--home-ink); font-size:12px; font-weight:500; line-height:1.5; text-align:center; margin:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.home-modern .home-client-track:focus-visible { outline:2px solid var(--home-primary); outline-offset:4px; }
@media(max-width:991px) {
.home-modern .home-client-track { --client-columns:4; }
}
@media(max-width:575px) {
.home-modern .home-client-track { --client-columns:2; --client-gap:12px; grid-template-rows:repeat(2,125px); }
.home-modern .home-client-toolbar { align-items:flex-start; flex-direction:column; gap:14px; }
.home-modern .home-client-navigation { align-self:flex-end; }
.home-modern .home-client-filters button { padding:7px 13px; }
}
/* Compact contact: a white form alongside a softly tinted information panel. */
.home-modern #contact_us { padding:50px 0 !important; background:white !important; }
.home-modern #contact_us .home-section-heading { align-items:center; gap:35px; margin-bottom:26px; }
.home-modern #contact_us .home-eyebrow { margin-bottom:10px; }
.home-modern #contact_us .home-section-heading h2 { color:var(--home-ink); font-size:clamp(27px,2.5vw,34px); line-height:1.3; max-width:650px; }
.home-modern #contact_us .home-section-heading > p { color:var(--home-muted); max-width:310px; }
.home-modern .home-contact-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:22px; align-items:stretch; }
.home-modern .home-contact-form-panel { min-width:0; padding:26px; border:1px solid var(--home-line); border-top:3px solid var(--home-primary); border-radius:6px; background:white; }
.home-modern .home-contact-form-panel > h3 { font-size:19px; font-weight:600; margin:0 0 20px; }
.home-modern .home-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 18px; }
.home-modern .home-contact-fields .form-group { margin:0; min-width:0; }
.home-modern .home-contact-full { grid-column:1 / -1; }
.home-modern #contact_us label { display:block; margin-bottom:6px; font-size:12px; letter-spacing:.3px; font-weight:600; color:var(--home-ink); }
.home-modern #contact_us label small { color:var(--home-primary); }
.home-modern #contact_us .sm-form-control { width:100%; min-width:0; font-size:var(--site-input-size); padding:8px 10px; background:#fcfbfb; border:1px solid #e5dfe0; border-radius:4px; line-height:1.6; }
.home-modern #contact_us textarea.sm-form-control { min-height:100px; resize:vertical; }
.home-modern #contact_us .sm-form-control:focus { border-color:var(--home-primary); box-shadow:0 0 0 3px #C3152C0c; background:white; }
.home-modern #contact_us .button { min-height:44px; padding:10px 18px; }
.home-modern .home-contact-details { min-width:0; display:flex; flex-direction:column; border:1px solid #f0dfe2; border-radius:6px; background:#fff8f9; overflow:hidden; }
.home-modern .home-contact-info { padding:20px 22px; }
.home-modern .home-contact-address { display:flex; gap:12px; align-items:flex-start; }
.home-modern .home-contact-address > .home-icon { color:var(--home-primary); width:23px; height:23px; margin-top:2px; }
.home-modern .home-contact-address h3,.home-modern .home-contact-direct h4 { color:var(--home-ink); font-size:14px; line-height:1.5; font-weight:600; text-transform:none; letter-spacing:0; margin:0 0 6px; }
.home-modern .home-contact-info p { font-size:var(--site-text-size); line-height:1.65; color:var(--home-muted); margin:0; overflow-wrap:anywhere; }
.home-modern .home-contact-info p strong { font-weight:500; color:var(--home-ink); }
.home-modern .home-contact-direct { display:grid; grid-template-columns:1.1fr 1fr; gap:18px; margin-top:16px; padding-top:15px; border-top:1px solid #eedde0; }
.home-modern .home-contact-direct h4 { display:flex; align-items:center; gap:8px; }
.home-modern .home-contact-direct h4 > span { font-size:12px; font-weight:400; color:var(--home-muted); }
.home-modern .home-contact-direct .home-icon { width:18px; height:18px; color:var(--home-primary); }
.home-modern .home-contact-direct a:hover { color:var(--home-primary); text-decoration:underline; }
.home-modern #contact_us #map { height:160px; min-height:160px; width:100%; flex:1; border-top:1px solid #eedde0; z-index:1; }
.home-modern #contact_us .map-tiles { filter:grayscale(.7); }
@media(max-width:991px) {
.home-modern .home-contact-layout { grid-template-columns:1fr; }
.home-modern #contact_us .home-section-heading { align-items:flex-start; flex-direction:column; gap:13px; }
.home-modern #contact_us .home-section-heading > p { max-width:540px; }
.home-modern #contact_us #map { height:220px; min-height:220px; }
}
@media(max-width:575px) {
.home-modern #contact_us { padding:35px 0 !important; }
.home-modern .home-contact-form-panel,.home-modern .home-contact-info { padding:20px; }
.home-modern .home-contact-fields { gap:14px; }
.home-modern .home-contact-fields .form-group { grid-column:1 / -1; }
.home-modern .home-contact-direct { grid-template-columns:1fr; gap:14px; }
.home-modern #contact_us #map { height:190px; min-height:190px; }
}
/* Locations and footer */
.home-modern .home-locations .section { margin:0 !important; padding:60px 0 !important; background:var(--home-soft); }
.home-modern .home-locations .heading-block { margin-bottom:35px !important; }
.home-modern .home-locations .heading-block::after { border-color:var(--home-primary); width:35px; }
.home-modern .home-locations .heading-block h3 { font-size:25px; font-weight:600; text-transform:none; }
.home-modern .home-locations .fbox-icon { display:none; }
.home-modern .home-locations .fbox-content { padding:0 0 0 18px; border-left:2px solid var(--home-primary); }
.home-modern .home-locations h5 { font-size:16px; line-height:1.8; margin-bottom:12px; }
.home-modern .home-locations .subtitle { font-size:var(--site-text-size) !important; color:var(--home-muted); line-height:var(--site-text-leading); }
.home-modern #footer { background:#111; color:#d4d4d4; border:0; border-top:4px solid var(--home-primary); margin:0; }
.home-modern .home-footer-main { display:grid; grid-template-columns:1.25fr .8fr 1fr; gap:55px; padding:55px 0 40px; }
.home-modern .home-footer-main img { width:155px; height:auto; background:#E5E7EB; border-radius:3px; margin-bottom:20px; }
.home-modern .home-footer-main p { font-size:var(--site-text-size); color:#bdbdbd; line-height:var(--site-text-leading); }
.home-modern .home-footer-main h3 { font-size:16px; font-weight:600; color:#fff; margin-bottom:20px; }
.home-modern .home-footer-main a { display:flex; align-items:center; gap:10px; color:#d4d4d4; font-size:var(--site-small-size); margin-bottom:12px; overflow-wrap:anywhere; }
.home-modern .home-footer-main a:hover { color:white; }
.home-modern .home-footer-main .home-icon { width:18px; height:18px; }
.home-modern #copyrights { display:flex; justify-content:space-between; gap:25px; flex-wrap:wrap; padding:24px 0; font-size:12px; color:#bdbdbd; background:transparent; border-top:1px solid #ffffff18; }
.home-modern #copyrights a { margin-left:20px; color:#d4d4d4; }
.home-modern #gotoTop { background:var(--home-primary); border-radius:4px; }
.home-modern #gotoTop .home-icon { width:25px; height:25px; }
@media(min-width:992px) {
.home-modern #header.transparent-header { position:relative; }
.home-modern #header .menu-container { align-items:center; }
.home-modern #header .header-wrap-clone { height:64px; }
.home-modern #header.sticky-header-shrink .header-row { min-height:56px; }
.home-modern #header.sticky-header-shrink #logo img { height:56px; }
.home-modern #header.sticky-header-shrink .menu-link { padding-top:12px; padding-bottom:12px; }
}
@media(max-width:1199px) {
.home-modern .menu-link { padding:14px 7px; font-size:13px; }
.home-modern .menu-link.contact_us { margin-left:10px; padding:12px 14px; }
}
@media(max-width:991px) {
.home-modern .container { max-width:780px; padding-left:24px; padding-right:24px; }
.home-modern .home-section { padding:70px 0; }
.home-modern .home-topbar .container > span { display:none; }
.home-modern .home-topbar > .container { justify-content:center; }
.home-modern #header .header-row { min-height:64px; }
.home-modern #header #logo img { height:56px; }
.home-modern .menu-link { font-size:15px; padding:14px 0; }
.home-modern .menu-link.contact_us { display:inline-flex; margin:10px 0 20px; padding:12px 20px; }
.home-modern .home-hero-slide { min-height:610px; }
.home-modern .home-hero-content { padding-top:80px; padding-bottom:180px; }
.home-modern .home-section-heading { display:block; }
.home-modern .home-section-heading > p { margin-top:20px; max-width:630px; line-height:var(--site-text-leading); }
.home-modern .home-market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-modern .home-market-grid article,.home-modern .home-market-grid article:nth-child(n+4) { grid-column:auto; min-height:320px; }
.home-modern .home-market-grid article:first-child { grid-column:span 2; }
.home-modern .home-stat { gap:14px; padding:15px; }
.home-modern .home-stat strong { font-size:31px; }
.home-modern .home-stat > .home-icon { width:32px; height:32px; }
.home-modern .home-footer-main { gap:30px; grid-template-columns:1fr 1fr; }
.home-modern .home-footer-main > div:first-child { grid-column:span 2; }
}
@media(max-width:575px) {
.home-modern .container { padding-left:20px; padding-right:20px; }
.home-modern .home-section { padding:55px 0; }
.home-modern h2 { font-size:29px; letter-spacing:-.7px; }
.home-modern .home-topbar .container > div { gap:7px 18px; justify-content:center; font-size:12px; }
.home-modern .home-hero-slide { min-height:620px; }
.home-modern .home-hero-content { padding-top:70px; padding-bottom:195px; }
.home-modern .home-hero h1,.home-modern .home-hero h2 { font-size:34px; letter-spacing:-.8px; line-height:1.25; }
.home-modern .home-hero p { font-size:var(--site-text-size); line-height:var(--site-text-leading); }
.home-modern .home-hero .home-eyebrow { font-size:12px; letter-spacing:1px; }
.home-modern .home-button,.home-modern .button { padding:12px 16px; font-size:var(--site-control-size); gap:10px; }
.home-modern .home-hero-bottom { bottom:83px; gap:12px; }
.home-modern .home-hero-controls button { width:34px; height:36px; }
.home-modern .home-stats { padding:25px 0; }
.home-modern .home-stat { flex-direction:column; text-align:center; gap:12px; padding:10px 8px; }
.home-modern .home-stat strong { font-size:28px; }
.home-modern .home-stat span { font-size:var(--site-small-size); line-height:1.5; display:block; margin-top:6px; }
.home-modern .home-stat > .home-icon { width:30px; height:30px; }
.home-modern .home-market-grid { grid-template-columns:1fr; }
.home-modern .home-market-grid article:first-child { grid-column:auto; }
.home-modern .home-market-grid article,.home-modern .home-market-grid article:nth-child(n+4) { min-height:290px; }
.home-modern .home-clients { padding:55px 0; }
.home-modern .home-locations .section { padding:45px 0 !important; }
.home-modern .home-footer-main { grid-template-columns:1fr; gap:25px; padding:40px 0 25px; }
.home-modern .home-footer-main > div:first-child { grid-column:auto; }
.home-modern #copyrights { display:block; line-height:1.9; }
.home-modern #copyrights > span { display:block; margin-top:9px; }
.home-modern #copyrights a { margin-left:0; margin-right:20px; }
}
@media(max-width:359px) {
.home-modern .home-hero h1,.home-modern .home-hero h2 { font-size:30px; }
.home-modern .home-hero-bottom { gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
.home-modern *,.home-modern *::before,.home-modern *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}





/* Responsive layouts for the asymmetric sections. */
@media(max-width:1199px) {
.home-modern .home-about-layout { gap:40px; }
.home-modern .home-about-main { height:510px; }
.home-modern .home-service-card { padding:28px; }
.home-modern .home-possibility-layout { gap:26px; }
.home-modern .home-possibility-copy { padding:28px; }
.home-modern .home-possibility-photo > svg { height:315px; }
}
@media(max-width:991px) {
.home-modern .home-about { padding:50px 0; }
.home-modern .home-about::before { width:34%; }
.home-modern .home-about-layout { grid-template-columns:1fr; gap:35px; }
.home-modern .home-about-media { max-width:570px; width:100%; justify-self:center; }
.home-modern .home-about-main { height:410px; }
.home-modern .home-about-copy { background:white; padding:28px; border-radius:5px; }
.home-modern .home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.home-modern .home-service-card:last-child { grid-template-columns:60px minmax(0,1fr); gap:12px 22px; }
.home-modern .home-service-card:last-child .home-read-link { grid-column:2; grid-row:auto; }
.home-modern .home-possibility { padding:45px 0; }
.home-modern .home-possibility-layout { grid-template-columns:1fr; gap:26px; }
.home-modern .home-possibility-copy { max-width:620px; }
.home-modern .home-possibility-gallery { max-width:620px; width:100%; }
.home-modern .home-possibility-photo > svg { height:250px; }
}
@media(max-width:575px) {
.home-modern .home-about { padding:35px 0; }
.home-modern .home-about::before { width:42%; }
.home-modern .home-about-main { height:330px; }
.home-modern .home-about-copy { padding:23px; }
.home-modern .home-about-badge { left:16px; bottom:16px; max-width:calc(100% - 32px); padding:14px 18px; }
.home-modern .home-about-badge strong { font-size:26px; }
.home-modern .home-about-badge span { font-size:12px; }
.home-modern .home-about-features { gap:20px; }
.home-modern .home-service-grid { grid-template-columns:1fr; gap:18px; }
.home-modern .home-service-intro { margin-bottom:5px; }
.home-modern .home-service-card { padding:28px; }
.home-modern .home-service-card:last-child { display:flex; gap:0; }
.home-modern .home-service-card:last-child .home-service-icon { margin-bottom:23px; }
.home-modern .home-service-card:last-child h3 { margin-bottom:13px; }
.home-modern .home-service-card:last-child p { margin-bottom:22px; }
.home-modern .home-service-card:last-child .home-read-link { margin-top:auto; }
.home-modern .home-possibility { padding:35px 0; }
.home-modern .home-possibility-copy { padding:25px; }
.home-modern .home-possibility h2 { font-size:30px; }
.home-modern .home-possibility h3 { font-size:17px; }
.home-modern .home-possibility-actions { gap:18px; }
.home-modern .home-possibility-gallery { gap:10px; }
.home-modern .home-possibility-photo > svg { height:225px; }
.home-modern .home-possibility-photo figcaption { left:11px; right:9px; bottom:13px; }
.home-modern .home-possibility-photo figcaption strong { font-size:13px; }
}

/* Desktop services occupy two compact rows, with the introduction as the first tile. */
@media(min-width:992px) {
.home-modern .home-services { padding:28px 0; }
.home-modern .home-services .home-service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.home-modern .home-services .home-service-intro { grid-column:auto; text-align:left; align-self:center; margin:0; padding:5px 8px 5px 0; }
.home-modern .home-services .home-service-intro .home-eyebrow { margin-bottom:8px; }
.home-modern .home-services .home-service-intro h2 { font-size:clamp(24px,2vw,28px); line-height:1.25; letter-spacing:-.6px; margin-bottom:12px; }
.home-modern .home-services .home-service-intro p { line-height:1.65; }
.home-modern .home-services .home-service-card { grid-column:auto; display:grid; grid-template-columns:32px minmax(0,1fr); grid-template-rows:auto 1fr auto; align-items:start; gap:10px; padding:16px 18px; }
.home-modern .home-services .home-service-card .home-service-icon { grid-column:1; grid-row:1; width:32px; height:32px; margin:0; }
.home-modern .home-services .home-service-icon .home-icon { width:21px; height:21px; }
.home-modern .home-services .home-service-card h3 { grid-column:2; grid-row:1; align-self:center; font-size:16px; line-height:1.4; margin:0; }
.home-modern .home-services .home-service-card p { grid-column:1 / -1; grid-row:2; font-size:var(--site-text-size); line-height:1.65; margin:0; }
.home-modern .home-services .home-service-card .home-read-link { grid-column:1 / -1; grid-row:3; margin:0; white-space:normal; font-size:12px; gap:8px; }
}
@media(min-width:992px) and (max-height:700px) {
.home-modern .home-services { padding:20px 0; }
.home-modern .home-services .home-service-grid { gap:12px; }
.home-modern .home-services .home-service-card { padding:14px 16px; gap:8px; }
}

/* Hero emphasis and side arrows. */
.home-modern .home-hero .home-hero-content { padding:65px 80px 110px; }
.home-modern .home-hero .home-hero-bottom { bottom:28px; justify-content:flex-end; }
.home-modern .home-hero-value-panel { width:fit-content; max-width:1000px; padding:26px 30px; border-left:3px solid var(--home-primary); border-radius:4px; background:#10101040; }
.home-modern .home-hero .home-hero-value-title { font-size:15px; line-height:1.4; letter-spacing:2px; text-transform:uppercase; margin:0 0 21px; }
.home-modern .home-hero-value-panel .home-eyebrow { margin-bottom:8px; color:#ddd; font-size:11px; }
.home-modern .home-hero .home-hero-values { max-width:none; margin:0 0 24px; color:white; font-size:clamp(21px,2.05vw,28px); font-weight:700; line-height:1.4; letter-spacing:-.5px; }
.home-modern .home-hero-values li { display:flex; align-items:baseline; margin-bottom:11px; }
.home-modern .home-hero-values li:last-child { margin-bottom:0; }
.home-modern .home-hero-initial { display:inline-block; flex-shrink:0; padding:0; margin:0; background:transparent; color:var(--home-primary); font-size:1.15em; line-height:1.15; font-weight:800; }
.home-modern .home-hero-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; display:grid; place-items:center; width:42px; height:52px; padding:0; border:1px solid #ffffff65; border-radius:4px; background:#17171799; color:white; cursor:pointer; transition:background .2s; }
.home-modern .home-hero-arrow:hover { background:var(--home-primary); }
.home-modern .home-hero-arrow:focus-visible { outline-color:white; }
.home-modern .home-hero-prev { left:18px; }
.home-modern .home-hero-next { right:18px; }
.home-modern .home-hero-prev .home-icon { transform:rotate(180deg); }
.home-modern .home-hero-slides { display:grid; }
.home-modern .home-hero-slide { grid-area:1 / 1; min-width:0; }
.home-modern .home-hero-slide.is-active { z-index:1; animation:home-hero-reveal .8s cubic-bezier(.22,.61,.36,1) both; }
.home-modern .home-hero-slide.is-leaving { z-index:0; pointer-events:none; animation:home-hero-exit .8s ease both; }
@keyframes home-hero-reveal { from { opacity:0; } to { opacity:1; } }
@keyframes home-hero-exit { from { opacity:1; } to { opacity:0; } }
@media(max-width:991px) {
.home-modern .home-hero .home-hero-content { padding:55px 65px 90px; }
.home-modern .home-hero-value-panel { padding:23px; }
.home-modern .home-hero-arrow { width:34px; height:44px; }
.home-modern .home-hero-prev { left:12px; }
.home-modern .home-hero-next { right:12px; }
}
@media(max-width:575px) {
.home-modern .home-hero .home-hero-content { padding:40px 46px 90px; }
.home-modern .home-hero-value-panel { padding:18px 14px; }
.home-modern .home-hero .home-hero-values { font-size:21px; line-height:1.45; letter-spacing:-.3px; }
.home-modern .home-hero-arrow { width:30px; height:40px; }
.home-modern .home-hero-arrow .home-icon { width:20px; height:20px; }
.home-modern .home-hero-prev { left:7px; }
.home-modern .home-hero-next { right:7px; }
}

/* Lighten the value slides and reveal their copy in a short, ordered sequence. */
.home-modern .home-hero-slide-values::after { background:linear-gradient(90deg,#08080880,#08080820); }
.home-modern .home-hero-slide-values .home-hero-values { text-shadow:0 2px 8px #00000065; }
.home-modern .home-hero-slide.is-active .home-hero-content > .home-eyebrow,
.home-modern .home-hero-slide.is-active .home-hero-content > h1,
.home-modern .home-hero-slide.is-active .home-hero-content > p,
.home-modern .home-hero-slide.is-active .home-hero-actions,
.home-modern .home-hero-slide.is-active .home-hero-value-panel > .home-eyebrow,
.home-modern .home-hero-slide.is-active .home-hero-value-title,
.home-modern .home-hero-slide.is-active .home-hero-values li { animation:home-hero-text-in .65s cubic-bezier(.16,1,.3,1) both; }
.home-modern .home-hero-slide.is-active .home-hero-content > .home-eyebrow,
.home-modern .home-hero-slide.is-active .home-hero-value-panel > .home-eyebrow { animation-delay:.05s; }
.home-modern .home-hero-slide.is-active .home-hero-content > h1,
.home-modern .home-hero-slide.is-active .home-hero-value-title { animation-delay:.12s; }
.home-modern .home-hero-slide.is-active .home-hero-content > p { animation-delay:.3s; }
.home-modern .home-hero-slide.is-active .home-hero-actions { animation-delay:.48s; }
.home-modern .home-hero-slide.is-active .home-hero-values li:nth-child(1) { animation-delay:.2s; }
.home-modern .home-hero-slide.is-active .home-hero-values li:nth-child(2) { animation-delay:.38s; }
.home-modern .home-hero-slide.is-active .home-hero-values li:nth-child(3) { animation-delay:.56s; }
.home-modern .home-hero-slide.is-active .home-hero-values li:nth-child(4) { animation-delay:.74s; }
@keyframes home-hero-text-in {
    from { opacity:0; transform:translateY(18px); }
    to { opacity:1; transform:translateY(0); }
}
@media(prefers-reduced-motion:reduce) {
.home-modern .home-hero .home-hero-slide,
.home-modern .home-hero .home-hero-slide * { animation:none !important; }
}

.home-modern .home-hero-value-panel .home-hero-values { margin-bottom:0; }

/* Real stock footage plays only on the currently active hero slide. */
.home-modern .home-hero-slide-values { overflow:hidden; }
.home-modern .home-hero-slide-values .home-hero-video { object-position:center; }

/* Keep the open principles layout within a compact desktop viewport. */
@media(min-width:992px) {
.home-modern .home-principles { padding:52px 0; }
.home-modern .home-principles > .container { max-width:1280px; }
.home-modern .home-principle-layout { grid-template-columns:220px minmax(0,1fr); gap:26px; }
.home-modern .home-principle-intro { padding:12px 22px 12px 0; }
.home-modern .home-principle-intro h2 { font-size:34px; line-height:1.2; letter-spacing:-.8px; margin-bottom:18px; }
.home-modern .home-principle-intro p { font-size:var(--site-text-size); line-height:1.65; margin-bottom:18px; }
.home-modern .home-principle-row { grid-template-columns:36px 180px minmax(0,1fr); gap:14px; padding:34px 0; }
.home-modern .home-principle-row:first-child { padding-top:14px; }
.home-modern .home-principle-row:last-child { padding-bottom:14px; }
.home-modern .home-principle-icon { width:36px; height:36px; }
.home-modern .home-principle-icon .home-icon { width:21px; height:21px; }
.home-modern .home-principle-summary .home-eyebrow { margin-bottom:7px; font-size:10px; }
.home-modern .home-principle-summary h3 { font-size:17px; line-height:1.35; }
.home-modern .home-principle-description p { display:inline; margin:0; font-size:var(--site-text-size); line-height:1.7; }
.home-modern .home-principle-description p + p::before { content:' '; }
.home-modern .home-principle-description .home-read-link { display:flex; width:fit-content; margin-top:8px; font-size:11px; line-height:1.5; }
.home-modern .home-principle-value-list { margin:0; }
.home-modern .home-principle-value-list li { font-size:var(--site-text-size); line-height:1.7; margin-bottom:5px; }
.home-modern .home-principle-value-list li:last-child { margin-bottom:0; }
}
@media(min-width:992px) and (max-width:1199px) {
.home-modern .home-principle-layout { grid-template-columns:190px minmax(0,1fr); gap:20px; }
.home-modern .home-principle-intro h2 { font-size:30px; }
.home-modern .home-principle-row { grid-template-columns:32px 145px minmax(0,1fr); gap:12px; padding:28px 0; }
.home-modern .home-principle-icon { width:32px; height:32px; }
.home-modern .home-principle-summary h3 { font-size:16px; }
}
@media(min-width:992px) and (max-height:700px) {
.home-modern .home-principles { padding:36px 0; }
.home-modern .home-principle-row { padding-top:23px; padding-bottom:23px; }
}
