/* Backcountry Excavation v2. Backcountry meets heavy machinery.
   Blaze orange camo and the logo carry the backcountry. Expanded type, HUD
   brackets, spec data and the laser grade line carry the machinery. */

@font-face{font-family:"Archivo";src:url(/fonts/archivo-latin-standard-normal.woff2) format("woff2");font-weight:700 900;font-stretch:100% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  color-scheme:dark;
  --canvas:#0E0C0A;--surface:#17130F;--raised:#211B16;--line:#352B22;--line-2:#4A3C30;
  --ink:#F5F0E8;--graphite:#D2C9BC;--muted:#A69B8E;
  --blaze:#FF6A13;--blaze-2:#FF8A3D;--amber:#FFB547;--on-blaze:#0E0C0A;--blaze-text:#FF8A3D;
  --tan:#D2B48C;--earth:#8A6A4F;--error:#FF7A7A;
  --grad:linear-gradient(90deg,#FF6A13 0%,#FFB547 100%);
  --font-display:"Archivo","Arial Black",Impact,sans-serif;
  --font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:48px;--s6:88px;--s7:136px;
  --tap:48px;--callbar:46px;--measure:62ch;--container:1280px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 17px/28px var(--font-sans);padding-bottom:calc(var(--callbar) + env(safe-area-inset-bottom,0px));overflow-x:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:var(--blaze-text);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--blaze);color:var(--on-blaze);padding:12px 16px;z-index:90;font-weight:600}
.skip:focus{left:8px}
.wrap{max-width:var(--container);margin:0 auto;padding-inline:var(--s3)}
.label{font:500 12px/16px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.label.hot{color:var(--blaze-text)}
h1,h2,h3{font-family:var(--font-display);margin:0;text-wrap:balance}
h1{font-weight:800;font-stretch:112%;font-size:42px;line-height:.98;letter-spacing:-.01em;text-transform:uppercase}
h2{font-weight:800;font-stretch:108%;font-size:32px;line-height:1.02;letter-spacing:-.005em;text-transform:uppercase}
h3{font-weight:700;font-stretch:100%;font-size:21px;line-height:1.2}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
p{margin:0}
.lede{font-size:19px;line-height:30px;color:var(--graphite);max-width:var(--measure)}
.prose{max-width:var(--measure);display:grid;gap:var(--s3);color:var(--graphite)}
.prose h2{color:var(--ink);margin-top:var(--s4)}
.prose h3{color:var(--ink);margin-top:var(--s3)}
.prose ul{margin:0;padding-left:1.1em;display:grid;gap:var(--s2)}
.prose ul.ticks{padding-left:0;list-style:none}
.prose .chips{display:flex;padding-left:0}
.prose strong{color:var(--ink)}
.num{font-variant-numeric:tabular-nums}

/* reveal system: visible by default, animated only once JS marks the page */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}

