:root{
  --navy-950:#03060a;
  --navy-900:#070d15;
  --navy-800:#0c141f;
  --navy-700:#121c29;
  --navy-600:#1b2836;
  --navy-500:#293a49;
  --steel-100:#f3f6f8;
  --steel-200:#dde5ea;
  --steel-300:#b9c6cf;
  --steel-500:#8998a3;
  --steel-700:#566270;
  --silver:#c7d2d9;
  --silver-light:#f4f7f9;
  --silver-dim:#5e6c78;
  --ink:#eef2f4;
  --ink-dim:#a7b2bb;
  --ink-faint:#67737e;
  --line:rgba(200,215,225,0.1);
  --chrome-gradient:linear-gradient(115deg,#5c6b78 0%,#c7d2d9 22%,#f4f7f9 38%,#8b9aa5 52%,#e3e9ec 68%,#5c6b78 84%,#aab6bf 100%);
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --ease:cubic-bezier(.16,.84,.44,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);
  background:var(--navy-950);
  color:var(--ink);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  opacity:0;
  transition:opacity .5s var(--ease);
}
body.page-ready{opacity:1;}
body.page-leaving{opacity:0;transition:opacity .35s var(--ease);}
::selection{background:var(--silver);color:var(--navy-950);}

a{color:inherit;text-decoration:none;}
ul{list-style:none;}
em{font-style:normal;color:var(--silver-light);font-family:var(--serif);}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:-0.01em;}
strong{color:var(--ink);font-weight:600;}

.shine{
  background-image:var(--chrome-gradient);
  background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shine-sweep 6s linear infinite;
}
@keyframes shine-sweep{0%{background-position:0% 50%;}100%{background-position:250% 50%;}}

/* ---------- loader ---------- */
.loader{
  position:fixed;inset:0;background:var(--navy-950);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;transition:opacity .6s var(--ease),visibility .6s var(--ease);
}
.loader.done{opacity:0;visibility:hidden;}
.loader-mark{
  font-family:var(--serif);font-size:2.4rem;letter-spacing:.3em;
  background-image:var(--chrome-gradient);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shine-sweep 1.6s linear infinite,pulse-mark 1.1s ease-in-out infinite;
}
@keyframes pulse-mark{0%,100%{opacity:.45;letter-spacing:.3em;}50%{opacity:1;letter-spacing:.5em;}}

/* ---------- grain + spotlight ---------- */
.grain{
  position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.spotlight{
  position:fixed;inset:0;pointer-events:none;z-index:3;
  background:radial-gradient(480px circle at var(--mx,50%) var(--my,20%),rgba(199,210,217,.07),transparent 65%);
  transition:background .1s linear;
}

/* ---------- progress rail ---------- */
.progress-rail{position:fixed;top:0;left:0;width:100%;height:2px;background:transparent;z-index:1001;}
.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--silver-dim),var(--silver-light),var(--silver-dim));transition:width .08s linear;}

/* ---------- header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:900;
  padding:22px 0;transition:padding .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  padding:12px 0;background:rgba(3,6,10,0.86);backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--line);
}
.header-inner{
  max-width:1280px;margin:0 auto;padding:0 32px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
}
.brand{display:flex;align-items:baseline;gap:8px;}
.brand-mark{font-family:var(--serif);font-size:1.3rem;letter-spacing:.06em;}
.brand-sub{font-size:.62rem;letter-spacing:.28em;color:var(--silver);font-weight:600;}
.main-nav{display:flex;gap:34px;margin-left:auto;}
.main-nav a{
  font-size:.82rem;letter-spacing:.03em;color:var(--ink-dim);position:relative;padding:6px 0;
  transition:color .25s;
}
.main-nav a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--silver-light);
  transition:width .3s var(--ease);
}
.main-nav a:hover,.main-nav a.active{color:var(--ink);}
.main-nav a.active::after,.main-nav a:hover::after{width:100%;}
.header-cta{margin-left:20px;flex-shrink:0;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{width:22px;height:1.5px;background:var(--ink);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;border-radius:2px;font-size:.85rem;font-weight:600;letter-spacing:.02em;
  border:1px solid transparent;transition:transform .3s var(--ease),background .3s,border-color .3s,color .3s,box-shadow .3s;
  cursor:pointer;white-space:nowrap;position:relative;overflow:hidden;
}
.btn-chrome{background:var(--chrome-gradient);background-size:220% 100%;color:var(--navy-950);}
.btn-chrome:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 8px 24px rgba(199,210,217,.18);}
.btn-outline{border-color:var(--line);color:var(--ink);}
.btn-outline:hover{border-color:var(--silver);color:var(--silver-light);transform:translateY(-2px);}
.btn-ghost{border-color:var(--line);color:var(--ink);font-size:.78rem;padding:10px 20px;}
.btn-ghost:hover{border-color:var(--silver);color:var(--silver-light);}
.arrow{display:inline-block;animation:bob 2s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(4px);}}

/* ---------- page hero (sub-pages) ---------- */
.page-hero{
  position:relative;min-height:56vh;display:flex;flex-direction:column;justify-content:center;
  padding:160px 32px 70px;overflow:hidden;border-bottom:1px solid var(--line);
}
.page-hero-bg{position:absolute;inset:0;z-index:0;}
.page-hero-content{position:relative;z-index:2;max-width:900px;}
.page-num-badge{
  display:inline-flex;align-items:center;gap:10px;font-size:.72rem;letter-spacing:.24em;color:var(--silver);
  font-weight:600;margin-bottom:20px;
}
.page-num-badge::before{content:'';width:26px;height:1px;background:var(--silver-dim);}

