:root {
  --ink: #061c1d;
  --night: #082d2c;
  --night-soft: #0c3d3a;
  --jade: #5dc392;
  --jade-bright: #9cebbf;
  --mist: #eff6ec;
  --paper: #f7f2e7;
  --amber: #eabf73;
  --bark: #a1684b;
  --muted: #9daf9f;
  --line: rgba(211, 235, 213, .18);
  --serif: "Songti SC", "STSong", "Noto Serif SC", serif;
  --sans: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif;
  --wrap: min(1180px, calc(100vw - 48px));
  --shadow: 0 30px 70px rgba(0, 13, 13, .28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--night); }
body {
  margin: 0;
  background: var(--mist);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.65;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.page-noise {
  display: none;
}

.skip-link {
  position: fixed;
  top: -4rem;
  left: 1rem;
  z-index: 100;
  background: var(--amber);
  color: var(--ink);
  padding: .55rem .9rem;
  border-radius: .35rem;
}
.skip-link:focus { top: 1rem; }

.site-header {
  position: relative;
  z-index: 20;
  color: var(--mist);
  background: var(--night);
}
.header-frame {
  width: var(--wrap);
  min-height: 76px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 1.3rem;
}
.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  min-width: max-content;
}
.brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(156, 235, 191, .75);
  border-radius: 50% 50% 50% 13%;
  transform: rotate(-29deg);
  overflow: hidden;
}
.brand-mark::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 48px;
  background: var(--jade-bright);
  transform: rotate(36deg);
}
.brand-mark i {
  position: absolute;
  width: 13px;
  height: 11px;
  border-top: 1px solid var(--jade-bright);
  border-right: 1px solid var(--jade-bright);
  transform: translate(-4px, -2px) rotate(-12deg);
}
.brand-mark b {
  position: relative;
  margin-left: 5px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--amber);
  transform: rotate(29deg);
}
.brand-words { display: grid; gap: 0; line-height: 1; }
.brand-words strong { font-size: 1.15rem; letter-spacing: .16em; }
.brand-words small { margin-top: .3rem; color: var(--jade-bright); font-size: .52rem; letter-spacing: .18em; }
.main-nav { display: flex; gap: .18rem; margin-left: auto; }
.main-nav a {
  padding: .4rem .56rem;
  border-radius: 99px;
  color: rgba(239, 246, 236, .76);
  font-size: .82rem;
  transition: color .2s ease, background .2s ease;
}
.main-nav a:hover, .main-nav a.active { background: rgba(156, 235, 191, .1); color: var(--jade-bright); }
.header-cta {
  border: 1px solid rgba(234, 191, 115, .6);
  border-radius: 99px;
  padding: .45rem .82rem;
  color: var(--amber);
  font-size: .78rem;
  white-space: nowrap;
}
.header-cta span { margin-left: .25rem; }
.nav-toggle { display: none; }
.search-band { border-top: 1px solid var(--line); background: #093635; }
.search-inner { width: var(--wrap); margin: auto; min-height: 62px; display: grid; grid-template-columns: auto minmax(260px, 480px) 1fr; align-items: center; gap: 1rem; }
.search-label { color: var(--jade-bright); font-size: .73rem; font-weight: 700; letter-spacing: .14em; }
.site-search { display: flex; min-width: 0; }
.site-search input {
  min-width: 0;
  width: 100%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(239,246,236,.16);
  border-right: 0;
  border-radius: .45rem 0 0 .45rem;
  color: var(--mist);
  outline: none;
  padding: .58rem .8rem;
  font-size: .8rem;
}
.site-search input:focus { border-color: var(--jade-bright); }
.site-search input::placeholder { color: rgba(239, 246, 236, .42); }
.site-search button { border: 0; border-radius: 0 .45rem .45rem 0; padding: 0 .92rem; background: var(--jade); color: var(--ink); font-size: .78rem; font-weight: 800; }
.search-status { margin: 0; color: rgba(239,246,236,.58); font-size: .72rem; }

main { overflow: hidden; }
.section { width: var(--wrap); margin: 0 auto; padding: 104px 0; }
.section-tight { padding: 72px 0; }
.section-dark { width: 100%; color: var(--mist); background: var(--night); }
.section-dark > .section { padding-top: 94px; padding-bottom: 94px; }
.section-paper { width: 100%; background: var(--paper); }
.eyebrow { display: flex; align-items: center; gap: .48rem; margin: 0 0 .7rem; color: #477f68; font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.section-dark .eyebrow { color: var(--jade-bright); }
.live-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 4px rgba(234,191,115,.15); }
.section-title-row { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
h1, h2, h3, h4, p { overflow-wrap: break-word; }
h1, h2, h3 { margin-top: 0; color: inherit; line-height: 1.18; }
h2 { max-width: 760px; margin-bottom: .75rem; font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 3.4rem); letter-spacing: -.055em; }
h3 { margin-bottom: .65rem; font-size: 1.12rem; }
.section-lead { max-width: 590px; margin: 0; color: #5d7468; font-size: 1rem; }
.section-dark .section-lead { color: rgba(239,246,236,.7); }
.text-link { display: inline-flex; align-items: center; gap: .5rem; color: #38745f; font-size: .85rem; font-weight: 800; white-space: nowrap; }
.text-link::after { content: "↗"; font-size: 1rem; transition: transform .2s ease; }
.text-link:hover::after { transform: translate(2px, -2px); }

.hero {
  position: relative;
  min-height: min(760px, calc(100vh - 138px));
  display: flex;
  align-items: stretch;
  color: var(--mist);
  background: #051f20;
  isolation: isolate;
}
.hero::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(90deg, rgba(2,18,19,.92) 0%, rgba(2,18,19,.67) 38%, rgba(2,18,19,.12) 78%), url("/assets/images/hero-greenhouse.jpg") center / cover no-repeat;
}
.hero::after { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .42; background-image: radial-gradient(rgba(255,255,255,.28) .65px, transparent .65px); background-size: 5px 5px; mix-blend-mode: soft-light; pointer-events: none; }
.hero-inner { width: var(--wrap); margin: auto; padding: 100px 0 68px; display: grid; grid-template-columns: minmax(0, 690px) 1fr; align-items: end; }
.hero-copy { max-width: 690px; }
.hero-kicker { display: flex; align-items: center; gap: .8rem; margin: 0 0 1.5rem; color: var(--jade-bright); font-size: .78rem; font-weight: 800; letter-spacing: .15em; }
.hero-kicker::before { content: ""; width: 40px; height: 1px; background: var(--jade-bright); }
.hero h1 { margin: 0; max-width: 760px; font-family: var(--serif); font-size: clamp(3.6rem, 8vw, 7.6rem); font-weight: 600; letter-spacing: -.09em; line-height: .95; }
.hero h1 em { display: block; color: var(--jade-bright); font-style: normal; font-size: .39em; letter-spacing: .02em; line-height: 1.35; }
.hero-intro { max-width: 560px; margin: 1.8rem 0 2.1rem; color: rgba(239,246,236,.82); font-size: clamp(1rem, 1.4vw, 1.18rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.button-primary, .button-quiet { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .65rem 1rem; border-radius: .4rem; font-size: .86rem; font-weight: 800; transition: transform .2s ease, background .2s ease; }
.button-primary { background: var(--jade-bright); color: var(--ink); }
.button-primary:hover { background: #d3f8d7; transform: translateY(-2px); }
.button-quiet { border: 1px solid rgba(239,246,236,.42); color: var(--mist); }
.button-quiet:hover { background: rgba(255,255,255,.08); }
.hero-trailer { align-self: end; justify-self: end; width: min(260px, 30vw); border-left: 1px solid rgba(239,246,236,.3); padding-left: 1.1rem; }
.hero-trailer span { display: block; color: var(--amber); font-size: .72rem; letter-spacing: .1em; }
.hero-trailer strong { display: block; margin: .38rem 0; font-size: 1.4rem; }
.hero-trailer p { margin: 0; color: rgba(239,246,236,.66); font-size: .78rem; }
.hero-bottom { position: absolute; right: max(24px, calc((100vw - min(1180px, calc(100vw - 48px))) / 2)); bottom: 28px; display: flex; gap: 1.1rem; color: rgba(239,246,236,.72); }
.hero-stat { display: grid; gap: .1rem; }
.hero-stat b { color: var(--amber); font-size: 1.2rem; }
.hero-stat small { font-size: .67rem; }

.marquee { overflow: hidden; border-top: 1px solid #164b45; border-bottom: 1px solid #164b45; background: #0a3432; color: var(--jade-bright); }
.marquee-track { display: flex; width: max-content; gap: 2.5rem; padding: .75rem 0; animation: ticker 27s linear infinite; font-size: .78rem; font-weight: 800; letter-spacing: .12em; }
.marquee-track span::before { content: "✦"; margin-right: 2.5rem; color: var(--amber); }
@keyframes ticker { to { transform: translateX(-50%); } }

.video-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.3rem; }
.video-card { min-width: 0; background: #fff; border: 1px solid rgba(6,28,29,.08); border-radius: .75rem; overflow: hidden; box-shadow: 0 12px 28px rgba(13,44,36,.06); transition: transform .3s ease, box-shadow .3s ease, opacity .3s ease; }
.video-card:hover, .video-card.is-search-match { transform: translateY(-7px); box-shadow: var(--shadow); }
.video-card.is-search-match { outline: 2px solid var(--amber); }
.video-card.is-search-dim { opacity: .28; transform: scale(.98); }
.video-cover { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #1d4841; }
.video-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, filter .4s ease; }
.video-card:hover .video-cover img { transform: scale(1.06); filter: saturate(1.1); }
.video-wash { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(1,14,14,.1), rgba(1,14,14,.2) 42%, rgba(1,14,14,.82)); }
.video-seq { position: absolute; top: .8rem; left: .8rem; color: rgba(255,255,255,.85); font-size: .63rem; font-weight: 800; letter-spacing: .12em; }
.play-button { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 55px; height: 55px; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; background: rgba(5,32,31,.4); color: #fff; transform: translate(-50%, -44%) scale(.85); opacity: 0; transition: opacity .25s ease, transform .25s ease, background .25s ease; }
.video-card:hover .play-button, .video-card:focus-within .play-button, .video-card.is-playing .play-button { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.play-button:hover { background: var(--amber); color: var(--ink); }
.video-duration { position: absolute; right: .75rem; bottom: .7rem; padding: .15rem .38rem; border-radius: .2rem; background: rgba(5,17,16,.75); color: #fff; font-size: .67rem; }
.video-card-body { padding: 1.05rem; }
.video-card-body .eyebrow { margin-bottom: .46rem; font-size: .62rem; }
.video-card-body h3 { font-size: 1rem; }
.video-card-body p:not(.eyebrow) { min-height: 3.7em; margin: 0; color: #60786d; font-size: .82rem; }
.video-footer { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .7rem; margin-top: 1rem; color: #668075; font-size: .67rem; }
.topic-chip { padding: .22rem .48rem; border-radius: 99px; background: #e8f3e7; color: #337256; font-size: .63rem; font-weight: 800; }
.metric { white-space: nowrap; }

.feature-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2.5rem, 7vw, 8rem); align-items: center; }
.feature-photo { position: relative; min-height: 480px; }
.feature-photo::before { content: ""; position: absolute; top: 35px; left: -25px; width: 75%; height: 88%; border: 1px solid rgba(234,191,115,.6); }
.feature-photo img { position: absolute; inset: 0 0 0 auto; width: 88%; height: 100%; object-fit: cover; box-shadow: var(--shadow); }
.feature-photo figcaption { position: absolute; z-index: 1; bottom: 0; left: 0; max-width: 235px; padding: 1.15rem; background: var(--paper); color: var(--ink); font-size: .77rem; }
.feature-photo figcaption b { display: block; margin-bottom: .3rem; color: #317257; font-size: .67rem; letter-spacing: .12em; }
.feature-copy .number { display: block; margin-bottom: 1rem; color: var(--amber); font-family: var(--serif); font-size: 1.2rem; }
.feature-copy h2 { font-size: clamp(2rem, 3.2vw, 3.15rem); }
.feature-copy > p { color: rgba(239,246,236,.72); }
.feature-list { display: grid; gap: 0; margin: 2rem 0; border-top: 1px solid var(--line); }
.feature-list article { display: grid; grid-template-columns: 44px 1fr; gap: .8rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.feature-list b { color: var(--amber); font-family: var(--serif); font-size: 1.15rem; }
.feature-list h3 { margin: 0 0 .12rem; color: var(--mist); font-size: .93rem; }
.feature-list p { margin: 0; color: rgba(239,246,236,.62); font-size: .78rem; }

.program-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.program-card { position: relative; min-height: 210px; padding: 1.35rem; border-radius: .7rem; overflow: hidden; background: #133f3b; color: var(--mist); }
.program-card:nth-child(1) { grid-column: span 5; background: #0b3a35; }
.program-card:nth-child(2) { grid-column: span 3; background: #326551; }
.program-card:nth-child(3) { grid-column: span 4; background: #514a38; }
.program-card:nth-child(4) { grid-column: span 4; background: #436b60; }
.program-card:nth-child(5) { grid-column: span 4; background: #274d49; }
.program-card:nth-child(6) { grid-column: span 4; background: #71533d; }
.program-card::after { content: ""; position: absolute; width: 150px; height: 150px; right: -42px; bottom: -59px; border: 1px solid rgba(255,255,255,.22); border-radius: 50% 50% 50% 0; transform: rotate(-30deg); }
.program-card span { position: relative; z-index: 1; color: var(--amber); font-size: .65rem; font-weight: 800; letter-spacing: .13em; }
.program-card h3 { position: relative; z-index: 1; max-width: 230px; margin: .65rem 0 .4rem; font-family: var(--serif); font-size: 1.43rem; }
.program-card p { position: relative; z-index: 1; max-width: 240px; margin: 0; color: rgba(255,255,255,.72); font-size: .76rem; }

.ai-panel { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .83fr); overflow: hidden; border-radius: 1rem; background: #062b2a; color: var(--mist); box-shadow: var(--shadow); }
.ai-panel::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,29,28,.94), rgba(3,29,28,.35)), url("/assets/images/ai-editing-lab.jpg") right center / cover no-repeat; opacity: .78; }
.ai-panel > * { position: relative; }
.ai-panel-copy { padding: clamp(2rem, 5vw, 5.5rem); }
.ai-panel-copy h2 { max-width: 580px; }
.ai-panel-copy p { max-width: 575px; color: rgba(239,246,236,.76); }
.ai-panel-copy .button-primary { margin-top: 1rem; }
.ai-orbit { display: grid; place-content: center; min-height: 480px; }
.orbit-core { position: relative; display: grid; place-items: center; width: 210px; height: 210px; border: 1px solid rgba(156,235,191,.7); border-radius: 50%; color: var(--jade-bright); font-size: .76rem; font-weight: 800; letter-spacing: .13em; }
.orbit-core::before, .orbit-core::after { content: ""; position: absolute; inset: 18px; border: 1px solid rgba(234,191,115,.54); border-radius: 50% 45% 53% 45%; transform: rotate(42deg); }
.orbit-core::after { inset: -32px; border-color: rgba(156,235,191,.23); transform: rotate(-24deg); }
.orbit-pin { position: absolute; z-index: 1; padding: .28rem .48rem; border: 1px solid rgba(239,246,236,.28); border-radius: 99px; background: rgba(5,36,34,.72); color: var(--mist); font-size: .62rem; white-space: nowrap; }
.orbit-pin:nth-child(1) { top: -28px; left: -10px; }
.orbit-pin:nth-child(2) { right: -50px; bottom: 28px; }
.orbit-pin:nth-child(3) { bottom: -24px; left: 7px; }

.quote-wall { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 7vw, 6rem); align-items: start; }
.quote-intro { position: sticky; top: 1rem; }
.quote-intro p { max-width: 385px; color: #60796e; }
.review-list { display: grid; gap: 1rem; }
.review { position: relative; padding: 1.35rem 1.35rem 1.35rem 4.6rem; border-left: 1px solid #b6cbb9; background: rgba(255,255,255,.56); }
.review::before { content: "“"; position: absolute; top: .6rem; left: 1.4rem; color: var(--amber); font-family: var(--serif); font-size: 3.6rem; line-height: 1; }
.review p { margin: 0 0 .82rem; color: #34564b; font-family: var(--serif); font-size: 1.07rem; }
.review footer { display: flex; justify-content: space-between; color: #668075; font-size: .72rem; }

.expert-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(239,246,236,.16); border: 1px solid rgba(239,246,236,.16); }
.expert-card { padding: 1.5rem; background: #103d38; transition: background .25s ease; }
.expert-card:hover { background: #174d45; }
.expert-index { display: flex; justify-content: space-between; align-items: center; color: var(--amber); font-family: var(--serif); font-size: .86rem; }
.expert-index span { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid rgba(234,191,115,.65); border-radius: 50%; font-family: var(--sans); font-size: .72rem; }
.expert-card h3 { margin: 1.6rem 0 .25rem; color: var(--mist); font-size: 1.2rem; }
.expert-role { margin: 0 0 1.1rem; color: var(--jade-bright); font-size: .78rem; }
.expert-card p { margin: .33rem 0; color: rgba(239,246,236,.68); font-size: .74rem; }
.expert-card p b { color: rgba(239,246,236,.92); font-weight: 700; }
.expert-actions { display: flex; gap: .65rem; margin-top: 1.2rem; }
.expert-actions a { border-bottom: 1px solid var(--amber); color: var(--amber); font-size: .72rem; }

.logo-wall { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid #d4ded0; border-left: 1px solid #d4ded0; }
.logo-tile { display: grid; min-height: 124px; place-content: center; border-right: 1px solid #d4ded0; border-bottom: 1px solid #d4ded0; color: #557468; text-align: center; font-family: var(--serif); font-size: 1.25rem; letter-spacing: .05em; }
.logo-tile small { margin-top: .3rem; color: #829b8b; font-family: var(--sans); font-size: .55rem; letter-spacing: .12em; }

.how-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.how-step { padding: 1.25rem; border-radius: .55rem; background: #fff; border-top: 3px solid var(--jade); box-shadow: 0 10px 30px rgba(6,28,29,.06); }
.how-step span { color: var(--amber); font-family: var(--serif); font-size: 1.35rem; }
.how-step h3 { margin: .85rem 0 .38rem; font-size: .97rem; }
.how-step p { margin: 0; color: #637c70; font-size: .77rem; }

.faq-list { border-top: 1px solid #cad9cb; }
.faq-item { border-bottom: 1px solid #cad9cb; }
.faq-item button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 0; border: 0; background: transparent; color: var(--ink); text-align: left; font-weight: 800; }
.faq-item button span { color: #4b8470; font-size: 1.25rem; transition: transform .2s ease; }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .25s ease; }
.faq-answer > div { overflow: hidden; }
.faq-answer p { margin: 0; padding: 0 0 1.25rem; max-width: 760px; color: #5a7367; font-size: .85rem; }
.faq-item.is-open .faq-answer { grid-template-rows: 1fr; }
.faq-item.is-open button span { transform: rotate(45deg); }

.breadcrumb { width: var(--wrap); margin: 0 auto; padding: 1rem 0; color: #5d7b6e; font-size: .74rem; }
.breadcrumb a { color: #34745b; }
.inner-hero { width: 100%; padding: clamp(4rem, 9vw, 8rem) 0; color: var(--mist); background: radial-gradient(circle at 78% 20%, rgba(93,195,146,.23), transparent 28%), #0a3432; }
.inner-hero .inner-wrap { width: var(--wrap); margin: auto; }
.inner-hero h1 { max-width: 860px; margin-bottom: 1rem; font-family: var(--serif); font-size: clamp(2.8rem, 6vw, 5.6rem); letter-spacing: -.075em; }
.inner-hero p { max-width: 680px; margin: 0; color: rgba(239,246,236,.76); font-size: 1.05rem; }
.inner-meta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.7rem; }
.inner-meta span { padding: .3rem .6rem; border: 1px solid rgba(239,246,236,.25); border-radius: 99px; color: var(--jade-bright); font-size: .7rem; }

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.story-card { padding: 1.6rem; border-radius: .6rem; background: #fff; box-shadow: 0 10px 32px rgba(6,28,29,.05); }
.story-card span { color: #3b8063; font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.story-card h3 { margin-top: .65rem; }
.story-card p { margin-bottom: 0; color: #637a70; font-size: .86rem; }
.data-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.data-card { padding: 1.3rem; border: 1px solid #c4d6c7; }
.data-card b { display: block; color: #397a5e; font-family: var(--serif); font-size: 2rem; line-height: 1; }
.data-card span { display: block; margin-top: .4rem; color: #627e70; font-size: .72rem; }
.contact-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.contact-photo { overflow: hidden; border-radius: .7rem; box-shadow: var(--shadow); }
.contact-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.contact-card { padding: 1.65rem; background: #0d3a35; color: var(--mist); }
.contact-card h2 { font-size: 2rem; }
.contact-card p { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; margin: 0; border-bottom: 1px solid var(--line); color: rgba(239,246,236,.78); font-size: .82rem; }
.contact-card p b { color: var(--jade-bright); font-weight: 600; }
.contact-card .button-primary { margin-top: 1.2rem; }

.site-footer { padding: 72px max(24px, calc((100vw - min(1180px, calc(100vw - 48px))) / 2)) 0; background: #061f20; color: var(--mist); }
.footer-top { display: grid; grid-template-columns: 1.55fr .75fr .75fr 1.25fr; gap: 2rem; padding-bottom: 3rem; }
.footer-brand p { max-width: 315px; color: rgba(239,246,236,.67); font-size: .82rem; }
.social-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; }
.social-row button { border: 1px solid rgba(239,246,236,.25); border-radius: 99px; padding: .33rem .58rem; background: transparent; color: var(--mist); font-size: .68rem; }
.social-row button:hover { border-color: var(--amber); color: var(--amber); }
.footer-links { display: grid; align-content: start; gap: .62rem; }
.footer-links h2, .footer-contact h2 { margin-bottom: .55rem; color: var(--jade-bright); font-family: var(--sans); font-size: .77rem; letter-spacing: .1em; }
.footer-links a { color: rgba(239,246,236,.66); font-size: .78rem; }
.footer-links a:hover { color: var(--amber); }
.footer-contact p { display: grid; grid-template-columns: 62px 1fr; gap: .5rem; margin: .45rem 0; color: rgba(239,246,236,.72); font-size: .72rem; }
.footer-contact p span { color: var(--jade-bright); }
.qr-pair { display: flex; gap: .9rem; margin-top: 1rem; }
.qr-pair figure { width: 82px; margin: 0; }
.qr-pair img { width: 82px; height: 82px; border: 3px solid #eef3e8; }
.qr-pair figcaption { margin-top: .25rem; color: rgba(239,246,236,.6); text-align: center; font-size: .6rem; }
.footer-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .7rem 1.5rem; padding: 1.1rem 0; border-top: 1px solid var(--line); color: rgba(239,246,236,.5); font-size: .65rem; }
.toast { position: fixed; z-index: 90; left: 50%; bottom: 24px; max-width: min(460px, calc(100vw - 40px)); padding: .7rem 1rem; border: 1px solid rgba(156,235,191,.32); border-radius: .35rem; background: #082d2c; color: var(--mist); box-shadow: var(--shadow); font-size: .8rem; text-align: center; transform: translate(-50%, 140%); opacity: 0; transition: transform .3s ease, opacity .3s ease; pointer-events: none; }
.toast.is-visible { transform: translate(-50%, 0); opacity: 1; }

[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s ease; }
[data-reveal].is-in-view { opacity: 1; transform: translateY(0); }

@media (max-width: 1020px) {
  .main-nav { gap: 0; }
  .main-nav a { padding-inline: .36rem; font-size: .72rem; }
  .header-cta { display: none; }
  .video-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .program-card:nth-child(n) { grid-column: span 6; }
  .footer-top { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-contact { grid-column: span 3; }
  .how-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  :root { --wrap: min(100% - 32px, 1180px); }
  .header-frame { min-height: 66px; gap: .85rem; }
  .brand-words small { display: none; }
  .main-nav { position: absolute; top: 66px; left: 0; right: 0; display: grid; gap: 0; padding: .7rem 16px 1rem; background: #082d2c; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); transform: translateY(-15px); visibility: hidden; opacity: 0; transition: .2s ease; }
  .main-nav.is-open { transform: translateY(0); visibility: visible; opacity: 1; }
  .main-nav a { padding: .75rem; }
  .nav-toggle { display: grid; width: 33px; gap: 4px; margin-left: auto; padding: 7px 4px; border: 0; background: transparent; }
  .nav-toggle span { display: block; height: 1px; background: var(--mist); }
  .search-inner { grid-template-columns: 1fr; gap: .35rem; padding: .65rem 0 .75rem; }
  .search-label { display: none; }
  .search-status { min-height: 1.4em; }
  .section { padding: 70px 0; }
  .section-title-row { display: block; margin-bottom: 1.7rem; }
  .section-title-row .text-link { margin-top: .9rem; }
  h2 { font-size: 2.15rem; }
  .hero { min-height: 650px; }
  .hero::before { background-position: 62% center; }
  .hero-inner { grid-template-columns: 1fr; align-items: center; padding: 72px 0 90px; }
  .hero h1 { font-size: clamp(3.55rem, 17vw, 5.4rem); }
  .hero-trailer { width: 100%; margin-top: 2rem; padding-left: .8rem; }
  .hero-bottom { left: 16px; right: 16px; justify-content: space-between; bottom: 18px; }
  .video-rail, .two-col, .feature-split, .quote-wall, .contact-layout, .ai-panel { grid-template-columns: 1fr; }
  .video-card-body p:not(.eyebrow) { min-height: auto; }
  .feature-photo { min-height: 360px; }
  .feature-photo::before { top: 18px; left: -12px; }
  .feature-photo img { width: 92%; }
  .program-card:nth-child(n) { grid-column: span 12; min-height: 185px; }
  .ai-orbit { min-height: 305px; }
  .quote-intro { position: static; }
  .expert-grid { grid-template-columns: 1fr; }
  .logo-wall { grid-template-columns: repeat(2, 1fr); }
  .how-grid { grid-template-columns: 1fr; }
  .data-cards { grid-template-columns: repeat(2, 1fr); }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand, .footer-contact { grid-column: span 2; }
}

@media (max-width: 420px) {
  .hero h1 { font-size: 3.45rem; }
  .hero-bottom { gap: .45rem; }
  .hero-stat b { font-size: 1rem; }
  .hero-stat small { font-size: .58rem; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-brand, .footer-contact { grid-column: auto; }
  .footer-base { display: grid; }
}

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


/* 2026 content-density and editorial art expansion */
.brand-logo-img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.22));
}
.hero-trailer-link {
  display: inline-block;
  margin-top: .82rem;
  border-bottom: 1px solid rgba(234,191,115,.72);
  color: var(--amber);
  font-size: .7rem;
  font-weight: 800;
}
.editorial-section { padding-bottom: 85px; }
.edition-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
  gap: 1.2rem;
}
.edition-feature {
  position: relative;
  min-height: 570px;
  overflow: hidden;
  border-radius: 1rem;
  background: #0b2c2b;
  box-shadow: 0 24px 60px rgba(7,30,29,.16);
}
.edition-feature img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}
.edition-feature:hover img { transform: scale(1.035); }
.edition-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(2,16,17,.94) 2%, rgba(2,16,17,.08) 66%); }
.edition-feature-copy { position: absolute; right: clamp(1.3rem, 4vw, 3.2rem); bottom: clamp(1.5rem, 4vw, 3.2rem); left: clamp(1.3rem, 4vw, 3.2rem); color: var(--mist); }
.edition-feature-copy > p { margin: 0 0 .65rem; color: var(--jade-bright); font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.edition-feature-copy h3 { max-width: 680px; margin-bottom: .7rem; font-family: var(--serif); font-size: clamp(1.75rem, 3.1vw, 3.1rem); letter-spacing: -.04em; }
.edition-feature-copy > span { display: block; max-width: 610px; color: rgba(239,246,236,.76); font-size: .9rem; }
.edition-feature-copy .button-primary { margin-top: 1.25rem; }
.edition-side { display: grid; gap: 1.2rem; }
.edition-note { position: relative; display: flex; min-height: 0; flex-direction: column; justify-content: center; padding: 1.6rem; overflow: hidden; border-radius: .8rem; background: #e9f1e7; }
.edition-note:nth-child(2) { background: #0c413d; color: var(--mist); }
.edition-note:nth-child(3) { background: #e9d39c; }
.edition-note::after { content: ""; position: absolute; right: -40px; bottom: -60px; width: 170px; height: 170px; border: 1px solid currentColor; border-radius: 50% 50% 50% 0; opacity: .16; transform: rotate(-30deg); }
.edition-note span { position: relative; color: #447b64; font-size: .63rem; font-weight: 800; letter-spacing: .12em; }
.edition-note:nth-child(2) span { color: var(--jade-bright); }
.edition-note h3 { position: relative; margin: .52rem 0 .45rem; font-family: var(--serif); font-size: 1.48rem; }
.edition-note p { position: relative; margin: 0; color: #547267; font-size: .78rem; }
.edition-note:nth-child(2) p { color: rgba(239,246,236,.72); }
.edition-note a { position: relative; width: max-content; margin-top: 1rem; border-bottom: 1px solid currentColor; color: #34745b; font-size: .72rem; font-weight: 800; }
.edition-note:nth-child(2) a { color: var(--amber); }

.field-notes-section { padding-top: 60px; }
.field-note-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.field-note { padding-bottom: 1rem; border-bottom: 1px solid #b8cab9; }
.field-note-image { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: .55rem; background: #173f3b; }
.field-note-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.field-note:hover .field-note-image img { transform: scale(1.06); }
.field-note-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(2,19,19,.62)); }
.field-note-image span { position: absolute; z-index: 1; top: .75rem; left: .75rem; color: var(--mist); font-family: var(--serif); font-size: 1.25rem; }
.field-note-image em { position: absolute; z-index: 1; right: .75rem; bottom: .65rem; color: var(--amber); font-size: .69rem; font-style: normal; font-weight: 800; }
.field-note > p { margin: .95rem 0 .4rem; color: #408064; font-size: .63rem; font-weight: 800; letter-spacing: .1em; }
.field-note h3 { font-family: var(--serif); font-size: 1.25rem; }
.field-note > div { color: #60786e; font-size: .8rem; }
.video-flag { position: absolute; z-index: 1; top: .7rem; right: .7rem; padding: .17rem .43rem; border: 1px solid rgba(239,246,236,.38); border-radius: 99px; background: rgba(7,28,28,.35); color: #fff; font-size: .57rem; }
.video-rail-six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.video-rail-six .video-card:nth-child(n + 4) { margin-top: .25rem; }

.schedule-section { padding-top: 86px; padding-bottom: 86px; }
.schedule-list { border-top: 1px solid #b9cfbd; }
.schedule-row { display: grid; grid-template-columns: 120px 1fr auto 24px; align-items: center; gap: 1.2rem; padding: 1rem 0; border-bottom: 1px solid #b9cfbd; }
.schedule-row:hover .schedule-content h3 { color: #24664f; }
.schedule-date { display: grid; gap: .05rem; }
.schedule-date b { color: #27684f; font-family: var(--serif); font-size: 1.45rem; }
.schedule-date span { color: #708b7d; font-size: .7rem; }
.schedule-content p { margin: 0 0 .22rem; color: #4b836b; font-size: .63rem; font-weight: 800; letter-spacing: .12em; }
.schedule-content h3 { margin: 0; font-size: 1rem; transition: color .2s ease; }
.schedule-state { padding: .25rem .55rem; border-radius: 99px; background: #e2efe0; color: #3c7d5d; font-size: .65rem; font-weight: 800; white-space: nowrap; }
.schedule-row > a { color: #2d7356; font-weight: 800; }

.plant-profile-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.plant-profile { position: relative; min-height: 435px; overflow: hidden; border-radius: .75rem; background: #153f3b; color: var(--mist); }
.plant-profile > img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.plant-profile:hover > img { transform: scale(1.05); }
.plant-profile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(1,17,17,.9)); }
.plant-profile-copy { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; left: 1rem; }
.plant-profile-copy p { margin: 0; color: var(--jade-bright); font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.plant-profile-copy h3 { margin: .5rem 0 .4rem; font-family: var(--serif); font-size: 1.35rem; }
.plant-profile-copy span { display: inline-block; margin-bottom: .65rem; color: var(--amber); font-size: .7rem; }
.plant-profile-copy small { display: block; color: rgba(239,246,236,.76); font-size: .72rem; line-height: 1.6; }
.ai-proof { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1.3rem 0 0; }
.ai-proof span { padding: .25rem .5rem; border: 1px solid rgba(156,235,191,.38); border-radius: 99px; color: var(--jade-bright); font-size: .65rem; }
.trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(239,246,236,.18); border-left: 1px solid rgba(239,246,236,.18); }
.trust-grid article { min-height: 245px; padding: 1.45rem; border-right: 1px solid rgba(239,246,236,.18); border-bottom: 1px solid rgba(239,246,236,.18); transition: background .25s ease; }
.trust-grid article:hover { background: rgba(156,235,191,.07); }
.trust-grid span { color: var(--amber); font-size: .61rem; font-weight: 800; letter-spacing: .12em; }
.trust-grid h3 { margin: 1.25rem 0 .55rem; color: var(--mist); font-family: var(--serif); font-size: 1.4rem; }
.trust-grid p { margin: 0; color: rgba(239,246,236,.66); font-size: .77rem; }
.closing-cta { position: relative; overflow: hidden; padding: clamp(5rem, 10vw, 9rem) 24px; background: linear-gradient(90deg, rgba(3,27,27,.91), rgba(3,27,27,.5)), url("/assets/images/storefront.jpg") center / cover no-repeat; color: var(--mist); text-align: center; }
.closing-cta::before, .closing-cta::after { content: ""; position: absolute; width: 390px; height: 390px; border: 1px solid rgba(156,235,191,.3); border-radius: 50%; }
.closing-cta::before { top: -210px; left: -110px; }
.closing-cta::after { right: -110px; bottom: -210px; }
.closing-cta-inner { position: relative; z-index: 1; max-width: 860px; margin: auto; }
.closing-cta-inner > p { margin: 0 0 .8rem; color: var(--jade-bright); font-size: .68rem; font-weight: 800; letter-spacing: .16em; }
.closing-cta h2 { max-width: 820px; margin-right: auto; margin-left: auto; font-size: clamp(2.4rem, 5vw, 4.6rem); }
.closing-cta-inner > span { color: rgba(239,246,236,.78); font-size: .82rem; }
.closing-cta-inner > div { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin-top: 1.45rem; }

@media (max-width: 1020px) {
  .edition-layout { grid-template-columns: 1fr; }
  .edition-side { grid-template-columns: repeat(3, 1fr); }
  .field-note-grid, .plant-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .brand-logo-img { width: 36px; height: 36px; }
  .editorial-section { padding-top: 56px; padding-bottom: 55px; }
  .edition-feature { min-height: 470px; }
  .edition-side { grid-template-columns: 1fr; }
  .edition-note { min-height: 185px; }
  .field-note-grid, .plant-profile-grid { grid-template-columns: 1fr; }
  .field-note { display: grid; grid-template-columns: 42% 1fr; column-gap: 1rem; align-items: start; }
  .field-note-image { grid-row: span 3; height: 100%; min-height: 160px; }
  .field-note > p { margin-top: 0; }
  .field-note h3 { margin-top: 0; }
  .schedule-row { grid-template-columns: 66px 1fr 24px; gap: .75rem; }
  .schedule-state { display: none; }
  .schedule-date b { font-size: 1rem; }
  .schedule-content h3 { font-size: .88rem; }
  .video-rail-six { grid-template-columns: 1fr; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid article { min-height: 0; }
  .closing-cta { padding-top: 5.2rem; padding-bottom: 5.2rem; }
}


/* Contrast corrections for expanded light editorial sections */
.feature-copy > p { color: #5d796d; }
.feature-list { border-color: #c4d6c7; }
.feature-list article { border-color: #c4d6c7; }
.feature-list h3 { color: var(--ink); }
.feature-list p { color: #60786d; }
.section-dark .feature-copy > p { color: rgba(239,246,236,.72); }
.section-dark .feature-list { border-color: var(--line); }
.section-dark .feature-list article { border-color: var(--line); }
.section-dark .feature-list h3 { color: var(--mist); }
.section-dark .feature-list p { color: rgba(239,246,236,.62); }
main > .section .trust-grid { border-color: #bed0c0; }
main > .section .trust-grid article { border-color: #bed0c0; }
main > .section .trust-grid article:hover { background: #edf4e9; }
main > .section .trust-grid span { color: #4b8368; }
main > .section .trust-grid h3 { color: var(--ink); }
main > .section .trust-grid p { color: #5f796c; }
.section-dark .how-step { background: rgba(239,246,236,.96); color: var(--ink); }
.section-dark .how-step h3 { color: var(--ink); }


/* Home compendium, methodbook and public video ledger */
.compendium-section { padding-top: 98px; }
.compendium-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid #c4d5c4; border-radius: .7rem; background: #c4d5c4; }
.compendium-card { min-height: 235px; padding: 1.3rem; background: #f7f4ea; transition: background .25s ease, transform .25s ease; }
.compendium-card:nth-child(4n + 2) { background: #eef4e9; }
.compendium-card:nth-child(4n + 3) { background: #e7f0e7; }
.compendium-card:nth-child(4n + 4) { background: #f0eadc; }
.compendium-card:hover { position: relative; z-index: 1; background: #fffdf6; transform: translateY(-5px); box-shadow: 0 14px 24px rgba(9,48,42,.11); }
.compendium-card > span { color: #39785c; font-size: .6rem; font-weight: 800; letter-spacing: .1em; }
.compendium-card h3 { margin: 1.15rem 0 .65rem; font-family: var(--serif); font-size: 1.38rem; }
.compendium-card p { min-height: 5.1em; margin: 0; color: #5c766a; font-size: .78rem; }
.compendium-card footer { display: flex; justify-content: space-between; gap: .5rem; margin-top: 1rem; padding-top: .7rem; border-top: 1px solid rgba(55,112,85,.2); color: #467860; font-size: .66rem; }
.compendium-card footer em { color: #92744a; font-style: normal; font-weight: 800; }
.methodbook-section { width: 100%; }
.methodbook-section > .section-title-row, .methodbook-section > .methodbook-grid { width: var(--wrap); margin-right: auto; margin-left: auto; }
.methodbook-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.methodbook-card { min-height: 207px; padding: 1.3rem; border-top: 3px solid #5ca87a; background: #fff; box-shadow: 0 10px 24px rgba(10,44,37,.05); }
.methodbook-card span { color: #448064; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.methodbook-card h3 { margin: .9rem 0 .48rem; font-family: var(--serif); font-size: 1.32rem; }
.methodbook-card p { margin: 0; color: #607a6d; font-size: .8rem; }
.methodbook-card b { display: block; margin-top: 1rem; color: #98713d; font-size: .63rem; }
.signal-section .section { padding-bottom: 80px; }
.signal-log { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(239,246,236,.2); }
.signal-log article { display: grid; grid-template-columns: 38px 1fr auto; gap: .8rem; align-items: baseline; padding: 1.05rem .4rem; border-bottom: 1px solid rgba(239,246,236,.2); }
.signal-log article:nth-child(odd) { border-right: 1px solid rgba(239,246,236,.2); padding-right: 1.1rem; }
.signal-log article:nth-child(even) { padding-left: 1.1rem; }
.signal-log span { color: var(--amber); font-family: var(--serif); font-size: 1.1rem; }
.signal-log p { margin: 0; color: rgba(239,246,236,.82); font-size: .8rem; }
.signal-log em { color: var(--jade-bright); font-size: .63rem; font-style: normal; white-space: nowrap; }
.library-table-section { padding-bottom: 105px; }
.library-table-wrap { overflow-x: auto; border: 1px solid #bfd0c0; border-radius: .65rem; background: #fbfaf4; }
.library-table { width: 100%; min-width: 720px; border-collapse: collapse; text-align: left; }
.library-table th { padding: .92rem 1rem; background: #104138; color: var(--jade-bright); font-size: .68rem; letter-spacing: .08em; }
.library-table td { padding: .82rem 1rem; border-top: 1px solid #d1ded0; color: #5a7669; font-size: .78rem; }
.library-table td:first-child { color: #1a6048; font-weight: 800; }
.library-table tr:nth-child(even) td { background: #f2f6ec; }
.library-table tr:hover td { background: #e8f1e5; }

@media (max-width: 1020px) {
  .compendium-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .methodbook-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .compendium-section { padding-top: 72px; }
  .compendium-grid { grid-template-columns: 1fr; }
  .compendium-card { min-height: 0; }
  .compendium-card p { min-height: 0; }
  .methodbook-grid { grid-template-columns: 1fr; }
  .methodbook-card { min-height: 0; }
  .signal-log { grid-template-columns: 1fr; }
  .signal-log article:nth-child(n) { padding-right: 0; padding-left: 0; border-right: 0; }
  .signal-log article { grid-template-columns: 30px 1fr; }
  .signal-log em { grid-column: 2; }
}


/* Video terminology, scene routes and editorial update commitments */
.glossary-section { width: 100%; }
.glossary-section > .section-title-row, .glossary-section > .glossary-grid { width: var(--wrap); margin-right: auto; margin-left: auto; }
.glossary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid #cad8c9; border-radius: .7rem; background: #cad8c9; }
.glossary-card { min-height: 210px; padding: 1.1rem; background: #fffdf7; transition: transform .22s ease, background .22s ease; }
.glossary-card:nth-child(3n + 2) { background: #eff5eb; }
.glossary-card:nth-child(3n) { background: #f1ecdf; }
.glossary-card:hover { position: relative; z-index: 1; background: #fff; transform: translateY(-4px); box-shadow: 0 14px 28px rgba(4,37,32,.13); }
.glossary-card span { color: #467e64; font-size: .58rem; font-weight: 800; letter-spacing: .11em; }
.glossary-card h3 { margin: .85rem 0 .45rem; font-family: var(--serif); font-size: 1.23rem; }
.glossary-card p { margin: 0; color: #5e766b; font-size: .75rem; line-height: 1.65; }
.glossary-card b { display: block; margin-top: .9rem; color: #977342; font-size: .61rem; }
.scene-route-section { padding-top: 96px; }
.scene-route-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.scene-route-card { position: relative; min-height: 205px; padding: 1.25rem 1.25rem 1.25rem 4rem; border-radius: .65rem; background: #103e38; color: var(--mist); overflow: hidden; }
.scene-route-card:nth-child(2n) { background: #1b5749; }
.scene-route-card:nth-child(3n) { background: #315e50; }
.scene-route-card::after { content: ""; position: absolute; right: -35px; bottom: -40px; width: 130px; height: 130px; border: 1px solid rgba(156,235,191,.36); border-radius: 50% 50% 50% 0; transform: rotate(-28deg); }
.scene-route-card > span { position: absolute; top: 1.15rem; left: 1.15rem; color: var(--amber); font-family: var(--serif); font-size: 1.1rem; }
.scene-route-card h3 { position: relative; margin-bottom: .55rem; color: var(--mist); font-family: var(--serif); font-size: 1.3rem; }
.scene-route-card p { position: relative; margin: 0; color: rgba(239,246,236,.76); font-size: .77rem; }
.scene-route-card small { position: relative; display: block; margin-top: 1rem; color: var(--jade-bright); font-size: .63rem; }
.pulse-note-section .section { padding-bottom: 96px; }
.pulse-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(239,246,236,.2); border-left: 1px solid rgba(239,246,236,.2); }
.pulse-notes p { min-height: 110px; margin: 0; padding: 1.15rem; border-right: 1px solid rgba(239,246,236,.2); border-bottom: 1px solid rgba(239,246,236,.2); color: rgba(239,246,236,.74); font-size: .8rem; }
.pulse-notes b { display: block; margin-bottom: .45rem; color: var(--amber); font-size: .66rem; letter-spacing: .08em; }

@media (max-width: 1020px) {
  .glossary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scene-route-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .glossary-grid, .scene-route-list, .pulse-notes { grid-template-columns: 1fr; }
  .glossary-card, .scene-route-card { min-height: 0; }
  .pulse-notes p { min-height: 0; }
  .scene-route-section { padding-top: 70px; }
}
