/*
Theme Name: Manchester Crane Hire
Theme URI: https://manchestercranehire.co.uk/
Author: Manchester Crane Hire
Description: Bespoke marketing website for Manchester Crane Hire.
Version: 1.0.0
Text Domain: manchester-crane-hire
*/

:root { --black:#111; --grey:#1e1e1e; --orange:#f58220; --white:#fff; --rule:rgba(255,255,255,.25); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; background:var(--black); color:var(--white); font-family:Inter,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.skip-link { position:fixed; z-index:20; left:1rem; top:-4rem; padding:.8rem 1rem; background:var(--orange); color:#111; font-weight:700; }
.skip-link:focus { top:1rem; }
.site-header { align-items:center; border-bottom:1px solid rgba(245,130,32,.75); display:grid; grid-template-columns:minmax(170px,280px) 1fr auto; height:7rem; left:0; padding:0 clamp(1.25rem,3vw,3.75rem); position:absolute; right:0; top:0; z-index:10; transition:background .3s ease,height .3s ease; }
.site-header.is-scrolled { background:rgba(17,17,17,.97); height:5.1rem; position:fixed; }
.brand { display:block; max-width:250px; }
.brand img { display:block; height:auto; mix-blend-mode:screen; width:100%; }
.primary-nav { display:flex; gap:clamp(1rem,2.4vw,2.75rem); justify-content:center; }
.primary-nav a { font-family:"Bebas Neue",Impact,sans-serif; font-size:1.2rem; letter-spacing:.05em; position:relative; }
.primary-nav a::after { background:var(--orange); bottom:-.45rem; content:""; height:2px; left:0; position:absolute; transform:scaleX(0); transform-origin:right; transition:transform .25s ease; width:100%; }
.primary-nav a:hover::after,.primary-nav a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.header-phone { align-items:center; display:flex; font-family:"Bebas Neue",Impact,sans-serif; font-size:1.7rem; gap:.65rem; letter-spacing:.06em; white-space:nowrap; }
.header-phone svg { fill:none; height:1.3rem; stroke:var(--orange); stroke-linecap:round; stroke-linejoin:round; stroke-width:2.4; width:1.3rem; }
.nav-toggle { background:none; border:0; cursor:pointer; display:none; padding:.5rem 0 .5rem .5rem; }
.nav-toggle span { background:var(--white); display:block; height:2px; margin:.3rem 0; transition:transform .2s ease; width:1.8rem; }
.hero { display:flex; isolation:isolate; min-height:100svh; overflow:hidden; padding:clamp(9rem,14vh,12rem) clamp(1.25rem,5.8vw,7rem) clamp(8rem,15vh,10rem); position:relative; }
.hero-media,.hero-scrim { inset:0; position:absolute; z-index:-3; }
.hero-media { background:72% center/cover no-repeat url("images/hero-artwork.png"); animation:slow-zoom 18s ease-out both; filter:saturate(.8) contrast(1.1); transform:scale(1.04); }
.hero-scrim { background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.99) 32%,rgba(5,5,5,.82) 42%,rgba(5,5,5,.22) 71%,rgba(5,5,5,.45) 100%),linear-gradient(0deg,rgba(0,0,0,.82) 0%,transparent 45%); z-index:-2; }
.hero-line { background:var(--orange); height:calc(100% + 10rem); opacity:.85; position:absolute; right:17%; top:-5rem; transform:rotate(17deg); width:2px; z-index:-1; }
.hero-content { align-self:center; max-width:45rem; padding-top:3rem; position:relative; }
.hero-content::before { color:rgba(255,255,255,.035); content:"ↆ"; font-family:"Bebas Neue",Impact,sans-serif; font-size:34rem; left:-8rem; line-height:.5; position:absolute; top:12%; z-index:-1; }
.eyebrow { color:var(--orange); font-size:.8rem; font-weight:700; letter-spacing:.25em; margin:0 0 1.1rem; text-transform:uppercase; }
h1 { font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(5.5rem,11.8vw,13rem); font-weight:400; letter-spacing:-.025em; line-height:.76; margin:0; max-width:53rem; text-transform:uppercase; }
h1 span { color:var(--orange); display:block; }
.hero-location { border-top:2px solid var(--orange); font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(1.5rem,2.1vw,2.3rem); letter-spacing:.035em; line-height:1; margin:2rem 0 2.25rem; padding-top:1rem; text-transform:uppercase; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.85rem; }
.button { align-items:center; border:1px solid var(--orange); display:inline-flex; font-family:"Bebas Neue",Impact,sans-serif; font-size:1.3rem; gap:1.4rem; letter-spacing:.06em; min-height:3.85rem; padding:.7rem 1.35rem; text-transform:uppercase; transition:background .22s ease,color .22s ease; }
.button span { font-family:Inter,sans-serif; font-size:1.7rem; line-height:1; transition:transform .22s ease; }
.button:hover span,.button:focus-visible span { transform:translateX(.35rem); }
.button--solid { background:var(--orange); color:var(--black); }
.button--solid:hover,.button--solid:focus-visible { background:var(--white); }
.button--outline:hover,.button--outline:focus-visible { background:var(--orange); color:var(--black); }
.hero-spec { border-left:1px solid var(--orange); bottom:clamp(8.7rem,16vh,10rem); padding:.35rem 0 .4rem 1rem; position:absolute; right:clamp(1.25rem,5.8vw,7rem); text-align:left; }
.hero-spec p,.hero-spec span { display:block; font-size:.67rem; font-weight:700; letter-spacing:.16em; margin:0; text-transform:uppercase; }
.hero-spec p { color:var(--orange); margin-bottom:.3rem; }
.hero-spec strong { display:block; font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(2.4rem,4vw,4rem); font-weight:400; letter-spacing:.04em; line-height:.9; }
.hero-credentials { background:rgba(0,0,0,.78); border-top:1px solid var(--orange); bottom:0; display:grid; grid-template-columns:repeat(4,1fr); left:0; padding:1.25rem clamp(1.25rem,5.8vw,7rem); position:absolute; right:0; }
.hero-credentials article { border-right:1px solid var(--rule); padding:0 clamp(.75rem,2vw,2rem); }
.hero-credentials article:first-child { padding-left:0; }.hero-credentials article:last-child { border:0; }
.credential-number { color:var(--orange); display:block; font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(2.25rem,3.7vw,4rem); letter-spacing:.04em; line-height:.8; }
.hero-credentials p { font-size:.62rem; font-weight:700; letter-spacing:.13em; margin:.7rem 0 0; text-transform:uppercase; }
.scroll-prompt { align-items:center; bottom:2.1rem; display:flex; font-size:.58rem; font-weight:700; gap:.6rem; letter-spacing:.16em; position:absolute; right:clamp(1.25rem,5.8vw,7rem); text-transform:uppercase; writing-mode:vertical-rl; }
.scroll-prompt span { border:1px solid var(--orange); display:block; height:1.6rem; position:relative; width:.85rem; }.scroll-prompt span::after { background:var(--orange); content:""; height:.35rem; left:50%; position:absolute; top:.25rem; transform:translateX(-50%); width:1px; }
.about { align-items:center; background:var(--black); display:flex; isolation:isolate; min-height:100svh; overflow:hidden; padding:clamp(8rem,12vh,11rem) clamp(1.25rem,5.8vw,7rem) clamp(11rem,18vh,14rem); position:relative; }
.about-media,.about-scrim { inset:0; position:absolute; z-index:-3; }
.about-media { background:70% center/cover no-repeat url("images/about-artwork.png"); filter:contrast(1.05) saturate(.82); transform:scale(1.03); transition:transform 1.4s cubic-bezier(.2,.8,.2,1); }
.about:hover .about-media { transform:scale(1.08); }
.about-scrim { background:linear-gradient(90deg,#070707 0%,rgba(7,7,7,.98) 35%,rgba(7,7,7,.84) 45%,rgba(7,7,7,.18) 72%,rgba(7,7,7,.35) 100%),linear-gradient(0deg,rgba(0,0,0,.88),transparent 55%); z-index:-2; }
.about-diagonal { background:var(--orange); height:125%; opacity:.8; position:absolute; right:39%; top:-14%; transform:rotate(16deg); width:2px; z-index:-1; }
.about-content { max-width:39rem; }
h2 { font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(4.8rem,8vw,9rem); font-weight:400; letter-spacing:-.02em; line-height:.8; margin:0; text-transform:uppercase; }
h2 span { color:var(--orange); display:block; }
.about-copy { font-size:clamp(1rem,1.25vw,1.2rem); line-height:1.6; margin:2rem 0 1.25rem; max-width:30rem; }
.text-link { align-items:center; color:var(--orange); display:inline-flex; font-family:"Bebas Neue",Impact,sans-serif; font-size:1.35rem; gap:1.25rem; letter-spacing:.08em; text-transform:uppercase; }.text-link span { font-family:Inter,sans-serif; font-size:1.65rem; transition:transform .2s ease; }.text-link:hover span,.text-link:focus-visible span { transform:translateX(.4rem); }
.about-credentials { bottom:0; display:flex; left:clamp(1.25rem,5.8vw,7rem); position:absolute; }
.about-credentials article { border-right:1px solid var(--rule); min-width:10.5rem; padding:0 2rem 2.1rem; }.about-credentials article:first-child { padding-left:0; }.about-credentials article:last-child { border-right:0; }
.line-icon { align-items:center; border:2px solid var(--orange); clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%); color:var(--orange); display:flex; font-family:"Bebas Neue",Impact,sans-serif; font-size:1.5rem; height:3.7rem; justify-content:center; margin-bottom:.8rem; width:3.7rem; }
.about-credentials h3 { font-family:"Bebas Neue",Impact,sans-serif; font-size:1.5rem; font-weight:400; letter-spacing:.03em; line-height:.9; margin:0; text-transform:uppercase; }.about-credentials p { color:#bcbcbc; font-size:.6rem; font-weight:700; letter-spacing:.1em; margin:.55rem 0 0; text-transform:uppercase; }
.section-reveal { opacity:0; transform:translateY(2rem); transition:opacity .7s ease,transform .7s ease; }.section-reveal.is-visible { opacity:1; transform:none; }
.services { background:#090909; min-height:100svh; padding-bottom:1.25rem; }
.services-intro { min-height:43vh; overflow:hidden; position:relative; }.services-intro__image,.services-intro__overlay { inset:0; position:absolute; }.services-intro__image { background:72% 42%/cover no-repeat url("images/services-artwork.png"); filter:contrast(1.1) saturate(.75); transform:scale(1.03); transition:transform 1.4s cubic-bezier(.2,.8,.2,1); }.services:hover .services-intro__image { transform:scale(1.08); }.services-intro__overlay { background:linear-gradient(90deg,#080808 0%,rgba(8,8,8,.96) 30%,rgba(8,8,8,.48) 57%,transparent 78%),linear-gradient(0deg,#090909 0%,transparent 38%); }.services-intro__content { padding:clamp(7rem,11vh,9rem) clamp(1.25rem,5.8vw,7rem) 3rem; position:relative; }.services-intro h2 { max-width:47rem; }.services-intro h2 span { color:var(--orange); display:block; }
.service-grid { display:grid; gap:.65rem; grid-template-columns:repeat(3,1fr); margin:-2.5rem clamp(1.25rem,2vw,2rem) 0; position:relative; }.service-card { background:#141414 center/cover no-repeat; border:1px solid rgba(255,255,255,.14); display:flex; flex-direction:column; min-height:18rem; overflow:hidden; padding:1.6rem 1.8rem; position:relative; transition:border-color .25s ease; }.service-card::before { background:linear-gradient(110deg,rgba(0,0,0,.88) 4%,rgba(0,0,0,.5) 65%,rgba(0,0,0,.15)); content:""; inset:0; position:absolute; transition:background .25s ease; }.service-card>* { position:relative; }.service-card:hover,.service-card:focus-visible { border-color:var(--orange); }.service-card:hover::before,.service-card:focus-visible::before { background:linear-gradient(110deg,rgba(0,0,0,.72),rgba(0,0,0,.2)); }.service-card--mobile { background-image:url("images/hero-crane.jpg"); }.service-card--contract { background-image:url("images/fleet-lineup.jpg"); }.service-card--cpa { background-image:url("images/city-crane.jpg"); }.service-card--planning { background-image:url("images/about-artwork.png"); background-position:71% center; }.service-card--install { background-image:url("images/compact-crane.jpg"); }.service-card--emergency { background-image:url("images/services-artwork.png"); background-position:82% bottom; }.service-icon { align-items:center; border:2px solid var(--orange); clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%); color:var(--orange); display:flex; font-family:"Bebas Neue",Impact,sans-serif; font-size:1.4rem; height:3.7rem; justify-content:center; width:3.7rem; }.service-card h3 { font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(2rem,2.3vw,2.7rem); font-weight:400; letter-spacing:.02em; line-height:.84; margin:1.25rem 0 .6rem; text-transform:uppercase; }.service-card p { font-size:.85rem; line-height:1.45; margin:0; max-width:15rem; }.service-card b { bottom:1.15rem; color:var(--orange); font-family:Inter,sans-serif; font-size:2rem; font-weight:400; position:absolute; right:1.35rem; transition:transform .2s ease; }.service-card:hover b,.service-card:focus-visible b { transform:translateX(.35rem); }
@keyframes slow-zoom { to { transform:scale(1.13); } }
.hero-media { background-image:url("images/hero-v2.png"); background-position:center; filter:contrast(1.08) saturate(.9); }
.hero-scrim { background:linear-gradient(90deg,#070707 0%,rgba(7,7,7,.99) 25%,rgba(7,7,7,.72) 42%,rgba(7,7,7,.05) 73%,rgba(7,7,7,.25) 100%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 48%); }
.hero-line { display:none; }.hero-content { max-width:34rem; padding-top:1rem; }.hero-content::before { display:none; }h1 { font-size:clamp(5rem,8.8vw,9.5rem); line-height:.83; }h1 span { display:block; }h1 .hero-line--white { color:var(--white); }h1 .hero-line--orange { color:var(--orange); font-size:.8em; line-height:.58; }.hero-location { font-size:clamp(1.2rem,1.65vw,1.85rem); margin:1.5rem 0 1.6rem; padding-top:.75rem; }.hero-actions { gap:.7rem; }.hero .button { min-height:3.1rem; }.hero-spec,.hero-credentials { display:none; }.scroll-prompt { bottom:2.3rem; left:clamp(1.25rem,5.8vw,7rem); right:auto; writing-mode:initial; }
.services { padding:2rem 0; }.services-intro { display:none; }.service-grid { gap:1rem; grid-template-columns:repeat(3,1fr); margin:0; padding:0 1.5rem; }.service-card { min-height:clamp(23rem,29vw,31rem); padding:2rem 1.9rem; }.service-card::before { background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.7) 47%,rgba(0,0,0,.08) 100%); }.service-card h3 { font-size:clamp(2.45rem,3vw,3.7rem); line-height:.83; margin:1.7rem 0 1.2rem; }.service-card p { font-size:1rem; line-height:1.55; max-width:13.5rem; }.service-card b { bottom:1.8rem; right:1.8rem; }.service-icon { height:4rem; width:4rem; }
.services-intro__image { background-image:url("images/services-hero-generated.png"); background-position:70% center; }
.service-card--contract { background-image:url("images/services-contract-generated.png"); background-position:center; }
.service-card--install { background-image:url("images/services-install-generated.png"); background-position:center; }
.service-card--emergency { background-image:url("images/fleet-lineup.jpg"); background-position:78% center; }
.service-card--planning { background-image:url("images/compact-crane.jpg"); background-position:63% center; }
.fleet { align-items:flex-start; display:flex; isolation:isolate; justify-content:space-between; min-height:100svh; overflow:hidden; padding:clamp(8rem,12vh,10rem) clamp(1.25rem,5.8vw,7rem) 25rem; position:relative; }.fleet-media,.fleet-scrim { inset:0; position:absolute; z-index:-3; }.fleet-media { background:center 28%/cover no-repeat url("images/fleet-lineup.jpg"); filter:contrast(1.1); transform:scale(1.04); transition:transform 1.4s cubic-bezier(.2,.8,.2,1); }.fleet:hover .fleet-media { transform:scale(1.09); }.fleet-scrim { background:linear-gradient(90deg,#080808 0%,rgba(8,8,8,.94) 31%,rgba(8,8,8,.35) 66%,rgba(8,8,8,.85) 100%),linear-gradient(0deg,#080808 0%,transparent 51%); z-index:-2; }.fleet-content { max-width:43rem; }.fleet-content h2 { font-size:clamp(5rem,8.4vw,10rem); }.fleet-content>p:not(.eyebrow) { font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(1.45rem,2vw,2.1rem); letter-spacing:.04em; line-height:1; margin:1.4rem 0 2rem; text-transform:uppercase; }.fleet-range { align-self:flex-start; border-left:2px solid var(--orange); font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(2.8rem,4.7vw,5.5rem); letter-spacing:.03em; line-height:.85; margin-top:4rem; padding:.15rem 0 .15rem 1rem; }.fleet-range span { color:var(--orange); display:block; font-size:clamp(1.1rem,1.7vw,1.9rem); letter-spacing:.06em; margin-top:.5rem; }.fleet-cards { bottom:1.5rem; display:grid; grid-template-columns:repeat(5,1fr); left:clamp(1.25rem,1.5vw,2rem); position:absolute; right:clamp(1.25rem,1.5vw,2rem); }.fleet-card { background:rgba(8,8,8,.84); border:1px solid rgba(255,255,255,.22); min-height:14rem; padding:1.3rem 1.5rem; }.fleet-card strong { display:block; font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(2.7rem,3vw,4rem); font-weight:400; line-height:.85; }.fleet-card>span { color:var(--orange); display:block; font-family:"Bebas Neue",Impact,sans-serif; font-size:.92rem; letter-spacing:.045em; margin:.35rem 0 2.8rem; text-transform:uppercase; }.fleet-card dl { margin:0; }.fleet-card dl div { border-top:1px solid rgba(255,255,255,.18); display:flex; font-size:.6rem; gap:.5rem; justify-content:space-between; padding:.45rem 0; text-transform:uppercase; }.fleet-card dt { color:#bdbdbd; }.fleet-card dd { margin:0; text-align:right; }
@media (max-width:900px) { .site-header { grid-template-columns:1fr auto; height:5.25rem; }.header-phone { display:none; }.nav-toggle { display:block; }.primary-nav { background:var(--black); border-top:1px solid var(--orange); display:flex; flex-direction:column; gap:1.3rem; left:0; padding:2rem 1.25rem; position:absolute; right:0; top:100%; transform:translateY(-130%); transition:transform .3s ease; z-index:-1; }.primary-nav.is-open { transform:translateY(0); }.primary-nav a { font-size:1.45rem; }.hero { padding-top:7rem; }.hero-spec { display:none; }.scroll-prompt { display:none; }.about { padding-top:8rem; }.about-credentials { left:1.25rem; }.about-credentials article { min-width:9.5rem; padding-right:1.25rem; }.service-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .brand { max-width:200px; }.hero { min-height:100svh; padding:7.5rem 1.25rem 10rem; }.hero-media { background-position:65% center; }.hero-scrim { background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.72)),linear-gradient(0deg,rgba(0,0,0,.9),transparent 60%); }.hero-line { right:12%; }.hero-content { padding-top:0; }.hero-content::before { font-size:23rem; left:-5rem; }.eyebrow { font-size:.68rem; }.button { flex:1; font-size:1.15rem; justify-content:space-between; }.hero-credentials { gap:.8rem .3rem; grid-template-columns:repeat(2,1fr); padding:1rem 1.25rem; }.hero-credentials article { border:0; padding:0; }.hero-credentials p { font-size:.53rem; }.credential-number { font-size:2.1rem; }.about { align-items:flex-start; min-height:850px; padding:8rem 1.25rem 14rem; }.about-media { background-position:68% center; }.about-scrim { background:linear-gradient(90deg,rgba(7,7,7,.98),rgba(7,7,7,.78)),linear-gradient(0deg,rgba(0,0,0,.95),transparent 55%); }.about-diagonal { right:17%; }.about-copy { max-width:20rem; }.about-credentials { gap:1.2rem; right:1.25rem; }.about-credentials article { border:0; min-width:0; padding:0; }.about-credentials h3 { font-size:1.1rem; }.about-credentials p { display:none; }.line-icon { height:2.9rem; width:2.9rem; }.services-intro { min-height:35rem; }.services-intro__image { background-position:68% center; }.services-intro__overlay { background:linear-gradient(90deg,rgba(8,8,8,.98),rgba(8,8,8,.7)),linear-gradient(0deg,#090909,transparent 45%); }.services-intro__content { padding:8rem 1.25rem 2rem; }.service-grid { grid-template-columns:1fr; margin:-2rem 1.25rem 0; }.service-card { min-height:15rem; }.service-card h3 { font-size:2.35rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }
@media (max-width:900px) { .fleet { padding-bottom:31rem; }.fleet-range { display:none; }.fleet-cards { grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px) { .fleet { min-height:1050px; padding:8rem 1.25rem 30rem; }.fleet-media { background-position:62% 20%; }.fleet-scrim { background:linear-gradient(90deg,rgba(8,8,8,.97),rgba(8,8,8,.68)),linear-gradient(0deg,#080808 0%,transparent 45%); }.fleet-cards { bottom:1.25rem; grid-template-columns:repeat(2,1fr); left:1.25rem; right:1.25rem; }.fleet-card { min-height:9.7rem; padding:1rem; }.fleet-card strong { font-size:2.7rem; }.fleet-card>span { font-size:.75rem; margin:.3rem 0 1rem; }.fleet-card dl div { display:none; }.fleet-card:last-child { grid-column:span 2; } }

/* Services: six-panel industrial grid */
.services { background:#030303; min-height:auto; padding:2.25rem 1.5rem; }
.services .services-intro { display:none; }
.services .service-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:0; }
.services .service-card { aspect-ratio:1.28 / 1; border:1px solid #242424; display:flex; min-height:0; padding:clamp(1.7rem,2.1vw,2.6rem); position:relative; }
.services .service-card::before { background:linear-gradient(90deg,rgba(3,3,3,.94) 0%,rgba(3,3,3,.78) 38%,rgba(3,3,3,.22) 100%),linear-gradient(0deg,rgba(3,3,3,.88) 0%,transparent 65%); }
.services .service-card:hover::before,.services .service-card:focus-visible::before { background:linear-gradient(90deg,rgba(3,3,3,.86) 0%,rgba(3,3,3,.55) 45%,rgba(3,3,3,.1) 100%),linear-gradient(0deg,rgba(3,3,3,.76) 0%,transparent 70%); }
.services .service-icon { border:2px solid var(--orange); clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%); font-size:1.55rem; height:4.15rem; width:4.15rem; }
.services .service-card h3 { font-size:clamp(2.55rem,3.25vw,4.35rem); letter-spacing:0; line-height:.83; margin:clamp(1.65rem,2.35vw,2.4rem) 0 1.3rem; max-width:70%; }
.services .service-card h3::after { background:var(--orange); content:""; display:block; height:2px; margin-top:1.35rem; width:3.8rem; }
.services .service-card p { font-size:clamp(.88rem,1.05vw,1.05rem); line-height:1.5; max-width:13.5rem; }
.services .service-card b { bottom:clamp(1.25rem,1.9vw,2rem); font-size:2.5rem; right:clamp(1.25rem,1.9vw,2rem); }
.services .service-card--mobile { background-position:center; }.services .service-card--contract { background-position:center; }.services .service-card--cpa { background-position:68% center; }.services .service-card--planning { background-position:63% center; }.services .service-card--install { background-position:center; }.services .service-card--emergency { background-position:center; }
@media (max-width:900px) { .services .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.services .service-card { aspect-ratio:1.34 / 1; } }
@media (max-width:600px) { .services { padding:1.25rem; }.services .service-grid { gap:.75rem; grid-template-columns:1fr; }.services .service-card { aspect-ratio:1.24 / 1; padding:1.5rem; }.services .service-card h3 { font-size:3rem; }.services .service-card p { font-size:.95rem; }.services .service-icon { height:3.6rem; width:3.6rem; } }

.services .service-card--mobile { background-image:url("images/service-mobile-v2.png"); }
.services .service-card--contract { background-image:url("images/service-contract-v2.png"); }
.services .service-card--cpa { background-image:url("images/service-cpa-v2.png"); }
.services .service-card--planning { background-image:url("images/service-planning-v2.png"); }
.services .service-card--install { background-image:url("images/service-install-v2.png"); }
.services .service-card--emergency { background-image:url("images/service-emergency-v2.png"); }

.why-us { background:#090909; display:grid; grid-template-columns:minmax(17rem,1.1fr) 4fr; min-height:100svh; overflow:hidden; }.why-intro { background:#080808; display:flex; flex-direction:column; justify-content:center; padding:clamp(3rem,6vw,7rem); position:relative; }.why-intro::before { color:rgba(255,255,255,.04); content:"?"; font-family:"Bebas Neue",Impact,sans-serif; font-size:30rem; left:-2rem; line-height:1; position:absolute; top:15%; }.why-intro>* { position:relative; }.why-intro h2 { font-size:clamp(4.5rem,6.3vw,7.2rem); line-height:.78; }.why-intro h2 span { color:var(--orange); display:block; }.why-intro>p:not(.eyebrow) { font-size:1rem; line-height:1.55; margin:2rem 0 0; max-width:17rem; }.why-grid { display:grid; grid-template-columns:repeat(5,1fr); }.why-card { background:#171717 center/cover no-repeat; border-left:1px solid rgba(245,130,32,.62); display:flex; flex-direction:column; min-height:100svh; overflow:hidden; padding:clamp(1.5rem,2.1vw,2.5rem) clamp(1rem,1.7vw,1.8rem); position:relative; }.why-card::before { background:linear-gradient(180deg,rgba(5,5,5,.97) 0%,rgba(5,5,5,.8) 40%,rgba(5,5,5,.1) 100%); content:""; inset:0; position:absolute; }.why-card>* { position:relative; }.why-card--safety { background-image:url("images/service-mobile-v2.png"); }.why-card--operators { background-image:url("images/service-contract-v2.png"); }.why-card--rates { background-image:url("images/service-cpa-v2.png"); }.why-card--service { background-image:url("images/service-install-v2.png"); }.why-card--support { background-image:url("images/service-emergency-v2.png"); }.why-icon { align-items:center; border:2px solid var(--orange); clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%); color:var(--orange); display:flex; font-family:"Bebas Neue",Impact,sans-serif; font-size:1.65rem; height:4rem; justify-content:center; width:4rem; }.why-card h3 { font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(1.65rem,2.05vw,2.5rem); font-weight:400; letter-spacing:.02em; line-height:.85; margin:1.5rem 0 1.25rem; text-transform:uppercase; }.why-card h3::after { background:var(--orange); content:""; display:block; height:2px; margin-top:1rem; width:2.8rem; }.why-card p { font-size:.9rem; line-height:1.5; margin:0; }.why-card:hover::before { background:linear-gradient(180deg,rgba(5,5,5,.88) 0%,rgba(5,5,5,.6) 40%,rgba(5,5,5,.04) 100%); }
@media (max-width:1100px) { .why-us { grid-template-columns:1fr; }.why-intro { min-height:24rem; }.why-grid { min-height:40rem; }.why-card { min-height:40rem; } }
@media (max-width:700px) { .why-grid { grid-template-columns:repeat(2,1fr); }.why-card { min-height:24rem; }.why-card:last-child { grid-column:span 2; }.why-intro { padding:5rem 1.5rem; }.why-intro::before { font-size:22rem; }.why-intro h2 { font-size:5rem; } }

.contact { align-items:stretch; background:#080808; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr); isolation:isolate; min-height:100svh; overflow:hidden; position:relative; }.contact-media,.contact-scrim { inset:0; position:absolute; z-index:-3; }.contact-media { background:20% center/cover no-repeat url("images/service-planning-v2.png"); filter:contrast(1.12) saturate(.8); transform:scale(1.04); transition:transform 1.4s cubic-bezier(.2,.8,.2,1); }.contact:hover .contact-media { transform:scale(1.08); }.contact-scrim { background:linear-gradient(90deg,rgba(7,7,7,.97) 0%,rgba(7,7,7,.9) 37%,rgba(7,7,7,.4) 65%,rgba(7,7,7,.96) 100%); z-index:-2; }.contact-content { align-self:center; padding:clamp(5rem,10vh,8rem) clamp(1.5rem,6vw,7rem); }.contact-content h2 { font-size:clamp(6rem,10vw,11rem); line-height:.76; }.contact-content h2 span { color:var(--orange); display:block; }.contact-content>p:not(.eyebrow) { font-size:1.1rem; line-height:1.55; margin:1.8rem 0; max-width:24rem; }.contact-phone { display:block; font-family:"Bebas Neue",Impact,sans-serif; font-size:clamp(2.7rem,4.4vw,5.6rem); letter-spacing:.03em; line-height:.9; margin:2rem 0 1.25rem; }.contact-phone span { color:var(--orange); display:block; font-family:Inter,sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.16em; margin-bottom:.7rem; text-transform:uppercase; }.quote-form { align-self:stretch; background:rgba(8,8,8,.89); border-left:1px solid var(--orange); display:flex; flex-direction:column; justify-content:center; padding:clamp(3rem,5vw,5rem); }.quote-form label { color:#d4d4d4; display:block; font-size:.65rem; font-weight:700; letter-spacing:.12em; margin-top:1.2rem; text-transform:uppercase; }.quote-form input,.quote-form textarea { background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.38); border-radius:0; color:var(--white); display:block; font:400 1rem Inter,Arial,sans-serif; margin-top:.65rem; outline:0; padding:.55rem 0; resize:vertical; width:100%; }.quote-form input:focus,.quote-form textarea:focus { border-color:var(--orange); }.quote-form .button { cursor:pointer; justify-content:space-between; margin-top:2rem; width:100%; }
@media (max-width:800px) { .contact { grid-template-columns:1fr; }.contact-content { min-height:44rem; }.quote-form { border-left:0; border-top:1px solid var(--orange); }.contact-scrim { background:linear-gradient(90deg,rgba(7,7,7,.95),rgba(7,7,7,.55)); } }

/* Header lockup and quote form handoff */
.brand { align-items:center; display:flex; gap:.7rem; max-width:none; }
.brand-mark { align-items:center; border:2px solid var(--orange); clip-path:polygon(16% 0,84% 0,100% 16%,100% 84%,84% 100%,16% 100%,0 84%,0 16%); color:var(--orange); display:flex; font-family:"Bebas Neue",Impact,sans-serif; font-size:2.25rem; height:3.6rem; justify-content:center; letter-spacing:-.08em; line-height:1; width:3.6rem; }
.brand-name { color:var(--white); font-family:"Bebas Neue",Impact,sans-serif; font-size:1.6rem; letter-spacing:.035em; line-height:.8; text-transform:uppercase; }.brand-name small { color:var(--orange); display:block; font-size:.72em; letter-spacing:.25em; margin-top:.25rem; }
.brand { display:block; width:clamp(10rem,15vw,15rem); }.brand img { display:block; height:auto; mix-blend-mode:screen; width:100%; }
.form-status { color:var(--orange); font-size:.82rem; line-height:1.45; margin:1rem 0 0; }
@media (max-width:600px) { .brand { width:11rem; }.brand-mark { font-size:1.8rem; height:3rem; width:3rem; }.brand-name { font-size:1.35rem; } }