/* ---------- hero (home) ---------- */
.hero{
  position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;
  padding:140px 32px 60px;overflow:hidden;
}
.hero-bg,.page-hero-bg{position:absolute;inset:0;z-index:0;}
.wave-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.55;}
.wave{fill:none;stroke-width:1;}
.wave-1{stroke:rgba(199,210,217,.3);animation:wave-drift 22s ease-in-out infinite;}
.wave-2{stroke:rgba(255,255,255,.07);animation:wave-drift 28s ease-in-out infinite reverse;}
.wave-3{stroke:rgba(255,255,255,.045);animation:wave-drift 34s ease-in-out infinite;}
@keyframes wave-drift{
  0%,100%{transform:translateX(0) translateY(0);}
  50%{transform:translateX(-40px) translateY(14px);}
}
.hero-glow,.page-hero-glow{
  position:absolute;top:-10%;right:-10%;width:60%;height:60%;
  background:radial-gradient(circle,rgba(199,210,217,.16),transparent 70%);
  filter:blur(40px);animation:glow-pulse 8s ease-in-out infinite;
}
@keyframes glow-pulse{0%,100%{opacity:.6;transform:scale(1);}50%{opacity:1;transform:scale(1.08);}}
.hero-particles{position:absolute;inset:0;overflow:hidden;}
.particle{
  position:absolute;width:3px;height:3px;border-radius:50%;background:var(--silver-light);opacity:0;
  animation:particle-float linear infinite;box-shadow:0 0 6px rgba(244,247,249,.6);
}
@keyframes particle-float{
  0%{opacity:0;transform:translateY(0) scale(.5);}
  10%{opacity:.6;}
  90%{opacity:.4;}
  100%{opacity:0;transform:translateY(-600px) scale(1.2);}
}

.hero-content{position:relative;z-index:2;max-width:900px;}
.eyebrow{
  font-size:.72rem;letter-spacing:.28em;color:var(--silver);font-weight:600;margin-bottom:22px;display:block;
}
.hero-title{font-size:clamp(2.6rem,7vw,5.6rem);margin-bottom:26px;}
.hero-title span{display:block;}
.hero-title-sub{color:var(--ink-dim);font-weight:400;font-size:.62em;margin-top:6px;}
.hero-lede{
  font-size:1.08rem;color:var(--ink-dim);max-width:640px;margin-bottom:38px;font-weight:300;
}
.hero-cta{display:flex;gap:18px;flex-wrap:wrap;}

.hero-stats{
  position:relative;z-index:2;display:flex;gap:60px;margin-top:80px;flex-wrap:wrap;
  padding-top:38px;border-top:1px solid var(--line);
}
.stat-num{
  font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);color:var(--silver-light);line-height:1;
}
.stat-label{margin-top:8px;font-size:.82rem;color:var(--ink-dim);}
.stat-label span{color:var(--ink-faint);}

.scroll-cue{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:2;
  width:26px;height:42px;border:1px solid var(--line);border-radius:20px;display:flex;justify-content:center;padding-top:8px;
}
.scroll-cue span{width:3px;height:8px;background:var(--silver);border-radius:2px;animation:scroll-cue 1.8s ease-in-out infinite;}
@keyframes scroll-cue{0%{transform:translateY(0);opacity:1;}70%{opacity:0;}100%{transform:translateY(14px);opacity:0;}}

