:root{
  --signal:#c8b78e;
  --signal-dark:#6f654d;
  --frontline-ink:#20271d;
  --frontline-olive:#4f5a42;
  --frontline-olive-2:#72755a;
  --frontline-olive-dark:#3e4827;
  --frontline-olive-soft:#858664;
  --frontline-olive-muted:#959770;
  --frontline-olive-mist:#949778;
  --frontline-olive-field:#899064;
  --frontline-cream:#eaecd7;
  --frontline-sand:#c8b78e;
  --frontline-sand-light:#e7dcc2;
  --frontline-canvas:#f1ead9;
  --frontline-paper:#fbf7ec;
  --frontline-red:#873b31;
  --frontline-line:rgba(31,40,28,.2);
  --frontline-display:Impact,Haettenschweiler,"Arial Narrow Bold","Arial Narrow",sans-serif;
}

body.preview-page{
  --page-heading-font:var(--frontline-display);
  color:var(--frontline-ink);
  background:
    radial-gradient(circle at 10px 10px,rgba(45,57,40,.035) 0 2px,transparent 2.4px) 0 0/34px 34px,
    var(--frontline-canvas);
}
.preview-page :focus-visible{outline:3px solid #b99757;outline-offset:3px}
.wip-ribbon{display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,42px);min-height:34px;padding:7px 20px;color:var(--frontline-cream);background:var(--frontline-olive-dark);font-size:9px;line-height:1.45;letter-spacing:.11em;text-align:center;text-transform:uppercase}
.wip-ribbon strong{flex:0 0 auto;padding:4px 12px;color:#172016;background:var(--frontline-sand);font-weight:900}
.wip-ribbon span{max-width:920px}
.wip-ribbon a{flex:0 0 auto;color:var(--frontline-sand-light);font-weight:900;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.wip-ribbon a:hover{color:#fff}
.wip-ribbon span:first-child::before{content:"●";margin-right:8px;color:#8fa07a}

.preview-header{z-index:40;grid-template-columns:140px minmax(0,1fr) auto;gap:16px;min-height:82px;padding:10px clamp(14px,2vw,30px);border-bottom:1px solid rgba(234,236,215,.3);background:rgba(79,90,66,.98);box-shadow:0 8px 25px rgba(15,20,14,.13)}
.preview-brand{width:140px;max-width:100%;padding:5px 9px;border-radius:3px;background:var(--frontline-sand-light);box-shadow:4px 4px 0 rgba(9,13,8,.32)}
.preview-brand img{height:44px}
.storefront-nav{min-width:0;gap:clamp(8px,1.1vw,18px)}
.storefront-nav>a,.storefront-nav__dropdown>a{position:relative;flex-shrink:1;color:var(--frontline-cream);font-size:clamp(8px,.72vw,10px);letter-spacing:.035em;white-space:nowrap}
.storefront-nav>a::after,.storefront-nav__dropdown>a::after{content:"";position:absolute;right:0;bottom:17px;left:0;height:2px;background:var(--frontline-sand);transform:scaleX(0);transition:transform .18s}
.storefront-nav>a:hover,.storefront-nav__dropdown>a:hover{color:#fff}
.storefront-nav>a:hover::after,.storefront-nav__dropdown>a:hover::after{transform:scaleX(1)}
.storefront-nav__panel{z-index:60;border:0;border-top:5px solid var(--frontline-sand);background:var(--frontline-paper);box-shadow:0 22px 55px rgba(9,13,8,.34)}
.storefront-nav__panel a{display:flex;align-items:center;gap:7px}.storefront-nav__panel a span{min-width:20px;font-size:15px;text-align:center}
.preview-header__actions{gap:8px;white-space:nowrap}
.account-button{display:grid;gap:1px;min-width:82px;padding:7px 9px;border:1px solid rgba(237,228,205,.38);color:#fff;font-size:10px;line-height:1.1;text-align:center}
.account-button small{display:none;color:var(--frontline-sand);font-size:7px;letter-spacing:.12em}
.basket-button{border-color:var(--frontline-sand);border-radius:3px;color:var(--frontline-ink);background:var(--frontline-sand-light);box-shadow:none;font-size:11px}
.basket-button span{color:#fff;background:var(--frontline-olive-2)}
.menu-button{display:none;width:50px;height:50px;border-color:var(--frontline-sand-light);border-radius:3px;background:var(--frontline-sand);box-shadow:4px 4px 0 #121a11}
.site-menu{border-left:8px solid var(--frontline-sand);background:var(--frontline-olive)}
.site-menu>small,.site-menu__categories summary{color:var(--frontline-sand-light)}
.site-menu__categories details{border-left-color:rgba(200,183,142,.48)}

.frontline-hero{position:relative;display:grid;min-height:clamp(610px,72vw,790px);overflow:hidden;align-items:center;color:#fff;background:var(--frontline-olive-2) url('/assets/theatre/normandy-hq-v1.png') center/cover no-repeat;isolation:isolate}
.frontline-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:rgba(226,218,193,.12);backdrop-filter:saturate(.62) contrast(.92) brightness(1.06)}
.frontline-hero__veil{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(62,72,39,.92) 0%,rgba(79,90,66,.72) 30%,rgba(79,90,66,.16) 62%,rgba(79,90,66,.04) 100%),linear-gradient(0deg,rgba(62,72,39,.4),transparent 42%)}
.frontline-hero__content{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:86px 0 110px}
.frontline-hero__content>h1{max-width:720px;margin:0;color:#fff;font-family:var(--frontline-display);font-size:clamp(62px,9vw,128px);font-weight:900;letter-spacing:.005em;line-height:.82;text-shadow:0 4px 22px rgba(0,0,0,.35);text-transform:uppercase}
.frontline-hero__content>p:not(.eyebrow){max-width:610px;margin:28px 0;color:var(--frontline-cream);font-size:clamp(16px,1.6vw,20px);line-height:1.7}
.frontline-hero .eyebrow{color:var(--frontline-sand-light)}
.frontline-hero .button-primary{border-color:var(--frontline-sand-light);color:var(--frontline-ink);background:var(--frontline-sand-light);box-shadow:6px 6px 0 var(--frontline-olive)}
.button-ghost--light{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(17,23,16,.28)}
.frontline-hero__facts{display:flex;max-width:680px;flex-wrap:wrap;gap:0;margin:42px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.3);list-style:none}
.frontline-hero__facts li{display:grid;min-width:170px;gap:4px;padding:17px 28px 0 0}
.frontline-hero__facts strong{color:var(--frontline-sand-light);font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.frontline-hero__facts span{color:rgba(255,255,255,.78);font-size:11px}
.frontline-hero__caption{position:absolute;right:22px;bottom:17px;margin:0;padding:7px 10px;color:rgba(255,255,255,.68);background:rgba(19,25,18,.58);font-size:9px;letter-spacing:.05em}
.field-divider{position:relative;z-index:3;height:0;pointer-events:none}
.field-divider img{position:absolute;left:50%;bottom:-35px;width:min(1120px,95vw);height:auto;opacity:.57;filter:grayscale(.28) sepia(.12) saturate(.65);transform:translateX(-50%)}
.field-kit-strip{height:72px;margin-top:-1px;border-block:1px solid rgba(31,40,28,.16);background:rgba(231,220,194,.88) url('/assets/theatre/field-kit-strip.svg') center/auto 62px repeat-x;opacity:.64;mix-blend-mode:multiply}

.preview-section{background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px) 0 0/42px 42px,var(--frontline-olive)}
.catalogue-section{padding-top:105px;padding-bottom:110px}
.section-heading{align-items:flex-end}
.section-heading>div>p:last-child{max-width:580px;margin:12px 0 0;color:rgba(234,236,215,.78);font-size:14px;line-height:1.6}
.section-heading h2{font-family:var(--frontline-display);letter-spacing:.01em}
.prototype-label{border-color:rgba(234,236,215,.42);color:var(--frontline-cream)}
.catalogue-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:24px;padding-bottom:3px}
.catalogue-filters a{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;min-height:56px;padding:9px 12px;border:1px solid rgba(234,236,215,.3);border-radius:2px;color:var(--frontline-cream);background:rgba(62,72,39,.24);font-size:9px;line-height:1.25}
.catalogue-filters a strong{font-weight:900}
.category-symbol{display:grid;width:34px;height:34px;border:1px solid rgba(255,255,255,.35);border-radius:50%;place-items:center;background:rgba(255,255,255,.09);font-size:18px;line-height:1}
.catalogue-filters a:hover,.catalogue-filters a.active{border-color:var(--frontline-cream);color:var(--frontline-ink);background:var(--frontline-cream)}
.catalogue-filters a:hover .category-symbol,.catalogue-filters a.active .category-symbol{border-color:rgba(32,39,29,.25);background:rgba(255,255,255,.45)}
.catalogue-tools{margin:0 0 30px;border:1px solid rgba(255,255,255,.19);background:rgba(10,16,9,.18)}
.catalogue-tools>summary{padding:15px 18px;color:var(--frontline-cream);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.catalogue-tools>summary::marker{color:var(--frontline-sand)}
.catalogue-sort{grid-template-columns:minmax(210px,1.4fr) repeat(4,minmax(95px,.5fr)) minmax(190px,.75fr) auto auto;margin:0;padding:18px;border-top:1px solid rgba(255,255,255,.13)}
.catalogue-sort label{display:grid;gap:6px;white-space:normal;color:rgba(255,255,255,.75);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.catalogue-sort input,.catalogue-sort select{min-height:44px;border:0;border-radius:2px;background:#faf6eb}
.catalogue-sort .catalogue-stock{display:flex;align-items:center;gap:9px}
.catalogue-sort .catalogue-stock input{width:18px;min-height:18px}
.catalogue-sort .button-primary{min-height:44px;border-color:var(--frontline-sand);color:var(--frontline-ink);background:var(--frontline-sand-light);box-shadow:none}
.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-card{border:0;border-radius:3px;background:var(--frontline-paper);box-shadow:0 16px 38px rgba(7,11,6,.24);transition:transform .2s,box-shadow .2s}
.product-card:hover{box-shadow:0 22px 46px rgba(7,11,6,.34);transform:translateY(-5px)}
.product-card__image,.product-card__image img{background:#fff}
.product-card__body{padding:20px 20px 22px}
.product-card__code{color:var(--frontline-red)}
.product-card h3{font-size:22px}
.product-card__foot a{color:var(--frontline-red)}
.product-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.product-card__add{margin:0}.product-card__add .button-primary{min-height:34px;padding:8px 12px;border-color:var(--frontline-olive-dark);color:#fff;background:var(--frontline-olive-dark);box-shadow:3px 3px 0 var(--frontline-sand);font-size:9px;line-height:1;text-transform:uppercase}.product-card__add .button-primary:hover{background:#2f3829}.product-card__add .button-primary[aria-busy="true"]{opacity:.72}
.product-rating{color:#7b6840}
.field-stock-flag{border-style:solid;border-color:#ece2cb;background:var(--frontline-red);box-shadow:3px 3px 0 rgba(25,31,22,.32)}
.catalogue-empty{grid-column:1/-1;padding:52px;border:1px solid rgba(255,255,255,.2);color:#fff;text-align:center}
.catalogue-empty h3{font-size:32px}
.catalogue-empty .button-ghost{border-color:#fff;color:#fff}

.collection-banner{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);min-height:720px;gap:clamp(40px,7vw,110px);padding:75px max(22px,calc((100vw - 1180px)/2));background:radial-gradient(circle at 15% 20%,rgba(51,62,45,.055) 0 3px,transparent 3px) 0 0/32px 32px,var(--frontline-cream)}
.collection-banner__sign{align-self:center;text-align:center}
.collection-banner__sign img{width:min(480px,100%);height:auto;opacity:.79;filter:grayscale(.38) sepia(.12) saturate(.58);mix-blend-mode:multiply}
.collection-banner__copy>p:not(.eyebrow){max-width:620px;margin:20px 0 30px;color:#4f554a;line-height:1.7}
.collection-banner h2{font-family:var(--frontline-display);font-size:clamp(50px,7vw,88px);line-height:.9}
.theatre-links{grid-template-columns:repeat(2,1fr);gap:10px}
.theatre-links a{display:grid;gap:5px;min-height:92px;align-content:center;padding:16px 18px;border:1px solid rgba(23,32,22,.4);background:rgba(255,255,255,.33);font-family:var(--frontline-display);font-size:25px}
.theatre-links a:last-child{grid-column:1/-1}
.theatre-links a span{font-family:ui-monospace,monospace;font-size:8px;letter-spacing:.12em}
.theatre-links a:hover{background:var(--frontline-olive)}

.campaign-map{padding:95px max(22px,calc((100vw - 1180px)/2)) 105px;color:var(--frontline-ink);background:var(--frontline-cream)}
.campaign-map>header{max-width:760px;margin-bottom:38px}
.campaign-map>header h2,.reports-hero h1,.squad-builder-hero h1{margin:0;font-family:var(--frontline-display);font-size:clamp(54px,8vw,96px);font-weight:900;letter-spacing:.01em;line-height:.88;text-transform:uppercase}
.campaign-map>header>p:last-child{max-width:650px;color:#545b4d;line-height:1.65}
.campaign-map__layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);min-height:620px;border:1px solid rgba(32,39,29,.35);background:#d8cba9;box-shadow:18px 20px 0 rgba(63,72,52,.14)}
.campaign-map__board{position:relative;min-height:620px;overflow:hidden;border-right:1px solid rgba(32,39,29,.3);background:#cbbc91}
.campaign-map__chart{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.34) saturate(.82) contrast(1.04);opacity:1}
.campaign-map__board::before{content:"";position:absolute;z-index:1;inset:0;opacity:.16;background:repeating-linear-gradient(8deg,transparent 0 53px,rgba(53,65,43,.2) 54px 55px),repeating-linear-gradient(98deg,transparent 0 74px,rgba(53,65,43,.15) 75px 76px);pointer-events:none}
.campaign-map__board::after{content:"FRONTLINE FIGURES // THEATRE MAP";position:absolute;right:20px;bottom:16px;color:rgba(32,39,29,.45);font:800 9px ui-monospace,monospace;letter-spacing:.14em}
.campaign-map__routes{position:absolute;z-index:1;inset:0;background:linear-gradient(31deg,transparent 46%,rgba(126,61,49,.18) 46.4% 46.8%,transparent 47.2%),linear-gradient(148deg,transparent 54%,rgba(126,61,49,.15) 54.4% 54.8%,transparent 55.2%);pointer-events:none}
.campaign-marker{position:absolute;z-index:2;left:var(--map-x);top:var(--map-y);display:grid;grid-template-columns:34px auto;align-items:center;gap:8px;padding:7px 10px 7px 7px;border:1px solid rgba(32,39,29,.46);border-radius:2px;color:var(--frontline-ink);background:rgba(247,241,221,.9);box-shadow:4px 5px 0 rgba(39,47,33,.2);font:900 9px Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase;transform:translate(-50%,-50%);cursor:pointer;transition:transform .18s,background .18s}
.campaign-marker span{display:grid;width:34px;height:34px;border-radius:50%;place-items:center;color:#fff;background:var(--frontline-olive);font-size:17px}
.campaign-marker:hover,.campaign-marker.is-active{color:#fff;background:var(--frontline-olive);transform:translate(-50%,-50%) scale(1.08)}
.campaign-marker.is-active span{color:var(--frontline-ink);background:var(--frontline-sand-light)}
.campaign-map__briefing{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:36px;background:rgba(248,243,228,.91)}
.campaign-map__briefing img{width:170px;max-height:210px;margin:0 auto 25px;object-fit:contain;opacity:.6;filter:grayscale(.65) sepia(.15) saturate(.55);mix-blend-mode:multiply}
.campaign-map__briefing h3{margin:0 0 14px;font-family:var(--frontline-display);font-size:42px;line-height:.95;text-transform:uppercase}
.campaign-map__briefing>p:not(.eyebrow){margin:0 0 25px;color:#51584b;line-height:1.65}

.field-gallery{padding:95px max(22px,calc((100vw - 1180px)/2));background:#f8f3e6}
.field-gallery>header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.field-gallery>header h2,.reports-gallery h2,.reports-list h2{margin:0;font-family:var(--frontline-display);font-size:clamp(46px,7vw,76px);line-height:.9;text-transform:uppercase}
.field-gallery>header p:last-child{color:#596052}
.field-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.field-gallery__card,.reports-photo{position:relative;display:block;min-height:330px;overflow:hidden;color:#fff;background:var(--frontline-olive)}
.field-gallery__card img,.reports-photo img{width:100%;height:100%;min-height:330px;object-fit:cover;transition:transform .25s,filter .25s}
.field-gallery__card::after,.reports-photo::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(22,28,19,.9))}
.field-gallery__card>span,.reports-photo>span{position:absolute;z-index:2;right:0;bottom:0;left:0;display:grid;gap:5px;padding:25px 20px}
.field-gallery__card small,.reports-photo small{color:var(--frontline-sand-light)}
.field-gallery__card:hover img,.reports-photo:hover img{filter:saturate(.8);transform:scale(1.035)}
.field-gallery__empty{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;min-height:180px;padding:30px;border:1px solid var(--frontline-line);background:var(--frontline-canvas)}
.field-gallery__empty>span{color:rgba(70,81,58,.22);font-size:70px}
.field-gallery__empty h3{margin:0 0 7px;font-size:24px}
.field-gallery__empty p{margin:0;color:#5d6356;line-height:1.6}

.field-services{padding:95px max(22px,calc((100vw - 1180px)/2)) 110px;background:var(--frontline-paper)}
.field-services>header{max-width:720px;margin-bottom:40px}
.field-services>header h2{margin:0;font-family:var(--frontline-display);font-size:clamp(48px,7vw,82px);line-height:.95}
.field-services>header>p:last-child{color:#596052;line-height:1.6}
.field-services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.field-services__grid article{position:relative;min-height:290px;padding:34px 30px;overflow:hidden;border:1px solid var(--frontline-line);background:var(--frontline-canvas)}
.field-services__grid article>span{position:absolute;right:16px;top:4px;color:rgba(45,57,40,.08);font-family:var(--frontline-display);font-size:110px}
.field-services__grid h3{margin:0 0 14px;font-size:26px}
.field-services__grid article>p:not(.eyebrow){color:#565d50;line-height:1.65}
.field-services__grid a{position:absolute;bottom:28px;left:30px;color:var(--frontline-red);font-size:10px;font-weight:900;text-decoration:none;text-transform:uppercase}

.squad-builder-page{background:var(--frontline-canvas)}
.squad-builder-hero,.reports-hero{padding:90px max(22px,calc((100vw - 1180px)/2));color:#fff;background:linear-gradient(105deg,rgba(62,72,39,.97),rgba(79,90,66,.88)),url('/assets/theatre/normandy-hq-v1.png') center 42%/cover}
.squad-builder-hero>p:not(.eyebrow),.reports-hero>p:not(.eyebrow){max-width:690px;margin:24px 0;color:#eee6d2;font-size:17px;line-height:1.7}
.squad-builder-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:28px;width:min(1320px,calc(100% - 44px));margin:0 auto;padding:60px 0 105px;align-items:start}
.squad-builder-tools{display:grid;grid-template-columns:1.4fr .8fr;gap:14px;margin-bottom:20px;padding:18px;background:var(--frontline-olive)}
.squad-builder-tools label{display:grid;gap:7px;color:#fff;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.squad-builder-tools input,.squad-builder-tools select{min-height:46px;padding:10px 12px;border:0;background:#fffdf6;font:inherit}
.squad-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.squad-product{display:grid;grid-template-columns:145px 1fr;min-height:205px;overflow:hidden;border:1px solid var(--frontline-line);background:var(--frontline-paper);box-shadow:0 10px 25px rgba(39,47,33,.08);transition:box-shadow .18s,transform .18s}
.squad-product.is-added{box-shadow:0 0 0 4px #7c9367,0 14px 30px rgba(39,47,33,.18);transform:translateY(-2px)}
.squad-product__image{display:block;background:#fff}
.squad-product__image img,.squad-product__image>span{display:grid;width:100%;height:100%;min-height:205px;place-items:center;object-fit:cover;background:#fff;color:var(--frontline-olive);font-size:32px;font-weight:900}
.squad-product>div{display:flex;align-items:flex-start;flex-direction:column;padding:18px}
.squad-product small{color:var(--frontline-red);font:800 8px ui-monospace,monospace;letter-spacing:.08em}
.squad-product h2{margin:7px 0 10px;font-size:18px;line-height:1.2}
.squad-product h2 a{text-decoration:none}
.squad-product p{display:flex;justify-content:space-between;gap:8px;width:100%;margin:auto 0 12px;font-size:11px}
.squad-product p strong{font-size:17px}.squad-product p span{color:#697061}
.squad-product .button-primary{width:100%;min-height:40px;justify-content:center;padding:8px;font-size:9px;box-shadow:none}
.squad-product .button-primary:disabled{opacity:.45;cursor:not-allowed}
.squad-no-results{padding:35px;border:1px solid var(--frontline-line);background:var(--frontline-paper)}
.squad-roster{position:sticky;top:118px;padding:27px;border-top:7px solid var(--frontline-sand);background:var(--frontline-olive);box-shadow:0 18px 40px rgba(39,47,33,.24);color:#fff}
.squad-roster__heading{display:flex;align-items:start;justify-content:space-between;gap:15px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.2)}
.squad-roster__heading h2{margin:0;font-family:var(--frontline-display);font-size:40px;text-transform:uppercase}.squad-roster__heading>span{padding:6px 8px;color:var(--frontline-ink);background:var(--frontline-sand-light);font-size:9px;font-weight:900;text-transform:uppercase}
.squad-roster__empty{display:grid;gap:6px;padding:35px 0;color:rgba(255,255,255,.66)}
.squad-roster__lines{max-height:440px;overflow:auto}
.squad-roster-line{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.squad-roster-line strong,.squad-roster-line small{display:block}.squad-roster-line strong{font-size:12px}.squad-roster-line small{margin-top:4px;color:var(--frontline-sand-light);font-size:7px;letter-spacing:.08em}
.squad-roster-line__controls{display:flex;align-items:center;gap:5px}.squad-roster-line__controls button{display:grid;width:27px;height:27px;padding:0;border:1px solid rgba(255,255,255,.35);place-items:center;color:#fff;background:transparent;cursor:pointer}.squad-roster-line__controls button:disabled{opacity:.3}.squad-roster-line__controls .squad-roster-line__remove{margin-left:4px;color:#fff;background:#793b33}.squad-roster-line__controls span{min-width:20px;text-align:center}
.squad-roster__total{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:13px}.squad-roster__total strong{font-size:21px}
.squad-roster form .button-primary,.squad-roster>.button-ghost{justify-content:center;width:100%;margin-bottom:10px}.squad-clear{width:100%;padding:8px;border:0;color:rgba(255,255,255,.7);background:transparent;text-decoration:underline;cursor:pointer}.squad-copy-notice{min-height:16px;margin:5px 0 0;color:var(--frontline-sand-light);font-size:10px;text-align:center}
.squad-roster button:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}

.reports-page{background:var(--frontline-canvas)}
.reports-gallery,.reports-list{padding:80px max(22px,calc((100vw - 1180px)/2))}
.reports-gallery{background:var(--frontline-olive)}
.reports-gallery .section-heading{color:#fff}.reports-gallery .section-heading>div>p:last-child{color:rgba(255,255,255,.7)}
.reports-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.reports-list{background:var(--frontline-canvas)}
.reports-list .section-heading{color:var(--frontline-ink)}.reports-list .prototype-label{border-color:var(--frontline-line);color:#5a6153}
.reports-list__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.reports-list__grid article{padding:26px;border-top:5px solid var(--frontline-sand);background:var(--frontline-paper);box-shadow:0 12px 28px rgba(39,47,33,.08)}
.reports-list__grid article>div{display:flex;justify-content:space-between;gap:14px}.reports-list__grid article>div strong{color:#88713f}.reports-list__grid article>div small{color:#6d7266}
.reports-list__grid .eyebrow{margin:20px 0 8px}.reports-list__grid h3{margin:0 0 12px;font-size:22px}.reports-list__grid p:not(.eyebrow){color:#555c4f;line-height:1.65}.reports-list__grid a{color:var(--frontline-red);font-size:10px;font-weight:900;text-transform:uppercase}

.product-page{padding:42px 0 52px}
.breadcrumbs{padding:11px 14px;border-left:4px solid var(--frontline-sand);background:rgba(255,255,255,.42)}
.product-detail{gap:clamp(38px,6vw,80px)}
.product-gallery__stage{border-color:var(--frontline-olive);background:#fff;box-shadow:15px 17px 0 rgba(48,58,41,.15)}
.product-gallery__slide,.product-gallery__slide img{background:#fff}
.product-gallery__thumb.is-active{border-color:#9b8352}
.product-detail__copy{top:125px;padding:32px;border:1px solid var(--frontline-line);background:rgba(251,247,236,.88);box-shadow:0 18px 45px rgba(41,53,40,.1);backdrop-filter:blur(8px)}
.product-detail__copy h1{font-family:var(--frontline-display);font-size:clamp(42px,5vw,66px);line-height:.98}
.product-price{color:var(--frontline-olive);font-family:var(--frontline-display)}
.product-options,.stock-alert-box,.field-report-form{border-radius:2px;background:var(--frontline-sand-light)}
.product-share a,.product-share button{display:grid;width:42px;height:42px;padding:8px;border-radius:2px;place-items:center;color:var(--frontline-olive);background:#faf6eb}
.product-share a:hover,.product-share button:hover{color:#fff;background:var(--frontline-olive)}
.product-share svg{width:22px;height:22px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-share span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.related-products,.field-reports{width:min(1180px,calc(100% - 44px))}
.related-products .section-heading,.field-reports .section-heading{color:var(--frontline-ink)}
.related-products .section-heading .eyebrow,.field-reports .section-heading .eyebrow{color:var(--frontline-red)}
.field-reports .prototype-label{border-color:var(--frontline-line);color:#62695d}
.related-products .catalogue-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.field-reports{padding:0;margin-top:85px;margin-bottom:0}
.field-reports-grid{gap:35px}
.field-report-list>p{margin:0}
.field-report{border-color:var(--frontline-line)}
.field-report__photo{display:block;margin:-22px -22px 20px}.field-report__photo img{display:block;width:100%;max-height:430px;object-fit:cover}
.field-report-form h3{margin-top:0}.field-report-reward{margin:0 0 18px;padding:12px 14px;border-left:4px solid var(--frontline-mud,#76583f);background:#e9dfc9;color:#554333;line-height:1.5}
.field-report-ineligible{margin:0;color:#5f594f;line-height:1.55}
.product-page>.back-to-catalogue{display:flex;width:fit-content;align-items:center;justify-content:center;margin:24px auto 0;padding:12px 18px;border:2px solid #55402f;border-radius:3px;color:#fff;background:#76583f;box-shadow:4px 5px 0 #c8b78e;font-size:11px;font-weight:900;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;transition:transform .15s ease,box-shadow .15s ease}
.product-page>.back-to-catalogue:hover{color:#fff;background:#654934;transform:translateY(-1px);box-shadow:5px 6px 0 #c8b78e}
.field-report-form input[type="file"]{padding:10px;border:1px solid var(--frontline-line);background:#fff}
.field-stock-flag,.rc-briefing-label{font-family:var(--frontline-display)}

.commerce-shell{min-height:72vh}
.commerce-steps{display:grid;grid-template-columns:repeat(4,1fr);width:min(760px,100%);margin:0 auto 46px;padding:0;list-style:none}
.commerce-steps li{position:relative;color:#797d72;font-size:9px;font-weight:900;letter-spacing:.09em;text-align:center;text-transform:uppercase}
.commerce-steps li::before{content:"";position:absolute;z-index:-1;top:15px;right:50%;left:-50%;height:2px;background:#cec7b6}
.commerce-steps li:first-child::before{display:none}
.commerce-step__item{display:grid;justify-items:center;gap:8px;width:100%;color:inherit;text-align:center;text-decoration:none}.commerce-step__number{display:grid;width:32px;height:32px;border:2px solid #b5af9f;border-radius:50%;place-items:center;background:var(--frontline-canvas);font-size:11px}.commerce-step__label{display:block;width:100%;text-align:center}
.commerce-steps a.commerce-step__item:hover,.commerce-steps a.commerce-step__item:focus-visible{color:#4d5d43}.commerce-steps a.commerce-step__item:hover .commerce-step__number,.commerce-steps a.commerce-step__item:focus-visible .commerce-step__number{box-shadow:0 0 0 5px rgba(61,74,54,.16);transform:translateY(-1px)}
.commerce-steps li.is-complete,.commerce-steps li.is-current{color:var(--frontline-olive)}
.commerce-steps li.is-complete::before,.commerce-steps li.is-current::before{background:var(--frontline-olive-2)}
.commerce-steps li.is-complete .commerce-step__number{color:#fff;border-color:var(--frontline-olive-2);background:var(--frontline-olive-2)}
.commerce-steps li.is-current .commerce-step__number{border-color:var(--frontline-olive-2);box-shadow:0 0 0 5px rgba(61,74,54,.12)}
.commerce-heading{position:relative;padding-left:22px;border-left:6px solid var(--frontline-sand)}
.commerce-heading h1{font-family:var(--frontline-display);letter-spacing:.01em}
.cart-lines,.checkout-form,.order-summary,.checkout-upsell,.commerce-empty,.account-stats article,.account-card,.saved-cards-panel,.sumup-payment-card{border:1px solid var(--frontline-line);border-radius:2px;background:var(--frontline-paper);box-shadow:0 15px 38px rgba(41,53,40,.09)}
.order-summary{border-top:6px solid var(--frontline-olive)}
.checkout-upsell{border-left-color:var(--frontline-sand)}
.account-stats article{position:relative;min-height:155px;overflow:hidden}
.account-stats article::after{content:"★";position:absolute;right:13px;bottom:-20px;color:rgba(41,53,40,.055);font-family:var(--frontline-display);font-size:98px}
.account-stats strong{color:var(--frontline-olive);font-family:var(--frontline-display)}
.campaign-star-card{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:35px;margin:0 0 25px;padding:30px 38px;border:1px solid var(--frontline-line);border-top:6px solid var(--frontline-olive);background:linear-gradient(110deg,#f8f1de,#ece1c6);box-shadow:0 15px 38px rgba(41,53,40,.09)}
.campaign-star-card h2{margin:3px 0 10px;font-family:var(--frontline-display);font-size:32px;text-transform:uppercase}.campaign-star-card p:not(.eyebrow){max-width:650px;color:#565d50;line-height:1.6}.campaign-star-meter{position:relative;display:grid;width:170px;height:170px;place-items:center}.campaign-star-meter span,.campaign-star-meter b{position:absolute;color:rgba(70,81,58,.16);font-size:170px;line-height:1}.campaign-star-meter b{color:#66784f;clip-path:inset(calc(100% - var(--star-fill)) 0 0 0)}
.campaign-star-track{height:10px;margin:14px 0 18px;overflow:hidden;border:1px solid rgba(48,58,41,.25);background:#d8cfb8}.campaign-star-track i{display:block;height:100%;background:linear-gradient(90deg,#566948,#7e8f63)}.campaign-star-codes{display:grid;gap:7px;margin-top:20px}.campaign-star-codes code{width:max-content;max-width:100%;padding:7px 9px;background:#fff;border:1px dashed #687558;overflow-wrap:anywhere}.campaign-star-codes code.is-used{opacity:.48;text-decoration:line-through}
.account-card{border-top:5px solid var(--frontline-sand)}
.account-card h2{font-family:var(--frontline-display)}
.saved-address,.account-wishlist article{border-radius:2px;background:#f6f0e2}
.saved-address.is-default{border-color:#667357;background:#eef0e6}
.account-form input,.account-form select,.checkout-fields input,.checkout-fields textarea,.contact-form input,.contact-form textarea{border-radius:2px;background:#fff}
.commerce-alert{border-left-color:var(--frontline-red);background:#f8eade}
.commerce-alert--success{border-left-color:#5f7456;background:#eef3e9}
.backorder-warning{border-left-color:#b36a16!important;background:#fff1d6!important}.line-backorder{display:block;margin:.45rem 0;color:#8b4810;font-size:.78rem;font-weight:800}.gift-box-upsell{display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:clamp(24px,5vw,64px);align-items:center;margin:36px 0;padding:clamp(24px,4vw,48px);border:2px solid #4d5d3f;background:#eee5cb}.gift-box-upsell img,.gift-box-offer img{width:100%;max-width:260px;aspect-ratio:1;object-fit:cover;border:8px solid #47533d}.gift-box-upsell form{margin-top:18px}.gift-box-offer img{max-width:150px;margin-bottom:12px}.order-summary .line-backorder{max-width:220px}.checkout-upsell.gift-box-offer{align-items:center}
@media(max-width:780px){.gift-box-upsell{grid-template-columns:1fr;margin-bottom:0}.gift-box-upsell img{max-width:100%}.gift-box-upsell+.related-products{margin-top:36px}.product-page .related-products{margin-bottom:0}.related-products+.field-reports{margin-top:36px}}
.contact-page{background:linear-gradient(rgba(70,81,58,.91),rgba(48,58,41,.95)),url('/assets/theatre/normandy-hq-v1.png') center/cover fixed}
.contact-shell{border-radius:2px;background:rgba(241,234,217,.97)}
.contact-shell h1{font-family:var(--frontline-display)}
.contact-form{padding-top:26px;border-top:1px solid var(--frontline-line)}

.site-footer--preview{display:block;width:100%;padding:70px max(22px,calc((100vw - 1180px)/2)) 25px;color:rgba(234,236,215,.8);background:linear-gradient(rgba(234,236,215,.03) 1px,transparent 1px) 0 0/38px 38px,var(--frontline-olive-dark)}
.site-footer--preview::before{content:"";display:block;height:52px;margin:-70px calc(-1 * max(22px,calc((100vw - 1180px)/2))) 52px;background:url('/assets/theatre/field-kit-strip.svg') center/auto 50px repeat-x;filter:invert(1);opacity:.1}
.site-footer__inner{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(120px,.55fr));gap:clamp(28px,5vw,70px)}
.site-footer__brand img{width:180px;height:auto;padding:8px;background:var(--frontline-sand-light)}
.site-footer__brand p{max-width:350px;margin:20px 0 0;font-family:Inter,sans-serif;font-size:12px;letter-spacing:0;line-height:1.7;text-transform:none}
.site-footer nav{display:grid;align-content:start;gap:12px}
.site-footer nav strong{margin-bottom:7px;color:var(--frontline-sand-light);font-size:10px;letter-spacing:.15em}
.site-footer nav a{font-family:Inter,sans-serif;font-size:12px;letter-spacing:0;text-decoration:none;text-transform:none}
.site-footer nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.site-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:55px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:8px;letter-spacing:.12em}

@media(max-width:1380px) and (min-width:821px){
  .preview-header{grid-template-columns:140px minmax(0,1fr) auto;gap:14px;padding-inline:18px}
  .preview-brand img{height:44px}
  .storefront-nav{min-width:0;gap:12px}
  .storefront-nav>a,.storefront-nav__dropdown>a{font-size:9px;letter-spacing:.04em}
  .storefront-nav__dropdown>a span{margin-left:4px;font-size:13px}
  .preview-header__actions{gap:8px;white-space:nowrap}
  .account-button{min-width:82px;padding:7px 9px;font-size:10px}
  .account-button small{display:none}
  .basket-button{padding:10px 11px;font-size:10px}
}
@media(max-width:1100px){
  .preview-header{grid-template-columns:140px minmax(0,1fr) auto}.storefront-nav{gap:10px}.storefront-nav>a,.storefront-nav__dropdown>a{font-size:9px}.account-button small{display:none}
  .catalogue-sort{grid-template-columns:repeat(3,1fr)}.catalogue-search,.catalogue-order{grid-column:span 2}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-products .catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .field-services__grid{grid-template-columns:repeat(2,1fr)}.squad-builder-shell{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.squad-product-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .preview-header{grid-template-columns:135px 1fr auto;gap:12px}.storefront-nav{display:none}.menu-button{display:grid}.account-button{display:none}.preview-brand img{height:44px}
  .frontline-hero{min-height:680px;background-position:63% center}.frontline-hero__veil{background:linear-gradient(90deg,rgba(18,24,17,.93),rgba(18,24,17,.71) 56%,rgba(18,24,17,.18))}.frontline-hero__content{align-self:end;padding:90px 0 85px}.frontline-hero__content>h1{font-size:clamp(58px,14vw,92px)}.frontline-hero__caption{display:none}.frontline-hero__facts{margin-top:30px}
  .field-divider img{bottom:-22px}.collection-banner{grid-template-columns:1fr;min-height:0}.collection-banner__sign img{max-height:390px;width:auto}.field-services__grid{grid-template-columns:1fr}.field-services__grid article{min-height:240px}.field-services__grid a{position:static;display:inline-block;margin-top:16px}
  .product-detail{grid-template-columns:1fr}.product-detail__copy{position:static}.related-products .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__inner{grid-template-columns:1.2fr 1fr 1fr}.site-footer__brand{grid-column:1/-1}
  .campaign-map__layout{grid-template-columns:1fr}.campaign-map__board{min-height:560px;border-right:0;border-bottom:1px solid rgba(32,39,29,.3)}.campaign-map__briefing img{width:130px}.field-gallery__grid,.reports-gallery__grid,.reports-list__grid{grid-template-columns:repeat(2,1fr)}.squad-builder-shell{grid-template-columns:1fr}.squad-roster{position:static;grid-row:1}.squad-product-grid{grid-template-columns:repeat(2,1fr)}.squad-product{grid-template-columns:1fr}.squad-product__image img,.squad-product__image>span{height:220px;min-height:0}
}
@media(max-width:600px){
  .wip-ribbon{justify-content:space-between;gap:6px 10px;padding:8px 12px;flex-wrap:wrap;font-size:7px;letter-spacing:.08em}.wip-ribbon strong{padding-inline:8px}.wip-ribbon span{order:3;flex:1 0 100%}.preview-header{grid-template-columns:112px 1fr auto;padding-inline:14px}.preview-brand{padding:4px 6px}.preview-brand img{height:38px}.basket-button{padding:9px 10px;font-size:9px}.menu-button{width:44px;height:44px;padding:10px}
  .frontline-hero{min-height:650px;background-position:68% center}.frontline-hero__content{width:calc(100% - 32px);padding-bottom:62px}.frontline-hero__content>h1{font-size:clamp(50px,16vw,72px)}.frontline-hero__content>p:not(.eyebrow){font-size:15px}.hero-actions{display:grid}.hero-actions a{justify-content:center}.frontline-hero__facts{display:grid;grid-template-columns:1fr 1fr}.frontline-hero__facts li{min-width:0;padding-right:12px}
  .catalogue-section{padding-inline:16px}.section-heading{align-items:flex-start;flex-direction:column}.catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-filters a{grid-template-columns:30px 1fr;min-height:52px;padding:7px}.category-symbol{width:29px;height:29px;font-size:15px}.catalogue-sort{grid-template-columns:1fr}.catalogue-search,.catalogue-order{grid-column:auto}.catalogue-grid{grid-template-columns:1fr}.product-card h3{font-size:21px}.product-card__image{width:100%;aspect-ratio:1/1}.product-card__image img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
  .collection-banner,.field-services{padding-inline:18px}.collection-banner__sign img{max-height:320px}.theatre-links{grid-template-columns:1fr}.theatre-links a:last-child{grid-column:auto}.field-services__grid article{padding:27px 24px}
  .product-page,.related-products,.field-reports{width:calc(100% - 28px)}.product-detail__copy{padding:24px 20px}.related-products .catalogue-grid{grid-template-columns:1fr}.related-products+.field-reports{margin-top:28px}.field-reports{margin-bottom:0}.field-reports .section-heading{gap:10px;margin-bottom:18px}.field-reports-grid{gap:18px}.field-report-form{padding:20px}.product-page>.back-to-catalogue{margin-top:20px}.account-stats{grid-template-columns:1fr}.campaign-star-card{grid-template-columns:1fr;padding:25px 20px}.campaign-star-meter{margin:auto}.site-footer__inner{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1/-1}.site-footer__base{display:grid}
  .campaign-map,.field-gallery,.reports-gallery,.reports-list{padding-inline:16px}.campaign-map__board{min-height:600px}.campaign-marker{grid-template-columns:28px auto;padding:5px 8px 5px 5px;font-size:7px}.campaign-marker span{width:28px;height:28px;font-size:14px}.campaign-map__briefing{padding:28px 22px}.field-gallery>header{align-items:flex-start;flex-direction:column}.field-gallery__grid,.reports-gallery__grid,.reports-list__grid{grid-template-columns:1fr}.field-gallery__empty{grid-template-columns:1fr;text-align:left}.field-gallery__empty>span{display:none}.squad-builder-shell{width:calc(100% - 28px);padding-top:30px}.squad-builder-tools{grid-template-columns:1fr}.squad-product-grid{grid-template-columns:1fr}.squad-product{grid-template-columns:120px 1fr}.squad-product__image img,.squad-product__image>span{height:100%;min-height:205px}.squad-roster{padding:22px}.squad-builder-hero,.reports-hero{padding-inline:18px}
}
.storefront-command-search{position:relative;z-index:22;margin:0;padding:14px max(20px,calc((100vw - 1240px)/2));border:0;border-top:1px solid rgba(234,236,215,.2);background:#72755a;box-shadow:0 8px 22px rgba(29,36,22,.16)}
.storefront-command-search__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.storefront-command-search label{display:grid;gap:5px;color:#eaecd7;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.storefront-command-search input{width:100%;height:50px;padding:0 18px;border:2px solid rgba(234,236,215,.65);border-radius:3px;color:#20251c;background:#fffdf6;font:700 16px/1.2 var(--frontline-body,Arial,sans-serif);text-align:center;box-shadow:inset 0 2px 0 rgba(79,90,66,.08)}
.storefront-command-search input:focus{outline:3px solid #eaecd7;outline-offset:2px;border-color:#3e4827}
.storefront-command-search button{height:50px;padding:0 24px;border:2px solid #eaecd7;border-radius:3px;color:#eaecd7;background:#3e4827;font-weight:900;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.storefront-command-search button:hover{color:#3e4827;background:#eaecd7}.storefront-command-search button span{font-size:20px;vertical-align:-1px}
@media(max-width:650px){.storefront-command-search{padding:11px 14px}.storefront-command-search__inner{grid-template-columns:minmax(0,1fr) auto;gap:7px}.storefront-command-search label span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.storefront-command-search input{height:46px;padding:0 12px;font-size:14px}.storefront-command-search button{height:46px;padding:0 13px;font-size:12px}.storefront-command-search button span{display:none}}
.storefront-search-results{position:absolute;z-index:90;top:calc(100% + 7px);left:0;right:112px;max-height:min(520px,70vh);overflow:auto;border:2px solid #4b5638;border-radius:5px;background:#fffdf6;box-shadow:0 18px 40px rgba(15,20,12,.3)}.storefront-search-results[hidden]{display:none}.storefront-search-result{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #dedcca;color:#20251c;text-decoration:none;text-transform:none;letter-spacing:0}.storefront-search-result:last-child{border-bottom:0}.storefront-search-result:hover,.storefront-search-result.is-active{background:#eef0df}.storefront-search-result img,.storefront-search-result__placeholder{display:grid;width:54px;height:54px;place-items:center;border:1px solid #d7d5c7;border-radius:4px;object-fit:contain;background:#fff;font-weight:900}.storefront-search-result>span:nth-child(2){display:grid;gap:3px}.storefront-search-result strong{font-size:15px;line-height:1.2}.storefront-search-result small{color:#6c705f;font-size:11px}.storefront-search-result b{font-size:15px}.storefront-search-empty{padding:18px;color:#5e6454;text-align:center;font-weight:700;text-transform:none;letter-spacing:0}@media(max-width:650px){.storefront-search-results{right:0}.storefront-search-result{grid-template-columns:44px minmax(0,1fr) auto;padding:8px}.storefront-search-result img,.storefront-search-result__placeholder{width:44px;height:44px}}
.product-gallery__slide>.product-video-watermark{position:absolute;z-index:3;inset:50% auto auto 50%;display:block;width:var(--video-watermark-scale,100%);height:var(--video-watermark-scale,100%);aspect-ratio:1;object-fit:contain;opacity:var(--video-watermark-opacity,.5);transform:translate(-50%,-50%);transform-origin:center;pointer-events:none;cursor:default}
.media-lightbox__content>.product-video-watermark{position:absolute;z-index:2;inset:50% auto auto 50%;display:block;width:var(--video-watermark-scale,100%);height:var(--video-watermark-scale,100%);max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);object-fit:contain;opacity:var(--video-watermark-opacity,.5);transform:translate(-50%,-50%);pointer-events:none}.media-lightbox__content{position:relative}

/* Mobile field catalogue refresh: tactile canvas cards, ammunition-crate frames and a usable drawer. */
.site-menu{box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(42px,calc(env(safe-area-inset-bottom) + 28px))}.site-menu nav{padding-bottom:24px}.site-menu__categories details a{font-family:var(--frontline-display);font-size:18px;font-weight:800;letter-spacing:.045em;line-height:1.1;text-transform:uppercase}
.product-card__body{background:linear-gradient(rgba(247,241,221,.88),rgba(235,224,194,.9)),url('/assets/theatre/sand-field-canvas-v1.webp') center/cover}.product-card__image{margin:7px;padding:7px;border:2px solid #293323;border-radius:2px;background:repeating-linear-gradient(0deg,#46533a 0 9px,#3a4631 9px 11px);box-shadow:inset 0 0 0 2px #69765b,0 4px 10px rgba(16,22,13,.32)}.product-card__image::before,.product-card__image::after{content:"";position:absolute;z-index:2;width:6px;height:6px;border-radius:50%;background:#a79a73;box-shadow:0 0 0 1px #1d2419}.product-card__image::before{top:10px;left:10px}.product-card__image::after{right:10px;bottom:10px}.product-card-divider{display:none}
.campaign-map__layout{min-height:0}.campaign-map__board{aspect-ratio:1200/650;min-height:0}.campaign-map__chart{object-fit:contain}.campaign-marker--global{border-style:dashed}
@media(max-width:900px){.campaign-map__board{min-height:0}}
@media(max-width:600px){.catalogue-grid{gap:0}.product-card{display:flex!important;flex-direction:column}.product-card__image{width:auto;aspect-ratio:1/1;margin:8px 8px 0}.product-card__image img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}.product-card__body{padding:16px 16px 18px}.product-card__body>p:not(.product-card__code):not(.product-rating){display:block}.product-card__foot{align-items:center;flex-direction:row}.product-card-divider{display:block;height:42px;margin:3px 0;background:url('/assets/theatre/barbed-wire-divider-v1.svg') center/360px 34px no-repeat;opacity:.78}.campaign-map__board{aspect-ratio:1200/650;min-height:0}.campaign-marker{display:block;width:28px;height:28px;padding:0;border-radius:50%;transform:translate(-50%,-50%)}.campaign-marker span{width:26px;height:26px;font-size:13px}.campaign-marker strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.campaign-marker:hover,.campaign-marker.is-active{transform:translate(-50%,-50%) scale(1.12)}}

/* Header Kit Bag confirmation. */
.kitbag-control{position:relative}.kitbag-notice{position:absolute;z-index:80;top:calc(100% + 14px);right:0;display:grid;width:min(330px,calc(100vw - 28px));gap:4px;padding:15px 18px;border:1px solid var(--frontline-sand);border-left:6px solid var(--frontline-sand);color:#fff;background:#303b27;box-shadow:0 18px 38px rgba(9,13,8,.34);opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.kitbag-notice[hidden]{display:none}.kitbag-notice.is-visible{opacity:1;transform:translateY(0)}.kitbag-notice::before{content:"";position:absolute;right:30px;bottom:100%;border:8px solid transparent;border-bottom-color:var(--frontline-sand)}.kitbag-notice strong{font-family:var(--frontline-display);font-size:19px;letter-spacing:.025em}.kitbag-notice span{color:var(--frontline-cream);font-size:12px;line-height:1.45}.kitbag-notice.is-error{border-color:#d69183;background:#662f29}

/* Full-width basket briefing: manifest, visual upgrades, field office and dispatch plan. */
.page-basket .commerce-shell{width:min(1240px,calc(100% - 36px))}.basket-products,.basket-upsells,.basket-field-office,.basket-fulfilment{width:100%;box-sizing:border-box;margin:0 0 28px;padding:clamp(24px,4vw,44px);border:1px solid var(--frontline-line);border-radius:2px;background:var(--frontline-paper);box-shadow:0 15px 38px rgba(41,53,40,.09)}.basket-products{border-top:7px solid var(--frontline-olive)}.basket-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--frontline-line)}.basket-section-heading h2{margin:4px 0 0;font-size:clamp(28px,4vw,43px);line-height:1}.basket-section-heading>p{max-width:420px;margin:0;color:#686d61;font-size:13px;line-height:1.6;text-align:right}.basket-products>.button-ghost{margin-top:22px}.basket-upsells{background:linear-gradient(rgba(241,234,217,.94),rgba(231,220,194,.94)),url('/assets/theatre/sand-field-canvas-v1.webp') center/cover}.basket-upsell-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.basket-upsell-card{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:24px;align-items:center;padding:22px;border:1px solid rgba(45,55,39,.24);background:rgba(255,253,246,.84)}.basket-upsell-card>img,.basket-upsell-placeholder{display:grid;width:100%;aspect-ratio:1/1;place-items:center;border:8px solid #47533d;object-fit:cover;background:#d9cfb5;color:#47533d;font-family:var(--frontline-display);font-size:60px}.basket-upsell-card h3{margin:10px 0 8px;font-size:25px;line-height:1.08}.basket-upsell-card p{color:#5f6458;font-size:13px;line-height:1.6}.basket-upsell-card form{margin-top:17px}.basket-upsell-card .button-primary{width:100%;justify-content:center}.basket-field-office{border-top:7px solid var(--frontline-sand);background:#e8dfc8}.basket-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.basket-field-grid>article{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;padding:24px;border:1px solid rgba(45,55,39,.24);background:#fffdf6}.basket-field-icon{display:grid;width:58px;height:58px;place-items:center;border:2px solid #46533a;border-radius:50%;color:#fff;background:#46533a;font-family:var(--frontline-display);font-size:28px}.basket-field-grid h3{margin:0;font-size:24px}.basket-field-grid p{color:#62675b;line-height:1.55}.basket-field-grid .offer-code{margin:16px 0 0}.basket-field-grid .offer-code input{box-sizing:border-box}.basket-fulfilment{border-top:7px solid var(--frontline-olive-dark)}.basket-fulfilment-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:26px}.basket-delivery-card,.basket-total-card{box-sizing:border-box;padding:26px;border:1px solid var(--frontline-line);background:#fffdf6}.basket-delivery-card h3,.basket-total-card h3{margin:0 0 16px;font-size:26px}.basket-delivery-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid var(--frontline-line)}.basket-delivery-card span{font-weight:800}.basket-delivery-card small{display:block;margin-top:5px;color:#74786e;font-size:11px;font-weight:500}.basket-total-card{position:static;top:auto}.basket-proceed{max-width:460px;margin:28px auto 0}.basket-payment-note{text-align:center}
.basket-upsell-card:only-child{grid-column:1/-1}
@media(max-width:900px){.basket-upsell-grid,.basket-field-grid,.basket-fulfilment-grid{grid-template-columns:1fr}.basket-upsell-card{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:600px){.kitbag-notice{position:fixed;top:88px;right:14px;left:14px;width:auto}.kitbag-notice::before{display:none}.basket-section-heading{align-items:flex-start;flex-direction:column;gap:9px}.basket-section-heading>p{text-align:left}.basket-upsell-card{grid-template-columns:1fr}.basket-upsell-card>img,.basket-upsell-placeholder{max-width:240px;margin:auto}.basket-field-grid>article{grid-template-columns:44px minmax(0,1fr);padding:18px}.basket-field-icon{width:44px;height:44px;font-size:22px}.basket-field-grid .offer-code{grid-template-columns:1fr}.basket-field-grid .offer-code button{width:100%}}
@media(prefers-reduced-motion:reduce){.kitbag-notice{transition:none}}

/* Basket controls: mud-brown field accents, direct removal and selectable dispatch. */
.page-basket{--frontline-red:#74543a;--danger:#74543a;--page-accent:#74543a}.page-basket .commerce-alert{border-left-color:#74543a;background:#eee2d2}.page-basket .backorder-warning{border-left-color:#74543a!important;background:#eee2d2!important}.page-basket .line-backorder,.page-basket .discount-row{color:#68482f}.page-basket .offer-chip{color:#fff;background:#74543a}.page-basket .eyebrow{color:#74543a}
.page-basket .cart-line label{width:96px;gap:3px;text-align:center}.page-basket .cart-line label>input{box-sizing:border-box;width:100%}.page-basket .cart-line .offer-chip{display:inline-block;margin-right:10px}.basket-remove{display:block;width:100%;margin:0;padding:2px 0;border:0;color:#68482f;background:transparent;font:800 9px/1.2 var(--frontline-sans);letter-spacing:.035em;text-align:center;text-transform:uppercase;cursor:pointer}.basket-remove:hover,.basket-remove:focus-visible{color:#3f2c1e;text-decoration:underline}
.basket-upsell-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.basket-upsell-actions .button-primary,.basket-upsell-actions .button-ghost{box-sizing:border-box;width:100%;justify-content:center;text-align:center}.basket-upsell-actions button:only-of-type{grid-column:1/-1}.basket-upsell-actions .button-ghost{color:#fff;border-color:#74543a;background:#74543a}.basket-upsell-actions .button-ghost:hover{background:#5f432f}
.basket-postage-options{display:grid}.basket-postage-option{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding:16px 12px!important;border:1px solid transparent!important;border-bottom-color:var(--frontline-line)!important;cursor:pointer}.basket-postage-option:has(input:checked){border-color:#806047!important;background:#eee2d2}.basket-postage-option input{width:18px;height:18px;margin:2px 0 0;accent-color:#74543a}.basket-postage-option span{font-weight:800}.basket-postage-option small{display:block;margin-top:5px;color:#74786e;font-size:11px;font-weight:500}.basket-postage-option strong{white-space:nowrap}.basket-proceed{box-sizing:border-box;width:100%;max-width:none;margin:28px 0 0;justify-content:center}
@media(max-width:600px){.basket-upsell-actions{grid-template-columns:1fr}.basket-postage-option{grid-template-columns:auto minmax(0,1fr)}.basket-postage-option strong{grid-column:2}}

/* Full-width checkout briefing, saved-address controls and final manifest. */
.page-checkout{--frontline-red:#74543a;--danger:#74543a;--page-accent:#74543a}.page-checkout .commerce-shell{width:min(1240px,calc(100% - 36px))}.page-checkout .eyebrow,.page-checkout .discount-row,.page-checkout .line-backorder{color:#68482f}.page-checkout .offer-chip{color:#fff;background:#74543a}.page-checkout .commerce-alert{border-left-color:#74543a;background:#eee2d2}.page-checkout .backorder-warning{border-left-color:#74543a!important;background:#eee2d2!important}
.checkout-workflow{display:block}.checkout-delivery,.checkout-upsells,.checkout-order-summary{box-sizing:border-box;width:100%;margin:0 0 28px;padding:clamp(24px,4vw,44px);border:1px solid var(--frontline-line);border-radius:2px;background:var(--frontline-paper);box-shadow:0 15px 38px rgba(41,53,40,.09)}.checkout-delivery{border-top:7px solid var(--frontline-olive)}.checkout-upsells{background:linear-gradient(rgba(241,234,217,.94),rgba(231,220,194,.94)),url('/assets/theatre/sand-field-canvas-v1.webp') center/cover}.checkout-order-summary{position:static;top:auto;display:block!important;border-top:7px solid #74543a}.checkout-fields{margin-top:20px}.saved-address-select{display:grid;width:min(100%,540px);gap:7px;margin:0 0 22px;font-size:10px;font-weight:900;text-transform:uppercase}.saved-address-select select,.checkout-fields select{box-sizing:border-box;height:46px;padding:0 12px;border:1px solid var(--frontline-line);border-radius:2px;background:#fff;font:inherit}.saved-address-select select{width:100%}
[data-uk-upgrade][hidden],.checkout-address-save[hidden],.checkout-address-status[hidden]{display:none!important}.checkout-contact-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.checkout-contact-row label{min-width:0}.checkout-address-preferences{display:grid!important;grid-template-columns:minmax(240px,420px) minmax(240px,1fr);gap:18px;align-items:end}.checkout-address-preferences .check-row{min-height:46px;align-content:center}.checkout-address-save{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px;padding:15px 17px;border:1px solid #a48a6f;background:#eee2d2}.checkout-address-save>strong{width:100%;color:#5f432f}.checkout-address-save .check-row{display:flex;align-items:center;gap:9px;margin:0;padding:10px 13px;border:1px solid #806047;background:#fffdf6;cursor:pointer}.checkout-address-save input{width:18px;height:18px;accent-color:#74543a}.checkout-address-status{margin:0;padding:11px 14px;border-left:5px solid #74543a;background:#eee2d2;font-weight:800}.checkout-address-status.is-success{border-color:#5f7456;background:#eef3e9}.checkout-address-status.is-error{border-color:#8a3d33;background:#f2dfd9}.checkout-postage-options{min-width:0;margin:0;padding:0;border:0}.checkout-postage-options legend{margin:0 0 9px;padding:0;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.basket-postage-option.is-selected{border-color:#806047!important;background:#eee2d2}.checkout-postage-options .basket-postage-option b{font-size:14px}
.checkout-order-summary>.checkout-summary-products{display:flex!important;width:100%;padding:0;flex-direction:column}.checkout-summary-line{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:18px;align-items:center;width:100%;box-sizing:border-box;padding:18px 0;border-bottom:1px solid var(--frontline-line)}.checkout-summary-line img,.checkout-summary-placeholder{display:grid;width:88px;height:88px;place-items:center;border:5px solid #47533d;object-fit:cover;background:#e1d7bd;font-weight:900}.checkout-summary-line>div{display:grid;gap:5px}.checkout-summary-line small{color:#6e7266;font-weight:800;letter-spacing:.05em}.checkout-summary-line strong{font-size:16px}.checkout-summary-line span{color:#676b61;font-size:12px}.checkout-summary-product{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.checkout-summary-remove{display:inline-grid;width:22px;height:22px;padding:2px;border:0;place-items:center;color:#74543a;background:transparent;font:400 12px/1 var(--frontline-sans);cursor:pointer}.checkout-summary-remove svg{display:block;width:15px;height:15px;fill:currentColor}.checkout-summary-remove:hover,.checkout-summary-remove:focus-visible{color:#4e3424;background:#eee2d2}.checkout-summary-remove:disabled{opacity:.45;cursor:wait}.checkout-summary-line>b{font-size:18px;white-space:nowrap}.checkout-order-summary>.checkout-summary-totals{display:flex!important;width:100%;max-width:none;box-sizing:border-box;margin:26px 0 0;padding:22px 0 0;border:0;border-top:1px solid var(--frontline-line);background:transparent;flex-direction:column;align-items:stretch}.checkout-summary-totals>div{display:grid;grid-template-columns:minmax(0,1fr) 130px;justify-content:stretch;gap:30px;align-items:baseline;padding:8px 0!important;border:0!important;font:800 16px/1.35 var(--frontline-sans)}.checkout-summary-totals>div span,.checkout-summary-totals>div strong{font:inherit;text-align:right}.checkout-summary-totals .order-summary__total{margin-top:6px;padding-top:17px!important;border-top:2px solid #74543a!important;font:900 18px/1.35 var(--frontline-sans)}.checkout-summary-totals .order-summary__total span,.checkout-summary-totals .order-summary__total strong{font-weight:900!important}.checkout-pay-button{box-sizing:border-box;width:100%;max-width:none;margin:0 0 12px;justify-content:center}.checkout-payment-note{text-align:center}.checkout-live-status{margin:0 0 22px;padding:12px 15px;border-left:5px solid #8a3d33;background:#f2dfd9;font-weight:800;text-align:center}.checkout-live-status.is-error{border-color:#8a3d33;background:#f2dfd9}
@media(max-width:900px){.checkout-upsells .basket-upsell-grid{grid-template-columns:1fr}.checkout-upsells .basket-upsell-card{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:780px){.checkout-contact-row,.checkout-address-preferences{grid-template-columns:1fr}.checkout-contact-row{gap:18px}.checkout-fields .checkout-contact-row{grid-column:auto}.saved-address-select{width:100%}}
@media(max-width:600px){.page-checkout .commerce-shell{width:calc(100% - 24px)}.checkout-delivery,.checkout-upsells,.checkout-order-summary{padding:20px 16px}.checkout-upsells .basket-upsell-card{grid-template-columns:1fr;padding:16px}.checkout-upsells .basket-upsell-card>img,.checkout-upsells .basket-upsell-placeholder{max-width:230px;margin:auto}.checkout-summary-line{grid-template-columns:66px minmax(0,1fr);gap:12px}.checkout-summary-line img,.checkout-summary-placeholder{width:66px;height:66px}.checkout-summary-line>b{grid-column:2}.checkout-order-summary>.checkout-summary-totals{width:100%;padding-top:17px}.checkout-summary-totals>div{grid-template-columns:minmax(0,1fr) 100px;gap:18px}.checkout-address-save{align-items:stretch;flex-direction:column}.checkout-address-save>strong{width:auto}.product-card__actions{width:100%;justify-content:space-between}.product-card__add .button-primary{padding-inline:10px}}
.checkout-payment-summary{margin-top:0}.checkout-payment-summary .checkout-summary-line:last-child{border-bottom:0}.checkout-payment-summary .checkout-summary-totals{margin-top:18px;padding-top:0;border-top:0}.checkout-payment-summary+.sumup-payment-card,.checkout-payment-summary~.sumup-payment-card{margin-top:28px}.sumup-payment-card .checkout-payment-security{text-align:center}.sumup-hosted-fallback{display:grid;justify-items:center;gap:10px;margin:20px auto 0;padding:18px;border-top:1px solid var(--frontline-line);text-align:center}.sumup-hosted-fallback span{color:#676b61;font-size:13px}.sumup-hosted-fallback .button-ghost{box-sizing:border-box;width:min(100%,420px);justify-content:center;color:#fff;border-color:#74543a;background:#74543a}.sumup-hosted-fallback .button-ghost:hover,.sumup-hosted-fallback .button-ghost:focus-visible{background:#5f432f}
