:root {
  --ink: #f6f2e8;
  --ink-soft: #b8b4aa;
  --coal: #0b0d0d;
  --coal-2: #111513;
  --coal-3: #171c19;
  --line: rgba(246, 242, 232, .12);
  --line-strong: rgba(246, 242, 232, .2);
  --sand: #d6c19a;
  --sand-2: #f0dfbb;
  --ember: #ef6b3d;
  --ember-2: #ff9a63;
  --moss: #859d6c;
  --yellow: #f2c56b;
  --shadow: 0 25px 80px rgba(0,0,0,.38);
  --radius: 24px;
  --radius-sm: 14px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--coal);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { color: var(--coal); background: var(--yellow); }

.container { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--sand);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 26px; height: 1px; background: var(--ember); display: block; }
.display, h1, h2, h3, .brand-name { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; }
.display { font-size: clamp(3.4rem, 7.6vw, 7.2rem); line-height: .9; margin: 24px 0 28px; max-width: 850px; }
h1 { font-size: clamp(3rem, 6vw, 6.2rem); line-height: .92; margin: 24px 0; }
h2 { font-size: clamp(2.25rem, 4.6vw, 4.8rem); line-height: .96; margin: 16px 0 20px; }
h3 { font-size: 1.55rem; line-height: 1.05; margin: 0 0 11px; }
p { margin: 0 0 18px; color: var(--ink-soft); }
.lede { max-width: 610px; font-size: clamp(1rem, 1.55vw, 1.18rem); line-height: 1.75; }
.text-link { color: var(--sand-2); font-weight: 700; font-size: .92rem; display: inline-flex; align-items: center; gap: 10px; }
.text-link::after { content: "↗"; color: var(--ember-2); font-size: 1.1em; transition: transform .2s ease; }
.text-link:hover::after { transform: translate(3px, -3px); }

