:root {
  --ink: #16251d;
  --ink-soft: #435248;
  --green: #287a42;
  --green-deep: #155532;
  --leaf: #69b83e;
  --yellow: #f7c900;
  --yellow-soft: #fff3a6;
  --sky: #dff2f4;
  --mint: #e1f0d9;
  --paper: #f8faf6;
  --white: #ffffff;
  --line: rgba(22, 37, 29, 0.16);
  --header-height: 82px;
  --radius: 6px;
  --canvas: #d1d1cf;
  --canvas-deep: #d1d1cf;
  --surface: rgba(247, 248, 246, 0.72);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
  letter-spacing: 0;
  overflow-x: clip;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
p { line-height: 1.75; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: 0; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html, body, body * { cursor: none !important; }
}

.page-loader {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 18px;
  background: var(--white);
  color: var(--ink);
  transition: opacity 500ms ease, visibility 500ms ease;
}
.page-loader { display: none; }
.page-loader img { width: 78px; animation: loaderPulse 900ms ease-in-out infinite alternate; }
.page-loader span { font-size: 12px; font-weight: 800; }
body.loaded .page-loader { opacity: 0; visibility: hidden; }
@keyframes loaderPulse { to { transform: translateY(-8px) rotate(4deg); } }

.scroll-progress { position: fixed; inset: 0 0 auto; z-index: 120; height: 3px; pointer-events: none; }
.scroll-progress span { display: block; width: 100%; height: 100%; background: var(--yellow); transform: scaleX(0); transform-origin: left; }
.page-transition { position: fixed; inset: 0; z-index: 160; display: grid; place-items: center; overflow: hidden; pointer-events: none; visibility: hidden; }
.page-transition::before, .page-transition::after { content: ""; position: absolute; z-index: -1; left: 0; width: 100%; height: 50.05%; background: #f8fbf9; transform: scaleY(0); transition: transform 480ms cubic-bezier(.76,0,.24,1); }
.page-transition::before { top: 0; transform-origin: top; border-bottom: 1px solid rgba(21,85,50,0.12); }
.page-transition::after { bottom: 0; transform-origin: bottom; }
.page-transition-mark { display: grid; justify-items: center; gap: 9px; opacity: 0; transform: translateY(12px) scale(0.92); transition: opacity 200ms ease 190ms, transform 360ms cubic-bezier(.22,1,.36,1) 150ms; }
.page-transition img { width: 72px; }
.page-transition span { color: var(--ink); font-size: 12px; font-weight: 850; }
.page-transition i { width: 0; height: 2px; background: var(--yellow); transition: width 300ms cubic-bezier(.22,1,.36,1) 220ms; }
.page-transition.cover, .page-transition.leave { visibility: visible; }
.page-transition.cover::before, .page-transition.cover::after { transform: scaleY(1); }
.page-transition.cover .page-transition-mark { opacity: 1; transform: translateY(0) scale(1); }
.page-transition.cover i { width: 46px; }
.page-transition.leave::before { transform: scaleY(0); transform-origin: top; }
.page-transition.leave::after { transform: scaleY(0); transform-origin: bottom; }
.page-transition.leave .page-transition-mark { opacity: 0; transform: translateY(-10px) scale(0.96); transition-delay: 0ms; }
.page-transition.reset { visibility: hidden; }
body.views-ready [data-view]:not(.view-active) { display: none !important; }
main { min-height: calc(100svh - 150px); }
.inner-view main { padding-top: 68px; }
.cursor-orbit {
  position: fixed;
  z-index: 132;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 50%;
  background: rgba(232,241,235,0.28);
  backdrop-filter: blur(5px) saturate(145%);
  -webkit-backdrop-filter: blur(5px) saturate(145%);
  pointer-events: none;
  transform: translate(-50%, -50%);
  transform-origin: center;
  scale: 1;
  opacity: 0;
  box-shadow: inset 0 1px 3px rgba(255,255,255,0.72), inset 0 -2px 4px rgba(21,85,50,0.10), 0 0 0 2px rgba(64,157,91,0.16), 0 0 13px rgba(48,165,81,0.68), 0 0 28px rgba(65,190,96,0.34);
  transition: opacity 140ms ease, scale 240ms cubic-bezier(.22,1,.36,1), box-shadow 220ms ease, background-color 220ms ease;
}
.cursor-orbit::before { display: none; }
.cursor-orbit::after { content: ""; position: absolute; inset: -7px; border: 1px solid rgba(74,187,103,0.24); border-radius: 50%; opacity: 0.7; filter: blur(2px); scale: 0.86; transition: opacity 220ms ease, scale 260ms cubic-bezier(.22,1,.36,1); }
.cursor-orbit.active { scale: 1.18; background: rgba(235,246,239,0.36); box-shadow: inset 0 1px 4px rgba(255,255,255,0.82), inset 0 -2px 5px rgba(21,85,50,0.12), 0 0 0 2px rgba(64,157,91,0.2), 0 0 16px rgba(48,165,81,0.76), 0 0 30px rgba(65,190,96,0.38); }
.cursor-orbit.active::after { opacity: 1; scale: 1.06; }
.cursor-comet { position: fixed; z-index: 131; inset: 0; width: 100vw; height: 100vh; pointer-events: none; }
.glass-filter-defs { position: fixed; width: 0; height: 0; pointer-events: none; }

.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height);
  display: grid;
  grid-template-columns: auto minmax(420px, 1fr) auto;
  align-items: center;
  padding: 0 4vw;
  color: var(--white);
  border-bottom: 1px solid rgba(255,255,255,0.24);
  background: rgba(18,45,31,0.08);
  box-shadow: inset 0 1px rgba(255,255,255,0.14);
  isolation: isolate;
  overflow: hidden;
  transition: height 300ms cubic-bezier(.22,1,.36,1), color 250ms ease, border-color 250ms ease, box-shadow 300ms ease;
}
.site-header::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background: rgba(15,43,29,0.08);
  backdrop-filter: blur(5px) saturate(130%);
  -webkit-backdrop-filter: blur(5px) saturate(130%);
  transition: background-color 300ms ease, backdrop-filter 300ms ease;
}
.site-header::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -32px -5%;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 18% 45%, rgba(255,255,255,0.42) 0 8%, transparent 28%),
    radial-gradient(ellipse at 68% 25%, rgba(210,248,235,0.28) 0 7%, transparent 30%),
    linear-gradient(105deg, transparent 18%, rgba(255,255,255,0.2) 46%, transparent 70%);
  filter: url(#nav-glass-distortion) blur(8px);
  opacity: 0.16;
  transform: translate3d(-2%, 0, 0) scale(1.03);
  transition: opacity 300ms ease, transform 500ms cubic-bezier(.22,1,.36,1);
}
.site-header > .brand, .site-header > .desktop-nav, .site-header > .header-actions { align-self: stretch; }
.site-header.scrolled {
  height: 68px;
  color: var(--ink);
  border-bottom-color: rgba(255,255,255,0.34);
  box-shadow: 0 10px 30px rgba(28,61,39,0.07), inset 0 1px rgba(255,255,255,0.58), inset 0 -1px rgba(21,85,50,0.05);
}
.site-header.scrolled::before { background: rgba(235,248,242,0.24); backdrop-filter: blur(20px) saturate(160%) contrast(1.04); -webkit-backdrop-filter: blur(20px) saturate(160%) contrast(1.04); }
.site-header.scrolled::after { opacity: 0.42; transform: translate3d(2%, 0, 0) scale(1.06); }
.menu-open .site-header { color: var(--ink); border-bottom-color: rgba(22,37,29,0.18); }
.inner-view .site-header { height: 68px; color: var(--ink); border-bottom-color: rgba(255,255,255,0.62); box-shadow: 0 10px 34px rgba(28,61,39,0.12), inset 0 1px rgba(255,255,255,0.88), inset 0 -1px rgba(21,85,50,0.08); }
.inner-view .site-header::before { background: rgba(244,251,248,0.66); backdrop-filter: blur(18px) saturate(175%) contrast(1.06); -webkit-backdrop-filter: blur(18px) saturate(175%) contrast(1.06); }
.inner-view .site-header::after { opacity: 0.62; transform: translate3d(2%, 0, 0) scale(1.06); }
.brand { display: inline-flex; align-items: center; gap: 12px; width: max-content; transition: transform 300ms cubic-bezier(.22,1,.36,1); }
.brand img { width: 46px; height: 46px; object-fit: contain; }
.site-header > .brand img { width: 46px; height: 46px; transition: transform 260ms ease; }
.site-header > .brand:hover img { transform: rotate(7deg) scale(1.06); }
.brand span { display: grid; line-height: 1; }
.brand strong { font-size: 16px; }
.brand small { margin-top: 6px; font-size: 9px; font-weight: 700; }
.site-header .brand-name strong { font-size: 15px; font-weight: 900; }
.site-header .brand-name small { margin-top: 5px; font-size: 8px; color: currentColor; opacity: 0.76; white-space: nowrap; }
.desktop-nav { --nav-indicator-x:0px; --nav-indicator-width:0px; position:relative; display:flex; justify-content:center; align-items:center; gap:clamp(18px,2.2vw,34px); font-size:13px; font-weight:650; transition:transform 300ms cubic-bezier(.22,1,.36,1); }
.desktop-nav::after { content:""; position:absolute; left:0; bottom:14px; width:var(--nav-indicator-width); height:2px; background:var(--yellow); transform:translate3d(var(--nav-indicator-x),0,0); opacity:var(--nav-indicator-opacity,0); transition:transform 360ms cubic-bezier(.22,1,.36,1),width 360ms cubic-bezier(.22,1,.36,1),bottom 300ms ease,opacity 160ms ease; pointer-events:none; }
.desktop-nav a { position: relative; display: inline-flex; align-items: center; height: 100%; padding: 0; }
.site-header.scrolled .desktop-nav::after, .inner-view .desktop-nav::after { bottom:9px; }
.desktop-nav a.active { font-weight: 850; }
.header-cta { justify-self: end; display: inline-flex; align-items: center; gap: 20px; padding: 12px 14px 12px 18px; background: var(--yellow); color: var(--ink); border-radius: var(--radius); font-size: 13px; font-weight: 800; }
.header-cta b { display: grid; place-items: center; width: 24px; height: 24px; background: var(--ink); color: white; border-radius: 50%; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 18px; transition: transform 300ms cubic-bezier(.22,1,.36,1); }
.language-switcher {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(76px, auto));
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(255,255,255,0.5);
  border-radius: 7px;
  background: rgba(245,249,247,0.28);
  box-shadow: inset 0 1px rgba(255,255,255,0.72), 0 8px 24px rgba(18,45,31,0.09);
  backdrop-filter: blur(14px) saturate(145%);
  -webkit-backdrop-filter: blur(14px) saturate(145%);
}
.language-switcher button,
.language-switcher a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 34px;
  padding: 0 13px;
  border: 0;
  border-radius: 4px;
  color: currentColor;
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  white-space: nowrap;
  cursor: pointer;
  transition: color 240ms ease, background-color 240ms ease, box-shadow 240ms ease, transform 180ms ease;
}
.language-switcher button:hover,
.language-switcher button:focus-visible,
.language-switcher a:hover,
.language-switcher a:focus-visible {
  color: var(--white);
  background: rgba(21,113,61,0.82);
  box-shadow: 0 0 16px rgba(69,181,92,0.42), inset 0 1px rgba(255,255,255,0.28);
  outline: none;
}
.language-switcher button:active,
.language-switcher a:active { transform: scale(0.96); }
.language-notice {
  position: fixed;
  z-index: 145;
  right: 4vw;
  top: 92px;
  max-width: min(320px, calc(100vw - 36px));
  padding: 11px 15px;
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 6px;
  color: var(--ink);
  background: rgba(242,248,245,0.76);
  box-shadow: 0 14px 36px rgba(18,45,31,0.15), inset 0 1px rgba(255,255,255,0.82);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  font-size: 11px;
  font-weight: 700;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 220ms ease, visibility 220ms ease, transform 260ms cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.language-notice.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.header-status { display: flex; align-items: center; gap: 16px; line-height: 1; white-space: nowrap; }
.header-status > span { display: grid; gap: 5px; }
.header-status > span + span { padding-left: 16px; border-left: 1px solid currentColor; }
.header-status small { font-size: 7px; font-weight: 750; opacity: 0.68; }
.header-status b { font-size: 11px; font-weight: 850; }
.menu-toggle { display: none; justify-self: end; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; }
.menu-toggle span { display: block; width: 24px; height: 2px; margin: 6px auto; background: currentColor; transition: transform 220ms ease; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }

.mobile-menu { position: fixed; inset: 0; z-index: 90; display: none; padding: 120px 24px 40px; background: var(--yellow); opacity: 0; visibility: hidden; transition: opacity 250ms ease, visibility 250ms ease; }
.mobile-menu.open { opacity: 1; visibility: visible; }
.mobile-menu nav { display: grid; }
.mobile-menu nav a { padding: 14px 0; font-size: 30px; font-weight: 750; border-bottom: 1px solid rgba(22,37,29,0.2); }
.mobile-menu nav a.active { padding-left: 18px; background: rgba(255,255,255,0.28); }
.mobile-language { display: grid; gap: 12px; margin-top: 28px; }
.mobile-language > small { font-size: 9px; font-weight: 850; opacity: 0.64; }
.mobile-language .language-switcher { width: min(100%, 360px); grid-template-columns: 1fr 1fr; background: rgba(255,255,255,0.25); }
.mobile-language .language-switcher button,
.mobile-language .language-switcher a { height: 44px; font-size: 13px; }
.mobile-status { position: absolute; left: 24px; right: 24px; bottom: 28px; display: flex; justify-content: space-between; gap: 24px; font-size: 10px; font-weight: 750; }
.mobile-status span { display: grid; gap: 6px; }
.mobile-status b { font-size: 16px; }

.section-inner { width: min(1280px, 92vw); margin: 0 auto; }
.section-index { display: flex; gap: 12px; align-items: center; font-size: 11px; font-weight: 800; color: var(--green); }
.section-index span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; }
.eyebrow { margin-bottom: 22px; font-size: 11px; font-weight: 850; line-height: 1.3; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; min-width: 190px; padding: 16px 16px 16px 20px; border-radius: var(--radius); font-weight: 800; font-size: 13px; transition: color 320ms ease, border-color 320ms ease, transform 180ms ease, background-color 420ms ease, box-shadow 420ms ease; }
.button, .header-cta, .business-tabs button { position: relative; overflow: hidden; isolation: isolate; }
.button::before, .header-cta::before { display: none; }
.button::after, .header-cta::after { content: ""; position: absolute; z-index: -1; left: var(--light-x, 50%); top: var(--light-y, 50%); width: 28px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(69,181,92,0.98) 0%, rgba(21,113,61,0.97) 46%, rgba(12,78,42,0.96) 100%); box-shadow: 0 0 18px rgba(247,201,0,0.72), 0 0 34px rgba(247,201,0,0.35); opacity: 0; transform: translate(-50%,-50%) scale(0.08); transition: transform 680ms cubic-bezier(.16,1,.3,1), opacity 180ms ease; pointer-events: none; }
.button:hover::after, .header-cta:hover::after { opacity: 1; transform: translate(-50%,-50%) scale(18); }
.button b { font-size: 18px; transition: transform 260ms cubic-bezier(.22,1,.36,1); }
.button:hover b, .header-cta:hover b { transform: translate(4px, -4px) rotate(8deg); }
.button:active, .header-cta:active, .business-tabs button:active { transform: scale(0.965); }
.button-primary, .button-dark, .header-cta { color: var(--ink); border: 1px solid rgba(247,201,0,0.82); background: rgba(247,201,0,0.48); box-shadow: inset 0 1px 2px rgba(255,255,255,0.68), 0 8px 22px rgba(22,37,29,0.10), 0 0 14px rgba(247,201,0,0.12); backdrop-filter: blur(12px) saturate(150%); -webkit-backdrop-filter: blur(12px) saturate(150%); }
.header-cta { background: rgba(247,201,0,0.66); border-color: rgba(247,201,0,0.96); box-shadow: inset 0 1px 3px rgba(255,255,255,0.72), inset 0 -2px 5px rgba(190,145,0,0.12), 0 9px 24px rgba(108,83,0,0.14), 0 0 16px rgba(247,201,0,0.18); transition: color 320ms ease, border-color 320ms ease, background-color 420ms ease, box-shadow 420ms ease, transform 300ms cubic-bezier(.22,1,.36,1); }
.button-primary:hover, .button-dark:hover, .header-cta:hover { color: var(--white); border-color: rgba(76,190,108,0.88); background: rgba(247,201,0,0.36); box-shadow: inset 0 1px 3px rgba(255,255,255,0.28), 0 10px 26px rgba(21,85,50,0.18), 0 0 0 2px rgba(61,176,93,0.14), 0 0 16px rgba(61,176,93,0.68), 0 0 34px rgba(61,176,93,0.34); transform: translateY(-3px); }
.button-primary:active, .button-dark:active, .header-cta:active { transform: translateY(0) scale(0.98); box-shadow: inset 0 3px 8px rgba(13,55,32,0.22), 0 0 14px rgba(61,176,93,0.5); }
.header-cta b { background: rgba(21,85,50,0.88); transition: color 240ms ease, background-color 240ms ease, transform 300ms cubic-bezier(.22,1,.36,1), box-shadow 260ms ease; }
.header-cta:hover b { color: var(--green-deep); background: rgba(255,255,255,0.86); box-shadow: 0 0 12px rgba(255,255,255,0.38); transform: translate(2px,-2px); }
.text-link { display: inline-flex; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 800; }
.text-link span { transition: transform 180ms ease; }
.text-link:hover span { transform: translate(3px, -3px); }
.text-link.light { color: var(--white); }
.interaction-ripple { position: absolute; z-index: 4; width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,0.72); pointer-events: none; transform: translate(-50%, -50%) scale(0); animation: rippleOut 620ms ease-out forwards; }
@keyframes rippleOut { to { opacity: 0; transform: translate(-50%, -50%) scale(18); } }
a:focus-visible, button:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }

