/* Red Dot equipment page. Shared site navigation and footer remain unchanged. */
.red-dot-page { --rd-red:#ed1c24; --rd-black:#121415; --rd-ink:#181a1b; --rd-muted:#50565a; color:var(--rd-ink); font-family:Inter,Arial,sans-serif; }
.red-dot-page :is(h1,h2,h3) { font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif; font-weight:600; }
.red-dot-page :is(p,address,dd) { line-height:1.58; }
.red-dot-page a:focus-visible { outline:3px solid #007fac; outline-offset:4px; }
.rd-hero { background:var(--rd-black); color:#fff; border-bottom:7px solid var(--rd-red); }
.rd-hero__grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); align-items:center; gap:clamp(38px,7vw,100px); padding-block:clamp(48px,6vw,85px); }
.rd-hero__content { min-width:0; }
.rd-hero__brand { display:flex; align-items:center; gap:20px; margin-bottom:24px; font-size:.83rem; font-weight:750; letter-spacing:.08em; line-height:1.4; text-transform:uppercase; }
.rd-hero__brand img { width:110px; height:110px; object-fit:contain; background:#fff; }
.rd-hero h1 { color:#fff; font-size:clamp(3.6rem,5.8vw,6.35rem); letter-spacing:-.025em; line-height:.94; }
.rd-hero h1 span { color:#fff; }
.rd-hero__content>p:not(.rd-hero__services) { max-width:39rem; margin-top:24px; color:#eee; font-size:clamp(1rem,1.2vw,1.15rem); }
.rd-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.rd-button { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:52px; padding:13px 22px; border:2px solid transparent; font-size:.89rem; font-weight:750; line-height:1.2; text-align:center; text-decoration:none; }
.rd-button span { font-size:1.25rem; }
.rd-button--red { background:var(--rd-red); border-color:var(--rd-red); color:#000; }
.rd-button--red:hover { background:#fff; border-color:#fff; color:#000; }
.rd-button--light-outline { border-color:#fff; color:#fff; }
.rd-button--light-outline:hover { background:#fff; color:#111; }
.rd-button--black { background:#161819; border-color:#161819; color:#fff; }
.rd-button--black:hover { background:#3b3e40; border-color:#3b3e40; }
.rd-hero__services { margin-top:26px; color:#d6dadb; font-size:.72rem; font-weight:800; letter-spacing:.075em; line-height:1.8; }
.rd-hero__services span { padding-inline:6px; color:var(--rd-red); }
.rd-hero__visual { min-width:0; border:8px solid var(--rd-red); background:var(--rd-red); }
.rd-hero__image { display:grid; place-items:center; background:#fff; }
.rd-hero__image img { width:100%; max-height:450px; object-fit:contain; }
.rd-hero__visual figcaption { display:grid; grid-template-columns:1fr auto; gap:3px 15px; align-items:center; padding:14px 15px 9px; color:#000; }
.rd-hero__visual figcaption>span { grid-column:1; font-size:.7rem; font-weight:800; letter-spacing:.1em; }
.rd-hero__visual strong { font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif; font-size:1.55rem; line-height:1.1; }
.rd-hero__visual a { grid-column:2; grid-row:1 / 3; display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:.88rem; font-weight:800; text-decoration:none; }
.rd-hero__visual a:hover { text-decoration:underline; }
.rd-products,.rd-work,.rd-history,.rd-contact { padding-block:clamp(65px,7vw,100px); }
.rd-products { background:#f2f3f3; }
.rd-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:clamp(28px,7vw,100px); align-items:end; margin-bottom:38px; }
.rd-heading>p { max-width:37rem; color:var(--rd-muted); }
.rd-kicker { margin:0 0 14px; color:#b20c15; font-size:.77rem; font-weight:850; letter-spacing:.12em; line-height:1.35; }
.red-dot-page h2 { font-size:clamp(2.7rem,4.5vw,4.65rem); letter-spacing:-.015em; line-height:1; }
.rd-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.rd-product { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); min-width:0; background:#fff; border-top:5px solid var(--rd-red); }
.rd-product__photo { position:relative; display:flex; justify-content:center; align-items:center; min-width:0; min-height:270px; padding:24px 18px 38px; background:#fff; }
.rd-product__photo img { width:auto; height:auto; max-width:min(100%,240px); max-height:235px; object-fit:contain; }
.rd-product__photo span { position:absolute; right:12px; bottom:11px; left:12px; color:#555; font-size:.68rem; line-height:1.3; text-align:center; }
.rd-product__info { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:27px 24px 25px; background:#fff; }
.rd-product__model { color:#ad0911; font-size:.72rem; font-weight:800; letter-spacing:.09em; line-height:1.3; }
.rd-product h3 { margin-top:8px; font-size:clamp(1.85rem,2.5vw,2.5rem); line-height:1; }
.rd-product__info>p:not(.rd-product__model) { margin-top:12px; color:#41484b; font-size:.92rem; }
.rd-product dl { width:100%; margin:16px 0 0; border-top:1px solid #d8dada; font-size:.83rem; }
.rd-product dl div { display:grid; grid-template-columns:68px minmax(0,1fr); gap:9px; padding:7px 0; border-bottom:1px solid #e6e7e7; }
.rd-product dt { color:#4c5255; font-weight:750; }
.rd-product dd { margin:0; color:#191d1e; }
.rd-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#a90912; font-size:.9rem; font-weight:800; text-decoration:none; }
.rd-text-link:hover { text-decoration:underline; }
.rd-model-links { display:flex; flex-wrap:wrap; gap:0 20px; margin-top:auto; padding-top:12px; }
.rd-products__bottom { display:flex; justify-content:space-between; align-items:center; gap:20px 35px; margin-top:30px; }
.rd-products__bottom>p { max-width:40rem; color:#434b4e; font-size:.92rem; }
.rd-products__bottom>div { display:flex; flex-wrap:wrap; align-items:center; gap:10px 24px; }
.rd-engineering { padding-block:clamp(65px,6vw,90px); background:var(--rd-red); color:#080909; }
.rd-engineering .rd-kicker,.rd-contact .rd-kicker { color:#080909; }
.rd-engineering__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 45px; margin-top:35px; }
.rd-engineering__grid>div { border-top:2px solid #111; padding-top:20px; }
.rd-engineering__grid h3 { font-size:2rem; line-height:1.1; }
.rd-engineering__grid p { margin-top:10px; font-size:.94rem; }
.rd-engineering>.container>a { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:24px; color:#000; font-weight:800; font-size:.9rem; text-decoration:none; }
.rd-engineering>.container>a:hover { text-decoration:underline; }
.rd-work { background:#fff; }
.rd-work__content { max-width:58rem; }
.rd-work__content>p:not(.rd-kicker) { margin-top:19px; color:#424a4d; }
.rd-work__tags { display:flex; flex-wrap:wrap; gap:10px 18px; margin:23px 0; font-size:.74rem; font-weight:850; letter-spacing:.045em; }
.rd-work__tags span { border-left:3px solid var(--rd-red); padding-left:9px; }
.rd-parts { padding-block:clamp(65px,7vw,100px); background:var(--rd-black); color:#fff; }
.rd-parts .rd-kicker { color:#fff; }
.rd-parts__grid,.rd-contact__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(35px,8vw,120px); align-items:center; }
.rd-parts__grid>div:first-child>p:last-child { max-width:35rem; margin-top:22px; color:#e4e6e6; }
.rd-parts__list { font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif; font-size:clamp(1.7rem,2.4vw,2.3rem); font-weight:600; line-height:1.25!important; }
.rd-parts__list span { color:var(--rd-red); padding-inline:4px; }
.rd-history { background:#fff; }
.rd-history__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,6vw,80px); }
.rd-history__grid h3 { margin-top:25px; font-size:2rem; }
.rd-history__grid h3:first-child { margin-top:0; }
.rd-history__grid p { margin-top:10px; color:#41494c; }
.rd-history>.container>.rd-text-link { margin-top:25px; }
.rd-contact { background:var(--rd-red); color:#090a0a; }
.rd-contact__grid>div:first-child>p:last-child { max-width:35rem; margin-top:20px; }
.rd-contact__details { padding-left:clamp(24px,4vw,54px); border-left:3px solid #111; }
.rd-contact__details h3 { font-size:2.45rem; }
.rd-contact__details>p { margin-top:5px; font-weight:650; }
.rd-contact__details dl { margin:18px 0; }
.rd-contact__details dl div { display:grid; grid-template-columns:78px minmax(0,1fr); align-items:center; gap:10px; }
.rd-contact__details dt { font-size:.85rem; font-weight:800; }
.rd-contact__details dd { margin:0; overflow-wrap:anywhere; }
.rd-contact__details dd a { display:inline-flex; align-items:center; min-height:44px; color:#000; font-weight:750; }
.rd-contact__details address { font-size:.91rem; }
@media (max-width:1100px) {
  .rd-hero__grid { gap:34px; }
  .rd-hero h1 { font-size:clamp(3.5rem,6vw,5.4rem); }
  .rd-product-grid { grid-template-columns:1fr; }
  .rd-product { grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr); }
  .rd-product__photo img { max-width:min(100%,300px); max-height:260px; }
}
@media (max-width:760px) {
  .rd-hero__grid,.rd-heading,.rd-parts__grid,.rd-contact__grid { grid-template-columns:1fr; }
  .rd-hero__grid { padding-block:40px 50px; }
  .rd-hero__visual { max-width:560px; }
  .rd-hero__image img { max-height:370px; }
  .rd-heading { gap:17px; }
  .rd-engineering__grid { grid-template-columns:1fr; gap:22px; }
  .rd-products__bottom { align-items:flex-start; flex-direction:column; }
}
@media (max-width:520px) {
  .rd-hero h1 { font-size:clamp(3rem,12vw,4.4rem); }
  .rd-hero__brand img { width:88px; height:88px; }
  .rd-actions { flex-direction:column; align-items:stretch; }
  .rd-button { width:100%; }
  .rd-hero__visual figcaption { grid-template-columns:1fr; }
  .rd-hero__visual figcaption a { grid-column:1; grid-row:auto; }
  .rd-product { grid-template-columns:1fr; }
  .rd-product__photo { min-height:225px; padding:22px 18px 35px; }
  .rd-product__photo img { max-height:205px; max-width:min(100%,260px); }
  .rd-product__info { padding:22px; }
  .rd-products__bottom>div { width:100%; }
  .rd-history__grid { grid-template-columns:1fr; gap:25px; }
  .rd-contact__details { padding-left:20px; }
}