/* ---------- reveal animation ---------- */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
  transition-delay:calc(var(--d,0) * 90ms);
}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal-left.in-view{opacity:1;transform:translateX(0);}
.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal-scale.in-view{opacity:1;transform:scale(1);}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--navy-900);}
.marquee-track{display:flex;gap:60px;white-space:nowrap;padding:16px 0;animation:marquee-scroll 26s linear infinite;width:max-content;}
.marquee-track span{font-size:.78rem;letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;display:flex;align-items:center;gap:14px;}
.marquee-track span::after{content:'◆';color:var(--silver-dim);font-size:.6rem;}
@keyframes marquee-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ---------- sections ---------- */
.section{padding:130px 0;position:relative;}
.section-dark{background:var(--navy-900);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-inner{max-width:1280px;margin:0 auto;padding:0 32px;}
.section-head{display:flex;gap:28px;align-items:flex-start;margin-bottom:38px;}
.section-num{
  font-family:var(--serif);font-size:1.1rem;color:var(--silver-dim);padding-top:10px;flex-shrink:0;
}
.kicker{
  display:block;font-size:.72rem;letter-spacing:.26em;color:var(--silver);font-weight:600;margin-bottom:14px;
}
.section-head h2{font-size:clamp(1.9rem,4vw,2.9rem);}
.section-intro{
  max-width:720px;color:var(--ink-dim);font-size:1.02rem;margin-bottom:56px;font-weight:300;
}
.pull-quote{
  font-family:var(--serif);font-size:1.3rem;color:var(--silver-light);border-left:2px solid var(--silver-dim);
  padding-left:22px;margin-top:28px;
}

/* ---------- chrome card border ---------- */
.chrome-card{position:relative;isolation:isolate;}
.chrome-card::before{
  content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;z-index:-1;
  background:conic-gradient(from var(--ang,0deg),var(--navy-600),var(--silver-dim),var(--navy-600) 30%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity .4s;animation:spin-ang 5s linear infinite;
}
.chrome-card:hover::before{opacity:1;}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false;}
@keyframes spin-ang{from{--ang:0deg;}to{--ang:360deg;}}

/* ---------- company section ---------- */
.company-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;margin-bottom:70px;}
.company-copy p{color:var(--ink-dim);margin-bottom:18px;font-size:1rem;}
.glance-card{
  background:var(--navy-800);border:1px solid var(--line);border-radius:4px;padding:32px;align-self:start;
  transition:border-color .4s,transform .4s var(--ease);
}
.glance-card:hover{border-color:var(--silver-dim);transform:translateY(-4px);}
.glance-title{font-size:.75rem;letter-spacing:.18em;color:var(--silver);font-weight:600;margin-bottom:20px;}
.glance-list div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);}
.glance-list div:last-child{border-bottom:none;}
.glance-list dt{color:var(--ink-faint);font-size:.78rem;flex-shrink:0;}
.glance-list dd{text-align:right;font-size:.86rem;color:var(--ink);}

.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.way-card{
  background:var(--navy-800);border:1px solid var(--line);padding:34px 28px;border-radius:4px;
  transition:transform .4s var(--ease),border-color .4s,background .4s;position:relative;overflow:hidden;
}
.way-card::before{
  content:'';position:absolute;top:0;left:0;width:100%;height:2px;
  background:var(--chrome-gradient);background-size:220% 100%;
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);
}
.way-card:hover{transform:translateY(-6px);border-color:var(--silver-dim);}
.way-card:hover::before{transform:scaleX(1);}
.way-icon{font-size:1.6rem;color:var(--silver);margin-bottom:16px;}
.way-card h3{font-size:1.15rem;margin-bottom:12px;}
.way-card p{color:var(--ink-dim);font-size:.92rem;}

/* ---------- plants ---------- */
.plants-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:50px;}
.plant-card{background:var(--navy-800);border:1px solid var(--line);border-radius:4px;padding:32px;}
.plant-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;}
.plant-card-head h3{font-size:1.3rem;}
.plant-rate{font-family:var(--serif);color:var(--silver-light);font-size:1.4rem;}
.plant-bar{height:6px;background:var(--navy-700);border-radius:3px;overflow:hidden;margin-bottom:24px;}
.plant-bar-fill{height:100%;width:0;background:var(--chrome-gradient);background-size:220% 100%;border-radius:3px;transition:width 1.4s var(--ease);}
.plant-card ul{color:var(--ink-dim);font-size:.9rem;}
.plant-card li{padding:8px 0;border-bottom:1px solid var(--line);}
.plant-card li:last-child{border-bottom:none;}

.mini-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);
  border-radius:4px;overflow:hidden;margin-bottom:70px;
}
.mini-stats div{background:var(--navy-800);padding:26px 20px;text-align:center;font-family:var(--serif);font-size:1.5rem;color:var(--silver-light);transition:background .3s;}
.mini-stats div:hover{background:var(--navy-700);}
.mini-stats small{display:block;font-family:var(--sans);font-size:.72rem;color:var(--ink-faint);margin-top:6px;letter-spacing:.02em;}