.hero { --hero-image-opacity: 0; --hero-video-opacity: 0; --hero-still-opacity: 0; --hero-image-blur: 0px; --hero-image-scale: 1.14; --hero-image-inset-y: 34%; --hero-image-inset-x: 28%; --hero-image-radius: 8px; --hero-intro-opacity: 1; --hero-intro-open: 0; --hero-brand-progress: 0; --hero-brand-opacity: 1; --hero-intro-shift: 0px; --hero-content-opacity: 0; --hero-content-shift: 28px; position: relative; height: 165svh; color: var(--white); background: var(--white); }
.hero-sticky { position: sticky; top: 0; height: 100svh; overflow: hidden; background: var(--white); }
.hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 45%; opacity: var(--hero-image-opacity); clip-path: inset(var(--hero-image-inset-y) var(--hero-image-inset-x) round var(--hero-image-radius)); transform: scale(var(--hero-image-scale)); filter: blur(var(--hero-image-blur)); transform-origin: center; will-change: opacity, transform, filter, clip-path; }
.hero-video { opacity: var(--hero-video-opacity); }
.hero-media-still { opacity: var(--hero-still-opacity); }
.hero-still-tint { position: absolute; inset: 0; z-index: 1; background: #000; opacity: var(--hero-still-tint-opacity, 0); clip-path: inset(var(--hero-image-inset-y) var(--hero-image-inset-x) round var(--hero-image-radius)); pointer-events: none; }
.hero-tint { display: none; }
.hero-grid { position: absolute; inset: 0; border: 0; opacity: var(--hero-image-opacity); transform: scale(0.94); pointer-events: none; }
.hero-copy { position: relative; z-index: 2; width: min(1280px, 92vw); margin: 0 auto; padding-top: 25vh; opacity: var(--hero-content-opacity); transform: translateY(var(--hero-content-shift)); pointer-events: none; }
.hero.hero-content-ready .hero-copy { pointer-events: auto; }
.hero h1 { max-width: 760px; margin-bottom: 26px; font-size: 78px; line-height: 0.98; font-weight: 760; }
.hero-lead { max-width: 660px; margin-bottom: 34px; font-size: 18px; color: rgba(255,255,255,0.88); }
.hero-actions { display: flex; align-items: center; gap: 32px; }
.hero-side { position: absolute; z-index: 2; right: 4vw; bottom: 10vh; display: grid; grid-template-columns: auto auto; gap: 8px 18px; align-items: start; padding: 22px 0 0 22px; border-top: 1px solid rgba(255,255,255,0.5); border-left: 1px solid rgba(255,255,255,0.5); opacity: var(--hero-content-opacity) !important; transform: translateY(var(--hero-content-shift)) !important; }
.hero-side span { font-size: 10px; color: var(--yellow); }
.hero-side p { margin: 0 0 12px; font-size: 13px; line-height: 1.35; font-weight: 750; }
.scroll-cue { position: absolute; z-index: 2; left: 4vw; bottom: 28px; display: flex; gap: 10px; align-items: center; font-size: 9px; font-weight: 800; opacity: var(--hero-content-opacity); transform: translateY(var(--hero-content-shift)); pointer-events: none; }
.hero.hero-content-ready .scroll-cue { pointer-events: auto; }
.scroll-cue span { position: relative; display: block; width: 46px; height: 1px; overflow: hidden; background: rgba(255,255,255,0.5); }
.scroll-cue span::after { content: ""; position: absolute; inset: 0; background: var(--yellow); animation: scrollLine 1500ms ease-in-out infinite; }
@keyframes scrollLine { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
.hero-intro { position: absolute; z-index: 5; inset: 0; display: grid; place-items: center; overflow: hidden; color: var(--ink); opacity: var(--hero-intro-opacity); pointer-events: none; will-change: opacity; }
.hero-intro::after { display: none; }
.hero-intro-brand { position: relative; z-index: 2; display: flex; align-items: center; gap: clamp(30px, 4vw, 66px); padding: 28px 4vw 32px; transform: translateY(var(--hero-intro-shift)); opacity: var(--hero-brand-opacity); will-change: transform, opacity; }
.hero-intro-logo { display: grid; place-items: center; width: clamp(126px, 13vw, 196px); aspect-ratio: 1; transform: translateX(calc(var(--hero-brand-progress) * 18px)) rotate(calc(var(--hero-brand-progress) * 6deg)) scale(calc(1 + var(--hero-brand-progress) * 0.1)); filter: blur(calc(var(--hero-brand-progress) * 1.5px)); will-change: transform, filter; }
.hero-intro-brand img { width: 100%; height: auto; opacity: 0; clip-path: circle(0% at 50% 50%); transform: rotate(-12deg) scale(0.72); animation: introLogoIn 950ms 100ms cubic-bezier(.16,1,.3,1) forwards; }
.hero-intro-brand > span { display: grid; width: max-content; max-width: 100%; gap: 10px; min-width: 0; overflow: visible; transform: translateX(calc(var(--hero-brand-progress) * -20px)) scale(calc(1 - var(--hero-brand-progress) * 0.035)); filter: blur(calc(var(--hero-brand-progress) * 1px)); transform-origin: left center; will-change: transform, filter; }
.hero-intro-brand strong { display: block; padding: 0.04em 0.08em 0.08em 0; margin: -0.04em -0.08em -0.08em 0; font-size: clamp(54px, 7vw, 108px); line-height: 0.94; font-weight: 950; opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-22px); animation: introTypeIn 850ms 260ms cubic-bezier(.16,1,.3,1) forwards; }
.hero-intro-brand small { display: block; width: 100%; padding-right: 0.08em; font-size: clamp(11px, 1.15vw, 17px); line-height: 1.25; font-weight: 720; color: var(--ink-soft); white-space: nowrap; text-align: left; letter-spacing: 0.24em; word-spacing: 0.06em; opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-16px); animation: introTypeIn 780ms 390ms cubic-bezier(.16,1,.3,1) forwards; }
@keyframes introLogoIn { to { opacity: 1; clip-path: circle(72% at 50% 50%); transform: rotate(0) scale(1); } }
@keyframes introTypeIn { to { opacity: 1; clip-path: inset(0 0 0 0); transform: translateX(0); } }
.hero-intro-active .site-header { color: var(--ink); border-bottom-color: rgba(22,37,29,0.08); box-shadow: inset 0 1px rgba(255,255,255,0.54); }
.hero-intro-active .site-header::before { background: rgba(255,255,255,0.16); backdrop-filter: blur(12px) saturate(135%); -webkit-backdrop-filter: blur(12px) saturate(135%); }
.hero-intro-active .site-header::after { opacity: 0.14; }

