/* Grab page only. Shared navigation, other pages and original content stay intact. */
body.jjs-grab-layout { --grab-width:1280px; --grab-gutter:clamp(20px,4vw,48px); --grab-space:clamp(48px,6vw,88px); }
.jjs-grab-layout .grab-main { background:#f7f6f2; }
.jjs-grab-layout .grab-main :is(section,article,aside,div,picture,figure) { min-width:0; }
.jjs-grab-layout .grab-main :is(h1,h2,h3) { overflow-wrap:break-word; text-wrap:balance; }
.jjs-grab-layout .grab-main p { text-wrap:pretty; }
.jjs-grab-layout :is(.grab-section,.jjs-service-work) { padding:var(--grab-space) var(--grab-gutter); }
.jjs-grab-layout :is(.grab-inner,.jjs-service-work__inner) { max-width:var(--grab-width); margin-inline:auto; }
.jjs-grab-layout :is(.grab-eyebrow,.jjs-service-work__eyebrow) { color:#805e00; line-height:1.5; }
.jjs-grab-layout :is(.grab-heading,.jjs-service-work__heading) { font-size:clamp(29px,3.2vw,44px); line-height:1.13; letter-spacing:-.035em; }
.jjs-grab-layout .grab-copy { font-size:17px; line-height:1.75; }
.jjs-grab-layout .grab-main .gold-btn { min-height:48px; line-height:1.4; border-radius:4px; justify-content:center; text-align:center; }
.jjs-grab-layout .grab-main .gold-btn:hover { background:#805e00; }
.jjs-grab-layout .grab-main a:focus-visible { outline:3px solid #c59829; outline-offset:5px; }
/* Match the redesigned sweeper page: clear copy beside a dedicated photograph. */
.jjs-grab-layout .grab-hero { display:grid; grid-template-columns:minmax(var(--grab-gutter),1fr) minmax(0,640px) minmax(0,640px) minmax(var(--grab-gutter),1fr); min-height:0; align-items:stretch; background:#141414; }
.jjs-grab-layout .grab-hero::after { display:none; }
.jjs-grab-layout .grab-hero > picture { position:relative; inset:auto; grid-column:3 / 5; grid-row:1; width:100%; height:100%; min-height:480px; }
.jjs-grab-layout .grab-hero img { position:static; inset:auto; width:100%; height:100%; object-fit:cover !important; object-position:center !important; }
.jjs-grab-layout .grab-hero__inner { grid-column:2; grid-row:1; width:auto; margin:0; align-self:center; padding:clamp(48px,5vw,72px) clamp(24px,4vw,64px) clamp(48px,5vw,72px) 0; }
.jjs-grab-layout .grab-hero .grab-eyebrow { color:#e0ba55; margin-bottom:22px; }
.jjs-grab-layout .grab-hero h1 { font-size:clamp(42px,4.5vw,64px); line-height:1.02; margin:0 0 24px; letter-spacing:-.04em; }
.jjs-grab-layout .grab-hero h1::after { content:""; display:block; width:58px; height:3px; margin-top:24px; background:var(--gold); }
.jjs-grab-layout .grab-hero p { font-size:clamp(17px,1.7vw,20px); line-height:1.65; font-weight:400; max-width:42ch; margin-bottom:28px; color:#e6e6e6; }
/* Overview: real image proportions and readable copy, without fixed-height clipping. */
.jjs-grab-layout .grab-intro { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; }
.jjs-grab-layout .grab-intro__copy { padding:clamp(26px,3.5vw,44px); border-radius:7px; box-shadow:none; }
.jjs-grab-layout .grab-intro__copy p:last-child { margin-bottom:0; }
.jjs-grab-layout .grab-intro__image { min-height:0; height:auto; border-radius:7px; box-shadow:0 8px 24px rgb(0 0 0 / .05); background:#eeece5; }
.jjs-grab-layout .grab-intro__image picture { display:block; width:100%; aspect-ratio:987 / 740; }
.jjs-grab-layout .grab-intro__image img { height:100%; width:100%; object-fit:contain !important; object-position:center !important; }
/* Hire options keep comfortable line lengths at intermediate screen sizes. */
.jjs-grab-layout .grab-services__head { max-width:800px; margin-bottom:36px; }
.jjs-grab-layout .grab-services__head .grab-heading { max-width:24ch; margin-inline:auto; }
.jjs-grab-layout .grab-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.jjs-grab-layout .grab-card { padding:30px 28px; border-top-width:3px; border-radius:7px; box-shadow:none; }
.jjs-grab-layout .grab-card__num { width:48px; height:48px; font-size:16px; margin-bottom:24px; color:#805e00; }
.jjs-grab-layout .grab-card h3 { font-size:clamp(21px,2vw,26px); line-height:1.2; margin-bottom:16px; text-transform:none; letter-spacing:-.02em; }
.jjs-grab-layout .grab-card p { font-size:16px; line-height:1.7; }
/* Experience panel and loading photograph have their own usable space. */
.jjs-grab-layout .grab-split { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; }
.jjs-grab-layout .grab-split__image { height:auto; border-radius:7px; background:#eeece5; }
.jjs-grab-layout .grab-split__image picture { display:block; width:100%; aspect-ratio:1000 / 750; }
.jjs-grab-layout .grab-split__image img { width:100%; height:100%; object-fit:contain !important; object-position:center !important; }
.jjs-grab-layout .grab-split__panel { padding:clamp(28px,3.5vw,44px); border-radius:7px; box-shadow:0 10px 28px rgb(0 0 0 / .06); }
.jjs-grab-layout .grab-split__panel .grab-eyebrow { color:#e0ba55; }
.jjs-grab-layout .grab-split__panel h2 { font-size:clamp(28px,3vw,38px); line-height:1.15; letter-spacing:-.025em; }
.jjs-grab-layout .grab-split__panel p { font-size:16px; line-height:1.75; }
.jjs-grab-layout .grab-list { gap:15px; line-height:1.55; font-size:16px; }
/* Preserve both the fleet gallery and all five historical project cards. */
.jjs-grab-layout .grab-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.jjs-grab-layout .grab-gallery picture { display:block; height:auto; aspect-ratio:4 / 3; overflow:hidden; border-radius:7px; background:#eeece5; }
.jjs-grab-layout .grab-gallery img { width:100%; height:100%; object-fit:contain !important; object-position:center !important; }
.jjs-grab-layout .jjs-service-work { background:#f7f6f2; }
.jjs-grab-layout .jjs-service-work__header { max-width:850px; margin-bottom:36px; }
.jjs-grab-layout .jjs-service-work__grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.jjs-grab-layout .jjs-service-work__card { grid-column:span 2; display:flex; flex-direction:column; align-items:stretch; box-shadow:0 8px 20px rgb(0 0 0 / .035); }
.jjs-grab-layout .jjs-service-work__card:nth-child(4) { grid-column:2 / span 2; }
.jjs-grab-layout .jjs-service-work__card:nth-child(5) { grid-column:4 / span 2; }
.jjs-grab-layout .jjs-service-work__photo { aspect-ratio:4 / 3; }
.jjs-grab-layout .jjs-service-work__capture { width:var(--photo-width,100%); }
/* Keep source offsets in the original markup: these mask social-interface pixels. */
.jjs-grab-layout .jjs-service-work__body { padding:26px; }
.jjs-grab-layout .jjs-service-work__title { font-size:21px; line-height:1.2; text-transform:none; letter-spacing:-.015em; }
.jjs-grab-layout .jjs-service-work__description { font-size:16px; line-height:1.65; }
.jjs-grab-layout .jjs-service-work__context { line-height:1.5; }
.jjs-grab-layout .grab-cta { padding:clamp(36px,5vw,64px) var(--grab-gutter); }
.jjs-grab-layout .grab-cta__inner { max-width:var(--grab-width); gap:32px; flex-direction:row; align-items:center; }
.jjs-grab-layout .grab-cta h2 { font-size:clamp(28px,3.2vw,40px); line-height:1.15; margin-bottom:16px; }
.jjs-grab-layout .grab-cta p { max-width:60ch; font-size:16px; line-height:1.65; }
.jjs-grab-layout .grab-cta .gold-btn { flex-shrink:0; }
.jjs-grab-layout .grab-areas { max-width:var(--grab-width); margin:48px auto; padding:32px; border:1px solid #e2ded4; border-left:4px solid var(--gold); border-radius:6px; box-shadow:none; }
.jjs-grab-layout .grab-areas h2 { font-size:clamp(26px,2.5vw,32px); line-height:1.2; margin:0 0 18px; }
.jjs-grab-layout .grab-areas p { font-size:16px; line-height:1.9; margin:14px 0 0; }
@media (max-width:1376px) { .jjs-grab-layout .grab-areas { margin-inline:var(--grab-gutter); } }
@media (max-width:1099px) {
 .jjs-grab-layout :is(.grab-intro,.grab-split) { grid-template-columns:minmax(0,1fr); }
 .jjs-grab-layout .grab-intro__image { max-width:900px; width:100%; margin-inline:auto; }
 .jjs-grab-layout .grab-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .jjs-grab-layout .grab-card { grid-column:span 2; }
 .jjs-grab-layout .grab-card:last-child { grid-column:2 / span 2; }
 .jjs-grab-layout .grab-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .jjs-grab-layout .grab-gallery picture { grid-column:span 2; }
 .jjs-grab-layout .grab-gallery picture:last-child { grid-column:2 / span 2; }
 .jjs-grab-layout .jjs-service-work__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .jjs-grab-layout .jjs-service-work__card:nth-child(n) { grid-column:span 2; }
 .jjs-grab-layout .jjs-service-work__card:last-child { grid-column:2 / span 2; }
}
@media (max-width:759px) {
 .jjs-grab-layout .grab-hero { grid-template-columns:minmax(0,1fr); }
 .jjs-grab-layout .grab-hero__inner { grid-column:1; grid-row:1; padding:38px var(--grab-gutter); }
 .jjs-grab-layout .grab-hero h1 { font-size:clamp(40px,8vw,58px); }
 .jjs-grab-layout .grab-hero p { max-width:48ch; }
 .jjs-grab-layout .grab-hero > picture { grid-column:1; grid-row:2; min-height:0; height:auto; aspect-ratio:1920 / 1440; }
 .jjs-grab-layout .grab-hero img { object-fit:contain !important; }
 .jjs-grab-layout .grab-cta__inner { flex-direction:column; align-items:stretch; }
 .jjs-grab-layout .grab-cta .gold-btn { width:100%; }
}
@media (max-width:599px) {
 .jjs-grab-layout :is(.grab-card-grid,.grab-gallery,.jjs-service-work__grid) { grid-template-columns:minmax(0,1fr); gap:18px; }
 .jjs-grab-layout .grab-card:nth-child(n),
 .jjs-grab-layout .grab-gallery picture:nth-child(n),
 .jjs-grab-layout .jjs-service-work__card:nth-child(n) { grid-column:auto; }
 .jjs-grab-layout .grab-card { padding:26px; }
 .jjs-grab-layout .grab-card__num { margin-bottom:18px; }
 .jjs-grab-layout .jjs-service-work__photo { aspect-ratio:auto; }
 .jjs-grab-layout .jjs-service-work__capture { width:100%; }
 .jjs-grab-layout .jjs-service-work__body { padding:24px; }
 .jjs-grab-layout .grab-areas { padding:24px; }
}

/* Grab-specific capacity badges and the retained Ammanford RFC work feature. */
.jjs-grab-layout .grab-badges { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:28px; }
.jjs-grab-layout .grab-badge { padding:22px 24px; border-radius:5px; box-shadow:none; font-size:16px; line-height:1.6; }
.jjs-grab-layout .jjs-service-work--single .jjs-service-work__grid { display:block; max-width:1100px; margin-inline:auto; }
.jjs-grab-layout .jjs-service-work--single .jjs-service-work__card { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; }
.jjs-grab-layout .jjs-service-work--single .jjs-service-work__photo { aspect-ratio:auto; }
.jjs-grab-layout .jjs-service-work--single .jjs-service-work__capture { width:100%; }
.jjs-grab-layout .jjs-service-work--single .jjs-service-work__body { padding:clamp(26px,4vw,48px); }
@media (min-width:600px) and (max-width:1099px) {
 .jjs-grab-layout .grab-badges { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .jjs-grab-layout .grab-badge { grid-column:span 2; }
 .jjs-grab-layout .grab-badge:last-child { grid-column:2 / span 2; }
}
@media (max-width:759px) {
 .jjs-grab-layout .jjs-service-work--single .jjs-service-work__card { display:flex; flex-direction:column; align-items:stretch; }
 .jjs-grab-layout .jjs-service-work--single .jjs-service-work__figure { width:100%; }
 .jjs-grab-layout .jjs-service-work--single .jjs-service-work__body { padding:26px; }
}
@media (max-width:599px) { .jjs-grab-layout .grab-badges { grid-template-columns:minmax(0,1fr); gap:14px; } }