/* ---------- circuit flow ---------- */
.circuit-flow{background:var(--navy-800);border:1px solid var(--line);border-radius:6px;padding:44px;}
.flow-title{font-size:1.2rem;margin-bottom:30px;}
.flow-track{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-bottom:36px;}
.flow-node{
  background:var(--navy-700);border:1px solid var(--line);border-radius:6px;padding:16px 18px;text-align:center;
  min-width:120px;transition:transform .3s var(--ease),border-color .3s;
}
.flow-node:hover{transform:translateY(-4px);border-color:var(--silver-dim);}
.flow-node span{display:block;font-size:.86rem;font-weight:600;}
.flow-node small{display:block;color:var(--ink-faint);font-size:.7rem;margin-top:4px;}
.flow-node-chrome{border-color:var(--silver-dim);background:linear-gradient(160deg,var(--navy-700),rgba(199,210,217,.1));}
.flow-node-loop{position:relative;}
.flow-arrow{width:36px;height:2px;background:var(--line);position:relative;flex-shrink:0;}
.flow-arrow::after{
  content:'';position:absolute;right:-1px;top:50%;transform:translateY(-50%);
  border:4px solid transparent;border-left-color:var(--silver-dim);
}
.flow-arrow-loop{width:36px;position:relative;}
.flow-arrow-loop small{position:absolute;top:-22px;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--ink-faint);font-size:.66rem;}
.flow-notes{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;border-top:1px solid var(--line);padding-top:30px;}
.flow-notes p{color:var(--ink-dim);font-size:.9rem;}
.flow-notes strong{color:var(--silver-light);}

/* ---------- principles ---------- */
.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.principle-card{padding:36px 8px;border-top:1px solid var(--line);position:relative;}
.principle-num{
  font-family:var(--serif);font-size:2.6rem;color:var(--silver-dim);opacity:.5;margin-bottom:18px;
}
.principle-card h3{font-size:1.25rem;margin-bottom:14px;}
.principle-card p{color:var(--ink-dim);font-size:.92rem;}

/* ---------- products table ---------- */
.products-table{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:50px;}
.pt-row{
  display:grid;grid-template-columns:1.1fr 1.4fr 2fr .9fr;gap:20px;padding:22px 26px;align-items:center;
  border-bottom:1px solid var(--line);transition:background .3s;
}
.pt-row:last-child{border-bottom:none;}
.pt-row:not(.pt-head):hover{background:var(--navy-800);}
.pt-head{background:var(--navy-800);font-size:.72rem;letter-spacing:.14em;color:var(--silver);font-weight:600;text-transform:uppercase;}
.pt-primary{background:rgba(199,210,217,.05);}
.pt-name{font-weight:600;}
.pt-bar-wrap{display:flex;flex-direction:column;gap:6px;}
.pt-figure{font-family:var(--serif);color:var(--silver-light);font-size:1rem;}
.pt-bar{height:5px;background:var(--navy-700);border-radius:3px;overflow:hidden;}
.pt-bar-fill{height:100%;width:0;background:var(--chrome-gradient);background-size:220% 100%;transition:width 1.2s var(--ease);}
.pt-row > div:nth-child(3){color:var(--ink-dim);font-size:.87rem;}
.tag{font-size:.7rem;padding:5px 12px;border:1px solid var(--line);border-radius:20px;color:var(--ink-dim);white-space:nowrap;}
.tag-chrome{border-color:var(--silver-dim);color:var(--silver-light);}

.spec-feed-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.spec-card{background:var(--navy-800);border:1px solid var(--line);border-radius:6px;padding:32px;}
.feed-intro{color:var(--ink-dim);font-size:.88rem;margin-bottom:20px;}
.feed-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9rem;}
.feed-row:last-child{border-bottom:none;}
.feed-row b{color:var(--silver-light);}

/* ---------- quality timeline ---------- */
.qc-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:60px;padding-top:20px;}
.qc-line{position:absolute;top:32px;left:5%;right:5%;height:2px;background:var(--navy-600);z-index:0;}
.qc-line-fill{height:100%;width:0;background:var(--chrome-gradient);background-size:220% 100%;transition:width 1.6s var(--ease);}
.qc-point{position:relative;z-index:1;text-align:center;}
.qc-dot{
  width:64px;height:64px;border-radius:50%;background:var(--navy-800);border:2px solid var(--silver-dim);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-family:var(--serif);
  font-size:1.3rem;color:var(--silver-light);transition:transform .4s var(--ease),box-shadow .4s;
}
.qc-point:hover .qc-dot{transform:scale(1.1);box-shadow:0 0 0 8px rgba(199,210,217,.08);}
.qc-point h4{font-size:1.05rem;margin-bottom:8px;}
.qc-point p{color:var(--ink-dim);font-size:.84rem;}
.qc-point small{color:var(--ink-faint);}

