/* Steel City identity: charcoal, equipment gold, stamped typography and linework. */
:root{--dark:#111315;--ink:#181b1f;--paper:#f2f0e9;--gold:#ffbd19;--muted:#bfc2c6;--line:#34383d}
body{background:var(--dark)}
h1,h2,.brand strong,.footer-name{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-weight:400;letter-spacing:.005em}
h1,h2{text-transform:uppercase}
h1{font-size:clamp(3.7rem,6.6vw,6rem);line-height:.98}
h2{font-size:clamp(2.4rem,4vw,3.6rem);line-height:1.02}
h3{letter-spacing:-.025em;font-weight:800}
.topline{background:var(--gold);color:#191b1e;border:0;font-weight:700;letter-spacing:.08em}
.header-row{min-height:92px}
.brand img{width:75px;height:58px;border-radius:0}
.brand span{font-size:.86rem;letter-spacing:.12em}
.brand strong{font-size:1.3rem;letter-spacing:.08em}
.nav-call{border-color:#8c6b28;color:var(--gold)}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.16em}
.eyebrow:before{content:'';width:23px;height:3px;background:currentColor;flex-shrink:0}
.hero{position:relative;isolation:isolate;padding:64px 0 58px;overflow:hidden;background:radial-gradient(ellipse at 85% 10%,#76521e2e,transparent 58%),#111315}
.hero:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.35;background-image:repeating-radial-gradient(ellipse at 95% 90%,transparent 0 33px,#6d74792b 34px 35px,transparent 36px 55px);pointer-events:none}
.hero-grid{grid-template-columns:1.02fr 1fr;gap:44px}
.hero-copy{position:relative;z-index:1}
.hero h1{margin:24px 0}
.hero em{color:var(--gold)}
.hero-lead{font-weight:700;font-size:1.25rem}
.hero-photo{border:1px solid #6a5328;border-bottom:6px solid var(--gold);border-radius:0;box-shadow:18px 18px 0 #ffffff05;transform:rotate(1deg)}
.hero-photo img{aspect-ratio:1.03;object-position:51% center}
.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0b0e11f2 55%);padding:55px 24px 22px}
.hero-photo figcaption strong{color:var(--gold);font-size:.73rem}
.hero-photo figcaption span{color:#f3f3ef}
.button{border-radius:0;text-transform:uppercase;font-size:.79rem;letter-spacing:.055em;padding:16px 22px;box-shadow:4px 4px 0 #a6791026;transition:background .15s,transform .15s}
.button:hover{background:#ffd15c;transform:translateY(-2px)}
.trust{border-top:1px solid #5a4d34;color:#e4e1d8;font-weight:700}
.trust li:before{content:'◆';font-size:.65rem}
.section-heading>p{border-left:3px solid #b89436;padding-left:20px}
#services{position:relative;background:#eeede7}
#services:before{content:'';display:block;position:absolute;top:0;left:0;right:0;height:8px;background:repeating-linear-gradient(135deg,#ffbd19 0 14px,#111315 14px 28px)}
.services{border:0;gap:17px}
.service{position:relative;background:#faf9f5;border:1px solid #d4d3cc;border-bottom:4px solid #b9bbba;padding:28px;transition:border-color .15s,transform .15s}
.service:hover{border-bottom-color:#d59b0b;transform:translateY(-3px)}
.service-number{position:absolute;right:22px;top:24px;color:#a8a69f;font-family:Impact,'Arial Narrow',sans-serif;font-size:1.6rem;letter-spacing:0}
.service-icon{width:48px;height:48px;display:grid;place-items:center;color:#272c31;margin-bottom:28px;background:#ffbd1933;border:1px solid #dcb64c}
.service-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service h3{font-size:1.28rem}
.service a{border-top:1px solid #deded6;padding-top:16px;margin-top:auto}
.service p:last-of-type{margin-bottom:25px}
.about{position:relative;background:linear-gradient(115deg,#191d21,#101214);border-bottom:1px solid #34383d;overflow:hidden}
.about:after{content:'STEEL CITY';position:absolute;right:-4px;bottom:-26px;font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(5rem,13vw,12rem);line-height:1;color:#ffffff03;pointer-events:none;white-space:nowrap}
.about-grid{position:relative;z-index:1}
.about-logo{transform:rotate(-3deg);border-radius:0;padding:13px;box-shadow:13px 13px 0 #ffbd19;max-width:330px}
.about .eyebrow{color:var(--gold)}
.area-grid article{background:#faf9f5;border:1px solid #cacbc5;border-top:5px solid #db9e06;position:relative}
.area-label{font-weight:800}
.area-grid article h3{font-size:1.5rem;max-width:360px}
.steps article{position:relative;border-top:3px solid #745925;padding-top:25px}
.steps span{font-family:Impact,'Arial Narrow',sans-serif;font-size:3rem;line-height:1;letter-spacing:.025em;margin-bottom:25px}
.steps p{max-width:310px}
.faq{background:#e8e7e0}
.faq details{background:#f8f7f2;margin:9px 0;padding:19px 22px;border:1px solid #d0d1ca}
.faq summary{line-height:1.45}
.estimate{background:#eee9dc;border-top:7px solid var(--gold)}
.estimate .note{background:#ded9ca;border-color:#ad7b00}
form{border-radius:0;border-top:5px solid #20252a;box-shadow:10px 10px 0 #272c3110}
input,select,textarea{border-radius:0;background:#fcfcf9;border-color:#aeb2b2}
.contact-phone{font-family:Impact,'Arial Narrow',sans-serif;font-size:2.6rem;letter-spacing:.025em;font-weight:400}
.rental-strip{background:repeating-linear-gradient(135deg,#20252a 0 1px,transparent 1px 12px),#111315}
.rental-strip .wrap{background:#111315;padding:30px;border-left:5px solid var(--gold)}
footer{background:#090b0e}
.footer-name{font-size:1.45rem;text-transform:uppercase;color:#ffbd19;letter-spacing:.04em}
.footer-bottom{border-color:#33383e}
.page-hero{background:radial-gradient(ellipse at right,#5f451d40,transparent 65%),#111315}
.page-hero h1{font-size:clamp(3rem,5.3vw,4.7rem)}
.legal h1{font-size:clamp(2.6rem,8vw,3.5rem);overflow-wrap:anywhere}
.legal a{overflow-wrap:anywhere}
.confirmation h1{font-size:clamp(3rem,5vw,4.4rem)}
.mobile-bar{background:#111315}
.consent{border-radius:0;border-top:4px solid var(--gold)}
.consent h2{font-family:Arial,Helvetica,sans-serif;text-transform:none;font-size:1.3rem;font-weight:700}
@media(max-width:900px){.header-row{min-height:72px}.brand img{width:54px;height:43px}.brand strong{font-size:1.06rem}.hero-grid{grid-template-columns:1fr}.hero{padding:38px 0}.hero h1{font-size:clamp(3.5rem,9vw,5.7rem)}.hero-photo{transform:none;box-shadow:none}.hero-photo img{aspect-ratio:1.65}.about-logo{max-width:230px}.mobile-bar .button{font-size:.73rem;padding:13px 9px}}
@media(max-width:600px){h2{font-size:2.6rem}.hero h1{font-size:clamp(3.15rem,11.8vw,4.4rem)}.hero-photo img{aspect-ratio:1.3}.hero-photo figcaption{padding:45px 17px 16px}.hero .eyebrow{font-size:.61rem;letter-spacing:.08em}.hero-grid{gap:20px}.hero-lead{font-size:1.1rem}.hero-copy>p:not(.eyebrow):not(.hero-lead){font-size:.93rem}.trust{font-size:.7rem}.service-icon{margin-bottom:22px}.about-logo{max-width:190px;margin-bottom:16px}.about:after{bottom:-10px}.rental-strip .wrap{padding:22px}.section-heading>p{margin-top:24px}.contact-phone{font-size:2.1rem}.steps span{font-size:2.5rem}.brand span{font-size:.72rem}.brand strong{font-size:1.04rem}.topline{font-size:.66rem}}
@media(prefers-reduced-motion:reduce){.button:hover,.service:hover{transform:none}}
/* Preserve the full excavator rather than cropping the boom into a square. */
.hero-photo{transform:none;align-self:center}
.hero-photo img{width:100%;height:auto;aspect-ratio:1024/683;object-fit:contain;object-position:center;transform:none}
.hero-photo figcaption{position:static;background:#181c20;padding:17px 22px}
.service-photo{margin:-28px -28px 25px;position:relative;background:#262b30;overflow:hidden}
.service-photo img{width:100%;height:215px;object-fit:cover;object-position:center}
.service-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:28px 16px 11px;background:linear-gradient(transparent,#101315d9);color:#fff;font-size:.69rem;font-weight:700;letter-spacing:.05em}
.service-number{top:15px;right:15px;background:#101315d9;color:#ffbd19;padding:2px 9px;font-size:1.25rem;z-index:1}
.community-photo{margin:-30px -30px 27px;background:#111315}
.community-photo img{width:100%;height:260px;object-fit:cover;object-position:center 48%}
.community-photo figcaption{padding:10px 15px;color:#fff;font-size:.73rem;letter-spacing:.02em;background:#1c2228}
.photo-disclosure{font-size:.75rem;color:#59605e;margin:20px 0 0;max-width:800px}
.photo-disclosure a{font-weight:700}
.credit-list article{border-top:1px solid #c6c9c1;padding:24px 0;overflow-wrap:anywhere}
.credit-list h2{font-family:Arial,Helvetica,sans-serif;text-transform:none;font-weight:700;font-size:1.2rem;letter-spacing:0}
@media(max-width:600px){.service-photo{margin:-25px -25px 24px}.service-photo img{height:210px}.community-photo{margin:-23px -23px 23px}.community-photo img{height:225px}.hero-photo img{aspect-ratio:1024/683}.hero-photo figcaption{padding:14px 16px}}

/* Four service paths: two columns on desktop, comfortable single-column mobile cards. */
.service-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-tiles .service-photo img{height:auto;aspect-ratio:1.65;object-fit:cover}
.service-tiles .machine-tile img{object-position:center 65%}
.service-tiles .service h3{font-size:clamp(1.4rem,2.2vw,1.8rem)}
.service-tiles .tile-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;text-decoration:none;color:#513900}
.service-tiles .tile-cta:after{content:'';position:absolute;inset:0;z-index:2}
.service-tiles .service:focus-within{outline:3px solid #996800;outline-offset:4px;border-bottom-color:#d59b0b}
.service-tiles .tile-cta:hover{text-decoration:underline}
body[data-page="index.html"] .hero-photo img{aspect-ratio:1.12;object-fit:cover;object-position:center 66%}
@media(max-width:600px){.service-tiles{grid-template-columns:1fr;gap:22px}.service-tiles .service-photo img{aspect-ratio:1.35}.service-tiles .tile-cta{font-size:.86rem}}
