/* Detail pages share the red, black and white corporate theme. */
.detail-modern #page-title.detail-hero { position:relative; padding:64px 0 58px; border:0; background:linear-gradient(115deg,var(--home-primary) 25%,var(--home-red-dark)); }
.detail-modern .detail-hero::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:1px; background:#ffffff20; }
.detail-modern #page-title .home-eyebrow { display:block; margin:0 0 16px; color:#fff; font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; }
.detail-modern #page-title h1 { font-size:clamp(29px,3.3vw,46px); line-height:1.25; font-weight:700; letter-spacing:-1.2px; text-transform:none; max-width:950px; margin:0 0 24px; color:white; overflow-wrap:break-word; }
.detail-modern #page-title .breadcrumb { position:static !important; display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 0; max-width:100%; margin:0 !important; transform:none; background:transparent; padding:0; font-size:13px; }
.detail-modern .breadcrumb a { color:#fff; }
.detail-modern .breadcrumb a:hover { text-decoration:underline; }
.detail-modern .breadcrumb-item + .breadcrumb-item::before { color:#ffffffa6; }
.detail-modern .breadcrumb a:focus-visible { outline-color:white; }
.detail-modern .breadcrumb .active { color:#fff; }
.detail-modern .detail-main { background:var(--home-soft); padding:65px 0 80px; }
.detail-modern .detail-layout { display:grid; grid-template-columns:265px minmax(0,1fr); gap:35px; align-items:start; }
.detail-modern .detail-article { min-width:0; padding:35px; border:1px solid var(--home-line); border-radius:6px; background:white; box-shadow:0 6px 25px #00000004; line-height:var(--site-text-leading); }
.detail-modern .detail-article #content { overflow:visible; }
.detail-modern .detail-article .content-wrap { padding:0; }
.detail-modern .detail-article .container { width:100%; max-width:none; padding:0; }
.detail-modern .detail-article .row { margin:0; row-gap:26px; }
.detail-modern .detail-article .row > [class*='col-'] { width:100%; padding:0; flex:none; }
.detail-modern .detail-article .no-padding { padding:0; }
.detail-modern .detail-article { font-size:var(--site-text-size); line-height:var(--site-text-leading); color:var(--home-muted); }
.detail-modern .detail-article p { font-size:var(--site-text-size); line-height:var(--site-text-leading); margin-bottom:18px; }
.detail-modern .detail-article p:last-child { margin-bottom:0; }
.detail-modern .detail-article h2,.detail-modern .detail-article h3 { color:var(--home-ink); text-transform:none; letter-spacing:-.4px; font-weight:600; }
.detail-modern .detail-article ul { margin:15px 0 20px 20px !important; }
.detail-modern .detail-article li { padding:5px 0 5px 3px; }
.detail-modern .detail-article li::marker { color:var(--home-primary); }
.detail-modern .detail-article li ul { margin:8px 0 8px 18px !important; }
.detail-modern .detail-article img { display:block; width:100%; height:auto; max-height:420px; object-fit:contain; border-radius:5px; background:#f7f7f7; }
.detail-solutions .detail-article .row > div:has(> img) { order:-1; }
.detail-modern .detail-sidebar { min-width:0; }
.detail-modern .detail-category-nav { padding:25px 20px 15px; background:white; border:1px solid var(--home-line); border-radius:6px; }
.detail-modern .detail-category-nav h2 { font-size:17px; font-weight:700; letter-spacing:-.4px; margin-bottom:18px; padding:0 10px; }
.detail-modern .detail-category-nav ul { list-style:none; margin:0; padding:0; }
.detail-modern .detail-category-nav li { border-top:1px solid #f2f2f2; }
.detail-modern .detail-category-nav a { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:13px 10px; font-size:var(--site-small-size); line-height:1.65; border-radius:3px; }
.detail-modern .detail-category-nav a > span { min-width:0; }
.detail-modern .detail-category-nav .home-icon { width:15px; height:15px; }
.detail-modern .detail-category-nav a.is-active { background:var(--home-primary); color:white; font-weight:600; }
.detail-modern .detail-help { margin-top:25px; padding:28px; background:#171717; border-top:3px solid var(--home-primary); color:white; border-radius:6px; }
.detail-modern .detail-help-icon { display:grid; place-items:center; background:#ffffff12; border-radius:50%; width:50px; height:50px; margin-bottom:20px; }
.detail-modern .detail-help-icon .home-icon { width:27px; height:27px; }
.detail-modern .detail-help h3 { color:white; font-size:20px; line-height:1.4; margin-bottom:15px; }
.detail-modern .detail-help p { color:#d4d4d4; font-size:var(--site-text-size); margin-bottom:22px; line-height:var(--site-text-leading); }
.detail-modern .detail-help .home-button { width:100%; font-size:var(--site-control-size); padding:12px 15px; }
.detail-modern .detail-contact-banner { padding:55px 0; background:#171717; border-top:1px solid #303030; }
.detail-modern .detail-contact-banner > .container { display:flex; justify-content:space-between; align-items:center; gap:35px; }
.detail-modern .detail-contact-banner h2 { color:white; font-size:30px; margin-bottom:15px; }
.detail-modern .detail-contact-banner .home-eyebrow { color:var(--home-primary); margin-bottom:13px; }
.detail-modern .detail-contact-banner p { color:#d4d4d4; font-size:var(--site-text-size); margin:0; line-height:var(--site-text-leading); }
.detail-modern .detail-contact-banner .home-button { flex-shrink:0; }
.detail-about .detail-article .feature-box { padding:22px; border:1px solid var(--home-line); border-radius:5px; border-left:3px solid var(--home-primary); background:white; margin:0 0 20px !important; }
.detail-about .detail-article .fbox-content { padding:0; }
.detail-about .detail-article .dropcap { color:var(--home-primary); background:#fcecf0; width:40px; height:40px; margin-right:10px; font-size:27px; line-height:40px; text-align:center; }
.detail-about .detail-article .feature-box h3 { font-size:17px; line-height:1.6; min-height:40px; display:flex; align-items:center; }
.detail-about .detail-article .feature-box p { font-size:var(--site-text-size); clear:both; line-height:var(--site-text-leading); }
.detail-projects .detail-layout { display:block; }
.detail-projects .detail-article { padding:0; border:0; background:transparent; box-shadow:none; }
.detail-projects .detail-article #content { background:transparent; }
@media(max-width:991px) {
.detail-modern .detail-layout { grid-template-columns:220px minmax(0,1fr); gap:22px; }
.detail-modern .detail-article { padding:25px; line-height:var(--site-text-leading); }
.detail-modern .detail-category-nav { padding:22px 12px 12px; }
.detail-modern .detail-help { padding:22px; }
.detail-modern .detail-main { padding:45px 0 60px; }
.detail-modern #page-title.detail-hero { padding:45px 0; }
.detail-modern .detail-contact-banner h2 { font-size:26px; }
.detail-projects .detail-article { padding:0; }
}
@media(max-width:767px) {
.detail-modern .detail-layout { display:flex; flex-direction:column; gap:25px; }
.detail-modern .detail-sidebar { order:2; width:100%; }
.detail-modern .detail-article { width:100%; padding:24px; line-height:var(--site-text-leading); }
.detail-modern .detail-article p,.detail-modern .detail-article { font-size:var(--site-text-size); line-height:var(--site-text-leading); }
.detail-modern .detail-category-nav { padding:24px 18px 15px; }
.detail-modern .detail-category-nav a { font-size:var(--site-small-size); }
.detail-modern .detail-contact-banner > .container { flex-direction:column; align-items:flex-start; gap:25px; }
.detail-projects .detail-article { padding:0; }
}
@media(max-width:575px) {
.detail-modern #page-title.detail-hero { padding:36px 0; }
.detail-modern #page-title h1 { font-size:28px; letter-spacing:-.7px; }
.detail-modern #page-title .breadcrumb { font-size:13px; }
.detail-modern .detail-main { padding:30px 0 45px; }
.detail-modern .detail-article { padding:22px 18px; line-height:var(--site-text-leading); }
.detail-modern .detail-contact-banner { padding:40px 0; }
.detail-modern .detail-contact-banner h2 { font-size:25px; }
.detail-projects .detail-article { padding:0; }
}
/* Project references use independent cards, avoiding the legacy Bootstrap row spacing. */
.detail-projects .project-reference-toolbar { display:flex; justify-content:space-between; align-items:center; gap:35px; margin-bottom:30px; }
.detail-projects .project-reference-toolbar .home-eyebrow { margin-bottom:10px; }
.detail-projects .detail-article .project-reference-toolbar h2 { font-size:27px; line-height:1.35; letter-spacing:-.7px; margin:0 0 10px; }
.detail-projects .detail-article .project-reference-toolbar p { font-size:var(--site-text-size); margin:0 0 14px; line-height:var(--site-text-leading); }
.detail-projects .project-reference-count { color:var(--home-muted); font-size:var(--site-small-size); }
.detail-projects .project-reference-search { width:350px; flex-shrink:0; }
.detail-projects .project-reference-search label { display:block; text-transform:none; font-size:var(--site-small-size); font-weight:600; letter-spacing:0; color:var(--home-ink); margin-bottom:9px; }
.detail-projects .project-reference-search > div { display:flex; align-items:center; gap:12px; padding:12px 15px; border:1px solid #e3e0e1; border-radius:5px; background:white; }
.detail-projects .project-reference-search .home-icon { width:18px; height:18px; color:var(--home-muted); }
.detail-projects .project-reference-search input { border:0; background:transparent; outline:0; min-width:0; width:100%; font:400 var(--site-input-size)/1.6 'Montserrat',Arial,sans-serif; color:var(--home-ink); }
.detail-projects .project-reference-search > div:focus-within { border-color:var(--home-primary); box-shadow:0 0 0 3px #C3152C12; }
.detail-projects .detail-article .project-reference-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:26px; }
.detail-projects .detail-article .project-reference-card { min-width:0; padding:28px; margin:0; background:white; border:1px solid var(--home-line); border-top:3px solid var(--home-primary); border-radius:6px; box-shadow:0 4px 20px #00000004; }
.detail-projects .project-reference-card-header { border-bottom:1px solid var(--home-line); padding-bottom:20px; margin-bottom:20px; }
.detail-projects .project-reference-card-marker { display:flex; align-items:center; gap:12px; margin-bottom:16px; color:var(--home-muted); font-size:12px; letter-spacing:.5px; text-transform:uppercase; }
.detail-projects .project-reference-card-marker > span:first-child { display:grid; place-items:center; width:35px; height:35px; border-radius:7px; background:#fceff1; color:var(--home-primary); }
.detail-projects .project-reference-card-marker .home-icon { width:21px; height:21px; }
.detail-projects .detail-article .project-reference-card h3 { min-height:54px; font-size:18px; font-weight:600; line-height:1.5; letter-spacing:-.35px; margin:0; color:var(--home-ink); overflow-wrap:anywhere; }
.detail-projects .project-reference-meta { display:grid; gap:12px; margin:0 0 23px; }
.detail-projects .project-reference-meta > div { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:baseline; gap:10px; }
.detail-projects .project-reference-meta dt { font-size:var(--site-small-size); font-weight:600; line-height:1.8; color:var(--home-ink); }
.detail-projects .project-reference-meta dd { font-size:var(--site-text-size); font-weight:400; line-height:var(--site-text-leading); color:var(--home-muted); margin:0; overflow-wrap:anywhere; }
.detail-projects .detail-article .project-reference-systems h4 { display:flex; align-items:center; gap:9px; margin:0 0 12px; font-size:var(--site-small-size); font-weight:600; letter-spacing:0; text-transform:none; }
.detail-projects .project-reference-systems h4 > span { display:grid; place-items:center; border-radius:50%; min-width:21px; height:21px; padding:0 5px; background:#f4f4f4; color:var(--home-muted); font-size:12px; }
.detail-projects .detail-article .project-reference-systems ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 !important; }
.detail-projects .detail-article .project-reference-systems li { max-width:100%; padding:6px 10px; margin:0; border:1px solid #eee; border-radius:4px; background:#f7f7f7; color:#555; font-size:var(--site-text-size); line-height:var(--site-text-leading); overflow-wrap:anywhere; }
.detail-projects .project-reference-systems details { margin-top:14px; }
.detail-projects .project-reference-systems summary { display:inline-flex; align-items:center; gap:8px; padding:2px 0; color:var(--home-primary); font-size:var(--site-control-size); font-weight:600; cursor:pointer; list-style:none; }
.detail-projects .project-reference-systems summary::-webkit-details-marker { display:none; }
.detail-projects .project-reference-systems summary .home-icon { width:15px; height:15px; transform:rotate(180deg); }
.detail-projects .project-reference-systems details[open] summary .home-icon { transform:none; }
.detail-projects .detail-article .project-reference-systems details > ul { margin-top:12px !important; }
.detail-projects .project-reference-empty { padding:55px 25px; background:white; border:1px dashed #e3e0e1; border-radius:8px; text-align:center; }
.detail-projects .project-reference-empty > .home-icon { width:32px; height:32px; color:var(--home-muted); margin-bottom:15px; }
.detail-projects .project-reference-empty h3 { font-size:20px; margin:0 0 10px; }
.detail-projects .project-reference-empty p { font-size:var(--site-text-size); margin:0; line-height:var(--site-text-leading); }
.detail-projects .project-reference-card[hidden],.detail-projects .project-reference-empty[hidden] { display:none; }
@media(max-width:991px) {
.detail-projects .project-reference-toolbar { align-items:flex-start; flex-direction:column; gap:22px; }
.detail-projects .project-reference-search { width:100%; }
.detail-projects .detail-article .project-reference-card { padding:23px; }
.detail-projects .detail-article .project-reference-grid { gap:20px; }
}
@media(max-width:767px) {
.detail-projects .detail-article .project-reference-grid { grid-template-columns:1fr; }
.detail-projects .detail-article .project-reference-card { padding:25px; }
.detail-projects .detail-article .project-reference-card h3 { min-height:0; }
}
@media(max-width:575px) {
.detail-projects .detail-article .project-reference-toolbar h2 { font-size:24px; }
.detail-projects .detail-article .project-reference-card { padding:22px; }
.detail-projects .detail-article .project-reference-card h3 { font-size:17px; }
.detail-projects .project-reference-meta > div { grid-template-columns:65px minmax(0,1fr); gap:8px; }
}