.qc-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.qc-list h3{font-size:1.2rem;margin-bottom:22px;}
.check-list li{position:relative;padding:10px 0 10px 26px;color:var(--ink-dim);font-size:.9rem;border-bottom:1px solid var(--line);}
.check-list li:last-child{border-bottom:none;}
.check-list li::before{content:'✓';position:absolute;left:0;color:var(--silver);font-weight:700;}
.check-list strong{color:var(--ink);}
.kpi-box{margin-top:24px;background:var(--navy-800);border-left:2px solid var(--silver-dim);padding:18px 22px;border-radius:0 4px 4px 0;}
.kpi-box strong{display:block;color:var(--silver-light);font-size:.85rem;margin-bottom:8px;}
.kpi-box p{color:var(--ink-dim);font-size:.84rem;}

/* ---------- infrastructure ---------- */
.infra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:50px;}
.infra-col h4{color:var(--silver-light);font-size:1rem;margin-bottom:16px;font-family:var(--sans);font-weight:600;}
.dot-list li{position:relative;padding:8px 0 8px 20px;color:var(--ink-dim);font-size:.88rem;}
.dot-list li::before{content:'';position:absolute;left:0;top:16px;width:6px;height:6px;border-radius:50%;background:var(--silver-dim);}

.two-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:40px;}
.note-card{background:var(--navy-800);border:1px solid var(--line);border-radius:6px;padding:30px;}
.note-card h4{font-size:1.05rem;color:var(--silver-light);margin-bottom:14px;font-family:var(--sans);font-weight:600;}
.note-card p{color:var(--ink-dim);font-size:.9rem;}

.badge-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border-radius:4px;overflow:hidden;}
.badge{background:var(--navy-800);padding:26px 20px;text-align:center;transition:background .3s;}
.badge:hover{background:var(--navy-700);}
.badge strong{display:block;color:var(--silver-light);font-family:var(--serif);font-size:1.2rem;margin-bottom:6px;}
.badge span{color:var(--ink-faint);font-size:.76rem;}

/* ---------- logistics ---------- */
.logi-chain{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;margin-bottom:60px;padding:20px 0;}
.logi-node{
  background:var(--navy-800);border:1px solid var(--line);border-radius:6px;padding:20px 22px;text-align:center;
  min-width:130px;transition:transform .35s var(--ease),border-color .35s;
}
.logi-node:hover{transform:translateY(-5px);border-color:var(--silver-dim);}
.logi-node span{display:block;font-weight:600;font-size:.92rem;}
.logi-node small{display:block;color:var(--ink-faint);font-size:.72rem;margin-top:5px;}
.logi-node-chrome{border-color:var(--silver-dim);background:linear-gradient(160deg,var(--navy-800),rgba(199,210,217,.1));}
.logi-arrow{width:34px;height:2px;background:var(--line);position:relative;flex-shrink:0;}
.logi-arrow::after{
  content:'';position:absolute;right:-1px;top:50%;transform:translateY(-50%);
  border:4px solid transparent;border-left-color:var(--silver-dim);
}

.routes-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:40px;}
.route-card{background:var(--navy-800);border:1px solid var(--line);border-radius:6px;padding:34px;}
.route-tag{display:inline-block;font-size:.7rem;letter-spacing:.14em;color:var(--ink-faint);border:1px solid var(--line);border-radius:20px;padding:4px 14px;margin-bottom:16px;text-transform:uppercase;}
.route-tag-chrome{color:var(--silver-light);border-color:var(--silver-dim);}
.route-card h3{font-size:1.35rem;margin-bottom:14px;}
.route-card p{color:var(--ink-dim);font-size:.9rem;margin-bottom:20px;}
.num-list li{position:relative;padding:9px 0 9px 30px;color:var(--ink-dim);font-size:.88rem;border-bottom:1px solid var(--line);counter-increment:step;}
.num-list{counter-reset:step;}
.num-list li:last-child{border-bottom:none;}
.num-list li::before{content:counter(step);position:absolute;left:0;top:8px;width:18px;height:18px;border-radius:50%;background:var(--navy-700);color:var(--silver-light);font-size:.66rem;display:flex;align-items:center;justify-content:center;}

.callout-band{background:linear-gradient(120deg,rgba(199,210,217,.12),rgba(199,210,217,.03));border:1px solid var(--silver-dim);border-radius:6px;padding:30px 34px;}
.callout-band p{color:var(--ink);font-size:.95rem;}
.callout-band strong{color:var(--silver-light);}

/* ---------- contact ---------- */
.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border-radius:4px;overflow:hidden;margin-bottom:60px;}
.group-item{background:var(--navy-800);padding:22px 24px;font-size:.86rem;color:var(--ink-dim);transition:background .3s,color .3s;}
.group-item:hover{background:var(--navy-700);color:var(--ink);}

