/* Two hero directions share the same content and transparent product artwork. */
.hero-v2{position:relative;isolation:isolate;overflow:hidden}
.hero-v2-inner{position:relative;display:grid;grid-template-columns:1fr 1.08fr;gap:54px;align-items:center;min-height:610px;padding-block:46px}
.hero-v2-copy{position:relative;z-index:2;min-width:0}
.hero-v2 h1{font-size:80px;line-height:1.015;letter-spacing:-.025em;max-width:610px;text-wrap:balance}
.hero-v2 h1 span{display:block}
.hero-v2-copy>p:not(.hero-v2-range){max-width:490px;margin-top:27px;font-size:19px;line-height:1.6}
.hero-v2-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-v2-actions .button{min-height:54px;padding:14px 22px;font-size:16px;gap:24px}
.hero-v2-range{max-width:450px;margin-top:31px;padding-top:20px;border-top:1px solid;font-size:14px;line-height:1.6}
.hero-v2-range a{text-decoration:none}
.hero-v2-range a:hover{text-decoration:underline}
.hero-v2-visual{position:relative;z-index:1;min-width:0;width:100%;display:flex;align-items:center;justify-content:center}
.hero-v2-visual img{position:relative;z-index:1;width:100%;max-height:550px;object-fit:contain;filter:drop-shadow(0 24px 20px #0319234d)}
.hero-v2-backdrop{position:absolute;inset:0;pointer-events:none;z-index:-1}
.hero-layered{background:linear-gradient(112deg,#082d3c 0%,#104858 55%,#4e7880 100%);color:#fff}
.hero-layered .hero-v2-backdrop{background:linear-gradient(119deg,transparent 0 57%,#b5d2cd0c 57% 75%,#193f4e24 75%);}
.hero-layered .hero-v2-backdrop::before,.hero-layered .hero-v2-backdrop::after{content:"";position:absolute;right:4%;top:-15%;width:1px;height:145%;background:linear-gradient(180deg,transparent,#d3be7f8f 25%,#d3be7f3b 85%,transparent);transform:rotate(29deg);transform-origin:top}
.hero-layered .hero-v2-backdrop::after{right:1.5%;background:linear-gradient(180deg,transparent,#d0e0dc3d 25%,#d0e0dc14 85%,transparent)}
.hero-layered h1 span{color:var(--gold)}
.hero-layered .hero-v2-copy>p:not(.hero-v2-range){color:#dfebee}
.hero-layered .hero-v2-range{color:#cbdde2;border-color:#85a3ae52}
.hero-layered .hero-v2-inquiry{color:#fff;background:#123d4b4d;border-color:#9bb5bd}
.hero-layered .hero-v2-inquiry:hover{color:var(--teal);background:#fff}
.hero-layered :focus-visible{outline-color:var(--gold)}
.hero-layered .hero-v2-visual::before{content:"";position:absolute;width:88%;height:14%;left:6%;bottom:0;border-radius:50%;background:#06212b36;filter:blur(23px)}
.hero-layered .hero-v2-visual{transform:translateY(7px)}
.hero-landscape{background:#e6e2d6;color:var(--teal)}
.hero-landscape .hero-v2-inner{grid-template-columns:1fr 1fr;gap:80px;min-height:630px;padding-block:48px}
.hero-landscape .hero-v2-backdrop{right:43%;background:linear-gradient(90deg,#143c4966,#153e4820),url("/design/approved/assets/railway-hero-background.jpg") 58% center/cover no-repeat}
.hero-landscape .hero-v2-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 72%,#e6e2d6 72%);}
.hero-landscape .hero-v2-copy{grid-column:2;grid-row:1;padding-left:4px}
.hero-landscape h1{font-size:76px;max-width:600px}
.hero-landscape h1 span{color:#48656a}
.hero-landscape .hero-v2-copy>p:not(.hero-v2-range){color:#42565d}
.hero-landscape .hero-v2-actions .button-accent{background:var(--teal);color:#fff}
.hero-landscape .hero-v2-actions .button-accent:hover{background:#245466}
.hero-landscape .hero-v2-inquiry{border-color:#8b9c9e;color:var(--teal);background:transparent}
.hero-landscape .hero-v2-inquiry:hover{background:#f8f7f1}
.hero-landscape .hero-v2-range{border-color:#b2bdb9;color:#52666c}
.hero-landscape .hero-v2-visual{grid-column:1;grid-row:1;transform:translateX(14px)}
.hero-landscape .hero-v2-visual img{max-height:550px;filter:drop-shadow(0 24px 22px #0007)}
@media(max-width:1279px){
 .hero-v2-inner{gap:34px;min-height:570px;padding-block:40px}
 .hero-v2 h1{font-size:72px}
 .hero-v2-copy>p:not(.hero-v2-range){font-size:18px}
 .hero-v2-actions .button{font-size:15px;padding-inline:18px;gap:18px}
 .hero-landscape .hero-v2-inner{gap:48px;min-height:580px}
 .hero-landscape h1{font-size:68px}
}
@media(max-width:1100px){
 .hero-v2-inner{gap:24px;min-height:520px;padding-block:38px}
 .hero-v2 h1{font-size:62px}
 .hero-v2-copy>p:not(.hero-v2-range){font-size:17px;margin-top:22px}
 .hero-v2-actions{gap:10px;margin-top:24px}
 .hero-v2-actions .button{font-size:14px;padding:12px 15px;gap:14px;min-height:50px}
 .hero-v2-range{font-size:13px;margin-top:24px;padding-top:17px}
 .hero-landscape .hero-v2-inner{gap:32px;min-height:540px}
 .hero-landscape h1{font-size:60px}
 .hero-landscape .hero-v2-visual{transform:none}
}
@media(max-width:767px){
 .hero-v2-inner,.hero-landscape .hero-v2-inner{grid-template-columns:1fr;gap:20px;min-height:0;padding-block:34px 25px}
 .hero-v2-copy,.hero-landscape .hero-v2-copy{grid-column:auto;grid-row:auto;padding:0}
 .hero-v2 h1,.hero-landscape h1{font-size:57px;max-width:610px;line-height:1.02;text-wrap:initial}
 .hero-v2-copy>p:not(.hero-v2-range){font-size:17px;line-height:1.5;margin-top:20px;max-width:540px}
 .hero-v2-actions{gap:12px;margin-top:22px}
 .hero-v2-actions .button{font-size:14px;min-height:48px;padding:12px 15px;gap:16px}
 .hero-v2-range{display:none}
 .hero-v2-visual,.hero-landscape .hero-v2-visual{grid-column:auto;grid-row:auto;transform:none;width:100%;margin-inline:auto;max-width:450px}
 .hero-v2-visual img,.hero-landscape .hero-v2-visual img{width:100%;height:310px;max-height:none;filter:drop-shadow(0 15px 14px #041d2d66)}
 .hero-layered{background:linear-gradient(145deg,#092f3e 10%,#134857 60%,#527d82 100%)}
 .hero-layered .hero-v2-backdrop{background:linear-gradient(120deg,transparent 0 50%,#b5d2cd0c 50% 78%,#193f4e14 78%)}
 .hero-layered .hero-v2-backdrop::before,.hero-layered .hero-v2-backdrop::after{height:90%;top:45%;right:8%;transform:rotate(28deg)}
 .hero-layered .hero-v2-backdrop::after{right:2%}
 .hero-landscape .hero-v2-backdrop{top:50%;right:0;background-position:58% 50%}
 .hero-landscape .hero-v2-backdrop::after{background:linear-gradient(173deg,#e6e2d6 0 20%,transparent 20%)}
 .hero-landscape .hero-v2-inner{gap:25px;padding-bottom:30px}
}
@media(max-width:440px){
 .hero-v2 h1,.hero-landscape h1{font-size:51px;letter-spacing:-.02em}
 .hero-v2-visual img,.hero-landscape .hero-v2-visual img{height:300px}
 .hero-v2-actions{gap:10px}
 .hero-v2-actions .button{font-size:13px;padding-inline:13px;gap:12px}
}
@media(max-width:360px){
 .hero-v2 h1,.hero-landscape h1{font-size:44px}
 .hero-v2-copy>p:not(.hero-v2-range){font-size:16px}
 .hero-v2-actions .button{padding-inline:10px;gap:8px;font-size:12px}
 .hero-v2-visual img,.hero-landscape .hero-v2-visual img{height:266px}
}
