:root{
  --black:#09090a;
  --black-2:#111113;
  --black-3:#18181b;
  --red:#e1121b;
  --red-dark:#a9080f;
  --silver:#c9cbd0;
  --muted:#a7a7ad;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:#fff;color:#17171a}
a{text-decoration:none}.fw-black{font-weight:900;letter-spacing:-.04em}.py-lg-6{padding-top:6rem!important;padding-bottom:6rem!important}
.top-strip{background:#050506;color:#c9c9ce;font-size:.86rem;border-bottom:1px solid #242428}.top-strip a{color:#e0e0e3}.top-strip a:hover{color:#fff}
.navbar{background:rgba(9,9,10,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.07)}.nav-logo{width:48px;height:48px;object-fit:contain}.brand-text{font-size:.95rem;letter-spacing:.09em;color:#e8e8eb}.brand-text strong{color:#fff}.nav-link{font-weight:700;font-size:.92rem;color:#c7c7cc!important;padding:.9rem .85rem!important}.nav-link:hover{color:#fff!important}.call-nav{font-weight:800;padding:.72rem 1rem;border-radius:.75rem}
.hero{background:radial-gradient(circle at 75% 30%,rgba(225,18,27,.15),transparent 32%),linear-gradient(135deg,#050506 0%,#0f0f11 58%,#080809 100%);color:#fff}.min-vh-75{min-height:75vh}.hero-glow{position:absolute;width:600px;height:600px;border:1px solid rgba(225,18,27,.16);border-radius:50%;right:-150px;top:-190px;box-shadow:0 0 120px rgba(225,18,27,.08) inset}.eyebrow{display:flex;align-items:center;gap:.6rem;color:var(--red);font-weight:900;font-size:.77rem;letter-spacing:.16em;text-transform:uppercase}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px rgba(225,18,27,.13)}.hero h1 span{color:transparent;-webkit-text-stroke:1px #f0f0f2}.text-secondary-light{color:#b6b6bc!important;max-width:610px}.hero-btn{min-width:180px;font-weight:800;border-radius:.8rem;padding:.9rem 1.2rem}.btn-danger{background:var(--red);border-color:var(--red)}.btn-danger:hover{background:#c80e16;border-color:#c80e16}.hero-points span{color:#d2d2d6;font-size:.92rem;font-weight:650}.hero-points i{color:var(--red)}.hero-image-wrap{position:relative}.hero-truck{filter:drop-shadow(0 35px 45px rgba(0,0,0,.55));transform:scale(1.03)}.hero-badge{position:absolute;left:3%;bottom:2%;background:rgba(7,7,8,.94);border:1px solid #353539;border-left:4px solid var(--red);border-radius:.9rem;color:#fff;padding:.9rem 1.1rem;display:flex;align-items:center;gap:.8rem;box-shadow:0 15px 35px rgba(0,0,0,.38)}.hero-badge i{font-size:1.7rem;color:var(--red)}.hero-badge small,.hero-badge strong{display:block}.hero-badge small{font-size:.65rem;color:#aaa;letter-spacing:.15em}.hero-badge strong{font-size:1rem}.hero-bottom-line{height:4px;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.quick-contact{background:#121214;border-bottom:1px solid #252528}.quick-card{display:flex;align-items:center;gap:1rem;color:#fff;background:#19191c;border:1px solid #29292e;border-radius:1rem;padding:1rem 1.15rem;transition:.2s ease}.quick-card:hover{transform:translateY(-2px);border-color:#44444a;color:#fff}.quick-card>i:first-child{width:42px;height:42px;border-radius:.75rem;display:grid;place-items:center;background:#252529;color:var(--red);font-size:1.1rem}.quick-card small,.quick-card strong{display:block}.quick-card small{font-size:.68rem;color:#85858d;letter-spacing:.12em}.quick-card strong{font-size:.92rem;word-break:break-word}
.section-dark{background:#0c0c0e;color:#fff}.section-heading{max-width:720px}.section-heading p{color:#a7a7ad;font-size:1.08rem}.service-card{height:100%;padding:1.65rem;border-radius:1.2rem;background:linear-gradient(145deg,#151518,#101012);border:1px solid #242428;transition:.25s ease}.service-card:hover{transform:translateY(-5px);border-color:#4a1b1f;box-shadow:0 20px 45px rgba(0,0,0,.25)}.service-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:1rem;background:rgba(225,18,27,.12);border:1px solid rgba(225,18,27,.22);color:var(--red);font-size:1.35rem;margin-bottom:1.2rem}.service-card h3{font-size:1.25rem;font-weight:850}.service-card p{color:#9e9ea6;line-height:1.7}.service-card a{color:#fff;font-weight:800;font-size:.9rem}.service-card a i{color:var(--red);margin-left:.25rem}
.fleet-section{background:#f5f5f6}.fleet-photo-main,.fleet-photo{background:#0d0d0f;border-radius:1.4rem;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.12)}.fleet-photo-main{padding:1rem}.fleet-photo-main img{width:100%;height:470px;object-fit:contain}.fleet-photo{position:relative;height:300px}.fleet-photo img{width:100%;height:100%;object-fit:contain;padding:.8rem;transition:.3s ease}.fleet-photo:hover img{transform:scale(1.03)}.fleet-photo span{position:absolute;left:1rem;bottom:1rem;background:#070708;color:#fff;border-left:3px solid var(--red);padding:.55rem .8rem;border-radius:.45rem;font-weight:800;font-size:.85rem}
.coverage-section{background:#fff}.coverage-intro{position:sticky;top:110px}.coverage-search .form-label{font-weight:800}.coverage-search .input-group-text{background:#fff;border-right:0}.coverage-search .form-control{border-left:0}.coverage-search .form-control:focus{box-shadow:none;border-color:#dee2e6}.coverage-help{display:flex;gap:.8rem;background:#f7f7f8;border:1px solid #e4e4e6;border-radius:1rem;padding:1rem}.coverage-help i{color:var(--red);font-size:1.2rem}.coverage-help strong,.coverage-help span{display:block}.coverage-help span{font-size:.87rem;color:#66666d;margin-top:.15rem}.coverage-accordion .accordion-item{border:1px solid #e2e2e5!important;border-radius:1rem!important;overflow:hidden;margin-bottom:.8rem}.coverage-accordion .accordion-button{font-weight:850;font-size:1rem;background:#fafafa;color:#151518;box-shadow:none!important}.coverage-accordion .accordion-button:not(.collapsed){background:#101012;color:#fff}.coverage-accordion .accordion-button:not(.collapsed)::after{filter:invert(1)}.county-dot{width:9px;height:9px;border-radius:50%;background:var(--red);display:inline-block;margin-right:.8rem;box-shadow:0 0 0 4px rgba(225,18,27,.09)}.county-count{font-size:.72rem;font-weight:700;color:#898990}.accordion-button:not(.collapsed) .county-count{color:#b9b9bf}.area-list{color:#626269;line-height:2;font-size:.94rem;background:#fff}
.about-section{background:#0d0d0f;color:#fff}.about-section .text-muted{color:#a6a6ad!important;line-height:1.75}.about-photo{background:radial-gradient(circle at center,rgba(225,18,27,.16),transparent 58%);padding:1rem}.about-photo img{filter:drop-shadow(0 25px 30px rgba(0,0,0,.5))}.stat{padding:1.1rem;border-radius:1rem;background:#151518;border:1px solid #28282d}.stat strong,.stat span{display:block}.stat strong{font-size:2rem;color:var(--red);font-weight:900}.stat span{font-size:.85rem;color:#a9a9af;font-weight:700}
.cta-section{background:linear-gradient(145deg,#111113,#050506);color:#fff}.cta-box{position:relative;border:1px solid #2b2b2f;border-radius:1.5rem;padding:3rem 1.5rem;background:radial-gradient(circle at 50% 0%,rgba(225,18,27,.14),transparent 35%),#0b0b0c;overflow:hidden}.cta-logo{width:100px;height:100px;object-fit:contain;margin-bottom:1.2rem}.contact-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;color:#9f9fa7;font-weight:650;font-size:.9rem}.contact-meta i{color:var(--red)}
.site-footer{background:#050506;color:#b0b0b6;border-top:1px solid #1c1c1f}.footer-logo{width:38px;height:38px;object-fit:contain}.mobile-call{position:fixed;z-index:1100;left:16px;right:16px;bottom:16px;background:var(--red);color:#fff;border-radius:999px;padding:.95rem 1.2rem;display:flex;align-items:center;justify-content:center;gap:.65rem;font-weight:900;box-shadow:0 12px 35px rgba(0,0,0,.35)}
@media(max-width:991.98px){.coverage-intro{position:static}.hero{padding-bottom:2rem}.hero h1{font-size:3.3rem}.hero-truck{transform:none}.fleet-photo-main img{height:380px}.navbar-collapse{padding:1rem 0}.call-nav{margin-top:.5rem}}
@media(max-width:767.98px){body{padding-bottom:82px}.hero h1{font-size:2.7rem}.hero-badge{left:0;bottom:-12px}.hero-image-wrap{margin-bottom:1rem}.quick-card strong{font-size:.85rem}.fleet-photo-main img{height:300px}.fleet-photo{height:260px}.py-lg-6{padding-top:4rem!important;padding-bottom:4rem!important}.cta-box{padding:2.2rem 1rem}.contact-meta{flex-direction:column;gap:.5rem}.brand-text{display:none}}
@media(max-width:420px){.hero h1{font-size:2.35rem}.hero-btn{width:100%}.hero-points{flex-direction:column;gap:.6rem!important}.hero-badge{transform:scale(.9);transform-origin:left bottom}.county-count{display:none}}

/* Location pages */
.location-page .location-hero-intro{color:#b6b6bc!important}
.location-page .location-contact-card,.location-page .location-contact-card h2,.location-page .location-contact-card p,.location-page .location-contact-card i{color:#fff}
.location-page .location-contact-card .text-secondary{color:#b6b6bc!important}
.location-page .location-contact-card a:not(.btn){color:#fff}
.location-page .location-contact-card a:not(.btn):hover{color:var(--red)}
.location-page section[style*="#0b0b0c"] h1{color:#fff}
.location-links-section{background:#f5f5f6}
.location-county-card{height:100%;background:#fff;border:1px solid #e1e1e4;border-radius:1rem;padding:1.25rem}
.location-county-card h3{font-size:1.05rem;font-weight:850;margin-bottom:.9rem}
.location-link-list{display:flex;flex-wrap:wrap;gap:.5rem}
.location-link-list a{display:inline-block;padding:.42rem .68rem;border-radius:.55rem;background:#111113;color:#fff;font-size:.82rem;font-weight:700}
.location-link-list a:hover{background:var(--red);color:#fff}


/* Published location pages linked directly inside the existing Coverage accordion */
.coverage-location-link {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--bs-danger, #dc3545);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.coverage-location-link:hover,
.coverage-location-link:focus {
  color: #fff;
  text-decoration-color: #fff;
}


/* Location-page contrast hotfix */
.location-page .location-hero{min-height:420px;background:radial-gradient(circle at 80% 20%,rgba(180,0,0,.22),transparent 35%),linear-gradient(135deg,#050506 0%,#101012 60%,#070708 100%)!important;color:#fff!important}
.location-page .location-hero h1,.location-page .location-hero h2,.location-page .location-hero h3,.location-page .location-hero p,.location-page .location-hero .lead{color:#fff!important}
.location-page .location-hero .location-hero-intro{color:#d0d0d5!important}
.location-page .location-main{background:#fff!important;color:#17171a!important}
.location-page .location-contact-card,.location-page .location-contact-card *{color:#fff!important}
.location-page .location-contact-card{background:#111113!important;border-color:#34343a!important}
.location-page .location-contact-card .text-secondary{color:#d0d0d5!important}
.location-page .location-contact-card a:not(.btn){color:#fff!important}
.location-page .location-contact-card hr{border-color:#5d5d64!important;opacity:1}


/* Roscrea Blasting & Restoration */
.blasting-nav-link{color:#36e13c!important}.blasting-nav-link:hover{color:#fff!important}
.second-business{background:#111312}.second-business-card{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem;border-radius:1.35rem;background:linear-gradient(135deg,#172018,#0b0d0c);border:1px solid #29472d;color:#fff}.second-business-card p{color:#c1c8c2;max-width:720px}.second-business-card .eyebrow{color:#36e13c}
.blasting-page{--blast:#35e13c;--blast-dark:#15951b;--blast-ink:#101310;--blast-muted:#a8afa9;background:#080a09;color:#fff}.blasting-page .navbar{border-bottom-color:rgba(53,225,60,.2)}
.roscrea-nav-logo{display:block;width:auto;max-width:220px;height:48px;object-fit:contain;object-position:left center}
.blasting-hero{min-height:72vh;display:flex;align-items:center;background:radial-gradient(circle at 78% 35%,rgba(53,225,60,.14),transparent 30%),linear-gradient(135deg,#030504,#0d110e 62%,#050706);position:relative;overflow:hidden}.blasting-hero:after{content:"";position:absolute;right:-8%;top:8%;width:460px;height:460px;border:1px solid rgba(53,225,60,.16);border-radius:50%;box-shadow:0 0 0 60px rgba(53,225,60,.02),0 0 0 120px rgba(53,225,60,.012)}.blasting-hero .container{position:relative;z-index:2}.blast-eyebrow{color:var(--blast);font-weight:900;letter-spacing:.15em;font-size:.78rem}.blasting-hero h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.9;letter-spacing:-.06em;font-weight:950}.blasting-hero h1 span{color:var(--blast)}.blasting-hero .lead{max-width:700px;color:#c5cbc6}.btn-blast{background:var(--blast);border-color:var(--blast);color:#061007;font-weight:900}.btn-blast:hover{background:#64f36a;border-color:#64f36a;color:#061007}
.roscrea-hero-logo-wrap{position:relative;padding:1rem}.roscrea-hero-logo{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 24px 38px rgba(0,0,0,.5))}.blast-contact-row{align-items:center;color:#adb6ae;font-size:.88rem;font-weight:700}.blast-contact-row a{color:#fff;font-size:1.05rem;font-weight:900}.blast-contact-row a i{color:var(--blast)}
.blast-services{background:#f2f4f2;color:#111411}.blast-service-card{height:100%;background:#fff;border:1px solid #dce2dc;border-radius:1.15rem;padding:1.5rem;box-shadow:0 12px 35px rgba(11,30,13,.06)}.blast-service-card .service-icon{background:#eafbea;border-color:#bdeec0;color:var(--blast-dark)}.blast-service-card p{color:#656d66}.blast-process{background:#0d100e}.blast-step{border-left:3px solid var(--blast);padding-left:1rem}.blast-step span{color:var(--blast);font-weight:900;font-size:.78rem;letter-spacing:.12em}.blast-cta{background:linear-gradient(135deg,#39e441,#20b828);color:#071008}.blast-cta .btn-dark{font-weight:900}.brand-switch{display:inline-flex;gap:.5rem;align-items:center;font-size:.76rem;color:#aaa}.brand-switch a{color:#fff;font-weight:800}.brand-switch i{color:var(--blast)}
@media(max-width:767.98px){.second-business-card{align-items:flex-start;flex-direction:column}.second-business-card .btn{width:100%}.blasting-hero{min-height:64vh}.blasting-hero h1{font-size:3.25rem}.roscrea-nav-logo{width:auto;max-width:190px;height:42px}.roscrea-hero-logo-wrap{margin-top:1rem}}

/* Roscrea compact header hard-fix */
.blasting-page .roscrea-navbar{min-height:76px!important;height:auto!important;padding:.55rem 0!important;overflow:visible!important}
.blasting-page .roscrea-navbar .container{min-height:58px!important}
.blasting-page .roscrea-navbar .navbar-brand{display:flex!important;align-items:center!important;width:auto!important;height:58px!important;max-height:58px!important;margin:0 1.25rem 0 0!important;padding:0!important;overflow:hidden!important}
.blasting-page .roscrea-navbar .navbar-brand .roscrea-nav-logo{display:block!important;width:auto!important;height:52px!important;max-width:180px!important;max-height:52px!important;object-fit:contain!important;object-position:left center!important;margin:0!important;padding:0!important}
@media(max-width:991.98px){.blasting-page .roscrea-navbar{min-height:68px!important;padding:.4rem 0!important}.blasting-page .roscrea-navbar .navbar-brand{height:50px!important;max-height:50px!important}.blasting-page .roscrea-navbar .navbar-brand .roscrea-nav-logo{height:44px!important;max-height:44px!important;max-width:155px!important}}

/* Roscrea hero visual lock - match approved dark design */
.blasting-page .blasting-hero{min-height:655px!important;background:radial-gradient(circle at 78% 42%,rgba(35,225,56,.12),transparent 29%),linear-gradient(112deg,#050806 0%,#080c09 58%,#07180b 100%)!important;color:#fff!important}
.blasting-page .blasting-hero>.container{padding-top:4.5rem!important;padding-bottom:4.5rem!important}
.blasting-page .blasting-hero h1{color:#fff!important;font-size:clamp(4.4rem,6.3vw,6.7rem)!important;line-height:.88!important;max-width:700px;margin-bottom:1.5rem!important}
.blasting-page .blasting-hero h1 span{color:var(--blast)!important;-webkit-text-stroke:0!important}
.blasting-page .blasting-hero .lead{color:#b9c0ba!important;font-size:1.08rem;line-height:1.65;max-width:720px}
.blasting-page .blasting-hero .btn-outline-light{color:#fff!important;border-color:#d8ded9!important;background:transparent!important;font-weight:700}
.blasting-page .blasting-hero .btn-outline-light:hover{background:#fff!important;color:#101310!important}
.blasting-page .roscrea-hero-logo-wrap{display:flex;align-items:center;justify-content:center;width:100%;padding:0!important;overflow:visible}
.blasting-page .roscrea-hero-logo{width:min(100%,560px)!important;max-width:560px!important;height:auto!important;max-height:330px!important;object-fit:contain!important;object-position:center!important}
.blasting-page .blasting-hero:after{right:-4%!important;top:10%!important;width:460px!important;height:460px!important}
@media(max-width:991.98px){.blasting-page .blasting-hero>.container{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.blasting-page .blasting-hero h1{font-size:clamp(3.7rem,10vw,5rem)!important}.blasting-page .roscrea-hero-logo{max-width:520px!important;max-height:290px!important}}
@media(max-width:767.98px){.blasting-page .blasting-hero{min-height:auto!important}.blasting-page .blasting-hero>.container{padding-top:2.75rem!important;padding-bottom:3.25rem!important}.blasting-page .blasting-hero .row{flex-direction:column-reverse}.blasting-page .roscrea-hero-logo{max-width:390px!important;max-height:220px!important;margin:0 auto 1rem}.blasting-page .blasting-hero h1{font-size:clamp(3.25rem,16vw,4.6rem)!important}.blasting-page .blasting-hero:after{width:300px!important;height:300px!important;right:-35%!important}}

/* Roscrea Blasting - Our Work */
.blast-work{background:#070a08;color:#fff;border-top:1px solid rgba(53,225,60,.12);border-bottom:1px solid rgba(53,225,60,.12)}
.blast-work .section-heading p,.blast-work>.container>.row p{color:#aeb6b0;max-width:760px}
.blast-project-card{overflow:hidden;border:1px solid rgba(53,225,60,.18);border-radius:1.35rem;background:linear-gradient(145deg,#101511,#090c0a);box-shadow:0 24px 70px rgba(0,0,0,.32)}
.blast-video-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}
.blast-project-video{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover;background:#000}
.blast-video-badge{position:absolute;left:1rem;top:1rem;display:flex;align-items:center;gap:.5rem;padding:.55rem .8rem;border-radius:999px;background:rgba(4,8,5,.84);border:1px solid rgba(53,225,60,.35);backdrop-filter:blur(10px);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.1em}
.blast-video-badge i{color:var(--blast);font-size:1rem}
.blast-project-copy{height:100%;min-height:470px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 100% 0,rgba(53,225,60,.11),transparent 38%)}
.blast-project-kicker{display:inline-block;color:var(--blast);font-size:.74rem;font-weight:900;letter-spacing:.13em;margin-bottom:1rem}
.blast-project-copy h3{font-size:clamp(2rem,3vw,3rem);font-weight:950;letter-spacing:-.045em;line-height:.95;margin-bottom:1.25rem}
.blast-project-copy p{color:#b7beb8;line-height:1.7}
.blast-project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.35rem}.blast-project-tags span{padding:.45rem .7rem;border:1px solid #29322b;border-radius:999px;color:#dce2dd;background:#101511;font-size:.76rem;font-weight:700}
.blast-project-contact{padding-top:1.5rem;margin-top:2rem;border-top:1px solid #252c27}.blast-project-contact small{display:block;color:#7f8981;margin-bottom:.35rem}.blast-project-contact a{color:#fff;font-size:1.2rem;font-weight:900}.blast-project-contact a i{color:var(--blast);margin-right:.35rem}
@media(max-width:991.98px){.blast-video-wrap{min-height:0}.blast-project-video{min-height:0!important;max-height:none!important}.blast-project-copy{min-height:0;padding:1.5rem}.blast-project-card{border-radius:1rem}}
@media(max-width:575.98px){.blast-video-badge{font-size:.65rem;left:.7rem;top:.7rem}.blast-project-copy h3{font-size:2.15rem}}

/* Roscrea Blasting - video + gallery */
.blast-media-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:1.25rem;align-items:stretch}.blast-video-panel,.blast-gallery-panel{border:1px solid rgba(53,225,60,.18);border-radius:1.25rem;overflow:hidden;background:linear-gradient(145deg,#101511,#090c0a);box-shadow:0 20px 60px rgba(0,0,0,.24)}.blast-media-caption{padding:1.35rem 1.5rem}.blast-media-caption h3,.blast-gallery-head h3{font-weight:950;letter-spacing:-.035em;margin:0 0 .5rem}.blast-media-caption p{color:#aeb6b0;margin:0}.blast-gallery-panel{padding:1.25rem}.blast-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.blast-gallery-viewall{border:0;background:transparent;color:var(--blast);font-weight:800;font-size:.82rem;padding:.25rem}.blast-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.blast-gallery-thumb{position:relative;display:block;border:0;padding:0;aspect-ratio:4/3;border-radius:.8rem;overflow:hidden;background:#111;color:#fff;text-align:left}.blast-gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}.blast-gallery-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(0,0,0,.82));pointer-events:none}.blast-gallery-thumb span{position:absolute;z-index:2;left:.75rem;right:.75rem;bottom:.65rem;font-size:.78rem;line-height:1.2}.blast-gallery-thumb span strong{display:block;color:var(--blast);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.18rem}.blast-gallery-thumb:hover img{transform:scale(1.045);filter:brightness(1.08)}.blast-gallery-empty{min-height:310px;border:1px dashed #2c382f;border-radius:.9rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8f9991;padding:2rem}.blast-gallery-empty i{font-size:2.4rem;color:var(--blast);margin-bottom:.8rem}.blast-gallery-empty strong{color:#fff;font-size:1.1rem}.blast-project-strip{margin-top:1.25rem;padding:1rem 1.25rem;border:1px solid rgba(53,225,60,.16);border-radius:1rem;background:#0d120e;display:flex;align-items:center;justify-content:space-between;gap:1rem}.blast-project-strip .blast-project-tags{margin:0}.blast-project-strip .blast-project-contact{padding:0;margin:0;border:0;text-align:right;white-space:nowrap}.blast-lightbox{position:fixed;z-index:2000;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:4rem 5rem}.blast-lightbox.is-open{display:flex}.blast-lightbox figure{margin:0;max-width:min(1200px,88vw);max-height:88vh;display:flex;flex-direction:column;align-items:center}.blast-lightbox figure img{max-width:100%;max-height:76vh;object-fit:contain;border-radius:.75rem;box-shadow:0 30px 100px #000}.blast-lightbox figcaption{width:100%;padding:.9rem .25rem 0;color:#b9c2bb}.blast-lightbox figcaption strong{color:#fff;display:block;font-size:1.05rem}.blast-lightbox-close,.blast-lightbox-nav{position:absolute;border:0;background:rgba(16,21,17,.86);color:#fff;border:1px solid #334037;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:1.2rem}.blast-lightbox-close{right:1.5rem;top:1.5rem}.blast-lightbox-nav.prev{left:1.5rem}.blast-lightbox-nav.next{right:1.5rem}.blast-lightbox-close:hover,.blast-lightbox-nav:hover{background:var(--blast);color:#071008}.gallery-open{overflow:hidden}@media(max-width:991.98px){.blast-media-grid{grid-template-columns:1fr}.blast-gallery-grid{grid-template-columns:repeat(4,1fr)}.blast-project-strip{align-items:flex-start;flex-direction:column}.blast-project-strip .blast-project-contact{text-align:left}}@media(max-width:767.98px){.blast-gallery-grid{grid-template-columns:1fr 1fr}.blast-gallery-panel{padding:1rem}.blast-lightbox{padding:4rem 1rem}.blast-lightbox-nav{width:42px;height:42px;bottom:1rem;top:auto}.blast-lightbox-nav.prev{left:calc(50% - 52px)}.blast-lightbox-nav.next{right:calc(50% - 52px)}.blast-lightbox-close{right:1rem;top:1rem}}

/* Roscrea Blasting gallery sizing hard-fix */
.blasting-page .blast-media-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
}
.blasting-page .blast-gallery-panel{
  min-width:0!important;
  overflow:hidden!important;
}
.blasting-page .blast-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.75rem!important;
  width:100%!important;
}
.blasting-page .blast-gallery-thumb{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:.8rem!important;
  padding:0!important;
  background:#111!important;
}
.blasting-page .blast-gallery-thumb img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
}
.blasting-page .blast-gallery-viewall{
  appearance:none!important;
  border:1px solid rgba(53,225,60,.45)!important;
  border-radius:999px!important;
  background:rgba(53,225,60,.10)!important;
  color:var(--blast)!important;
  font:inherit!important;
  font-size:.78rem!important;
  font-weight:900!important;
  line-height:1!important;
  padding:.65rem .9rem!important;
  cursor:pointer!important;
}
.blasting-page .blast-gallery-viewall:hover{
  background:var(--blast)!important;
  border-color:var(--blast)!important;
  color:#071008!important;
}
@media(max-width:991.98px){
  .blasting-page .blast-media-grid{grid-template-columns:1fr!important}
  .blasting-page .blast-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:767.98px){
  .blasting-page .blast-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:420px){
  .blasting-page .blast-gallery-grid{gap:.55rem!important}
  .blasting-page .blast-gallery-thumb span{left:.55rem!important;right:.55rem!important;bottom:.5rem!important;font-size:.7rem!important}
}
