/* Twisted 6 Excavation
   Dark forest-green / construction-accent UI pass.
   CSS-only, no external assets, no JavaScript.
*/
:root{
  /* Core palette */
  --forest-950:#06110b;
  --forest-900:#0a1a10;
  --forest-850:#0e2215;
  --forest-800:#122a1a;
  --forest-700:#183824;
  --forest-600:#214b31;
  --moss-500:#3f6b3d;

  --charcoal:#0c0f0c;
  --asphalt:#151812;
  --soil:#241b12;
  --mud:#352516;

  --safety:#f7b500;
  --safety-2:#ffcf3d;
  --orange:#e86f1f;
  --rust:#b8531b;

  --cream:#fff7e6;
  --paper:#f5ebd7;
  --paper-2:#ebe0ca;
  --muted:#b8ad98;
  --muted-dark:#807766;
  --line:rgba(255,247,230,.13);
  --line-dark:rgba(6,17,11,.14);

  --success:#77b255;
  --white:#ffffff;
  --black:#050705;
  --ring:#ffcf3d;

  --max:1140px;
  --radius:24px;
  --radius-sm:15px;
  --shadow:0 30px 90px rgba(0,0,0,.32);
  --shadow-soft:0 18px 44px rgba(6,17,11,.18);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--forest-950)}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--cream);
  background:
    radial-gradient(900px 520px at 74% -10%,rgba(247,181,0,.18),transparent 60%),
    radial-gradient(760px 480px at 10% 12%,rgba(63,107,61,.22),transparent 62%),
    linear-gradient(180deg,var(--forest-950) 0%,var(--forest-900) 38%,#10140f 72%,var(--forest-950) 100%);
  line-height:1.62;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.48;
  background-image:
    linear-gradient(rgba(255,247,230,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,247,230,.03) 1px,transparent 1px),
    radial-gradient(circle at center,rgba(247,181,0,.06) 0 1px,transparent 1px);
  background-size:44px 44px,44px 44px,22px 22px;
  mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 78%,transparent);
  z-index:-1;
}
img{max-width:100%;height:auto}
a{color:var(--safety-2);text-underline-offset:.22em}
a:hover{color:#fff}
a:focus-visible,.button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--ring);
  outline-offset:4px;
}
.skip-link{
  position:absolute;left:-999px;top:auto;background:var(--safety-2);color:var(--black);
  padding:.75rem 1rem;border-radius:999px;z-index:60;font-weight:900;box-shadow:var(--shadow-soft)
}
.skip-link:focus{left:1rem;top:1rem}
.shell{width:min(var(--max),92vw);margin-inline:auto}
.narrow{width:min(850px,92vw);margin-inline:auto}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(6,17,11,.82);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
  box-shadow:0 16px 38px rgba(0,0,0,.26);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.86rem 0}
