/* Industries: contextual photography, generous spacing and useful sector detail. */
body:has(.df-industries) { overflow-x:clip; }
.df-industries { --ind-muted:#655f63; --ind-line:#ded7d5; background:#fcfaf8; color:#201b1e; }
.df-ind-shell { width:min(100% - 64px,1216px); margin-inline:auto; }
.df-ind-hero[data-hero] { position:relative; display:block; min-height:720px; min-height:max(720px,88svh); overflow:hidden; background:#17191b; color:white; }
.df-ind-hero-image { position:absolute; inset:0; z-index:-1; }
.df-ind-hero-image img { width:100%; height:100%; object-fit:cover; object-position:65% 48%; }
.df-ind-hero-image::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,16,20,.95),rgba(13,16,20,.82) 28%,rgba(13,16,20,.24) 69%,rgba(13,16,20,.08)),linear-gradient(0deg,rgba(13,16,20,.32),transparent 35%); }
.df-ind-hero-content { position:relative; padding-top:calc(var(--df-header-height) + var(--df-admin-offset) + 48px); padding-bottom:110px; }
.df-ind-breadcrumb { display:flex; gap:12px; color:rgba(255,255,255,.65); font-size:13px; margin-bottom:44px; }
.df-ind-breadcrumb a:hover { color:white; }
.df-ind-hero[data-hero]:not(#heroSlider) h1 { max-width:14ch; font-size:clamp(3rem,5.3vw,4.8rem); line-height:1.06; margin-top:24px; }
.df-ind-hero[data-hero]:not(#heroSlider) h1 + p { max-width:460px; margin-top:28px; font-size:18px; line-height:1.7; color:rgba(255,255,255,.79); }
.df-ind-hero-content .btn { margin-top:32px; }
.df-ind-hero-caption { position:absolute; bottom:35px; right:max(32px,calc((100% - 1216px)/2)); color:rgba(255,255,255,.78); font-size:12px; letter-spacing:.025em; }
#subnav.df-ind-nav { position:sticky; top:calc(78px + var(--df-admin-offset)); z-index:30; background:#fcfaf8f5; border-bottom:1px solid var(--ind-line); backdrop-filter:blur(12px); }
.df-ind-nav nav { display:flex; justify-content:space-between; gap:24px; overflow-x:auto; scrollbar-width:thin; }
.df-ind-nav a { display:flex; align-items:center; gap:12px; flex-shrink:0; padding:25px 0; font-size:14px; border-bottom:2px solid transparent; }
.df-ind-nav a span { color:#9b898e; font-size:11px; }
.df-ind-nav a:hover,.df-ind-nav a.on { color:#c4104a; border-color:#c4104a; }
.df-ind-intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-block:104px 64px; align-items:end; }
.df-ind-intro h2,.df-ind-possibilities h2 { margin-top:24px; font-size:clamp(2rem,3.8vw,3.5rem); line-height:1.12; }
.df-ind-intro p:not(.eyebrow) { color:var(--ind-muted); font-size:17px; line-height:1.8; max-width:490px; }
.df-ind-intro p + p { margin-top:16px; }
.df-ind-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px 40px; padding-bottom:108px; }
.df-ind-card { background:white; border:1px solid var(--ind-line); }
.df-industries .df-ind-card,.df-industries #industry-sectors { scroll-margin-top:calc(60px + var(--df-admin-offset)); }
.df-ind-photo { position:relative; overflow:hidden; aspect-ratio:16/10; background:#e3ded8; }
.df-ind-photo img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.df-ind-card:hover .df-ind-photo img { transform:scale(1.025); }
.df-ind-number { position:absolute; bottom:0; left:0; display:grid; place-items:center; background:#c4104a; color:white; width:57px; height:57px; font-size:18px; }
.df-ind-card-copy { padding:34px 36px 38px; }
.df-ind-card h2 { margin-top:18px; font-size:clamp(1.7rem,2.7vw,2.25rem); line-height:1.18; max-width:24ch; min-height:2.4em; }
.df-ind-description { margin-top:20px; color:var(--ind-muted); line-height:1.75; min-height:5.25em; }
.df-ind-card ul { margin-top:25px; border-top:1px solid var(--ind-line); }
.df-ind-card li { position:relative; border-bottom:1px solid var(--ind-line); padding:13px 0 13px 18px; font-size:14px; line-height:1.5; }
.df-ind-card li::before { content:''; position:absolute; top:21px; left:0; width:5px; height:5px; background:#c4104a; }
.df-ind-card .alink { margin-top:28px; color:#c4104a; font-size:15px; }
.df-ind-possibilities { background:#201b1e; color:white; padding-block:90px; }
.df-ind-possibilities-heading { display:grid; grid-template-columns:1fr 1fr; gap:20px 80px; align-items:end; }
.df-ind-possibilities-heading .eyebrow { grid-column:1/-1; }
.df-ind-possibilities h2 { margin-top:0; }
.df-ind-possibilities-heading > p:last-child { max-width:430px; font-size:17px; line-height:1.8; color:#c4bec1; }
.df-ind-service-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:60px; }
.df-ind-service-links > a { display:flex; flex-direction:column; border-top:1px solid #62565c; padding-top:24px; }
.df-ind-service-label { color:#efa33d; font-size:12px; }
.df-ind-service-links h3 { font-weight:600; font-size:25px; line-height:1.25; margin-top:24px; }
.df-ind-service-links p { line-height:1.75; color:#c4bec1; margin-block:20px 25px; }
.df-ind-service-links .alink { margin-top:auto; align-self:flex-start; font-size:14px; }
.df-ind-cta { background:#b80b43; color:white; padding-block:85px; }
.df-ind-cta .df-ind-shell { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:center; }
.df-ind-cta .eyebrow { color:#f9cada; }
.df-ind-cta h2 { font-size:clamp(2.5rem,4.8vw,4.1rem); line-height:1.1; margin-top:24px; }
.df-ind-cta p:not(.eyebrow) { line-height:1.8; font-size:17px; color:#f8dae4; }
.df-ind-cta .btn { margin-top:28px; }
.df-industries a:focus-visible { outline:3px solid #efa33d; outline-offset:5px; }
@media(max-width:1023px) { .df-ind-shell { width:calc(100% - 48px); } .df-ind-hero-image img { object-position:60% center; } .df-ind-grid { gap:30px 24px; } .df-ind-card-copy { padding:28px 25px; } .df-ind-intro,.df-ind-possibilities-heading,.df-ind-cta .df-ind-shell { gap:35px; } .df-ind-service-links { gap:25px; } }
@media(max-width:767px) {
  .df-ind-shell { width:calc(100% - 40px); }
  .df-ind-hero[data-hero] { min-height:0; }
  .df-ind-hero-image { height:340px; top:var(--df-header-height); }
  .df-ind-hero-image img { object-position:72% center; }
  .df-ind-hero-image::after { background:linear-gradient(0deg,#17191b,transparent 70%); }
  .df-ind-hero-content { padding-top:calc(var(--df-header-height) + 320px); padding-bottom:48px; }
  .df-ind-breadcrumb { margin-bottom:30px; }
  .df-ind-hero[data-hero]:not(#heroSlider) h1 { font-size:clamp(2.5rem,9vw,3.5rem); max-width:17ch; line-height:1.1; }
  .df-ind-hero[data-hero]:not(#heroSlider) h1 + p { font-size:16px; margin-top:22px; }
  .df-ind-hero-caption { display:none; }
  .df-ind-nav a { padding:19px 0; font-size:13px; gap:7px; }
  .df-ind-intro { grid-template-columns:1fr; padding-block:64px 40px; gap:26px; }
  .df-ind-intro h2 { font-size:2.35rem; }
  .df-ind-grid { grid-template-columns:1fr; gap:32px; padding-bottom:65px; }
  .df-ind-photo { aspect-ratio:16/11; }
  .df-ind-card h2 { min-height:0; font-size:1.9rem; }
  .df-ind-description { min-height:0; font-size:15px; }
  .df-ind-card-copy { padding:28px 24px 32px; }
  .df-ind-possibilities { padding-block:60px; }
  .df-ind-possibilities-heading,.df-ind-service-links,.df-ind-cta .df-ind-shell { grid-template-columns:1fr; gap:28px; }
  .df-ind-service-links { margin-top:40px; gap:38px; }
  .df-ind-service-links h3 { font-size:24px; max-width:22ch; }
  .df-ind-cta { padding-block:60px; }
}
@media(prefers-reduced-motion:reduce) { .df-ind-photo img { transition:none; } .df-ind-card:hover .df-ind-photo img { transform:none; } }
