/* Final visual refinement — dark surfaces, restrained illumination. */
body { background:var(--bg);color:var(--ink); }
:root { --pale: #111e32; --darktext: #eaf1fa; }
.light { background:linear-gradient(140deg,#142338,#0c182a 78%);color:#eaf1fa;--muted:#b3c4d9;--line:#8ba9d133;--accent:#9acafa; }
.light .eyebrow,.capability .n { color:#a5c7e8; }
.capability p { color:#b3c4d9; }
.unit-trucking .light { background:linear-gradient(140deg,#15312b,#0b201b 78%); }
.unit-waste .light { background:linear-gradient(140deg,#243122,#101f15 78%); }
.home-hero {background:radial-gradient(ellipse at 78% 68%,#173f80 0%,transparent 56%),linear-gradient(140deg,#081322,#102956);color:#eef5ff;}
.home-hero .lead {color:#bbd1ee;}
.home-hero:before {opacity:.22;}
.home-hero:after {inset:0;}
.home-hero .hero-topline,.home-hero .hero-bottom {color:#b6d1f4;}
.home-hero h1 em {color:#93c9fa;}
.button.dark {background:#a9d8ff;color:#09233a;}
.button.secondary.dark {background:transparent;color:#d1e7fa;border-color:#6784a1;}
.system-visual {padding:28px 20px 20px;background:linear-gradient(150deg,#152c46,#060d17);overflow:hidden;}
.system-visual img {height:auto;aspect-ratio:3/2;object-fit:contain;}
.unit-card.digital img {object-fit:contain;border-radius:0;}
.unit-card.digital img,.unit-card.trucking img,.unit-card.waste img {transform:scale(1.08);transform-origin:center;}
.operations-hero .actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:540px;gap:12px;}
.operations-hero .button {width:100%;min-height:56px;padding:15px 22px;}
@media(min-width:1101px){.home-hero{padding-top:44px}.home-hero h1{font-size:clamp(52px,5.4vw,78px);max-width:980px;margin:34px auto 18px}.home-hero .lead{margin-bottom:20px}.hero-bottom{padding-top:38px}}
@media(min-width:801px) and (max-width:1100px){.home-hero{padding-top:28px}.home-hero h1{font-size:clamp(48px,5.6vw,62px);max-width:820px;margin:24px auto 14px}.home-hero .lead{font-size:14px;line-height:1.5;margin-bottom:16px}.home-hero .button{min-height:44px;padding:11px 16px}.hero-bottom{padding:24px 0 16px}}
input,select,textarea {background:#0d192a;color:#eef4fc;border-color:#627b99;color-scheme:dark;}
.preview-banner {background:#14293e;color:#c7dbef;border-color:#466480;}
.form-progress span {color:#aebed3;}
.form-progress span.current {color:#b7d9ff;border-color:#8bbcff;}
.review-grid dt {color:#a4bcd9;}
.review-grid div {border-color:#3e546e;}
.legal-table td,.fact dd {overflow-wrap:anywhere;}
.document-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:44px 0;}
.document-grid:has(>.document-card:only-child){grid-template-columns:minmax(0,680px);}
.document-card {border-top:1px solid var(--line);padding-top:24px;}
.document-card img {display:block;width:100%;height:310px;object-fit:contain;object-position:top;background:#08101c;border-radius:8px;margin-bottom:24px;}
.document-card h3 {font-size:26px;margin-bottom:12px;}
.document-card p {font-size:14px;color:var(--muted);}
.document-code {font-family:ui-monospace,monospace;font-size:13px;overflow-wrap:anywhere;}
.document-card a {display:inline-flex;margin-top:12px;}
.detail-notes {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;margin-top:48px;}
.detail-notes article {border-top:1px solid var(--line);padding-top:24px;}
.detail-notes h3 {font-size:22px;}
.detail-notes p {color:var(--muted);font-size:15px;line-height:1.8;}
.detail-notes ol {padding-left:20px;color:var(--muted);font-size:15px;line-height:1.8;}
.detail-notes li {padding-left:6px;margin-bottom:14px;}
.legal-disclosure {padding:28px;border-left:3px solid #8abbea;background:#0b1625;margin:32px 0;}
.legal-disclosure p {color:#b8cbe1;font-size:14px;line-height:1.8;margin:10px 0 0;}
.public-links {display:flex;flex-wrap:wrap;gap:18px;margin-top:24px;}
.public-links a {font-size:14px;text-decoration:underline;text-underline-offset:5px;}
.unit-trucking .cta-section {background:linear-gradient(0deg,#1c745b,#102e28 45%,#081b17 90%);}
.unit-waste .cta-section {background:linear-gradient(0deg,#405d2c,#203120 45%,#0b1d15 90%);}
@media(max-width:680px){.document-grid,.detail-notes{grid-template-columns:1fr;gap:30px}.document-card img{height:270px}.legal-disclosure{padding:20px}.legal-table{display:table;table-layout:fixed}.legal-table th,.legal-table td{min-width:0;padding:12px 7px;font-size:12px;overflow-wrap:anywhere;}.legal-table th:first-child{width:19%}.system-visual{padding:18px 12px}.document-code{font-size:12px}.operations-hero .actions{grid-template-columns:1fr;max-width:none}}

/* Professional component and responsive polish. */
#header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: color-mix(in srgb, #050b16 88%, transparent);
  box-shadow: 0 1px 0 #d5e8ff17, 0 14px 42px #01050d2b;
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
}
#header .topnav { border-bottom: 0; }
body.menu-open { overflow: hidden; }

.button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 52px;
  padding: 7px 8px 7px 19px;
  gap: 24px;
  border-radius: 12px;
  border-color: #d7e8fb80;
  background: linear-gradient(135deg,#f7fbff,#dbeaff);
  color: #0a1b32;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: -.012em;
  box-shadow: inset 0 1px 0 #fff,0 8px 24px #02081724;
  transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;
}
.button .arrow {
  width: 36px;
  height: 36px;
  padding: 9px;
  border-radius: 9px;
  color: #f4f8ff;
  background: #102540;
  stroke-width: 2.1;
  transition: transform .22s ease,background .22s ease;
}
.button.secondary {
  color: #edf5ff;
  border-color: #a7c9ef4f;
  background: linear-gradient(135deg,#173251bd,#0c1a2dbd);
  box-shadow: inset 0 1px 0 #d9ecff24,0 8px 24px #02081720;
  backdrop-filter: blur(10px);
}
.button.secondary .arrow {
  color: #f4f8ff;
  background: #d6e8ff17;
  box-shadow: inset 0 0 0 1px #cae1ff24;
}
.button.dark {
  color: #071b30;
  border-color: #c6e5ff80;
  background: linear-gradient(135deg,#bde3ff,#8bc8f6);
  box-shadow: inset 0 1px 0 #eff9ff,0 9px 24px #0208172e;
}
.button.dark .arrow {
  color: #eff8ff;
  background: #123554;
}
.cta-section .actions {
  gap: 10px;
  align-items: stretch;
}
.cta-section .button {
  min-width: 224px;
  min-height: 54px;
}
.operations-hero .button {
  min-height: 54px;
  padding: 7px 8px 7px 18px;
}
.menu-toggle {
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border-radius: 11px;
  background: #102039b8;
  box-shadow: inset 0 1px 0 #d9eaff1c;
}
.unit-card,
.capability,
.service-block a,
.textlink {
  transition-timing-function: cubic-bezier(.2,.7,.2,1);
}
.unit-card img {
  filter: drop-shadow(0 14px 16px #020a123d);
  transition: transform .5s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.unit-card .go .arrow,
.capability .arrow,
.service-block .arrow,
.textlink .arrow {
  transition: transform .22s ease;
}

@media (hover:hover) and (pointer:fine) {
  .button:hover {
    transform: translateY(-2px);
    border-color: #eef7ffcc;
    background: linear-gradient(135deg,#fff,#e7f2ff);
    box-shadow: inset 0 1px 0 #fff,0 13px 30px #02081738;
  }
  .button:hover .arrow { transform: translate(2px,-2px);background:#18395f; }
  .button.secondary:hover { background:linear-gradient(135deg,#214263d9,#11243bd9); }
  .button.secondary:hover .arrow { background:#d6e8ff24; }
  .button.dark:hover { background:linear-gradient(135deg,#cbeaff,#9fd4fa); }
  .unit-card:hover img { transform:translateY(-4px) scale(1.11);filter:drop-shadow(0 20px 19px #020a125c); }
  .unit-card:hover .go .arrow,
  .capability:hover .arrow,
  .service-block a:hover .arrow,
  .textlink:hover .arrow { transform:translate(2px,-2px); }
}
.button:active { transform:translateY(0) scale(.985); }

/* Progressive motion: content stays visible when JavaScript is unavailable. */
.motion-ready .reveal {
  opacity: 1;
  transform: translateY(22px);
  transition:
    transform .62s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.motion-ready .reveal.is-visible {
  transform: translateY(0);
}

/* Tablet navigation and card composition. */
@media (max-width:960px) {
  .wrap { width:calc(100% - 48px); }
  .section { padding-block:76px; }
  .topnav { height:76px; }
  .topnav > .button { display:none; }
  .menu-toggle { display:grid; }
  .navlinks {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:76px;
    z-index:30;
    padding:16px 24px 22px;
    max-height:calc(100dvh - 76px);
    overflow-y:auto;
    background:#071321f5;
    border-bottom:1px solid var(--line);
    box-shadow:0 24px 50px #0008;
    backdrop-filter:blur(18px);
  }
  .navlinks.open { display:flex;flex-direction:column;align-items:stretch;gap:4px; }
  .navlinks a { min-height:48px;font-size:14px;border-bottom:1px solid #ffffff12; }
  .section-head { align-items:start; }
  .cta-section { padding-block:84px; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-ready .reveal,
  .motion-ready .reveal.is-visible {
    transform: none;
    transition: none;
  }
}

@media (min-width:641px) and (max-width:960px) {
  .unit-cards { grid-template-columns:1fr;gap:18px; }
  .unit-card {
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);
    grid-template-rows:auto auto 1fr auto;
    column-gap:34px;
    min-height:330px;
    padding:28px;
  }
  .unit-card .label { grid-column:1/-1;min-height:24px; }
  .unit-card h3 { grid-column:1;grid-row:2;font-size:clamp(27px,3.8vw,34px);max-width:390px;margin-top:34px; }
  .unit-card p { grid-column:1;grid-row:3;max-width:430px;margin-bottom:22px; }
  .unit-card .go { grid-column:1/-1;grid-row:4;padding-top:18px;border-top:1px solid #ffffff18; }
  .unit-card-visual { grid-column:2;grid-row:2/4;height:220px;margin:0;align-self:center; }
  .unit-card.digital img,.unit-card.trucking img,.unit-card.waste img { transform:scale(1.03); }
  .digital-heading h1 { font-size:clamp(54px,8vw,72px); }
  .operations-hero h1 { font-size:clamp(50px,7vw,66px); }
  .detail-notes { gap:26px; }
}

@media (max-width:640px) {
  .wrap { width:calc(100% - 36px); }
  .section { padding-block:58px; }
  h2 { font-size:clamp(31px,10vw,43px); }
  .eyebrow { margin-bottom:18px; }
  .actions { width:100%;display:grid;grid-template-columns:1fr;gap:9px; }
  .actions .button,
  .cta-section .button { width:100%;min-width:0;max-width:none; }
  .button { min-height:52px;padding-left:17px; }
  .unit-card {
    display:flex;
    min-height:0;
    padding:22px;
    border-radius:16px;
  }
  .unit-card-visual { height:190px;margin:4px 0 17px; }
  .unit-card h3 { font-size:26px;margin-bottom:10px; }
  .unit-card p { margin-bottom:20px; }
  .unit-card .go { padding-top:17px;border-top:1px solid #ffffff17; }
  .unit-card.digital img,.unit-card.trucking img,.unit-card.waste img { transform:scale(1.03); }
  .values,.steps { grid-template-columns:1fr;gap:0; }
  .value,.step { padding-block:22px;border-top:1px solid var(--line); }
  .operation-points { grid-template-columns:1fr;gap:4px; }
  .digital-heading h1 { font-size:clamp(45px,14vw,56px); }
  .operations-hero h1 { font-size:clamp(43px,13vw,52px); }
  .hero-bottom { overflow-x:auto;justify-content:flex-start;gap:24px;padding-bottom:8px;scrollbar-width:none; }
  .hero-bottom span { flex:0 0 auto; }
  .document-card img { height:240px; }
  .legal-disclosure { border-left-width:2px; }
}

@media (max-width:380px) {
  .wrap { width:calc(100% - 28px); }
  .logo { width:145px; }
  .home-hero h1 { font-size:42px; }
  .unit-card { padding:18px; }
  .unit-card-visual { height:170px; }
  .button { font-size:12.5px; }
}

/* Premium motion system — subtle, performant, and content-safe. */
:root { --ease-premium:cubic-bezier(.22,1,.36,1); }

#main.page-enter { animation:page-enter .52s var(--ease-premium) both; }
@keyframes page-enter {
  from { opacity:.88;transform:translateY(8px); }
  to { opacity:1;transform:none; }
}

.navlinks a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:3px;
  width:auto;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  opacity:.62;
  transition:transform .36s var(--ease-premium),opacity .2s ease;
}
.navlinks a[aria-current="page"]::after,
.navlinks a:hover::after {
  width:auto;
  transform:scaleX(1);
  transform-origin:left;
}
.navlinks a[aria-current="page"]::after { background:var(--accent);opacity:1; }

.menu-icon {
  position:relative;
  display:block;
  width:20px;
  height:14px;
}
.menu-icon span {
  position:absolute;
  left:0;
  width:20px;
  height:1.5px;
  border-radius:2px;
  background:currentColor;
  transition:top .3s var(--ease-premium),transform .3s var(--ease-premium),width .3s var(--ease-premium);
}
.menu-icon span:first-child { top:3px; }
.menu-icon span:last-child { top:10px;width:14px;right:0;left:auto; }
.menu-toggle[aria-expanded="true"] .menu-icon span:first-child { top:6px;transform:rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon span:last-child { top:6px;width:20px;transform:rotate(-45deg); }

.button::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:-2px;
  pointer-events:none;
  opacity:.34;
  background:linear-gradient(105deg,transparent 22%,#ffffff9c 48%,transparent 72%);
  transform:translateX(-125%);
  transition:transform .72s var(--ease-premium);
}
@media (hover:hover) and (pointer:fine) {
  .button:hover::before { transform:translateX(125%); }
}

.home-hero::after { animation:pattern-drift 24s ease-in-out infinite alternate; }
.digital-hero::before { animation:grid-drift 22s ease-in-out infinite alternate; }
.operations-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 78% 32%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 28%);
  animation:ambient-drift 11s ease-in-out infinite alternate;
}
@keyframes pattern-drift { to { transform:translate3d(1.4%,-1%,0) scale(1.025); } }
@keyframes grid-drift { to { transform:translate3d(1.5%,0,0); } }
@keyframes ambient-drift { to { transform:translate3d(-3%,3%,0) scale(1.08);opacity:.7; } }

.page-enter .home-hero .hero-topline,
.page-enter .digital-hero .hero-topline,
.page-enter .operations-hero > .wrap > .eyebrow,
.page-enter .home-hero h1,
.page-enter .digital-heading,
.page-enter .operations-hero .split,
.page-enter .home-hero .lead,
.page-enter .home-hero .actions,
.page-enter .display-word,
.page-enter .hero-bottom,
.page-enter .digital-strip,
.page-enter .operation-points {
  animation:hero-rise .78s var(--ease-premium) both;
}
.page-enter .home-hero h1,
.page-enter .digital-heading,
.page-enter .operations-hero .split { animation-delay:.07s; }
.page-enter .home-hero .lead,
.page-enter .display-word { animation-delay:.14s; }
.page-enter .home-hero .actions,
.page-enter .hero-bottom,
.page-enter .digital-strip,
.page-enter .operation-points { animation-delay:.21s; }
@keyframes hero-rise {
  from { opacity:.72;transform:translateY(18px);filter:blur(2px); }
  to { opacity:1;transform:none;filter:none; }
}

.unit-card-visual { animation:visual-float 6.8s ease-in-out infinite alternate; }
.unit-card:nth-child(2) .unit-card-visual { animation-delay:-2.2s;animation-duration:7.6s; }
.unit-card:nth-child(3) .unit-card-visual { animation-delay:-4.1s;animation-duration:7.2s; }
.operations-visual img,
.system-visual img { animation:art-float 7s ease-in-out infinite alternate; }
.unit-waste .operations-visual img { animation-delay:-2.8s; }
@keyframes visual-float { to { transform:translate3d(0,-7px,0); } }
@keyframes art-float { to { transform:translate3d(0,-6px,0) scale(1.012); } }

.interactive-surface {
  --spot-x:50%;
  --spot-y:38%;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.interactive-surface::after {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(360px circle at var(--spot-x) var(--spot-y),#d9efff24,transparent 62%);
  transition:opacity .35s ease;
}
.interactive-surface:hover::after { opacity:1; }
.interactive-surface > * { position:relative;z-index:1; }

.capability,
.service-block { position:relative;isolation:isolate; }
.capability::before,
.service-block::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:5px -18px;
  border-radius:12px;
  opacity:0;
  background:linear-gradient(90deg,#cce5ff0a,#cce5ff04 60%,transparent);
  transform:scaleX(.98);
  transition:opacity .28s ease,transform .38s var(--ease-premium);
}
.unit-trucking .service-block::before { background:linear-gradient(90deg,#9ce9c310,transparent); }
.unit-waste .service-block::before { background:linear-gradient(90deg,#d8ed9a10,transparent); }
@media (hover:hover) and (pointer:fine) {
  .capability:hover::before,
  .service-block:hover::before { opacity:1;transform:scaleX(1); }
}

.motion-ready .reveal {
  opacity:.76;
  transform:translateY(24px) scale(.992);
  transition:opacity .62s ease,transform .72s var(--ease-premium);
}
.motion-ready .reveal.is-visible { opacity:1;transform:none; }

@media (max-width:960px) {
  .navlinks {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .24s ease,transform .38s var(--ease-premium),visibility .38s;
  }
  .navlinks.open {
    display:flex;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:none;
  }
  .navlinks a::after { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  #main.page-enter,
  .home-hero::after,
  .digital-hero::before,
  .operations-hero::after,
  .page-enter .home-hero .hero-topline,
  .page-enter .digital-hero .hero-topline,
  .page-enter .operations-hero > .wrap > .eyebrow,
  .page-enter .home-hero h1,
  .page-enter .digital-heading,
  .page-enter .operations-hero .split,
  .page-enter .home-hero .lead,
  .page-enter .home-hero .actions,
  .page-enter .display-word,
  .page-enter .hero-bottom,
  .page-enter .digital-strip,
  .page-enter .operation-points,
  .unit-card-visual,
  .operations-visual img,
  .system-visual img { animation:none; }
  .motion-ready .reveal,
  .motion-ready .reveal.is-visible { opacity:1;transform:none; }
}