/* header */
.top{position:sticky;top:0;z-index:60;background:rgba(14,12,10,.82);border-bottom:1px solid var(--line);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:var(--s3)}
.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;min-height:var(--tap)}
.brand img{width:auto;height:42px}
.brand span{font:800 14px/1.05 var(--font-display);font-stretch:115%;letter-spacing:.04em;text-transform:uppercase}
.brand small{display:block;font:500 10px/1.4 var(--font-mono);letter-spacing:.16em;color:var(--blaze-text)}
.nav{display:none}
.nav a{color:var(--graphite);text-decoration:none;font:600 14px/1 var(--font-sans);padding:12px 0;min-height:var(--tap);display:inline-flex;align-items:center;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.top .top-call{display:none;white-space:nowrap}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;min-width:var(--tap);min-height:var(--tap);display:flex;align-items:center;justify-content:center;font:500 12px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line-2);padding:0 14px}
.menu summary::-webkit-details-marker{display:none}
.menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(320px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line-2);padding:var(--s3);display:grid;gap:2px;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.menu-panel a{color:var(--ink);text-decoration:none;min-height:var(--tap);display:flex;align-items:center;border-bottom:1px solid var(--line);font-weight:600}
.menu-panel a:last-child{border-bottom:0;color:var(--blaze-text)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:0 22px;font:700 15px/20px var(--font-sans);letter-spacing:.01em;text-decoration:none;border:1px solid transparent;cursor:pointer;background:none;color:var(--ink);transition:background .25s,box-shadow .25s,color .25s,border-color .25s}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--blaze);color:var(--on-blaze)}
.btn-primary:hover{background:var(--blaze-2);color:var(--on-blaze);box-shadow:0 0 0 1px var(--amber),0 12px 40px rgba(255,106,19,.35)}
.btn-ghost{border-color:var(--line-2);color:var(--ink);background:rgba(14,12,10,.35)}
.btn-ghost:hover{border-color:var(--blaze);color:var(--ink)}
.btn-dark{background:var(--canvas);color:var(--ink)}
.btn-dark:hover{background:#000;color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s4)}

/* HUD brackets on media */
.hud{position:relative}
.hud::before,.hud::after{content:"";position:absolute;width:26px;height:26px;border:2px solid var(--blaze);pointer-events:none;z-index:3;transition:transform .6s var(--ease)}
.hud::before{top:10px;left:10px;border-right:0;border-bottom:0}
.hud::after{bottom:10px;right:10px;border-left:0;border-top:0}
.js .hud.rv::before{transform:translate(-8px,-8px)}.js .hud.rv::after{transform:translate(8px,8px)}
.js .hud.rv.in::before,.js .hud.rv.in::after{transform:none}
.tag{position:absolute;left:14px;bottom:14px;z-index:3;font:500 11px/16px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:rgba(14,12,10,.72);border:1px solid var(--line-2);padding:6px 10px;backdrop-filter:blur(6px);max-width:calc(100% - 28px)}
.tag b{color:var(--blaze-text);font-weight:500}

/* crumbs and page head */
.crumbs{padding-top:var(--s4)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}
.crumbs li+li::before{content:"/";margin-right:var(--s2);color:var(--line-2)}
.crumbs a{color:var(--muted);text-decoration:none}
.head{position:relative;padding:var(--s5) 0 var(--s6);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.head::before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(rgba(210,180,140,.14) 1px,transparent 1.2px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%)}
.head .label{margin-bottom:var(--s3)}
.head .lede{margin-top:var(--s4)}
.head .laser{bottom:0}
.head-media{display:grid;gap:var(--s5);align-items:center}
.head-media figure{margin:0}
.head-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.head + section{padding-top:var(--s5)}

/* laser grade line */
.laser{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--blaze) 20%,var(--amber) 50%,var(--blaze) 80%,transparent);box-shadow:0 0 12px rgba(255,138,61,.8);opacity:.9;pointer-events:none}
.laser::after{content:"";position:absolute;top:-3px;width:120px;height:8px;background:radial-gradient(closest-side,#fff,rgba(255,181,71,.6),transparent);animation:sweep 7s ease-in-out infinite alternate}
@keyframes sweep{from{left:0}to{left:calc(100% - 120px)}}

/* HERO */
.hero{position:relative;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.hero-media{position:absolute;inset:0;z-index:-2;background:#1a1510}
.hero-media video,.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media video{opacity:0;transition:opacity 1.2s}
.hero-media video.on{opacity:1}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,12,10,.92) 0%,rgba(14,12,10,.7) 42%,rgba(14,12,10,.15) 75%),linear-gradient(180deg,rgba(14,12,10,.35),rgba(14,12,10,0) 30%,rgba(14,12,10,.85) 100%)}
.hero .wrap{width:100%;padding-block:var(--s6) var(--s5);display:grid;gap:var(--s5);align-items:end}
.hero h1{font-size:44px}
.hero .lede{margin-top:var(--s3);color:var(--ink)}
.hero .laser{bottom:0}
.eyebrow{display:inline-flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font:500 12px/16px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tan);margin-bottom:var(--s3)}
.quick{background:rgba(14,12,10,.74);border:1px solid var(--line-2);padding:var(--s4);display:grid;gap:var(--s3);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);max-width:440px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.quick h2{font-size:22px;line-height:1.05}
.quick p{color:var(--graphite);font-size:15px;line-height:22px}
.vid-toggle{position:absolute;right:16px;bottom:16px;z-index:4;width:40px;height:40px;border:1px solid var(--line-2);background:rgba(14,12,10,.6);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.vid-toggle svg{width:16px;height:16px}

/* trust strip */
.trust{background:var(--surface);border-bottom:1px solid var(--line)}
.trust ul{list-style:none;margin:0;padding:14px 0;display:grid;gap:10px var(--s4);grid-template-columns:1fr}
.trust li{white-space:nowrap;font:500 12px/18px var(--font-mono);letter-spacing:.06em;color:var(--graphite);display:flex;gap:10px;align-items:center}
.trust li::before{content:"";width:6px;height:6px;background:var(--blaze);flex:none}
.trust b{color:var(--ink);font-weight:500}


/* camo strip divider */

/* sections */
section{padding-block:var(--s6);border-top:1px solid var(--line);position:relative}
.sec-head{max-width:var(--measure);margin-bottom:var(--s5);display:grid;gap:var(--s3)}
.sec-head p:not(.label){color:var(--graphite)}
.sec-head.split-head{max-width:none;align-items:end}
.dots{isolation:isolate}
.dots::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(210,180,140,.09) 1px,transparent 1.2px);background-size:22px 22px}

/* service rail (big type list with photo reveal) */
.rail{display:grid;gap:var(--s5)}
.rail-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rail-list a{display:grid;grid-template-columns:40px 1fr 34px;gap:var(--s3);align-items:center;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:color .25s,padding .35s var(--ease)}
.rail-list .n{font:500 12px/1 var(--font-mono);color:var(--muted)}
.rail-list .t{font:800 20px/1.05 var(--font-display);font-stretch:110%;text-transform:uppercase}
.rail-list .go{width:34px;height:34px;border:1px solid var(--line-2);display:grid;place-items:center;transition:background .25s,border-color .25s}
.rail-list .go svg{width:14px;height:14px}
.rail-list a:hover,.rail-list a:focus-visible,.rail-list a.on{color:var(--blaze-text);padding-left:8px}
.rail-list a:hover .go,.rail-list a.on .go{background:var(--blaze);border-color:var(--blaze);color:var(--on-blaze)}
.rail-list .d{grid-column:2/3;color:var(--graphite);font:400 14px/21px var(--font-sans)}
.rail-view{display:none}
.rail-view figure{margin:0;position:sticky;top:100px}
.rail-view img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:opacity .4s ease}
.rail-view img.swap{opacity:0}