.talk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:60px;}
.talk-card{
  display:block;background:var(--navy-800);border:1px solid var(--line);border-radius:6px;padding:32px;
  transition:transform .35s var(--ease),border-color .35s;
}
.talk-card:hover{transform:translateY(-6px);border-color:var(--silver);}
.talk-card h4{font-size:1.1rem;margin-bottom:12px;}
.talk-card p{color:var(--ink-dim);font-size:.88rem;margin-bottom:18px;}
.talk-link{color:var(--silver-light);font-size:.82rem;font-weight:600;}

.contact-panel{
  display:grid;grid-template-columns:1fr 1.2fr 1fr 1fr;gap:36px;
  background:var(--navy-800);border:1px solid var(--line);border-radius:6px;padding:40px;
}
.contact-logo{
  width:56px;height:56px;border:1px solid var(--silver-dim);border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-family:var(--serif);color:var(--silver-light);margin-bottom:18px;font-size:.9rem;
}
.contact-name{font-weight:600;margin-bottom:6px;}
.contact-reg{color:var(--ink-faint);font-size:.78rem;}
.contact-label{font-size:.7rem;letter-spacing:.16em;color:var(--silver);font-weight:600;margin-bottom:10px;text-transform:uppercase;}
.contact-col p{color:var(--ink-dim);font-size:.87rem;margin-bottom:18px;}
.contact-col a{color:var(--ink);border-bottom:1px solid transparent;transition:border-color .3s,color .3s;}
.contact-col a:hover{color:var(--silver-light);border-color:var(--silver-light);}
.switchboard{color:var(--ink-faint);font-size:.82rem;}

/* ---------- page-teaser grid (home) ---------- */
.teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.teaser-card{
  background:var(--navy-800);border:1px solid var(--line);border-radius:6px;padding:30px;display:block;
  transition:transform .35s var(--ease),border-color .35s;position:relative;overflow:hidden;
}
.teaser-card:hover{transform:translateY(-6px);border-color:var(--silver-dim);}
.teaser-num{font-family:var(--serif);font-size:.85rem;color:var(--silver-dim);margin-bottom:14px;display:block;}
.teaser-card h3{font-size:1.15rem;margin-bottom:10px;}
.teaser-card p{color:var(--ink-dim);font-size:.87rem;margin-bottom:16px;}
.teaser-link{color:var(--silver-light);font-size:.8rem;font-weight:600;}

/* ---------- footer ---------- */
.site-footer{padding:36px 0;border-top:1px solid var(--line);}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.footer-inner div{color:var(--ink-faint);font-size:.78rem;max-width:640px;}
.to-top{color:var(--silver-light);font-size:.82rem;font-weight:600;}

/* ---------- hero media (photography) ---------- */
.hero-media,.page-hero-media{position:absolute;inset:0;overflow:hidden;z-index:0;}
.hero-media img,.page-hero-media img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  filter:grayscale(.15) contrast(1.05) brightness(.75);
  animation:kenburns 26s ease-in-out infinite alternate;
}
@keyframes kenburns{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.09) translate(-1.5%,-1%);}}
.hero-scrim,.page-hero-scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(3,6,10,.55) 0%,rgba(3,6,10,.72) 55%,rgba(3,6,10,.96) 100%),
             linear-gradient(90deg,rgba(3,6,10,.7),rgba(3,6,10,.25) 55%,rgba(3,6,10,.55));
}
.page-hero-scrim{background:linear-gradient(180deg,rgba(3,6,10,.6) 0%,rgba(3,6,10,.82) 70%,rgba(3,6,10,.98) 100%),linear-gradient(90deg,rgba(3,6,10,.72),rgba(3,6,10,.3) 60%);}
.hero-media::after,.page-hero-media::after{
  content:'';position:absolute;top:0;left:-30%;width:22%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(244,247,249,.06),transparent);
  animation:sheen-pass 9s ease-in-out infinite;
}
@keyframes sheen-pass{0%{left:-30%;}55%{left:120%;}100%{left:120%;}}

/* ---------- section media (inline photography) ---------- */
.media-frame{
  position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6);
}
.media-frame img{width:100%;display:block;filter:grayscale(.1) contrast(1.03);transition:transform .8s var(--ease);}
.media-frame:hover img{transform:scale(1.04);}
.media-frame figcaption{
  position:absolute;bottom:0;left:0;right:0;padding:16px 20px;font-size:.72rem;letter-spacing:.06em;
  color:var(--ink-dim);background:linear-gradient(0deg,rgba(3,6,10,.85),transparent);
}
.media-frame-chrome{position:relative;}
.media-frame-chrome::before{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(199,210,217,.25);
}