.brand{
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  text-decoration:none;
  font-weight:1000;
  letter-spacing:-.025em;
  color:#fff;
}
.brand:hover{color:#fff}
.brand-mark{
  display:grid;
  place-items:center;
  width:2.85rem;
  height:2.85rem;
  border-radius:16px;
  color:#101006;
  font-weight:1000;
  letter-spacing:-.055em;
  background:
    linear-gradient(135deg,#ffe071 0%,var(--safety) 48%,var(--orange) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.58),
    0 14px 30px rgba(247,181,0,.26),
    0 0 0 1px rgba(255,255,255,.11);
  transform:rotate(-4deg);
}
nav{display:flex;gap:.42rem;flex-wrap:wrap;align-items:center}
nav a{
  color:rgba(255,247,230,.88);
  text-decoration:none;
  font-weight:850;
  font-size:.94rem;
  padding:.58rem .76rem;
  border-radius:999px;
  border:1px solid transparent;
}
nav a:hover{
  color:#fff;
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.11);
}
.call-chip{
  background:linear-gradient(135deg,var(--safety-2),var(--safety) 56%,var(--orange))!important;
  color:#111006!important;
  box-shadow:0 14px 32px rgba(247,181,0,.24);
}

/* Hero */
.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  padding:clamp(5.2rem,8.4vw,8.6rem) 0 clamp(4.4rem,7.6vw,6.8rem);
  background:
    linear-gradient(115deg,rgba(6,17,11,.96) 0%,rgba(10,26,16,.93) 43%,rgba(36,27,18,.88) 100%),
    radial-gradient(760px 400px at 82% 14%,rgba(247,181,0,.23),transparent 64%),
    linear-gradient(135deg,var(--forest-900),var(--soil));
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(140deg,transparent 0 42%,rgba(247,181,0,.18) 42.2% 43.6%,transparent 43.8%),
    linear-gradient(152deg,transparent 0 54%,rgba(232,111,31,.12) 54.2% 55.3%,transparent 55.5%),
    radial-gradient(circle at 86% 38%,rgba(255,255,255,.07),transparent 0 1px,transparent 1px);
  background-size:auto,auto,24px 24px;
}
.hero::after{
  content:"";
  position:absolute;
  right:-150px;
  top:52px;
  width:590px;
  height:590px;
  border-radius:50%;
  border:1px solid rgba(255,247,230,.13);
  box-shadow:
    inset 0 0 0 42px rgba(255,247,230,.035),
    inset 0 0 0 92px rgba(247,181,0,.045),
    0 0 90px rgba(247,181,0,.08);
  z-index:-1;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.13fr) minmax(315px,.87fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
}
.eyebrow,.kicker{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.77rem;
  font-weight:1000;
}
.eyebrow{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  color:#111006;
  background:linear-gradient(135deg,var(--safety-2),var(--safety));
  padding:.42rem .65rem;
  border-radius:999px;
  box-shadow:0 12px 28px rgba(247,181,0,.18);
  margin:0 0 1.05rem;
}
.kicker{color:var(--safety);margin:.1rem 0 .55rem}
h1,h2,h3{
  font-family:ui-serif,Georgia,"Times New Roman",serif;
  color:var(--cream);
  letter-spacing:-.04em;
}
h1{
  font-size:clamp(2.85rem,6.6vw,5.75rem);
  line-height:.92;
  margin:.15rem 0 1.05rem;
  max-width:11.2ch;
}
main>.section h1{max-width:950px}
h2{font-size:clamp(1.68rem,3.05vw,2.55rem);line-height:1.08;margin:.15rem 0 .78rem}
h3{font-size:1.22rem;line-height:1.18;margin:.08rem 0 .48rem}
.lead{
  font-size:clamp(1.09rem,1.72vw,1.3rem);
  max-width:67ch;
  color:rgba(255,247,230,.88);
}
.actions{display:flex;flex-wrap:wrap;gap:.88rem;margin-top:1.9rem}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  border-radius:999px;
  padding:.92rem 1.2rem;
  text-decoration:none;
  font-weight:1000;
  letter-spacing:-.012em;
  border:1px solid transparent;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.button:hover{transform:translateY(-2px)}