/* cards */
.cards{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--canvas);padding:var(--s4);display:grid;gap:var(--s2);align-content:start;text-decoration:none;color:var(--ink);transition:background .3s;position:relative;overflow:hidden}
.card:hover{background:var(--surface);color:var(--ink)}
.card::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:2}
.card:hover::after{transform:scaleX(1)}
.card h3{font-size:19px}
.card p{color:var(--graphite);font-size:15px;line-height:24px}
.card .go{font:500 12px/16px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blaze-text);margin-top:var(--s2)}
.card-img{padding:0;grid-template-rows:auto 1fr}
.card-img .ph{overflow:hidden}
.card-img img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .8s var(--ease)}
.card-img:hover img{transform:scale(1.04)}
.card-img .bd{padding:var(--s4);display:grid;gap:var(--s2)}

/* split */
.split{display:grid;gap:var(--s5);align-items:start}
.split figure{margin:0}
.split img{width:100%;aspect-ratio:4/3;object-fit:cover}
figcaption{font:500 12px/18px var(--font-mono);color:var(--muted);margin-top:var(--s2)}
.ticks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ticks li{padding:12px 0 12px 22px;border-bottom:1px solid var(--line);color:var(--graphite);position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:24px;width:10px;height:2px;background:var(--blaze)}

/* fears */
.fears{display:grid;gap:var(--s4)}
.fear{border-top:2px solid var(--line-2);padding-top:var(--s3);display:grid;gap:var(--s2);align-content:start}
.fear .label{color:var(--blaze-text)}
.fear p{color:var(--graphite)}

/* three questions: photo with numbered markers, tabbed answers beside it */
.ask{display:grid;gap:var(--s4);align-items:start}
.ask-fig{position:relative;margin:0}
.ask-fig img{width:100%;aspect-ratio:3/2;object-fit:cover}
.hs{position:absolute;z-index:4;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid var(--amber);background:rgba(255,106,19,.92);color:var(--on-blaze);font:700 15px/1 var(--font-mono);cursor:pointer;display:grid;place-items:center;padding:0;transition:background .2s,transform .2s}
.hs::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid var(--blaze);animation:ping 2.6s ease-out infinite}
@keyframes ping{from{transform:scale(.7);opacity:1}to{transform:scale(1.6);opacity:0}}
.hs[aria-current="true"]{background:var(--ink);border-color:var(--ink);transform:scale(1.12)}
.hs[aria-current="true"]::before{animation:none;opacity:0}
.ask-panel{display:grid;gap:var(--s3);min-width:0}
.ask-tabs{display:grid;gap:6px}
.ask-tabs button{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);color:var(--graphite);font:800 18px/1.15 var(--font-display);font-stretch:110%;text-transform:uppercase;text-align:left;cursor:pointer}
.ask-tabs button span{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);font:700 13px/1 var(--font-mono);color:var(--tan)}
.ask-tabs button:hover{color:var(--ink);border-color:var(--line-2)}
.ask-tabs button[aria-selected="true"]{color:var(--ink);border-color:var(--blaze);background:linear-gradient(90deg,rgba(255,106,19,.16),rgba(255,106,19,0) 70%)}
.ask-tabs button[aria-selected="true"] span{background:var(--blaze);border-color:var(--blaze);color:var(--on-blaze)}
.ask-body{display:grid;gap:var(--s3);border-left:2px solid var(--blaze);padding:var(--s2) 0 var(--s2) var(--s3)}
.ask-body[hidden]{display:none}
.ask-body p{color:var(--graphite)}
.ask-body p.big{font:800 26px/1.1 var(--font-display);font-stretch:108%;color:var(--ink)}
.ask-body .stats{grid-template-columns:repeat(3,1fr)}
.ask-body .stat{padding:var(--s3) 12px}
.ask-body .stat .v{font-size:28px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.stat{background:var(--canvas);padding:var(--s4) var(--s3);display:grid;gap:6px}
.stat .v{font:800 34px/1 var(--font-display);font-stretch:112%;font-variant-numeric:tabular-nums;white-space:nowrap}
.stat .v small{font-size:.5em;color:var(--blaze-text);margin-left:4px;font-stretch:100%}
.stat .k{font:500 11px/16px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* story / clip band */
.story{position:relative;padding:0;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.story video,.story > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.story::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,12,10,.1),rgba(14,12,10,.92))}
.story .wrap{width:100%;padding-block:var(--s6) var(--s5)}
.story p.big{font:800 30px/1.05 var(--font-display);font-stretch:110%;text-transform:uppercase;max-width:20ch;text-wrap:balance}
.story p.small{margin-top:var(--s3);color:var(--graphite);max-width:var(--measure)}
.story .label{color:var(--tan);margin-bottom:var(--s3)}