.manifesto { padding: 125px 0 130px; background: var(--white); }
.manifesto-grid { display: grid; grid-template-columns: 220px 1fr; gap: 8vw; }
.statement { max-width: 960px; margin-bottom: 64px; font-size: 48px; line-height: 1.28; font-weight: 620; }
.manifesto-body { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; max-width: 870px; margin-left: auto; color: var(--ink-soft); }
.manifesto-body p { margin: 0; }

.business { padding: 115px 0; background: var(--sky); }
.business-heading { display: grid; grid-template-columns: 220px 1fr auto; gap: 50px; align-items: end; margin-bottom: 54px; }
.business-heading h2 { max-width: 600px; margin: 0; font-size: 46px; line-height: 1.15; }
.business-tabs { display: inline-flex; padding: 4px; background: rgba(255,255,255,0.68); border: 1px solid rgba(22,37,29,0.12); border-radius: var(--radius); }
.business-tabs button { min-width: 104px; padding: 12px 14px; border: 0; border-radius: 4px; background: transparent; cursor: pointer; font-size: 13px; font-weight: 800; }
.business-tabs button { transition: color 180ms ease, background-color 180ms ease, transform 180ms ease; }
.business-tabs button:hover { transform: translateY(-2px); }
.business-tabs button.active { background: var(--ink); color: var(--white); }
.business-stage { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr); min-height: 650px; background: var(--white); overflow: hidden; border-radius: var(--radius); }
.business-visual { position: relative; min-height: 560px; overflow: hidden; }
.business-visual img { width: 100%; height: 100%; object-fit: cover; transition: opacity 250ms ease, transform 700ms ease; }
.business-stage.switching .business-visual img { opacity: 0; transform: scale(1.025); }
.visual-label { position: absolute; left: 22px; top: 22px; padding: 10px 12px; background: var(--yellow); font-size: 10px; font-weight: 850; border-radius: 3px; }
.business-content { display: flex; flex-direction: column; justify-content: center; padding: 60px 54px; }
.business-content h3 { margin-bottom: 24px; font-size: 34px; line-height: 1.22; }
.business-content > p:not(.eyebrow) { color: var(--ink-soft); }
.business-content ul { display: grid; gap: 12px; margin: 22px 0 36px; padding: 0; list-style: none; font-size: 14px; font-weight: 700; }
.business-content li { display: flex; align-items: center; gap: 10px; }
.business-content li::before { content: ""; width: 6px; height: 6px; background: var(--yellow); border-radius: 50%; }
.solar-detail { position: relative; display: grid; grid-template-columns: 1.15fr 0.85fr; min-height: 780px; background: var(--yellow); overflow: hidden; }
.solar-photo { min-height: 780px; overflow: hidden; }
.solar-photo img { width: 100%; height: 100%; object-fit: cover; }
.solar-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 80px 7vw; }
.solar-copy h2 { margin: 34px 0 28px; font-size: 48px; line-height: 1.16; }
.solar-copy > p { max-width: 580px; color: rgba(22,37,29,0.76); }
.capability-lines { margin-top: 34px; }
.capability-lines div { display: grid; grid-template-columns: 110px 1fr; gap: 18px; padding: 18px 0; border-top: 1px solid rgba(22,37,29,0.24); }
.capability-lines span { font-size: 13px; font-weight: 850; }
.capability-lines p { margin: 0; font-size: 13px; line-height: 1.55; }
.sun-disc { position: absolute; right: -150px; bottom: -150px; width: 380px; height: 380px; border: 1px solid rgba(22,37,29,0.2); border-radius: 50%; animation: rotateDisc 18s linear infinite; }
.sun-disc::before, .sun-disc::after, .sun-disc span { content: ""; position: absolute; left: 50%; top: -14px; width: 1px; height: calc(100% + 28px); background: rgba(22,37,29,0.16); transform-origin: center; }
.sun-disc::after { transform: rotate(60deg); }
.sun-disc span { transform: rotate(120deg); }
@keyframes rotateDisc { to { transform: rotate(360deg); } }