.primary{
  background:linear-gradient(135deg,#ffe071 0%,var(--safety) 52%,var(--orange) 100%);
  color:#111006;
  box-shadow:0 18px 40px rgba(247,181,0,.26),inset 0 1px 0 rgba(255,255,255,.48);
}
.primary:hover{color:#111006;box-shadow:0 22px 50px rgba(247,181,0,.34)}
.secondary{
  background:rgba(255,247,230,.075);
  color:#fff;
  border-color:rgba(255,247,230,.24);
}
.secondary:hover{background:rgba(255,247,230,.13);border-color:rgba(255,247,230,.34);color:#fff}
.light{
  background:rgba(255,247,230,.96);
  color:var(--forest-900);
  border-color:rgba(255,247,230,.18);
  box-shadow:var(--shadow-soft);
}
.light:hover{color:var(--forest-950)}

/* Cards / surfaces */
.card,.mini-card,.panel{
  color:var(--cream);
  background:
    linear-gradient(180deg,rgba(18,42,26,.92),rgba(10,26,16,.90));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(1.25rem,2.75vw,2.05rem);
  box-shadow:var(--shadow);
}
.card{
  position:relative;
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:8px;
  background:linear-gradient(90deg,var(--safety),var(--orange),var(--moss-500));
}
.card::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-110px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(247,181,0,.13),transparent 68%);
  pointer-events:none;
}
.card code{
  background:rgba(247,181,0,.16);
  color:var(--safety-2);
  padding:.12rem .4rem;
  border-radius:.45rem;
  font-weight:900;
}

/* Sections */
.section{
  position:relative;
  padding:clamp(3.4rem,6.5vw,5.65rem) 0;
}
.section.alt{
  background:
    radial-gradient(700px 400px at 18% 10%,rgba(247,181,0,.08),transparent 62%),
    linear-gradient(180deg,rgba(12,15,12,.22),rgba(6,17,11,.58));
  border-block:1px solid var(--line);
}
.section-head{max-width:790px;margin-bottom:1.75rem}
.section-head p:not(.kicker){font-size:1.04rem;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.05rem}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.mini-card{
  min-height:100%;
  box-shadow:var(--shadow-soft);
  background:
    linear-gradient(180deg,rgba(18,42,26,.82),rgba(10,26,16,.94));
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.mini-card:hover{
  transform:translateY(-4px);
  border-color:rgba(247,181,0,.42);
  background:
    linear-gradient(180deg,rgba(24,56,36,.92),rgba(10,26,16,.97));
  box-shadow:0 22px 55px rgba(0,0,0,.28);
}
.mini-card h2,.mini-card h3{color:#fff}
.mini-card p,.panel p,.card p{color:rgba(255,247,230,.82)}
.mini-card p:last-child,.panel p:last-child{margin-bottom:0}
.check-list{padding-left:1.18rem;margin:.82rem 0;color:rgba(255,247,230,.84)}
.check-list li{margin:.42rem 0}
.check-list li::marker{color:var(--safety)}
.service-list{display:grid;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}
.service-list li{
  padding:.8rem .92rem;
  background:rgba(255,247,230,.06);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.notice{
  border:1px solid rgba(247,181,0,.28);
  border-left:6px solid var(--safety);
  background:linear-gradient(180deg,rgba(247,181,0,.11),rgba(255,247,230,.055));
  padding:1rem 1.1rem;
  border-radius:var(--radius-sm);
  color:rgba(255,247,230,.86);
}
.muted{color:var(--muted)}
.panel{
  background:
    linear-gradient(180deg,rgba(18,42,26,.76),rgba(10,26,16,.92));
  box-shadow:var(--shadow-soft);
}
.cta-band{
  background:
    radial-gradient(760px 320px at 80% 16%,rgba(247,181,0,.20),transparent 64%),
    linear-gradient(135deg,var(--forest-800),var(--forest-950) 70%);
  color:#fff;
  border-block:1px solid var(--line);
}
.cta-band::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.4;
  background:linear-gradient(135deg,transparent 0 44%,rgba(247,181,0,.14) 44.2% 45.2%,transparent 45.4%);
}
.cta-band h2{color:#fff;max-width:990px}
.cta-band .kicker{color:var(--safety-2)}
.cta-band a{color:#fff}
.cta-band .primary{color:#111006}

/* Interior page polish */
main>.section:first-child{
  padding-top:clamp(4.2rem,7.2vw,6.2rem);
}
main>.section:first-child::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:10px;
  background:linear-gradient(90deg,var(--forest-600),var(--safety),var(--orange),var(--forest-700));
}
main>.section:first-child .lead{
  color:rgba(255,247,230,.84);
}

/* Footer */
.site-footer{
  border-top:1px solid var(--line);
  padding:2rem 0;
  background:#050705;
  color:rgba(255,247,230,.68);
}
.site-footer a{color:var(--safety-2)}
.footer-grid{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer-grid p{margin:.25rem 0}

/* Small modern touches */
::selection{background:var(--safety);color:#111006}
.card,.mini-card,.panel,.brand-mark,.button{
  will-change:transform;
}
@supports (backdrop-filter:blur(20px)){
  .card,.mini-card,.panel{backdrop-filter:blur(10px)}
}

/* Mobile */
@media (max-width:900px){
  .hero-grid,.cards,.two{grid-template-columns:1fr}
  .hero{padding-top:4.35rem}
  h1{max-width:100%;font-size:clamp(2.45rem,12.6vw,4.2rem)}
  .hero::after{opacity:.42;right:-285px}
}
@media (max-width:720px){
  .nav{align-items:stretch;flex-direction:column;padding:.82rem 0}
  .brand{justify-content:space-between}
  nav{display:grid;grid-template-columns:1fr 1fr;gap:.46rem}
  nav a{
    text-align:center;
    background:rgba(255,247,230,.055);
    border:1px solid rgba(255,247,230,.105);
  }
  .call-chip{grid-column:1/-1}
  .actions{align-items:stretch}
  .button{width:100%}
  .card,.mini-card,.panel{border-radius:19px}
  .eyebrow{width:auto}
}
@media (max-width:430px){
  .shell,.narrow{width:min(94vw,var(--max))}
  nav{grid-template-columns:1fr}
  .brand-mark{width:2.5rem;height:2.5rem}
  h1{font-size:2.38rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