/* machine card (equipment page) */
.fleet{display:grid;gap:var(--s5)}
.machine{background:var(--surface);border:1px solid var(--line)}
.machine figure{margin:0;overflow:hidden;background:var(--raised)}
.machine img{width:100%;aspect-ratio:3/2;object-fit:cover}
.machine-body{padding:var(--s4)}
.machine-body .label{margin-bottom:var(--s2)}
.machine-body h3{font:800 28px/1 var(--font-display);font-stretch:112%;text-transform:uppercase;margin-bottom:var(--s3)}
.specs{margin:var(--s4) 0 0;border-top:1px solid var(--line)}
.specs div{display:flex;justify-content:space-between;gap:var(--s3);padding:10px 0;border-bottom:1px solid var(--line);font:500 14px/20px var(--font-mono);font-variant-numeric:tabular-nums}
.specs dt{color:var(--muted)}
.specs dd{margin:0;color:var(--ink);text-align:right}
.fit{margin-top:var(--s4);padding:var(--s3);background:var(--raised);border-left:3px solid var(--blaze)}
.fit strong{display:block;font:500 12px/16px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blaze-text);margin-bottom:var(--s1)}
.uses{margin:var(--s4) 0 0;padding:0;list-style:none}
.uses li{padding:6px 0;color:var(--graphite)}
.uses li::before{content:"";display:inline-block;width:10px;height:2px;background:var(--blaze);vertical-align:middle;margin-right:12px}
.source{margin-top:var(--s3);font:500 12px/18px var(--font-mono);color:var(--muted)}

/* towns: soil core samples */
.towns{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.town{background:var(--canvas);text-decoration:none;color:var(--ink);display:grid;grid-template-columns:72px 1fr;gap:var(--s3);padding:var(--s4);transition:background .3s;position:relative}
.town:hover{background:var(--surface);color:var(--ink)}
.town .bd{display:grid;gap:6px;align-content:start}
.town h3{font:800 20px/1.05 var(--font-display);font-stretch:110%;text-transform:uppercase}
.town p{color:var(--graphite);font-size:14px;line-height:22px}
.town .go{font:500 11px/16px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blaze-text);margin-top:4px}
.core{width:72px}
.core-art{display:block;width:100%;height:auto;overflow:visible}
.js .rv .core-art{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease)}
.js .rv.in .core-art{clip-path:inset(0 0 0 0)}
.strata{display:grid;grid-template-columns:1fr;gap:var(--s4);align-items:start}
.strata .core{width:min(100%,310px);margin:0 auto}
@media (min-width:1100px){.strata{grid-template-columns:290px 1fr}.strata .core{width:290px}}
.strata ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.strata li{display:grid;grid-template-columns:18px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--graphite);font-size:15px;line-height:22px}
.strata li{grid-template-columns:26px 1fr}
.strata li i.num{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--blaze);display:grid;place-items:center;font:700 12px/1 var(--font-mono);font-style:normal;color:var(--blaze-text)}
.strata li i.frost-key{width:24px;height:0;border-top:2px dashed var(--amber);margin-top:11px}
.strata li b{color:var(--ink);display:block;font-weight:600}
.strata-note{margin-top:var(--s3);font:500 12px/18px var(--font-mono);color:var(--muted)}

.chips{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;margin:0;padding:0}
.chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line-2);color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;transition:border-color .25s,background .25s}
.chips a:hover{border-color:var(--blaze);background:var(--raised)}

/* project reel */
.reel{display:grid;grid-auto-flow:column;grid-auto-columns:84%;gap:var(--s3);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--s3);scrollbar-width:thin;scrollbar-color:var(--blaze) var(--surface)}
.reel figure{margin:0;scroll-snap-align:start;background:var(--surface);border:1px solid var(--line)}
.reel button,.shot button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.reel img,.shot img{width:100%;aspect-ratio:4/3;object-fit:cover}
.reel figcaption,.shot figcaption{padding:var(--s3);margin:0;display:grid;gap:4px}
.reel figcaption b,.shot figcaption b{font:800 16px/1.2 var(--font-display);font-stretch:108%;color:var(--ink);text-transform:uppercase}
.reel-nav{display:flex;gap:var(--s2)}
.reel-nav button{width:var(--tap);height:var(--tap);border:1px solid var(--line-2);background:var(--canvas);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.reel-nav button:hover{border-color:var(--blaze)}
.reel-nav svg{width:16px;height:16px}
.gallery{display:grid;gap:var(--s3)}
.shot{margin:0;background:var(--surface);border:1px solid var(--line)}
dialog.lens{padding:0;border:1px solid var(--line-2);background:var(--canvas);max-width:min(1400px,94vw);max-height:94vh}
dialog.lens::backdrop{background:rgba(6,5,4,.9)}
dialog.lens img{width:100%;height:auto;max-height:84vh;object-fit:contain}
dialog.lens form{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3)}
dialog.lens p{font:500 13px/20px var(--font-mono);color:var(--graphite)}

/* faq */
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;min-height:var(--tap);display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:18px 0;font:700 18px/26px var(--font-sans)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line-2);font:500 18px/1 var(--font-mono);color:var(--blaze-text)}
.faq details[open] summary::after{content:"\2212";background:var(--blaze);color:var(--on-blaze);border-color:var(--blaze)}
.faq details p{padding:0 0 var(--s4);color:var(--graphite);max-width:var(--measure)}

