/* Hero artwork supplied in the approved visual direction. */
.hero{grid-template-columns:minmax(0,3fr) minmax(245px,1fr);gap:35px;align-items:center;padding-block:22px 12px}
.hero-heading{min-width:0;margin-left:-26px}
.hero h1{margin:0;line-height:1;position:relative;isolation:isolate}
.hero h1::before{content:"";position:absolute;inset:-3%;background:url('/assets/impact-fractures.svg') center/100% 100% no-repeat;z-index:-1;pointer-events:none}
.hero h1::after{content:"";position:absolute;inset:12% 3% 2%;background:radial-gradient(ellipse at 30% 80%,#ff691517,transparent 55%);z-index:-1;pointer-events:none}
.engine-hero-art{width:100%;height:auto;display:block;filter:drop-shadow(0 13px 10px #0008)}
/* The plate has a real alpha cutout; no color blending or rectangular surround. */
.hero{background:var(--bg);overflow:clip}
.hero-heading>.eyebrow{margin:8px 0 12px 26px}
.hero-aside{padding:0;max-width:320px;transform:translateY(12px)}
.hero-aside p{font-size:17px;line-height:1.8;margin-bottom:29px}
@media(min-width:701px) and (max-width:1000px){.hero{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:18px}.hero-aside p{font-size:15px}.hero-heading{margin-left:-14px}}
/* Custom services live below the approved banner; all selectors are scoped. */
.custom-services{display:grid;grid-template-columns:1.1fr 1fr;gap:42px 70px;padding-block:76px 60px;border-bottom:1px solid var(--line)}
.custom-services h2{font-size:clamp(34px,3.6vw,48px);line-height:1.16;max-width:560px;text-wrap:balance}
.custom-services h2 span{color:var(--accent)}
.services-copy{padding-top:33px;max-width:510px}
.services-copy p{color:var(--muted);line-height:1.8}
.services-copy .services-lead{font-size:23px;line-height:1.4;letter-spacing:-.02em;color:var(--ink);margin-bottom:17px}
.services-copy .button{margin-top:11px}
.services-flow{list-style:none;display:grid;grid-template-columns:1fr 1fr 1fr;gap:38px;grid-column:1/-1;margin:8px 0 0;padding:29px 0 0;border-top:1px solid var(--line)}
.services-step{display:block;font:11px monospace;text-transform:uppercase;letter-spacing:1.1px;color:var(--accent);margin-bottom:14px}
.services-flow strong{font-size:20px;font-weight:500;letter-spacing:-.02em}
.services-flow p{color:var(--muted);font-size:14px;line-height:1.7;max-width:310px;margin:10px 0 0}
@media(max-width:700px){.custom-services{grid-template-columns:1fr;gap:5px;padding-block:45px 40px}.custom-services h2{font-size:35px;margin-bottom:20px}.services-copy{padding-top:0}.services-copy .services-lead{font-size:21px}.services-flow{grid-template-columns:1fr;gap:25px;margin-top:30px}.services-flow p{max-width:100%}.services-step{margin-bottom:8px}}
@media(max-width:700px){.hero{display:block;padding-block:20px 30px}.hero-heading{margin-inline:-16px}.hero-aside{max-width:100%;margin-top:22px;padding:0;transform:none}.hero-aside p{font-size:16px;line-height:1.7;max-width:430px;margin-bottom:22px}}