.agri-detail { padding: 125px 0; background: var(--paper); }
.agri-intro { display: grid; grid-template-columns: 220px 1fr 0.75fr; gap: 5vw; align-items: end; margin-bottom: 70px; }
.agri-intro h2 { margin: 0; font-size: 48px; line-height: 1.18; }
.agri-intro p { margin: 0; color: var(--ink-soft); }
.agri-layout { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 7vw; align-items: center; }
.agri-image { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius); }
.agri-image img { width: 100%; height: 100%; object-fit: cover; }
.agri-image span { position: absolute; left: 18px; bottom: 18px; padding: 10px 12px; background: var(--white); font-size: 10px; font-weight: 850; }
.service-item { border-top: 1px solid var(--line); }
.service-item:last-child { border-bottom: 1px solid var(--line); }
.service-item button { width: 100%; display: grid; grid-template-columns: 44px 1fr 30px; align-items: center; gap: 16px; padding: 26px 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.service-item button span { font-size: 10px; color: var(--green); }
.service-item button strong { font-size: 23px; font-weight: 680; }
.service-item button b { font-size: 22px; font-weight: 400; text-align: center; }
.service-item button strong, .service-item button b { transition: transform 220ms ease, color 220ms ease; }
.service-item button:hover strong { color: var(--green); transform: translateX(6px); }
.service-item button:hover b { transform: rotate(90deg); }
.service-item > div { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 320ms ease; }
.service-item > div p { overflow: hidden; margin: 0; max-width: 620px; color: var(--ink-soft); }
.service-item.open > div { grid-template-rows: 1fr; }
.service-item.open > div p { padding: 0 46px 26px 60px; }

.capabilities { background: var(--green-deep); color: var(--white); }
.ticker { overflow: hidden; padding: 24px 0; background: var(--yellow); color: var(--ink); white-space: nowrap; }
.ticker-track { display: flex; width: max-content; will-change: transform; animation: tickerMove var(--ticker-duration, 32s) linear infinite; }
.ticker-group { flex: none; display: block; padding-right: 54px; font-size: 16px; font-weight: 850; word-spacing: 22px; }
@keyframes tickerMove { to { transform: translate3d(-50%, 0, 0); } }
.process-layout { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 10vw; padding-top: 115px; padding-bottom: 115px; }
.process-heading { position: sticky; top: 120px; align-self: start; }
.process-heading .section-index { color: var(--yellow); }
.process-heading h2 { max-width: 590px; margin-top: 36px; font-size: 48px; line-height: 1.18; }
.process-list { margin: 0; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 54px 1fr; gap: 28px; padding: 32px 0; border-top: 1px solid rgba(255,255,255,0.22); }
.process-list li:last-child { border-bottom: 1px solid rgba(255,255,255,0.22); }
.process-list li > span { color: var(--yellow); font-size: 12px; }
.process-list h3 { margin-bottom: 8px; font-size: 26px; }
.process-list p { margin: 0; color: rgba(255,255,255,0.68); }

.project-case { position: relative; padding: 124px 0 112px; overflow: hidden; background: #edf4ef; }
.project-case::before { content: ""; position: absolute; inset: 0 0 auto; height: 8px; background: linear-gradient(90deg, var(--yellow) 0 18%, var(--green) 18% 58%, #72cdd0 58%); }
.project-case::after { content: "PROJECTS"; position: absolute; right: -18px; top: 72px; color: rgba(21,85,50,0.045); font-size: clamp(90px, 15vw, 220px); font-weight: 950; line-height: 0.8; pointer-events: none; }
.project-case .section-inner { position: relative; z-index: 1; }
.case-head { display: grid; grid-template-columns: 220px minmax(0, 1fr); column-gap: 8vw; align-items: start; }
.case-head > .section-index { grid-column: 1; grid-row: 1; align-self: center; }
.case-intro { display: contents; }
.case-intro .eyebrow { grid-column: 2; grid-row: 1; align-self: center; margin: 0; color: var(--green); }
.case-intro h2 { grid-column: 2; max-width: 930px; margin: 22px 0 28px; font-size: 52px; line-height: 1.14; }
.case-intro > p:last-child { grid-column: 2; max-width: 760px; margin: 0; color: var(--ink-soft); font-size: 18px; }
.project-cards { display: flex; align-items: flex-start; margin-top: 88px; padding: 0 1.5% 54px 0; }
.project-card { --card-scroll-y: 0px; position: relative; flex: 0 0 36%; min-width: 0; padding-top: 42px; background: transparent; isolation: isolate; transform: translate3d(0, calc(40px + var(--card-scroll-y)), 0); transition: opacity 760ms ease, transform 900ms cubic-bezier(.22,1,.36,1), filter 350ms ease; }
.project-card::before { content: ""; position: absolute; z-index: -1; inset: 41px 0 0; background: #fff; border: 1px solid rgba(21,85,50,0.21); border-radius: 0 6px 6px 6px; box-shadow: 0 24px 55px rgba(21,85,50,0.105); }
.project-card-primary { z-index: 3; flex-basis: 38%; }
.project-card:nth-child(2) { z-index: 2; margin-top: 86px; margin-left: -2%; transition-delay: 90ms; }
.project-card:nth-child(3) { z-index: 1; margin-top: 172px; margin-left: -2%; transition-delay: 180ms; }
.project-card.visible { transform: translate3d(0, var(--card-scroll-y), 0); }
.project-card.visible:hover { transform: translate3d(0, var(--card-scroll-y), 0); filter: none; }
.project-folder-tab { position: absolute; z-index: 2; top: 0; left: 0; width: 48%; height: 43px; display: flex; align-items: center; gap: 10px; padding: 0 22px 0 18px; overflow: visible; background: #fff; border: 1px solid rgba(21,85,50,0.21); border-right: 0; border-bottom: 0; border-radius: 8px 0 0 0; white-space: nowrap; }
.project-folder-tab::after { content: ""; position: absolute; z-index: -1; top: -1px; right: -78px; width: 82px; height: 44px; background: inherit; clip-path: path("M 0 0 H 10 C 23 0 35 41 72 41 H 82 V 44 H 0 Z"); }
.project-folder-tab > * { position: relative; z-index: 1; }
.project-folder-tab span { color: var(--green-deep); font-size: 9px; font-weight: 900; }
.project-folder-tab small { overflow: hidden; color: var(--ink-soft); font-size: 7px; font-weight: 750; text-overflow: ellipsis; }
.project-card-media { position: relative; margin: 10px 10px 0; overflow: hidden; aspect-ratio: 1.22 / 0.82; border-radius: 3px; background: var(--mint); }
.project-card-media img { width: 100%; height: 100%; object-fit: cover; }
.project-card-primary .project-card-media { aspect-ratio: 1.18 / 0.86; }
.project-card-body { padding: clamp(24px, 2.4vw, 36px); }
.project-card-meta { margin: 0 0 18px; color: var(--green); font-size: 9px; line-height: 1.4; font-weight: 850; }
.project-card h3 { min-height: 2.3em; margin: 0 0 16px; font-size: clamp(22px, 2vw, 30px); line-height: 1.15; }
.project-card-copy { min-height: 5.25em; margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.75; }
.project-card-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 30px; padding-top: 25px; border-top: 1px solid var(--line); }
.project-card-stats > div { min-width: 0; padding-right: 14px; }
.project-card-stats > div + div { padding-left: 18px; padding-right: 0; border-left: 1px solid var(--line); }
.project-card-stats strong { display: flex; align-items: baseline; gap: 5px; color: var(--green-deep); white-space: nowrap; }
.project-card-stats strong > span { font-size: clamp(28px, 2.8vw, 44px); line-height: 1; font-weight: 900; font-variant-numeric: tabular-nums; }
.project-card-stats small { color: var(--green); font-size: 9px; font-weight: 850; }
.project-card-stats p { margin: 11px 0 0; color: var(--ink-soft); font-size: 9px; line-height: 1.4; font-weight: 720; }

.company-story { display: grid; grid-template-columns: 1.12fr 0.88fr; min-height: 760px; background: var(--white); }
.story-media { min-height: 760px; overflow: hidden; }
.story-media img { width: 100%; height: 100%; object-fit: cover; }
.story-copy { display: flex; flex-direction: column; justify-content: center; padding: 90px 7vw; }
.story-copy h2 { margin: 34px 0 26px; font-size: 46px; line-height: 1.18; }
.story-copy > p { color: var(--ink-soft); }
.story-values { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 34px; font-size: 12px; font-weight: 800; }
.story-values span { padding: 14px 0; border-top: 1px solid var(--line); }

.brand-world { padding: 120px 0; background: #294868; color: var(--white); }
.brand-grid { display: grid; grid-template-columns: 0.8fr 1.05fr 0.55fr; gap: 26px; align-items: end; }
.brand-copy { align-self: center; padding-right: 4vw; }
.brand-copy h2 { margin-bottom: 24px; font-size: 50px; line-height: 1.14; }
.brand-copy > p:not(.eyebrow) { color: rgba(255,255,255,0.72); }
.mascot-card, .report-card { margin: 0; overflow: hidden; border-radius: var(--radius); }
.mascot-card img { width: 100%; aspect-ratio: 1 / 1.08; object-fit: cover; }
.mascot-card figcaption { display: grid; gap: 6px; padding: 16px; background: var(--yellow); color: var(--ink); }
.mascot-card figcaption span { font-size: 9px; font-weight: 800; }
.mascot-card figcaption b { font-size: 15px; }
.report-card img { width: 100%; aspect-ratio: 0.72 / 1; object-fit: cover; }

.sustainability { padding: 120px 0; background: var(--white); }
.sustainability-head { display: grid; grid-template-columns: 220px 1fr; gap: 8vw; align-items: start; margin-bottom: 70px; }
.sustainability-head h2 { max-width: 890px; margin: 0; font-size: 48px; line-height: 1.2; }
.company-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-bottom: 86px; }
.company-news-state { grid-column: 1 / -1; margin: 0; padding: 56px 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); text-align: center; }
.company-news-card { min-width: 0; transition: transform 500ms cubic-bezier(.22,1,.36,1); transition-delay: var(--news-delay, 0ms); }
.company-news-card:hover { transform: translateY(-8px); }
.company-news-card a { display: block; color: var(--ink); text-decoration: none; }
.company-news-media { position: relative; aspect-ratio: 16 / 9; display: grid; place-items: center; overflow: hidden; background: #e8f0eb; }
.company-news-media::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(18,43,29,.08); pointer-events: none; }
.company-news-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 800ms cubic-bezier(.22,1,.36,1); }
.company-news-card:hover .company-news-media img { transform: scale(1.045); }
.company-news-media span { color: rgba(18,43,29,.18); font-size: 52px; font-weight: 900; }
.company-news-copy { padding: 22px 2px 0; }
.company-news-copy p { margin: 0 0 13px; color: var(--green); font-size: 9px; font-weight: 850; }
.company-news-copy h3 { margin: 0; font-size: 24px; line-height: 1.3; }
.company-news-copy > span { display: block; margin: 15px 0 22px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.company-news-copy b { color: var(--green); font-size: 11px; }
.sustainability-subhead { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; margin-bottom: 22px; }
.sustainability-subhead span { color: var(--green); font-size: 10px; font-weight: 850; }
.sustainability-subhead p { margin: 0; color: var(--muted); font-size: 13px; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.principles article { min-height: 300px; padding: 42px; border-right: 1px solid var(--line); }
.principles article:last-child { border-right: 0; }
.principle-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 70px; border: 1px solid var(--green); border-radius: 50%; color: var(--green); font-size: 22px; }
.principles h3 { font-size: 24px; }
.principles p { color: var(--ink-soft); }

.contact { position: relative; min-height: 620px; display: grid; grid-template-columns: 0.72fr 1.28fr; align-items: center; gap: 6vw; padding: 90px 8vw; background: var(--sky); overflow: hidden; border-top: 8px solid var(--yellow); }
.contact-mark { display: grid; place-items: center; }
.contact-mark img { width: min(390px, 80%); animation: markFloat 5s ease-in-out infinite; }
@keyframes markFloat { 50% { transform: translateY(-12px) rotate(2deg); } }
.contact-copy { position: relative; z-index: 2; }
.contact-copy h2 { max-width: 850px; margin-bottom: 24px; font-size: 52px; line-height: 1.16; }
.contact-copy p:not(.eyebrow) { margin-bottom: 32px; }

.site-footer { position: relative; overflow: hidden; background: #102b1d; color: rgba(255,255,255,0.76); }
.site-footer::before { content: "SMNC"; position: absolute; right: -0.03em; bottom: -0.24em; color: rgba(255,255,255,0.025); font-size: clamp(190px, 25vw, 430px); line-height: 1; font-weight: 900; pointer-events: none; }
.footer-main { position: relative; z-index: 1; width: min(1280px, 92vw); margin: 0 auto; display: grid; grid-template-columns: minmax(300px, 0.9fr) minmax(520px, 1.45fr); gap: clamp(70px, 9vw, 150px); padding: 92px 0 78px; }
.footer-intro { display: flex; flex-direction: column; align-items: flex-start; }
.footer-brand { color: var(--white); }
.footer-brand img { width: 62px; height: 62px; }
.footer-brand strong { font-size: 22px; font-weight: 900; }
.footer-brand small { margin-top: 7px; font-size: 9px; color: rgba(255,255,255,0.62); }
.footer-statement { max-width: 420px; margin: 44px 0 54px; color: rgba(255,255,255,0.64); font-size: 15px; line-height: 1.9; }
.footer-primary-contact { position: relative; display: grid; gap: 8px; padding-bottom: 14px; color: var(--white); }
.footer-primary-contact::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--yellow); transform-origin: left; transition: transform 420ms cubic-bezier(.22,1,.36,1); }
.footer-primary-contact span, .footer-label { color: var(--yellow); font-size: 10px; line-height: 1; font-weight: 850; }
.footer-primary-contact strong { font-size: clamp(22px, 2.1vw, 30px); font-weight: 720; }
.footer-primary-contact:hover::after { transform: scaleX(0.42); }
.footer-directory { display: grid; grid-template-columns: 0.85fr 1.35fr 0.8fr; gap: clamp(34px, 5vw, 74px); align-content: start; }
.footer-column { min-width: 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.22); }
.footer-label { margin: 0 0 30px; }
.footer-contact-list, .footer-nav { display: grid; align-content: start; gap: 15px; }
.footer-column a { width: max-content; max-width: 100%; color: rgba(255,255,255,0.82); font-size: 13px; font-weight: 650; transition: color 220ms ease, transform 300ms cubic-bezier(.22,1,.36,1); }
.footer-column a:hover { color: var(--yellow); transform: translateX(5px); }
.footer-address address { color: rgba(255,255,255,0.72); font-size: 13px; line-height: 1.85; font-style: normal; }
.footer-bottom { position: relative; z-index: 1; width: min(1280px, 92vw); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr auto; gap: 32px; align-items: center; padding: 22px 0 28px; border-top: 1px solid rgba(255,255,255,0.16); font-size: 9px; font-weight: 700; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: var(--white); font-size: 11px; font-weight: 800; transition: color 220ms ease; }
.footer-bottom a:hover { color: var(--yellow); }
.footer-bottom a span { display: inline-block; margin-left: 8px; transition: transform 300ms cubic-bezier(.22,1,.36,1); }
.footer-bottom a:hover span { transform: translateY(-4px); }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity 700ms ease, transform 700ms ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.project-card.reveal { transform: translate3d(0, calc(40px + var(--card-scroll-y)), 0); transition: opacity 760ms ease, transform 900ms cubic-bezier(.22,1,.36,1), box-shadow 350ms ease; }
.project-card.reveal.visible { transform: translate3d(0, var(--card-scroll-y), 0); }
.project-card.reveal.visible:hover { transform: translate3d(0, calc(var(--card-scroll-y) - 9px), 0); }
.headline-reveal { opacity: 0; transform: translate3d(0, 24px, 0) scale(0.985); filter: blur(9px); transform-origin: center bottom; transition: opacity 820ms cubic-bezier(.16,1,.3,1), transform 1100ms cubic-bezier(.16,1,.3,1), filter 900ms cubic-bezier(.16,1,.3,1); will-change: opacity, transform, filter; }
.headline-reveal.visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
.reveal-media { overflow: hidden; }
.reveal-media img { transform: scale(1.08); transition: transform 1100ms ease; }
.reveal-media.visible img { transform: scale(1); }

/* Unified neutral canvas and floating glass navigation. */
body { background: var(--canvas); }
.site-header {
  top: 14px;
  left: 3vw;
  right: 3vw;
  height: 74px;
  padding: 0 22px;
  color: var(--ink);
  border: 1px solid rgba(255,255,255,0.58);
  border-radius: 7px;
  background: rgba(236,239,236,0.52);
  box-shadow: 0 12px 38px rgba(20,31,25,0.10), inset 0 1px rgba(255,255,255,0.72);
  overflow: hidden;
}
.site-header::before,
.site-header.scrolled::before,
.inner-view .site-header::before,
.hero-intro-active .site-header::before {
  background: rgba(235,238,235,0.42);
  backdrop-filter: blur(24px) saturate(135%) contrast(1.03);
  -webkit-backdrop-filter: blur(24px) saturate(135%) contrast(1.03);
}
.site-header::after { opacity: 0.22; }
.site-header.scrolled { top: 10px; height: 66px; color: var(--ink); border-color: rgba(255,255,255,0.7); box-shadow: 0 14px 42px rgba(20,31,25,0.13), inset 0 1px rgba(255,255,255,0.8); }
.hero-intro-active .site-header { color: var(--ink); border-color: rgba(255,255,255,0.65); }

.manifesto,
.business,
.solar-detail,
.agri-detail,
.capabilities,
.project-case,
.company-story,
.brand-world,
.sustainability,
.contact {
  background: var(--canvas);
  color: var(--ink);
  border-top: 0;
}
.manifesto { background: var(--canvas); }
.location-journey {
  --location-progress: 0;
  position: relative;
  height: 430vh;
  min-height: 2600px;
  background: var(--canvas);
  color: var(--ink);
}
.location-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background: #d3d4d1;
  isolation: isolate;
}
.location-sticky::before {
  display: none;
}
.location-map { position: absolute !important; inset: 0; background: #cfd2cd; }
.location-map .maplibregl-canvas { outline: 0; filter: grayscale(0.68) saturate(0.66) sepia(0.08) brightness(0.98); }
.location-map .maplibregl-control-container { display: none; }
.location-map-shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(211,212,209,0.72) 0%, rgba(211,212,209,0.24) 32%, rgba(211,212,209,0.02) 62%),
    linear-gradient(0deg, rgba(16,35,26,0.14), transparent 34%);
  transition: opacity 350ms ease;
}
.location-heading {
  position: absolute;
  z-index: 2;
  top: clamp(126px, 17vh, 190px);
  left: 6vw;
  width: min(560px, 44vw);
  opacity: calc(1 - min(1, var(--location-progress) * 2.8));
  transform: translate3d(0, calc(var(--location-progress) * -48px), 0);
  will-change: transform, opacity;
  pointer-events: none;
}
.location-heading p { margin: 0 0 22px; color: var(--green); font-size: 11px; font-weight: 850; }
.location-heading h2 { margin: 0; font-size: clamp(48px, 5.4vw, 78px); line-height: 1.03; font-weight: 780; }
.location-steps {
  position: absolute;
  z-index: 2;
  left: 6vw;
  bottom: 7vh;
  display: grid;
  gap: 10px;
  color: rgba(22,37,29,0.44);
  font-size: 10px;
  font-weight: 800;
  pointer-events: auto;
}
.location-steps button {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  letter-spacing: 0;
  transition: color 300ms ease, transform 450ms cubic-bezier(.22,1,.36,1);
}
.location-steps button b { display: grid; place-items: center; width: 25px; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; font-size: 8px; transition: background-color 260ms ease, box-shadow 260ms ease; }
.location-steps button:hover { color: var(--green-deep); transform: translateX(6px); }
.location-steps button:hover b { background: rgba(255,255,255,0.42); box-shadow: 0 0 16px rgba(47,120,76,0.26); }
.location-steps button.active { color: var(--green-deep); transform: translateX(10px); }
.location-destination {
  --address-link-progress: 0;
  --address-rise-progress: 0;
  position: absolute;
  z-index: 3;
  inset: 0;
  opacity: clamp(0, calc((var(--location-progress) - 0.58) * 5), 1);
  transform: translate3d(0, calc((1 - var(--location-progress)) * 16px), 0);
  pointer-events: none;
  will-change: opacity, transform;
}
.location-destination.visible { pointer-events: auto; }
.location-address-copy {
  position: absolute;
  left: 50%;
  top: clamp(112px, 14vh, 150px);
  width: min(650px, 52vw);
  color: var(--green-deep);
  text-shadow: 0 1px 12px rgba(255,255,255,0.92);
  transform: translate3d(-50%, calc((1 - var(--address-rise-progress)) * 58vh), 0);
  will-change: transform;
}
.location-address-line {
  display: block;
  color: inherit;
}
.location-address-word {
  --address-word-progress: 0;
  color: rgb(
    calc(119 + var(--address-word-progress) * 128)
    calc(157 + var(--address-word-progress) * 44)
    calc(128 - var(--address-word-progress) * 128)
  );
  transition: color 80ms linear, text-shadow 160ms ease;
}
.location-address-word[style*="--address-word-progress: 1"] {
  text-shadow: 0 0 18px rgba(247,201,0,0.2);
}
.location-address-copy > p {
  margin: 0 0 16px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.location-address-copy h3 {
  margin: 0 0 20px;
  font-size: clamp(42px, 4.8vw, 72px);
  line-height: 1.05;
  font-weight: 780;
}
.location-address-copy address {
  display: grid;
  gap: 5px;
  margin: 0 0 22px;
  font-size: clamp(20px, 2.15vw, 31px);
  line-height: 1.22;
  font-style: normal;
  font-weight: 650;
}
.location-address-copy a {
  display: inline-flex;
  gap: 16px;
  align-items: center;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 850;
  opacity: var(--address-link-progress);
  transform: translateY(calc((1 - var(--address-link-progress)) * 8px));
}
.location-address-copy a span { font-size: 17px; }
.location-address-copy a:hover span { transform: translate(3px,-3px); }
.location-address-copy a span { transition: transform 180ms ease; }
.location-progress { position: absolute; z-index: 3; left: 50%; bottom: 25px; width: min(330px, 34vw); height: 1px; background: rgba(22,37,29,0.2); transform: translateX(-50%); }
.location-progress span { display: block; width: 100%; height: 2px; background: var(--yellow); transform: scaleX(var(--location-progress)); transform-origin: left; }
.location-scroll-note { position: absolute; z-index: 3; left: 50%; bottom: 38px; margin: 0; color: rgba(22,37,29,0.56); font-size: 8px; font-weight: 850; transform: translateX(-50%); }
.location-fallback { position: absolute; z-index: 4; inset: 0; display: grid; place-content: center; gap: 8px; text-align: center; background: #d3d4d1; }
.location-fallback[hidden] { display: none; }
.location-fallback strong { font-size: clamp(28px, 5vw, 72px); }
.location-fallback span { color: var(--green); font-size: 12px; }
@keyframes locationPulse {
  0% { opacity: 0.9; transform: scale(0.72); }
  100% { opacity: 0; transform: scale(1.8); }
}
.business { background: var(--canvas); }
.business-stage { background: rgba(244,245,242,0.22); border: 1px solid rgba(255,255,255,0.38); border-radius: 24px; box-shadow: 0 12px 34px rgba(22,27,24,0.10), inset 0 1px rgba(255,255,255,0.42); }
.business-visual { min-height: 520px; margin: 22px; border-radius: 18px; box-shadow: 0 10px 26px rgba(22,27,24,0.10); }
.business-tabs { background: rgba(247,248,246,0.48); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.solar-detail { width: min(1280px, 92vw); min-height: 680px; margin: 96px auto; overflow: hidden; border: 1px solid rgba(255,255,255,0.38); border-radius: 24px; background: rgba(244,245,242,0.20); box-shadow: 0 12px 34px rgba(22,27,24,0.10), inset 0 1px rgba(255,255,255,0.42); }
.solar-photo { min-height: 632px; margin: 24px; border-radius: 18px; box-shadow: 0 10px 26px rgba(22,27,24,0.10); }
.solar-copy { background: transparent; }
.solar-copy > p { color: var(--ink-soft); }
.sun-disc { border-color: rgba(22,37,29,0.14); }
.project-case::before { display: none; }
.project-case::after { color: rgba(22,37,29,0.035); }
.company-story { width: min(1280px, 92vw); min-height: 680px; margin: 96px auto; overflow: hidden; border: 1px solid rgba(255,255,255,0.38); border-radius: 24px; background: rgba(244,245,242,0.20); box-shadow: 0 12px 34px rgba(22,27,24,0.10), inset 0 1px rgba(255,255,255,0.42); }
.story-media { min-height: 632px; margin: 24px; border-radius: 18px; box-shadow: 0 10px 26px rgba(22,27,24,0.10); }
.story-copy { background: transparent; }
.brand-copy > p:not(.eyebrow) { color: var(--ink-soft); }
.brand-world .text-link.light { color: var(--ink); }
.agri-image, .mascot-card, .report-card { border-radius: 18px; box-shadow: 0 10px 28px rgba(22,27,24,0.11); }
.sustainability { background: var(--canvas); }
.company-news-media { background: var(--canvas); border-radius: 16px; box-shadow: 0 9px 24px rgba(22,27,24,0.10); }
.principles { border-color: rgba(22,37,29,0.14); }
.principles article { border-color: rgba(22,37,29,0.14); }
.contact { width: min(1280px, 92vw); min-height: 560px; margin: 96px auto; border: 1px solid rgba(255,255,255,0.38); border-radius: 24px; background: rgba(244,245,242,0.20); box-shadow: 0 12px 34px rgba(22,27,24,0.10), inset 0 1px rgba(255,255,255,0.42); }
.ticker { padding: 20px 0; background: var(--canvas); color: var(--ink); border: 0; }
.process-heading .section-index, .process-list li > span { color: var(--green); }
.process-list li { border-color: rgba(22,37,29,0.18); }
.process-list li:last-child { border-color: rgba(22,37,29,0.18); }
.process-list p { color: var(--ink-soft); }
.site-footer { background: #222824; }
.mobile-menu { background: rgba(209,209,207,0.94); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.mobile-menu nav a.active { background: rgba(255,255,255,0.26); }

@media (min-width: 1051px) {
  .solar-detail { margin-bottom: 32px; }
  .agri-detail { padding-top: 64px; }
  .project-case { z-index: 2; padding: 150px 0 0; overflow: visible; }
  .project-case::after { top: 110px; color: rgba(22,37,29,0.026); }
  .case-head { display: block; max-width: 1060px; margin: 0 auto; text-align: center; }
  .case-head > .section-index { justify-content: center; margin-bottom: 34px; }
  .case-intro { display: block; }
  .case-intro .eyebrow { margin-bottom: 22px; }
  .case-intro h2 { max-width: 980px; margin: 0 auto 30px; font-size: clamp(58px, 5.4vw, 82px); line-height: 1.03; }
  .case-intro > p:last-child { max-width: 700px; margin: 0 auto; font-size: 16px; }

  .project-cards { display: block; position: relative; height: 340vh; margin-top: 105px; padding: 0; }
  .project-stack-stage { position: sticky; top: 86px; height: calc(100vh - 104px); display: grid; place-items: center; perspective: 1500px; overflow: visible; }
  .project-card,
  .project-card:nth-child(2),
  .project-card:nth-child(3),
  .project-card-primary {
    --stack-y: 0px;
    --stack-rotate: 0deg;
    --stack-scale: 1;
    --stack-opacity: 1;
    position: absolute;
    inset: 50% auto auto 50%;
    width: min(1120px, 88vw);
    height: min(620px, 66vh);
    min-height: 500px;
    margin: 0 auto 30vh;
    padding: 0;
    opacity: var(--stack-opacity);
    filter: none;
    transform: translate3d(-50%, calc(-50% + var(--stack-y)), 0) rotateX(var(--stack-rotate)) scale(var(--stack-scale));
    transform-origin: center top;
    transition: filter 280ms ease, opacity 120ms linear;
    will-change: transform, opacity;
  }
  .project-card:nth-child(1) { z-index: 3; }
  .project-card:nth-child(2) { z-index: 2; }
  .project-card:nth-child(3) { z-index: 1; margin-bottom: 0; }
  .project-card::before { display: none; }
  .project-card.reveal,
  .project-card.reveal.visible,
  .project-card.reveal.visible:hover { transform: translate3d(-50%, calc(-50% + var(--stack-y)), 0) rotateX(var(--stack-rotate)) scale(var(--stack-scale)); }
  .project-card-link { position: relative; display: block; height: 100%; color: var(--ink); }
  .project-folder-tab { top: 0; width: 32%; height: 50px; padding-left: 28px; border: 1px solid rgba(22,37,29,0.16); border-right: 0; border-bottom: 0; border-radius: 12px 0 0 0; clip-path: none; background: #f4f5f2; }
  .project-folder-tab::after { right: -92px; width: 96px; height: 51px; background: #f4f5f2; border: 0; border-radius: 0; transform: none; clip-path: path("M 0 0 H 12 C 28 0 45 48 84 48 H 96 V 51 H 0 Z"); }
  .project-folder-tab span { font-size: 10px; }
  .project-folder-tab small { font-size: 8px; }
  .project-card-body { position: absolute; inset: 48px 0 0; height: auto; display: grid; grid-template-columns: minmax(0,1.02fr) minmax(420px,0.98fr); gap: 22px; padding: 22px; overflow: hidden; border: 1px solid rgba(22,37,29,0.14); border-radius: 0 22px 22px 22px; background: #f4f5f2; box-shadow: 0 18px 44px rgba(22,27,24,0.15), inset 0 1px rgba(255,255,255,0.72); }
  .project-card-content { display: flex; flex-direction: column; min-width: 0; padding: 44px 26px 28px 30px; }
  .project-card-meta { margin-bottom: 24px; font-size: 10px; }
  .project-card h3 { min-height: 0; margin: 0 0 22px; font-size: clamp(34px, 3.2vw, 48px); line-height: 1.05; }
  .project-card-copy { min-height: 0; max-width: 510px; font-size: 14px; line-height: 1.75; }
  .project-card-stats { width: 100%; margin-top: auto; padding-top: 26px; }
  .project-card-stats strong > span { font-size: clamp(38px, 4vw, 58px); }
  .project-card-stats small { font-size: 10px; }
  .project-card-stats p { font-size: 10px; }
  .project-card-action { display: flex; align-items: center; justify-content: space-between; width: 190px; margin-top: 28px; padding-top: 13px; border-top: 1px solid rgba(22,37,29,0.25); color: var(--green-deep); font-size: 11px; font-weight: 850; }
  .project-card-action b { font-size: 18px; transition: transform 260ms ease; }
  .project-card-media,
  .project-card-primary .project-card-media { height: 100%; margin: 0; aspect-ratio: auto; border-radius: 16px; background: var(--canvas-deep); box-shadow: 0 8px 24px rgba(22,27,24,0.10); }
  .project-card-media img { height: 100%; }
  .project-card-link:hover .project-card-media img { transform: scale(1.055) !important; }
  .project-card-link:hover .project-card-action b { transform: translate(4px,-4px); }
  .project-case + .company-story { position: relative; z-index: 1; margin-top: -56vh; }
}
.motion-media { --media-x: 0px; --media-scroll-y: 0px; --media-pointer-y: 0px; position: relative; overflow: hidden; }
.motion-media img { transform: scale(1.045) translate3d(var(--media-x), calc(var(--media-scroll-y) + var(--media-pointer-y)), 0) !important; transition: transform 650ms cubic-bezier(.22,1,.36,1), filter 420ms ease; will-change: transform; }
.motion-media:hover img { filter: saturate(1.06) contrast(1.02); }

@media (max-width: 1050px) {
  :root { --header-height: 72px; }
  .site-header { grid-template-columns: auto 1fr auto; padding: 0 24px; }
  .desktop-nav, .header-cta, .header-language { display: none; }
  .header-actions { justify-self: center; }
  .header-status { gap: 12px; }
  .header-status > span + span { padding-left: 12px; }
  .menu-toggle, .mobile-menu { display: block; }
  .hero h1 { font-size: 62px; }
  .hero-side { display: none; }
  .manifesto-grid, .sustainability-head { grid-template-columns: 160px 1fr; }
  .business-heading { grid-template-columns: 160px 1fr; }
  .business-tabs { grid-column: 2; justify-self: start; }
  .business-stage { grid-template-columns: 1fr 0.8fr; }
  .agri-intro { grid-template-columns: 160px 1fr; }
  .agri-intro > p { grid-column: 2; }
  .brand-grid { grid-template-columns: 1fr 1fr; }
  .brand-copy { grid-column: 1 / -1; max-width: 760px; margin-bottom: 40px; }
  .report-card img { aspect-ratio: 1 / 1; }
  .project-cards { display: flex; gap: 24px; overflow-x: auto; padding-bottom: 24px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--yellow) rgba(21,85,50,0.12); }
  .project-card { flex: 0 0 min(62vw, 560px); scroll-snap-align: start; }
  .project-card:nth-child(2) { margin-top: 58px; margin-left: 0; }
  .project-card:nth-child(3) { margin-top: 116px; margin-left: 0; }
  .footer-main { grid-template-columns: 1fr; gap: 64px; }
  .footer-directory { grid-template-columns: 0.85fr 1.35fr 0.8fr; }
}

@media (hover: none), (pointer: coarse) {
  .cursor-orbit, .cursor-comet { display: none; }
}

@media (max-width: 760px) {
  .section-inner { width: min(100% - 36px, 1280px); }
  .location-journey { height: 290svh; min-height: 1900px; }
  .location-heading { top: 120px; left: 22px; width: calc(100% - 44px); }
  .location-heading h2 { font-size: 42px; }
  .location-map-shade { background: linear-gradient(180deg, rgba(211,212,209,0.48), transparent 38%, rgba(16,35,26,0.12)); }
  .location-steps { left: 22px; bottom: 44px; }
  .location-address-copy {
    top: 126px;
    left: 18px;
    right: auto;
    bottom: auto;
    width: calc(100% - 36px);
    transform: translate3d(0, calc((1 - var(--address-rise-progress)) * 52vh), 0);
  }
  .location-address-copy > p { margin-bottom: 10px; font-size: 9px; }
  .location-address-copy h3 { margin-bottom: 12px; font-size: 34px; }
  .location-address-copy address { gap: 3px; margin-bottom: 14px; font-size: 17px; }
  .location-progress { bottom: 21px; width: 52vw; }
  .location-scroll-note { bottom: 34px; }
  .hero { height: 150svh; }
  .hero-media { object-position: 68% 50%; }
  .hero-tint { background: rgba(15,34,24,0.46); }
  .hero-grid { transform: scale(0.95); }
  .hero-copy { width: calc(100% - 36px); padding-top: 23vh; }
  .hero h1 { font-size: 46px; line-height: 1.03; }
  .hero-lead { font-size: 15px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .scroll-cue { left: 18px; }
  .hero-intro-guides { inset: 96px 18px 38px; }
  .hero-intro-guides::before { left: 40%; }
  .hero-intro-guides::after { top: 80%; }
  .hero-intro-guides span { width: 88px; }
  .hero-intro-brand { gap: 18px; padding: 20px 24px 24px; }
  .hero-intro-logo { width: 88px; transform: translateX(calc(var(--hero-brand-progress) * 10px)) rotate(calc(var(--hero-brand-progress) * 5deg)) scale(calc(1 + var(--hero-brand-progress) * 0.08)); }
  .hero-intro-brand img { width: 100%; }
  .hero-intro-brand > span { transform: translateX(calc(var(--hero-brand-progress) * -11px)) scale(calc(1 - var(--hero-brand-progress) * 0.025)); }
  .hero-intro-brand strong { font-size: 42px; }
  .hero-intro-brand small { font-size: 9px; }
  .manifesto, .business, .agri-detail, .brand-world, .sustainability, .project-case { padding: 82px 0; }
  .manifesto-grid, .sustainability-head { grid-template-columns: 1fr; gap: 34px; }
  .statement, .business-heading h2, .agri-intro h2, .process-heading h2, .story-copy h2, .sustainability-head h2 { font-size: 34px; }
  .manifesto-body { grid-template-columns: 1fr; gap: 18px; margin-left: 0; }
  .business-heading { grid-template-columns: 1fr; gap: 28px; }
  .business-tabs { grid-column: 1; width: 100%; }
  .business-tabs button { flex: 1; }
  .business-stage { grid-template-columns: 1fr; min-height: 0; }
  .business-visual { min-height: 330px; margin: 12px; border-radius: 14px; }
  .business-content { padding: 40px 24px; }
  .business-content h3 { font-size: 28px; }
  .solar-detail { grid-template-columns: 1fr; width: calc(100% - 36px); margin: 62px auto; border-radius: 18px; }
  .solar-photo { min-height: 390px; margin: 12px; border-radius: 14px; }
  .solar-copy { padding: 72px 24px 100px; }
  .solar-copy h2 { font-size: 36px; }
  .sun-disc { width: 240px; height: 240px; right: -100px; bottom: -100px; }
  .agri-intro { grid-template-columns: 1fr; gap: 28px; margin-bottom: 48px; }
  .agri-intro > p { grid-column: 1; }
  .agri-layout { grid-template-columns: 1fr; gap: 48px; }
  .agri-image { aspect-ratio: 4 / 4.4; }
  .service-item button strong { font-size: 19px; }
  .service-item.open > div p { padding-left: 60px; padding-right: 10px; }
  .process-layout { grid-template-columns: 1fr; gap: 50px; padding-top: 80px; padding-bottom: 80px; }
  .process-heading { position: static; }
  .case-head { grid-template-columns: max-content minmax(0, 1fr); column-gap: 28px; }
  .case-head > .section-index { grid-column: 1; grid-row: 1; }
  .case-intro .eyebrow { grid-column: 2; grid-row: 1; }
  .case-intro h2 { grid-column: 1 / -1; margin-top: 42px; }
  .case-intro > p:last-child { grid-column: 1 / -1; }
  .case-intro h2 { font-size: 36px; }
  .case-intro > p:last-child { font-size: 16px; }
  .project-cards { gap: 18px; margin-top: 56px; margin-right: -18px; padding-right: 18px; }
  .project-card { flex-basis: min(84vw, 350px); }
  .project-card:nth-child(2), .project-card:nth-child(3) { margin-top: 0; margin-left: 0; }
  .project-card-body { padding: 24px; }
  .project-card h3, .project-card-copy { min-height: 0; }
  .project-card h3 { font-size: 24px; }
  .project-card-copy { font-size: 12px; }
  .project-card-stats { margin-top: 24px; padding-top: 22px; }
  .company-story { grid-template-columns: 1fr; width: calc(100% - 36px); margin: 62px auto; border-radius: 18px; }
  .story-media { min-height: 410px; margin: 12px; border-radius: 14px; }
  .story-copy { padding: 72px 24px; }
  .brand-grid { grid-template-columns: 1fr; }
  .brand-copy { grid-column: 1; padding: 0; }
  .brand-copy h2 { font-size: 38px; }
  .report-card img { aspect-ratio: 1.2 / 1; }
  .principles { grid-template-columns: 1fr; }
  .principles article { min-height: 230px; border-right: 0; border-bottom: 1px solid var(--line); }
  .principles article:last-child { border-bottom: 0; }
  .principle-icon { margin-bottom: 42px; }
  .contact { grid-template-columns: 1fr; width: calc(100% - 36px); min-height: 650px; margin: 62px auto; padding: 68px 24px; border-radius: 18px; }
  .contact-mark img { width: 180px; }
  .contact-copy h2 { font-size: 38px; }
  .footer-main { grid-template-columns: 1fr; gap: 40px; padding: 52px 0 40px; }
  .footer-brand img { width: 50px; height: 50px; }
  .footer-brand strong { font-size: 19px; }
  .footer-statement { max-width: 340px; margin: 24px 0 28px; font-size: 13px; line-height: 1.75; }
  .footer-primary-contact { gap: 5px; padding-bottom: 11px; }
  .footer-primary-contact strong { font-size: 21px; }
  .footer-directory { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 28px 22px; }
  .footer-column { padding-top: 16px; }
  .footer-label { margin-bottom: 18px; }
  .footer-contact-list, .footer-nav { gap: 11px; }
  .footer-column a, .footer-address address { font-size: 11px; }
  .footer-address { grid-column: 1 / -1; grid-row: 2; }
  .footer-address br { display: none; }
  .footer-address address { max-width: 330px; line-height: 1.75; }
  .footer-nav { grid-column: 2; grid-row: 1; }
  .footer-bottom { grid-template-columns: 1fr auto; gap: 10px 18px; align-items: start; padding: 18px 0 24px; }
  .footer-bottom p:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .footer-bottom > a { grid-column: 2; grid-row: 1; }
  .page-transition img { width: 70px; }
  .site-header .brand-name strong { font-size: 11px; }
  .site-header .brand-name small { font-size: 8px; }
  .ticker-group { padding-right: 32px; font-size: 15px; word-spacing: 18px; }
}

@media (max-width: 760px) {
  .company-news-grid { grid-template-columns: 1fr; gap: 42px; margin-bottom: 62px; }
  .company-news-copy h3 { font-size: 22px; }
  .sustainability-subhead { display: grid; gap: 8px; }
}

@media (max-width: 520px) {
  .site-header { grid-template-columns: 1fr auto; padding: 0 18px; }
  .header-actions { display: none; }
  .site-header > .brand img { width: 40px; height: 40px; }
  .project-card-stats strong > span { font-size: 27px; }
  .project-card-stats > div + div { padding-left: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .location-journey { height: 100svh; min-height: 720px; }
  .location-heading { opacity: 0; }
  .location-destination { opacity: 1; transform: none; pointer-events: auto; }
  .page-loader { display: none; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .headline-reveal { opacity: 1; clip-path: none; transform: none; filter: none; }
  .project-card.reveal, .project-card.reveal.visible, .project-card.reveal.visible:hover { transform: none; }
  .hero { height: 100svh; --hero-image-opacity: 1; --hero-video-opacity: 0; --hero-still-opacity: 1; --hero-image-blur: 0px; --hero-image-scale: 1.08; --hero-image-inset-y: 0%; --hero-image-inset-x: 0%; --hero-image-radius: 0px; --hero-content-opacity: 1; --hero-content-shift: 0px; }
  .hero-intro { display: none; }
}