/* orange band */
.blaze{background:var(--blaze);color:var(--on-blaze);border-top:0}
.blaze .label{color:rgba(14,12,10,.85)}
.blaze h2{color:var(--on-blaze)}
.blaze .sec-head p:not(.label){color:rgba(14,12,10,.85)}
.ways{display:grid;gap:var(--s3)}
.way{background:var(--canvas);color:var(--ink);padding:var(--s4);display:grid;gap:var(--s2);align-content:start;text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s}
.way:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(14,12,10,.35);color:var(--ink)}
.way .label{color:var(--blaze-text)}
.way h3{font:800 24px/1 var(--font-display);font-stretch:112%;text-transform:uppercase}
.way p{color:var(--graphite);font-size:15px;line-height:23px}
.way .big{font:500 19px/1.2 var(--font-mono);color:var(--ink)}

/* camo CTA band */
.camo-band{background:#C9AE84 url(/images/camo-blaze.svg) center/cover no-repeat;border-top:0}
.camo-night{background:#1D1713 url(/images/camo-night.svg) center/cover no-repeat}
.cta .panel{background:rgba(14,12,10,.92);border:1px solid var(--line-2);padding:var(--s4);max-width:760px;display:grid;gap:var(--s3);backdrop-filter:blur(8px);box-shadow:0 30px 80px rgba(0,0,0,.4)}
.cta .panel p:not(.label){color:var(--graphite)}
.cta .phone{font:800 34px/1 var(--font-display);font-stretch:115%;color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums}
.cta .phone:hover{color:var(--blaze-text)}

/* facts */
.facts{margin:0;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:1fr;gap:2px;padding:12px 0;border-bottom:1px solid var(--line)}
.facts dt{font:500 12px/16px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0;color:var(--ink)}

/* form */
.form{display:grid;gap:var(--s4);max-width:760px;background:var(--surface);border:1px solid var(--line);padding:var(--s4)}
.steps-bar{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.steps-bar li{flex:1;height:4px;background:var(--line-2);transition:background .4s}
.steps-bar li.done{background:var(--grad)}
.step{display:grid;gap:var(--s4);border:0;margin:0;padding:0;min-width:0}
.step legend{font:800 24px/1.05 var(--font-display);font-stretch:110%;text-transform:uppercase;padding:0;margin-bottom:var(--s3)}
.js .step[hidden]{display:none}
.field{display:grid;gap:6px}
.field label,.field .q{font-weight:600;font-size:15px}
.hint{font-size:14px;line-height:22px;color:var(--muted)}
.req{color:var(--blaze-text)}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;font:400 16px/24px var(--font-sans);color:var(--ink);background:var(--canvas);border:1px solid var(--line-2);border-radius:2px;padding:12px 14px;min-height:var(--tap)}
input:focus,select:focus,textarea:focus{border-color:var(--blaze);outline:2px solid var(--blaze);outline-offset:0}
.choices{display:grid;gap:var(--s2)}
.choice{display:flex;align-items:center;gap:12px;min-height:var(--tap);padding:0 14px;border:1px solid var(--line-2);background:var(--canvas);cursor:pointer}
.choice input{width:20px;height:20px;accent-color:var(--blaze)}
.choice:has(input:checked){border-color:var(--blaze)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:24px;color:var(--graphite)}
.consent input{width:22px;height:22px;margin-top:2px;accent-color:var(--blaze);flex:none}
.file-drop{border:1px dashed var(--blaze);background:rgba(255,106,19,.06);padding:var(--s4);display:grid;gap:var(--s2)}
.file-drop input{font:400 15px/22px var(--font-sans);color:var(--graphite)}
.photo-prompt{font:700 18px/26px var(--font-sans);color:var(--ink)}
.field-error{color:var(--error);font-size:14px}
.error-summary{border:1px solid var(--error);padding:var(--s3);color:var(--ink)}
.error-summary ul{margin:var(--s2) 0 0;padding-left:1.2em}
.form-nav{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
[data-next],[data-back]{display:none}
.js [data-next],.js [data-back]{display:inline-flex}

/* footer */
.foot{border-top:1px solid var(--line);padding-block:var(--s6) var(--s5);overflow:hidden;background:linear-gradient(180deg,var(--canvas),#080706)}
.foot-top{display:grid;gap:var(--s4);align-items:center;margin-bottom:var(--s5)}
.foot-logo{width:200px;height:auto}
.foot-grid{display:grid;gap:var(--s4);font-size:15px;line-height:24px;color:var(--graphite)}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.foot-grid .label{margin-bottom:var(--s2)}
.foot a{color:var(--ink);text-decoration:none}
.foot a:hover{color:var(--blaze-text)}
.foot-legal{margin-top:var(--s5);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);font:500 12px/18px var(--font-mono);color:var(--muted)}
.foot-legal a{color:var(--muted)}
.wordmark{display:block;width:100%;height:auto;margin:var(--s6) 0 0;overflow:visible}
.wordmark text{font:900 130px/1 var(--font-display);font-stretch:125%;letter-spacing:0}

/* mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);z-index:50;padding-bottom:env(safe-area-inset-bottom,0px)}
.callbar a{display:flex;align-items:center;justify-content:center;gap:8px;height:var(--callbar);font:700 15px/1 var(--font-sans);text-decoration:none}
.callbar svg{width:16px;height:16px}
.callbar .call{background:var(--blaze);color:var(--on-blaze)}
.callbar .text{background:var(--raised);color:var(--ink)}


@media (min-width:640px){
  .cards{grid-template-columns:1fr 1fr}
  .towns{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .reel{grid-auto-columns:46%}
  .facts div{grid-template-columns:220px 1fr}
  .stats{grid-template-columns:repeat(4,1fr)}
  .ways{grid-template-columns:repeat(3,1fr)}
  .trust ul{grid-template-columns:repeat(2,auto);justify-content:start;column-gap:48px}
}
@media (min-width:900px){
  h1{font-size:62px}
  h2{font-size:46px}
  .wrap{padding-inline:var(--s5)}
  section{padding-block:var(--s7)}
  .hero h1{font-size:74px}
  .hero .wrap{grid-template-columns:1.4fr 1fr}
  .trust ul{grid-template-columns:repeat(2,auto);justify-content:start;column-gap:48px}
  .split{grid-template-columns:1fr 1fr}
  .ask{grid-template-columns:1.2fr 1fr;gap:var(--s5)}
  .ask-fig{position:sticky;top:110px}
  .head-media{grid-template-columns:1.1fr 1fr}
  .fears{grid-template-columns:1fr 1fr;column-gap:var(--s5);row-gap:var(--s5)}
  .rail{grid-template-columns:1.25fr 1fr;align-items:start}
  .rail-view{display:block}
  .rail-list .t{font-size:28px}
  .fleet{grid-template-columns:repeat(auto-fit,minmax(520px,1fr))}
  .fleet:has(.machine:only-child) .machine{display:grid;grid-template-columns:1.1fr 1fr}
  .fleet:has(.machine:only-child) figure img{height:100%;aspect-ratio:auto}
  .machine-body{padding:var(--s5)}
  .story{min-height:680px}
  .story p.big{font-size:52px}
  .cta .panel{padding:var(--s5)}
  .foot-grid{grid-template-columns:1.2fr 1fr 1fr 1fr}
  .foot-top{grid-template-columns:auto 1fr}
  .sec-head.split-head{grid-template-columns:1fr auto}
  .reel{grid-auto-columns:31%}
  body{padding-bottom:0}
  .callbar{display:none}
  .nav{display:flex;gap:26px}
  .menu{display:none}
  .top .top-call{display:inline-flex}
}
@media (min-width:1100px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .towns{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .js .rv{opacity:1;transform:none}
  .js .rv .core-art{clip-path:none}
}
@media print{.top,.callbar,.wordmark,.camo-ground{display:none}}
h1,h2{overflow-wrap:break-word;hyphens:auto}
.cta .panel,.quick,.prose,.sec-head{min-width:0}
.cta .phone{font-size:clamp(26px,8vw,34px)}
@media (max-width:420px){h2{font-size:27px}h1{font-size:36px}.hero h1{font-size:38px}.rail-list .t{font-size:18px}}

/* emergency work */
.btn-dark-ghost{border-color:rgba(14,12,10,.55);color:var(--on-blaze);background:transparent}
.btn-dark-ghost:hover{background:rgba(14,12,10,.12);color:var(--on-blaze)}
.em-strip{display:block;text-decoration:none;color:var(--ink);background:repeating-linear-gradient(-45deg,#1B140E 0 14px,#21180F 14px 28px);border-bottom:1px solid var(--line);border-left:4px solid var(--blaze)}
.em-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-block:14px}
.em-strip .label{color:var(--on-blaze);background:var(--blaze);padding:4px 8px}
.em-strip .t{font:600 16px/1.35 var(--font-sans);flex:1 1 260px}
.em-strip .go{display:inline-flex;align-items:center;gap:8px;font:500 12px/16px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blaze-text)}
.em-strip .go svg{width:14px;height:14px}
.em-strip:hover .t{color:var(--blaze-text)}
.em-head{border-top:4px solid var(--blaze)}
.em-note{margin-top:var(--s3);font:500 13px/18px var(--font-mono);letter-spacing:.06em;color:var(--amber);border-left:2px solid var(--amber);padding-left:12px}
.em-now{background:var(--surface);border-block:1px solid var(--line)}
.now-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.now-list li{display:grid;grid-template-columns:44px 1fr;gap:var(--s3);background:var(--canvas);padding:var(--s3)}
.now-list .n{width:40px;height:40px;display:grid;place-items:center;background:var(--blaze);color:var(--on-blaze);font:700 16px/1 var(--font-mono)}
.now-list li:first-child .n{background:var(--amber)}
.now-list h3{font:800 20px/1.15 var(--font-display);font-stretch:108%;text-transform:uppercase;margin:0 0 6px}
.now-list p{color:var(--graphite);margin:0}
.em-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s4);counter-reset:none}
.em-steps li{border-top:2px solid var(--blaze);padding-top:var(--s3);display:grid;gap:var(--s2);align-content:start}
.em-steps .label{color:var(--blaze-text)}
.em-steps h3{font:800 22px/1.1 var(--font-display);font-stretch:110%;text-transform:uppercase;margin:0}
.em-steps p:not(.label){color:var(--graphite);margin:0}
@media (min-width:900px){
  .em-steps{grid-template-columns:repeat(4,1fr);gap:var(--s4)}
  .em-ways{grid-template-columns:1fr 1fr}
  .em-now .split{grid-template-columns:1fr 1.3fr}
}
.nav a{white-space:nowrap}
@media (min-width:900px) and (max-width:1149px){.nav{display:none}.menu{display:block}.top .top-call{margin-left:auto}}
@media (min-width:1150px) and (max-width:1279px){.nav{gap:18px}}

/* expanded uppercase needs more room between words, or letters like the Y in "MY YARD" run together */
h1,h2,h3,.ask-tabs button,.stat .v,.way h3,.rail-list .t{word-spacing:.12em}
.ask-tabs button{word-spacing:.2em}
@media (min-width:1100px){.trust ul{grid-template-columns:repeat(4,auto);justify-content:space-between}}
/* the service photo follows you down the list */
@media (min-width:900px){.rail-view{align-self:stretch}.rail-view figure{top:calc(50vh - 170px)}.rail-view img{aspect-ratio:4/3}}

.camo-ground{height:96px;margin-top:var(--s6);border-top:3px solid var(--tan);background:#C9AE84 url(/images/camo-blaze.svg) center 30%/cover no-repeat}

.hero .reach{margin-top:var(--s3);font:500 13px/20px var(--font-mono);letter-spacing:.04em;color:var(--tan)}
.hero .reach a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blaze);text-underline-offset:3px}
.hero .reach a:hover{color:var(--blaze-text)}

/* camo: every inner page head gets one full colour camo band at the top and one at the bottom, clear of the text */
.head{--band:26px;padding:calc(var(--band) + var(--s5)) 0 calc(var(--band) + var(--s6));background:linear-gradient(var(--canvas),var(--canvas)) 0 var(--band)/100% calc(100% - var(--band) * 2) no-repeat,#C9AE84 url(/images/camo-blaze.svg) center/cover no-repeat}
.head::before{top:var(--band);bottom:var(--band)}
.head .laser{bottom:var(--band)}
.head .laser-top{top:var(--band);bottom:auto}
.head .laser-top::after{animation-delay:-3.5s}
@media (min-width:900px){.head{--band:34px}}
/* service area map */
.head-aside .aside{min-width:0}
.svc-map{display:block;width:100%;height:auto;max-height:720px;margin:0 auto;border:1px solid var(--line-2);background:#110E0B}
.sm-peak .lit{fill:#4A3E33}.sm-peak .shade{fill:#2B241E}.sm-peak .snow{fill:#CFC3B0;opacity:.8}.sm-peak .ridge{fill:none;stroke:#1C1713;stroke-width:1;opacity:.7}
.sm-rd-major{fill:none;stroke:#B39A78;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.sm-rd-minor{fill:none;stroke:#7A6A58;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
.sm-lakeshore{fill:none;stroke:#3F6275;stroke-width:9;stroke-linejoin:round;stroke-linecap:round}
.sm-shield rect{fill:#1C1713;stroke:#B39A78;stroke-width:1}.sm-shield text{font:600 9px var(--font-mono);fill:#E8DCC6}
.sm-region{font:500 11px var(--font-mono);letter-spacing:.3em;text-transform:uppercase;fill:#5A4C3E}
.sm-river{fill:none;stroke:#3F6275;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.sm-columbia{stroke-width:9}
.sm-lake{fill:none;stroke:#3F6275;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.sm-water{font:500 10px var(--font-mono);letter-spacing:.18em;text-transform:uppercase;fill:#6E8FA1}
.sm-route{fill:none;stroke:var(--blaze);stroke-width:1.6;stroke-dasharray:.012 .012;opacity:.85}
.sm-ring{fill:none;stroke:var(--blaze);stroke-width:1.5;opacity:.6}
.sm-dot{fill:var(--blaze);stroke:#110E0B;stroke-width:2}
.sm-base .sm-dot{fill:var(--amber)}
.sm-label{font:600 13px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;fill:#F4EFE7;paint-order:stroke;stroke:#110E0B;stroke-width:4px;stroke-linejoin:round}
.sm-hq{font:500 10px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;fill:var(--amber);paint-order:stroke;stroke:#110E0B;stroke-width:4px}
.sm-town{cursor:pointer}
.sm-town:hover .sm-label,.sm-town:focus-visible .sm-label{fill:var(--blaze-text)}
.sm-town:hover .sm-dot{fill:#fff}
.sm-compass circle{fill:none;stroke:#5A4C3E}
.sm-compass .n{fill:var(--blaze)}
.sm-compass text,.sm-scale text,.sm-coord{font:500 10px var(--font-mono);letter-spacing:.14em;fill:#8E7F6E}
.sm-scale path{stroke:#8E7F6E;stroke-width:1.5;fill:none}
@media (prefers-reduced-motion:no-preference){
  .js .aside.rv .sm-river,.js .aside.rv .sm-lake{stroke-dasharray:1;stroke-dashoffset:1}
  .js .aside.rv .sm-route{stroke-dasharray:1;stroke-dashoffset:1}
  .js .aside.rv .sm-town{opacity:0}
  .js .aside.rv .sm-lakeshore,.js .aside.rv .sm-rd-major,.js .aside.rv .sm-rd-minor,.js .aside.rv .sm-shield{opacity:0}
  .js .aside.rv.in .sm-river,.js .aside.rv.in .sm-lake{animation:sm-draw 1.6s ease forwards .1s}
  .js .aside.rv.in .sm-lakeshore{animation:sm-fade 1s ease forwards .8s}
  .js .aside.rv.in .sm-rd-major,.js .aside.rv.in .sm-rd-minor{animation:sm-fade-road 1.2s ease forwards .5s}
  .js .aside.rv.in .sm-shield{animation:sm-fade 1s ease forwards 1.2s}
  .js .aside.rv.in .sm-route{animation:sm-draw .9s ease forwards,sm-march 1.6s linear infinite;animation-delay:var(--d),calc(var(--d) + .9s)}
  .js .aside.rv.in .sm-town{animation:sm-pop .5s cubic-bezier(.2,.9,.3,1.3) forwards;animation-delay:var(--d)}
  .js .aside.rv.in .sm-ring{transform-box:fill-box;transform-origin:center;animation:sm-ping 2.4s ease-out infinite;animation-delay:calc(var(--d) + .5s)}
}
@keyframes sm-draw{to{stroke-dashoffset:0}}
@keyframes sm-fade{to{opacity:1}}
@keyframes sm-fade-road{to{opacity:.75}}
@keyframes sm-march{from{stroke-dasharray:.012 .012;stroke-dashoffset:0}to{stroke-dasharray:.012 .012;stroke-dashoffset:-.024}}
@keyframes sm-pop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes sm-ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
@media (min-width:900px){.svc-map{width:auto;max-width:100%;height:min(720px,calc(100vh - 180px))}}
/* a stand alone camo strip, same size as the page head bands, glow line on top */
.camo-rule{--band:26px;position:relative;height:var(--band);background:#C9AE84 url(/images/camo-blaze.svg) center/cover no-repeat}
.camo-rule .laser{top:0}
.camo-rule + section{border-top:0}
@media (min-width:900px){.camo-rule{--band:34px}}
.camo-ground{position:relative}
.camo-ground .laser{top:0}
.camo-ground .laser-b{top:auto;bottom:0}
.camo-ground-b{margin-top:0;border-top:0}
.camo-ground-b + section{border-top:0}
.story + .camo-ground-b{margin-top:0}
.camo-ground-b{background-position:center 72%}
a.btn.btn-primary,a.btn.btn-primary:hover{color:var(--on-blaze)}
/* phones: the service photo pins above the list and swaps as you scroll, same idea as the desktop hover */
@media (max-width:899px){
  .rail{gap:12px}
  .rail-view{display:block;order:-1;position:sticky;top:69px;z-index:3;margin:0 -16px;padding:8px 16px 10px;background:linear-gradient(var(--canvas) 85%,rgba(14,12,10,0))}
  .rail-view figure{position:relative;top:auto}
  .rail-view img{aspect-ratio:16/9}
  .rail-list a.on{color:var(--blaze-text);padding-left:8px}
}

/* dig site grid: each tile is covered by soil layers that get excavated away to show the finished job */
.digsite{padding-bottom:0}
.digsite .camo-ground{margin-top:var(--s6)}
.dig-grid{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dig{min-width:0}
.dig a{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#17130F;border:1px solid var(--line);text-decoration:none;color:var(--ink);isolation:isolate}
.dig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.dig .plan{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;display:none}
.dig-edge{position:absolute;top:0;bottom:0;left:0;width:2px;z-index:3;background:var(--amber);box-shadow:0 0 14px 2px rgba(255,138,61,.85);opacity:0;pointer-events:none}
.dig-grid.armed .dig .plan{display:block;clip-path:inset(0 0 0 0)}
.dig-grid.armed .dig.dug .plan{clip-path:inset(0 0 0 100%);transition:clip-path 1.2s cubic-bezier(.65,0,.35,1);transition-delay:calc(var(--c) * .15s + .2s)}
.dig-grid.armed .dig.dug .dig-edge{animation:dig-sweep 1.2s cubic-bezier(.65,0,.35,1) forwards;animation-delay:calc(var(--c) * .15s + .2s)}
@keyframes dig-sweep{0%{left:0;opacity:1}92%{left:calc(100% - 2px);opacity:1}100%{left:calc(100% - 2px);opacity:0}}
.dig-no{position:absolute;z-index:4;top:10px;left:12px;font:600 11px/1 var(--font-mono);letter-spacing:.14em;color:var(--ink);text-shadow:0 1px 3px rgba(0,0,0,.8)}
.dig-bar{position:absolute;z-index:4;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;min-height:46px;background:linear-gradient(180deg,rgba(14,12,10,0),rgba(14,12,10,.92) 38%);font:700 12px/1.25 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.dig-bar b{font-weight:700;min-width:0}
.dig-bar svg{flex:none;width:14px;height:14px;color:var(--blaze-text);transition:transform .3s var(--ease)}
.dig a:hover img,.dig a:focus-visible img{transform:scale(1.06)}
.dig a:hover,.dig a:focus-visible{border-color:var(--blaze)}
.dig a:hover .dig-bar svg{transform:translateX(4px)}
.dig-grid:not(.armed) .dig-grid.armed .dig.dug @media (min-width:640px){.dig-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media (min-width:900px){.dig-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dig a{aspect-ratio:4/3}.dig-bar{font-size:13px;padding:12px 14px}}
.dig-bar{align-items:flex-end;min-height:62px}
@media (min-width:900px){.dig-bar{min-height:54px}}
