.equipment-hero { display: grid; min-height: 500px; padding: 4.5rem var(--pad); align-items: center; grid-template-columns: .9fr 1.1fr; gap: 4rem; background: var(--offwhite); }
.equipment-hero-copy { max-width: 560px; margin-left: max(0px, calc((100vw - var(--content)) / 2 - var(--pad))); }
.equipment-hero h1 { margin: .8rem 0 1.1rem; font-size: clamp(2.7rem, 5vw, 4.6rem); }
.equipment-hero h1 span { color: var(--navy-2); }
.equipment-hero .button { margin-top: 1.5rem; }
.equipment-hero small { display: block; margin-top: .8rem; color: var(--muted); font-size: .76rem; }
.equipment-hero figure { position: relative; height: 385px; }
.equipment-hero figure img { width: 100%; height: 100%; }
.equipment-hero figcaption { position: absolute; right: 0; bottom: 0; padding: .4rem .65rem; background: white; }
.equipment-catalogue { padding-block: 5rem; }
.equipment-intro { display: grid; margin-bottom: 2rem; grid-template-columns: 1fr 1fr; gap: 2rem; }
.equipment-intro h2 { margin-top: .7rem; }
.equipment-intro p:last-child { max-width: 520px; align-self: end; }
.equipment-catalogue .filter-row { margin-bottom: 1.6rem; }
.equipment-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.equipment-item { overflow: hidden; border: 1px solid var(--line); background: white; }
.equipment-item[hidden] { display: none; }
.equipment-item > img { width: 100%; height: 210px; }
.equipment-item > img { transition: transform .3s ease; }
.equipment-item:hover > img { transform: scale(1.035); }
.equipment-item > div { padding: 1.2rem; }
.category-label { color: var(--navy-2); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.equipment-item h3 { margin: .5rem 0; font-size: 1.25rem; }
.equipment-item p { min-height: 76px; font-size: .9rem; }
.equipment-item a { display: inline-flex; margin-top: .8rem; align-items: center; gap: .5rem; color: var(--navy); font-size: .86rem; font-weight: 700; text-decoration: none; }
.equipment-detail { margin-top: .7rem; border-top: 1px solid var(--line); }
.equipment-detail summary { padding: .55rem 0; color: var(--navy-2); font-size: .8rem; font-weight: 700; cursor: pointer; }
.equipment-detail p { margin-bottom: .6rem; font-size: .78rem; }
.availability-label { display: block; margin-top: .5rem; color: var(--muted); font-size: .72rem; font-weight: 600; }
.equipment-item:hover .availability-label { color: var(--navy-2); }
.equipment-note { margin-top: 1.6rem; padding: 1rem; border-left: 3px solid var(--gold); background: var(--offwhite); font-size: .85rem; }
.hire-steps { padding: 4.5rem var(--pad); background: var(--gold-pale); }
.hire-steps h2 { margin: .75rem 0 2rem; }
.hire-step-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
.hire-step-grid article { padding-top: 1rem; border-top: 1px solid #ded2ad; }
.hire-step-grid article span { color: var(--navy-2); font-size: .8rem; font-weight: 800; }
.hire-step-grid h3 { margin: .7rem 0 .5rem; font-size: 1.2rem; }
.hire-step-grid p { font-size: .9rem; }
.equipment-bottom { display: grid; padding: 5rem var(--pad); align-items: center; grid-template-columns: .9fr 1.1fr; gap: 4rem; }
.equipment-bottom img { width: 100%; height: 360px; }
.equipment-bottom h2 { margin: .75rem 0; }
.equipment-bottom .button { margin-top: 1.2rem; }
@media (max-width: 950px) { .equipment-grid { grid-template-columns: repeat(2,1fr); } .equipment-hero-copy { margin-left: 0; } }
@media (max-width: 650px) { .equipment-hero { padding-block: 3rem; grid-template-columns: 1fr; gap: 2rem; } .equipment-hero figure { height: 280px; } .equipment-intro { grid-template-columns: 1fr; gap: .7rem; } .equipment-grid { grid-template-columns: 1fr; } .equipment-item p { min-height: 0; } .hire-step-grid { grid-template-columns: 1fr; gap: 1rem; } .equipment-bottom { padding-block: 3rem; grid-template-columns: 1fr; gap: 2rem; } .equipment-bottom img { height: 270px; } }

.equipment-intro { display: block; }
.equipment-intro p:last-child { margin-top: .65rem; }
.equipment-item > img { display: block; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
.equipment-item p { min-height: 0; }
.equipment-bottom { background: var(--navy); grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; }
.equipment-bottom h2 { color: #fff; }
.equipment-bottom p:not(.eyebrow) { color: #e6ebf0; max-width: 44rem; }
.equipment-bottom .button { justify-self: start; margin: 0; }
@media (max-width: 650px) { .equipment-bottom { grid-template-columns: 1fr; } }