/* ---------- image duo / grid ---------- */
.media-duo{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-bottom:60px;}
.media-duo .media-frame:nth-child(2){align-self:end;}

/* ---------- page transitions ---------- */
body.page-leaving{opacity:0;transform:translateY(6px);}

/* ---------- logo mark ---------- */
.brand-plate{
  background:#fdfdfd;border-radius:6px;padding:6px 12px;display:inline-flex;align-items:center;
  box-shadow:0 4px 18px -6px rgba(0,0,0,.5);transition:transform .3s var(--ease);
}
.brand:hover .brand-plate{transform:translateY(-1px);}
.brand-logo{height:22px;width:auto;display:block;}
.footer-plate{background:#fdfdfd;border-radius:5px;padding:5px 10px;display:inline-flex;align-items:center;opacity:.92;}
.footer-logo{height:16px;width:auto;display:block;}

/* ---------- breadcrumb ---------- */
.breadcrumb{display:flex;gap:10px;align-items:center;font-size:.78rem;color:var(--ink-faint);margin-bottom:18px;}
.breadcrumb a{color:var(--ink-faint);transition:color .3s;}
.breadcrumb a:hover{color:var(--silver-light);}

/* ---------- spiral concentrator animation ---------- */
.spiral-widget{
  display:flex;align-items:center;gap:48px;margin-top:40px;padding-top:40px;
  border-top:1px solid var(--line);flex-wrap:wrap;
}
.spiral-caption{flex:1;min-width:240px;}
.spiral-caption h4{font-size:1.05rem;margin-bottom:12px;color:var(--silver-light);font-family:var(--sans);font-weight:600;}
.spiral-caption p{color:var(--ink-dim);font-size:.9rem;}
.spiral-stage{position:relative;width:300px;height:300px;flex-shrink:0;margin:0 auto;}
.spiral-orbit{position:absolute;inset:0;}
.spiral-svg{position:absolute;inset:0;width:100%;height:100%;}
.spiral-rim{fill:none;stroke:var(--line);stroke-width:1;}
.spiral-track{fill:none;stroke:var(--navy-500);stroke-width:2;stroke-linecap:round;}
.spiral-outlet{fill:var(--navy-700);stroke:var(--silver-dim);stroke-width:1.5;}
.spiral-outlet-glow{
  position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;
  background:radial-gradient(circle,rgba(199,210,217,.35),transparent 70%);
  animation:outlet-pulse 2.4s ease-in-out infinite;
}
@keyframes outlet-pulse{0%,100%{opacity:.5;transform:scale(.9);}50%{opacity:1;transform:scale(1.15);}}

.grain{
  position:absolute;top:0;left:0;width:7px;height:7px;border-radius:50%;
  background:var(--ink-faint);
  offset-path:path('M164.0,150.0 L164.8,154.2 L164.2,158.9 L162.1,163.4 L158.5,167.5 L153.6,170.5 L147.7,172.0 L141.2,171.8 L134.7,169.6 L128.8,165.4 L124.1,159.4 L121.2,152.0 L120.4,143.7 L122.1,135.2 L126.3,127.1 L132.8,120.3 L141.4,115.4 L151.3,113.0 L161.9,113.5 L172.2,117.0 L181.5,123.6 L188.8,132.7 L193.4,143.9 L194.7,156.3 L192.5,168.9 L186.7,180.8 L177.5,190.8 L165.6,198.1 L151.8,201.9 L137.1,201.7 L122.7,197.3 L109.7,188.9 L99.3,176.9 L92.6,162.2 L90.1,145.8 L92.3,129.0 L99.2,113.1 L110.5,99.4 L125.5,89.3 L143.0,83.5 L161.8,82.8 L180.5,87.5 L197.5,97.3 L211.3,111.7 L220.8,129.7 L225.0,150.0 L223.4,171.0 L215.9,191.2 L202.9,208.8 L185.3,222.3 L164.2,230.5 L141.3,232.7 L118.3,228.3 L97.1,217.6 L79.5,201.3 L66.8,180.3 L60.3,156.3 L60.7,131.0 L68.2,106.5 L82.4,84.7 L102.3,67.4 L126.6,56.2 L153.4,52.0 L180.7,55.5 L206.3,66.5 L228.2,84.4 L244.5,107.9 L253.8,135.4 L255.1,164.8 L248.2,193.7 L233.4,220.0 L211.6,241.4 L184.5,256.1 L153.9,262.9 L122.3,260.9 L92.2,250.2 L65.8,231.3 L45.5,205.6 L32.9,174.9 L29.2,141.6 L34.9,108.1 L49.8,77.2 L72.9,51.4 L102.6,32.7 L136.6,22.8 L172.4,22.7 L207.2,32.6 L238.3,52.0 L263.0,79.4 L279.4,112.9 L286.0,150.0');
  offset-distance:100%;offset-rotate:0deg;
  animation:spiral-travel 7s linear infinite;
  will-change:offset-distance,background-color,transform;
}
@keyframes spiral-travel{
  0%{offset-distance:100%;opacity:0;transform:scale(.7);background:var(--ink-faint);}
  6%{opacity:1;}
  55%{background:var(--steel-300);}
  92%{opacity:1;}
  100%{offset-distance:1%;opacity:0;transform:scale(.5);background:var(--silver-light);box-shadow:0 0 8px rgba(244,247,249,.7);}
}
.grain.g2{animation-delay:-1s;}
.grain.g3{animation-delay:-2.15s;}
.grain.g4{animation-delay:-3.3s;}
.grain.g5{animation-delay:-4.45s;}
.grain.g6{animation-delay:-5.6s;}
.grain.g7{animation-delay:-6.75s;}

.spiral-chute{position:relative;width:300px;height:90px;margin-top:-6px;}
.chute-svg{position:absolute;inset:0;width:100%;height:100%;}
.chute-pile{fill:var(--navy-700);stroke:var(--silver-dim);stroke-width:1;}
.fall-grain{
  position:absolute;left:150px;top:6px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;
  background:var(--silver-light);opacity:0;
  animation:grain-fall 3.4s cubic-bezier(.55,0,.85,.35) infinite;
}
@keyframes grain-fall{
  0%{top:6px;opacity:0;transform:scale(.8);}
  8%{opacity:1;}
  55%{top:52px;opacity:1;transform:scale(1);}
  70%{top:58px;opacity:1;transform:scale(1.1);}
  78%{opacity:0;}
  100%{top:58px;opacity:0;}
}
.fall-grain.f2{animation-delay:.8s;left:144px;}
.fall-grain.f3{animation-delay:1.7s;left:157px;}
.fall-grain.f4{animation-delay:2.5s;left:150px;}
.chute-label{
  position:absolute;bottom:2px;left:50%;transform:translateX(-50%);font-size:.66rem;letter-spacing:.14em;
  color:var(--ink-faint);text-transform:uppercase;
}
@media (prefers-reduced-motion:reduce){
  .grain,.fall-grain,.spiral-outlet-glow{animation:none;}
}

/* ---------- location maps ---------- */
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px;}
.map-card{background:var(--navy-800);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:border-color .4s,transform .4s var(--ease);}
.map-card:hover{border-color:var(--silver-dim);transform:translateY(-4px);}
.map-frame{position:relative;width:100%;padding-top:56%;background:var(--navy-700);}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.4) contrast(1.05) brightness(.9);}
.map-card-body{padding:18px 22px;}
.map-card-label{font-size:.72rem;letter-spacing:.16em;color:var(--silver);font-weight:600;text-transform:uppercase;margin-bottom:8px;}
.map-card-coords{color:var(--ink-dim);font-size:.82rem;margin-bottom:10px;font-variant-numeric:tabular-nums;}
.map-card-link{color:var(--silver-light);font-size:.8rem;font-weight:600;}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .company-grid,.qc-grid,.routes-grid,.two-note-grid,.spec-feed-grid,.plants-grid,.media-duo,.map-grid{grid-template-columns:1fr;}
  .ways-grid,.infra-grid,.talk-grid,.principles-grid,.teaser-grid{grid-template-columns:repeat(2,1fr);}
  .contact-panel{grid-template-columns:1fr 1fr;}
  .group-grid{grid-template-columns:repeat(2,1fr);}
  .mini-stats,.badge-row{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  .main-nav{
    position:fixed;top:0;right:0;height:100vh;width:280px;background:var(--navy-900);
    flex-direction:column;justify-content:center;align-items:flex-start;padding:0 40px;gap:26px;
    transform:translateX(100%);transition:transform .4s var(--ease);border-left:1px solid var(--line);
  }
  .main-nav.open{transform:translateX(0);}
  .nav-toggle{display:flex;}
  .header-cta{display:none;}
}
@media (max-width:680px){
  .ways-grid,.infra-grid,.talk-grid,.principles-grid,.pt-row,.mini-stats,.badge-row,.group-grid,.teaser-grid{grid-template-columns:1fr;}
  .qc-timeline{grid-template-columns:1fr;gap:36px;}
  .qc-line{display:none;}
  .contact-panel{grid-template-columns:1fr;}
  .flow-track{justify-content:flex-start;}
  .hero-stats{gap:36px;}
  .section{padding:90px 0;}
  .pt-row{gap:10px;}
  .spiral-widget{justify-content:center;}
  .spiral-stage,.spiral-chute{transform:scale(.82);transform-origin:top center;}
}