.site-header {
  position: absolute;
  z-index: 10;
  inset: 0 0 auto;
  padding: 24px 0;
}
.site-header.scrolled { position: fixed; background: rgba(11,13,13,.84); backdrop-filter: blur(15px); border-bottom: 1px solid var(--line); padding: 14px 0; animation: navIn .3s ease both; }
@keyframes navIn { from { transform: translateY(-10px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.main-nav { margin-inline: auto; }
.nav-actions { display: inline-flex; align-items: center; gap: 8px; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: 0; }
.brand-mark { width: 38px; height: 38px; color: var(--yellow); flex: 0 0 auto; }
.brand-name { font-size: 1.28rem; line-height: .9; color: var(--ink); }
.brand-sub { display: block; margin-top: 4px; color: var(--ink-soft); font-family: Inter, sans-serif; font-size: .52rem; letter-spacing: .19em; font-weight: 800; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 28px; }
.main-nav a { color: #bbb9b1; font-size: .83rem; font-weight: 650; transition: color .2s ease; }
.main-nav a:hover, .main-nav a.active { color: var(--ink); }
.main-nav a.active::after { content: ""; display: block; width: 5px; height: 5px; margin: 5px auto 0; border-radius: 50%; background: var(--ember); }
.nav-cta { display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; border: 1px solid var(--line-strong); border-radius: 999px; font-size: .8rem; font-weight: 750; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.nav-cta::after { content: "→"; color: var(--yellow); font-size: 1.1rem; }
.nav-cta:hover { background: rgba(246,242,232,.08); border-color: rgba(246,242,232,.38); transform: translateY(-2px); }
.menu-toggle { display: none; border: 0; background: none; color: var(--ink); font-size: 1.8rem; line-height: 1; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 11px; border-radius: 999px; border: 1px solid transparent; padding: 14px 21px; font-size: .84rem; font-weight: 800; transition: transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease; }
.btn:hover { transform: translateY(-3px); }
.btn-primary { color: var(--coal); background: var(--yellow); }
.btn-primary:hover { background: var(--sand-2); }
.btn-quiet { color: var(--ink); border-color: var(--line-strong); background: rgba(255,255,255,.02); }
.btn-quiet:hover { border-color: var(--sand); background: rgba(255,255,255,.08); }
.btn-arrow::after { content: "↗"; font-size: 1rem; }

.hero { min-height: 800px; position: relative; overflow: hidden; display: flex; align-items: center; background: radial-gradient(circle at 70% 32%, rgba(80,71,46,.26), transparent 32%), linear-gradient(112deg, #0a0d0c 0%, #121817 59%, #222218 100%); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(to right, black 0%, transparent 90%); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 35%; background: linear-gradient(transparent, var(--coal)); pointer-events: none; }
.hero-content { position: relative; z-index: 2; padding: 160px 0 125px; }
.hero-copy { width: 58%; }
.hero h1 span { color: var(--yellow); font-style: italic; }
.hero .lede { color: #c3c1b7; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.hero-note { display: flex; align-items: center; gap: 11px; margin-top: 48px; color: var(--ink-soft); font-size: .75rem; letter-spacing: .03em; }
.hero-note i { width: 8px; height: 8px; border-radius: 50%; background: var(--ember); box-shadow: 0 0 0 6px rgba(239,107,61,.11); }

.mountain-art { position: absolute; z-index: 1; right: -2%; bottom: -1px; width: 57%; min-width: 530px; height: 86%; pointer-events: none; }
.mountain-art svg { width: 100%; height: 100%; overflow: visible; }
.mountain-art .sun { animation: sunPulse 5s ease-in-out infinite; transform-origin: 72% 27%; }
@keyframes sunPulse { 0%,100% { opacity: .72; transform: scale(1); } 50% { opacity: .95; transform: scale(1.06); } }
.mountain-art .dust { animation: dustFloat 8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.mountain-art .dust:nth-child(2) { animation-delay: -2s; }
.mountain-art .dust:nth-child(3) { animation-delay: -5s; }
@keyframes dustFloat { 0%,100% { opacity: 0; transform: translate(0, 18px); } 25%,75% { opacity: .75; } 50% { opacity: .35; transform: translate(10px, -8px); } }

.section { position: relative; padding: 120px 0; }
.section-tight { padding: 74px 0; }
.section-dark { background: var(--coal); }
.section-soft { background: #101513; }
.section-earth { background: #1b1a14; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 58px; }
.section-head > div:first-child { max-width: 670px; }
.section-head p { max-width: 470px; }
.rule { height: 1px; background: var(--line); }

.intro-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; align-items: start; }
.intro-copy h2 { max-width: 680px; }
.intro-copy p { max-width: 560px; }
.pullquote { margin: 42px 0 0; padding: 22px 0 0 25px; border-left: 2px solid var(--ember); color: var(--sand-2); font-family: Georgia, serif; font-size: 1.38rem; line-height: 1.35; max-width: 480px; }
.pullquote small { display: block; margin-top: 15px; color: var(--ink-soft); font-family: Inter, sans-serif; font-size: .71rem; letter-spacing: .12em; text-transform: uppercase; }
.feature-stack { display: grid; gap: 14px; }
.feature-card { display: flex; gap: 18px; align-items: flex-start; padding: 21px 0; border-top: 1px solid var(--line); }
.feature-card:last-child { border-bottom: 1px solid var(--line); }
.feature-number { color: var(--ember-2); font-family: Georgia, serif; font-size: 1rem; }
.feature-card h3 { font-size: 1.25rem; }
.feature-card p { font-size: .89rem; line-height: 1.6; margin: 0; }

.mini-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.mini-stat { padding: 25px 18px; border-right: 1px solid var(--line); }
.mini-stat:last-child { border-right: 0; }
.mini-stat strong { display: block; color: var(--sand-2); font-family: Georgia, serif; font-size: 2.1rem; font-weight: 400; letter-spacing: -.05em; }
.mini-stat span { color: var(--ink-soft); font-size: .75rem; }

.pathway { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.path-card { position: relative; min-height: 290px; padding: 30px; background: var(--coal-2); overflow: hidden; }
.path-card::after { content: attr(data-step); position: absolute; right: 22px; top: 17px; color: rgba(246,242,232,.1); font-family: Georgia, serif; font-size: 5.3rem; line-height: 1; }
.path-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 38px; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--yellow); }
.path-icon svg { width: 22px; height: 22px; }
.path-card p { font-size: .88rem; max-width: 280px; }

.marquee { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #0e1210; }
.marquee-track { display: flex; width: max-content; padding: 17px 0; animation: marquee 30s linear infinite; }
.marquee-item { display: inline-flex; align-items: center; gap: 22px; padding: 0 24px; color: var(--sand); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.marquee-item::after { content: "◆"; color: var(--ember); font-size: .55rem; }
@keyframes marquee { to { transform: translateX(-50%); } }

.callout { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 35px; padding: 48px 52px; background: linear-gradient(100deg, #25241c, #171914); border: 1px solid rgba(214,193,154,.2); border-radius: var(--radius); box-shadow: var(--shadow); }
.callout h2 { max-width: 650px; margin-bottom: 0; font-size: clamp(2.1rem, 4vw, 3.7rem); }
.callout p { max-width: 600px; margin: 15px 0 0; }

.page-hero { position: relative; min-height: 570px; display: flex; align-items: flex-end; overflow: hidden; background: radial-gradient(circle at 85% 10%, rgba(239,107,61,.16), transparent 26%), linear-gradient(115deg, #0a0d0c, #19201d); }
.page-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(120deg, transparent 45%, rgba(214,193,154,.1) 45.1%, transparent 45.6%), linear-gradient(160deg, transparent 59%, rgba(214,193,154,.07) 59.2%, transparent 59.6%); opacity: .6; }
.page-hero-content { position: relative; z-index: 1; width: 100%; padding: 160px 0 82px; }
.page-hero h1 { max-width: 760px; }
.page-hero .lede { max-width: 615px; }
.page-hero-orb { position: absolute; right: 12%; top: 31%; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle, rgba(242,197,107,.36), rgba(242,197,107,.03) 64%, transparent 65%); filter: blur(1px); animation: orb 6s ease-in-out infinite; }
@keyframes orb { 50% { transform: translateY(-15px) scale(1.05); opacity: .75; } }

.editorial-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 88px; }
.editorial-grid > aside { position: relative; }
.sticky-label { position: sticky; top: 100px; }
.sticky-label h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.sticky-label p { max-width: 290px; }
.numbered-list { display: grid; gap: 0; }
.numbered-item { display: grid; grid-template-columns: 58px 1fr; gap: 22px; padding: 32px 0; border-top: 1px solid var(--line); }
.numbered-item:last-child { border-bottom: 1px solid var(--line); }
.numbered-item > b { color: var(--ember-2); font-family: Georgia, serif; font-size: 1.1rem; font-weight: 400; }
.numbered-item p { max-width: 550px; margin: 0; font-size: .94rem; }

.person-card { display: grid; grid-template-columns: 1fr 1fr; min-height: 420px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #151916; }
.portrait { position: relative; overflow: hidden; min-height: 360px; background: #27271f; }
.portrait::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 53% 37%, rgba(240,223,187,.85) 0 8%, transparent 8.4%), radial-gradient(ellipse at 52% 45%, #b88359 0 17%, transparent 17.4%), radial-gradient(ellipse at 52% 81%, #1c2220 0 34%, transparent 34.4%), linear-gradient(146deg, transparent 50%, rgba(0,0,0,.42) 50.2%), linear-gradient(160deg, #5a6454, #28251e 60%); filter: saturate(.75); }
.portrait::after { content: "AK"; position: absolute; right: 25px; bottom: 13px; color: rgba(246,242,232,.15); font-family: Georgia, serif; font-size: 7rem; letter-spacing: -.1em; }
.person-info { display: flex; flex-direction: column; justify-content: center; padding: 48px; }
.person-info h2 { font-size: 3.2rem; }
.person-info .role { color: var(--yellow); font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.person-info p { font-size: .95rem; }
.signature { margin-top: 18px; color: var(--sand); font-family: Georgia, serif; font-size: 1.4rem; font-style: italic; }

.process-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.process-panel { min-height: 500px; padding: 36px; border: 1px solid var(--line); border-radius: var(--radius); background: #121715; }
.process-panel h3 { font-size: 2rem; }
.process-panel > p { max-width: 420px; }
.process-list { margin-top: 35px; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 30px 1fr; gap: 13px; align-items: start; padding: 15px 0; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .9rem; }
.process-list li::before { content: "✓"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; color: var(--coal); background: var(--yellow); font-size: .72rem; font-weight: 900; }

.mine-animation { position: relative; height: 310px; margin-top: 25px; overflow: hidden; border: 1px solid rgba(214,193,154,.14); border-radius: 18px; background: radial-gradient(ellipse at 42% 55%, rgba(90,73,41,.22), transparent 46%), #0a0c0c; }
.mine-animation::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,.45) 0 1px, transparent 1.5px); background-size: 51px 47px; opacity: .25; animation: stars 12s linear infinite; }
@keyframes stars { to { background-position: 50px 47px; } }
.tunnel { position: absolute; left: 12%; top: 17%; width: 67%; height: 70%; border: 13px solid #4a4434; border-bottom-width: 10px; border-radius: 48% 48% 7px 7px; transform: perspective(300px) rotateX(4deg); box-shadow: inset 0 0 0 7px rgba(0,0,0,.35), 0 0 0 1px rgba(246,242,232,.08); }
.tunnel::after { content: ""; position: absolute; left: 16%; right: 12%; bottom: -11px; height: 10px; background: repeating-linear-gradient(90deg, #77705c 0 25px, transparent 25px 42px); opacity: .66; }
.beam { position: absolute; top: 30px; width: 2px; height: 190px; background: linear-gradient(transparent, rgba(242,197,107,.55), transparent); box-shadow: 0 0 20px rgba(242,197,107,.25); transform: rotate(23deg); transform-origin: top; animation: beamFlicker 3s ease-in-out infinite; }
.beam.one { left: 31%; } .beam.two { left: 53%; animation-delay: -1.4s; opacity: .65; }
@keyframes beamFlicker { 50% { opacity: .5; height: 170px; } }
.conveyor { position: absolute; right: 0; bottom: 53px; width: 50%; height: 20px; transform: rotate(-8deg); background: #292d28; border-top: 4px solid #737158; border-bottom: 3px solid #393b31; }
.conveyor::after { content: ""; position: absolute; inset: 4px 0; background: repeating-linear-gradient(90deg, transparent 0 23px, rgba(242,197,107,.45) 23px 26px); animation: conveyor 1s linear infinite; }
@keyframes conveyor { to { background-position: 26px 0; } }
.coal-lump { position: absolute; width: 22px; height: 16px; border-radius: 43% 57% 55% 45%; background: linear-gradient(135deg, #535850, #141816 70%); box-shadow: 1px 3px 2px rgba(0,0,0,.4); z-index: 2; animation: haul 4.2s linear infinite; }
.coal-lump::before { content: ""; position: absolute; inset: 3px 5px auto; height: 3px; border-radius: 50%; background: rgba(255,255,255,.16); transform: rotate(-12deg); }
.coal-lump.a { bottom: 80px; left: 55%; animation-delay: -1s; } .coal-lump.b { bottom: 84px; left: 66%; animation-delay: -2.8s; transform: scale(.7); } .coal-lump.c { bottom: 77px; left: 78%; animation-delay: -3.8s; transform: scale(1.2); }
@keyframes haul { 0% { transform: translateX(80px) rotate(0); opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { transform: translateX(-210px) rotate(-220deg); opacity: 0; } }
.worker { position: absolute; left: 28%; bottom: 74px; width: 16px; height: 49px; background: #1d211e; border-radius: 9px 9px 2px 2px; z-index: 3; }
.worker::before { content: ""; position: absolute; left: -3px; top: -14px; width: 22px; height: 16px; border-radius: 50% 50% 35% 35%; background: var(--yellow); box-shadow: 0 0 17px rgba(242,197,107,.42); }
.worker::after { content: ""; position: absolute; left: 15px; top: 12px; width: 37px; height: 2px; background: rgba(242,197,107,.75); transform: rotate(-17deg); transform-origin: left; box-shadow: 0 0 12px rgba(242,197,107,.6); }

.spec-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.spec-card { padding: 26px 23px; min-height: 190px; background: #131816; }
.spec-card .icon { color: var(--yellow); margin-bottom: 29px; }
.spec-card h3 { font-size: 1.2rem; }
.spec-card p { font-size: .83rem; line-height: 1.6; }

.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.story-block h2 { max-width: 550px; }
.story-block p { max-width: 520px; }
.quote-card { position: relative; min-height: 330px; display: flex; flex-direction: column; justify-content: flex-end; padding: 33px; border-radius: var(--radius); overflow: hidden; background: linear-gradient(145deg, #404632, #1a211b 62%, #131614); }
.quote-card::before { content: "“"; position: absolute; left: 26px; top: -10px; color: rgba(242,197,107,.26); font-family: Georgia, serif; font-size: 12rem; line-height: 1; }
.quote-card blockquote { position: relative; z-index: 1; margin: 0; color: var(--sand-2); font-family: Georgia, serif; font-size: clamp(1.65rem, 3vw, 2.55rem); line-height: 1.05; letter-spacing: -.045em; }
.quote-card cite { position: relative; z-index: 1; margin-top: 24px; color: var(--ink-soft); font-size: .72rem; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.community-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.community-card { min-height: 280px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: linear-gradient(150deg, #171b17, #121513); }
.community-card:nth-child(2) { transform: translateY(24px); background: linear-gradient(150deg, #25251c, #151713); }
.community-card:nth-child(3) { transform: translateY(48px); background: linear-gradient(150deg, #1d2920, #131715); }
.community-card .big-num { color: var(--ember-2); font-family: Georgia, serif; font-size: 3.2rem; line-height: 1; }
.community-card h3 { margin-top: 50px; }
.community-card p { font-size: .87rem; }

.contact-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; align-items: start; }
.contact-details { display: grid; gap: 22px; margin-top: 35px; }
.contact-detail { display: flex; gap: 14px; align-items: flex-start; }
.contact-detail .contact-icon { flex: 0 0 auto; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--yellow); }
.contact-detail strong { display: block; margin: 1px 0 4px; color: var(--ink); font-size: .9rem; }
.contact-detail span { color: var(--ink-soft); font-size: .86rem; }
.contact-form { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: #131715; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 8px; margin-bottom: 18px; }
.field.full { grid-column: 1 / -1; }
.field label { color: var(--sand); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 9px; outline: 0; color: var(--ink); background: #0e1110; transition: border-color .2s ease, box-shadow .2s ease; }
.field input::placeholder, .field textarea::placeholder { color: #666a63; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--yellow); box-shadow: 0 0 0 3px rgba(242,197,107,.12); }
.field textarea { min-height: 125px; resize: vertical; }
.form-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 5px; }
.form-status { min-height: 20px; color: var(--moss); font-size: .78rem; }
.location-card { position: relative; min-height: 240px; margin-top: 65px; padding: 27px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: repeating-linear-gradient(135deg, rgba(214,193,154,.05) 0 1px, transparent 1px 13px), #191a15; }
.location-card::after { content: ""; position: absolute; right: 24px; bottom: -30px; width: 150px; height: 150px; border: 1px solid rgba(242,197,107,.18); border-radius: 50%; box-shadow: 0 0 0 20px rgba(242,197,107,.04), 0 0 0 40px rgba(242,197,107,.025); }
.location-pin { color: var(--ember-2); font-size: 1.65rem; }
.location-card h3 { margin-top: 22px; }

.footer { padding: 58px 0 28px; border-top: 1px solid var(--line); background: #0b0d0d; }
.footer-top { display: grid; grid-template-columns: 1.3fr .7fr .7fr .9fr; gap: 30px; padding-bottom: 50px; }
.footer .brand { align-items: flex-start; }
.footer-intro p { max-width: 280px; margin-top: 20px; font-size: .86rem; }
.footer h4 { margin: 3px 0 17px; color: var(--sand); font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; }
.footer-links { display: grid; gap: 9px; }
.footer-links a { color: var(--ink-soft); font-size: .82rem; }
.footer-links a:hover { color: var(--ink); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid var(--line); color: #777b73; font-size: .72rem; }
.footer-bottom span:last-child { text-align: right; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }
.delay-1 { transition-delay: .08s; } .delay-2 { transition-delay: .16s; } .delay-3 { transition-delay: .24s; }

@media (max-width: 920px) {
  .container { width: min(calc(100% - 36px), var(--max)); }
  .main-nav { gap: 16px; }
  .nav-cta { display: none; }
  .hero-copy { width: 69%; }
  .mountain-art { right: -21%; width: 71%; opacity: .73; }
  .intro-grid, .editorial-grid, .story-grid, .contact-grid { grid-template-columns: 1fr; gap: 45px; }
  .sticky-label { position: static; }
  .person-card { grid-template-columns: .85fr 1.15fr; }
  .spec-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-top { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-intro { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .container { width: min(calc(100% - 30px), var(--max)); }
  .site-header { padding: 16px 0; }
  .brand { min-width: 0; }
  .brand-mark { width: 33px; height: 33px; }
  .brand-name { font-size: 1.08rem; }
  .brand-sub { font-size: .46rem; }
  .menu-toggle { display: block; }
  .main-nav { position: absolute; top: calc(100% + 10px); left: 15px; right: 15px; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 8px; border: 1px solid var(--line-strong); border-radius: 15px; background: rgba(17,21,19,.97); box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 12px 14px; border-radius: 9px; }
  .main-nav a:hover, .main-nav a.active { background: rgba(255,255,255,.06); }
  .main-nav a.active::after { display: none; }
  .hero { min-height: 760px; }
  .hero-content { padding: 150px 0 110px; }
  .hero-copy { width: 100%; }
  .display { font-size: clamp(3.25rem, 16vw, 5rem); }
  .hero .lede { max-width: 440px; }
  .mountain-art { right: -57%; width: 135%; min-width: 460px; opacity: .55; }
  .hero-note { margin-top: 35px; }
  .section { padding: 78px 0; }
  .section-tight { padding: 55px 0; }
  .section-head { display: block; margin-bottom: 35px; }
  .section-head p { margin-top: 19px; }
  .mini-stats { grid-template-columns: 1fr 1fr; }
  .mini-stat:nth-child(2) { border-right: 0; }
  .mini-stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .mini-stat strong { font-size: 1.75rem; }
  .pathway, .community-cards { grid-template-columns: 1fr; }
  .path-card { min-height: 230px; }
  .community-card:nth-child(2), .community-card:nth-child(3) { transform: none; }
  .callout { display: block; padding: 30px 25px; }
  .callout .btn { margin-top: 25px; }
  .page-hero { min-height: 530px; }
  .page-hero-content { padding: 145px 0 64px; }
  .page-hero-orb { right: -8%; top: 30%; opacity: .6; }
  .person-card, .process-grid { grid-template-columns: 1fr; }
  .portrait { min-height: 260px; }
  .person-info { padding: 31px 25px; }
  .person-info h2 { font-size: 2.7rem; }
  .process-panel { min-height: auto; padding: 25px; }
  .mine-animation { height: 260px; }
  .spec-grid { grid-template-columns: 1fr 1fr; }
  .spec-card { min-height: 175px; padding: 21px 17px; }
  .story-grid { gap: 30px; }
  .quote-card { min-height: 275px; }
  .contact-form { padding: 23px 18px; }
  .form-grid { grid-template-columns: 1fr; gap: 0; }
  .field.full { grid-column: auto; }
  .form-bottom { align-items: flex-start; flex-direction: column; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 30px 18px; }
  .footer-intro { grid-column: 1 / -1; }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; }
  .footer-bottom span:last-child { margin-top: 8px; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
}

/* Supply page: an operational signal board that keeps the interaction visual without external assets. */
.supply-intro { display: grid; grid-template-columns: .88fr 1.12fr; gap: 80px; align-items: center; }
.supply-copy h2 { max-width: 560px; }
.supply-copy p { max-width: 500px; }
.supply-copy .btn { margin-top: 14px; }
.supply-board { position: relative; min-height: 350px; padding: 28px; overflow: hidden; border: 1px solid rgba(214,193,154,.2); border-radius: var(--radius); background: radial-gradient(circle at 74% 38%, rgba(242,197,107,.18), transparent 25%), linear-gradient(150deg, #24281e, #121614 65%); box-shadow: var(--shadow); }
.supply-board::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(246,242,232,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(246,242,232,.25) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent 75%); }
.supply-board-top { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 12px; color: var(--sand); font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }
.supply-board-top strong { display: flex; align-items: center; gap: 7px; color: var(--moss); font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.supply-board-top i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #97c07f; box-shadow: 0 0 0 5px rgba(151,192,127,.12); animation: statusPulse 1.8s ease-in-out infinite; }
@keyframes statusPulse { 50% { box-shadow: 0 0 0 8px rgba(151,192,127,.03); opacity: .55; } }
.supply-route { position: relative; z-index: 1; display: flex; align-items: center; margin: 94px 6% 52px; }
.route-node { display: grid; place-items: center; gap: 10px; color: #6e746a; font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.route-node b { display: grid; place-items: center; width: 51px; height: 51px; border: 1px solid #5d6356; border-radius: 50%; color: #8b907f; background: #192019; font-family: Georgia, serif; font-size: 1rem; font-weight: 400; letter-spacing: 0; }
.route-node.active { color: var(--sand-2); }
.route-node.active b { color: var(--coal); border-color: var(--yellow); background: var(--yellow); box-shadow: 0 0 0 9px rgba(242,197,107,.09); }
.route-rail { position: relative; flex: 1; height: 2px; margin: 0 13px 28px; background: rgba(246,242,232,.15); }
.route-rail::after { content: ""; position: absolute; inset: -2px auto -2px 0; width: 42%; background: var(--ember); box-shadow: 0 0 13px rgba(239,107,61,.6); animation: routeFlow 2.5s ease-in-out infinite; }
.route-rail:nth-of-type(2)::after { animation-delay: -.9s; }
@keyframes routeFlow { 0%,100% { left: 0; width: 18%; opacity: .35; } 50% { left: 70%; width: 30%; opacity: 1; } }
.supply-board-note { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 11px; padding-top: 24px; border-top: 1px solid rgba(246,242,232,.12); color: #777d72; font-size: .63rem; letter-spacing: .12em; text-transform: uppercase; }
.supply-board-note strong { color: var(--sand-2); font-size: .76rem; }
.supply-board-note em { color: var(--ember-2); font-size: 1rem; font-style: normal; }
.board-dust { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--sand); opacity: 0; animation: boardDust 6s ease-in-out infinite; }
.dust-a { left: 27%; top: 47%; } .dust-b { left: 68%; top: 34%; animation-delay: -2.5s; }
@keyframes boardDust { 0%,100% { opacity: 0; transform: translate(0, 20px) scale(.6); } 28%,70% { opacity: .5; } 50% { opacity: .1; transform: translate(23px, -28px) scale(1.1); } }
.supply-cards .spec-card { min-height: 235px; }

.faq-section { background: #101513; }
.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: start; }
.faq-grid h2 { max-width: 360px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; color: var(--ink); font-size: .96rem; font-weight: 700; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; color: var(--yellow); font-size: 1.35rem; font-weight: 300; transition: transform .2s ease; }
.faq-list details[open] summary::after { transform: rotate(45deg); }
.faq-list details p { max-width: 600px; padding: 0 35px 21px 0; margin: 0; font-size: .88rem; }

@media (max-width: 920px) {
  .supply-intro, .faq-grid { grid-template-columns: 1fr; gap: 45px; }
}
@media (max-width: 680px) {
  .supply-board { padding: 22px 17px; }
  .supply-board-top { display: block; }
  .supply-board-top strong { margin-top: 10px; }
  .supply-route { margin: 78px 1% 45px; }
  .route-node b { width: 43px; height: 43px; }
  .route-node { font-size: .57rem; }
  .route-rail { margin-left: 7px; margin-right: 7px; }
  .supply-board-note { gap: 7px; }
}

/* Gallery page: illustrated frames that can later be swapped for the company's own photography. */
.visual-gallery { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
.visual-card { position: relative; min-height: 485px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #151917; }
.visual-card:first-child { grid-column: span 5; }
.visual-card:nth-child(2) { grid-column: span 4; transform: translateY(40px); }
.visual-card:nth-child(3) { grid-column: span 3; transform: translateY(80px); }
.visual-art { position: absolute; inset: 0 0 36%; overflow: hidden; background: #20261e; }
.visual-copy { position: relative; z-index: 3; padding: 25px; background: linear-gradient(transparent, #151917 12%); }
.visual-copy > span { color: var(--ember-2); font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.visual-copy h3 { margin-top: 13px; }
.visual-copy p { margin: 0; font-size: .85rem; }
.visual-glow { position: absolute; width: 170px; height: 170px; right: 15%; top: 7%; border-radius: 50%; background: radial-gradient(circle, rgba(242,197,107,.6), rgba(242,197,107,0) 69%); filter: blur(3px); animation: visualGlow 5s ease-in-out infinite; }
@keyframes visualGlow { 50% { transform: scale(1.12); opacity: .68; } }
.visual-mountain { position: absolute; bottom: 0; width: 120%; height: 70%; clip-path: polygon(0 100%, 25% 25%, 42% 46%, 62% 8%, 100% 100%); }
.visual-mountain.m-one { left: -10%; background: linear-gradient(155deg, #58624e, #202820); opacity: .9; }
.visual-mountain.m-two { left: 16%; bottom: -10%; background: linear-gradient(160deg, #333d31, #101613); transform: scale(.86); }
.visual-tunnel { position: absolute; left: 42%; bottom: 11%; width: 110px; height: 108px; border: 10px solid #4f4938; border-bottom: 3px solid #4f4938; border-radius: 50% 50% 5px 5px; box-shadow: inset 0 0 0 8px rgba(0,0,0,.3); }
.visual-tunnel::before { content: ""; position: absolute; left: 28px; right: 20px; bottom: -8px; height: 7px; background: repeating-linear-gradient(90deg, #a18b61 0 17px, transparent 17px 28px); opacity: .55; }
.visual-tunnel i { position: absolute; top: 16px; width: 2px; height: 71px; background: rgba(242,197,107,.44); }
.visual-tunnel i:first-child { left: 20px; transform: rotate(17deg); } .visual-tunnel i:nth-child(2) { right: 22px; transform: rotate(-18deg); }
.visual-tunnel b { position: absolute; left: 43px; bottom: 13px; width: 16px; height: 29px; background: #171c19; border-radius: 10px 10px 2px 2px; }
.visual-tunnel b::before { content: ""; position: absolute; left: -3px; top: -9px; width: 22px; height: 13px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 15px rgba(242,197,107,.8); }
.visual-lamp { position: absolute; left: 18%; bottom: 24%; width: 5px; height: 5px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 4px rgba(242,197,107,.1), 0 0 20px 6px rgba(242,197,107,.46); animation: lampBlink 3s ease-in-out infinite; }
@keyframes lampBlink { 50% { opacity: .35; } }
.visual-dust { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--sand); animation: visualDust 5s ease-in-out infinite; opacity: 0; }
.vd-one { left: 51%; bottom: 49%; } .vd-two { left: 61%; bottom: 59%; animation-delay: -2s; }
@keyframes visualDust { 0%,100% { opacity: 0; transform: translate(0, 18px); } 42% { opacity: .42; } 72% { opacity: 0; transform: translate(15px, -27px); } }
.road-sky { position: absolute; inset: 0; background: linear-gradient(#455a4a 0%, #b08d59 68%, #2b3027 69%); }
.road-sun { position: absolute; right: 13%; top: 18%; width: 76px; height: 76px; border-radius: 50%; background: #e8ba67; box-shadow: 0 0 35px rgba(242,197,107,.35); }
.road-ridge { position: absolute; bottom: 25%; width: 120%; height: 55%; clip-path: polygon(0 100%, 14% 57%, 27% 77%, 48% 18%, 65% 59%, 79% 39%, 100% 100%); }
.road-ridge.rr-one { left: -5%; background: #30392e; } .road-ridge.rr-two { left: 18%; bottom: 13%; background: #1a211b; transform: scale(.82); }
.road-surface { position: absolute; left: -8%; bottom: -24%; width: 120%; height: 62%; border-radius: 50% 50% 0 0; background: #121614; transform: rotate(-9deg); border-top: 2px solid rgba(214,193,154,.35); }
.road-line { position: absolute; left: 5%; bottom: 9%; width: 105%; height: 4px; background: repeating-linear-gradient(90deg, rgba(242,197,107,.6) 0 30px, transparent 30px 62px); transform: rotate(-9deg); }
.visual-truck { position: absolute; left: 28%; bottom: 25%; width: 125px; height: 49px; border-radius: 5px 12px 4px 4px; background: #272e28; border: 1px solid rgba(242,197,107,.56); box-shadow: 0 9px 10px rgba(0,0,0,.3); transform: rotate(-7deg); animation: truckRoll 4.8s ease-in-out infinite; }
.visual-truck::before { content: ""; position: absolute; left: 9px; top: -22px; width: 73px; height: 25px; border-radius: 5px 8px 2px 2px; background: #303c31; border: 1px solid rgba(242,197,107,.35); }
.visual-truck::after { content: ""; position: absolute; right: -20px; top: 9px; width: 22px; height: 29px; border-radius: 2px 6px 4px 2px; background: #333b31; border: 1px solid rgba(242,197,107,.35); }
.visual-truck i { position: absolute; bottom: -9px; width: 18px; height: 18px; border-radius: 50%; background: #111411; border: 3px solid #877654; }
.visual-truck i:first-child { left: 20px; } .visual-truck i:nth-child(2) { right: 14px; }
.visual-truck b { position: absolute; left: 78px; top: -16px; width: 22px; height: 12px; border-radius: 2px; background: rgba(177,204,175,.28); }
@keyframes truckRoll { 0%,100% { transform: translateX(-5px) rotate(-7deg); } 50% { transform: translateX(12px) rotate(-7deg); } }
.coal-orbit { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--ember-2); animation: coalOrbit 6s linear infinite; }
.co-one { left: 20%; top: 41%; } .co-two { left: 60%; top: 29%; animation-delay: -2.2s; } .co-three { left: 74%; top: 62%; animation-delay: -4s; }
@keyframes coalOrbit { 0% { transform: translate(0, 0) scale(.6); opacity: 0; } 20% { opacity: .75; } 50% { transform: translate(32px, -45px) scale(1.3); opacity: .2; } 80% { opacity: .7; } 100% { transform: translate(0, 0) scale(.6); opacity: 0; } }
.coal-pile { position: absolute; border-radius: 48% 52% 42% 58%; background: linear-gradient(145deg, #70766c, #171b18 64%); box-shadow: inset 7px 5px 0 rgba(255,255,255,.1), 0 13px 20px rgba(0,0,0,.3); }
.cp-one { left: 18%; bottom: 14%; width: 120px; height: 100px; transform: rotate(-12deg); } .cp-two { left: 46%; bottom: 20%; width: 102px; height: 86px; transform: rotate(16deg); } .cp-three { right: -7%; bottom: 9%; width: 142px; height: 118px; transform: rotate(-23deg); }
.coal-highlight { position: absolute; left: 37%; top: 24%; width: 44px; height: 11px; border-radius: 50%; background: rgba(242,197,107,.26); transform: rotate(-32deg); filter: blur(3px); }
.image-note { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 48px 52px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(100deg, #20261e, #151916); }
.image-note h2 { max-width: 560px; }
.image-note p { max-width: 610px; margin: 15px 0 0; }
@media (max-width: 920px) {
  .visual-card:first-child { grid-column: span 7; }
  .visual-card:nth-child(2) { grid-column: span 5; }
  .visual-card:nth-child(3) { grid-column: 3 / span 10; transform: translateY(20px); }
  .image-note { display: block; }
  .image-note .btn { margin-top: 26px; }
}
@media (max-width: 680px) {
  .visual-gallery { display: grid; grid-template-columns: 1fr; gap: 16px; }
  .visual-card:first-child, .visual-card:nth-child(2), .visual-card:nth-child(3) { grid-column: auto; transform: none; }
  .visual-card { min-height: 430px; }
  .visual-art { inset: 0 0 34%; }
  .image-note { padding: 31px 24px; }
}

/* ================================================================
   Immersive mountain theme + page-specific motion pass
   ================================================================ */
:root {
  --ink: #f4f5ed;
  --ink-soft: #a9b8ad;
  --coal: #07100d;
  --coal-2: #0c1913;
  --coal-3: #14251b;
  --line: rgba(195, 218, 198, .14);
  --line-strong: rgba(215, 231, 210, .27);
  --sand: #c8bd8d;
  --sand-2: #e9ddb6;
  --ember: #d96d4e;
  --ember-2: #ffad7d;
  --moss: #8daf76;
  --yellow: #efd174;
  --forest: #1e5134;
  --mist: #9bbda2;
  --radius: 26px;
  --radius-sm: 16px;
}

body {
  background: var(--coal);
  background-image: radial-gradient(circle at 12% -4%, rgba(69, 113, 77, .18), transparent 27%), radial-gradient(circle at 93% 9%, rgba(191, 147, 73, .08), transparent 23%);
}
body::before {
  content: "";
  position: fixed;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: .105;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
body > * { position: relative; z-index: 1; }
.site-header { background: linear-gradient(180deg, rgba(5,13,10,.56), transparent); }
.site-header.scrolled { background: rgba(7,16,13,.88); border-bottom-color: rgba(164,196,166,.17); }
.main-nav a { color: #acbbb0; }
.main-nav a:hover, .main-nav a.active { color: var(--ink); }
.main-nav a.active::after { background: var(--ember-2); box-shadow: 0 0 12px rgba(255,173,125,.5); }
.nav-cta { border-color: rgba(193,218,198,.22); }
.nav-cta:hover { border-color: rgba(239,209,116,.58); background: rgba(130,170,126,.1); }
.btn-primary { color: #08110d; box-shadow: 0 9px 25px rgba(239,209,116,.12); }
.btn-primary:hover { box-shadow: 0 13px 33px rgba(239,209,116,.2); }
.btn-quiet:hover { border-color: var(--moss); background: rgba(130,173,118,.1); }
.eyebrow { color: #c5c896; }
.eyebrow::before { background: var(--ember-2); box-shadow: 0 0 10px rgba(255,173,125,.35); }
p { color: var(--ink-soft); }
.rule, .feature-card, .numbered-item, .mini-stats, .mini-stat, .faq-list, .faq-list details { border-color: rgba(195,218,198,.14); }
.hero { min-height: 850px; background: radial-gradient(circle at 78% 31%, rgba(139,175,118,.22), transparent 24%), radial-gradient(circle at 59% 76%, rgba(35,83,52,.32), transparent 32%), linear-gradient(118deg, #06100c 2%, #10291c 55%, #2d3d27 100%); }
.hero::before { opacity: .2; background-image: linear-gradient(rgba(225,239,218,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(225,239,218,.07) 1px, transparent 1px); }
.hero::after { height: 31%; background: linear-gradient(transparent, var(--coal)); }
.hero h1 span { color: var(--yellow); text-shadow: 0 0 32px rgba(239,209,116,.1); }
.hero .lede { color: #cfdbcf; }
.hero-note i { background: var(--ember-2); box-shadow: 0 0 0 6px rgba(255,173,125,.12), 0 0 22px rgba(255,173,125,.4); }
.mountain-art { opacity: .2; filter: saturate(.72) sepia(.08); mix-blend-mode: screen; }
.marquee { background: #0a1911; border-color: rgba(195,218,198,.15); }
.marquee-item { color: #bbca98; }
.section-soft { background: linear-gradient(135deg, #0a1a12, #112419 57%, #16281d); }
.section-earth { background: radial-gradient(circle at 84% 14%, rgba(111,131,82,.22), transparent 28%), linear-gradient(135deg, #18261a, #21291a 52%, #162319); }
.section-dark { background: transparent; }
.pathway, .spec-grid { border-color: rgba(195,218,198,.15); background: rgba(195,218,198,.12); }
.path-card, .spec-card { background: linear-gradient(145deg, rgba(20,43,28,.95), rgba(9,23,16,.98)); }
.path-card:hover, .spec-card:hover { background: linear-gradient(145deg, rgba(35,74,45,.95), rgba(10,25,17,.98)); }
.path-icon { border-color: rgba(239,209,116,.27); color: var(--yellow); background: rgba(239,209,116,.04); }
.path-card::after { color: rgba(215,231,210,.09); }
.mini-stat strong, .feature-number, .big-num { color: var(--yellow); }
.callout { background: linear-gradient(115deg, #203b27, #172a1d 55%, #1f2b1a); border-color: rgba(197,210,151,.26); }
.page-hero { background: radial-gradient(circle at 82% 16%, rgba(101,153,105,.25), transparent 25%), linear-gradient(118deg, #06100c, #11301e 66%, #243e2c); }
.page-hero::before { background-image: linear-gradient(120deg, transparent 45%, rgba(193,218,198,.12) 45.1%, transparent 45.6%), linear-gradient(160deg, transparent 59%, rgba(193,218,198,.08) 59.2%, transparent 59.6%); }
.page-hero-orb { background: radial-gradient(circle, rgba(239,209,116,.3), rgba(111,172,118,.08) 48%, transparent 69%); }
.person-card, .process-panel, .contact-form { background: linear-gradient(145deg, #11251a, #0d1913); border-color: rgba(195,218,198,.16); }
.portrait { background: #203a29; }
.quote-card { background: linear-gradient(145deg, #294b31, #16301f 62%, #0e1e15); }
.community-card { background: linear-gradient(150deg, #173320, #0e2015); border-color: rgba(195,218,198,.16); }
.community-card:nth-child(2) { background: linear-gradient(150deg, #283d24, #132518); }
.community-card:nth-child(3) { background: linear-gradient(150deg, #1b4630, #102319); }
.contact-form input, .contact-form select, .contact-form textarea { background: #08150e; border-color: rgba(195,218,198,.16); }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--yellow); box-shadow: 0 0 0 3px rgba(239,209,116,.12); }
.location-card { background: repeating-linear-gradient(135deg, rgba(195,218,198,.06) 0 1px, transparent 1px 13px), linear-gradient(135deg, #23452c, #13271a); border-color: rgba(195,218,198,.18); }
.footer { background: #050e0a; border-color: rgba(195,218,198,.14); }
.footer-links a:hover { color: #dce5d7; }
.text-link { color: #dce5b0; }

/* Home: a layered 3D mountain valley with moving clouds, pines, haul vehicle and dust. */
.home-3d-scene {
  position: absolute;
  z-index: 1;
  right: -1%;
  bottom: -3%;
  width: min(790px, 66vw);
  height: 94%;
  perspective: 1100px;
  transform-style: preserve-3d;
  transform: perspective(1100px) rotateX(var(--tilt-y, 0deg)) rotateY(var(--tilt-x, 0deg));
  transition: transform .65s cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  overflow: visible;
}
.home-3d-scene::before { content: ""; position: absolute; right: 10%; bottom: 12%; width: 54%; height: 25%; background: radial-gradient(ellipse, rgba(6,15,10,.9), transparent 69%); filter: blur(20px); transform: translateZ(-100px); }
.scene-sun { position: absolute; z-index: 0; right: 22%; top: 10%; width: 145px; height: 145px; border-radius: 50%; background: radial-gradient(circle, #f5d583 0 14%, rgba(239,209,116,.48) 31%, rgba(239,209,116,0) 70%); box-shadow: 0 0 72px rgba(239,209,116,.25); animation: sceneSun 7s ease-in-out infinite; }
@keyframes sceneSun { 50% { transform: scale(1.08) translateY(-7px); opacity: .83; } }
.scene-cloud { position: absolute; z-index: 1; width: 178px; height: 31px; border-radius: 999px; background: linear-gradient(180deg, rgba(206,223,198,.28), rgba(206,223,198,.02)); filter: blur(1px); opacity: .5; animation: cloudCruise 26s linear infinite; }
.scene-cloud::before, .scene-cloud::after { content: ""; position: absolute; bottom: 3px; border-radius: 50%; background: inherit; }
.scene-cloud::before { left: 27px; width: 61px; height: 54px; } .scene-cloud::after { left: 82px; width: 91px; height: 61px; }
.cloud-a { left: 26%; top: 24%; } .cloud-b { left: 65%; top: 36%; width: 120px; height: 21px; opacity: .28; animation-delay: -13s; transform: scale(.75); }
@keyframes cloudCruise { 0% { transform: translateX(38px); opacity: 0; } 13%,79% { opacity: .5; } 50% { transform: translateX(-66px) translateY(9px); } 100% { transform: translateX(-155px); opacity: 0; } }
.scene-layer { position: absolute; left: -8%; width: 119%; clip-path: polygon(0 100%, 8% 69%, 20% 78%, 32% 44%, 45% 64%, 60% 16%, 71% 51%, 82% 28%, 100% 69%, 100% 100%); transform-style: preserve-3d; }
.scene-back { z-index: 2; bottom: 22%; height: 59%; background: linear-gradient(150deg, #527358, #22432d 61%, #11291c); transform: translateZ(-110px) scale(1.1); filter: blur(.3px); animation: ridgeBack 16s ease-in-out infinite; }
.scene-mid { z-index: 3; bottom: 7%; height: 59%; left: 3%; background: linear-gradient(145deg, #385f42, #173522 70%); transform: translateZ(-35px) scale(1.06); animation: ridgeMid 11s ease-in-out infinite; }
.scene-front { z-index: 4; bottom: -6%; height: 52%; left: 18%; width: 105%; background: linear-gradient(160deg, #1c3e27, #0b1c13 68%); transform: translateZ(40px); }
@keyframes ridgeBack { 50% { transform: translate3d(-9px, -5px, -110px) scale(1.1); } }
@keyframes ridgeMid { 50% { transform: translate3d(7px, 3px, -35px) scale(1.06); } }
.scene-road { position: absolute; z-index: 5; left: 22%; bottom: 2%; width: 86%; height: 28%; clip-path: polygon(39% 0, 64% 0, 100% 100%, 0 100%); background: linear-gradient(150deg, #243c2b, #0b1510 62%); border-top: 1px solid rgba(239,209,116,.25); transform: translateZ(65px) rotateX(54deg) rotateZ(-1deg); transform-origin: bottom; box-shadow: 0 0 25px rgba(0,0,0,.38); }
.scene-road::after { content: ""; position: absolute; left: 46%; top: 9%; width: 6px; height: 96%; opacity: .66; background: repeating-linear-gradient(180deg, rgba(239,209,116,.74) 0 26px, transparent 26px 47px); }
.scene-pine { position: absolute; z-index: 6; width: 44px; height: 91px; transform-style: preserve-3d; animation: pineSway 5s ease-in-out infinite; }
.scene-pine::before { content: ""; position: absolute; left: 0; top: 0; width: 0; height: 0; border-left: 24px solid transparent; border-right: 24px solid transparent; border-bottom: 72px solid #122e1e; filter: drop-shadow(6px 9px 0 #0d2317); }
.scene-pine::after { content: ""; position: absolute; left: 7px; top: 41px; width: 0; height: 0; border-left: 17px solid transparent; border-right: 17px solid transparent; border-bottom: 53px solid #1d4930; }
.scene-pine i { position: absolute; left: 20px; bottom: 0; width: 7px; height: 28px; background: #4d3c29; border-radius: 2px; }
.pine-a { left: 30%; bottom: 23%; transform: scale(.68) translateZ(80px); } .pine-b { left: 58%; bottom: 16%; transform: scale(.92) translateZ(83px); animation-delay: -1.6s; } .pine-c { right: 3%; bottom: 10%; transform: scale(.56) translateZ(91px); animation-delay: -3.2s; }
@keyframes pineSway { 50% { margin-left: 3px; filter: brightness(1.12); } }
.scene-hauler { position: absolute; z-index: 8; left: 43%; bottom: 23%; width: 180px; height: 80px; transform: translateZ(130px) rotateY(-12deg) rotateX(5deg); transform-style: preserve-3d; animation: haulerGlide 6s ease-in-out infinite; filter: drop-shadow(0 12px 9px rgba(0,0,0,.36)); }
.hauler-bed { position: absolute; left: 0; top: 17px; width: 108px; height: 40px; border-radius: 5px 5px 2px 2px; background: linear-gradient(145deg, #59664e, #19291e); border: 1px solid rgba(239,209,116,.53); transform: skewY(-4deg); }
.hauler-bed::before { content: ""; position: absolute; left: 11px; top: -14px; width: 73px; height: 16px; background: linear-gradient(135deg, #16291e, #4f614b); clip-path: polygon(0 100%, 13% 18%, 86% 0, 100% 100%); }
.hauler-cab { position: absolute; right: 18px; top: 3px; width: 58px; height: 55px; border-radius: 9px 12px 4px 3px; background: linear-gradient(145deg, #68806a, #203928); border: 1px solid rgba(239,209,116,.56); }
.hauler-cab::before { content: ""; position: absolute; top: 8px; left: 11px; width: 30px; height: 19px; border-radius: 4px; background: linear-gradient(145deg, rgba(189,221,192,.55), rgba(39,73,51,.5)); border: 1px solid rgba(239,209,116,.29); }
.hauler-wheel { position: absolute; bottom: 7px; width: 23px; height: 23px; border-radius: 50%; background: #09110c; border: 5px solid #8e7b4e; box-shadow: inset 0 0 0 3px #1b2b1e; }
.wheel-a { left: 21px; } .wheel-b { right: 22px; }
@keyframes haulerGlide { 0%,100% { margin-left: -7px; } 50% { margin-left: 14px; } }
.scene-dust { position: absolute; z-index: 7; width: 8px; height: 8px; border-radius: 48% 52% 41% 59%; background: #bdaa78; box-shadow: 14px 10px 0 rgba(189,170,120,.3), 25px -4px 0 rgba(189,170,120,.16); animation: sceneDust 5s ease-in-out infinite; }
.scene-dust-a { left: 53%; bottom: 27%; } .scene-dust-b { left: 66%; bottom: 25%; animation-delay: -1.8s; transform: scale(.75); } .scene-dust-c { left: 42%; bottom: 20%; animation-delay: -3.1s; transform: scale(.55); }
@keyframes sceneDust { 0%,100% { opacity: 0; transform: translate(0, 16px) scale(.5); } 30% { opacity: .62; } 73% { opacity: 0; transform: translate(28px, -35px) scale(1); } }
.scene-caption { position: absolute; z-index: 10; right: 11%; bottom: 13%; display: grid; gap: 4px; padding: 11px 14px; border-left: 1px solid rgba(239,209,116,.55); background: rgba(5,14,9,.44); backdrop-filter: blur(8px); color: rgba(232,238,218,.7); font-size: .56rem; letter-spacing: .15em; text-align: left; text-transform: uppercase; }
.scene-caption strong { color: var(--yellow); font-size: .63rem; font-weight: 700; }

/* About: slow compass orbit over a layered mountain silhouette. */
.story-3d-scene { position: absolute; z-index: 0; right: 8%; top: 16%; width: 430px; height: 365px; perspective: 900px; transform-style: preserve-3d; transform: perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition: transform .65s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.story-3d-scene::after { content: ""; position: absolute; left: 10%; right: 0; bottom: 3%; height: 46%; background: radial-gradient(ellipse, rgba(5,16,10,.8), transparent 69%); filter: blur(14px); transform: translateZ(-90px); }
.story-sun { position: absolute; right: 13%; top: 2%; width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(circle, #efd174 0 17%, rgba(239,209,116,.25) 49%, transparent 70%); box-shadow: 0 0 45px rgba(239,209,116,.25); animation: storySun 6s ease-in-out infinite; }
@keyframes storySun { 50% { transform: translateY(-9px) scale(1.1); opacity: .76; } }
.story-ridge { position: absolute; left: -5%; width: 112%; clip-path: polygon(0 100%, 11% 67%, 24% 76%, 38% 39%, 53% 58%, 68% 18%, 81% 55%, 100% 35%, 100% 100%); }
.story-ridge-back { z-index: 1; bottom: 16%; height: 62%; background: linear-gradient(155deg, #426348, #172f1f); transform: translateZ(-90px); animation: storyBack 14s ease-in-out infinite; }
.story-ridge-front { z-index: 2; bottom: 1%; left: 11%; height: 50%; background: linear-gradient(155deg, #254c32, #0b1b12); transform: translateZ(0); animation: storyFront 10s ease-in-out infinite; }
@keyframes storyBack { 50% { transform: translate3d(-8px,-5px,-90px); } } @keyframes storyFront { 50% { transform: translate3d(6px,3px,0); } }
.story-ring { position: absolute; z-index: 5; left: 28%; top: 24%; width: 148px; height: 148px; display: grid; place-items: center; border: 1px solid rgba(239,209,116,.64); border-radius: 50%; transform: translateZ(75px) rotateX(58deg) rotateZ(-8deg); box-shadow: 0 0 0 14px rgba(239,209,116,.05), 0 0 0 27px rgba(239,209,116,.03), 0 24px 20px rgba(0,0,0,.3); animation: ringOrbit 12s linear infinite; }
.story-ring::before { content: ""; position: absolute; inset: 14px; border: 1px dashed rgba(239,209,116,.48); border-radius: 50%; }
.story-ring::after { content: "N"; position: absolute; top: -25px; color: var(--yellow); font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.story-ring i { position: absolute; width: 2px; height: 155px; background: linear-gradient(transparent, rgba(255,173,125,.74), transparent); transform: rotate(42deg); }
.story-ring b { position: relative; z-index: 1; color: var(--sand-2); font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; letter-spacing: .08em; }
@keyframes ringOrbit { to { transform: translateZ(75px) rotateX(58deg) rotateZ(352deg); } }
.story-spark { position: absolute; z-index: 7; width: 5px; height: 5px; border-radius: 50%; background: var(--ember-2); box-shadow: 0 0 14px 3px rgba(255,173,125,.52); animation: storySpark 4.5s ease-in-out infinite; }
.spark-a { left: 26%; top: 38%; } .spark-b { left: 69%; top: 48%; animation-delay: -1.4s; } .spark-c { left: 52%; top: 68%; animation-delay: -2.9s; }
@keyframes storySpark { 0%,100% { opacity: 0; transform: translate(0,15px) scale(.4); } 35%,67% { opacity: .8; } 50% { transform: translate(22px,-25px) scale(1); } }

/* Operations: deeper tunnel perspective, scan line, machine and ground plane. */
.mine-animation { perspective: 1000px; transform-style: preserve-3d; transform: perspective(1000px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition: transform .65s cubic-bezier(.2,.8,.2,1); background: radial-gradient(ellipse at 46% 53%, rgba(89,121,69,.26), transparent 44%), #07110c; }
.mine-animation::after { content: ""; position: absolute; z-index: 6; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 35%, rgba(239,209,116,.05) 50%, transparent 64%); animation: mineSweep 5.5s ease-in-out infinite; }
@keyframes mineSweep { 0%,100% { transform: translateX(-70%); } 50% { transform: translateX(70%); } }
.mine-depth { position: absolute; z-index: 1; left: 4%; right: 4%; bottom: 9%; height: 48%; border: 1px solid rgba(206,193,145,.25); background: linear-gradient(160deg, #243b29, #080f0b 64%); clip-path: polygon(16% 0, 83% 0, 100% 100%, 0 100%); transform: translateZ(-30px) rotateX(51deg); transform-origin: bottom; box-shadow: inset 0 14px 25px rgba(0,0,0,.36); }
.mine-depth::before { content: ""; position: absolute; inset: 15% 18% 0; border-top: 1px solid rgba(239,209,116,.28); background: repeating-linear-gradient(90deg, transparent 0 33px, rgba(239,209,116,.16) 34px 35px); opacity: .5; }
.mine-scan { position: absolute; z-index: 5; left: 13%; right: 12%; top: 20%; height: 1px; background: linear-gradient(90deg, transparent, rgba(239,209,116,.75), transparent); box-shadow: 0 0 15px rgba(239,209,116,.45); opacity: .5; animation: mineScan 4.6s ease-in-out infinite; }
@keyframes mineScan { 0%,100% { transform: translateY(0) scaleX(.6); opacity: 0; } 42%,58% { opacity: .8; } 50% { transform: translateY(160px) scaleX(1); } }
.mine-machine { position: absolute; z-index: 4; left: 41%; bottom: 70px; width: 76px; height: 48px; border-radius: 4px; background: linear-gradient(145deg, #70804f, #18251b); border: 1px solid rgba(239,209,116,.55); transform: translateZ(32px) rotateY(-17deg); animation: machineCreep 7s ease-in-out infinite; box-shadow: 0 9px 10px rgba(0,0,0,.33); }
.mine-machine::before { content: ""; position: absolute; left: 13px; top: -19px; width: 34px; height: 20px; border-radius: 4px 7px 1px 1px; background: #304932; border: 1px solid rgba(239,209,116,.4); }
.mine-machine::after { content: ""; position: absolute; right: -50px; top: 27px; width: 60px; height: 4px; border-radius: 999px; background: #a08b57; transform: rotate(-28deg); transform-origin: left; box-shadow: 0 0 9px rgba(239,209,116,.36); }
.mine-machine i, .mine-machine b { position: absolute; bottom: -8px; width: 18px; height: 18px; border-radius: 50%; background: #0c130e; border: 4px solid #82734d; }
.mine-machine i { left: 12px; } .mine-machine b { right: 12px; }
@keyframes machineCreep { 0%,100% { transform: translate3d(-8px,0,32px) rotateY(-17deg); } 50% { transform: translate3d(13px,-4px,32px) rotateY(-17deg); } }
.mine-animation .tunnel { z-index: 2; border-color: #5b6148; box-shadow: inset 0 0 0 7px rgba(0,0,0,.4), 0 0 0 1px rgba(239,209,116,.11); }
.mine-animation .worker { animation: workerBob 2.8s ease-in-out infinite; }
@keyframes workerBob { 50% { transform: translateY(-4px); } }
.mine-animation .coal-lump { background: linear-gradient(135deg, #697267, #101812 70%); }

/* Supply: floating 3D terrain, cargo capsule and animated delivery signal. */
.supply-board { transform-style: preserve-3d; transform: perspective(1200px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition: transform .65s cubic-bezier(.2,.8,.2,1); background: radial-gradient(circle at 76% 42%, rgba(149,183,107,.2), transparent 25%), linear-gradient(150deg, #1e4329, #0b1911 68%); }
.board-terrain { position: absolute; z-index: 0; left: -5%; right: -5%; bottom: -18%; height: 52%; background: linear-gradient(155deg, #345a38, #11251a 70%); clip-path: polygon(0 100%, 0 66%, 18% 51%, 31% 62%, 45% 27%, 60% 55%, 77% 12%, 100% 56%, 100% 100%); transform: translateZ(-60px) rotateX(6deg); animation: boardTerrain 12s ease-in-out infinite; }
.board-terrain::after { content: ""; position: absolute; left: 48%; top: 41%; width: 43%; height: 2px; background: rgba(239,209,116,.36); transform: rotate(-9deg); box-shadow: 0 8px rgba(239,209,116,.14), 0 16px rgba(239,209,116,.08); }
@keyframes boardTerrain { 50% { transform: translate3d(7px,-4px,-60px) rotateX(6deg); } }
.supply-3d-cargo { position: absolute; z-index: 3; left: 39%; top: 43%; width: 74px; height: 33px; border-radius: 6px 12px 4px 4px; background: linear-gradient(145deg, #859860, #203724); border: 1px solid rgba(239,209,116,.65); transform: translateZ(80px) rotateY(-18deg) rotateX(8deg); box-shadow: 0 14px 13px rgba(0,0,0,.35); animation: cargoCruise 7.5s ease-in-out infinite; }
.supply-3d-cargo::before { content: ""; position: absolute; left: 9px; top: 6px; width: 36px; height: 15px; border-radius: 3px; background: rgba(189,222,191,.3); border: 1px solid rgba(239,209,116,.36); }
.supply-3d-cargo::after { content: ""; position: absolute; right: -14px; top: 7px; width: 16px; height: 18px; background: #52653d; border-radius: 2px 5px 3px 2px; }
.supply-3d-cargo i, .supply-3d-cargo b { position: absolute; bottom: -7px; width: 14px; height: 14px; border-radius: 50%; background: #08110b; border: 3px solid #917d4d; }
.supply-3d-cargo i { left: 15px; } .supply-3d-cargo b { right: 9px; }
@keyframes cargoCruise { 0%,100% { transform: translate3d(-52px,14px,80px) rotateY(-18deg) rotateX(8deg); } 50% { transform: translate3d(78px,-7px,80px) rotateY(-18deg) rotateX(8deg); } }
.supply-board-top, .supply-route, .supply-board-note { transform: translateZ(95px); }
.supply-board-top { text-shadow: 0 1px 9px rgba(0,0,0,.5); }
.route-node b { box-shadow: 0 9px 19px rgba(0,0,0,.23); }
.route-rail { background: rgba(215,231,210,.2); }

/* Community: green valley, water ribbon, swaying trees and fireflies. */
.quote-card { isolation: isolate; overflow: hidden; }
.quote-card::before { z-index: 1; }
.quote-card blockquote, .quote-card cite { z-index: 3; }
.valley-scene { position: absolute; z-index: 0; inset: 0; overflow: hidden; background: linear-gradient(#4f7357 0%, #385a42 38%, #172d1c 76%); }
.valley-sun { position: absolute; right: 16%; top: 10%; width: 78px; height: 78px; border-radius: 50%; background: radial-gradient(circle, #f1d27d 0 20%, rgba(239,209,116,.35) 55%, transparent 70%); box-shadow: 0 0 33px rgba(239,209,116,.26); animation: valleySun 6s ease-in-out infinite; }
@keyframes valleySun { 50% { transform: translateY(-7px) scale(1.08); } }
.valley-back, .valley-mid, .valley-front { position: absolute; left: -5%; width: 110%; clip-path: polygon(0 100%, 13% 63%, 26% 76%, 42% 31%, 59% 64%, 72% 23%, 100% 66%, 100% 100%); }
.valley-back { z-index: 1; bottom: 26%; height: 65%; background: linear-gradient(155deg, #5a8060, #31563c); animation: valleyBack 14s ease-in-out infinite; }
.valley-mid { z-index: 2; bottom: 8%; height: 57%; left: 11%; background: linear-gradient(155deg, #3d7147, #1c3b25); animation: valleyMid 10s ease-in-out infinite; }
.valley-front { z-index: 4; bottom: -19%; height: 54%; left: -9%; background: linear-gradient(155deg, #264f30, #0a1c11); }
@keyframes valleyBack { 50% { transform: translateX(-7px) translateY(-4px); } } @keyframes valleyMid { 50% { transform: translateX(7px) translateY(3px); } }
.valley-stream { position: absolute; z-index: 5; left: 42%; bottom: -2%; width: 23%; height: 59%; background: linear-gradient(170deg, transparent 0 22%, rgba(166,209,185,.75) 23% 26%, rgba(114,173,143,.3) 27% 32%, transparent 33%); clip-path: polygon(42% 0, 65% 0, 100% 100%, 0 100%); transform: rotate(6deg); opacity: .8; animation: streamGlint 4s linear infinite; }
@keyframes streamGlint { 50% { filter: brightness(1.35); opacity: 1; } }
.valley-tree { position: absolute; z-index: 6; bottom: 26%; width: 21px; height: 58px; animation: treeSway 4s ease-in-out infinite; }
.valley-tree::before { content: ""; position: absolute; left: 0; top: 0; border-left: 12px solid transparent; border-right: 12px solid transparent; border-bottom: 43px solid #173a22; filter: drop-shadow(3px 6px 0 #102c1a); }
.valley-tree::after { content: ""; position: absolute; left: 9px; bottom: 0; width: 5px; height: 23px; background: #4b3927; }
.tree-a { left: 15%; transform: scale(1.1); } .tree-b { right: 14%; bottom: 23%; transform: scale(.72); animation-delay: -1.8s; }
@keyframes treeSway { 50% { margin-left: 3px; filter: brightness(1.12); } }
.valley-firefly { position: absolute; z-index: 7; width: 5px; height: 5px; border-radius: 50%; background: #f3df8e; box-shadow: 0 0 15px 4px rgba(239,209,116,.75); animation: firefly 4.5s ease-in-out infinite; }
.firefly-a { left: 25%; top: 39%; } .firefly-b { right: 29%; top: 50%; animation-delay: -1.5s; } .firefly-c { left: 59%; top: 31%; animation-delay: -3s; }
@keyframes firefly { 0%,100% { opacity: 0; transform: translate(0, 14px) scale(.35); } 35%,70% { opacity: .9; } 50% { transform: translate(21px,-24px) scale(1.15); } }

/* Contact: glowing location beacon over a relief-map plane. */
.location-card { min-height: 300px; isolation: isolate; }
.contact-beacon { position: absolute; z-index: 0; inset: 0; overflow: hidden; perspective: 900px; transform: perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.beacon-horizon { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(91,137,93,.38), rgba(23,51,31,.05) 62%, rgba(6,17,10,.5)); }
.beacon-terrain { position: absolute; left: -11%; width: 123%; clip-path: polygon(0 100%, 5% 69%, 17% 76%, 29% 50%, 44% 69%, 59% 23%, 73% 56%, 87% 37%, 100% 64%, 100% 100%); }
.terrain-a { z-index: 1; bottom: 15%; height: 65%; background: linear-gradient(154deg, rgba(100,146,93,.72), rgba(25,66,38,.85)); transform: translateZ(-80px); animation: beaconTerrainA 13s ease-in-out infinite; }
.terrain-b { z-index: 2; bottom: -10%; height: 52%; left: 15%; background: linear-gradient(154deg, rgba(52,108,60,.82), rgba(10,31,17,.95)); transform: translateZ(10px); animation: beaconTerrainB 9s ease-in-out infinite; }
@keyframes beaconTerrainA { 50% { transform: translate3d(-8px,-5px,-80px); } } @keyframes beaconTerrainB { 50% { transform: translate3d(7px,3px,10px); } }
.beacon-pin { position: absolute; z-index: 5; left: 53%; top: 36%; width: 26px; height: 36px; transform: translateZ(95px); animation: beaconFloat 3.5s ease-in-out infinite; }
.beacon-pin::before { content: ""; position: absolute; left: 3px; top: 0; width: 20px; height: 20px; border-radius: 50% 50% 50% 0; background: var(--ember-2); transform: rotate(-45deg); box-shadow: 0 0 20px rgba(255,173,125,.55); }
.beacon-pin i { position: absolute; z-index: 1; left: 9px; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: #fff0c0; }
.beacon-pin b { position: absolute; left: -26px; top: 37px; width: 73px; height: 19px; border: 1px solid rgba(255,173,125,.48); border-radius: 50%; box-shadow: 0 0 0 8px rgba(255,173,125,.08); transform: rotateX(58deg); }
@keyframes beaconFloat { 50% { transform: translate3d(0,-9px,95px); } }
.beacon-wave { position: absolute; z-index: 4; left: 48%; top: 41%; width: 43px; height: 43px; border: 1px solid rgba(255,173,125,.7); border-radius: 50%; transform: translateZ(88px); animation: beaconWave 3.2s ease-out infinite; }
.wave-b { animation-delay: -1.6s; }
@keyframes beaconWave { 0% { opacity: .8; transform: translateZ(88px) scale(.35); } 100% { opacity: 0; transform: translateZ(88px) scale(3.2); } }
.location-card > .location-pin, .location-card > h3, .location-card > p { position: relative; z-index: 8; text-shadow: 0 2px 13px rgba(0,0,0,.35); }
.location-card > h3 { max-width: 340px; }
.location-card > p { max-width: 360px; color: #c2d1c0; }

/* Gallery frame polish and tactile motion. */
.visual-card { box-shadow: 0 18px 60px rgba(0,0,0,.18); transition: box-shadow .4s ease, border-color .4s ease; }
.visual-card:hover { border-color: rgba(239,209,116,.4); box-shadow: 0 26px 75px rgba(0,0,0,.36); }
.visual-art { background: #183021; }
.gallery-hero { background: radial-gradient(circle at 78% 20%, rgba(156,185,111,.26), transparent 27%), linear-gradient(118deg, #06100c, #1b422a 65%, #314828); }

/* Focus states make the richer interaction usable by keyboard, too. */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--yellow); outline-offset: 4px; }

@media (max-width: 920px) {
  .home-3d-scene { right: -14%; width: 76vw; opacity: .8; }
  .story-3d-scene { right: -6%; opacity: .68; }
  .scene-caption { right: 8%; }
  .supply-3d-cargo { left: 35%; }
}
@media (max-width: 680px) {
  .hero { min-height: 790px; }
  .home-3d-scene { right: -49%; bottom: -3%; width: 130%; height: 75%; opacity: .62; }
  .mountain-art { opacity: .1; }
  .scene-caption { right: 20%; bottom: 9%; transform: scale(.85); transform-origin: right bottom; }
  .story-3d-scene { right: -25%; top: 27%; width: 350px; height: 270px; opacity: .5; }
  .page-hero-content { position: relative; z-index: 3; }
  .mine-animation { min-height: 260px; }
  .mine-machine { left: 37%; transform: scale(.78) translateZ(32px) rotateY(-17deg); }
  .supply-3d-cargo { left: 31%; top: 44%; transform: scale(.8) translateZ(80px) rotateY(-18deg) rotateX(8deg); }
  .contact-beacon { opacity: .74; }
}
@media (prefers-reduced-motion: reduce) {
  .home-3d-scene, .story-3d-scene, .mine-animation, .supply-board, .contact-beacon { transform: none !important; transition: none !important; }
  .scene-sun, .scene-cloud, .scene-layer, .scene-pine, .scene-hauler, .scene-dust, .story-sun, .story-ridge, .story-ring, .story-spark, .mine-animation *, .board-terrain, .supply-3d-cargo, .valley-scene *, .contact-beacon *, .visual-card { animation: none !important; }
}

/* ================================================================
   Day / night theme controls, authentic field media, and machinery UI
   ================================================================ */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 12px;
  border: 1px solid rgba(195,218,198,.23);
  border-radius: 999px;
  color: var(--ink);
  background: rgba(7,16,13,.2);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}
.theme-toggle:hover { color: var(--yellow); border-color: rgba(239,209,116,.54); background: rgba(239,209,116,.08); transform: translateY(-2px); }
.theme-toggle-icon { display: inline-grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; color: var(--yellow); font-size: .95rem; line-height: 1; }
.theme-toggle-label { min-width: 29px; }
html[data-theme="day"] body {
  color: #15251b;
  background: #eef4e8;
  background-image: radial-gradient(circle at 9% -5%, rgba(104,155,102,.22), transparent 29%), radial-gradient(circle at 98% 6%, rgba(238,190,91,.15), transparent 24%);
}
html[data-theme="day"] body::before { opacity: .045; mix-blend-mode: multiply; }
html[data-theme="day"] .site-header { background: linear-gradient(180deg, rgba(238,244,232,.82), transparent); }
html[data-theme="day"] .site-header.scrolled { background: rgba(238,244,232,.9); border-bottom-color: rgba(30,81,52,.16); }
html[data-theme="day"] .brand-name, html[data-theme="day"] .main-nav a, html[data-theme="day"] .nav-cta { color: #173420; }
html[data-theme="day"] .brand-sub { color: #5b725f; }
html[data-theme="day"] .main-nav a:hover, html[data-theme="day"] .main-nav a.active { color: #08170e; }
html[data-theme="day"] .theme-toggle { color: #173420; background: rgba(255,255,255,.42); border-color: rgba(30,81,52,.24); }
html[data-theme="day"] .theme-toggle-icon { color: #d28b35; }
html[data-theme="day"] .hero { background: radial-gradient(circle at 78% 29%, rgba(255,221,137,.6), transparent 24%), radial-gradient(circle at 50% 78%, rgba(128,184,126,.44), transparent 36%), linear-gradient(118deg, #dfeeda, #b7d3b4 57%, #739c79 100%); }
html[data-theme="day"] .hero::before { opacity: .18; }
html[data-theme="day"] .hero::after { background: linear-gradient(transparent, #eef4e8); }
html[data-theme="day"] .hero h1, html[data-theme="day"] .hero .lede { color: #122719; }
html[data-theme="day"] .hero h1 span { color: #9a5a24; text-shadow: none; }
html[data-theme="day"] .hero-note { color: #31533a; }
html[data-theme="day"] .mountain-art { opacity: .18; mix-blend-mode: multiply; }
html[data-theme="day"] .marquee { background: #dcebd8; border-color: rgba(30,81,52,.15); }
html[data-theme="day"] .marquee-item { color: #3b6747; }
html[data-theme="day"] .section-dark { background: #eef4e8; }
html[data-theme="day"] .section-soft { background: linear-gradient(135deg, #e0eedc, #eff6e9 60%, #d6e8d1); }
html[data-theme="day"] .section-earth { background: radial-gradient(circle at 84% 14%, rgba(144,164,89,.24), transparent 28%), linear-gradient(135deg, #d8e7d0, #e8efd5 56%, #d2e3c9); }
html[data-theme="day"] h1, html[data-theme="day"] h2, html[data-theme="day"] h3, html[data-theme="day"] .display { color: #173420; }
html[data-theme="day"] p { color: #4b6551; }
html[data-theme="day"] .eyebrow { color: #486f4c; }
html[data-theme="day"] .path-card, html[data-theme="day"] .spec-card { background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(224,239,220,.96)); }
html[data-theme="day"] .path-card:hover, html[data-theme="day"] .spec-card:hover { background: linear-gradient(145deg, #f6fbf0, #d9ead3); }
html[data-theme="day"] .path-card::after { color: rgba(22,73,38,.09); }
html[data-theme="day"] .callout { background: linear-gradient(115deg, #4a7650, #2e5e3c 58%, #466742); border-color: rgba(22,73,38,.2); }
html[data-theme="day"] .callout h2, html[data-theme="day"] .callout p, html[data-theme="day"] .callout .eyebrow { color: #f5f8e9; }
html[data-theme="day"] .page-hero { background: radial-gradient(circle at 82% 16%, rgba(255,219,127,.42), transparent 25%), linear-gradient(118deg, #dcebd8, #acd0ac 66%, #6b9671); }
html[data-theme="day"] .page-hero::before { opacity: .18; }
html[data-theme="day"] .page-hero h1, html[data-theme="day"] .page-hero .lede { color: #153320; }
html[data-theme="day"] .person-card, html[data-theme="day"] .process-panel, html[data-theme="day"] .contact-form { background: linear-gradient(145deg, #f8fbf3, #deecd9); border-color: rgba(30,81,52,.18); }
html[data-theme="day"] .person-info h2, html[data-theme="day"] .process-panel h3 { color: #173420; }
html[data-theme="day"] .person-info p, html[data-theme="day"] .process-panel p { color: #4c6653; }
html[data-theme="day"] .quote-card { background: linear-gradient(145deg, #68966b, #2e6440 62%, #245336); }
html[data-theme="day"] .community-card { background: linear-gradient(150deg, #edf7e8, #d4e8d0); border-color: rgba(30,81,52,.15); }
html[data-theme="day"] .community-card:nth-child(2) { background: linear-gradient(150deg, #f4f2dd, #e4ebcc); }
html[data-theme="day"] .community-card:nth-child(3) { background: linear-gradient(150deg, #ddf0de, #cae4cf); }
html[data-theme="day"] .community-card h3 { color: #173420; }
html[data-theme="day"] .contact-form input, html[data-theme="day"] .contact-form select, html[data-theme="day"] .contact-form textarea { color: #173420; background: rgba(255,255,255,.75); border-color: rgba(30,81,52,.18); }
html[data-theme="day"] .location-card { background: repeating-linear-gradient(135deg, rgba(30,81,52,.05) 0 1px, transparent 1px 13px), linear-gradient(135deg, #9fc59a, #598762); }
html[data-theme="day"] .location-card > p { color: #e8f1dd; }
html[data-theme="day"] .location-card > h3 { color: #f6f8eb; }
html[data-theme="day"] .footer { background: #dcebd8; border-color: rgba(30,81,52,.16); }
html[data-theme="day"] .footer p, html[data-theme="day"] .footer-links a, html[data-theme="day"] .footer-links span, html[data-theme="day"] .footer-bottom { color: #52705a; }
html[data-theme="day"] .footer h4 { color: #3c6a45; }
html[data-theme="day"] .text-link { color: #29633c; }

/* Real media rails. Images use lazy loading in markup; video uses compact local WebM files. */
.media-rail { display: grid; grid-template-columns: 1.28fr .86fr .86fr; gap: 16px; }
.media-tile, .media-card, .media-wall figure { position: relative; margin: 0; overflow: hidden; border: 1px solid rgba(195,218,198,.17); border-radius: var(--radius-sm); background: #0b1710; }
.media-tile { min-height: 282px; }
.media-tile-wide { min-height: 336px; }
.media-tile img, .media-tile video, .media-card img, .media-card video, .media-wall img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.08) brightness(.9); transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .45s ease; }
.media-tile:hover img, .media-tile:hover video, .media-card:hover img, .media-card:hover video, .media-wall figure:hover img { transform: scale(1.065); filter: saturate(.98) contrast(1.05) brightness(1); }
.media-tile::after, .media-card::after, .media-wall figure::after { content: ""; position: absolute; pointer-events: none; inset: 0; background: linear-gradient(transparent 38%, rgba(5,14,9,.9)); }
.media-tile figcaption, .media-card figcaption, .media-wall figcaption { position: absolute; z-index: 2; right: 18px; bottom: 17px; left: 18px; display: grid; gap: 4px; }
.media-tile figcaption span, .media-card figcaption span { color: var(--ember-2); font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.media-tile figcaption strong, .media-card figcaption strong { color: #f0f4e8; font-family: Georgia, serif; font-size: 1.24rem; font-weight: 400; letter-spacing: -.03em; }
.media-video-tile video, .media-card-video video { background: #101a12; }
.media-credit { margin-top: 15px; color: #84978a; font-size: .68rem; letter-spacing: .02em; }
.media-credit a { color: var(--sand-2); text-decoration: underline; text-underline-offset: 3px; }
.media-section { overflow: hidden; }
.media-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 16px; }
.media-card { min-height: 310px; }
.media-card-large { min-height: 400px; }
.media-wall { display: grid; grid-template-columns: 1.08fr .92fr .92fr; grid-auto-rows: 210px; gap: 14px; }
.media-wall figure:first-child { grid-row: span 2; }
.media-wall figure:nth-child(4) { grid-column: 2 / span 2; }
.media-wall figure { min-height: 0; }
.media-wall figcaption { position: absolute; z-index: 2; right: 16px; bottom: 14px; left: 16px; color: #eef4e8; font-size: .73rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }

/* Surface pit: a second, larger machinery animation for Operations. */
.machinery-section { overflow: hidden; }
.machinery-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 65px; align-items: center; }
.machinery-copy h2 { max-width: 450px; }
.machinery-copy p { max-width: 410px; }
.machine-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 26px; color: var(--sand) !important; font-size: .75rem; }
.machine-note i { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--ember-2); box-shadow: 0 0 0 5px rgba(255,173,125,.12); }
.surface-mine-animation { position: relative; min-height: 440px; overflow: hidden; border: 1px solid rgba(195,218,198,.2); border-radius: var(--radius); background: linear-gradient(#8caf91 0%, #b4c887 47%, #6b744b 48%, #253d25 100%); perspective: 1150px; transform-style: preserve-3d; transform: perspective(1150px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition: transform .65s cubic-bezier(.2,.8,.2,1); box-shadow: 0 30px 70px rgba(0,0,0,.25); }
.surface-mine-animation::before { content: ""; position: absolute; z-index: 15; inset: 0; pointer-events: none; background: linear-gradient(100deg, transparent 36%, rgba(246,227,162,.12) 50%, transparent 66%); animation: surfaceLight 8s ease-in-out infinite; }
.surface-mine-animation::after { content: ""; position: absolute; z-index: 15; right: 17px; bottom: 18px; width: 160px; height: 52px; border-right: 1px solid rgba(239,209,116,.44); border-bottom: 1px solid rgba(239,209,116,.44); opacity: .7; }
@keyframes surfaceLight { 0%,100% { transform: translateX(-75%); } 50% { transform: translateX(75%); } }
.surface-sky { position: absolute; z-index: 0; inset: 0; background: radial-gradient(circle at 77% 18%, rgba(247,215,126,.9) 0 4%, rgba(247,215,126,.19) 13%, transparent 30%), linear-gradient(180deg, rgba(176,213,175,.8), transparent 52%); }
.surface-cloud { position: absolute; z-index: 1; width: 150px; height: 25px; border-radius: 999px; background: rgba(244,248,228,.35); filter: blur(1px); animation: surfaceCloud 22s linear infinite; }
.surface-cloud::before, .surface-cloud::after { content: ""; position: absolute; bottom: 2px; border-radius: 50%; background: inherit; }
.surface-cloud::before { left: 23px; width: 49px; height: 39px; } .surface-cloud::after { left: 71px; width: 73px; height: 47px; }
.sm-cloud-a { left: 15%; top: 15%; } .sm-cloud-b { left: 62%; top: 24%; width: 110px; opacity: .42; animation-delay: -11s; }
@keyframes surfaceCloud { 0% { transform: translateX(60px); opacity: 0; } 16%,80% { opacity: .55; } 50% { transform: translateX(-90px) translateY(7px); } 100% { transform: translateX(-160px); opacity: 0; } }
.surface-ridge { position: absolute; z-index: 2; left: -7%; width: 117%; height: 49%; clip-path: polygon(0 100%, 11% 55%, 23% 71%, 37% 29%, 53% 63%, 66% 12%, 82% 56%, 100% 39%, 100% 100%); }
.sr-one { bottom: 34%; background: linear-gradient(155deg, #557a5c, #345139); transform: translateZ(-100px); animation: surfaceRidgeOne 14s ease-in-out infinite; }
.sr-two { bottom: 22%; left: 8%; background: linear-gradient(155deg, #3a633f, #1d3924); transform: translateZ(-15px); animation: surfaceRidgeTwo 10s ease-in-out infinite; }
@keyframes surfaceRidgeOne { 50% { transform: translate3d(-8px,-5px,-100px); } } @keyframes surfaceRidgeTwo { 50% { transform: translate3d(7px,2px,-15px); } }
.surface-bench { position: absolute; z-index: 3; left: -7%; width: 116%; height: 29%; background: linear-gradient(158deg, #9b8051, #4b442c); clip-path: polygon(0 16%, 19% 0, 100% 26%, 100% 100%, 0 100%); transform-style: preserve-3d; }
.bench-one { bottom: 20%; transform: translateZ(32px) rotateX(17deg); box-shadow: inset 0 19px 0 rgba(239,209,116,.17); }
.bench-two { bottom: 7%; left: 10%; height: 21%; background: linear-gradient(158deg, #765f37, #2b2b1d); transform: translateZ(70px) rotateX(20deg); }
.surface-pit { position: absolute; z-index: 4; left: 28%; bottom: 0; width: 58%; height: 27%; clip-path: polygon(11% 0, 87% 0, 100% 100%, 0 100%); background: linear-gradient(160deg, #3a3823, #111b11 75%); transform: translateZ(89px) rotateX(49deg); transform-origin: bottom; border-top: 1px solid rgba(239,209,116,.5); }
.surface-pit::after { content: ""; position: absolute; inset: 20% 15% 0; background: repeating-linear-gradient(90deg, transparent 0 38px, rgba(239,209,116,.24) 39px 40px); opacity: .48; }
.excavator-3d { position: absolute; z-index: 10; left: 30%; bottom: 24%; width: 190px; height: 140px; transform-style: preserve-3d; transform: translateZ(150px) rotateY(-13deg) rotateX(4deg); animation: excavatorFloat 6.8s ease-in-out infinite; filter: drop-shadow(0 16px 12px rgba(0,0,0,.38)); }
.exc-track { position: absolute; bottom: 2px; width: 83px; height: 22px; border-radius: 16px 12px 10px 11px; background: #171f16; border: 4px solid #61704c; box-shadow: inset 0 0 0 3px #293b26; }
.track-left { left: 10px; } .track-right { left: 80px; }
.exc-base { position: absolute; left: 36px; bottom: 20px; width: 78px; height: 33px; border-radius: 7px 13px 5px 3px; background: linear-gradient(145deg, #d3a94d, #64532d); border: 1px solid rgba(255,232,150,.6); transform: translateZ(13px); }
.exc-house { position: absolute; left: 50px; bottom: 48px; width: 75px; height: 45px; border-radius: 9px 12px 4px 4px; background: linear-gradient(145deg, #bd9340, #3f482c); border: 1px solid rgba(255,232,150,.58); transform-origin: 31% 70%; animation: houseSwing 6.8s ease-in-out infinite; }
.exc-house::after { content: ""; position: absolute; left: 10px; top: 9px; width: 44px; height: 19px; border: 1px solid rgba(215,239,211,.6); border-radius: 4px; background: linear-gradient(145deg, rgba(194,226,207,.65), rgba(50,80,52,.45)); }
.exc-cab { position: absolute; left: 59px; bottom: 86px; width: 43px; height: 44px; border-radius: 6px 10px 2px 2px; background: linear-gradient(145deg, #d7b65c, #55643f); border: 1px solid rgba(255,232,150,.6); transform-origin: 35% 90%; animation: houseSwing 6.8s ease-in-out infinite; }
.exc-cab::after { content: ""; position: absolute; left: 8px; top: 7px; width: 24px; height: 17px; border-radius: 3px; background: rgba(186,221,195,.55); }
.exc-boom { position: absolute; z-index: 1; left: 91px; bottom: 78px; width: 101px; height: 22px; border-radius: 8px; background: linear-gradient(145deg, #e0b953, #72552a); border: 1px solid rgba(255,232,150,.55); transform-origin: 7px 12px; transform: rotate(-21deg) translateZ(13px); animation: boomDip 6.8s ease-in-out infinite; }
.exc-boom::after { content: ""; position: absolute; left: 11px; top: 18px; width: 67px; height: 4px; border-radius: 8px; background: #34462d; transform: rotate(19deg); transform-origin: left; }
.exc-stick { position: absolute; z-index: 1; left: 170px; bottom: 43px; width: 83px; height: 16px; border-radius: 7px; background: linear-gradient(145deg, #ddb34c, #624724); border: 1px solid rgba(255,232,150,.52); transform-origin: 8px 8px; transform: rotate(39deg) translateZ(17px); animation: stickDip 6.8s ease-in-out infinite; }
.exc-bucket { position: absolute; z-index: 2; left: 221px; bottom: 5px; width: 45px; height: 44px; border-radius: 7px 4px 16px 4px; background: linear-gradient(145deg, #c3953b, #544323); border: 1px solid rgba(255,232,150,.6); clip-path: polygon(0 0, 100% 21%, 84% 100%, 28% 77%); transform-origin: 5px 8px; transform: rotate(30deg) translateZ(20px); animation: bucketDig 6.8s ease-in-out infinite; }
@keyframes excavatorFloat { 50% { transform: translate3d(8px,-4px,150px) rotateY(-13deg) rotateX(4deg); } }
@keyframes houseSwing { 0%,100% { transform: rotateY(-6deg); } 43%,65% { transform: rotateY(13deg); } }
@keyframes boomDip { 0%,100% { transform: rotate(-21deg) translateZ(13px); } 46%,69% { transform: rotate(2deg) translateZ(13px); } }
@keyframes stickDip { 0%,100% { transform: rotate(39deg) translateZ(17px); } 46%,69% { transform: rotate(66deg) translateZ(17px); } }
@keyframes bucketDig { 0%,100% { transform: rotate(30deg) translateZ(20px); } 46%,69% { transform: rotate(62deg) translateZ(20px); } }
.haul-truck-3d { position: absolute; z-index: 11; right: 15%; bottom: 25%; width: 142px; height: 78px; transform: translateZ(165px) rotateY(-13deg) rotateX(4deg); animation: truckAdvance 8s ease-in-out infinite; filter: drop-shadow(0 14px 10px rgba(0,0,0,.4)); }
.haul-bed { position: absolute; left: 0; top: 13px; width: 91px; height: 38px; border-radius: 4px 3px 2px 2px; background: linear-gradient(145deg, #8c7a43, #3a3b25); border: 1px solid rgba(239,209,116,.58); transform: skewY(-5deg); }
.haul-bed::after { content: ""; position: absolute; inset: -10px 9px 7px; clip-path: polygon(4% 100%, 16% 0, 100% 15%, 88% 100%); background: linear-gradient(145deg, #715d30, #272d1e); }
.haul-cab { position: absolute; right: 4px; top: 27px; width: 50px; height: 39px; border-radius: 6px 9px 3px 2px; background: linear-gradient(145deg, #c49d43, #405135); border: 1px solid rgba(239,209,116,.62); }
.haul-cab::before { content: ""; position: absolute; left: 8px; top: 7px; width: 27px; height: 13px; border-radius: 3px; background: rgba(188,219,190,.57); }
.haul-wheel { position: absolute; bottom: 2px; width: 19px; height: 19px; border-radius: 50%; background: #0b120c; border: 4px solid #88744a; }
.haul-wheel-a { left: 14px; } .haul-wheel-b { right: 13px; }
@keyframes truckAdvance { 0%,100% { transform: translate3d(12px,0,165px) rotateY(-13deg) rotateX(4deg); } 50% { transform: translate3d(-35px,-4px,165px) rotateY(-13deg) rotateX(4deg); } }
.machine-dust { position: absolute; z-index: 12; width: 7px; height: 7px; border-radius: 50%; background: #d4bd82; box-shadow: 13px 9px 0 rgba(212,189,130,.3), 24px -5px 0 rgba(212,189,130,.18); animation: machineDust 5.6s ease-in-out infinite; }
.md-one { left: 59%; bottom: 29%; } .md-two { left: 70%; bottom: 27%; animation-delay: -1.7s; } .md-three { left: 45%; bottom: 25%; animation-delay: -3.3s; }
@keyframes machineDust { 0%,100% { opacity: 0; transform: translate(0,12px) scale(.45); } 28% { opacity: .62; } 73% { opacity: 0; transform: translate(35px,-38px) scale(1.1); } }
.machine-label { position: absolute; z-index: 20; right: 20px; top: 18px; display: grid; gap: 4px; padding: 10px 12px; border-left: 1px solid rgba(239,209,116,.6); background: rgba(9,22,12,.34); backdrop-filter: blur(7px); }
.machine-label span { color: var(--ember-2); font-size: .56rem; font-weight: 800; letter-spacing: .15em; }
.machine-label strong { color: #f1e4ad; font-size: .62rem; letter-spacing: .1em; }

@media (max-width: 1050px) {
  .theme-toggle-label { display: none; }
  .theme-toggle { padding: 9px 10px; }
  .machinery-layout { grid-template-columns: 1fr; gap: 35px; }
  .machinery-copy p { max-width: 600px; }
}
@media (max-width: 920px) {
  .media-rail, .media-grid { grid-template-columns: 1fr 1fr; }
  .media-tile-wide, .media-card-large { grid-row: auto; grid-column: 1 / -1; min-height: 300px; }
  .media-wall { grid-template-columns: 1fr 1fr; }
  .media-wall figure:first-child { grid-row: span 2; }
  .media-wall figure:nth-child(4) { grid-column: 1 / -1; }
  .surface-mine-animation { min-height: 410px; }
}
@media (max-width: 680px) {
  .theme-toggle { display: inline-flex; padding: 8px 9px; }
  .theme-toggle-label { display: inline; min-width: 0; font-size: .58rem; }
  .media-rail, .media-grid, .media-wall { grid-template-columns: 1fr; }
  .media-tile-wide, .media-card-large, .media-wall figure:first-child, .media-wall figure:nth-child(4) { grid-column: auto; grid-row: auto; min-height: 265px; }
  .media-tile, .media-card { min-height: 255px; }
  .surface-mine-animation { min-height: 330px; }
  .excavator-3d { left: 16%; bottom: 23%; transform: scale(.73) translateZ(150px) rotateY(-13deg) rotateX(4deg); transform-origin: left bottom; }
  .haul-truck-3d { right: 3%; bottom: 23%; transform: scale(.72) translateZ(165px) rotateY(-13deg) rotateX(4deg); transform-origin: right bottom; }
  .machine-label { right: 12px; top: 12px; transform: scale(.85); transform-origin: right top; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-toggle, .media-tile img, .media-tile video, .media-card img, .media-card video, .media-wall img { transition: none !important; }
  .surface-mine-animation *, .home-3d-scene *, .story-3d-scene *, .mine-animation *, .supply-board *, .contact-beacon * { animation: none !important; }
}

/* Home hero: replace the earlier abstract haul-truck shape with real compact field footage. */
.scene-hauler { display: none !important; }
.home-truck-film { position: absolute; z-index: 12; right: 10%; bottom: 20%; width: 244px; height: 150px; margin: 0; overflow: hidden; border: 1px solid rgba(239,209,116,.7); border-radius: 14px; background: #08120c; box-shadow: 0 23px 38px rgba(0,0,0,.44), 0 0 0 8px rgba(8,18,12,.16); transform: translateZ(155px) rotateY(-12deg) rotateX(5deg); transform-style: preserve-3d; animation: filmFloat 6.5s ease-in-out infinite; }
.home-truck-film::before { content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(145deg, rgba(255,255,255,.16), transparent 31%, transparent 68%, rgba(0,0,0,.28)); }
.home-truck-film video { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.08) brightness(.88); }
.home-truck-film figcaption { position: absolute; z-index: 4; right: 10px; bottom: 9px; left: 10px; display: grid; gap: 3px; padding: 6px 8px; border-left: 2px solid var(--ember-2); background: rgba(5,14,9,.68); backdrop-filter: blur(8px); }
.home-truck-film figcaption span { color: var(--ember-2); font-size: .52rem; font-weight: 850; letter-spacing: .12em; }
.home-truck-film figcaption strong { color: #f5f5de; font-size: .58rem; font-weight: 700; letter-spacing: .08em; }
.film-scanline { position: absolute; z-index: 3; right: 0; left: 0; top: 0; height: 1px; background: rgba(239,209,116,.7); box-shadow: 0 0 13px rgba(239,209,116,.5); animation: filmScan 4.4s ease-in-out infinite; }
@keyframes filmFloat { 0%,100% { transform: translate3d(0,0,155px) rotateY(-12deg) rotateX(5deg); } 50% { transform: translate3d(8px,-7px,155px) rotateY(-9deg) rotateX(5deg); } }
@keyframes filmScan { 0%,100% { transform: translateY(0); opacity: 0; } 22%,72% { opacity: .74; } 50% { transform: translateY(148px); opacity: .2; } }

/* Day mode contrast pass: strengthen rules, borders, controls, and muted text on light backgrounds. */
html[data-theme="day"] .rule,
html[data-theme="day"] .feature-card,
html[data-theme="day"] .numbered-item,
html[data-theme="day"] .mini-stats,
html[data-theme="day"] .mini-stat,
html[data-theme="day"] .faq-list,
html[data-theme="day"] .faq-list details,
html[data-theme="day"] .footer-bottom,
html[data-theme="day"] .marquee,
html[data-theme="day"] .pathway,
html[data-theme="day"] .spec-grid,
html[data-theme="day"] .media-tile,
html[data-theme="day"] .media-card,
html[data-theme="day"] .media-wall figure { border-color: rgba(23, 72, 39, .27); }
html[data-theme="day"] .feature-card { border-top-color: rgba(23,72,39,.27); }
html[data-theme="day"] .feature-card:last-child, html[data-theme="day"] .numbered-item:last-child { border-bottom-color: rgba(23,72,39,.27); }
html[data-theme="day"] .pathway, html[data-theme="day"] .spec-grid { background: rgba(23,72,39,.22); }
html[data-theme="day"] .path-icon, html[data-theme="day"] .contact-detail .contact-icon { border-color: rgba(23,72,39,.32); }
html[data-theme="day"] .footer { border-top-color: rgba(23,72,39,.24); }
html[data-theme="day"] .nav-cta, html[data-theme="day"] .btn-quiet { border-color: rgba(23,72,39,.35); }
html[data-theme="day"] .nav-cta:hover, html[data-theme="day"] .btn-quiet:hover { border-color: rgba(23,72,39,.58); }
html[data-theme="day"] .faq-list summary, html[data-theme="day"] .contact-detail strong { color: #183d24; }
html[data-theme="day"] .faq-list details p { color: #45664c; }
html[data-theme="day"] .form-status { color: #2f6f3c; }
html[data-theme="day"] .media-credit { color: #4f7056; }
html[data-theme="day"] .media-credit a { color: #275e35; }
html[data-theme="day"] .section-head p, html[data-theme="day"] .lede { color: #3e6247; }
html[data-theme="day"] .eyebrow::before { background: #ba6236; }
html[data-theme="day"] .page-hero::before { opacity: .34; }
html[data-theme="day"] .page-hero-orb { opacity: .85; }
html[data-theme="day"] .home-truck-film { border-color: rgba(106,72,31,.56); box-shadow: 0 23px 38px rgba(38,62,35,.28), 0 0 0 8px rgba(235,244,225,.18); }
html[data-theme="day"] .home-truck-film figcaption { background: rgba(19,46,26,.72); }

@media (max-width: 920px) {
  .home-truck-film { right: 7%; bottom: 18%; width: 205px; height: 128px; }
}
@media (max-width: 680px) {
  .home-truck-film { right: 17%; bottom: 17%; width: 203px; height: 125px; transform: scale(.9) translateZ(155px) rotateY(-10deg) rotateX(5deg); transform-origin: right bottom; }
}
@media (prefers-reduced-motion: reduce) {
  .home-truck-film, .film-scanline { animation: none !important; }
}

/* Home hero reel: several real mining clips rotate in one lightweight stage. */
.home-reel { position: absolute; z-index: 12; right: 7%; bottom: 17%; width: 314px; height: 203px; margin: 0; overflow: hidden; border: 1px solid rgba(239,209,116,.74); border-radius: 16px; background: #07120b; box-shadow: 0 26px 48px rgba(0,0,0,.48), 0 0 0 8px rgba(8,18,12,.16); transform: perspective(900px) translateZ(155px) rotateY(-12deg) rotateX(5deg); transform-style: preserve-3d; transition: transform .65s cubic-bezier(.2,.8,.2,1); }
.home-reel::before { content: ""; position: absolute; z-index: 5; inset: 0; pointer-events: none; border: 1px solid rgba(255,255,255,.08); border-radius: inherit; background: linear-gradient(145deg, rgba(255,255,255,.15), transparent 28%, transparent 70%, rgba(0,0,0,.3)); }
.reel-slides { position: absolute; inset: 0 0 37px; }
.reel-slide { position: absolute; inset: 0; margin: 0; overflow: hidden; opacity: 0; visibility: hidden; background: #0a150d; transition: opacity .6s ease, visibility .6s ease; }
.reel-slide.active { z-index: 2; opacity: 1; visibility: visible; }
.reel-slide video, .reel-slide > img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.87) contrast(1.08) brightness(.82); }
.reel-slide::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 26%, rgba(4,12,7,.14) 44%, rgba(4,12,7,.92) 100%); }
.reel-slide figcaption { position: absolute; z-index: 3; right: 12px; bottom: 11px; left: 12px; display: grid; gap: 3px; padding: 6px 8px; border-left: 2px solid var(--ember-2); background: rgba(5,14,9,.62); backdrop-filter: blur(8px); }
.reel-slide figcaption span { color: var(--ember-2); font-size: .51rem; font-weight: 850; letter-spacing: .12em; }
.reel-slide figcaption strong { color: #f5f5de; font-size: .63rem; font-weight: 750; letter-spacing: .08em; }
.reel-footer { position: absolute; z-index: 7; right: 0; bottom: 0; left: 0; display: flex; align-items: center; gap: 8px; height: 37px; padding: 0 10px; border-top: 1px solid rgba(239,209,116,.2); background: rgba(6,17,10,.9); }
.reel-live { display: inline-flex; align-items: center; gap: 5px; color: #a4c691; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }
.reel-live i { width: 5px; height: 5px; border-radius: 50%; background: #9cd17d; box-shadow: 0 0 0 4px rgba(156,209,125,.1); animation: statusPulse 1.8s ease-in-out infinite; }
.reel-count { color: var(--sand); font-size: .57rem; font-weight: 800; letter-spacing: .08em; }
.reel-dots { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.reel-dot { width: 5px; height: 5px; padding: 0; border: 0; border-radius: 50%; background: rgba(239,209,116,.28); }
.reel-dot.active { width: 15px; border-radius: 999px; background: var(--yellow); }
.reel-skip { padding: 0; border: 0; color: #c0c99f; background: transparent; font-size: .55rem; font-weight: 800; letter-spacing: .04em; }
.reel-skip:hover { color: var(--yellow); }
.reel-slide.active .film-scanline { animation: filmScan 4.6s ease-in-out infinite; }
.darra-reference-copy { position: absolute; z-index: 3; right: 13px; bottom: 14px; left: 13px; display: grid; gap: 5px; }
.darra-reference-copy span { color: #ffe091; font-size: .5rem; font-weight: 850; letter-spacing: .1em; }
.darra-reference-copy strong { color: #fff9dd; font-family: Georgia, serif; font-size: 1.26rem; font-weight: 400; line-height: 1; }
.darra-reference-copy a { width: max-content; margin-top: 4px; padding: 6px 8px; border: 1px solid rgba(239,209,116,.46); border-radius: 999px; color: #fff3c5; background: rgba(12,32,16,.64); font-size: .57rem; font-weight: 800; }
.darra-reference-copy a:hover { background: rgba(239,209,116,.16); }
.darra-reference-shade { position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, rgba(4,12,7,.08), rgba(4,12,7,.92) 71%); }
.reel-slide.active::before { content: ""; position: absolute; z-index: 4; left: 0; bottom: 37px; width: 100%; height: 2px; background: linear-gradient(90deg, var(--ember-2), var(--yellow)); transform-origin: left; animation: reelProgress var(--reel-duration, 7.2s) linear both; }
@keyframes reelProgress { from { transform: scaleX(0); opacity: .9; } to { transform: scaleX(1); opacity: .2; } }
html[data-theme="day"] .home-reel { border-color: rgba(103,74,29,.6); box-shadow: 0 26px 48px rgba(38,62,35,.28), 0 0 0 8px rgba(235,244,225,.2); }
html[data-theme="day"] .reel-footer { background: rgba(22,52,29,.9); border-color: rgba(239,209,116,.32); }
html[data-theme="day"] .reel-skip, html[data-theme="day"] .reel-count { color: #f0e9bd; }
html[data-theme="day"] .reel-live { color: #c9e0b2; }
@media (max-width: 920px) { .home-reel { right: 5%; bottom: 16%; width: 266px; height: 177px; } }
@media (max-width: 680px) { .home-reel { right: 15%; bottom: 15%; width: 252px; height: 174px; transform: perspective(900px) scale(.9) translateZ(155px) rotateY(-10deg) rotateX(5deg); transform-origin: right bottom; } }

/* Compact information blocks used on inner pages. */
.identity-kicker { margin-bottom: 25px; color: var(--ember-2); font-size: .64rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.about-identity .spec-card, .operations-brief .spec-card, .supply-brief .spec-card, .community-brief .spec-card, .contact-brief .spec-card { min-height: 225px; }
html[data-theme="day"] .identity-kicker { color: #a4512d; }

/* Leadership / distribution presentation pass. */
.distribution-section { overflow: hidden; }
.distribution-grid { display: grid; grid-template-columns: 1.17fr .83fr .83fr; gap: 15px; }
.distribution-card { position: relative; min-height: 310px; margin: 0; overflow: hidden; border: 1px solid rgba(195,218,198,.2); border-radius: 18px; background: #0b1710; }
.distribution-card-large { min-height: 390px; }
.distribution-card img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.1) brightness(.78); transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
.distribution-card:hover img { transform: scale(1.06); filter: saturate(.98) contrast(1.07) brightness(.94); }
.distribution-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 31%, rgba(4,12,7,.92)); pointer-events: none; }
.distribution-card figcaption { position: absolute; z-index: 2; right: 18px; bottom: 18px; left: 18px; display: grid; gap: 5px; }
.distribution-card figcaption span { color: var(--ember-2); font-size: .62rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.distribution-card figcaption strong { color: #f1f3dd; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 400; letter-spacing: -.03em; }
.export-section { overflow: hidden; }
.export-panel { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: center; padding: 54px; border: 1px solid rgba(163,196,159,.25); border-radius: var(--radius); background: radial-gradient(circle at 77% 45%, rgba(114,169,115,.21), transparent 27%), linear-gradient(130deg, #153421, #1f4c2b 53%, #293c22); box-shadow: 0 24px 74px rgba(0,0,0,.2); }
.export-copy h2 { max-width: 580px; }
.export-copy p { max-width: 535px; color: #c3d5c0; }
.export-route { position: relative; display: flex; align-items: center; min-height: 200px; padding: 0 2%; perspective: 900px; }
.export-node { position: relative; z-index: 2; display: grid; place-items: center; gap: 5px; min-width: 82px; color: rgba(231,239,215,.62); text-align: center; }
.export-node span { display: grid; place-items: center; width: 57px; height: 57px; border: 1px solid rgba(231,239,215,.33); border-radius: 50%; background: rgba(7,18,10,.24); font-family: Georgia, serif; font-size: 1rem; }
.export-node.active span { color: #112417; border-color: var(--yellow); background: var(--yellow); box-shadow: 0 0 0 9px rgba(239,209,116,.1); }
.export-node strong { color: #f2f3d9; font-size: .74rem; }
.export-node small { color: #b7c9ad; font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.export-line { position: relative; flex: 1; height: 2px; margin: 0 5px 37px; background: rgba(231,239,215,.24); }
.export-line::after { content: ""; position: absolute; left: 0; top: -2px; width: 35%; height: 6px; border-radius: 999px; background: linear-gradient(90deg, var(--ember-2), var(--yellow)); filter: blur(1px); animation: exportFlow 3.2s ease-in-out infinite; }
.export-line:nth-of-type(2)::after { animation-delay: -1.3s; }
@keyframes exportFlow { 0%,100% { left: 0; opacity: .25; } 50% { left: 68%; opacity: 1; } }
.export-orbit { position: absolute; z-index: 1; left: 39%; top: 18%; width: 155px; height: 155px; border: 1px dashed rgba(239,209,116,.33); border-radius: 50%; transform: rotateX(62deg) rotateZ(-15deg); animation: exportOrbit 13s linear infinite; }
.export-orbit::after { content: ""; position: absolute; left: -3px; top: 45%; width: 7px; height: 7px; border-radius: 50%; background: var(--ember-2); box-shadow: 0 0 15px rgba(255,173,125,.8); }
@keyframes exportOrbit { to { transform: rotateX(62deg) rotateZ(345deg); } }
html[data-theme="day"] .distribution-card { border-color: rgba(23,72,39,.27); }
html[data-theme="day"] .export-panel { background: linear-gradient(130deg, #3f7145, #5b8a54 53%, #657d45); border-color: rgba(23,72,39,.25); }
html[data-theme="day"] .export-copy p { color: #e6f0dc; }
@media (max-width: 920px) { .distribution-grid { grid-template-columns: 1fr 1fr; } .distribution-card-large { grid-column: 1 / -1; min-height: 315px; } .export-panel { grid-template-columns: 1fr; gap: 25px; } }
@media (max-width: 680px) { .distribution-grid { grid-template-columns: 1fr; } .distribution-card-large, .distribution-card { min-height: 270px; grid-column: auto; } .export-panel { padding: 29px 22px; } .export-route { min-height: 180px; padding: 0; } .export-node { min-width: 63px; } .export-node span { width: 45px; height: 45px; } .export-node strong { font-size: .62rem; } .export-line { margin-left: 3px; margin-right: 3px; } .export-orbit { width: 115px; height: 115px; left: 35%; top: 23%; } }

/* Transport gallery tiles shared by the Supply page. */
.transport-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.transport-card { position: relative; min-height: 320px; margin: 0; overflow: hidden; border: 1px solid rgba(195,218,198,.2); border-radius: var(--radius-sm); background: #0b1710; }
.transport-card img, .transport-card video { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.08) brightness(.84); transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .45s ease; }
.transport-card:hover img, .transport-card:hover video { transform: scale(1.06); filter: saturate(1) contrast(1.05) brightness(.98); }
.transport-card::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(transparent 30%, rgba(4,12,7,.92)); }
.transport-card figcaption { position: absolute; z-index: 2; right: 18px; bottom: 17px; left: 18px; display: grid; gap: 5px; }
.transport-card figcaption span { color: var(--ember-2); font-size: .62rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.transport-card figcaption strong { color: #f1f3dd; font-family: Georgia, serif; font-size: 1.3rem; font-weight: 400; letter-spacing: -.03em; }
.transport-video video { background: #122015; }
html[data-theme="day"] .transport-card { border-color: rgba(23,72,39,.28); }
@media (max-width: 920px) { .transport-grid { grid-template-columns: 1fr 1fr; } .transport-card:first-child { grid-column: 1 / -1; } }
@media (max-width: 680px) { .transport-grid { grid-template-columns: 1fr; } .transport-card:first-child { grid-column: auto; } .transport-card { min-height: 270px; } }

/* Final light-theme readability guardrails. */
html[data-theme="day"] .feature-card,
html[data-theme="day"] .numbered-item,
html[data-theme="day"] .mini-stats,
html[data-theme="day"] .mini-stat,
html[data-theme="day"] .faq-list,
html[data-theme="day"] .faq-list details,
html[data-theme="day"] .footer-bottom,
html[data-theme="day"] .pathway,
html[data-theme="day"] .spec-grid,
html[data-theme="day"] .media-tile,
html[data-theme="day"] .media-card,
html[data-theme="day"] .media-wall figure,
html[data-theme="day"] .distribution-card,
html[data-theme="day"] .transport-card { border-color: rgba(15, 67, 34, .36) !important; }
html[data-theme="day"] .feature-card:last-child, html[data-theme="day"] .numbered-item:last-child { border-bottom-color: rgba(15,67,34,.36) !important; }
html[data-theme="day"] .pathway, html[data-theme="day"] .spec-grid { background-color: rgba(15,67,34,.26); }
html[data-theme="day"] .feature-card p,
html[data-theme="day"] .numbered-item p,
html[data-theme="day"] .path-card p,
html[data-theme="day"] .spec-card p,
html[data-theme="day"] .community-card p,
html[data-theme="day"] .pullquote small,
html[data-theme="day"] .footer-links a,
html[data-theme="day"] .footer-links span,
html[data-theme="day"] .footer-bottom { color: #34563c; }
html[data-theme="day"] .feature-card h3,
html[data-theme="day"] .numbered-item h3,
html[data-theme="day"] .path-card h3,
html[data-theme="day"] .spec-card h3,
html[data-theme="day"] .community-card h3 { color: #173b24; }
html[data-theme="day"] .section-head h2,
html[data-theme="day"] .intro-copy h2,
html[data-theme="day"] .sticky-label h2,
html[data-theme="day"] .story-block h2 { color: #12351f; }
html[data-theme="day"] .page-hero h1,
html[data-theme="day"] .hero h1 { text-shadow: 0 1px 0 rgba(255,255,255,.4); }
html[data-theme="day"] .page-hero .lede,
html[data-theme="day"] .hero .lede,
html[data-theme="day"] .intro-copy p,
html[data-theme="day"] .story-block p,
html[data-theme="day"] .section-head p { color: #31583a; }
html[data-theme="day"] .faq-list summary { color: #173b24; }
html[data-theme="day"] .faq-list summary::after { color: #996125; }
html[data-theme="day"] .contact-detail .contact-icon { color: #28633a; background: rgba(255,255,255,.34); }
html[data-theme="day"] .rule { background: rgba(15,67,34,.33); }
html[data-theme="day"] .page-hero::before { opacity: .42; }

/* ================================================================
   Daylight redesign — high-contrast mountain daylight system
   ================================================================ */
html[data-theme="day"] {
  color-scheme: light;
  --ink: #10291a;
  --ink-soft: #38563f;
  --coal: #f4f8f1;
  --coal-2: #ffffff;
  --coal-3: #e6f0e3;
  --line: rgba(16, 74, 38, .26);
  --line-strong: rgba(16, 74, 38, .42);
  --sand: #557246;
  --sand-2: #294f32;
  --ember: #bd5e35;
  --ember-2: #a74928;
  --moss: #2c7740;
  --yellow: #b88719;
}
html[data-theme="day"] body {
  color: #10291a;
  background: #f4f8f1;
  background-image: radial-gradient(circle at 4% 0%, rgba(123,180,116,.2), transparent 30%), linear-gradient(180deg, #f8fbf6, #eef5eb);
}
html[data-theme="day"] body::before { opacity: .025; mix-blend-mode: multiply; }
html[data-theme="day"] .site-header {
  background: rgba(248,252,246,.92);
  border-bottom: 1px solid rgba(16,74,38,.16);
  box-shadow: 0 4px 22px rgba(35,72,42,.05);
}
html[data-theme="day"] .site-header.scrolled { background: rgba(248,252,246,.97); border-bottom-color: rgba(16,74,38,.25); }
html[data-theme="day"] .brand-name { color: #102d1b; }
html[data-theme="day"] .brand-sub { color: #54705a; }
html[data-theme="day"] .brand-mark { color: #a97812; }
html[data-theme="day"] .main-nav a { color: #385943; }
html[data-theme="day"] .main-nav a:hover, html[data-theme="day"] .main-nav a.active { color: #102d1b; }
html[data-theme="day"] .main-nav a.active::after { background: #b8502d; box-shadow: none; }
html[data-theme="day"] .nav-cta, html[data-theme="day"] .theme-toggle { color: #14351f; background: rgba(255,255,255,.72); border-color: rgba(16,74,38,.34); }
html[data-theme="day"] .nav-cta:hover, html[data-theme="day"] .theme-toggle:hover { color: #0e2c18; background: #ffffff; border-color: rgba(16,74,38,.62); }
html[data-theme="day"] .menu-toggle { color: #173b25; }
html[data-theme="day"] .theme-toggle-icon { color: #a66f09; }
html[data-theme="day"] .hero {
  color: #10291a;
  background: radial-gradient(circle at 76% 22%, rgba(255,222,127,.68), transparent 24%), radial-gradient(circle at 49% 78%, rgba(136,194,131,.38), transparent 37%), linear-gradient(120deg, #e4f0df 0%, #bdd9bb 54%, #8ab28d 100%);
}
html[data-theme="day"] .hero::before { opacity: .16; background-image: linear-gradient(rgba(19,74,39,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(19,74,39,.12) 1px, transparent 1px); }
html[data-theme="day"] .hero::after { height: 30%; background: linear-gradient(transparent, #f4f8f1); }
html[data-theme="day"] .hero h1, html[data-theme="day"] .hero .lede { color: #10291a; }
html[data-theme="day"] .hero h1 span { color: #9b5526; }
html[data-theme="day"] .hero .lede { color: #2d5136; }
html[data-theme="day"] .hero-note { color: #345b3d; }
html[data-theme="day"] .hero-note i { background: #b8502d; box-shadow: 0 0 0 6px rgba(184,80,45,.12); }
html[data-theme="day"] .mountain-art { opacity: .14; filter: saturate(.62) sepia(.04) contrast(1.05); mix-blend-mode: multiply; }
html[data-theme="day"] .home-3d-scene { opacity: .77; }
html[data-theme="day"] .marquee { background: #e2f0df; border-color: rgba(16,74,38,.27); }
html[data-theme="day"] .marquee-item { color: #346841; }
html[data-theme="day"] .section-dark { background: #f4f8f1; }
html[data-theme="day"] .section-soft { background: linear-gradient(135deg, #e4f0e1, #f7fbf5 60%, #dfedde); }
html[data-theme="day"] .section-earth { background: linear-gradient(135deg, #e7eedb, #f1f5df 55%, #ddebd6); }
html[data-theme="day"] .eyebrow { color: #326a3e; }
html[data-theme="day"] .eyebrow::before { background: #b8502d; box-shadow: none; }
html[data-theme="day"] h1, html[data-theme="day"] h2, html[data-theme="day"] h3, html[data-theme="day"] h4, html[data-theme="day"] .display { color: #102d1b; }
html[data-theme="day"] p { color: #385a40; }
html[data-theme="day"] .lede, html[data-theme="day"] .section-head p { color: #31573b; }
html[data-theme="day"] .feature-card, html[data-theme="day"] .numbered-item, html[data-theme="day"] .mini-stat, html[data-theme="day"] .mini-stats, html[data-theme="day"] .faq-list, html[data-theme="day"] .faq-list details { border-color: rgba(16,74,38,.32) !important; }
html[data-theme="day"] .feature-card h3, html[data-theme="day"] .numbered-item h3, html[data-theme="day"] .path-card h3, html[data-theme="day"] .spec-card h3, html[data-theme="day"] .community-card h3 { color: #173b24; }
html[data-theme="day"] .feature-card p, html[data-theme="day"] .numbered-item p, html[data-theme="day"] .path-card p, html[data-theme="day"] .spec-card p, html[data-theme="day"] .community-card p { color: #355a3d; }
html[data-theme="day"] .feature-number, html[data-theme="day"] .mini-stat strong, html[data-theme="day"] .big-num, html[data-theme="day"] .identity-kicker { color: #9b6710; }
html[data-theme="day"] .pathway, html[data-theme="day"] .spec-grid { border-color: rgba(16,74,38,.31); background: rgba(16,74,38,.22); }
html[data-theme="day"] .path-card, html[data-theme="day"] .spec-card { background: #ffffff; box-shadow: 0 10px 28px rgba(28,77,41,.07); }
html[data-theme="day"] .path-card:hover, html[data-theme="day"] .spec-card:hover { background: #f8fcf5; box-shadow: 0 14px 34px rgba(28,77,41,.12); }
html[data-theme="day"] .path-card::after { color: rgba(16,74,38,.1); }
html[data-theme="day"] .path-icon, html[data-theme="day"] .contact-detail .contact-icon { color: #2e7140; border-color: rgba(16,74,38,.35); background: rgba(224,241,221,.64); }
html[data-theme="day"] .pullquote { color: #254f32; border-left-color: #b8502d; }
html[data-theme="day"] .pullquote small { color: #4a6b50; }
html[data-theme="day"] .callout { background: linear-gradient(115deg, #2e6740, #3f7a49 58%, #547c43); border-color: rgba(16,74,38,.31); box-shadow: 0 18px 52px rgba(35,88,45,.16); }
html[data-theme="day"] .callout h2, html[data-theme="day"] .callout p, html[data-theme="day"] .callout .eyebrow { color: #f6faed; }
html[data-theme="day"] .callout .eyebrow::before { background: #ffd678; }
html[data-theme="day"] .page-hero { background: radial-gradient(circle at 80% 12%, rgba(255,224,132,.54), transparent 26%), linear-gradient(120deg, #deedd9, #b4d6b5 64%, #83ab88); }
html[data-theme="day"] .page-hero::before { opacity: .3; background-image: linear-gradient(120deg, transparent 45%, rgba(16,74,38,.18) 45.1%, transparent 45.6%), linear-gradient(160deg, transparent 59%, rgba(16,74,38,.13) 59.2%, transparent 59.6%); }
html[data-theme="day"] .page-hero-orb { opacity: .82; background: radial-gradient(circle, rgba(251,215,122,.5), rgba(113,177,116,.15) 48%, transparent 70%); }
html[data-theme="day"] .page-hero h1, html[data-theme="day"] .page-hero .lede { color: #112f1c; }
html[data-theme="day"] .person-card, html[data-theme="day"] .process-panel, html[data-theme="day"] .contact-form { background: #ffffff; border-color: rgba(16,74,38,.27); box-shadow: 0 14px 40px rgba(31,77,43,.08); }
html[data-theme="day"] .person-info h2, html[data-theme="day"] .process-panel h3 { color: #102d1b; }
html[data-theme="day"] .person-info p, html[data-theme="day"] .process-panel p { color: #355a3d; }
html[data-theme="day"] .process-list li { border-color: rgba(16,74,38,.25); color: #3a5b41; }
html[data-theme="day"] .process-list li::before { color: #ffffff; background: #2f7540; }
html[data-theme="day"] .quote-card { box-shadow: 0 16px 42px rgba(29,82,43,.18); }
html[data-theme="day"] .community-card { border-color: rgba(16,74,38,.27); box-shadow: 0 10px 28px rgba(28,77,41,.07); }
html[data-theme="day"] .community-card:nth-child(2), html[data-theme="day"] .community-card:nth-child(3) { box-shadow: 0 10px 28px rgba(28,77,41,.07); }
html[data-theme="day"] .contact-form input, html[data-theme="day"] .contact-form select, html[data-theme="day"] .contact-form textarea { color: #173b24; background: #ffffff; border-color: rgba(16,74,38,.31); }
html[data-theme="day"] .contact-form input::placeholder, html[data-theme="day"] .contact-form textarea::placeholder { color: #6a876f; }
html[data-theme="day"] .contact-form input:focus, html[data-theme="day"] .contact-form select:focus, html[data-theme="day"] .contact-form textarea:focus { border-color: #2f7540; box-shadow: 0 0 0 3px rgba(47,117,64,.14); }
html[data-theme="day"] .location-card { border-color: rgba(16,74,38,.3); }
html[data-theme="day"] .location-card > p { color: #f0f7e8; }
html[data-theme="day"] .faq-list summary { color: #173b24; }
html[data-theme="day"] .faq-list details p { color: #3a5e42; }
html[data-theme="day"] .text-link { color: #245f36; }
html[data-theme="day"] .text-link::after { color: #ad572d; }
html[data-theme="day"] .footer { background: #e2f0df; border-top-color: rgba(16,74,38,.3); }
html[data-theme="day"] .footer h4 { color: #2b6940; }
html[data-theme="day"] .footer-links a, html[data-theme="day"] .footer-links span, html[data-theme="day"] .footer p, html[data-theme="day"] .footer-bottom { color: #44684c; }
html[data-theme="day"] .footer-links a:hover { color: #143c21; }
html[data-theme="day"] .media-credit { color: #45694d; }
html[data-theme="day"] .media-credit a { color: #1f5c33; }
html[data-theme="day"] .media-tile, html[data-theme="day"] .media-card, html[data-theme="day"] .media-wall figure, html[data-theme="day"] .distribution-card, html[data-theme="day"] .transport-card { border-color: rgba(16,74,38,.32) !important; box-shadow: 0 12px 32px rgba(28,77,41,.09); }
html[data-theme="day"] .image-note { background: #ffffff; border-color: rgba(16,74,38,.28); box-shadow: 0 14px 40px rgba(31,77,43,.08); }
html[data-theme="day"] .image-note p { color: #355a3d; }
html[data-theme="day"] .export-panel { box-shadow: 0 18px 50px rgba(31,82,43,.17); }
html[data-theme="day"] .export-route .export-line { background: rgba(246,250,237,.55); }
html[data-theme="day"] .export-node small { color: #e4efd9; }
html[data-theme="day"] .export-node strong { color: #ffffff; }
html[data-theme="day"] .export-node span { border-color: rgba(246,250,237,.55); }
html[data-theme="day"] .export-node.active span { color: #173420; border-color: #efd174; background: #efd174; }

/* Day-mode guardrails for the admin/control room. */
html[data-theme="day"] .crm-body { color: #10291a; background: #eef6eb; background-image: radial-gradient(circle at 80% -10%, rgba(116,177,112,.22), transparent 30%); }
html[data-theme="day"] .crm-header { background: rgba(248,252,246,.97); border-bottom-color: rgba(16,74,38,.22); }
html[data-theme="day"] .crm-metrics, html[data-theme="day"] .crm-card, html[data-theme="day"] .crm-sidebar { background: #ffffff; border-color: rgba(16,74,38,.28); box-shadow: 0 12px 32px rgba(28,77,41,.07); }
html[data-theme="day"] .crm-metrics article { border-color: rgba(16,74,38,.22); }
html[data-theme="day"] .crm-metrics span, html[data-theme="day"] .crm-sidebar-note p, html[data-theme="day"] .crm-table th, html[data-theme="day"] .crm-media-grid span { color: #4b6e52; }
html[data-theme="day"] .crm-tab { color: #3c6545; }
html[data-theme="day"] .crm-tab:hover, html[data-theme="day"] .crm-tab.active { color: #143b20; background: #e5f2e1; }
html[data-theme="day"] .crm-form-grid label > span { color: #386641; }
html[data-theme="day"] .crm-form-grid input, html[data-theme="day"] .crm-form-grid textarea, html[data-theme="day"] .crm-lead-actions input { color: #173b24; background: #ffffff; border-color: rgba(16,74,38,.3); }
html[data-theme="day"] .crm-table td { color: #365d40; border-color: rgba(16,74,38,.2); }
html[data-theme="day"] .crm-table td strong { color: #143b20; }
html[data-theme="day"] .crm-table .lead-status { color: #245b33; background: #f3faf0; border-color: rgba(16,74,38,.28); }
html[data-theme="day"] .crm-tools-card, html[data-theme="day"] .crm-note-card, html[data-theme="day"] .crm-media-grid article { background: #f1f8ee; border-color: rgba(16,74,38,.24); }
html[data-theme="day"] .crm-empty h3 { color: #173b24; }
html[data-theme="day"] .crm-empty p { color: #45684c; }

@media (max-width: 680px) {
  html[data-theme="day"] .main-nav { background: rgba(255,255,255,.98); border-color: rgba(16,74,38,.28); }
  html[data-theme="day"] .main-nav a { color: #2e5a38; }
  html[data-theme="day"] .main-nav a:hover, html[data-theme="day"] .main-nav a.active { color: #143b20; background: #e8f3e5; }
}

/* ================================================================
   Premium brand overhaul — restrained industrial / mountain editorial
   ================================================================ */
:root { --max: 1240px; --radius: 18px; --radius-sm: 12px; }
body { font-size: 15px; letter-spacing: -.004em; }
.container { width: min(calc(100% - 60px), var(--max)); }
h1, h2, h3, .display { text-wrap: balance; }
.site-header { padding: 22px 0; }
.site-header.scrolled { padding: 13px 0; }
.nav-wrap { min-height: 48px; }
.brand-mark { width: 40px; height: 40px; }
.brand-name { font-size: 1.24rem; letter-spacing: -.055em; }
.main-nav { gap: 24px; }
.main-nav a { font-size: .78rem; letter-spacing: .02em; }
.nav-cta, .theme-toggle { font-size: .68rem; letter-spacing: .08em; }
.hero { min-height: 840px; background: linear-gradient(90deg, rgba(5,14,9,.94) 0%, rgba(7,19,12,.84) 30%, rgba(7,19,12,.5) 58%, rgba(7,19,12,.14) 100%); }
.hero::before { opacity: .12; background-size: 92px 92px; mask-image: linear-gradient(to right, black 0%, transparent 100%); }
.hero::after { height: 25%; background: linear-gradient(transparent, var(--coal)); }
.hero-content { padding-top: 155px; padding-bottom: 115px; }
.hero-copy { width: min(56%, 680px); }
.hero .display { max-width: 720px; margin-top: 27px; font-size: clamp(3.8rem, 6.5vw, 6.7rem); line-height: .88; }
.hero .lede { max-width: 550px; font-size: 1.05rem; line-height: 1.75; }
.hero-actions { margin-top: 38px; }
.hero-note { margin-top: 42px; padding-top: 18px; border-top: 1px solid rgba(207,225,206,.18); font-size: .71rem; text-transform: uppercase; letter-spacing: .11em; }
.page-home .mountain-art { display: none; }
.page-home .home-3d-scene { right: 1%; bottom: 7%; width: 53%; height: 74%; opacity: 1; pointer-events: none; }
.page-home .home-3d-scene > .scene-sun,
.page-home .home-3d-scene > .scene-cloud,
.page-home .home-3d-scene > .scene-layer,
.page-home .home-3d-scene > .scene-road,
.page-home .home-3d-scene > .scene-pine,
.page-home .home-3d-scene > .scene-dust,
.page-home .home-3d-scene > .scene-caption { display: none; }
.page-home .home-reel { right: 8%; bottom: 16%; width: 360px; height: 235px; pointer-events: auto; }
.page-home .reel-footer { height: 40px; }
.section { padding: 132px 0; }
.section-tight { padding: 80px 0; }
.section-head { margin-bottom: 54px; }
.section-head h2 { max-width: 720px; font-size: clamp(2.5rem, 4.35vw, 4.7rem); }
.section-head p { font-size: .95rem; line-height: 1.75; }
.intro-grid, .editorial-grid, .story-grid, .contact-grid, .supply-intro { gap: 100px; }
.intro-copy h2, .story-block h2, .sticky-label h2 { font-size: clamp(2.7rem, 4.4vw, 4.6rem); }
.feature-card { padding: 23px 0; }
.feature-card h3 { font-size: 1.27rem; }
.pathway { gap: 14px; border: 0; background: transparent; }
.path-card { min-height: 315px; padding: 31px; border: 1px solid rgba(195,218,198,.15); }
.path-card:hover { transform: translateY(-4px); border-color: rgba(239,209,116,.35); }
.path-icon { margin-bottom: 50px; }
.callout { padding: 54px 58px; border-radius: var(--radius); }
.callout h2 { font-size: clamp(2.35rem, 4vw, 4rem); }
.page-hero { min-height: 610px; }
.page-hero-content { padding-top: 165px; padding-bottom: 86px; }
.page-hero h1 { max-width: 830px; font-size: clamp(3.45rem, 6.3vw, 6.6rem); }
.page-hero .lede { font-size: 1.06rem; }
.person-card { min-height: 490px; }
.portrait { min-height: 450px; }
.person-info { padding: 60px; }
.person-info h2 { font-size: clamp(3.2rem, 5vw, 5rem); }
.process-panel { min-height: 555px; padding: 40px; }
.spec-grid { gap: 1px; }
.spec-card { min-height: 210px; padding: 31px 27px; }
.media-rail, .distribution-grid, .transport-grid { gap: 17px; }
.media-tile, .media-card, .distribution-card, .transport-card { border-radius: 15px; }
.media-tile-wide, .distribution-card-large, .media-card-large { min-height: 385px; }
.footer { padding-top: 68px; }
.footer-top { padding-bottom: 58px; }

/* Inner pages receive a visual, photographic hero while preserving readable copy. */
.page-about .page-hero { background: linear-gradient(90deg, rgba(6,17,11,.98) 0%, rgba(7,19,12,.88) 45%, rgba(7,19,12,.28) 100%), url('media/mine-3d-terraces.webp') center / cover no-repeat; }
.page-operations .page-hero { background: linear-gradient(90deg, rgba(6,17,11,.98) 0%, rgba(7,19,12,.8) 46%, rgba(7,19,12,.25) 100%), url('media/mine-3d-underground.webp') center / cover no-repeat; }
.page-supply .page-hero { background: linear-gradient(90deg, rgba(6,17,11,.98) 0%, rgba(7,19,12,.82) 48%, rgba(7,19,12,.25) 100%), url('media/coal-rail-transport.webp') center / cover no-repeat; }
.page-gallery .page-hero { background: linear-gradient(90deg, rgba(6,17,11,.98) 0%, rgba(7,19,12,.82) 48%, rgba(7,19,12,.22) 100%), url('media/coal-haul-truck.webp') center / cover no-repeat; }
.page-community .page-hero { background: linear-gradient(90deg, rgba(6,17,11,.98) 0%, rgba(7,19,12,.84) 48%, rgba(7,19,12,.22) 100%), url('media/darra-coal-mines-max.webp') center / cover no-repeat; }
.page-contact .page-hero { background: linear-gradient(90deg, rgba(6,17,11,.98) 0%, rgba(7,19,12,.84) 48%, rgba(7,19,12,.24) 100%), url('media/mine-3d-trucks.webp') center / cover no-repeat; }
.page-hero::before { background-image: linear-gradient(120deg, transparent 44%, rgba(222,239,217,.12) 44.2%, transparent 44.7%), linear-gradient(160deg, transparent 57%, rgba(222,239,217,.08) 57.2%, transparent 57.7%); mix-blend-mode: screen; }
.page-hero-orb { opacity: .6; }

/* Daylight becomes a separate designed surface instead of a tinted night theme. */
html[data-theme="day"] body { background: #f4f7f2; }
html[data-theme="day"] .site-header { background: rgba(255,255,255,.95); border-bottom-color: rgba(15,58,31,.2); box-shadow: 0 4px 24px rgba(34,77,43,.08); }
html[data-theme="day"] .site-header.scrolled { background: rgba(255,255,255,.98); }
html[data-theme="day"] .hero { background: linear-gradient(90deg, rgba(243,248,239,.94) 0%, rgba(243,248,239,.82) 32%, rgba(243,248,239,.48) 60%, rgba(243,248,239,.2) 100%); }
html[data-theme="day"] .hero::after { background: linear-gradient(transparent, #f4f7f2); }
html[data-theme="day"] .hero h1, html[data-theme="day"] .hero .lede { color: #102819; }
html[data-theme="day"] .hero h1 span { color: #8f4d21; }
html[data-theme="day"] .hero-note { color: #2a5637; border-top-color: rgba(15,58,31,.24); }
html[data-theme="day"] .page-about .page-hero { background: linear-gradient(90deg, rgba(245,249,242,.94) 0%, rgba(245,249,242,.8) 44%, rgba(245,249,242,.34) 100%), url('media/mine-3d-terraces.webp') center / cover no-repeat; }
html[data-theme="day"] .page-operations .page-hero { background: linear-gradient(90deg, rgba(245,249,242,.94) 0%, rgba(245,249,242,.8) 44%, rgba(245,249,242,.36) 100%), url('media/mine-3d-underground.webp') center / cover no-repeat; }
html[data-theme="day"] .page-supply .page-hero { background: linear-gradient(90deg, rgba(245,249,242,.94) 0%, rgba(245,249,242,.8) 44%, rgba(245,249,242,.36) 100%), url('media/coal-rail-transport.webp') center / cover no-repeat; }
html[data-theme="day"] .page-gallery .page-hero { background: linear-gradient(90deg, rgba(245,249,242,.94) 0%, rgba(245,249,242,.8) 44%, rgba(245,249,242,.34) 100%), url('media/coal-haul-truck.webp') center / cover no-repeat; }
html[data-theme="day"] .page-community .page-hero { background: linear-gradient(90deg, rgba(245,249,242,.94) 0%, rgba(245,249,242,.8) 44%, rgba(245,249,242,.34) 100%), url('media/darra-coal-mines-max.webp') center / cover no-repeat; }
html[data-theme="day"] .page-contact .page-hero { background: linear-gradient(90deg, rgba(245,249,242,.94) 0%, rgba(245,249,242,.8) 44%, rgba(245,249,242,.36) 100%), url('media/mine-3d-trucks.webp') center / cover no-repeat; }
html[data-theme="day"] .page-hero h1, html[data-theme="day"] .page-hero .lede { color: #102819; }
html[data-theme="day"] .page-hero::before { mix-blend-mode: multiply; opacity: .28; }
html[data-theme="day"] .page-hero-orb { opacity: .36; }
html[data-theme="day"] .section-dark { background: #f4f7f2; }
html[data-theme="day"] .section-soft { background: #e8f1e5; }
html[data-theme="day"] .section-earth { background: #edf1df; }
html[data-theme="day"] .path-card { border-color: rgba(15,58,31,.22); }
html[data-theme="day"] .path-card:hover { border-color: rgba(15,58,31,.48); }
html[data-theme="day"] .callout { background: linear-gradient(118deg, #235d35, #397548 60%, #4f7841); }
html[data-theme="day"] .distribution-card, html[data-theme="day"] .transport-card, html[data-theme="day"] .media-card, html[data-theme="day"] .media-tile { border-color: rgba(15,58,31,.26) !important; }

@media (max-width: 920px) {
  .container { width: min(calc(100% - 40px), var(--max)); }
  .hero-copy { width: 66%; }
  .page-home .home-3d-scene { right: -12%; width: 72%; }
  .page-home .home-reel { right: 8%; width: 305px; height: 205px; }
  .section-head h2 { max-width: 640px; }
}
@media (max-width: 680px) {
  .container { width: min(calc(100% - 32px), var(--max)); }
  .hero { min-height: 790px; }
  .hero-content { padding-top: 148px; padding-bottom: 110px; }
  .hero-copy { width: 100%; }
  .hero .display { font-size: clamp(3.35rem, 15.7vw, 5rem); }
  .page-home .home-3d-scene { right: -48%; bottom: -2%; width: 133%; height: 72%; }
  .page-home .home-reel { right: 17%; bottom: 15%; width: 268px; height: 185px; }
  .page-hero { min-height: 560px; }
  .page-hero-content { padding-top: 150px; padding-bottom: 68px; }
  .page-hero h1 { font-size: clamp(3.3rem, 14vw, 5rem); }
  .section { padding: 88px 0; }
  .callout { padding: 32px 25px; }
  .person-info { padding: 35px 26px; }
  .process-panel { padding: 27px 22px; }
}

/* Portfolio / business performance page. */
.page-profile .page-hero { background: linear-gradient(90deg, rgba(5,14,9,.99) 0%, rgba(7,19,12,.86) 51%, rgba(7,19,12,.22) 100%), url('media/coal-haul-truck.jpg') center / cover no-repeat; }
.profile-overview { display: grid; grid-template-columns: 1.1fr .9fr; gap: 100px; align-items: start; }
.profile-overview-copy h2 { max-width: 710px; }
.profile-overview-copy p { max-width: 660px; font-size: 1rem; line-height: 1.75; }
.profile-meta { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(195,218,198,.17); }
.profile-meta div { display: grid; gap: 7px; min-height: 126px; padding: 21px 15px 19px 0; border-bottom: 1px solid rgba(195,218,198,.17); }
.profile-meta div:nth-child(odd) { border-right: 1px solid rgba(195,218,198,.17); }
.profile-meta div:nth-child(even) { padding-left: 18px; }
.profile-meta span { color: var(--sand); font-size: .64rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.profile-meta strong { color: var(--sand-2); font-family: Georgia, serif; font-size: 1.17rem; font-weight: 400; line-height: 1.15; }
.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid rgba(195,218,198,.18); border-radius: 16px; background: rgba(19,42,26,.5); }
.proof-strip article { display: grid; gap: 8px; min-height: 155px; padding: 24px 21px; border-right: 1px solid rgba(195,218,198,.15); }
.proof-strip article:last-child { border-right: 0; }
.proof-strip span { color: var(--sand); font-size: .63rem; font-weight: 850; letter-spacing: .12em; line-height: 1.35; text-transform: uppercase; }
.proof-strip strong { color: var(--yellow); font-family: Georgia, serif; font-size: clamp(1.65rem, 2.4vw, 2.55rem); font-weight: 400; letter-spacing: -.05em; line-height: 1; }
.proof-strip small { color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.performance-layout { display: grid; grid-template-columns: 1.32fr .68fr; gap: 16px; align-items: stretch; }
.performance-table-card, .performance-chart { border: 1px solid rgba(195,218,198,.17); border-radius: 16px; background: linear-gradient(145deg, #10251a, #0b1710); }
.performance-table-card { overflow: hidden; }
.table-scroll { overflow-x: auto; }
.performance-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: .83rem; }
.performance-table th, .performance-table td { padding: 18px 20px; border-bottom: 1px solid rgba(195,218,198,.12); text-align: right; }
.performance-table th:first-child, .performance-table td:first-child { text-align: left; }
.performance-table thead th { color: var(--sand); font-size: .63rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.performance-table tbody th { color: var(--ink); font-weight: 700; }
.performance-table tbody td { color: #c6d8bf; }
.performance-table tr:last-child th, .performance-table tr:last-child td { border-bottom: 0; }
.performance-table .performance-highlight { background: rgba(239,209,116,.06); }
.performance-table .performance-highlight th, .performance-table .performance-highlight td { color: var(--sand-2); }
.performance-table tfoot th, .performance-table tfoot td { padding-top: 21px; border-top: 1px solid rgba(239,209,116,.27); border-bottom: 0; color: var(--yellow); font-family: Georgia, serif; font-size: 1.15rem; font-weight: 400; }
.performance-chart { padding: 25px 23px; }
.chart-head { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 14px; border-bottom: 1px solid rgba(195,218,198,.15); }
.chart-head span { color: var(--sand-2); font-family: Georgia, serif; font-size: 1.18rem; }
.chart-head small { align-self: end; color: var(--ink-soft); font-size: .63rem; }
.chart-head-turnover { margin-top: 29px; }
.bar-list { display: grid; gap: 15px; padding-top: 16px; }
.bar-list > div { display: grid; gap: 7px; }
.bar-list label { display: flex; justify-content: space-between; color: var(--ink-soft); font-size: .68rem; }
.bar-list label b { color: var(--sand); font-weight: 700; }
.bar-track { display: block; height: 7px; overflow: hidden; border-radius: 999px; background: rgba(195,218,198,.12); }
.bar-track i { display: block; width: var(--bar); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ember-2), var(--yellow)); transform-origin: left; animation: barIn 1.1s cubic-bezier(.2,.8,.2,1) both; }
.turnover-bars .bar-track i { background: linear-gradient(90deg, var(--moss), var(--mist)); animation-delay: .15s; }
@keyframes barIn { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.performance-note { margin: 16px 2px 0; color: #8ea290; font-size: .71rem; line-height: 1.55; }
.client-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(195,218,198,.16); border-radius: 16px; background: rgba(195,218,198,.15); }
.client-grid article { display: grid; grid-template-columns: 31px 1fr; gap: 13px; align-items: start; min-height: 91px; padding: 20px 18px; background: #102218; }
.client-grid article:hover { background: #173521; }
.client-grid article span { color: var(--ember-2); font-family: Georgia, serif; font-size: .86rem; }
.client-grid article strong { color: #e5eedc; font-size: .81rem; line-height: 1.35; }
.export-profile-callout { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 34px; padding: 48px 54px; border: 1px solid rgba(195,218,198,.18); border-radius: var(--radius); background: linear-gradient(118deg, #183825, #245436 60%, #334c29); }
.export-profile-callout h2 { max-width: 760px; }
.export-profile-callout p { margin: 14px 0 0; }
html[data-theme="day"] .page-profile .page-hero { background: linear-gradient(90deg, rgba(245,250,242,.98) 0%, rgba(245,250,242,.9) 48%, rgba(245,250,242,.15) 100%), url('media/coal-haul-truck.jpg') center / cover no-repeat; }
html[data-theme="day"] .profile-meta, html[data-theme="day"] .profile-meta div { border-color: rgba(16,74,38,.3); }
html[data-theme="day"] .profile-meta span { color: #396b43; }
html[data-theme="day"] .profile-meta strong { color: #173b24; }
html[data-theme="day"] .proof-strip, html[data-theme="day"] .performance-table-card, html[data-theme="day"] .performance-chart { background: #ffffff; border-color: rgba(16,74,38,.26); box-shadow: 0 12px 32px rgba(28,77,41,.07); }
html[data-theme="day"] .proof-strip article, html[data-theme="day"] .chart-head, html[data-theme="day"] .performance-table th, html[data-theme="day"] .performance-table td { border-color: rgba(16,74,38,.2); }
html[data-theme="day"] .proof-strip span, html[data-theme="day"] .performance-table thead th { color: #3b6b43; }
html[data-theme="day"] .proof-strip strong, html[data-theme="day"] .performance-table tfoot th, html[data-theme="day"] .performance-table tfoot td { color: #91640c; }
html[data-theme="day"] .proof-strip small, html[data-theme="day"] .performance-note, html[data-theme="day"] .chart-head small, html[data-theme="day"] .bar-list label { color: #4c6d51; }
html[data-theme="day"] .performance-table tbody th { color: #173b24; }
html[data-theme="day"] .performance-table tbody td { color: #3e6247; }
html[data-theme="day"] .performance-table .performance-highlight { background: #f1f7ed; }
html[data-theme="day"] .performance-table .performance-highlight th, html[data-theme="day"] .performance-table .performance-highlight td { color: #2e653c; }
html[data-theme="day"] .bar-track { background: rgba(16,74,38,.12); }
html[data-theme="day"] .client-grid { background: rgba(16,74,38,.2); border-color: rgba(16,74,38,.26); }
html[data-theme="day"] .client-grid article { background: #ffffff; }
html[data-theme="day"] .client-grid article:hover { background: #f0f8ec; }
html[data-theme="day"] .client-grid article span { color: #9b6710; }
html[data-theme="day"] .client-grid article strong { color: #173b24; }
html[data-theme="day"] .export-profile-callout { border-color: rgba(16,74,38,.27); }
@media (max-width: 920px) { .profile-overview { grid-template-columns: 1fr; gap: 45px; } .performance-layout { grid-template-columns: 1fr; } .client-grid { grid-template-columns: 1fr 1fr; } .export-profile-callout { display: block; } .export-profile-callout .btn { margin-top: 25px; } }
@media (max-width: 680px) { .container { width: min(calc(100% - 32px), var(--max)); } .profile-meta { grid-template-columns: 1fr; } .profile-meta div:nth-child(odd) { border-right: 0; } .profile-meta div:nth-child(even) { padding-left: 0; } .proof-strip { grid-template-columns: 1fr 1fr; } .proof-strip article:nth-child(2) { border-right: 0; } .proof-strip article:nth-child(-n+2) { border-bottom: 1px solid rgba(195,218,198,.15); } .client-grid { grid-template-columns: 1fr; } .export-profile-callout { padding: 31px 24px; } }
.snapshot-link { margin-top: 22px; }

/* Brand lockup: use the legal visible naming consistently without allowing the long suffix to crush navigation. */
.brand { min-width: 260px; gap: 14px; }
.brand-name { font-size: 1.48rem; letter-spacing: -.065em; white-space: nowrap; }
.brand-sub { margin-top: 5px; font-size: .58rem; letter-spacing: .135em; }
.footer .brand-name { font-size: 1.4rem; }
@media (max-width: 1180px) {
  .main-nav { gap: 15px; }
  .nav-cta { display: none; }
}
@media (max-width: 920px) {
  .brand-name { font-size: 1.28rem; }
  .brand-sub { font-size: .5rem; }
}
@media (max-width: 680px) {
  .brand { min-width: 0; gap: 10px; }
  .brand-name { font-size: 1.18rem; }
  .brand-sub { font-size: .47rem; letter-spacing: .1em; }
  .footer .brand-name { font-size: 1.2rem; }
}

/* Proof slides inside the hero reel: convert visual attention into buyer confidence. */
.reel-proof-slide { background: #0c1c12; }
.reel-proof-bg, .reel-client-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: saturate(.72) contrast(1.08) brightness(.47); transform: scale(1.04); transition: transform 8s ease; }
.reel-proof-bg { background-image: url('media/coal-haul-truck.webp'); }
.reel-client-bg { background-image: url('media/coal-rail-transport.webp'); background-position: center 43%; }
.reel-proof-slide.active .reel-proof-bg, .reel-proof-slide.active .reel-client-bg { transform: scale(1.12); }
.reel-proof-content { position: absolute; z-index: 3; right: 20px; bottom: 24px; left: 20px; display: grid; gap: 6px; }
.proof-eyebrow { color: var(--ember-2); font-size: .52rem; font-weight: 850; letter-spacing: .11em; }
.proof-big { color: #ffe699; font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 2.7rem); font-weight: 400; letter-spacing: -.06em; line-height: .92; }
.reel-proof-content small { color: #e5ecd9; font-size: .64rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.proof-meta { display: flex; flex-wrap: wrap; gap: 12px; margin: 4px 0 3px; padding-top: 8px; border-top: 1px solid rgba(235,242,222,.26); color: #f4edc4; font-size: .58rem; font-weight: 750; letter-spacing: .04em; }
.proof-link { width: max-content; margin-top: 3px; padding: 6px 9px; border: 1px solid rgba(239,209,116,.46); border-radius: 999px; color: #fff4c9; background: rgba(9,28,15,.56); font-size: .57rem; font-weight: 800; }
.proof-link:hover { background: rgba(239,209,116,.16); }
.client-ticker { max-width: 270px; color: #e9f0d8; font-size: .63rem; line-height: 1.5; }
html[data-theme="day"] .reel-proof-slide { background: #225231; }
html[data-theme="day"] .reel-proof-bg, html[data-theme="day"] .reel-client-bg { filter: saturate(.72) contrast(1.08) brightness(.54); }
html[data-theme="day"] .proof-meta { border-top-color: rgba(244,249,232,.4); color: #fff6d1; }
@media (max-width: 680px) {
  .reel-proof-content { right: 15px; bottom: 22px; left: 15px; }
  .proof-big { font-size: 2.25rem; }
}

/* Premium journey cards: real visual context for “From seam to site”. */
.journey-pathway { gap: 18px; }
.journey-card { min-height: 485px; padding: 0; overflow: hidden; border-color: rgba(195,218,198,.16); }
.journey-card::after { z-index: 1; color: rgba(215,231,210,.09); }
.journey-media { position: relative; height: 220px; overflow: hidden; background: #091810; }
.journey-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(4,13,7,.72)); pointer-events: none; }
.journey-media img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.08) brightness(.84); transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
.journey-card:hover .journey-media img { transform: scale(1.08); filter: saturate(.98) contrast(1.04) brightness(.98); }
.journey-tag { position: absolute; z-index: 3; left: 20px; bottom: 16px; color: #f1d780; font-size: .61rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.journey-card .path-icon { position: relative; z-index: 4; width: 52px; height: 52px; margin: -25px 0 23px 25px; border: 4px solid #102218; background: var(--yellow); color: #152a1a; box-shadow: 0 8px 19px rgba(0,0,0,.28); }
.journey-copy { position: relative; z-index: 3; padding: 0 28px 30px; }
.journey-copy h3 { color: var(--sand-2); font-size: 1.5rem; }
.journey-copy p { max-width: 290px; font-size: .88rem; }
.journey-glint { position: absolute; z-index: 3; right: 16%; top: 31%; width: 9px; height: 9px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 20px 6px rgba(239,209,116,.52); animation: journeyGlint 3.5s ease-in-out infinite; }
@keyframes journeyGlint { 50% { transform: translate(25px,-16px); opacity: .25; } }
.journey-process-dots { position: absolute; z-index: 3; right: 20px; top: 19px; display: flex; gap: 5px; }
.journey-process-dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 9px rgba(239,209,116,.6); animation: processDot 1.8s ease-in-out infinite; }
.journey-process-dots i:nth-child(2) { animation-delay: -.6s; } .journey-process-dots i:nth-child(3) { animation-delay: -1.2s; }
@keyframes processDot { 50% { opacity: .25; transform: translateY(5px); } }
.journey-route-line { position: absolute; z-index: 3; left: 15%; right: 15%; top: 27%; height: 2px; background: rgba(242,213,116,.35); transform: rotate(-8deg); }
.journey-route-line i { position: absolute; top: -2px; width: 6px; height: 6px; border-radius: 50%; background: var(--ember-2); box-shadow: 0 0 11px rgba(255,173,125,.72); animation: routeDot 3.2s ease-in-out infinite; }
.journey-route-line i:nth-child(1) { left: 0; } .journey-route-line i:nth-child(2) { left: 50%; animation-delay: -1.1s; } .journey-route-line i:nth-child(3) { right: 0; animation-delay: -2.2s; }
@keyframes routeDot { 50% { transform: translateY(-5px) scale(1.35); } }
html[data-theme="day"] .journey-card { border-color: rgba(16,74,38,.26); background: #ffffff; }
html[data-theme="day"] .journey-card .path-icon { border-color: #f0f6eb; color: #173b24; }
html[data-theme="day"] .journey-copy h3 { color: #173b24; }
html[data-theme="day"] .journey-copy p { color: #355a3d; }
@media (max-width: 680px) { .journey-card { min-height: 450px; } .journey-media { height: 195px; } }

/* Home reel portfolio slides: annual turnover, customer trust, and supply-chain proof. */
.reel-year-bg, .reel-supply-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: saturate(.65) contrast(1.1) brightness(.43); transform: scale(1.04); transition: transform 8s ease; }
.reel-year-bg { background-image: url('media/coal-mine-transport.jpg'); }
.year-2223 .reel-year-bg { background-position: 40% center; }
.year-2324 .reel-year-bg { background-image: url('media/coal-haul-truck.jpg'); background-position: 65% center; }
.year-2425 .reel-year-bg { background-image: url('media/mine-3d-terraces.jpg'); background-position: center; }
.year-2526 .reel-year-bg { background-image: url('media/coal-haul-truck.jpg'); background-position: 78% center; }
.reel-supply-bg { background-image: url('media/mining-conveyor.jpg'); background-position: center; }
.reel-year-slide.active .reel-year-bg, .reel-supply-slide.active .reel-supply-bg { transform: scale(1.11); }
.reel-year-slide .proof-big { font-size: clamp(1.5rem, 3vw, 2.2rem); }
.reel-supply-slide .proof-big { font-size: clamp(1.8rem, 3.8vw, 2.55rem); }
.supply-reel-path { display: flex; align-items: center; gap: 6px; margin-top: 5px; color: #f4edc4; font-size: .58rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.supply-reel-path i { width: 18px; height: 1px; background: linear-gradient(90deg, var(--ember-2), var(--yellow)); box-shadow: 0 0 8px rgba(255,173,125,.4); }
html[data-theme="day"] .reel-year-bg, html[data-theme="day"] .reel-supply-bg { filter: saturate(.65) contrast(1.1) brightness(.52); }
@media (max-width: 680px) {
  .reel-year-slide .proof-big { font-size: 1.62rem; }
  .supply-reel-path { font-size: .51rem; gap: 4px; }
  .supply-reel-path i { width: 11px; }
}

/* Homepage portfolio ticker: customers and annual performance move like a live business index. */
.portfolio-ticker { overflow: hidden; border-top: 1px solid rgba(195,218,198,.18); border-bottom: 1px solid rgba(195,218,198,.18); background: #0a1710; }
.portfolio-ticker-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 13px; padding-bottom: 10px; }
.portfolio-ticker-head .eyebrow { font-size: .62rem; }
.ticker-note { color: #8fa992; font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.portfolio-ticker-window { overflow: hidden; border-top: 1px solid rgba(195,218,198,.12); }
.portfolio-track { display: flex; width: max-content; animation: portfolioSlide 62s linear infinite; }
.ticker-item { display: inline-flex; align-items: center; gap: 14px; padding: 17px 31px; border-right: 1px solid rgba(195,218,198,.16); white-space: nowrap; }
.ticker-item::after { content: "◆"; color: var(--ember-2); font-size: .45rem; }
.ticker-item b { color: #dce8d5; font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ticker-item em { color: #88a589; font-size: .61rem; font-style: normal; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.ticker-item strong { color: var(--yellow); font-size: .7rem; font-weight: 850; letter-spacing: .08em; }
@keyframes portfolioSlide { to { transform: translateX(-50%); } }
html[data-theme="day"] .portfolio-ticker { background: #e4f0e1; border-color: rgba(16,74,38,.28); }
html[data-theme="day"] .portfolio-ticker-head, html[data-theme="day"] .portfolio-ticker-window, html[data-theme="day"] .ticker-item { border-color: rgba(16,74,38,.21); }
html[data-theme="day"] .ticker-note { color: #3f6a47; }
html[data-theme="day"] .ticker-item b { color: #1a4327; }
html[data-theme="day"] .ticker-item em { color: #4c7653; }
html[data-theme="day"] .ticker-item strong { color: #8f620b; }
@media (max-width: 680px) { .portfolio-ticker-head { align-items: flex-start; flex-direction: column; gap: 7px; } .ticker-item { gap: 9px; padding: 14px 22px; } .ticker-item b, .ticker-item strong { font-size: .62rem; } .ticker-item em { font-size: .53rem; } }

/* Operations media windows: real footage is contained locally so no source-platform chrome appears. */
.operations-video-window { position: relative; height: 205px; margin-top: 17px; overflow: hidden; border: 1px solid rgba(195,218,198,.18); border-radius: 14px; background: #07110c; box-shadow: 0 14px 30px rgba(0,0,0,.2); }
.operations-video-window video { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.08) brightness(.8); }
.video-window-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 26%, rgba(3,12,7,.9)); pointer-events: none; }
.video-window-copy { position: absolute; z-index: 2; right: 16px; bottom: 14px; left: 16px; display: grid; gap: 4px; }
.video-window-copy span { color: var(--ember-2); font-size: .58rem; font-weight: 850; letter-spacing: .12em; }
.video-window-copy strong { color: #eff3dc; font-family: Georgia, serif; font-size: 1.18rem; font-weight: 400; }
.surface-video-inset { position: absolute; z-index: 30; right: 18px; bottom: 20px; width: 215px; height: 125px; overflow: hidden; border: 1px solid rgba(239,209,116,.66); border-radius: 10px; background: #09140c; box-shadow: 0 17px 25px rgba(0,0,0,.36), 0 0 0 5px rgba(6,18,10,.22); transform: translateZ(230px) rotateY(-8deg) rotateX(3deg); }
.surface-video-inset video { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.08) brightness(.84); }
.surface-video-inset::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 33%, rgba(3,12,7,.66)); pointer-events: none; }
.surface-video-inset span { position: absolute; z-index: 2; right: 8px; bottom: 8px; left: 8px; color: #f5e9b1; font-size: .51rem; font-weight: 850; letter-spacing: .1em; }
html[data-theme="day"] .operations-video-window, html[data-theme="day"] .surface-video-inset { border-color: rgba(16,74,38,.36); }
html[data-theme="day"] .video-window-copy strong { color: #f6faed; }
@media (max-width: 680px) {
  .operations-video-window { height: 185px; }
  .surface-video-inset { right: 12px; bottom: 14px; width: 165px; height: 102px; transform: translateZ(180px) rotateY(-6deg) rotateX(3deg); }
  .surface-video-inset span { font-size: .44rem; }
}

/* ================================================================
   New media systems — field reel band, 3D image wall, film wall,
   about legacy panel, machinery media grid
   ================================================================ */
.reel-band { padding: 84px 0 96px; }
.reel-band-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.reel-band-head h2 { font-size: clamp(2rem, 3.3vw, 3.05rem); margin: 10px 0 0; }
.reel-band-head p { max-width: 430px; color: var(--ink-soft); font-size: .9rem; line-height: 1.7; }
.reel-wrap { position: relative; }
.reel-stage {
  position: relative; width: 100%; max-width: 1080px; margin: 0 auto; aspect-ratio: 21 / 9; min-height: 320px;
  overflow: hidden; border: 1px solid rgba(239,209,116,.5); border-radius: 20px; background: #07120b;
  box-shadow: 0 34px 70px rgba(0,0,0,.48), 0 0 0 10px rgba(8,18,12,.12);
  transform: perspective(1400px) rotateX(calc(var(--tilt-y, 0deg) * .3)) rotateY(calc(var(--tilt-x, 0deg) * .3));
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
}
.reel-stage .reel-slide video, .reel-stage .reel-slide > img { filter: saturate(.9) contrast(1.07) brightness(.9); }
html[data-theme="day"] .reel-stage { border-color: rgba(103,74,29,.5); box-shadow: 0 34px 70px rgba(38,62,35,.25), 0 0 0 10px rgba(235,244,225,.16); }
html[data-theme="day"] .reel-stage .reel-slide video, html[data-theme="day"] .reel-stage .reel-slide > img { filter: saturate(.92) contrast(1.05) brightness(.95); }
@media (max-width: 680px) { .reel-stage { aspect-ratio: 16 / 10; min-height: 250px; border-radius: 14px; } .reel-band { padding: 60px 0 68px; } }

.cine-wall { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cine-wall figure { position: relative; margin: 0; overflow: hidden; border-radius: 16px; border: 1px solid rgba(195,218,198,.14); background: #0a120d; aspect-ratio: 16 / 9; }
.cine-wall .cw-wide { grid-column: span 2; }
.cine-wall img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.85) contrast(1.06); transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .4s ease; }
.cine-wall figure:hover img { transform: scale(1.045); filter: saturate(.95) contrast(1.08); }
.cine-wall figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 34px 16px 14px; background: linear-gradient(transparent, rgba(4,10,6,.88)); display: grid; gap: 3px; }
.cine-wall figcaption span { color: var(--ember-2); font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.cine-wall figcaption strong { color: #f2f4e6; font-size: .85rem; font-weight: 700; }
@media (max-width: 920px) { .cine-wall { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .cine-wall { grid-template-columns: 1fr; } .cine-wall .cw-wide { grid-column: auto; } }

.film-wall { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.film-card { margin: 0; position: relative; border-radius: 16px; overflow: hidden; border: 1px solid rgba(195,218,198,.14); background: #0a120d; aspect-ratio: 16 / 10; }
.film-card video { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.85) contrast(1.06) brightness(.92); }
.film-card figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 30px 14px 12px; background: linear-gradient(transparent, rgba(4,10,6,.9)); display: grid; gap: 3px; pointer-events: none; }
.film-card figcaption span { color: var(--ember-2); font-size: .56rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.film-card figcaption strong { color: #f2f4e6; font-size: .8rem; font-weight: 700; }
@media (max-width: 980px) { .film-wall { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .film-wall { grid-template-columns: 1fr; } }

.about-legacy { display: grid; grid-template-columns: 1.12fr .88fr; gap: 50px; align-items: center; }
.about-legacy-media { margin: 0; position: relative; border-radius: var(--radius); overflow: hidden; border: 1px solid rgba(195,218,198,.16); box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.about-legacy-media img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.9) contrast(1.04); }
.about-legacy-media figcaption { position: absolute; right: 14px; bottom: 12px; left: 14px; padding: 9px 12px; border-left: 2px solid var(--yellow); background: rgba(6,14,8,.6); backdrop-filter: blur(8px); color: rgba(240,244,228,.85); font-size: .64rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.about-legacy-copy h2 { font-size: clamp(2.2rem, 3.6vw, 3.4rem); margin: 12px 0 20px; }
.about-legacy-copy p { max-width: 540px; }
.about-legacy-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 30px; background: var(--line); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.about-legacy-facts div { padding: 16px 18px; background: rgba(16,21,19,.6); }
.about-legacy-facts strong { display: block; font-family: Georgia, serif; font-size: 1.28rem; color: var(--sand-2); letter-spacing: -.02em; }
.about-legacy-facts span { color: var(--ink-soft); font-size: .68rem; letter-spacing: .05em; }
html[data-theme="day"] .about-legacy-facts div { background: rgba(255,255,255,.6); }
@media (max-width: 920px) { .about-legacy { grid-template-columns: 1fr; gap: 30px; } .about-legacy-media { order: -1; } }

.machinery-media { display: grid; grid-template-columns: 1.5fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; min-height: 440px; }
.machinery-media figure { margin: 0; position: relative; overflow: hidden; border-radius: var(--radius); border: 1px solid rgba(195,218,198,.16); background: #0a120d; min-height: 200px; }
.machinery-media-main { grid-row: span 2; }
.machinery-media img, .machinery-media video { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.85) contrast(1.06) brightness(.92); }
.machinery-media figcaption { position: absolute; right: 12px; bottom: 11px; left: 12px; padding: 8px 11px; border-left: 2px solid var(--yellow); background: rgba(6,14,8,.62); backdrop-filter: blur(8px); color: rgba(240,244,228,.85); font-size: .6rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 920px) { .machinery-media { grid-template-columns: 1fr; grid-template-rows: auto auto; min-height: 0; } .machinery-media-main { grid-row: auto; } .machinery-media figure { min-height: 240px; } }
