/* ===== Tokens ===== */
:root {
  --green-900: #07261a;
  --green-800: #0b3b24;
  --green-700: #0f4d2e;
  --green-600: #0d7a4a;
  --green-500: #13975c;
  --gold: #d9a441;
  --gold-d: #b9780f;
  --cream: #f4f5ef;
  --paper: #fff;
  --ink: #0e1a14;
  --muted: #5d6b63;
  --line: #e3e6df;
  --soft: #e9eee6;
  --shadow: 0 6px 24px rgba(10, 40, 25, 0.08);
  --f-head: "Archivo", "Inter", sans-serif;
  --f-ui: "Inter", sans-serif;
  --f-serif: "Source Serif 4", Georgia, serif;
  --radius: 16px;
}
[data-theme="dark"] {
  --cream: #0b1410;
  --paper: #121e18;
  --ink: #eaf1ec;
  --muted: #9cb0a4;
  --line: #223229;
  --soft: #16251d;
  --shadow: 0 6px 24px rgba(0, 0, 0, 0.4);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: var(--f-ui);
  background: var(--cream);
  color: var(--ink);
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  display: block;
}
h1,
h2,
h3,
h4 {
  font-family: var(--f-head);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
}
.serif {
  font-family: var(--f-serif);
}
.container {
  max-width: 1180px;
}
.kicker {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--green-600);
}
.kicker.gold {
  color: var(--gold-d);
}
.meta {
  font: 500 12px var(--f-ui);
  color: var(--muted);
}
.dot {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.5;
  margin: 0 8px;
  vertical-align: middle;
}
.ph {
  background: linear-gradient(135deg, #1c5a3d, #0b3b24);
  overflow: hidden;
  position: relative;
}
.ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s;
}
.hoverzoom:hover .ph img,
.ph:hover img {
  transform: scale(1.05);
}
.card-x {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  transition: transform 0.25s, box-shadow 0.25s;
}
.card-x:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(10, 40, 25, 0.14);
}
.chip {
  display: inline-block;
  font: 800 10px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: var(--green-700);
  color: #fff;
  padding: 6px 10px;
  border-radius: 6px;
}
.chip.gold {
  background: var(--gold-d);
}
.btn-gold {
  background: linear-gradient(180deg, #e8bd63, #d3a047);
  color: #1b1304;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: 0;
  border-radius: 8px;
  padding: 11px 18px;
  transition: 0.2s;
  display: inline-block;
}
.btn-gold:hover {
  filter: brightness(1.07);
  transform: translateY(-1px);
  color: #1b1304;
}
.btn-green {
  background: var(--green-700);
  color: #fff;
  font: 700 12px var(--f-ui);
  border: 0;
  border-radius: 8px;
  padding: 9px 14px;
  transition: 0.2s;
  display: inline-block;
}
.btn-green:hover {
  background: var(--green-600);
  color: #fff;
}
.btn-line {
  border: 1.5px solid var(--green-700);
  color: var(--green-700);
  font: 700 12px var(--f-ui);
  border-radius: 8px;
  padding: 8px 14px;
  background: transparent;
  transition: 0.2s;
  display: inline-block;
}
.btn-line:hover {
  background: var(--green-700);
  color: #fff;
}
[data-theme="dark"] .btn-line {
  color: #7fe0ab;
  border-color: #2c6a4b;
}
.sec-title {
  display: flex;
  align-items: baseline;
  gap: 14px;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 10px;
  margin-bottom: 22px;
}
.sec-title h2 {
  font-size: 28px;
  margin: 0;
}
.sec-title a {
  margin-left: auto;
}
.sec-sub {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
}
.link-arrow {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--green-700);
  border-bottom: 2px solid var(--gold);
  padding-bottom: 2px;
}
[data-theme="dark"] .link-arrow {
  color: #7fe0ab;
}

/* ===== Header ===== */
/* --- Top bar --- */
.topbar {
  background: #fbfaf5;
  font: 500 12px var(--f-ui);
  color: #4b5a51;
  border-bottom: 1px solid var(--line);
}
[data-theme="dark"] .topbar,
[data-theme="dark"] .brandrow {
  background: #0e1914;
}
.topbar .in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 34px;
}
.topbar em {
  font-family: var(--f-serif);
}
.topbar .soc a {
  margin-left: 16px;
  opacity: 0.7;
}
.topbar .soc a:hover {
  opacity: 1;
}
/* --- Header / logo row --- */
.brandrow {
  background: #fff;
  padding: 8px 0;
}
.logo {
  display: inline-block;
  line-height: 0.8;
  position: relative;
  padding-top: 12px;
}
.logo small {
  display: block;
  font: 600 8px var(--f-ui);
  letter-spacing: 0.55em;
  color: var(--green-600);
  margin: 0 0 -4px 52px;
}
.logo b {
  font: 900 60px/1 var(--f-head);
  letter-spacing: -0.055em;
  color: #000;
}
.logo b i {
  font-style: normal;
  font-size: 78px;
  margin-right: -2px;
}
.logo span {
  display: block;
  text-align: right;
  font: 900 20px var(--f-head);
  letter-spacing: -0.03em;
  margin-top: -8px;
  color: #000;
}
[data-theme="dark"] .logo b,
[data-theme="dark"] .logo span {
  color: #fff;
}
.issue-box {
  text-align: right;
}
.issue-box .k {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.18em;
  color: var(--gold-d);
}
/* --- Focus ticker --- */
.focus {
  background: linear-gradient(180deg, #f6ecd6, #fdf6e6);
  border-top: 2px solid var(--gold);
  height: 38px;
  overflow: hidden;
  font-size: 13px;
}
[data-theme="dark"] .focus {
  background: #1a1a10;
}
.focus .in {
  display: flex;
  align-items: center;
  height: 36px;
  gap: 22px;
}
.focus .lbl {
  font: 800 12px var(--f-ui);
  letter-spacing: 0.2em;
  color: #14241b;
  white-space: nowrap;
}
[data-theme="dark"] .focus .lbl {
  color: #eee;
}
.focus .lbl:before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  background: var(--gold-d);
  transform: rotate(45deg);
  margin-right: 10px;
}
.ticker {
  overflow: hidden;
  flex: 1;
  mask-image: linear-gradient(
    90deg,
    transparent,
    #000 3%,
    #000 95%,
    transparent
  );
}
.ticker .track {
  display: flex;
  gap: 60px;
  width: max-content;
  animation: tick 55s linear infinite;
}
.ticker:hover .track {
  animation-play-state: paused;
}
.ticker a {
  white-space: nowrap;
}
.ticker a b {
  font: 800 11px var(--f-ui);
  color: var(--gold-d);
  margin-right: 8px;
}
.ticker a b:after {
  content: "●";
  color: var(--green-600);
  margin-left: 8px;
  font-size: 8px;
}
@keyframes tick {
  to {
    transform: translateX(-50%);
  }
}
/* --- Main navigation --- */
.navbar-x {
  background: linear-gradient(180deg, #14a066, #0b6e43);
  position: sticky;
  top: 0;
  z-index: 1030;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}
.navbar-x .in {
  display: flex;
  align-items: center;
  height: 50px;
  gap: 6px;
}
.nav-links {
  display: flex;
  height: 100%;
  margin: 0 0 0 12px;
  padding: 0;
}
.nav-links > li {
  list-style: none;
  height: 100%;
  display: flex;
  align-items: center;
}
.nav-links > li > a {
  color: #fff;
  font: 800 12.5px var(--f-ui);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0 16px;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
}
.nav-links > li > a i {
  font-size: 9px;
  transition: 0.2s;
}
.nav-links > li:hover > a,
.nav-links > li.open > a {
  background: rgba(0, 0, 0, 0.18);
}
.nav-links > li:hover > a i {
  transform: rotate(180deg);
}
.nav-links > li > a:after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 0;
  height: 3px;
  background: var(--gold);
  transform: scaleX(0);
  transition: 0.25s;
}
.nav-links > li:hover > a:after {
  transform: scaleX(1);
}
.logo-mark {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  color: var(--green-600);
  display: grid;
  place-items: center;
  font-size: 15px;
}
.nav-tools {
  margin-left: auto;
  display: flex;
  gap: 8px;
  align-items: center;
}
.ibtn {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border-radius: 8px;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: 0.2s;
}
.ibtn:hover {
  background: rgba(255, 255, 255, 0.2);
}
.pbtn {
  height: 36px;
  padding: 0 14px;
  border-radius: 8px;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  background: transparent;
}
.pbtn.gold {
  background: linear-gradient(180deg, #e8bd63, #d3a047);
  color: #1b1304;
  border-color: transparent;
}
/* --- Mega menu --- */
.mega {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: var(--paper);
  border-top: 3px solid var(--gold);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.25);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: 0.22s;
  z-index: 5;
  color: var(--ink);
}
.nav-links > li:hover .mega,
.nav-links > li.open .mega {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.mega .inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr) 1.5fr;
  gap: 34px;
  padding: 30px 0;
}
.mega h6 {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-d);
  margin: 0 0 12px;
}
.mega ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mega ul a {
  display: block;
  padding: 7px 0;
  font: 600 14px var(--f-ui);
  border-bottom: 1px solid var(--line);
  transition: 0.2s;
}
.mega ul a:hover {
  color: var(--green-600);
  padding-left: 8px;
}
.mega .feat {
  background: var(--green-800);
  color: #fff;
  border-radius: 14px;
  overflow: hidden;
  display: block;
}
.mega .feat .ph {
  height: 130px;
}
.mega .feat div.t {
  padding: 14px 16px;
}
.mega .feat h5 {
  font: 800 17px/1.15 var(--f-head);
  margin: 6px 0 0;
  letter-spacing: -0.02em;
}
#searchOverlay {
  position: fixed;
  inset: 0;
  background: rgba(5, 25, 15, 0.92);
  z-index: 2000;
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding-top: 16vh;
}
#searchOverlay.show {
  display: flex;
}
#searchOverlay form {
  width: min(720px, 90vw);
  display: flex;
  gap: 10px;
}
#searchOverlay input {
  flex: 1;
  font: 700 24px var(--f-head);
  padding: 16px 20px;
  border-radius: 12px;
  border: 0;
  outline: 0;
}
.offcanvas.mob {
  background: var(--green-800);
  color: #fff;
  width: 310px;
}
.mob .accordion-button {
  background: transparent;
  color: #fff;
  font: 800 13px var(--f-ui);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: none;
}
.mob .accordion-button:after {
  filter: invert(1);
}
.mob .accordion-item {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.12);
}
.mob .accordion-body a {
  display: block;
  padding: 8px 0;
  color: #cfe5d8;
}

/* ===== Home ===== */
/* --- Today's front page --- */
.home-hero {
  background: var(--green-800);
  color: #fff;
  padding: 26px 0;
}
.home-hero .lead-card {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 420px;
  display: flex;
  align-items: flex-end;
}
.home-hero .lead-card .ph {
  position: absolute;
  inset: 0;
}
.home-hero .lead-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(4, 25, 15, 0.95),
    rgba(4, 25, 15, 0.1) 70%
  );
}
.home-hero .lead-card .body {
  position: relative;
  z-index: 2;
  padding: 30px;
}
.home-hero h1 {
  font-size: 40px;
  max-width: 560px;
  margin: 10px 0;
}
.side-mini {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.side-mini .ph {
  width: 84px;
  height: 64px;
  border-radius: 8px;
  flex: none;
}
.side-mini h5 {
  font: 700 13px/1.25 var(--f-head);
  margin: 0;
  letter-spacing: -0.01em;
}
.side-mini:hover h5 {
  color: var(--gold);
}
.issue-card {
  background: linear-gradient(160deg, #18603f, #0a2c1c);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius);
  padding: 14px;
  text-align: center;
}
.cover {
  border-radius: 10px;
  display: flex;
  align-items: flex-end;
  padding: 14px;
  text-align: left;
  font: 900 20px/1 var(--f-head);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.cover:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), transparent 70%);
}
.cover span {
  position: relative;
  z-index: 2;
}
.cover .ph {
  position: absolute;
  inset: 0;
}
.band {
  border-radius: 14px;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: space-between;
  margin: 34px 0;
}
.band.green {
  background: linear-gradient(90deg, #0f4d2e, #0b3b24);
  color: #fff;
}
.band.gold {
  background: linear-gradient(90deg, #f4e5c4, #ecd9ae);
  color: #2b2108;
}
.band h4 {
  font-size: 20px;
  margin: 0;
}
.band p {
  margin: 0;
  font: 400 13px var(--f-serif);
  opacity: 0.85;
}
.band small {
  font: 800 9px var(--f-ui);
  letter-spacing: 0.2em;
  opacity: 0.7;
}
/* --- Interviews --- */
.interview-wrap {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 26px;
}
.interview-feat {
  display: grid;
  grid-template-columns: 200px 1fr;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.interview-feat blockquote {
  font: 800 26px/1.15 var(--f-head);
  letter-spacing: -0.02em;
  margin: 10px 0 14px;
}
.numbered li {
  list-style: none;
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.numbered li b {
  font: 800 11px var(--f-ui);
  color: var(--gold-d);
  padding-top: 3px;
}
.numbered li a {
  font: 700 14.5px/1.3 var(--f-head);
}
.numbered li a:hover {
  color: var(--green-600);
}
.numbered {
  padding: 0;
  margin: 0;
}
.block {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px 18px 8px;
  height: 100%;
}
.block .bt {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 10px;
  margin-bottom: 16px;
}
.block .bt h3 {
  font-size: 17px;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0;
}
.block .bt h3:before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 16px;
  background: var(--green-600);
  margin-right: 8px;
  vertical-align: -2px;
}
.block .bt .sec-sub {
  margin-left: auto;
}
.block .big .ph {
  height: 200px;
  border-radius: 10px;
  margin-bottom: 12px;
}
.block .big h3 {
  font-size: 22px;
}
.block .big p {
  font: 400 14.5px/1.55 var(--f-serif);
  color: var(--muted);
}
.row-mini {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  align-items: center;
}
.row-mini h5 {
  font: 700 14px/1.25 var(--f-head);
  margin: 0;
}
.row-mini .ph {
  width: 76px;
  height: 58px;
  border-radius: 8px;
  flex: none;
}
.row-mini:hover h5 {
  color: var(--green-600);
}
/* --- Video section --- */
.video-sec {
  background: linear-gradient(120deg, var(--green-800), var(--green-900));
  color: #fff;
  padding: 20px 0;
  margin: 44px 0;
}
.video {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 300px;
  cursor: pointer;
}
.video .ph {
  position: absolute;
  inset: 0;
}
.video:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.65), transparent 60%);
}
.play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: #fff;
  color: var(--green-700);
  display: grid;
  place-items: center;
  font-size: 24px;
  z-index: 2;
  box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.2);
  transition: 0.25s;
}
.video:hover .play {
  transform: translate(-50%, -50%) scale(1.1);
}
.video .cap {
  position: absolute;
  left: 20px;
  bottom: 16px;
  z-index: 2;
  font: 800 24px var(--f-head);
  letter-spacing: -0.02em;
  color: #fff;
}
.conv-scroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 10px;
  scrollbar-width: thin;
}
.conv-scroll > a {
  flex: 0 0 230px;
  scroll-snap-align: start;
}
.conv-scroll .ph {
  height: 130px;
  border-radius: 12px;
  margin-bottom: 8px;
}
.conv-scroll h5 {
  font: 700 13.5px/1.25 var(--f-head);
}
.event-main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.date-badge {
  position: absolute;
  left: 14px;
  top: 14px;
  background: #fff;
  color: var(--green-800);
  border-radius: 10px;
  padding: 6px 12px;
  text-align: center;
  font: 900 22px/1 var(--f-head);
  z-index: 2;
}
.date-badge small {
  display: block;
  font: 800 9px var(--f-ui);
  letter-spacing: 0.14em;
  color: var(--gold-d);
}
.event-row {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.event-row .d {
  background: var(--soft);
  border-radius: 10px;
  width: 54px;
  text-align: center;
  padding: 6px 0;
  font: 900 20px/1 var(--f-head);
  flex: none;
}
.event-row .d small {
  display: block;
  font: 800 9px var(--f-ui);
  color: var(--gold-d);
  letter-spacing: 0.12em;
}
/* --- Community Voices --- */
.voices .card-x {
  padding: 22px;
  height: 100%;
}
.voices h4 {
  font: 800 20px/1.2 var(--f-head);
}
.voices .q {
  font: 900 40px/0.5 var(--f-head);
  color: var(--gold);
}
.avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #d7efe1;
  color: var(--green-700);
  display: grid;
  place-items: center;
  font: 800 11px var(--f-ui);
  flex: none;
}
.avatar.lg {
  width: 52px;
  height: 52px;
  font-size: 15px;
  background: var(--green-700);
  color: #fff;
}
.write-card {
  background: linear-gradient(160deg, var(--green-700), var(--green-900));
  color: #fff;
  border-radius: var(--radius);
  padding: 24px;
  height: 100%;
}
.summit {
  display: flex;
  gap: 14px;
  align-items: center;
}
.summit .d {
  background: var(--green-800);
  color: #fff;
  border-radius: 12px;
  width: 62px;
  padding: 10px 0;
  text-align: center;
  font: 900 24px/1 var(--f-head);
  flex: none;
}
.summit .d small {
  display: block;
  font: 800 9px var(--f-ui);
  letter-spacing: 0.14em;
  color: var(--gold);
}
.editions .cover {
  height: 230px;
  font-size: 24px;
}
.partners {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: space-between;
  padding: 26px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font: 800 14px var(--f-head);
  letter-spacing: 0.08em;
  color: var(--muted);
}
.partners span:first-child {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.2em;
}

/* ===== Footer ===== */
/* --- Newsletter band --- */
.news-band {
  background: var(--green-700);
  background-image: repeating-linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.03) 0 2px,
    transparent 2px 12px
  );
  color: #fff;
  padding: 24px 0;
  margin-top: 56px;
}
.news-band h2 {
  font-size: 24px;
  max-width: 600px;
  margin: 6px 0 0;
}
.news-band .form {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
}
.news-band input {
  width: 300px;
  max-width: 100%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  color: #fff;
  padding: 13px 14px;
  outline: 0;
}
.news-band input::placeholder {
  color: #8fb3a1;
}
/* --- Footer --- */
footer.site {
  background: var(--green-900);
  color: #c9d8cf;
  padding: 44px 0 0;
}
footer.site h6 {
  font: 800 11px var(--f-ui);
  letter-spacing: 0.2em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 18px;
}
footer.site li {
  list-style: none;
  margin-bottom: 11px;
}
footer.site ul {
  padding: 0;
}
footer.site li a {
  transition: 0.2s;
}
footer.site li a:hover {
  color: #fff;
  padding-left: 4px;
}
footer.site p.about {
  font: 400 14px/1.7 var(--f-serif);
  color: #a9bdb1;
}
footer.site .logo b,
footer.site .logo span {
  color: #fff;
}
footer.site .circ {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  display: inline-grid;
  place-items: center;
  margin-right: 8px;
  transition: 0.2s;
}
footer.site .circ:hover {
  background: var(--gold);
  color: #111;
}
.copy {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 34px;
  padding: 16px 0;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
}
/* --- Back-to-top button --- */
#toTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  background: var(--gold);
  color: #111;
  display: none;
  z-index: 900;
  box-shadow: var(--shadow);
}
#toTop.show {
  display: block;
}
#readbar {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: var(--gold);
  z-index: 3000;
  width: 0;
}

/* ===== Category ===== */
.desk-hero {
  background-image: repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.025) 0 2px,
      transparent 2px 12px
    ),
    linear-gradient(110deg, #0f4d2e, #07261a 75%);
  color: #fff;
  padding: 44px 0 46px;
}
.crumbs {
  font: 800 10.5px var(--f-ui);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a9c5b6;
}
.crumbs a:hover {
  color: #fff;
}
.crumbs b {
  color: var(--gold);
}
.crumbs span {
  margin: 0 8px;
}
.crumbs.dk {
  color: var(--muted);
}
.crumbs.dk b {
  color: var(--green-600);
}
.desk-hero h1 {
  font-size: 50px;
  margin: 14px 0 10px;
}
.desk-hero p {
  font: 400 20px var(--f-serif);
  color: #bfd3c7;
  margin: 0;
}
.desk-stat {
  text-align: center;
}
.desk-stat b {
  display: block;
  font: 900 32px var(--f-head);
  color: var(--gold);
}
.desk-stat small {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.18em;
  color: #a9c5b6;
}
.filterbar {
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
.filterbar .in {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  padding-bottom: 12px;
  flex-wrap: wrap;
}
.fchip {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  padding: 7px 14px;
  border-radius: 8px;
  font: 700 12.5px var(--f-ui);
  transition: 0.2s;
  cursor: pointer;
}
.fchip:hover {
  border-color: var(--green-600);
}
.fchip.active {
  background: var(--green-700);
  color: #fff;
  border-color: var(--green-700);
}
.fchip span {
  opacity: 0.6;
  margin-left: 6px;
  font-size: 11px;
}
.sortsel {
  border: 0;
  background: transparent;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  cursor: pointer;
  outline: 0;
}
.lead-split {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  background: var(--paper);
  border: 1px solid var(--green-600);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.lead-split .ph {
  min-height: 420px;
}
.lead-split .txt {
  padding: 36px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lead-split h2 {
  font-size: 38px;
  margin: 14px 0;
}
.lead-split p {
  font: 400 18px/1.6 var(--f-serif);
  color: var(--muted);
}
.lead-split .tag {
  position: absolute;
  left: 16px;
  top: 16px;
  z-index: 2;
}
.list-card {
  display: grid;
  grid-template-columns: 1fr;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  margin-bottom: 22px;
  transition: 0.25s;
}
.list-card:hover {
  transform: translateY(-3px);
}
.list-card .ph {
  height: 200px;
}
.list-card .txt {
  padding: 20px;
}
.list-card h3 {
  font-size: 20px;
  margin: 0 0 8px;
}
.list-card p {
  font: 400 15px/1.6 var(--f-serif);
  color: var(--muted);
}
.side-box {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
  margin-bottom: 20px;
  box-shadow: var(--shadow);
}
.side-box h6 {
  font: 800 11px var(--f-ui);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
  margin-bottom: 6px;
}
.side-box.soft {
  background: var(--soft);
  box-shadow: none;
}
.ad-box {
  background: linear-gradient(160deg, #f6ecd6, #ecd9ae);
  border-radius: var(--radius);
  padding: 22px;
  color: #2b2108;
  margin-bottom: 20px;
}
.ad-box.dark {
  background: linear-gradient(160deg, #0f4d2e, #07261a);
  color: #fff;
}
.ad-box small {
  font: 800 9px var(--f-ui);
  letter-spacing: 0.2em;
  color: inherit;
  opacity: 0.7;
}
.ad-box h4 {
  font-size: 23px;
  margin: 8px 0;
}
.ad-box p {
  font: 400 14px var(--f-serif);
  opacity: 0.85;
}

/* ===== Post ===== */
.post-hero {
  border-radius: 20px;
  overflow: hidden;
  height: 440px;
}
.post-card {
  background: var(--paper);
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(10, 40, 25, 0.16);
  padding: 32px 36px;
  max-width: 760px;
  margin: -120px auto 0;
  position: relative;
  z-index: 2;
}
.post-card h1 {
  font-size: 44px;
  margin: 12px 0 16px;
}
.post-card .dek {
  font: 400 19px/1.55 var(--f-serif);
  color: var(--muted);
}
.byline {
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--line);
  margin-top: 22px;
  padding-top: 18px;
}
.byline .acts {
  margin-left: auto;
  display: flex;
  gap: 8px;
}
.abtn {
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  border-radius: 8px;
  padding: 6px 12px;
  font: 700 12px var(--f-ui);
  transition: 0.2s;
  cursor: pointer;
}
.abtn:hover {
  border-color: var(--green-600);
}
.abtn.on {
  background: #fde8ea;
  color: #c2324a;
  border-color: #f3b8c0;
}
.share-rail {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  font: 700 11px var(--f-ui);
  color: var(--muted);
}
.share-rail a {
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--paper);
  transition: 0.2s;
}
.share-rail a:hover {
  background: var(--green-700);
  color: #fff;
}
.share-rail .vl {
  width: 2px;
  height: 60px;
  background: var(--line);
  position: relative;
}
.share-rail .vl i {
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  background: var(--green-600);
  height: 0;
}
article.body {
  font: 400 18.5px/1.8 var(--f-serif);
}
article.body p:first-of-type:first-letter {
  float: left;
  font: 900 78px/0.85 var(--f-head);
  color: var(--green-700);
  padding: 6px 10px 0 0;
}
article.body h2 {
  font: 800 22px var(--f-head);
  margin: 36px 0 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  scroll-margin-top: 80px;
}
article.body h2:before {
  content: "";
  width: 22px;
  height: 3px;
  background: var(--gold);
}
article.body blockquote {
  border-left: 3px solid var(--green-600);
  padding: 6px 0 6px 26px;
  font: italic 400 24px/1.45 var(--f-serif);
  color: var(--green-800);
  margin: 30px 0;
}
[data-theme="dark"] article.body blockquote {
  color: #9fe3bf;
}
article.body ul {
  list-style: none;
  padding: 0;
  font: 400 17px var(--f-serif);
}
article.body ul li {
  padding: 7px 0 7px 26px;
  position: relative;
}
article.body ul li:before {
  content: "◆";
  position: absolute;
  left: 0;
  color: var(--green-600);
  font-size: 10px;
  top: 13px;
}
.numbers {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px 24px;
  margin: 34px 0;
  box-shadow: var(--shadow);
}
.numbers .row b {
  display: block;
  font: 900 38px var(--f-head);
  color: var(--green-600);
}
.numbers small {
  font: 400 12.5px/1.3 var(--f-ui);
  color: var(--muted);
  display: block;
}
.tag-pill {
  display: inline-block;
  border: 1px solid var(--line);
  background: var(--paper);
  padding: 6px 12px;
  border-radius: 8px;
  font: 600 12px var(--f-ui);
  margin: 0 6px 6px 0;
  transition: 0.2s;
}
.tag-pill:hover {
  background: var(--green-700);
  color: #fff;
}
.author-box {
  background: var(--soft);
  border-radius: 16px;
  padding: 26px;
  display: flex;
  gap: 18px;
  margin-top: 24px;
}
.toc a {
  display: flex;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
  font: 600 13px var(--f-ui);
}
.toc a b {
  color: var(--gold-d);
  font-size: 11px;
}
.toc a:hover,
.toc a.act {
  color: var(--green-600);
}
.file-row {
  display: flex;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 13px;
}
.file-row span {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.14em;
  color: var(--muted);
}
.rel-card .ph {
  height: 190px;
}
.rel-card .t {
  padding: 16px;
}
.rel-card h5 {
  font: 800 16px/1.25 var(--f-head);
}
.rel-card p {
  font: 400 13.5px/1.5 var(--f-serif);
  color: var(--muted);
}

/* ===== Search ===== */
.search-hero {
  background: var(--paper);
  padding: 34px 0 26px;
  border-bottom: 1px solid var(--line);
}
.search-hero h1 {
  font-size: 40px;
  margin-bottom: 18px;
}
.sbox {
  display: flex;
  gap: 12px;
  max-width: 790px;
}
.sbox .f {
  flex: 1;
  position: relative;
}
.sbox .f i {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted);
}
.sbox input {
  width: 100%;
  background: var(--cream);
  border: 1.5px solid var(--line);
  border-radius: 10px;
  padding: 14px 16px 14px 44px;
  outline: 0;
  color: var(--ink);
}
.sbox input:focus {
  border-color: var(--green-600);
  box-shadow: 0 0 0 4px rgba(19, 151, 92, 0.15);
}
.res {
  display: flex;
  gap: 20px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 14px;
  align-items: center;
  box-shadow: var(--shadow);
  transition: 0.25s;
}
.res:hover {
  transform: translateX(4px);
  border-color: var(--green-600);
}
.res .ph {
  width: 190px;
  height: 116px;
  border-radius: 10px;
  flex: none;
}
.res h3 {
  font-size: 19px;
  margin: 6px 0;
}
.res p {
  font: 400 14px/1.5 var(--f-serif);
  color: var(--muted);
  margin: 0;
}
.res .go {
  margin-left: auto;
  width: 32px;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex: none;
  color: var(--muted);
}
mark {
  background: #ffe9a6;
  color: inherit;
  padding: 0 2px;
  border-radius: 3px;
}
.pop a {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font: 600 14px var(--f-ui);
}
.pop a:hover {
  color: var(--green-600);
}
.empty {
  text-align: center;
  padding: 60px 0;
  color: var(--muted);
}

/* ===== Reveal ===== */
.js .rv {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.6s, transform 0.6s;
}
.js .rv.in {
  opacity: 1;
  transform: none;
}

/* ===== Responsive ===== */
@media (max-width: 1199px) {
  .logo b {
    font-size: 48px;
  }
  .logo b i {
    font-size: 62px;
  }
}
@media (max-width: 991px) {
  .interview-wrap,
  .lead-split,
  .event-main,
  .interview-feat {
    grid-template-columns: 1fr;
  }
  .lead-split .ph {
    min-height: 260px;
  }
  .lead-split h2 {
    font-size: 30px;
  }
  .post-card {
    margin-top: -70px;
    padding: 24px;
  }
  .post-card h1 {
    font-size: 32px;
  }
  .post-hero {
    height: 300px;
  }
  .desk-hero h1 {
    font-size: 36px;
  }
  .home-hero h1 {
    font-size: 30px;
  }
  .news-band .form {
    justify-content: flex-start;
    margin-top: 18px;
  }
  .interview-feat .ph {
    height: 220px;
  }
  .topbar .mid,
  .topbar .soc {
    display: none;
  }
}
@media (max-width: 575px) {
  .logo b {
    font-size: 34px;
  }
  .logo b i {
    font-size: 44px;
  }
  .logo span {
    font-size: 13px;
  }
  .logo small {
    margin-left: 30px;
    font-size: 5px;
  }
  .issue-box .k {
    display: none;
  }
  .res {
    flex-direction: column;
    align-items: flex-start;
  }
  .res .ph {
    width: 100%;
    height: 160px;
  }
  .res .go {
    display: none;
  }
  .news-band .form {
    flex-direction: column;
    align-items: stretch;
  }
  .news-band input {
    width: 100%;
  }
  .sbox {
    flex-direction: column;
  }
  .copy {
    flex-direction: column;
    gap: 6px;
  }
  .byline {
    flex-wrap: wrap;
  }
  .byline .acts {
    margin-left: 0;
  }
  .post-card h1 {
    font-size: 27px;
  }
  .search-hero h1 {
    font-size: 30px;
  }
}

/* ===== Refinement pass (matches 1920px reference screenshots) ===== */
@media (min-width: 1400px) {
  .container {
    max-width: max(1320px, min(1500px, 78vw));
  }
}
body {
  font-size: 16px;
}
.topbar .in {
  height: 40px;
  font-size: 13px;
}
.brandrow {
  padding: 10px 0 14px;
}
.logo b {
  font-size: 84px;
}
.logo b i {
  font-size: 108px;
}
.logo span {
  font-size: 27px;
}
.logo small {
  font-size: 9px;
  margin: 0 0 -6px 74px;
}
.issue-box .k {
  font-size: 11px;
}
.focus {
  height: 42px;
}
.focus .in {
  height: 40px;
}
.focus {
  font-size: 14px;
}
.navbar-x .in {
  height: 54px;
  transition: height 0.25s;
}
.navbar-x.stuck .in {
  height: 48px;
}
.nav-links > li > a {
  font-size: 14px;
}
.desk-hero {
  padding: 60px 0 62px;
}
.desk-hero h1 {
  font-size: 58px;
  letter-spacing: -0.035em;
}
.desk-hero p {
  font-size: 23px;
}
.desk-stat b {
  font-size: 42px;
}
.desk-stat small {
  font-size: 11px;
}
.filterbar .in {
  padding-top: 14px;
  padding-bottom: 14px;
}
.fchip.active {
  background: #0f6b43;
  border-color: #0f6b43;
}
.lead-split {
  border-radius: 22px;
}
.lead-split .ph {
  min-height: 530px;
}
.lead-split .txt {
  padding: 46px 52px;
}
.lead-split h2 {
  font-size: 46px;
  line-height: 1.08;
}
.lead-split p {
  font-size: 21px;
  line-height: 1.65;
}
.lead-split .txt .byline {
  margin-top: 26px;
}
.lead-split .tag {
  border-radius: 6px;
  padding: 7px 12px;
  font-size: 11px;
}
.sec-title h2 {
  font-size: 30px;
}
.list-card {
  border-radius: 18px;
  margin-bottom: 24px;
}
.list-card .ph {
  height: 178px;
}
.list-card .txt {
  padding: 22px 24px 20px;
}
.list-card h3 {
  font-size: 21px;
  margin-bottom: 10px;
}
.list-card p {
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 14px;
}
.list-card .meta {
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.chip.dark {
  background: #0b1d14;
  color: #fff;
  border-radius: 5px;
  padding: 5px 9px;
}
.side-box h6 {
  font-size: 12px;
}
.numbered li a {
  font-size: 16px;
}
.ad-box h4 {
  font-size: 26px;
}
.ad-box p {
  font-size: 16px;
}
.news-band h2 {
  font-size: 25px;
}
footer.site {
  font-size: 16px;
}
/* interactions */
.js .ph img {
  opacity: 0;
}
.js .ph img.ld {
  opacity: 1;
}
.btn-gold,
.btn-green,
.btn-line,
.pbtn,
.abtn {
  position: relative;
  overflow: hidden;
}
.rip {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  transform: scale(0);
  animation: rip 0.6s ease-out forwards;
  pointer-events: none;
}
@keyframes rip {
  to {
    transform: scale(4);
    opacity: 0;
  }
}
.tiltable {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  will-change: transform;
}
.list-card h3,
.row-mini h5,
.side-mini h5,
.res h3 {
  background: linear-gradient(currentColor, currentColor) 0 100%/0 2px no-repeat;
  transition: background-size 0.35s;
}
a:hover > .txt > h3,
a.row-mini:hover h5,
a.res:hover h3 {
  background-size: 100% 2px;
}
.fchip:active,
.btn-gold:active,
.btn-green:active {
  transform: scale(0.97);
}
:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
  .js .rv {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 991px) {
  .lead-split h2 {
    font-size: 32px;
  }
  .lead-split .txt {
    padding: 28px;
  }
  .lead-split .ph {
    min-height: 260px;
  }
  .desk-hero h1 {
    font-size: 38px;
  }
  .logo b {
    font-size: 52px;
  }
  .logo b i {
    font-size: 66px;
  }
  .logo span {
    font-size: 18px;
  }
  .logo small {
    margin-left: 44px;
  }
}
@media (max-width: 575px) {
  .logo b {
    font-size: 36px;
  }
  .logo b i {
    font-size: 46px;
  }
  .logo span {
    font-size: 13px;
  }
  .logo small {
    margin-left: 30px;
    font-size: 5px;
  }
  .news-band h2 {
    font-size: 18px;
  }
}

/* ===== Magazine covers & editions ===== */
.cover-card {
  display: block;
  position: relative;
  container-type: inline-size;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s;
  aspect-ratio: 1/1.414;
  background: var(--green-800);
}
.cover-card:hover {
  transform: translateY(-6px) rotate(-1deg);
  box-shadow: 0 24px 44px rgba(0, 0, 0, 0.35);
}
.cover-card .cc-hint {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translate(-50%, 12px);
  opacity: 0;
  background: var(--gold);
  color: #1b1304;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 8px 14px;
  border-radius: 30px;
  white-space: nowrap;
  transition: 0.3s;
  z-index: 3;
}
.cover-card:hover .cc-hint,
.cover-card:focus-visible .cc-hint {
  opacity: 1;
  transform: translate(-50%, 0);
}
.mcover {
  position: absolute;
  inset: 0;
  container-type: inline-size;
  color: #fff;
  background: linear-gradient(160deg, #18603f, #07261a);
}
.mcover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mcover:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(4, 25, 15, 0.7),
    rgba(4, 25, 15, 0.05) 35%,
    rgba(4, 25, 15, 0.92) 100%
  );
}
.mc-top,
.mc-bot {
  position: absolute;
  left: 7cqw;
  right: 7cqw;
  z-index: 2;
}
.mc-top {
  top: 7cqw;
}
.mc-bot {
  bottom: 8cqw;
}
.mc-top b {
  display: block;
  font: 900 13cqw/1 var(--f-head);
  letter-spacing: -0.05em;
}
.mc-top small {
  display: block;
  font: 700 2.6cqw var(--f-ui);
  letter-spacing: 0.2em;
  opacity: 0.85;
  margin-top: 1.5cqw;
}
.mc-bot em {
  font: 800 3cqw var(--f-ui);
  letter-spacing: 0.16em;
  font-style: normal;
  color: var(--gold);
}
.mc-bot h4 {
  font: 900 10.5cqw/1.02 var(--f-head);
  letter-spacing: -0.03em;
  margin: 2.5cqw 0 0;
  color: #fff;
}
.issue-card .cover-card {
  max-width: 240px;
  margin: 0 auto;
}
.ed-feature {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 40px;
  align-items: center;
  margin-bottom: 44px;
}
/* --- Magazine editions / archive --- */
.ed-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}
.ed-grid.all {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.ed-card .ed-meta {
  padding-top: 14px;
}
.ed-card h5 {
  font: 800 18px/1.2 var(--f-head);
  margin: 6px 0 12px;
}
.ed-card .btn-green,
.ed-card .btn-line {
  padding: 7px 12px;
  font-size: 12px;
}
/* reader */
.reader {
  position: fixed;
  inset: 0;
  z-index: 5000;
  background: #05160e;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transition: opacity 0.3s;
  color: #fff;
}
.reader[hidden] {
  display: none;
}
.reader.show {
  opacity: 1;
}
.rd-bar {
  height: 56px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  flex: none;
}
.rd-title {
  min-width: 0;
}
.rd-title b {
  display: block;
  font: 800 15px var(--f-head);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rd-title small {
  font: 600 11px var(--f-ui);
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.rd-tabs {
  display: flex;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 3px;
  margin: 0 auto;
}
.rd-tabs button {
  background: transparent;
  border: 0;
  color: #cfe5d8;
  font: 700 12px var(--f-ui);
  padding: 7px 14px;
  border-radius: 8px;
  display: flex;
  gap: 6px;
  align-items: center;
  cursor: pointer;
}
.rd-tabs button.on {
  background: var(--gold);
  color: #1b1304;
}
.rd-acts {
  display: flex;
  gap: 6px;
}
.rd-acts button,
.rd-acts a {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: 0.2s;
}
.rd-acts button:hover,
.rd-acts a:hover {
  background: rgba(255, 255, 255, 0.2);
}
.rd-stage {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  min-height: 0;
}
.rd-stage.zoomed {
  align-items: flex-start;
  justify-content: flex-start;
}
.rd-stage.zoomed .book {
  margin: auto;
}
.rd-stage iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #525659;
}
.rd-nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  display: grid;
  place-items: center;
  z-index: 5;
  cursor: pointer;
  transition: 0.2s;
}
.rd-nav:hover:not(:disabled) {
  background: var(--gold);
  color: #111;
}
.rd-nav:disabled {
  opacity: 0.25;
  cursor: default;
}
.rd-nav.prev {
  left: 16px;
}
.rd-nav.next {
  right: 16px;
}
.book {
  --ph: 600px;
  position: relative;
  height: var(--ph);
  width: calc(var(--ph) / 1.414 * 2);
  perspective: 2400px;
  flex: none;
  margin: auto;
  transition: width 0.3s;
}
.book.single {
  width: calc(var(--ph) / 1.414);
}
.book .pgL,
.book .pgR {
  position: absolute;
  top: 0;
  height: 100%;
  width: 50%;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}
.book .pgL {
  left: 0;
  border-radius: 6px 0 0 6px;
}
.book .pgR {
  right: 0;
  border-radius: 0 6px 6px 0;
}
.book .pgL:after,
.book .pgR:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 6%;
  pointer-events: none;
  z-index: 4;
}
.book .pgL:after {
  right: 0;
  background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.18));
}
.book .pgR:before {
  left: 0;
  background: linear-gradient(270deg, transparent, rgba(0, 0, 0, 0.18));
}
.book.single .pgL {
  display: none;
}
.book.single .pgR {
  width: 100%;
  border-radius: 6px;
}
.book.single .pgR:before {
  display: none;
}
.book.at-start .pgL,
.book.at-end .pgR {
  background: transparent;
  box-shadow: none;
}
.book.at-start .pgL:after,
.book.at-end .pgR:before {
  display: none;
}
.leaf {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.75s cubic-bezier(0.45, 0.05, 0.25, 1);
  z-index: 6;
}
.leaf .face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: #fff;
  overflow: hidden;
}
.leaf .back {
  transform: rotateY(180deg);
}
.pgR.slide-r {
  animation: slr 0.35s ease;
}
.pgR.slide-l {
  animation: sll 0.35s ease;
}
@keyframes slr {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
}
@keyframes sll {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
}
.pg {
  width: 100%;
  height: 100%;
  font-size: calc(var(--ph) / 52);
  position: relative;
  background: #fff;
  color: #0e1a14;
  padding: 3.2em 3em 3em;
  overflow: hidden;
}
.pg.empty {
  background: transparent;
}
.pg-cover {
  padding: 0;
  container-type: inline-size;
}
.pg-cover .mcover {
  position: absolute;
}
.pg-num {
  position: absolute;
  bottom: 1.4em;
  left: 0;
  right: 0;
  text-align: center;
  font: 600 0.8em var(--f-ui);
  color: #5d6b63;
}
.pg .kicker {
  font-size: 0.75em;
}
.pg h3 {
  font: 900 2.3em/1.05 var(--f-head);
  letter-spacing: -0.03em;
  margin: 0.5em 0 0.6em;
}
.pg p {
  font: 400 0.98em/1.6 var(--f-serif);
  margin: 0 0 0.9em;
  color: #33433a;
}
.pg p.dek {
  font-size: 1.1em;
  color: #0e1a14;
  font-style: italic;
}
.pg p.dc:first-letter {
  float: left;
  font: 900 4em/0.8 var(--f-head);
  color: var(--green-700);
  padding: 0.08em 0.1em 0 0;
}
.pg blockquote {
  font: italic 1.35em/1.4 var(--f-serif);
  color: var(--green-800);
  border-left: 3px solid var(--gold);
  padding-left: 1em;
  margin: 1.2em 0;
}
.pa-img {
  position: relative;
  height: 33%;
  margin: -3.2em -3em 1.4em;
  overflow: hidden;
  background: var(--green-800);
}
.pa-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pa-img .chip {
  position: absolute;
  left: 1.2em;
  top: 1.2em;
  font-size: 0.7em;
}
.pa-by {
  display: flex;
  gap: 0.8em;
  align-items: center;
  font: 700 0.85em var(--f-ui);
  margin-top: 1.4em;
}
.pg-toc {
  background: #f4f5ef;
}
.pg-toc ol {
  list-style: none;
  padding: 0;
  margin: 1.2em 0;
}
.pg-toc li {
  display: flex;
  gap: 1em;
  align-items: baseline;
  padding: 0.9em 0;
  border-bottom: 1px solid #dfe3da;
  font: 700 1.05em/1.25 var(--f-head);
}
.pg-toc li b {
  color: var(--gold-d);
  font-size: 0.8em;
}
.pg-toc li span {
  flex: 1;
}
.pg-toc li i {
  font: 500 0.75em var(--f-ui);
  color: #5d6b63;
  font-style: normal;
}
.pg-toc .note {
  font-style: italic;
  margin-top: 2em;
}
.pg-back {
  background: var(--green-900);
  color: #fff;
  display: grid;
  place-items: center;
  text-align: center;
}
.pg-back em {
  font: 800 1em var(--f-ui);
  letter-spacing: 0.2em;
  color: var(--gold);
  font-style: normal;
}
.pg-back p {
  color: #fff;
  margin-top: 1em;
}
.pg-back small {
  opacity: 0.6;
}
.rd-thumbs {
  height: 90px;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 12px 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  flex: none;
}
.rd-thumbs[hidden] {
  display: none;
}
.rd-thumbs button {
  flex: 0 0 auto;
  min-width: 72px;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border-radius: 8px;
  display: grid;
  place-items: center;
  cursor: pointer;
  padding: 4px 10px;
}
.rd-thumbs button span {
  font: 800 18px var(--f-head);
}
.rd-thumbs button small {
  font-size: 10px;
  opacity: 0.7;
}
.rd-thumbs button.on {
  border-color: var(--gold);
  background: rgba(217, 164, 65, 0.2);
}
.rd-foot {
  height: 52px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  flex: none;
  font: 700 12px var(--f-ui);
}
.rd-foot span:first-child {
  min-width: 150px;
  color: var(--gold);
}
.rd-foot input {
  flex: 1;
  accent-color: var(--gold);
}
.rd-hint {
  color: #8fb3a1;
  font-weight: 500;
}
@media (max-width: 991px) {
  .ed-feature {
    grid-template-columns: 200px 1fr;
    gap: 24px;
  }
  .ed-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .rd-hint {
    display: none;
  }
  .rd-tabs button span {
    display: none;
  }
  .rd-nav {
    width: 38px;
    height: 38px;
  }
  .rd-nav.prev {
    left: 6px;
  }
  .rd-nav.next {
    right: 6px;
  }
  #rdFull {
    display: none;
  }
}
@media (max-width: 575px) {
  .ed-feature {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .ed-feature .cover-card {
    max-width: 240px;
  }
  .ed-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .rd-title small {
    display: none;
  }
  .rd-foot span:first-child {
    min-width: 0;
    font-size: 11px;
  }
  .rd-bar {
    gap: 8px;
    padding: 0 10px;
  }
  .rd-acts {
    gap: 4px;
  }
  .rd-acts button,
  .rd-acts a {
    width: 32px;
    height: 32px;
  }
  .ed-card h5 {
    font-size: 15px;
  }
  .ed-card .btn-line:not([data-mode]) {
    display: none;
  }
}

/* static reader source pages + no-JS fallback */
.pages {
  display: none;
}
.no-js .reader {
  display: none;
}
.no-js .pages {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  padding: 24px;
  background: #05160e;
}
.no-js .pages .pg-src {
  width: min(420px, 100%);
  aspect-ratio: 1/1.414;
  --ph: 594px;
}
body.reader-page {
  margin: 0;
  background: #05160e;
  overflow: hidden;
}
.reader-page .rd-acts a#rdClose {
  text-decoration: none;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* ===== Design-only (no JavaScript) ===== */
html:has(#themeChk:checked) {
  --cream: #0b1410;
  --paper: #121e18;
  --ink: #eaf1ec;
  --muted: #9cb0a4;
  --line: #223229;
  --soft: #16251d;
  --shadow: 0 6px 24px rgba(0, 0, 0, 0.4);
}
html:has(#themeChk:checked) .btn-line {
  color: #7fe0ab;
  border-color: #2c6a4b;
}
html:has(#themeChk:checked) .link-arrow {
  color: #7fe0ab;
}
html:has(#themeChk:checked) .topbar,
html:has(#themeChk:checked) .brandrow {
  background: #0e1914;
}
html:has(#themeChk:checked) .logo b,
html:has(#themeChk:checked) .logo span {
  color: #fff;
}
html:has(#themeChk:checked) .focus {
  background: #1a1a10;
}
html:has(#themeChk:checked) .focus .lbl {
  color: #eee;
}
html:has(#themeChk:checked) article.body blockquote {
  color: #9fe3bf;
}
.mob-chk {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}
label.ibtn,
a.ibtn {
  cursor: pointer;
  text-decoration: none;
}
.mobnav {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 310px;
  max-width: 86vw;
  background: var(--green-800);
  color: #fff;
  z-index: 2100;
  transform: translateX(-100%);
  transition: transform 0.3s;
  overflow: auto;
  padding: 16px;
}
.mob-chk:checked ~ .mobnav {
  transform: none;
}
.mob-scrim {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2090;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.mob-chk:checked ~ .mob-scrim {
  opacity: 1;
  visibility: visible;
}
.mn-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font: 800 16px var(--f-head);
}
.mobnav details {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.mobnav summary {
  list-style: none;
  cursor: pointer;
  padding: 14px 0;
  font: 800 13px var(--f-ui);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: flex;
  justify-content: space-between;
}
.mobnav summary::-webkit-details-marker {
  display: none;
}
.mobnav summary:after {
  content: "+";
  font-size: 18px;
  line-height: 1;
}
.mobnav details[open] summary:after {
  content: "–";
}
.mobnav details a {
  display: block;
  padding: 8px 0 8px 8px;
  color: #cfe5d8;
}
@media (min-width: 992px) {
  .mobnav,
  .mob-scrim {
    display: none;
  }
}
#searchOverlay:target {
  display: flex;
}
.nav-links > li:focus-within .mega {
  opacity: 1;
  visibility: visible;
  transform: none;
}
html:has(#themeChk:checked) .theme-lbl i:before {
  content: "\f5a2";
}
a#toTop {
  display: grid;
  place-items: center;
  text-decoration: none;
}
@supports (animation-timeline: scroll()) {
  #readbar {
    width: 100%;
    transform: scaleX(0);
    transform-origin: left;
    animation: rb linear both;
    animation-timeline: scroll(root);
  }
  @keyframes rb {
    to {
      transform: scaleX(1);
    }
  }
}
/* CSS-only magazine viewer */
.rd-wrap {
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
  background: #05160e;
  color: #fff;
}
.rd-wrap .rd-bar {
  height: 56px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  flex: none;
}
.rd-tabs a {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: #cfe5d8;
  font: 700 12px var(--f-ui);
  padding: 8px 14px;
  border-radius: 8px;
}
.rd-tabs {
  display: flex;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 3px;
  margin: 0 auto;
}
.rd-tabs .t-flip {
  background: var(--gold);
  color: #1b1304;
}
body:has(#pdf:target) .rd-tabs .t-flip {
  background: transparent;
  color: #cfe5d8;
}
body:has(#pdf:target) .rd-tabs .t-pdf {
  background: var(--gold);
  color: #1b1304;
}
.rd-acts a {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  display: inline-grid;
  place-items: center;
  margin-left: 6px;
}
.rd-flip {
  flex: 1;
  min-height: 0;
  display: flex;
}
.rd-strip {
  --ph: min(calc(100vh - 56px - 76px - 40px), 120vw);
  display: flex;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  width: 100%;
  align-items: center;
  padding: 0 max(16px, calc(50% - var(--ph) / 1.414));
  scroll-behavior: smooth;
}
.rd-strip .pg-src {
  flex: none;
  height: var(--ph);
  width: calc(var(--ph) / 1.414);
  scroll-snap-align: center;
  background: #fff;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  margin: 0 2px;
}
.rd-strip .pg-src:nth-child(odd) {
  border-radius: 0 6px 6px 0;
  margin-right: 14px;
}
.rd-strip .pg-src:nth-child(even) {
  border-radius: 6px 0 0 6px;
}
.rd-pdf {
  display: none;
  flex: 1;
  min-height: 0;
}
.rd-pdf iframe {
  width: 100%;
  height: 100%;
  border: 0;
  background: #525659;
}
body:has(#pdf:target) .rd-pdf {
  display: block;
}
body:has(#pdf:target) .rd-flip,
body:has(#pdf:target) .rd-pages {
  display: none;
}
.rd-pages {
  height: 76px;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 10px 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  flex: none;
}
.rd-pages a {
  flex: 0 0 auto;
  min-width: 72px;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border-radius: 8px;
  display: grid;
  place-items: center;
  padding: 2px 10px;
}
.rd-pages a:hover,
.rd-pages a:target {
  border-color: var(--gold);
}
.rd-pages b {
  font: 800 18px var(--f-head);
}
.rd-pages small {
  font-size: 10px;
  opacity: 0.7;
}
@media (max-width: 575px) {
  .rd-tabs a span {
    display: none;
  }
  .rd-title small {
    display: none;
  }
}

/* ===== v3 additions ===== */
.rd-fallback {
  display: none;
}
/* --- Header ad banner --- */
.hdr-ad {
  align-items: center;
  gap: 16px;
  background: linear-gradient(120deg, #f6ecd6, #ecd9ae);
  border: 1px solid #e3cf9c;
  border-radius: 12px;
  padding: 10px 14px 10px 18px;
  color: #2b2108;
  margin-right: 6px;
  transition: 0.25s;
}
.hdr-ad:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}
.hdr-ad small {
  display: block;
  font: 800 9px var(--f-ui);
  letter-spacing: 0.2em;
  opacity: 0.7;
}
.hdr-ad b {
  font: 800 15px var(--f-head);
  letter-spacing: -0.02em;
}
.hdr-ad .btn-gold {
  padding: 8px 12px;
  font-size: 10px;
}
.mega-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--line);
  padding: 12px 0 16px;
  font: 800 10px var(--f-ui);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}
.mega-foot a {
  color: var(--green-700);
  border-bottom: 2px solid var(--gold);
  padding-bottom: 2px;
}
.desk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
}
.desk-card {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  background: var(--green-800);
  box-shadow: var(--shadow);
  transition: transform 0.25s, box-shadow 0.25s;
}
.desk-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(10, 40, 25, 0.2);
}
.desk-card .ph {
  height: 120px;
}
.desk-card .ph:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(4, 25, 15, 0.85), transparent 70%);
}
.desk-card .dc-t {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 10px;
  color: #fff;
  z-index: 2;
}
.desk-card b {
  display: block;
  font: 800 16px var(--f-head);
  letter-spacing: -0.02em;
}
.desk-card small {
  font: 700 10px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
}
.share-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 14px 0;
  margin: 8px 0 22px;
}
.share-row a {
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--paper);
  transition: 0.2s;
}
.share-row a:hover {
  background: var(--green-700);
  color: #fff;
  transform: translateY(-2px);
}
.post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.post-nav a {
  display: block;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px 20px;
  box-shadow: var(--shadow);
  transition: 0.25s;
}
.post-nav a:hover {
  transform: translateY(-3px);
  border-color: var(--green-600);
}
.post-nav a.r {
  text-align: right;
}
.post-nav small {
  display: block;
  font: 800 10px var(--f-ui);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold-d);
  margin-bottom: 6px;
}
.post-nav b {
  font: 800 16px/1.25 var(--f-head);
  letter-spacing: -0.02em;
}
.ed-spot {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 44px;
  align-items: center;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 34px;
  box-shadow: var(--shadow);
  margin-bottom: 44px;
}
.ed-spot h2 {
  font-size: 38px;
}
.ed-spot p {
  font-size: 18px;
  line-height: 1.6;
  color: var(--muted);
}
.plan {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px;
  height: 100%;
  box-shadow: var(--shadow);
  position: relative;
  transition: 0.25s;
}
.plan:hover {
  transform: translateY(-4px);
}
.plan.pop {
  border: 2px solid var(--gold);
  background: linear-gradient(180deg, #fffaf0, var(--paper));
}
.plan .chip {
  position: absolute;
  top: -12px;
  left: 24px;
}
.plan h4 {
  font-size: 22px;
}
.plan .price b {
  font: 900 38px var(--f-head);
  color: var(--green-700);
}
.plan .price small {
  color: var(--muted);
  margin-left: 4px;
}
.plan ul {
  list-style: none;
  padding: 0;
  margin: 14px 0 22px;
}
.plan li {
  padding: 7px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.plan li i {
  color: var(--green-600);
  margin-right: 6px;
}
@media (max-width: 991px) {
  .ed-spot {
    grid-template-columns: 200px 1fr;
    gap: 24px;
    padding: 22px;
  }
  .ed-spot h2 {
    font-size: 28px;
  }
  .post-nav {
    grid-template-columns: 1fr;
  }
  .post-nav a.r {
    text-align: left;
  }
}
@media (max-width: 575px) {
  .ed-spot {
    grid-template-columns: 1fr;
  }
  .ed-spot .cover-card {
    max-width: 220px;
  }
  .desk-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ===== CSS-only flip-book reader (no JavaScript) ===== */
.rd-in {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}
body.reader-page {
  overflow: hidden;
}
.rd-wrap .rd-stage {
  flex: 1;
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: auto;
  min-height: 0;
  padding: 20px;
}
.rd-wrap .book {
  --k: 1;
  --ph: calc(
    min(calc(100vh - 56px - 76px - 48px), calc((100vw - 150px) * 0.707)) *
      var(--k)
  );
  margin: auto;
  display: none;
  flex: none;
  height: var(--ph);
  width: calc(var(--ph) / 1.414 * 2);
}
.rd-wrap .book .pgR {
  animation: turnR 0.75s cubic-bezier(0.45, 0.05, 0.25, 1) both;
  transform-origin: left center;
}
.rd-wrap .book .pgL {
  animation: fadeL 0.75s ease both;
}
@keyframes turnR {
  from {
    transform: perspective(2400px) rotateY(-95deg);
    filter: brightness(0.7);
  }
  to {
    transform: none;
    filter: none;
  }
}
@keyframes fadeL {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 1;
  }
}
.rd-nav {
  display: none;
  cursor: pointer;
}
.rd-wrap .rd-nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  place-items: center;
  z-index: 5;
  transition: 0.2s;
}
.rd-wrap .rd-nav:hover {
  background: var(--gold);
  color: #111;
}
.rd-nav.prev {
  left: 16px;
}
.rd-nav.next {
  right: 16px;
}
.rd-strip-m {
  display: none;
}
.rd-wrap .rd-tabs label,
.rd-wrap .zl {
  cursor: pointer;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: #cfe5d8;
  font: 700 12px var(--f-ui);
  padding: 8px 14px;
  border-radius: 8px;
}
.rd-wrap .zl {
  width: auto;
  height: 36px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  margin-left: 6px;
  color: #fff;
}
.rd-pages .th {
  cursor: pointer;
  flex: 0 0 auto;
  min-width: 72px;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border-radius: 8px;
  display: grid;
  place-items: center;
  padding: 2px 10px;
}
.rd-pages .th:hover {
  border-color: var(--gold);
}
.rd-pages .th b {
  font: 800 18px var(--f-head);
}
.rd-pages .th small {
  font-size: 10px;
  opacity: 0.7;
}
#mflip:checked ~ .rd-wrap .t-flip,
#mpdf:checked ~ .rd-wrap .t-pdf {
  background: var(--gold);
  color: #1b1304;
}
#z1:checked ~ .rd-wrap .zl1,
#z2:checked ~ .rd-wrap .zl2,
#z3:checked ~ .rd-wrap .zl3 {
  background: var(--gold);
  color: #1b1304;
  border-color: var(--gold);
}
#z2:checked ~ .rd-wrap .book {
  --k: 1.25;
}
#z3:checked ~ .rd-wrap .book {
  --k: 1.5;
}
#mpdf:checked ~ .rd-wrap .rd-stage,
#mpdf:checked ~ .rd-wrap .rd-foot,
#mpdf:checked ~ .rd-wrap .zl {
  display: none;
}
.rd-wrap .rd-pdf {
  display: none;
}
#mpdf:checked ~ .rd-wrap .rd-pdf {
  display: block;
}
#v0:checked ~ .rd-wrap .view-0 {
  display: block;
}
#v0:checked ~ .rd-wrap .nv-0 {
  display: grid;
}
#v0:checked ~ .rd-wrap .th-0 {
  border-color: var(--gold);
  background: rgba(217, 164, 65, 0.2);
}
#v1:checked ~ .rd-wrap .view-1 {
  display: block;
}
#v1:checked ~ .rd-wrap .nv-1 {
  display: grid;
}
#v1:checked ~ .rd-wrap .th-1 {
  border-color: var(--gold);
  background: rgba(217, 164, 65, 0.2);
}
#v2:checked ~ .rd-wrap .view-2 {
  display: block;
}
#v2:checked ~ .rd-wrap .nv-2 {
  display: grid;
}
#v2:checked ~ .rd-wrap .th-2 {
  border-color: var(--gold);
  background: rgba(217, 164, 65, 0.2);
}
#v3:checked ~ .rd-wrap .view-3 {
  display: block;
}
#v3:checked ~ .rd-wrap .nv-3 {
  display: grid;
}
#v3:checked ~ .rd-wrap .th-3 {
  border-color: var(--gold);
  background: rgba(217, 164, 65, 0.2);
}
#v4:checked ~ .rd-wrap .view-4 {
  display: block;
}
#v4:checked ~ .rd-wrap .nv-4 {
  display: grid;
}
#v4:checked ~ .rd-wrap .th-4 {
  border-color: var(--gold);
  background: rgba(217, 164, 65, 0.2);
}
#v0:checked ~ .rd-wrap .nv-0.prev {
  display: none;
}
@media (max-width: 899px) {
  .rd-wrap .book,
  .rd-wrap .rd-nav,
  .rd-wrap .rd-foot,
  .rd-wrap .zl {
    display: none !important;
  }
  .rd-wrap .rd-stage {
    padding: 0;
    align-items: center;
  }
  .rd-strip-m {
    display: flex;
  }
  .rd-wrap .rd-tabs label span {
    display: none;
  }
  .rd-wrap .rd-title small {
    display: none;
  }
}

/* ===== Responsive pass: desktop / laptop / tablet / mobile ===== */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}
img,
video,
iframe {
  max-width: 100%;
}
.row > * {
  min-width: 0;
}
/* large desktop */
@media (min-width: 1700px) {
  html {
    font-size: 17px;
  }
}
/* laptop */
@media (max-width: 1399px) and (min-width: 1200px) {
  .container {
    max-width: 1200px;
  }
}
/* small laptop / tablet landscape */
@media (max-width: 1199px) {
  .logo b {
    font-size: 42px;
  }
  .logo b i {
    font-size: 54px;
  }
  footer.site .logo b {
    font-size: 38px;
  }
  footer.site .logo b i {
    font-size: 48px;
  }
  .nav-links > li > a {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 13px;
  }
  .mega {
    max-width: calc(100vw - 32px);
  }
  .ed-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* tablet */
@media (max-width: 991px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .logo b {
    font-size: 46px;
  }
  .logo b i {
    font-size: 58px;
  }
  .hdr-ad {
    display: none;
  }
  .ed-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .desk-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .sidebar,
  .side {
    margin-top: 24px;
  }
  .plan {
    margin-bottom: 16px;
  }
  footer.site .col-6 {
    width: 50%;
  }
  table {
    display: block;
    overflow-x: auto;
  }
}
@media (max-width: 767px) {
  body {
    font-size: 15px;
  }
  h1 {
    font-size: clamp(26px, 7vw, 34px);
  }
  h2 {
    font-size: clamp(22px, 5.6vw, 28px);
  }
  .section,
  .sec {
    padding-top: 36px;
    padding-bottom: 36px;
  }
  .home-hero h1 {
    font-size: 28px;
  }
  .ed-spot {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .ed-spot .cover-card {
    max-width: 240px;
  }
  .share-row {
    flex-wrap: wrap;
    gap: 8px;
  }
  .post-card {
    margin-top: -50px;
    padding: 20px 16px;
  }
  .post-nav {
    grid-template-columns: 1fr;
  }
  .stats,
  .desk-stats {
    flex-wrap: wrap;
    gap: 14px;
  }
  .rd-bar {
    flex-wrap: wrap;
    height: auto;
    min-height: 52px;
    padding: 6px 10px;
  }
  .rd-strip-m {
    padding-left: 12px;
    padding-right: 12px;
  }
}
/* mobile */
@media (max-width: 575px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
  .ed-grid,
  .desk-grid {
    gap: 12px;
  }
  .ed-feature {
    grid-template-columns: 1fr;
  }
  .logo b {
    font-size: 34px;
  }
  .logo b i {
    font-size: 44px;
  }
  .ticker {
    font-size: 12px;
  }
  .btn,
  .btn-line,
  .btn-gold {
    min-height: 42px;
  }
  input,
  select,
  textarea {
    font-size: 16px;
  }
  .sbox input {
    width: 100%;
  }
  .mega-foot {
    display: none;
  }
  footer.site .col-6 {
    width: 100%;
  }
  footer.site {
    padding-top: 32px;
  }
  #toTop {
    right: 12px;
    bottom: 12px;
  }
}
@media (max-width: 359px) {
  .logo b {
    font-size: 28px;
  }
  .logo b i {
    font-size: 36px;
  }
  .logo span {
    font-size: 11px;
  }
  .ed-grid,
  .desk-grid {
    grid-template-columns: 1fr;
  }
  h1 {
    font-size: 24px;
  }
}
/* touch devices: no hover-only mega menu dependence */
@media (hover: none) {
  .nav-links > li:hover .mega {
    display: none;
  }
  .nav-links > li:focus-within .mega {
    display: block;
  }
}
/* landscape phones */
@media (max-height: 500px) and (orientation: landscape) {
  .mobnav {
    overflow-y: auto;
  }
  .post-hero {
    height: 220px;
  }
}
@media print {
  .topbar,
  .ticker,
  #toTop,
  .mobnav,
  .mob-scrim {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .band {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 14px;
  }
  .band .btn-gold {
    white-space: normal !important;
  }
}
@media (max-width: 575px) {
  #toTop {
    width: 38px;
    height: 38px;
    opacity: 0.9;
  }
}

/* ===== Laptop header/footer + back-to-top fixes ===== */
.logo {
  max-width: 100%;
}
.logo b,
.logo b i {
  white-space: nowrap;
}
@media (min-width: 1700px) {
  .logo b {
    font-size: 84px;
  }
  .logo b i {
    font-size: 108px;
  }
  .logo span {
    font-size: 27px;
  }
  .logo small {
    font-size: 9px;
    margin: 0 0 -6px 74px;
  }
  footer.site .logo b {
    font-size: 58px;
  }
  footer.site .logo b i {
    font-size: 76px;
  }
  footer.site .logo span {
    font-size: 20px;
  }
}
@media (min-width: 1400px) and (max-width: 1699px) {
  .logo b {
    font-size: 68px;
  }
  .logo b i {
    font-size: 88px;
  }
  .logo span {
    font-size: 22px;
  }
  .logo small {
    font-size: 8px;
    margin: 0 0 -5px 60px;
  }
  footer.site .logo b {
    font-size: 50px;
  }
  footer.site .logo b i {
    font-size: 66px;
  }
  footer.site .logo span {
    font-size: 17px;
  }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .logo b {
    font-size: 52px;
  }
  .logo b i {
    font-size: 68px;
  }
  .logo span {
    font-size: 18px;
  }
  .logo small {
    font-size: 7px;
    margin: 0 0 -4px 46px;
  }
  footer.site .logo b {
    font-size: 44px;
  }
  footer.site .logo b i {
    font-size: 58px;
  }
  footer.site .logo span {
    font-size: 15px;
  }
  .hdr-ad {
    padding: 8px 12px;
  }
  .hdr-ad b {
    font-size: 14px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .logo b {
    font-size: 44px;
  }
  .logo b i {
    font-size: 58px;
  }
  .logo span {
    font-size: 16px;
  }
  .logo small {
    margin-left: 38px;
  }
  footer.site .logo b {
    font-size: 36px;
  }
  footer.site .logo b i {
    font-size: 48px;
  }
  footer.site .logo span {
    font-size: 14px;
  }
}
@media (min-width: 992px) {
  footer.site .col-lg-5 {
    padding-right: 32px;
  }
}
.logo span .bi {
  font-size: 0.85em;
  vertical-align: -0.1em;
}
/* back to top button */
a#toTop,
#toTop {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border-radius: 50%;
  background: var(--gold);
  color: #1a1405;
  font-size: 0;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28),
    0 0 0 3px rgba(255, 255, 255, 0.18);
  transition: transform 0.2s, background 0.2s;
  right: 22px;
  bottom: 22px;
}
#toTop i {
  font-size: 20px;
  line-height: 1;
  display: block;
  margin: 0;
  color: inherit;
}
#toTop:hover {
  transform: translateY(-3px);
  background: #e8b653;
}
@media (max-width: 575px) {
  a#toTop,
  #toTop {
    width: 40px;
    height: 40px;
    right: 14px;
    bottom: 14px;
  }
  #toTop i {
    font-size: 18px;
  }
}
#toTop i {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  vertical-align: 0;
}
#toTop i::before {
  display: block;
  line-height: 1;
  vertical-align: 0;
  margin: 0;
  transform: translateY(0);
}
footer.site .logo span .bi,
footer.site .logo span i {
  color: var(--gold) !important;
}
a#toTop.show,
#toTop.show {
  display: grid;
  place-items: center;
  align-content: center;
}
@media (max-width: 767px) {
  footer.site {
    padding-bottom: 64px;
  }
}

/* ===================== v4 : header / home redesign ===================== */
/* --- top bar --- */
.topbar,
[data-theme="dark"] .topbar,
html:has(#themeChk:checked) .topbar {
  background: linear-gradient(90deg, #06201a, #0b3b24 50%, #06201a);
  color: #d3e4d9;
  border-bottom: 1px solid rgba(217, 164, 65, 0.45);
}
.topbar .in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  height: 38px;
}
.topbar .tb-date {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  font-weight: 600;
}
.topbar .tb-date i {
  color: var(--gold);
}
.topbar em.mid {
  color: #e9d9ad;
  font-size: 16.5px;
  opacity: 0.95;
  font-weight: 600;
}
.topbar .soc {
  display: flex !important;
  align-items: center;
  gap: 0;
}
.topbar .tb-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 0 18px;
  font: 700 11px var(--f-ui);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  opacity: 0.9;
  white-space: nowrap;
}
.topbar .tb-link i {
  color: var(--gold);
  font-size: 13px;
}
.topbar .tb-link:hover {
  color: var(--gold);
  opacity: 1;
}
.topbar .tb-issue {
  margin: 0 0 0 18px;
  padding: 3px 10px;
  border: 1px solid rgba(217, 164, 65, 0.55);
  border-radius: 20px;
  font: 800 10px var(--f-ui);
  letter-spacing: 0.14em;
  color: var(--gold);
  white-space: nowrap;
}
.topbar .tb-soc {
  display: inline-flex;
  margin-left: 8px;
  padding-left: 6px;
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}
.topbar .tb-soc a {
  margin-left: 12px;
  color: #fff;
  opacity: 0.8;
  font-size: 13px;
  transition: 0.2s;
}
.topbar .tb-soc a:hover {
  color: var(--gold);
  opacity: 1;
  transform: translateY(-1px);
}
/* --- brand row: logo left, ad right --- */
.brandrow {
  padding: 14px 0 16px;
}
.brand-in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.brand-in .logo {
  flex: 0 0 auto;
}
.hdr-ad {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex: 1 1 auto;
  max-width: 700px;
  min-height: 92px;
  margin: 0 0 0 auto;
  padding: 12px 18px 12px 22px;
  background: linear-gradient(120deg, #f8efd9, #ecd9ae);
  border: 1px solid #e0c98f;
  border-radius: 14px;
  color: #2b2108;
  box-shadow: 0 6px 18px rgba(120, 86, 10, 0.12);
  position: relative;
  overflow: hidden;
}
.hdr-ad:before {
  content: "AD";
  position: absolute;
  right: 8px;
  top: 6px;
  font: 800 8px var(--f-ui);
  letter-spacing: 0.14em;
  color: rgba(43, 33, 8, 0.45);
}
.hdr-ad .ha-txt {
  display: block;
  min-width: 0;
}
.hdr-ad small {
  display: block;
  font: 800 9px var(--f-ui);
  letter-spacing: 0.2em;
  opacity: 0.65;
  margin-bottom: 3px;
}
.hdr-ad b {
  display: block;
  font: 800 21px/1.15 var(--f-head);
  letter-spacing: -0.02em;
}
.hdr-ad em {
  display: block;
  font: 400 13px var(--f-serif);
  opacity: 0.8;
  margin-top: 3px;
}
.hdr-ad .btn-gold {
  flex: none;
  white-space: nowrap;
}
@media (min-width: 1700px) {
  .logo b {
    font-size: 100px;
  }
  .logo b i {
    font-size: 129px;
  }
  .logo span {
    font-size: 32px;
  }
  .logo small {
    font-size: 11px;
    margin: 0 0 -7px 88px;
  }
}
@media (min-width: 1400px) and (max-width: 1699px) {
  .logo b {
    font-size: 82px;
  }
  .logo b i {
    font-size: 106px;
  }
  .logo span {
    font-size: 26px;
  }
  .logo small {
    font-size: 9px;
    margin: 0 0 -6px 72px;
  }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .logo b {
    font-size: 64px;
  }
  .logo b i {
    font-size: 83px;
  }
  .logo span {
    font-size: 20px;
  }
  .logo small {
    font-size: 7px;
    margin: 0 0 -4px 56px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .logo b {
    font-size: 54px;
  }
  .logo b i {
    font-size: 70px;
  }
  .logo span {
    font-size: 17px;
  }
  .logo small {
    font-size: 6px;
    margin: 0 0 -4px 48px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .logo b {
    font-size: 58px;
  }
  .logo b i {
    font-size: 75px;
  }
  .logo span {
    font-size: 19px;
  }
  .logo small {
    font-size: 6px;
    margin: 0 0 -4px 51px;
  }
}
@media (min-width: 576px) and (max-width: 767px) {
  .logo b {
    font-size: 46px;
  }
  .logo b i {
    font-size: 59px;
  }
  .logo span {
    font-size: 15px;
  }
  .logo small {
    font-size: 5px;
    margin: 0 0 -3px 40px;
  }
}
@media (max-width: 575px) {
  .logo b {
    font-size: 40px;
  }
  .logo b i {
    font-size: 52px;
  }
  .logo span {
    font-size: 13px;
  }
  .logo small {
    font-size: 5px;
    margin: 0 0 -3px 35px;
  }
}
@media (max-width: 359px) {
  .logo b {
    font-size: 32px;
  }
  .logo b i {
    font-size: 41px;
  }
  .logo span {
    font-size: 10px;
  }
  .logo small {
    font-size: 5px;
    margin: 0 0 -2px 28px;
  }
}
@media (min-width: 1700px) {
  .hdr-ad {
    max-width: 760px;
  }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .hdr-ad {
    max-width: 600px;
  }
  .hdr-ad b {
    font-size: 19px;
  }
}
@media (max-width: 1199px) {
  .hdr-ad {
    max-width: 560px;
  }
  .hdr-ad b {
    font-size: 18px;
  }
  .hdr-ad em {
    display: none;
  }
}
@media (max-width: 991px) {
  .brand-in {
    flex-wrap: wrap;
    gap: 12px;
  }
  .hdr-ad {
    flex: 1 1 100%;
    max-width: none;
    min-height: 72px;
    margin: 0;
  }
  .hdr-ad em {
    display: block;
  }
  .brandrow {
    padding: 12px 0 14px;
  }
}
@media (max-width: 575px) {
  .hdr-ad {
    padding: 10px 14px;
    gap: 10px;
    min-height: 64px;
  }
  .hdr-ad b {
    font-size: 15px;
  }
  .hdr-ad em {
    display: none;
  }
  .hdr-ad .btn-gold {
    padding: 9px 12px;
    font-size: 10px;
  }
  .topbar .tb-link,
  .topbar .tb-issue {
    display: none;
  }
  .topbar .tb-soc {
    border: 0;
    padding: 0;
    margin: 0;
  }
  .topbar .in {
    height: 36px;
  }
}
@media (max-width: 991px) {
  .topbar .mid {
    display: none !important;
  }
  .topbar .soc {
    display: flex !important;
  }
}
/* --- menu --- */
.nav-links {
  margin-left: 0;
}
.nav-links > li:hover > a,
.nav-links > li.open > a,
.nav-links > li:focus-within > a {
  background: transparent !important;
  color: #ffe3a4;
}
.navbar-x .in > .ibtn.d-lg-none {
  margin-right: 4px;
}
/* follow dropdown */
/* --- Follow dropdown --- */
.follow {
  position: relative;
}
.follow .pbtn {
  cursor: pointer;
}
.follow:hover .pbtn,
.follow:focus-within .pbtn {
  background: rgba(255, 255, 255, 0.14);
}
.follow-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 200px;
  background: #fff;
  color: var(--ink);
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: 0.2s;
  z-index: 1200;
}
.follow-menu:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -10px;
  height: 10px;
}
.follow:hover .follow-menu,
.follow:focus-within .follow-menu {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.follow-menu .fm-h {
  display: block;
  padding: 6px 10px 8px;
  font: 800 9px var(--f-ui);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}
.follow-menu a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border-radius: 8px;
  font: 600 14px var(--f-ui);
  color: var(--ink);
}
.follow-menu a i {
  width: 18px;
  color: var(--green-700);
  font-size: 16px;
}
.follow-menu a:hover {
  background: var(--soft);
}
/* --- hero --- */
.issue-card,
.home-hero .issue-card {
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
}
.issue-card .cover-card {
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}
.band {
  margin: 16px 0;
}
.ad-sec {
  margin-top: 20px;
  margin-bottom: 20px;
}
main > section.container:not(.ad-sec) {
  margin-top: 46px;
}
main > .container.ad-sec {
  margin-top: 20px;
  margin-bottom: 20px;
}
/* --- Ads banners --- */
.ad-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ad-two .band {
  margin: 0;
  min-height: 100px;
}
.ad-two .band h4 {
  font-size: 18px;
}
@media (max-width: 767px) {
  .ad-two {
    grid-template-columns: 1fr;
  }
}
/* --- interviews --- */
.sec-title h3 {
  font-size: 22px;
  margin: 0;
}
.sec-title.sub {
  border-bottom-width: 1px;
}
.interview-feat {
  grid-template-columns: 230px 1fr;
  align-items: stretch;
}
.interview-feat .who {
  padding: 18px 0 18px 18px;
}
.interview-feat .who .ph {
  height: 100%;
  min-height: 270px;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(10, 40, 25, 0.22);
}
.interview-feat .p-4 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 26px !important;
}
.interview-feat .by {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-left: 12px;
  border-left: 3px solid var(--gold);
}
.interview-feat .by b {
  font: 800 15px var(--f-head);
}
.interview-feat .by span {
  font: 500 12.5px var(--f-ui);
  color: var(--muted);
}
.read-more {
  margin-top: 16px;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green-700);
}
.more-iv {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.iv-card {
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  transition: transform 0.25s, box-shadow 0.25s;
}
.iv-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(10, 40, 25, 0.16);
}
.iv-card .ph {
  aspect-ratio: 4/3;
}
.iv-body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.iv-body h5 {
  font: 800 17px/1.25 var(--f-head);
  margin: 0;
  letter-spacing: -0.01em;
}
.iv-body .meta b {
  color: var(--ink);
}
.iv-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 26px;
  padding: 22px 26px;
  border-radius: 16px;
  background: linear-gradient(110deg, #0f4d2e, #07261a);
  color: #fff;
}
.iv-cta h4 {
  font-size: 22px;
  margin: 0 0 4px;
}
.iv-cta p {
  margin: 0;
  font: 400 14px var(--f-serif);
  opacity: 0.85;
}
@media (max-width: 1199px) {
  .more-iv {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 991px) {
  .interview-feat {
    grid-template-columns: 200px 1fr;
  }
}
@media (max-width: 575px) {
  .interview-feat {
    grid-template-columns: 1fr;
  }
  .interview-feat .who {
    padding: 16px 16px 0;
  }
  .interview-feat .who .ph {
    min-height: 260px;
  }
  .more-iv {
    grid-template-columns: 1fr;
  }
  .iv-card {
    flex-direction: row;
  }
  .iv-card .ph {
    aspect-ratio: auto;
    width: 120px;
    flex: none;
  }
  .iv-cta {
    flex-direction: column;
    align-items: flex-start;
  }
  .iv-cta .btn-gold {
    width: 100%;
    text-align: center;
  }
}
/* --- full-width ad --- */
main > section.ad-full {
  margin: 40px 0;
  background: linear-gradient(100deg, #0b3b24, #07261a 60%, #123f2a);
  color: #fff;
  border-top: 3px solid var(--gold);
  border-bottom: 3px solid var(--gold);
}
.af-in {
  display: grid;
  grid-template-columns: 280px 1fr auto;
  gap: 30px;
  align-items: center;
  padding: 28px 0;
}
.af-img {
  height: 140px;
  border-radius: 12px;
  overflow: hidden;
  background: #164a30;
}
.af-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.af-txt small {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.2em;
  color: var(--gold);
}
.af-txt h3 {
  font-size: 26px;
  margin: 6px 0 6px;
  max-width: 760px;
}
.af-txt p {
  margin: 0;
  font: 400 14px var(--f-serif);
  opacity: 0.85;
}
@media (max-width: 991px) {
  .af-in {
    grid-template-columns: 200px 1fr;
    gap: 20px;
  }
  .af-in .btn-gold {
    grid-column: 1/-1;
    justify-self: start;
  }
}
@media (max-width: 575px) {
  .af-in {
    grid-template-columns: 1fr;
  }
  .af-img {
    height: 150px;
  }
  .af-txt h3 {
    font-size: 21px;
  }
}
/* --- clients / partners logos --- */
.client-row,
.logo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.client,
.plogo {
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  box-shadow: var(--shadow);
  transition: transform 0.25s, box-shadow 0.25s;
}
.client:hover,
.plogo:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(10, 40, 25, 0.16);
}
.client img,
.plogo img {
  width: 100%;
  max-width: 240px;
  height: auto;
  aspect-ratio: 13/6;
  object-fit: contain;
}
/* --- Partner / client logos --- */
.logo-grid {
  gap: 16px;
}
@media (max-width: 575px) {
  .client-row,
  .logo-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .client,
  .plogo {
    padding: 8px;
  }
}
/* --- Media kit bar --- */
.kit-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 36px 0 0;
  padding: 24px 28px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-left: 5px solid var(--gold);
  border-radius: 16px;
  box-shadow: var(--shadow);
}
.kit-bar h4 {
  font-size: 24px;
  margin: 4px 0;
}
.kit-bar p {
  margin: 0;
  font: 400 14.5px var(--f-serif);
  color: var(--muted);
}
.kit-bar .btn-gold,
.kit-bar .btn-green {
  padding: 13px 20px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 800;
}
@media (max-width: 767px) {
  .kit-bar {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* --- events + media partnership --- */
.ev-feat .ph {
  height: 240px;
  position: relative;
}
.ev-feat .ph img {
  position: absolute;
  inset: 0;
}
.ev-list {
  margin-top: 6px;
}
.media-card {
  background: linear-gradient(160deg, var(--green-700), var(--green-900));
  color: #fff;
  border-radius: var(--radius);
  padding: 30px;
  height: calc(100% - 56px);
  box-shadow: var(--shadow);
}
.media-card h3 {
  font-size: 26px;
  margin: 8px 0 12px;
}
.media-card p {
  font-size: 15px;
  opacity: 0.9;
  margin-bottom: 16px;
}
.media-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
}
.media-card li {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  font: 500 14px var(--f-ui);
}
.media-card li i {
  color: var(--gold);
  font-size: 18px;
}
.btn-line-w {
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  color: #fff;
  font: 700 12px var(--f-ui);
  border-radius: 8px;
  padding: 10px 16px;
  display: inline-block;
  transition: 0.2s;
}
.btn-line-w:hover {
  background: #fff;
  color: var(--green-800);
}
@media (max-width: 991px) {
  .media-card {
    height: auto;
  }
}
/* --- google ads + ad slots --- */
.gads {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  color: #5b6b61;
  border: 2px dashed #b4c1b8;
  border-radius: 14px;
  background: repeating-linear-gradient(
    45deg,
    #f3f6f0,
    #f3f6f0 10px,
    #ebf0e7 10px,
    #ebf0e7 20px
  );
  padding: 18px;
  transition: 0.2s;
}
.gads:hover {
  border-color: var(--green-600);
  color: var(--green-700);
}
.gads small {
  font: 800 9px var(--f-ui);
  letter-spacing: 0.22em;
}
.gads i {
  font-size: 28px;
  color: #4285f4;
}
.gads b {
  font: 900 22px var(--f-head);
  letter-spacing: -0.02em;
  color: var(--ink);
}
.gads span {
  font: 500 12px var(--f-ui);
}
/* --- Google Ads grid --- */
.gads-grid {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 18px;
}
.gads-tall {
  min-height: 420px;
}
.gads-right {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
}
.adslot {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 6px;
  border-radius: 14px;
  padding: 24px 30px;
  transition: 0.25s;
  min-height: 190px;
}
.adslot:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.adslot small {
  font: 800 9px var(--f-ui);
  letter-spacing: 0.2em;
  opacity: 0.7;
}
.adslot h4 {
  font-size: 24px;
  margin: 0;
  max-width: 560px;
}
.adslot p {
  margin: 0 0 8px;
  font: 400 14px var(--f-serif);
  opacity: 0.85;
}
.adslot.gold {
  background: linear-gradient(90deg, #f4e5c4, #ecd9ae);
  color: #2b2108;
}
.adslot.green {
  background: linear-gradient(90deg, #0f4d2e, #0b3b24);
  color: #fff;
}
.gads-strip {
  flex-direction: row;
  gap: 14px;
  min-height: 96px;
  width: 100%;
}
.gads-strip i {
  font-size: 24px;
}
@media (max-width: 991px) {
  .gads-grid {
    grid-template-columns: 1fr;
  }
  .gads-tall {
    min-height: 150px;
  }
}
/* --- newsroom / editor's picks --- */
.picks {
  background: linear-gradient(180deg, #fcf5e2, #f6ecd6);
  border: 1px solid #ecd9ae;
  border-radius: 18px;
  padding: 20px 22px 24px;
}
[data-theme="dark"] .picks,
html:has(#themeChk:checked) .picks {
  background: linear-gradient(180deg, #1d2218, #171b13);
  border-color: #3a3a20;
}
.picks-h {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 16px;
}
.picks-t {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 900 22px var(--f-head);
  letter-spacing: -0.02em;
}
.picks-t i {
  font-size: 16px;
  color: var(--gold-d);
}
.pick {
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  transition: transform 0.25s, box-shadow 0.25s;
}
.pick:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(10, 40, 25, 0.16);
}
.pick .ph {
  aspect-ratio: 16/10;
  flex: none;
}
.pick-lg .ph {
  aspect-ratio: 2/1;
}
.pk-badge {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--gold);
  color: #1b1304;
  font: 800 9.5px var(--f-ui);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 11px;
  border-radius: 30px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}
.pk-body {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.pk-body h5 {
  font: 800 18px/1.22 var(--f-head);
  letter-spacing: -0.015em;
  margin: 0;
}
.pick-lg h5 {
  font-size: 30px;
}
.pk-body p {
  margin: 0;
  font: 400 15px/1.55 var(--f-serif);
  color: var(--muted);
}
.newsroom .row-mini {
  display: none;
}
/* --- modals (CSS :target) --- */
/* --- Popup forms (modals) --- */
.modal-x {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}
.modal-x:target {
  display: flex;
}
.modal-bg {
  position: fixed;
  inset: 0;
  background: rgba(4, 20, 12, 0.8);
  backdrop-filter: blur(3px);
}
.modal-card {
  position: relative;
  z-index: 1;
  margin: auto;
  width: min(980px, 100%);
  max-height: calc(100vh - 40px);
  overflow: auto;
  display: grid;
  grid-template-columns: 330px 1fr;
  background: #fff;
  color: #0e1a14;
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  animation: mcin 0.3s ease both;
}
@keyframes mcin {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.modal-close {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 5;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(14, 26, 20, 0.08);
  color: #0e1a14;
  transition: 0.2s;
}
.modal-close:hover {
  background: var(--gold);
  color: #111;
}
.mc-side {
  background: linear-gradient(160deg, #0f4d2e, #07261a);
  color: #fff;
  padding: 36px 30px;
}
.mc-side h3 {
  font-size: 26px;
  margin: 10px 0 12px;
}
.mc-side p {
  font: 400 15px/1.6 var(--f-serif);
  opacity: 0.88;
}
.mc-side ul {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}
.mc-side li {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  font: 500 14px var(--f-ui);
}
.mc-side li i {
  color: var(--gold);
  font-size: 18px;
}
.mc-side .kit-dl {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.5);
}
.mc-side .kit-dl:hover {
  background: #fff;
  color: #07261a;
}
.mc-form {
  padding: 36px 34px;
}
.mc-form h4 {
  font-size: 24px;
  margin: 0 0 18px;
}
.mc-form .mc-sub {
  font: 400 14.5px/1.55 var(--f-serif);
  color: var(--muted);
  margin: -8px 0 18px;
}
.mc-form label,
.mc-form .lbl {
  display: block;
  font: 700 12px var(--f-ui);
  color: #2a3b31;
  letter-spacing: 0.02em;
}
.mc-form .lbl {
  margin-bottom: 8px;
}
.mc-form input:not([type="radio"]):not([type="checkbox"]),
.mc-form select,
.mc-form textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
  padding: 11px 13px;
  font: 500 15px var(--f-ui);
  color: #0e1a14;
  background: #fff;
  border: 1.5px solid #d3dad0;
  border-radius: 10px;
  outline: 0;
  transition: 0.2s;
}
.mc-form input:focus,
.mc-form select:focus,
.mc-form textarea:focus {
  border-color: var(--green-600);
  box-shadow: 0 0 0 4px rgba(13, 122, 74, 0.14);
}
.plans-pick {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.plans-pick label {
  cursor: pointer;
}
.plans-pick input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.plans-pick span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px;
  border: 1.5px solid #d3dad0;
  border-radius: 12px;
  font: 500 12px var(--f-ui);
  color: #5d6b63;
  transition: 0.2s;
}
.plans-pick span b {
  font: 800 14px var(--f-head);
  color: #0e1a14;
}
.plans-pick input:checked + span {
  border-color: var(--green-600);
  background: #e7f5ee;
  box-shadow: 0 0 0 3px rgba(13, 122, 74, 0.14);
}
.chk-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.chk-row label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: 600 13px var(--f-ui);
}
.chk-row input {
  accent-color: var(--green-600);
}
.mc-cancel {
  font: 700 12px var(--f-ui);
  color: var(--muted);
  text-decoration: underline;
}
.iv-modal {
  grid-template-columns: 1fr 340px;
  width: min(1020px, 100%);
}
.iv-slider {
  background: linear-gradient(170deg, #0f4d2e, #07261a);
  color: #fff;
  padding: 34px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}
.iv-view {
  overflow: hidden;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
}
.iv-track {
  display: flex;
  width: 500%;
  animation: ivslide 20s ease-in-out infinite;
}
.iv-slider:hover .iv-track {
  animation-play-state: paused;
}
.iv-slide {
  flex: 0 0 20%;
  padding: 0 0 18px;
  min-width: 0;
}
.iv-slide .ph {
  height: 270px;
}
.iv-slide blockquote {
  font: 800 19px/1.25 var(--f-head);
  letter-spacing: -0.015em;
  margin: 16px 16px 12px;
}
.iv-slide .by {
  margin: 0 16px;
  display: flex;
  flex-direction: column;
  border-left: 3px solid var(--gold);
  padding-left: 10px;
}
.iv-slide .by b {
  font: 800 14px var(--f-head);
}
.iv-slide .by span {
  font: 500 12px var(--f-ui);
  opacity: 0.75;
}
.iv-note {
  font: 500 12px var(--f-ui);
  opacity: 0.7;
  text-align: center;
}
@keyframes ivslide {
  0%,
  20% {
    transform: translateX(0);
  }
  25%,
  45% {
    transform: translateX(-20%);
  }
  50%,
  70% {
    transform: translateX(-40%);
  }
  75%,
  95% {
    transform: translateX(-60%);
  }
  100% {
    transform: translateX(-80%);
  }
}
@media (max-width: 860px) {
  .modal-card,
  .iv-modal {
    grid-template-columns: 1fr;
  }
  .mc-side {
    padding: 28px 24px;
  }
  .mc-form {
    padding: 26px 22px;
  }
  .plans-pick {
    grid-template-columns: 1fr;
  }
  .iv-slider {
    order: 2;
  }
  .iv-slide .ph {
    height: 220px;
  }
}
@media (max-width: 575px) {
  .modal-x {
    padding: 10px;
  }
  .modal-card {
    max-height: calc(100vh - 20px);
    border-radius: 16px;
  }
}
.media-card {
  display: flex;
  flex-direction: column;
}
.media-card ul {
  margin-bottom: auto;
  padding-bottom: 18px;
}
.media-card .d-flex {
  margin-top: 14px;
}
.iv-modal .modal-close {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}
.iv-modal .modal-close:hover {
  background: var(--gold);
  color: #111;
}
.mc-form .kicker + h4 {
  margin-top: 6px;
}
@media (max-width: 575px) {
  .pick-lg h5 {
    font-size: 22px;
  }
  .picks {
    padding: 16px 14px 18px;
  }
}

/* ===================== v5 ===================== */
/* mega menu: transparent (glass) panel + transparent item hover */
.mega {
  background: rgba(6, 30, 20, 0.62) !important;
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  backdrop-filter: blur(16px) saturate(150%);
  color: #fff;
  border-top: 3px solid var(--gold);
}
.mega ul a {
  color: #fff;
  border-bottom-color: rgba(255, 255, 255, 0.16);
  background: transparent;
}
.mega ul a:hover {
  color: var(--gold);
  background: transparent;
}
.mega h6 {
  color: var(--gold);
}
.mega .feat {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.mega-foot {
  border-top-color: rgba(255, 255, 255, 0.16);
  color: #cfe0d5;
}
.mega-foot a {
  color: #fff;
}
.nav-links > li > a,
.nav-links > li > a:hover,
.nav-links > li:hover > a,
.nav-links > li:focus-within > a {
  background: transparent !important;
}
/* interviews: image + title list */
.iv-list h6 {
  margin-bottom: 6px;
}
.iv-li {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.iv-li .ph {
  width: 88px;
  height: 68px;
  border-radius: 10px;
  flex: none;
}
.iv-li h5 {
  font: 800 15px/1.25 var(--f-head);
  margin: 0 0 4px;
  letter-spacing: -0.01em;
}
.iv-li:hover h5 {
  color: var(--green-600);
}
/* interview row: submit | slider */
/* --- More Interviews: request card --- */
.iv-submit {
  height: 100%;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 12px;
  padding: 34px;
  border-radius: 18px;
  background: linear-gradient(150deg, #0f4d2e, #07261a);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.iv-submit:after {
  content: "“";
  position: absolute;
  right: 18px;
  top: -30px;
  font: 900 220px/1 var(--f-head);
  color: rgba(217, 164, 65, 0.14);
}
.iv-submit h3 {
  font-size: 28px;
  margin: 0;
  max-width: 420px;
  position: relative;
  z-index: 1;
}
.iv-submit p {
  margin: 0 0 6px;
  font-size: 15px;
  opacity: 0.88;
  position: relative;
  z-index: 1;
}
.iv-submit .btn-gold {
  position: relative;
  z-index: 1;
  padding: 14px 20px;
}
.mv-wrap {
  height: 100%;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 18px 0 18px 18px;
  overflow: hidden;
  min-width: 0;
}
.mv-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-right: 18px;
  margin-bottom: 14px;
}
.mv-head h3 {
  font-size: 22px;
  margin: 0;
}
.mv-head .sec-sub {
  margin-left: auto;
}
/* --- Sliders (marquee: mv-view / mv-track / mv-card) --- */
.mv-view {
  overflow: hidden;
}
.mv-track {
  display: flex;
  width: max-content;
  animation: mvslide 38s linear infinite;
}
.mv-view:hover .mv-track {
  animation-play-state: paused;
}
.mv-card {
  flex: 0 0 230px;
  margin-right: 16px;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform 0.25s;
}
.mv-card:hover {
  transform: translateY(-4px);
}
.mv-card .ph {
  height: 170px;
}
.mv-b {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mv-b h5 {
  font: 800 15px/1.25 var(--f-head);
  margin: 0;
}
.mv-b .meta b {
  color: var(--ink);
}
.mv-card.mv-sm {
  flex-basis: 250px;
}
.mv-sm .ph {
  height: 130px;
}
@keyframes mvslide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
section.container > .mv-head + .mv-view {
  margin-top: 0;
}
@media (prefers-reduced-motion: reduce) {
  .mv-view {
    overflow-x: auto;
  }
  .mv-track {
    animation: none !important;
  }
}
/* events: date + banner only */
.ev-banners {
  display: grid;
  gap: 16px;
}
.ev-ban {
  position: relative;
  display: block;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(135deg, #1c5a3d, #0b3b24);
  box-shadow: var(--shadow);
  aspect-ratio: 3/2;
  transition: transform 0.25s;
}
.ev-ban.big {
  aspect-ratio: 1000/420;
}
.ev-ban:hover {
  transform: translateY(-3px);
}
.ev-ban img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s;
}
.ev-ban:hover img {
  transform: scale(1.05);
}
.ev-ban .date-badge {
  position: absolute;
  left: 14px;
  top: 14px;
  z-index: 2;
  font-size: 24px;
  padding: 8px 14px;
}
.ev-ban .date-badge small {
  display: block;
}
.ev-ban.big .date-badge {
  font-size: 34px;
  padding: 10px 18px;
}
.ev-small {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.media-logos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width: 575px) {
  .ev-small {
    grid-template-columns: 1fr 1fr;
  }
  .ev-small .ev-ban:last-child {
    display: none;
  }
}
/* newsroom hero (same structure as Today's front page, no PDF) */
.news-hero {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  padding-bottom: 30px;
}
.news-hero + .home-hero {
  padding-top: 30px;
}
.hero-list {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
}
.hero-list li {
  display: flex;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.hero-list b {
  font: 900 22px/1 var(--f-head);
  color: var(--gold);
  min-width: 30px;
}
.hero-list a {
  font: 700 15px/1.3 var(--f-head);
  color: #fff;
}
.hero-list a:hover {
  color: var(--gold);
}
.hero-all {
  color: #fff;
  display: inline-block;
}
.news-hero .kicker i {
  color: var(--gold);
}
@media (max-width: 575px) {
  .mv-card {
    flex-basis: 200px;
  }
  .mv-card.mv-sm {
    flex-basis: 210px;
  }
  .iv-submit {
    padding: 26px;
    min-height: 240px;
  }
  .iv-submit h3 {
    font-size: 23px;
  }
}
.iv-list h6 + .iv-li {
  border-top: 0;
}

/* ===================== v6 ===================== */
/* newsroom: light design, 3-column hero structure, ad instead of Most read */
.nr-top {
  margin-top: 34px !important;
}
.nr-top .pick-lg {
  height: 100%;
}
.nr-top .pick-lg .ph {
  aspect-ratio: auto;
  flex: 1;
  min-height: 300px;
}
.nr-top .pick-lg h5 {
  font-size: 30px;
}
.nr-picks {
  padding: 18px 18px 8px;
}
.nr-picks .picks-h {
  margin-bottom: 6px;
}
.nr-picks .picks-t {
  font-size: 19px;
}
.nr-item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid #e6d6a8;
}
.nr-item .ph {
  width: 84px;
  height: 64px;
  border-radius: 8px;
  flex: none;
}
.nr-item h5 {
  font: 800 14px/1.25 var(--f-head);
  margin: 2px 0 3px;
}
.nr-item:hover h5 {
  color: var(--green-600);
}
.nr-item .kicker {
  font-size: 9.5px;
}
.ad-vert {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  overflow: hidden;
  background: linear-gradient(170deg, #f6ead0, #ecd9ae);
  border: 1px solid #e0c98f;
  color: #2b2108;
  box-shadow: var(--shadow);
  transition: transform 0.25s;
}
.ad-vert:hover {
  transform: translateY(-4px);
}
.av-img {
  position: relative;
  display: block;
  height: 190px;
  background: linear-gradient(135deg, #1c5a3d, #0b3b24);
  flex: none;
}
.av-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.av-img em {
  position: absolute;
  right: 10px;
  top: 10px;
  font: 800 9px var(--f-ui);
  letter-spacing: 0.14em;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  padding: 3px 8px;
  border-radius: 4px;
}
.av-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 18px 20px 22px;
  flex: 1;
  justify-content: center;
}
.av-body small {
  font: 800 9px var(--f-ui);
  letter-spacing: 0.2em;
  opacity: 0.7;
}
.av-body b {
  font: 800 22px/1.15 var(--f-head);
  letter-spacing: -0.02em;
}
.av-body .serif {
  font-size: 14px;
  opacity: 0.85;
}
/* events: equal columns, new strip design */
/* --- Upcoming Events + Media Partnership --- */
.ev-media .row > [class*="col-lg-6"] {
  display: flex;
  flex-direction: column;
}
.ev-media .sec-title {
  width: 100%;
}
.ev-strips {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  gap: 14px;
  flex: 1;
}
.ev-strip {
  display: flex;
  border-radius: 14px;
  overflow: hidden;
  background: var(--paper);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  min-height: 118px;
  transition: transform 0.25s, box-shadow 0.25s;
}
.ev-strip:hover {
  transform: translateX(4px);
  box-shadow: 0 14px 30px rgba(10, 40, 25, 0.16);
}
.evs-date {
  flex: 0 0 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #e8bd63, #c98f2a);
  color: #1b1304;
}
.evs-date b {
  font: 900 38px/1 var(--f-head);
  letter-spacing: -0.03em;
}
.evs-date small {
  font: 800 11px var(--f-ui);
  letter-spacing: 0.2em;
  margin-top: 4px;
}
.evs-ban {
  position: relative;
  flex: 1;
  background: linear-gradient(135deg, #1c5a3d, #0b3b24);
  overflow: hidden;
}
.evs-ban img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s;
}
.ev-strip:hover .evs-ban img {
  transform: scale(1.06);
}
.ev-media .media-logos {
  flex: 1;
  grid-template-rows: repeat(4, 1fr);
  gap: 14px;
}
.ev-media .media-logos .plogo {
  padding: 8px;
}
@media (max-width: 991px) {
  .ev-strip {
    min-height: 100px;
  }
  .evs-date {
    flex-basis: 80px;
  }
  .evs-date b {
    font-size: 30px;
  }
}
/* video cards in slider */
.mv-vid .ph {
  position: relative;
}
.vplay {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 46px;
  height: 46px;
  margin: -23px 0 0 -23px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #07261a;
  display: grid;
  place-items: center;
  font-size: 24px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
  transition: 0.25s;
}
.vplay i {
  margin-left: 2px;
}
.mv-vid:hover .vplay {
  background: var(--gold);
  transform: scale(1.1);
}
.vdur {
  position: absolute;
  right: 8px;
  bottom: 8px;
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
  font: 700 11px var(--f-ui);
  padding: 3px 7px;
  border-radius: 5px;
}

/* ===================== v7 : interactive newsroom ===================== */
.nr-r {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}
/* --- Newsroom stage --- */
.nr-stage {
  position: relative;
  height: 100%;
  min-height: 520px;
  border-radius: 20px;
  overflow: hidden;
  background: #0b3b24;
  box-shadow: 0 18px 40px rgba(10, 40, 25, 0.22);
}
.nr-lead {
  position: absolute;
  inset: 0;
  display: none;
  color: #fff;
  overflow: hidden;
}
#nr1:checked ~ .row .nr-l1,
#nr2:checked ~ .row .nr-l2,
#nr3:checked ~ .row .nr-l3,
#nr4:checked ~ .row .nr-l4 {
  display: block;
  animation: nrIn 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
@keyframes nrIn {
  from {
    opacity: 0;
    transform: scale(1.03);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.nr-lead img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.nr-lead:hover img {
  transform: scale(1.07);
}
.nr-lead:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(3, 22, 13, 0.96) 8%,
    rgba(3, 22, 13, 0.55) 48%,
    rgba(3, 22, 13, 0.05) 80%
  );
}
.nr-badge {
  position: absolute;
  left: 18px;
  top: 18px;
  z-index: 3;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  background: var(--gold);
  color: #1b1304;
  font: 800 10px var(--f-ui);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 7px 13px;
  border-radius: 30px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
.nr-num {
  position: absolute;
  right: 20px;
  top: 14px;
  z-index: 3;
  font: 900 54px/1 var(--f-head);
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: -0.04em;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
}
.nr-num small {
  font: 800 13px var(--f-ui);
  letter-spacing: 0.1em;
  opacity: 0.7;
  margin-left: 2px;
}
.nr-txt {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  padding: 30px 30px 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.nr-txt .kicker {
  color: var(--gold);
}
.nr-txt b {
  font: 900 34px/1.08 var(--f-head);
  letter-spacing: -0.025em;
  max-width: 600px;
}
.nr-ex {
  font: 400 15.5px/1.55 var(--f-serif);
  color: #d3e5da;
  max-width: 560px;
}
.nr-by {
  font: 500 12.5px var(--f-ui);
  color: #b9d0c3;
}
.nr-by em {
  font-style: normal;
  color: #fff;
  font-weight: 700;
}
.nr-go {
  align-self: flex-start;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1b1304;
  background: var(--gold);
  padding: 11px 18px;
  border-radius: 30px;
  transition: 0.3s;
}
.nr-go i {
  transition: transform 0.3s;
}
.nr-lead:hover .nr-go {
  background: #fff;
}
.nr-lead:hover .nr-go i {
  transform: translateX(5px);
}
/* picks list = selector */
.nr-picks {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 18px 16px 12px;
}
.nr-picks .picks-h {
  margin-bottom: 8px;
  align-items: center;
}
.nr-picks .picks-h .sec-sub {
  margin-left: auto;
  font-size: 8.5px;
}
.nr-item {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 10px 12px 12px;
  margin: 0 -4px;
  border-top: 1px solid #e6d6a8;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
  flex: 1;
}
.nr-item:first-of-type {
  border-top: 0;
}
.nr-item:before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 4px;
  background: var(--green-600);
  transform: scaleY(0);
  transition: transform 0.3s;
}
.nr-item .ph {
  width: 78px;
  height: 62px;
  border-radius: 9px;
  flex: none;
  display: block;
}
.nr-it {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.nr-it b {
  font: 800 13.5px/1.25 var(--f-head);
}
.nr-it .kicker {
  font-size: 9px;
}
.nr-chev {
  margin-left: auto;
  font-size: 13px;
  color: var(--gold-d);
  opacity: 0;
  transform: translateX(-6px);
  transition: 0.25s;
}
.nr-item:hover {
  background: rgba(255, 255, 255, 0.7);
  transform: translateX(3px);
}
.nr-item:hover .nr-chev {
  opacity: 1;
  transform: none;
}
#nr1:checked ~ .row label[for="nr1"],
#nr2:checked ~ .row label[for="nr2"],
#nr3:checked ~ .row label[for="nr3"],
#nr4:checked ~ .row label[for="nr4"] {
  background: #fff;
  box-shadow: 0 8px 20px rgba(120, 86, 10, 0.16);
  border-top-color: transparent;
}
#nr1:checked ~ .row label[for="nr1"]:before,
#nr2:checked ~ .row label[for="nr2"]:before,
#nr3:checked ~ .row label[for="nr3"]:before,
#nr4:checked ~ .row label[for="nr4"]:before {
  transform: scaleY(1);
}
#nr1:checked ~ .row label[for="nr1"] .nr-chev,
#nr2:checked ~ .row label[for="nr2"] .nr-chev,
#nr3:checked ~ .row label[for="nr3"] .nr-chev,
#nr4:checked ~ .row label[for="nr4"] .nr-chev {
  opacity: 1;
  transform: none;
}
#nr1:focus-visible ~ .row label[for="nr1"],
#nr2:focus-visible ~ .row label[for="nr2"],
#nr3:focus-visible ~ .row label[for="nr3"],
#nr4:focus-visible ~ .row label[for="nr4"] {
  outline: 2px solid var(--green-600);
}
/* ad: image only */
.ad-img {
  position: relative;
  display: block;
  height: 100%;
  min-height: 520px;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(160deg, #1c5a3d, #0b3b24);
  box-shadow: 0 18px 40px rgba(10, 40, 25, 0.18);
}
.ad-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ad-img:hover img {
  transform: scale(1.06);
}
.ad-img em {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 2;
  font: 800 9px var(--f-ui);
  letter-spacing: 0.16em;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 4px 9px;
  border-radius: 5px;
  font-style: normal;
}
@media (max-width: 991px) {
  .nr-stage {
    min-height: 460px;
  }
  .ad-img {
    min-height: 240px;
  }
  .nr-picks .nr-item {
    flex: none;
  }
  .nr-txt b {
    font-size: 28px;
  }
}
@media (max-width: 575px) {
  .nr-stage {
    min-height: 440px;
  }
  .nr-txt {
    padding: 20px;
  }
  .nr-txt b {
    font-size: 23px;
  }
  .nr-ex {
    display: none;
  }
  .nr-num {
    font-size: 38px;
  }
  .ad-img {
    min-height: 200px;
  }
}

/* ===================== v8 ===================== */
main > section.nr-top {
  margin-top: 56px !important;
  margin-bottom: 64px;
}
.nr-count {
  color: var(--green-700);
}
/* --- Newsroom panel --- */
.nr-panel {
  position: relative;
  padding: 24px;
  border-radius: 28px;
  background: linear-gradient(160deg, #fcf6e6 0%, #f4ecd5 55%, #eaf1e4 100%);
  border: 1px solid #e9dcb6;
  box-shadow: 0 24px 60px rgba(10, 40, 25, 0.1);
}
.nr-panel:before {
  content: "";
  position: absolute;
  right: -60px;
  top: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(217, 164, 65, 0.28),
    transparent 70%
  );
  pointer-events: none;
}
.nr-panel > .row {
  position: relative;
}
[data-theme="dark"] .nr-panel,
html:has(#themeChk:checked) .nr-panel {
  background: linear-gradient(160deg, #1b2016, #141a12);
  border-color: #33341d;
}
.nr-stage {
  min-height: 560px;
}
.nr-picks {
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid #eadfba;
  box-shadow: none;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.ad-img {
  min-height: 560px;
}
/* prev / next + progress */
.nr-nav {
  position: absolute;
  right: 20px;
  bottom: 24px;
  z-index: 5;
  display: none;
  gap: 10px;
  align-items: center;
}
#nr1:checked ~ .nr-panel .nr-nav-1,
#nr2:checked ~ .nr-panel .nr-nav-2,
#nr3:checked ~ .nr-panel .nr-nav-3,
#nr4:checked ~ .nr-panel .nr-nav-4 {
  display: flex;
}
.nr-nav label {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  font-size: 17px;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: 0.25s;
}
.nr-nav label:hover {
  background: var(--gold);
  color: #111;
  border-color: var(--gold);
  transform: scale(1.08);
}
.nr-prog {
  position: absolute;
  left: -460px;
  bottom: -24px;
  width: 0;
}
/* radios are now before .nr-panel: retarget selectors */
#nr1:checked ~ .nr-panel .nr-l1,
#nr2:checked ~ .nr-panel .nr-l2,
#nr3:checked ~ .nr-panel .nr-l3,
#nr4:checked ~ .nr-panel .nr-l4 {
  display: block;
  animation: nrIn 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
#nr1:checked ~ .nr-panel label[for="nr1"],
#nr2:checked ~ .nr-panel label[for="nr2"],
#nr3:checked ~ .nr-panel label[for="nr3"],
#nr4:checked ~ .nr-panel label[for="nr4"] {
  background: #fff;
  box-shadow: 0 8px 20px rgba(120, 86, 10, 0.16);
  border-top-color: transparent;
}
#nr1:checked ~ .nr-panel label[for="nr1"]:before,
#nr2:checked ~ .nr-panel label[for="nr2"]:before,
#nr3:checked ~ .nr-panel label[for="nr3"]:before,
#nr4:checked ~ .nr-panel label[for="nr4"]:before {
  transform: scaleY(1);
}
#nr1:checked ~ .nr-panel label[for="nr1"] .nr-chev,
#nr2:checked ~ .nr-panel label[for="nr2"] .nr-chev,
#nr3:checked ~ .nr-panel label[for="nr3"] .nr-chev,
#nr4:checked ~ .nr-panel label[for="nr4"] .nr-chev {
  opacity: 1;
  transform: none;
}
.nr-nav label[for] {
  background: rgba(255, 255, 255, 0.14) !important;
  box-shadow: none !important;
}
.nr-nav label:hover {
  background: var(--gold) !important;
}
.nr-nav label:before {
  display: none;
}
.nr-lead .nr-go {
  margin-right: 110px;
}
/* front page: PDF cover fills the column */
.home-hero .issue-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.home-hero .issue-card .cover-card {
  flex: 1;
  width: 100%;
  max-width: none;
  aspect-ratio: auto;
  min-height: 420px;
  margin: 0;
}
@media (max-width: 991px) {
  .nr-stage {
    min-height: 480px;
  }
  .ad-img {
    min-height: 260px;
  }
  .nr-panel {
    padding: 16px;
    border-radius: 22px;
  }
  .home-hero .issue-card .cover-card {
    min-height: 0;
    aspect-ratio: 1/1.2;
  }
}
@media (max-width: 575px) {
  main > section.nr-top {
    margin-top: 36px !important;
    margin-bottom: 44px;
  }
  .nr-nav {
    right: 14px;
    bottom: 18px;
  }
  .nr-nav label {
    width: 38px;
    height: 38px;
  }
  .nr-lead .nr-go {
    margin-right: 92px;
    padding: 10px 14px;
  }
  .nr-panel {
    padding: 12px;
  }
}

/* ===================== v9 ===================== */
/* logo = 30% of header width; ad takes the rest */
@media (min-width: 992px) {
  .brand-in {
    gap: 32px;
  }
  .brand-in .logo {
    display: block;
    flex: 0 0 30%;
    width: 30%;
    max-width: 30%;
    container-type: inline-size;
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.35s;
    transform-origin: left center;
  }
  .brand-in .logo b {
    font-size: 15.2cqw;
    white-space: nowrap;
  }
  .brand-in .logo b i {
    font-size: 19.6cqw;
  }
  .brand-in .logo span {
    font-size: 4.9cqw;
  }
  .brand-in .logo small {
    font-size: max(5px, 1.6cqw);
    margin: 0 0 -1cqw 13cqw;
  }
  .brand-in .logo:hover {
    transform: scale(1.04);
    filter: drop-shadow(0 6px 14px rgba(11, 110, 67, 0.25));
  }
  .hdr-ad {
    flex: 1 1 0;
    max-width: none;
    margin-left: 0;
  }
}
/* mega menu: 50% transparent on hover */
.mega {
  background: rgba(6, 30, 20, 0.5) !important;
}
/* previous editions button */
.ed-card .btn-green i {
  font-size: 12px;
}
/* community voices slider */
.voice-view .mv-track {
  animation-duration: 46s;
}
.voice-card {
  flex: 0 0 380px;
  margin-right: 20px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.voice-card h4 {
  margin: 0;
}
.voice-card p {
  margin: 0 0 6px;
  flex: 1;
}
.voice-card .meta b {
  color: var(--ink);
}
.voices .voice-card {
  height: auto;
}
@media (max-width: 575px) {
  .voice-card {
    flex-basis: 290px;
  }
}

/* ===================== v10 : header 30% logo / 50% ad ===================== */
@media (min-width: 992px) {
  .brand-in {
    gap: 0;
    position: relative;
  }
  .brand-in .logo {
    flex: 0 0 30%;
    width: 30%;
    max-width: 30%;
    position: relative;
    z-index: 3;
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.4s;
  }
  .brand-in .logo:hover {
    transform: scale(1.28);
    filter: drop-shadow(0 8px 18px rgba(11, 110, 67, 0.28));
  }
  .hdr-ad {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    margin-left: auto;
  }
}

/* ===== v11: laptop/tablet layout for Newsroom + Today's front page ===== */
@media (min-width: 768px) and (max-width: 1279px) {
  .nr-panel > .row > .col-lg-6 {
    flex: 0 0 100%;
    width: 100%;
  }
  .nr-panel > .row > .col-lg-3 {
    flex: 0 0 50%;
    width: 50%;
  }
  .nr-stage {
    min-height: 440px;
  }
  .ad-img {
    min-height: 300px;
  }
  .home-hero .row > .col-lg-6 {
    flex: 0 0 100%;
    width: 100%;
  }
  .home-hero .row > .col-lg-3 {
    flex: 0 0 50%;
    width: 50%;
  }
  .home-hero .lead-card {
    min-height: 380px;
  }
  .home-hero .issue-card .cover-card {
    min-height: 380px;
    aspect-ratio: auto;
  }
}
@media (min-width: 1280px) and (max-width: 1399px) {
  .nr-panel {
    padding: 18px;
  }
  .nr-item h5 {
    font-size: 14px;
  }
  .home-hero h1 {
    font-size: 32px;
  }
}
.nr-panel,
.home-hero,
.home-hero .row > *,
.nr-panel .row > * {
  min-width: 0;
}
.nr-item h5,
.home-hero h1 {
  overflow-wrap: anywhere;
}

/* ===== v11: 14px spacing between every home section and ad banner ===== */
/* --- Home spacing 14px --- */
main.pg-home > section,
main.pg-home > div.container,
main.pg-home > section.nr-top,
main.pg-home > section.container:not(.ad-sec),
main.pg-home > .container.ad-sec,
main.pg-home > section.ad-full,
main.pg-home > section.video-sec {
  margin-top: 5px !important;
  margin-bottom: 0 !important;
}
main.pg-home .sec-title {
  margin-bottom: 14px;
}
.pg-home .band {
  margin: 14px 0;
}
.ad-two {
  gap: 14px;
}
.gads-grid,
.gads-right {
  gap: 14px;
}
.pg-home .ed-grid,
.pg-home .logo-grid,
.pg-home .client-row {
  gap: 14px;
}
.kit-bar {
  margin: 0;
}
footer.site {
  margin-top: 14px;
}

/* ===== v11: Interviews redesign ===== */
.interview-wrap {
  grid-template-columns: 1.45fr 1fr;
  gap: 14px;
}
.interview-feat {
  position: relative;
  grid-template-columns: 250px 1fr;
  background: linear-gradient(135deg, #0d4a2d, #07261a 70%);
  color: #fff;
  border: 0;
  border-bottom: 4px solid var(--gold);
}
.interview-feat:before {
  content: "“";
  position: absolute;
  right: 24px;
  top: -4px;
  font: 900 150px/1 var(--f-head);
  color: rgba(217, 164, 65, 0.22);
  pointer-events: none;
}
.interview-feat .who .ph {
  border: 3px solid var(--gold);
  border-radius: 130px 130px 16px 16px;
  min-height: 300px;
}
.interview-feat blockquote {
  color: #fff;
  font: italic 600 27px/1.3 var(--f-serif);
  letter-spacing: 0;
}
.interview-feat .by {
  border-left-color: var(--gold);
}
.interview-feat .by b {
  color: #fff;
}
.interview-feat .by span {
  color: #b9d3c4;
}
.interview-feat .read-more {
  color: var(--gold);
  font: 800 12px var(--f-ui);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 16px;
}
.iv-list {
  counter-reset: iv;
  border-top: 4px solid var(--gold);
}
.iv-li {
  counter-increment: iv;
  gap: 12px;
}
.iv-li:before {
  content: counter(iv, decimal-leading-zero);
  font: 900 22px var(--f-head);
  color: var(--gold-d);
  flex: 0 0 30px;
}
.iv-li .ph {
  flex: 0 0 62px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  overflow: hidden;
}
.iv-li .ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.iv-li h5 {
  font-size: 15px;
  line-height: 1.3;
}
@media (max-width: 991px) {
  .interview-wrap {
    grid-template-columns: 1fr;
  }
  .interview-feat {
    grid-template-columns: 200px 1fr;
  }
  .interview-feat blockquote {
    font-size: 22px;
  }
}
@media (max-width: 575px) {
  .interview-feat {
    grid-template-columns: 1fr;
  }
  .interview-feat .who .ph {
    min-height: 260px;
  }
  .interview-feat:before {
    font-size: 110px;
  }
}

/* ===== v11: CTA rows, More-interviews footer, factory CTA ===== */
.cta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding: 14px 18px;
  background: var(--paper);
  border: 1px dashed var(--gold-d);
  border-radius: 14px;
}
.cta-row p {
  margin: 0;
  font: 700 15px var(--f-head);
  flex: 1 1 200px;
}
.cta-row .btn-gold,
.cta-row .btn-green {
  white-space: nowrap;
}
.partners-sec .cta-row {
  justify-content: center;
  text-align: center;
}
.partners-sec .cta-row p {
  flex: 0 1 auto;
}
.mv-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding: 14px 18px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.mv-foot span {
  font: 700 15px var(--f-head);
}
.cover-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-top: 18px;
  padding: 16px 18px;
  background: rgba(217, 164, 65, 0.12);
  border-left: 4px solid var(--gold);
  border-radius: 10px;
}
.cover-cta b {
  font: 800 17px var(--f-head);
}
.cover-cta span {
  font: 400 14px var(--f-serif);
  color: var(--muted);
}

/* ===== v11: Webinars ===== */
.web-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform 0.25s;
}
.web-card:hover {
  transform: translateY(-4px);
}
.web-card .ph {
  position: relative;
  aspect-ratio: 16/9;
  background: var(--green-800);
}
.web-card .ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.web-date {
  position: absolute;
  left: 12px;
  top: 12px;
  background: #fff;
  color: #07261a;
  border-radius: 10px;
  padding: 6px 12px;
  text-align: center;
  line-height: 1;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}
.web-date b {
  display: block;
  font: 900 24px var(--f-head);
}
.web-date small {
  font: 800 10px var(--f-ui);
  letter-spacing: 0.14em;
  color: var(--gold-d);
}
.web-tag {
  position: absolute;
  right: 12px;
  top: 12px;
  background: #c0392b;
  color: #fff;
  font: 800 10px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 99px;
}
.web-b {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 16px;
  flex: 1;
}
.web-b h5 {
  font: 800 18px/1.25 var(--f-head);
  margin: 0;
}
.web-b .btn-green {
  margin-top: auto;
}

/* ===== v11: Magazine Archive slider ===== */
.arch-view .mv-track {
  animation-duration: 60s;
}
.arch-view .ed-card {
  flex: 0 0 clamp(210px, 20vw, 250px);
  margin-right: 22px;
}
.arch-view .ed-card .cover-card {
  display: block;
}

/* ===== v11: Call for Papers ===== */
.cfp-in {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 14px;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(120deg, #0b3b24, #07261a 65%, #123f2a);
  color: #fff;
  border-top: 3px solid var(--gold);
  box-shadow: var(--shadow);
}
.cfp-txt {
  padding: 34px;
}
.cfp-txt h2 {
  font-size: 32px;
  line-height: 1.15;
  margin: 8px 0 12px;
  color: #fff;
  max-width: 640px;
}
.cfp-txt p {
  color: #cfe3d8;
  max-width: 620px;
  margin: 0 0 16px;
}
.cfp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cfp-chips span {
  border: 1px solid rgba(217, 164, 65, 0.55);
  color: #f3dfa9;
  border-radius: 99px;
  padding: 6px 12px;
  font: 700 12px var(--f-ui);
}
.cfp-box {
  margin: 14px 14px 14px 0;
  padding: 26px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}
.cfp-box ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.cfp-box li {
  display: flex;
  gap: 10px;
  align-items: center;
  font: 600 14px var(--f-ui);
}
.cfp-box li i {
  color: var(--gold);
  font-size: 20px;
}
.cfp-box .btn-gold {
  text-align: center;
  padding: 14px 18px;
}
.cfp-box small {
  color: #bcd;
  text-align: center;
}
@media (max-width: 991px) {
  .cfp-in {
    grid-template-columns: 1fr;
  }
  .cfp-box {
    margin: 0 14px 14px;
  }
  .cfp-txt {
    padding: 24px;
  }
  .cfp-txt h2 {
    font-size: 25px;
  }
}

/* ===== v11: popup form extras (file inputs) ===== */
.mc-form input[type="file"] {
  padding: 8px 10px;
  font-size: 13px;
  cursor: pointer;
}
.mc-form .fslot {
  font-weight: 600;
  font-size: 11px;
}
.mc-form .fslot input {
  font-size: 11px;
  padding: 6px;
}
.mc-form .fnote {
  font-style: normal;
  font-weight: 500;
  color: var(--muted);
}
.mc-form select {
  appearance: auto;
}
.sub-card .mc-form {
  overflow: visible;
}
.cta-row .btn-green,
.mv-foot .btn-green,
.cover-cta .btn-green {
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 11px 18px;
  border-radius: 8px;
}
/* --- v12: form tweaks --- */
.cta-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.mc-form select[required]:invalid {
  color: #555;
}

/* ===== v13: Newsroom — shorter + interactive ===== */
.nr-stage,
.ad-img {
  min-height: 400px;
}
.nr-panel {
  padding: 18px;
}
.nr-picks {
  padding: 12px;
}
.nr-item {
  padding: 8px 10px;
  gap: 10px;
}
.nr-item .ph,
.nr-item img {
  max-height: 62px;
}
.nr-item h5 {
  font-size: 14px;
  line-height: 1.25;
}
.nr-lead .body,
.nr-lead .nr-body {
  padding-bottom: 22px;
}
.nr-lead h2,
.nr-lead h3 {
  font-size: clamp(22px, 2.4vw, 32px);
}
/* interactive: Ken-Burns zoom on active image, hover lift, animated progress on active pick */
.nr-lead img {
  transition: transform 6s ease-out;
}
#nr1:checked ~ .nr-panel .nr-l1 img,
#nr2:checked ~ .nr-panel .nr-l2 img,
#nr3:checked ~ .nr-panel .nr-l3 img,
#nr4:checked ~ .nr-panel .nr-l4 img {
  transform: scale(1.08);
}
.nr-stage:hover .nr-lead img {
  transform: scale(1.12);
}
.nr-lead h2,
.nr-lead h3 {
  background: linear-gradient(var(--gold), var(--gold)) 0 100%/0 3px no-repeat;
  transition: background-size 0.5s;
  padding-bottom: 4px;
  display: inline;
}
.nr-stage:hover .nr-lead h2,
.nr-stage:hover .nr-lead h3 {
  background-size: 100% 3px;
}
.nr-item {
  transition: transform 0.25s, box-shadow 0.25s, background 0.25s;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.nr-item:hover {
  transform: translateX(6px);
  box-shadow: 0 10px 22px rgba(120, 86, 10, 0.18);
}
.nr-item:hover .nr-chev {
  opacity: 1;
  transform: none;
}
.nr-item:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 0;
  background: var(--gold);
}
#nr1:checked ~ .nr-panel label[for="nr1"]:after,
#nr2:checked ~ .nr-panel label[for="nr2"]:after,
#nr3:checked ~ .nr-panel label[for="nr3"]:after,
#nr4:checked ~ .nr-panel label[for="nr4"]:after {
  animation: nrFill 6s linear forwards;
}
@keyframes nrFill {
  to {
    width: 100%;
  }
}
.ad-img {
  transition: transform 0.3s, box-shadow 0.3s;
}
.ad-img:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(10, 40, 25, 0.25);
}
.nr-nav label:active {
  transform: scale(0.92);
}
@media (prefers-reduced-motion: reduce) {
  .nr-lead img,
  .nr-item:after {
    animation: none !important;
    transition: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .nr-stage {
    min-height: 360px;
  }
  .ad-img {
    min-height: 240px;
  }
}
@media (max-width: 767px) {
  .nr-stage {
    min-height: 340px;
  }
  .ad-img {
    min-height: 180px;
  }
}
@media (max-width: 575px) {
  .nr-stage {
    min-height: 310px;
  }
  .nr-item .ph,
  .nr-item img {
    max-height: 54px;
  }
}
@media (min-width: 1280px) {
  .nr-panel > .row > .col-lg-6 {
    flex: 0 0 46%;
    width: 46%;
  }
  .nr-panel > .row > .col-lg-3:nth-child(2) {
    flex: 0 0 32%;
    width: 32%;
  }
  .nr-panel > .row > .col-lg-3:nth-child(3) {
    flex: 0 0 22%;
    width: 22%;
  }
  .nr-item h5 {
    font-size: 13.5px;
  }
  .nr-item .ph,
  .nr-item img {
    max-height: 56px;
  }
}

/* ===== v14: Newsroom — wide main story, no ad, slide transition, recent-news slider ===== */
@keyframes nrSlide {
  from {
    opacity: 0;
    transform: translateX(70px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
#nr1:checked ~ .nr-panel .nr-l1,
#nr2:checked ~ .nr-panel .nr-l2,
#nr3:checked ~ .nr-panel .nr-l3,
#nr4:checked ~ .nr-panel .nr-l4 {
  animation: nrSlide 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
@media (min-width: 768px) and (max-width: 1279px) {
  .nr-panel > .row > .col-lg-8,
  .nr-panel > .row > .col-lg-4 {
    flex: 0 0 100%;
    width: 100%;
  }
  .nr-item {
    display: flex;
  }
}
@media (min-width: 1280px) {
  .nr-stage {
    min-height: 440px;
  }
}
.nr-recent {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid #eadfba;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
.nr-rh {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 99px;
  background: #07261a;
  color: var(--gold);
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  white-space: nowrap;
}
.nr-rh i {
  animation: nrPulse 1.6s infinite;
}
@keyframes nrPulse {
  50% {
    opacity: 0.3;
  }
}
.nr-recent .mv-view {
  flex: 1;
  min-width: 0;
}
.nr-recent .mv-track {
  animation-duration: 48s;
}
.nr-rc {
  flex: 0 0 290px;
  display: flex;
  gap: 10px;
  align-items: center;
  margin-right: 14px;
  padding: 6px;
  border-radius: 12px;
  transition: background 0.25s, transform 0.25s;
}
.nr-rc:hover {
  background: #fff;
  transform: translateY(-2px);
}
.nr-rc .ph {
  flex: 0 0 56px;
  height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--green-800);
}
.nr-rc .ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nr-rc b {
  display: block;
  font: 800 13px/1.25 var(--f-head);
  color: var(--ink);
}
.nr-rc small {
  font: 500 11px var(--f-ui);
  color: var(--muted);
}
[data-theme="dark"] .nr-recent,
html:has(#themeChk:checked) .nr-recent {
  background: #1b2016;
  border-color: #33341d;
}
@media (max-width: 575px) {
  .nr-recent {
    flex-direction: column;
    align-items: flex-start;
  }
  .nr-recent .mv-view {
    width: 100%;
  }
  .nr-rc {
    flex-basis: 250px;
  }
}

/* ===== v14: Industrial & Environmental Sustainability ===== */
.sus-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.sus-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  min-height: 380px;
  display: flex;
  align-items: flex-end;
  color: #fff;
  box-shadow: var(--shadow);
}
.sus-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.sus-card:hover > img {
  transform: scale(1.07);
}
.sus-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(3, 22, 13, 0.96) 15%,
    rgba(3, 22, 13, 0.6) 55%,
    rgba(3, 22, 13, 0.2)
  );
}
.sus-env:after {
  background: linear-gradient(
    0deg,
    rgba(4, 38, 26, 0.96) 15%,
    rgba(4, 38, 26, 0.55) 55%,
    rgba(4, 38, 26, 0.15)
  );
}
.sus-b {
  position: relative;
  z-index: 2;
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.sus-ic {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--gold);
  color: #1b1304;
  font-size: 26px;
}
.sus-b h3 {
  font-size: 30px;
  margin: 0;
  color: #fff;
}
.sus-b p {
  margin: 0;
  color: #d6e8de;
  max-width: 520px;
}
.sus-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sus-chips span {
  border: 1px solid rgba(217, 164, 65, 0.6);
  color: #f3dfa9;
  border-radius: 99px;
  padding: 5px 12px;
  font: 700 12px var(--f-ui);
}
@media (max-width: 767px) {
  .sus-duo {
    grid-template-columns: 1fr;
  }
  .sus-card {
    min-height: 340px;
  }
  .sus-b {
    padding: 22px;
  }
  .sus-b h3 {
    font-size: 25px;
  }
}
.sus-card {
  background: linear-gradient(135deg, #0d4a2d, #07261a);
}

/* ===== v16: Today's front page — equal heights + cover hover zoom ===== */
@media (min-width: 992px) {
  .home-hero .row > [class*="col-"] {
    display: flex;
    flex-direction: column;
  }
  .home-hero .lead-card {
    flex: 1;
    min-height: 0;
  }
  .home-hero .col-lg-3:nth-child(2) .side-mini {
    flex: 1;
    align-items: center;
  }
  .home-hero .issue-card {
    flex: 1;
    height: auto;
    min-height: 0;
  }
  .home-hero .issue-card .cover-card {
    flex: 1;
    min-height: 0;
    aspect-ratio: auto;
    position: relative;
  }
}
.home-hero .cover-card,
.ed-card .cover-card {
  transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.45s;
  transform-origin: center;
}
.home-hero .cover-card:hover {
  transform: scale(1.08);
  z-index: 6;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.55);
}
.ed-card .cover-card:hover {
  transform: scale(1.08) rotate(0);
  z-index: 6;
  box-shadow: 0 26px 50px rgba(0, 0, 0, 0.4);
}
.home-hero .issue-card {
  position: relative;
  z-index: 3;
}

/* ===== v16: image ad banner + ads request band ===== */
.ad-imgbn {
  position: relative;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  min-height: 100px;
  background: linear-gradient(120deg, #1c5a3d, #0b3b24);
  box-shadow: var(--shadow);
  transition: transform 0.3s;
}
.ad-imgbn img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s;
}
.ad-imgbn:hover {
  transform: translateY(-3px);
}
.ad-imgbn:hover img {
  transform: scale(1.05);
}
.ad-imgbn em {
  position: absolute;
  right: 10px;
  top: 8px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font: 800 9px var(--f-ui);
  letter-spacing: 0.14em;
  padding: 3px 8px;
  border-radius: 5px;
}
.ad-req {
  min-height: 100px;
}
@media (max-width: 767px) {
  .ad-two {
    grid-template-columns: 1fr;
  }
  .ad-imgbn {
    min-height: 90px;
  }
}

/* ===== v16: Interviews — shorter, wider image ===== */
.interview-feat {
  grid-template-columns: 44% 1fr;
  min-height: 0;
}
.interview-feat .who {
  padding: 12px 0 12px 12px;
}
.interview-feat .who .ph {
  min-height: 0;
  height: 100%;
  border-radius: 14px;
}
.interview-feat .who .ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.interview-feat .p-4 {
  padding: 16px 20px !important;
}
.interview-feat blockquote {
  font-size: 21px;
  line-height: 1.3;
  margin: 8px 0 10px;
}
.interview-feat:before {
  font-size: 100px;
}
.interview-feat .read-more {
  margin-top: 10px;
}
.iv-list {
  padding: 14px 16px;
}
.iv-li {
  padding: 7px 0;
}
.iv-li .ph {
  flex-basis: 50px;
  width: 50px;
  height: 50px;
}
.iv-li h5 {
  font-size: 13.5px;
}
.iv-list .mv-foot {
  margin-top: 8px;
  padding: 8px 12px;
}
.iv-list .mv-foot span {
  font-size: 13px;
}
.iv-list h6 {
  margin-bottom: 2px;
}
@media (max-width: 991px) {
  .interview-feat {
    grid-template-columns: 42% 1fr;
  }
  .interview-feat .who .ph {
    min-height: 200px;
  }
}
@media (max-width: 575px) {
  .interview-feat {
    grid-template-columns: 1fr;
  }
  .interview-feat .who .ph {
    min-height: 240px;
    height: 240px;
  }
}

/* ===== v16: Corporate associate slider ===== */
.client-slide .mv-track {
  animation-duration: 34s;
}
.client-slide .client {
  flex: 0 0 240px;
  margin-right: 14px;
}
@media (max-width: 575px) {
  .client-slide .client {
    flex-basis: 170px;
  }
}

/* ===== v16: Face to Face video info ===== */
.video .vid-who {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 60px 24px 20px;
  background: linear-gradient(0deg, rgba(3, 22, 13, 0.95), rgba(3, 22, 13, 0));
  color: #fff;
  max-width: 100%;
}
.vid-who h4 {
  font: 800 clamp(20px, 2.4vw, 28px) / 1.2 var(--f-head);
  color: #fff;
  margin: 6px 0;
}
.vid-who b {
  font: 800 15px var(--f-head);
  color: #fff;
}
.vid-who .vw-role {
  display: block;
  font: 500 12.5px var(--f-ui);
  color: var(--gold);
  margin-bottom: 6px;
}
.vid-who p {
  margin: 0;
  max-width: 640px;
  font: 400 14px/1.5 var(--f-serif);
  color: #cfe3d8;
}
.video-sec .video:hover .play {
  transform: translate(-50%, -50%) scale(1.1);
}
@media (max-width: 575px) {
  .vid-who p {
    display: none;
  }
  .video .vid-who {
    padding: 40px 16px 14px;
  }
}

/* ===== v16: Webinars — featured + past list ===== */
.wb-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 14px;
}
.wb-feat {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 440px;
  display: flex;
  align-items: flex-end;
  color: #fff;
  background: linear-gradient(135deg, #0d4a2d, #07261a);
  box-shadow: var(--shadow);
}
.wb-feat > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s;
}
.wb-feat:hover > img {
  transform: scale(1.06);
}
.wb-feat:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(3, 22, 13, 0.96) 20%,
    rgba(3, 22, 13, 0.45) 65%,
    rgba(3, 22, 13, 0.1)
  );
}
.wb-fb {
  position: relative;
  z-index: 2;
  padding: 26px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.wb-fb .web-tag {
  position: static;
  background: var(--gold);
  color: #1b1304;
}
.wb-fb h3 {
  font-size: clamp(24px, 2.6vw, 34px);
  color: #fff;
  margin: 0;
}
.wb-fb p {
  margin: 0;
  color: #d6e8de;
  max-width: 560px;
}
.wb-fb .meta {
  color: #cfe3d8;
}
.wb-date {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.wb-date b {
  font: 900 44px/1 var(--f-head);
  color: var(--gold);
}
.wb-date small {
  font: 800 12px var(--f-ui);
  letter-spacing: 0.16em;
}
.wb-side {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  box-shadow: var(--shadow);
}
.wb-sh {
  display: flex;
  align-items: baseline;
  gap: 10px;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 8px;
}
.wb-sh h4 {
  margin: 0;
  font-size: 20px;
}
.wb-past {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: 0.25s;
  flex: 1;
}
.wb-past:hover {
  background: rgba(217, 164, 65, 0.12);
  border-color: var(--gold);
  transform: translateX(5px);
}
.wb-past .ph {
  flex: 0 0 72px;
  height: 60px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--green-800);
}
.wb-past .ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wb-pt {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.wb-pt b {
  font: 800 14px/1.25 var(--f-head);
}
.wb-pt small {
  font: 500 12px var(--f-ui);
  color: var(--muted);
}
.wb-rm {
  flex: 0 0 auto;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold-d);
  white-space: nowrap;
}
.wb-past:hover .wb-rm i {
  transform: translateX(4px);
}
.wb-rm i {
  display: inline-block;
  transition: 0.25s;
}
@media (max-width: 991px) {
  .wb-grid {
    grid-template-columns: 1fr;
  }
  .wb-feat {
    min-height: 380px;
  }
}
@media (max-width: 575px) {
  .wb-fb {
    padding: 18px;
  }
  .wb-past {
    flex-wrap: wrap;
  }
  .wb-rm {
    margin-left: 84px;
  }
}

/* ===== v16: Ads Packages (interactive tabs) ===== */
.ap-r {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.ap-tabs {
  display: inline-flex;
  gap: 6px;
  padding: 5px;
  margin-bottom: 14px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 99px;
}
.ap-tabs label {
  cursor: pointer;
  padding: 9px 22px;
  border-radius: 99px;
  font: 800 12px var(--f-ui);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: 0.25s;
}
.ap-tabs label:hover {
  color: var(--gold-d);
}
#ap-print:checked ~ .ap-tabs label[for="ap-print"],
#ap-digital:checked ~ .ap-tabs label[for="ap-digital"],
#ap-bundle:checked ~ .ap-tabs label[for="ap-bundle"] {
  background: #07261a;
  color: var(--gold);
}
.ap-grid {
  display: none;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
#ap-print:checked ~ .ap-print,
#ap-digital:checked ~ .ap-digital,
#ap-bundle:checked ~ .ap-bundle {
  display: grid;
  animation: apIn 0.5s both;
}
.ap-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  background: var(--paper);
  border: 1.5px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
.ap-card:hover {
  transform: translateY(-8px);
  border-color: var(--gold);
  box-shadow: 0 22px 44px rgba(10, 40, 25, 0.2);
}
.ap-card h4 {
  margin: 0;
  font-size: 21px;
}
.ap-price b {
  font: 900 30px var(--f-head);
  color: var(--green-700);
}
.ap-price small {
  display: block;
  font: 600 12px var(--f-ui);
  color: var(--muted);
}
.ap-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  flex: 1;
}
.ap-card li {
  display: flex;
  gap: 8px;
  font: 500 14px var(--f-ui);
}
.ap-card li i {
  color: var(--green-600);
  font-size: 18px;
}
.ap-card .btn-gold {
  text-align: center;
  padding: 12px;
}
.ap-card.pop {
  background: linear-gradient(160deg, #0d4a2d, #07261a);
  color: #fff;
  border-color: var(--gold);
}
.ap-card.pop h4,
.ap-card.pop .ap-price b {
  color: #fff;
}
.ap-card.pop .ap-price small {
  color: #bcd;
}
.ap-card.pop li i {
  color: var(--gold);
}
.ap-pop {
  position: absolute;
  right: 16px;
  top: -12px;
  background: var(--gold);
  color: #1b1304;
  font: 800 10px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 99px;
}
@media (max-width: 991px) {
  .ap-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .ap-grid {
    grid-template-columns: 1fr;
  }
  .ap-tabs {
    display: flex;
    width: 100%;
  }
  .ap-tabs label {
    flex: 1;
    text-align: center;
    padding: 9px 6px;
  }
}
@keyframes apIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (min-width: 992px) {
  .home-hero .col-lg-6 {
    position: relative;
  }
  .home-hero .col-lg-6 > .sec-sub {
    position: absolute;
    top: 2px;
    left: 88px;
    margin: 0;
  }
  .home-hero .lead-card {
    margin-bottom: 58px;
  }
  .home-hero .row > .col-lg-3:nth-child(2) {
    padding-bottom: 58px;
  }
}
.video-sec .video {
  min-height: 440px;
}
.video-sec .video .play {
  top: 36%;
}
@media (max-width: 575px) {
  .video-sec .video {
    min-height: 300px;
  }
}
.ap-card .btn-gold {
  color: #1b1304;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* ===== v17: Interviews — even shorter ===== */
.sec-iv .sec-title {
  margin-bottom: 10px;
}
.interview-feat .who {
  padding: 8px 0 8px 8px;
}
.interview-feat .p-4 {
  padding: 12px 18px !important;
}
.interview-feat blockquote {
  font-size: 19px;
  line-height: 1.28;
  margin: 6px 0 8px;
}
.interview-feat .by b {
  font-size: 14px;
}
.interview-feat .by span {
  font-size: 12px;
}
.interview-feat .read-more {
  margin-top: 6px;
  font-size: 11px;
}
.iv-list {
  padding: 10px 14px;
}
.iv-list h6 {
  margin: 0 0 0;
  font-size: 11px;
}
.iv-li {
  padding: 5px 0;
  gap: 10px;
}
.iv-li:before {
  font-size: 17px;
  flex-basis: 24px;
}
.iv-li .ph {
  flex-basis: 40px;
  width: 40px;
  height: 40px;
}
.iv-li h5 {
  font-size: 13px;
  line-height: 1.25;
  margin: 0;
}
.iv-li .meta {
  font-size: 11.5px;
}
.iv-list .mv-foot {
  flex-direction: row;
  flex-wrap: nowrap;
  margin-top: 6px;
  padding: 6px 10px;
  gap: 8px;
}
.iv-list .mv-foot span {
  font-size: 12px;
  line-height: 1.2;
}
.iv-list .mv-foot .btn-gold {
  padding: 8px 12px;
  font-size: 10px;
  white-space: nowrap;
}
@media (max-width: 575px) {
  .iv-list .mv-foot {
    flex-wrap: wrap;
  }
  .interview-feat .who .ph {
    min-height: 200px;
    height: 200px;
  }
}

/* ===== v18: Interviews — compact, equal-height left/right, interactive ===== */
@media (min-width: 992px) {
  .interview-wrap {
    grid-template-columns: 1.2fr 1fr;
    grid-auto-rows: 272px;
    align-items: stretch;
  }
  .interview-feat,
  .iv-list {
    height: 272px;
    min-height: 0;
  }
  .interview-feat .who {
    padding: 8px 0 8px 8px;
    height: 100%;
  }
  .interview-feat .who .ph {
    height: 100%;
    min-height: 0;
  }
  .iv-list {
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  .iv-list .iv-li {
    flex: 1;
    padding: 0 8px;
    margin: 0 -8px;
  }
  .iv-list .mv-foot {
    flex: 0 0 auto;
  }
}
.interview-feat .ph img,
.iv-li .ph img {
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.interview-feat:hover .ph img {
  transform: scale(1.08);
}
.interview-feat blockquote {
  background: linear-gradient(var(--gold), var(--gold)) 0 100%/0 2px no-repeat;
  transition: background-size 0.5s;
  padding-bottom: 3px;
}
.interview-feat:hover blockquote {
  background-size: 100% 2px;
}
.interview-feat .read-more {
  display: inline-block;
  transition: transform 0.3s;
}
.interview-feat:hover .read-more {
  transform: translateX(8px);
}
.interview-feat {
  transition: transform 0.3s, box-shadow 0.3s;
}
.interview-feat:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(7, 38, 26, 0.3);
}
.iv-li {
  border-radius: 10px;
  transition: background 0.25s, transform 0.25s;
}
.iv-li:hover {
  background: rgba(217, 164, 65, 0.16);
  transform: translateX(6px);
}
.iv-li:hover .ph img {
  transform: scale(1.15);
}
.iv-li:hover h5 {
  color: var(--green-700);
}
.iv-li .ph {
  border: 2px solid transparent;
  transition: border-color 0.25s;
}
.iv-li:hover .ph {
  border-color: var(--gold);
}
@media (max-width: 991px) {
  .interview-feat .who .ph {
    height: 220px;
  }
}
@media (min-width: 992px) {
  .iv-li .ph {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }
  .iv-li:before {
    font-size: 15px;
  }
}

/* ===== v19: Interviews — a little taller, more bottom space, more interactive ===== */
@media (min-width: 992px) {
  .interview-wrap {
    grid-auto-rows: 318px;
  }
  .interview-feat,
  .iv-list {
    height: 318px;
  }
  .interview-feat .p-4 {
    padding: 16px 24px !important;
  }
  .interview-feat blockquote {
    font-size: 22px;
  }
  .iv-li .ph {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
  }
  .iv-list {
    padding: 14px 16px 16px;
  }
}
main.pg-home > section.sec-iv,
.sec-iv {
  padding-bottom: 6px !important;
  margin-bottom: 0 !important;
}
.interview-wrap {
  padding-bottom: 6px;
}
.iv-list .mv-foot {
  margin-bottom: 2px;
}
.interview-feat .who .ph {
  position: relative;
  overflow: hidden;
}
.interview-feat .who .ph:after {
  content: "\F4F5";
  font-family: "bootstrap-icons";
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--gold);
  color: #111;
  font-size: 18px;
  transform: scale(0);
  transition: transform 0.35s cubic-bezier(0.3, 1.6, 0.5, 1);
}
.interview-feat:hover .who .ph:after {
  transform: scale(1);
}
.interview-feat .kicker {
  position: relative;
  padding-left: 0;
  transition: letter-spacing 0.35s;
}
.interview-feat:hover .kicker {
  letter-spacing: 0.2em;
}
.iv-li:before {
  transition: transform 0.3s, color 0.3s;
}
.iv-li:hover:before {
  transform: scale(1.35);
  color: var(--green-700);
}
.iv-li:hover {
  box-shadow: 0 8px 18px rgba(120, 86, 10, 0.14);
}
.iv-li:active {
  transform: scale(0.98);
}
.iv-list .mv-foot .btn-gold {
  transition: transform 0.25s, box-shadow 0.25s;
}
.iv-list .mv-foot .btn-gold:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(120, 86, 10, 0.3);
}

/* ===== v20: About page ===== */
main.pg-info > section.container {
  margin-top: 14px;
}
main.pg-info > section.container:first-of-type {
  margin-top: 28px;
}
.ab-img {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
  aspect-ratio: 9/7;
  background: linear-gradient(135deg, #0d4a2d, #07261a);
}
.ab-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s;
}
.ab-img:hover img {
  transform: scale(1.06);
}
.ab-badge {
  position: absolute;
  right: 16px;
  bottom: 16px;
  background: var(--gold);
  color: #1b1304;
  border-radius: 14px;
  padding: 10px 16px;
  text-align: center;
  font: 900 26px/1 var(--f-head);
}
.ab-badge b {
  display: block;
  font: 800 10px var(--f-ui);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.ab-story h2 {
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.15;
}
.ab-stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.ab-stat {
  background: linear-gradient(135deg, #0d4a2d, #07261a);
  color: #fff;
  border-radius: 16px;
  padding: 24px;
  text-align: center;
  border-bottom: 3px solid var(--gold);
  transition: transform 0.25s;
}
.ab-stat:hover {
  transform: translateY(-5px);
}
.ab-stat b {
  display: block;
  font: 900 clamp(30px, 4vw, 46px) / 1 var(--f-head);
  color: var(--gold);
}
.ab-stat span {
  font: 700 12px var(--f-ui);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #cfe3d8;
}
.ab-vals {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.ab-val {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 22px;
  box-shadow: var(--shadow);
  transition: transform 0.25s, border-color 0.25s;
}
.ab-val:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
}
.ab-ic {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--gold);
  color: #1b1304;
  font-size: 24px;
  margin-bottom: 12px;
}
.ab-val h4 {
  font-size: 20px;
  margin: 0 0 8px;
}
.ab-val p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}
.ab-tl {
  list-style: none;
  margin: 0;
  padding: 0 0 0 18px;
  border-left: 3px solid var(--gold);
  display: grid;
  gap: 14px;
}
.ab-tl li {
  position: relative;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px 18px;
  transition: transform 0.25s;
}
.ab-tl li:hover {
  transform: translateX(6px);
}
.ab-tl li:before {
  content: "";
  position: absolute;
  left: -30px;
  top: 24px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--gold);
  border: 3px solid var(--cream, #f4f5ef);
}
.ab-yr {
  flex: 0 0 70px;
  font: 900 24px var(--f-head);
  color: var(--gold-d);
}
.ab-tc h5 {
  font: 800 18px var(--f-head);
  margin: 0 0 4px;
}
.ab-tc p {
  margin: 0;
  color: var(--muted);
}
.ab-faq {
  display: grid;
  gap: 10px;
}
.ab-faq details {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 0 18px;
  transition: border-color 0.25s;
}
.ab-faq details[open] {
  border-color: var(--gold);
  box-shadow: var(--shadow);
}
.ab-faq summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 16px 0;
  font: 800 16px var(--f-head);
}
.ab-faq summary::-webkit-details-marker {
  display: none;
}
.ab-faq summary i {
  transition: transform 0.3s;
  color: var(--gold-d);
}
.ab-faq details[open] summary i {
  transform: rotate(45deg);
}
.ab-faq p {
  margin: 0 0 16px;
  color: var(--muted);
}
.cta-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding: 28px 30px;
  border-radius: 20px;
  background: linear-gradient(120deg, #0b3b24, #07261a 65%, #123f2a);
  color: #fff;
  border-top: 3px solid var(--gold);
}
.cta-band h3 {
  color: #fff;
  font-size: 28px;
  margin: 6px 0;
}
.cta-band p {
  margin: 0;
  color: #cfe3d8;
}
.cta-band .btn-line {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.5);
}
.cta-band .btn-line:hover {
  background: #fff;
  color: #07261a;
}
@media (max-width: 991px) {
  .ab-stat-row,
  .ab-vals {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .ab-stat-row,
  .ab-vals {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .ab-stat {
    padding: 16px;
  }
  .ab-yr {
    flex-basis: 56px;
    font-size: 19px;
  }
  .ab-tl li {
    flex-direction: column;
    gap: 4px;
  }
  .cta-band {
    padding: 22px;
  }
  .cta-band h3 {
    font-size: 23px;
  }
  .desk-hero h1 {
    font-size: 34px;
  }
}
@media (max-width: 399px) {
  .ab-vals {
    grid-template-columns: 1fr;
  }
  .ab-stat-row {
    grid-template-columns: 1fr 1fr;
  }
}

/* ===== v20: Team page ===== */
.tf-r {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.tf-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.tf-tabs label {
  cursor: pointer;
  padding: 9px 18px;
  border-radius: 99px;
  border: 1.5px solid var(--line);
  background: var(--paper);
  font: 800 12px var(--f-ui);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: 0.25s;
}
.tf-tabs label:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
}
#tf-all:checked ~ .tf-tabs label[for="tf-all"],
#tf-ed:checked ~ .tf-tabs label[for="tf-ed"],
#tf-dz:checked ~ .tf-tabs label[for="tf-dz"],
#tf-bz:checked ~ .tf-tabs label[for="tf-bz"],
#tf-ad:checked ~ .tf-tabs label[for="tf-ad"] {
  background: #07261a;
  color: var(--gold);
  border-color: #07261a;
}
#tf-ed:checked ~ .tm-grid .tm:not(.t-ed),
#tf-dz:checked ~ .tm-grid .tm:not(.t-dz),
#tf-bz:checked ~ .tm-grid .tm:not(.t-bz),
#tf-ad:checked ~ .tm-grid .tm:not(.t-ad) {
  display: none;
}
.tm-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.tm {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform 0.3s, box-shadow 0.3s;
  animation: nrIn 0.5s both;
}
.tm:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(10, 40, 25, 0.2);
}
.tm-ph {
  position: relative;
  aspect-ratio: 4/5;
  background: linear-gradient(135deg, #0d4a2d, #07261a);
  overflow: hidden;
}
.tm-ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s;
}
.tm:hover .tm-ph img {
  transform: scale(1.08);
}
.tm-ov {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px;
  background: linear-gradient(
    0deg,
    rgba(3, 22, 13, 0.95),
    rgba(3, 22, 13, 0.3)
  );
  color: #fff;
  opacity: 0;
  transform: translateY(14px);
  transition: 0.35s;
}
.tm:hover .tm-ov,
.tm:focus-within .tm-ov {
  opacity: 1;
  transform: none;
}
.tm-ov p {
  margin: 0;
  font-size: 14px;
  color: #d6e8de;
}
.tm-soc {
  display: flex;
  gap: 8px;
}
.tm-soc a {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  transition: 0.25s;
}
.tm-soc a:hover {
  background: var(--gold);
  color: #111;
}
.tm-b {
  padding: 14px 16px;
}
.tm-b h5 {
  font: 800 17px var(--f-head);
  margin: 0 0 3px;
}
.tm-b span {
  font: 600 12.5px var(--f-ui);
  color: var(--gold-d);
}
@media (hover: none) {
  .tm-ov {
    opacity: 1;
    transform: none;
    background: linear-gradient(0deg, rgba(3, 22, 13, 0.9), transparent 70%);
  }
  .tm-ov p {
    display: none;
  }
}
@media (max-width: 1199px) {
  .tm-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 767px) {
  .tm-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .tm-b {
    padding: 10px 12px;
  }
  .tm-b h5 {
    font-size: 15px;
  }
}
@media (max-width: 359px) {
  .tm-grid {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tm {
    animation: none;
  }
}

/* ===== v20: Front page — cover equal height, no buttons ===== */
@media (min-width: 992px) {
  .home-hero .lead-card {
    margin-bottom: 0;
  }
  .home-hero .row > .col-lg-3:nth-child(2) {
    padding-bottom: 0;
  }
}
/* ===== v20: Clients border bottom ===== */
.clients-sec {
  border-bottom: 2px solid var(--ink);
  padding-bottom: 18px;
}
/* ===== v20: Popup side contact block ===== */
.mc-side .mc-query {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px dashed rgba(217, 164, 65, 0.7);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
}
.mc-side .mc-query b {
  display: block;
  font: 800 13px var(--f-head);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.mc-side .mc-query a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font: 600 14px var(--f-ui);
  padding: 5px 0;
  word-break: break-word;
}
.mc-side .mc-query a:hover {
  color: var(--gold);
}
.mc-side .mc-query i {
  color: var(--gold);
  font-size: 17px;
}
.mc-side .mc-query a {
  word-break: normal;
  overflow-wrap: anywhere;
  font-size: 13px;
}

/* ===== v21: Front page — bigger title, Feature Article chip, archive-size cover ===== */
.home-hero .row > [class*="col-"] > .kicker,
.home-hero .issue-card > .kicker {
  font-size: 22px;
  letter-spacing: 0.08em;
  line-height: 1.1;
  min-height: 34px;
  display: flex;
  align-items: center;
  margin-bottom: 8px !important;
}
.home-hero .col-lg-6 > .sec-sub {
  display: inline-block;
  background: var(--gold-d);
  color: #fff;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 6px;
  margin: 0;
}
@media (min-width: 992px) {
  .home-hero .col-lg-6 > .sec-sub {
    position: absolute;
    top: 2px;
    right: 12px;
    left: auto;
  }
  .home-hero .issue-card {
    flex: none;
  }
  .home-hero .issue-card .cover-card {
    flex: none;
    width: min(100%, 250px);
    max-width: 250px;
    aspect-ratio: 1/1.414;
    min-height: 0;
    margin: 0 auto;
  }
  .home-hero .lead-card {
    flex: 1;
    min-height: 0;
  }
}
@media (max-width: 991px) {
  .home-hero .col-lg-6 > .sec-sub {
    margin: 0 0 8px;
  }
  .home-hero .issue-card .cover-card {
    width: min(100%, 250px);
    max-width: 250px;
    aspect-ratio: 1/1.414;
    min-height: 0;
    margin: 0 auto;
  }
}
/* ===== v21: Clients bottom border same width as top border ===== */
.clients-sec {
  border-bottom: 0;
  padding-bottom: 0;
}
.client-slide {
  border-bottom: 2px solid var(--ink);
  padding-bottom: 16px;
}
@media (min-width: 992px) {
  .home-hero .issue-card {
    flex: 1;
  }
  .home-hero .issue-card .cover-card {
    margin: auto;
  }
}

/* ===== v22: Feature Article pill (like Newsroom badge) + smaller side titles ===== */
.home-hero .col-lg-6 > .sec-sub {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--gold);
  color: #1b1304;
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 9px 16px;
  border-radius: 99px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
}
.home-hero .col-lg-6 > .sec-sub:before {
  content: "\F586";
  font-family: "bootstrap-icons";
  font-size: 12px;
  letter-spacing: 0;
}
.home-hero .col-lg-3 > .kicker,
.home-hero .issue-card > .kicker {
  font-size: 14px;
  letter-spacing: 0.14em;
}
@media (min-width: 992px) {
  .home-hero .col-lg-6 > .sec-sub {
    top: -2px;
  }
}

/* ===== v23: Feature Article — smaller title, text at image bottom, interactive ===== */
.home-hero .lead-card {
  align-items: flex-end;
}
.home-hero .lead-card .body {
  padding: 22px 26px 24px;
  width: 100%;
}
.home-hero .lead-card h1,
.home-hero .lead-card h1.mt-5 {
  font-size: clamp(22px, 2.3vw, 30px);
  line-height: 1.2;
  margin: 8px 0 8px !important;
  max-width: none;
  background: linear-gradient(var(--gold), var(--gold)) 0 100%/0 3px no-repeat;
  transition: background-size 0.5s;
  padding-bottom: 4px;
  display: inline;
}
.home-hero .lead-card:hover h1 {
  background-size: 100% 3px;
}
.home-hero .lead-card .body > p {
  font-size: 14.5px;
  line-height: 1.5;
  margin: 8px 0 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-hero .lead-card .ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.home-hero .lead-card:hover .ph img {
  transform: scale(1.08);
}
.home-hero .lead-card .body:after {
  content: "Read the story  \2192";
  display: block;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  color: var(--gold);
  font: 800 11px var(--f-ui);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: max-height 0.4s, opacity 0.4s, margin 0.4s;
}
.home-hero .lead-card:hover .body:after {
  max-height: 24px;
  opacity: 1;
  margin-top: 10px;
}
.home-hero .lead-card {
  transition: transform 0.35s, box-shadow 0.35s;
}
.home-hero .lead-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 44px rgba(0, 0, 0, 0.4);
}
.home-hero .lead-card .nr-badge {
  transition: transform 0.3s;
}
.home-hero .lead-card:hover .nr-badge {
  transform: scale(1.06);
}
@media (hover: none) {
  .home-hero .lead-card .body:after {
    max-height: 24px;
    opacity: 1;
    margin-top: 10px;
  }
}
.home-hero .lead-card.d-block {
  display: flex !important;
  align-items: flex-end;
}

/* ===== v24: Auto popup — rises from bottom-left, auto-hides, close button ===== */
.pop-wrap {
  position: fixed;
  left: 20px;
  bottom: 0;
  z-index: 900;
  pointer-events: none;
}
.pop-chk {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.pop-card {
  position: relative;
  width: min(340px, calc(100vw - 40px));
  margin-bottom: 20px;
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(165deg, #0f4d2e, #07261a);
  color: #fff;
  border: 1.5px solid rgba(217, 164, 65, 0.65);
  box-shadow: 0 28px 64px rgba(0, 0, 0, 0.5);
  transform: translateY(120%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  animation: popRise 17s cubic-bezier(0.22, 1, 0.36, 1) 3s forwards;
}
.pop-card:hover,
.pop-card:focus-within {
  animation-play-state: paused;
}
@keyframes popRise {
  0% {
    transform: translateY(120%);
    opacity: 0;
    visibility: visible;
  }
  6% {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  92% {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  100% {
    transform: translateY(130%) translateX(-40px) scale(0.7);
    opacity: 0;
    visibility: hidden;
  }
}
#popX:checked ~ .pop-card {
  animation: popBye 0.4s ease forwards;
}
@keyframes popBye {
  from {
    transform: none;
    opacity: 1;
    visibility: visible;
  }
  to {
    transform: translateY(130%) translateX(-40px) scale(0.7);
    opacity: 0;
    visibility: hidden;
  }
}
.pop-x {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 3;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 13px;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: 0.25s;
}
.pop-x:hover {
  background: var(--gold);
  color: #111;
  transform: rotate(90deg) scale(1.1);
}
.pop-ban {
  position: relative;
  display: block;
  height: 180px;
  overflow: hidden;
  background: linear-gradient(135deg, #1c5a3d, #0b3b24);
}
.pop-ban img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s;
}
.pop-card:hover .pop-ban img {
  transform: scale(1.08);
}
.pop-ban:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 38, 26, 0.85), transparent 60%);
}
.pop-tag {
  position: absolute;
  left: 14px;
  bottom: 12px;
  z-index: 2;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  background: var(--gold);
  color: #1b1304;
  font: 800 10px var(--f-ui);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 30px;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3);
}
.pop-body {
  padding: 16px 20px 22px;
}
.pop-body h4 {
  font: 800 22px/1.2 var(--f-head);
  margin: 6px 0 8px;
  color: #fff;
}
.pop-body p {
  margin: 0 0 14px;
  font: 400 14px/1.5 var(--f-serif);
  color: #cfe3d8;
}
.pop-btns {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.pop-btns .btn-gold,
.pop-btns .btn-line {
  padding: 10px 16px;
  border-radius: 99px;
  font-size: 11px;
}
.pop-btns .btn-line {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.5);
}
.pop-btns .btn-line:hover {
  background: #fff;
  color: #07261a;
}
.pop-btns a {
  transition: transform 0.25s;
}
.pop-btns a:hover {
  transform: translateY(-2px);
}
.pop-bar {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  width: 100%;
  background: var(--gold);
  transform-origin: 0 50%;
  transform: scaleX(1);
  animation: popBar 17s linear 3s forwards;
}
.pop-card:hover .pop-bar {
  animation-play-state: paused;
}
@keyframes popBar {
  0%,
  6% {
    transform: scaleX(1);
  }
  92% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(0);
  }
}
@media (max-width: 575px) {
  .pop-wrap {
    left: 12px;
  }
  .pop-card {
    width: calc(100vw - 24px);
    margin-bottom: 12px;
    border-radius: 24px;
  }
  .pop-ban {
    height: 140px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pop-card {
    animation: none;
    display: none;
  }
}

/* ===== v30: 3 equal banners before Newsroom ===== */
.ad-three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ad-three .ad-imgbn{min-height:0;aspect-ratio:3/1;height:auto}
@media(max-width:767px){.ad-three{grid-template-columns:1fr}.ad-three .ad-imgbn{aspect-ratio:3.2/1}}

/* ===== v30: Industry Partners slider (replaces Corporate Associate) ===== */
.ind-slide .plogo{flex:0 0 240px;margin-right:14px}
@media(max-width:575px){.ind-slide .plogo{flex-basis:170px}}

/* ===== v30: Events vertical slider (top to bottom) ===== */
.ev-vslide{position:relative;height:514px;overflow:hidden;flex:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(180deg,transparent,#000 4%,#000 96%,transparent)}
.ev-vslide .ev-strips{display:flex;flex-direction:column;gap:14px;padding-bottom:14px;animation:evDown 40s linear infinite}
.ev-vslide .ev-strip{flex:0 0 118px}
.ev-vslide:hover .ev-strips{animation-play-state:paused}
@keyframes evDown{from{transform:translateY(-50%)}to{transform:translateY(0)}}
@media(max-width:991px){.ev-vslide{height:430px}}
@media(prefers-reduced-motion:reduce){.ev-vslide{overflow-y:auto}.ev-vslide .ev-strips{animation:none}}

/* ===== v30: Webinar guest button ===== */
.wb-guest{position:relative;display:flex;align-items:center;gap:14px;margin-top:auto;padding:14px 18px;border-radius:16px;background:linear-gradient(120deg,#0d4a2d,#07261a);color:#fff;border:1.5px solid var(--gold);overflow:hidden;transition:transform .3s,box-shadow .3s}
.wb-guest:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(217,164,65,.35),transparent 70%);transform:translateX(-120%);transition:transform .7s}
.wb-guest:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(7,38,26,.35);color:#fff}.wb-guest:hover:before{transform:translateX(120%)}
.wg-ic{position:relative;flex:0 0 46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#1b1304;font-size:22px;animation:wgPulse 2s infinite}
@keyframes wgPulse{0%{box-shadow:0 0 0 0 rgba(217,164,65,.6)}70%{box-shadow:0 0 0 12px rgba(217,164,65,0)}100%{box-shadow:0 0 0 0 rgba(217,164,65,0)}}
.wg-t{position:relative;flex:1;display:flex;flex-direction:column}.wg-t b{font:800 15px var(--f-head)}.wg-t small{font:500 12px var(--f-ui);color:#bfe3cf}
.wg-ar{position:relative;color:var(--gold);font-size:20px;transition:transform .3s}.wb-guest:hover .wg-ar{transform:translateX(6px)}
@media(prefers-reduced-motion:reduce){.wg-ic{animation:none}}

/* ===== v30: Face to Face — interview request strip ===== */
.ff-cta{margin-top:14px}

/* ===== v31: Events + Media Partnership equal height, aligned buttons ===== */
@media(min-width:992px){
  .ev-media .row{align-items:stretch}
  .ev-media .ev-vslide{flex:1 1 auto;height:auto;min-height:420px;position:relative}
  .ev-media .ev-vslide .ev-strips{position:absolute;left:0;right:0;top:0}
  .ev-media .media-logos{flex:1 1 auto}
  .ev-media .cta-row{margin-top:14px;min-height:68px;flex:0 0 auto}
}

/* ===== v31: Face to Face — Interview Request button (right column) ===== */
.ff-req{position:relative;display:flex;align-items:center;gap:14px;margin-top:16px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#f0c76e,#d3a047);color:#1b1304;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.3);transition:transform .3s,box-shadow .3s}
.ff-req:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.5),transparent 70%);transform:translateX(-120%);transition:transform .7s}
.ff-req:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.4);color:#1b1304}.ff-req:hover:before{transform:translateX(120%)}.ff-req:active{transform:scale(.98)}
.ffr-ic{position:relative;flex:0 0 50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#07261a;color:var(--gold);font-size:24px;animation:wgPulse 2s infinite}
.ffr-t{position:relative;flex:1;display:flex;flex-direction:column}.ffr-t b{font:900 18px var(--f-head);letter-spacing:-.01em}.ffr-t small{font:600 12.5px var(--f-ui);opacity:.8}
.ffr-ar{position:relative;font-size:22px;transition:transform .3s}.ff-req:hover .ffr-ar{transform:translateX(7px)}
@media(prefers-reduced-motion:reduce){.ffr-ic{animation:none}}

/* ===== v32: Face to Face — equal heights, "Up next" aligned to top ===== */
@media(min-width:992px){
  .video-sec .row{align-items:stretch}
  .video-sec .col-lg-8>.video{height:100%;min-height:440px}
  .video-sec .col-lg-4{display:flex;flex-direction:column}
  .video-sec .col-lg-4>.kicker{margin:-4px 0 4px!important;line-height:1}
  .video-sec .col-lg-4>.side-mini{flex:1 1 0;align-items:center;padding:8px 0;min-height:0}
  .video-sec .col-lg-4>.ff-req{flex:0 0 auto;margin-top:12px}
}
@media(max-width:991px){
  .video-sec .col-lg-8>.video{min-height:300px}
  .video-sec .col-lg-4>.kicker{margin:0 0 6px!important}
}

/* ===== v32: mobile fixes — past webinars ===== */
@media(max-width:575px){
  .wb-past{flex-wrap:wrap;align-items:flex-start}
  .wb-pt{flex:1 1 0;min-width:0}
  .wb-rm{flex:1 1 calc(100% - 84px);max-width:calc(100% - 84px);box-sizing:border-box;margin-left:84px;margin-top:-2px}
}

/* ===== v33: all image banners same height; all h1 = 32px ===== */
.ad-imgbn,.ad-three .ad-imgbn{height:130px;min-height:0;aspect-ratio:auto}
.ad-two{grid-template-columns:1fr 1fr}
@media(max-width:767px){.ad-imgbn,.ad-three .ad-imgbn{height:110px;aspect-ratio:auto}.ad-two{grid-template-columns:1fr}}
h1,.home-hero h1,.home-hero .lead-card h1,.home-hero .lead-card h1.mt-5,.desk-hero h1,.post-card h1,.search-hero h1,.page-hero h1{font-size:32px!important;line-height:1.2}
@media(max-width:575px){h1,.home-hero h1,.home-hero .lead-card h1,.desk-hero h1,.post-card h1,.search-hero h1{font-size:32px!important}}

/* ===== v34: Interview details page (unique, CSS-only interactive) ===== */
.iv2-hero{background:radial-gradient(1000px 500px at 85% 20%,#1d6b47 0,transparent 60%),linear-gradient(135deg,var(--green-900),var(--green-700));color:#fff;padding:26px 0 70px;position:relative;overflow:hidden}
.iv2-hero:after{content:"";position:absolute;left:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;border:60px solid rgba(217,164,65,.12)}
.iv2-hg{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;position:relative;z-index:1}
.iv2-hero .crumbs{color:rgba(255,255,255,.7);margin-bottom:26px}.iv2-hero .crumbs a,.iv2-hero .crumbs b{color:inherit}
.iv2-tag{display:inline-block;background:var(--gold);color:var(--green-900);font:800 11px var(--f-ui);letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:99px;margin-bottom:16px}
.iv2-hero h1{color:#fff;font-family:var(--f-serif);font-weight:700;letter-spacing:-.01em;margin:0 0 16px;max-width:680px}
.iv2-dek{font-size:17px;line-height:1.6;color:rgba(255,255,255,.82);max-width:620px;margin:0 0 18px}
.iv2-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font:600 13px var(--f-ui);color:rgba(255,255,255,.75);margin-bottom:24px}.iv2-meta i{color:var(--gold);margin-right:6px}
.iv2-go{display:inline-flex;gap:10px;align-items:center;background:#fff;color:var(--green-900);font:800 13px var(--f-ui);letter-spacing:.06em;text-transform:uppercase;padding:13px 20px;border-radius:99px;transition:.3s}
.iv2-go:hover{background:var(--gold);transform:translateY(3px)}
.iv2-hp{position:relative;max-width:380px;margin-left:auto;width:100%}
.iv2-frame{position:relative;aspect-ratio:4/5;border-radius:190px 190px 22px 22px;overflow:hidden;background:linear-gradient(160deg,#2a8a5e,#0b3b24);border:6px solid rgba(255,255,255,.14);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.iv2-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.iv2-ini{position:absolute;inset:0;display:grid;place-items:center;font:800 90px var(--f-head);color:rgba(255,255,255,.25)}
.iv2-fl{position:absolute;background:var(--paper);color:var(--ink);border-radius:14px;padding:12px 16px;box-shadow:0 14px 30px rgba(0,0,0,.25);display:grid;gap:1px;animation:iv2fl 5s ease-in-out infinite}
.iv2-fl i{color:var(--gold-d);font-size:18px}.iv2-fl b{font:800 18px var(--f-head)}.iv2-fl small{font:600 11.5px var(--f-ui);color:var(--muted)}
.iv2-fl.f1{left:-34px;top:18%}.iv2-fl.f2{right:-14px;bottom:8%;animation-delay:-2.5s}
@keyframes iv2fl{50%{transform:translateY(-8px)}}
.iv2-talk{margin-top:-36px;position:relative;z-index:2}
.iv2-r{position:absolute;opacity:0;pointer-events:none}
.iv2-grid{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}
.iv2-nav{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow);position:sticky;top:84px;display:grid;gap:6px}
.iv2-nh{font:800 11px var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);padding:2px 8px 8px}
.iv2-n{display:flex;gap:12px;align-items:flex-start;padding:11px 12px;border-radius:12px;cursor:pointer;border:1px solid transparent;transition:.25s;color:var(--ink)}
.iv2-n b{font:800 20px var(--f-head);color:var(--line);transition:.25s;min-width:30px}
.iv2-n span{font:600 14px/1.35 var(--f-ui)}.iv2-n small{display:block;font:800 10px var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.iv2-n:hover{background:var(--soft);transform:translateX(4px)}
.iv2-prog{height:5px;background:var(--soft);border-radius:9px;overflow:hidden;margin:8px 8px 2px}.iv2-bar{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--gold),var(--green-500));transition:width .5s}
.iv2-stage{position:relative;min-height:440px}
.iv2-a{display:none;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:34px 38px;box-shadow:var(--shadow);animation:iv2in .5s ease both}
@keyframes iv2in{from{opacity:0;transform:translateY(14px)}}
.iv2-qn{font:800 11px var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);margin-bottom:10px}.iv2-qn em{color:var(--muted);font-style:normal}
.iv2-a h2{font:800 28px/1.2 var(--f-head);margin:0 0 16px;letter-spacing:-.02em}
.iv2-who{display:flex;gap:10px;align-items:center;margin-bottom:14px;font:600 14px var(--f-ui)}.iv2-av{width:34px;height:34px;border-radius:50%;background:#d7efe1;color:var(--green-700);display:grid;place-items:center;font:800 12px var(--f-ui)}
.iv2-a p{font:400 18px/1.75 var(--f-serif);margin:0 0 20px;color:var(--ink)}
.iv2-a blockquote{margin:0 0 24px;padding:20px 24px;border-left:5px solid var(--gold);background:var(--soft);border-radius:0 14px 14px 0;font:italic 600 21px/1.45 var(--f-serif);color:var(--green-700)}
.iv2-pn-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.iv2-pn{display:inline-flex;gap:8px;align-items:center;cursor:pointer;font:800 12px var(--f-ui);letter-spacing:.08em;text-transform:uppercase;padding:12px 18px;border-radius:99px;border:1.5px solid var(--line);color:var(--ink);transition:.25s}
.iv2-pn:hover{border-color:var(--green-600);background:var(--soft)}.iv2-pn.nx{background:var(--green-700);color:#fff;border-color:var(--green-700)}.iv2-pn.nx:hover{background:var(--gold);color:var(--green-900);border-color:var(--gold)}
#q1:checked~.iv2-grid .a1,#q2:checked~.iv2-grid .a2,#q3:checked~.iv2-grid .a3,#q4:checked~.iv2-grid .a4,#q5:checked~.iv2-grid .a5{display:block}
#q1:checked~.iv2-grid label[for=q1],#q2:checked~.iv2-grid label[for=q2],#q3:checked~.iv2-grid label[for=q3],#q4:checked~.iv2-grid label[for=q4],#q5:checked~.iv2-grid label[for=q5]{background:var(--green-700);color:#fff;transform:translateX(6px)}
#q1:checked~.iv2-grid label.iv2-n[for=q1] b,#q2:checked~.iv2-grid label.iv2-n[for=q2] b,#q3:checked~.iv2-grid label.iv2-n[for=q3] b,#q4:checked~.iv2-grid label.iv2-n[for=q4] b,#q5:checked~.iv2-grid label.iv2-n[for=q5] b{color:var(--gold)}
#q1:checked~.iv2-grid label.iv2-n[for=q1] small,#q2:checked~.iv2-grid label.iv2-n[for=q2] small,#q3:checked~.iv2-grid label.iv2-n[for=q3] small,#q4:checked~.iv2-grid label.iv2-n[for=q4] small,#q5:checked~.iv2-grid label.iv2-n[for=q5] small{color:#b9d8c7}
#q1:checked~.iv2-grid .iv2-bar{width:20%}#q2:checked~.iv2-grid .iv2-bar{width:40%}#q3:checked~.iv2-grid .iv2-bar{width:60%}#q4:checked~.iv2-grid .iv2-bar{width:80%}#q5:checked~.iv2-grid .iv2-bar{width:100%}
#q1:focus-visible~.iv2-grid label[for=q1],#q2:focus-visible~.iv2-grid label[for=q2],#q3:focus-visible~.iv2-grid label[for=q3],#q4:focus-visible~.iv2-grid label[for=q4],#q5:focus-visible~.iv2-grid label[for=q5]{outline:3px solid var(--gold)}
.iv2-facts{margin-top:56px}
.iv2-fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.iv2-fc{perspective:900px;height:230px;outline:0}
.iv2-fi{position:relative;height:100%;transition:transform .7s;transform-style:preserve-3d}
.iv2-fc:hover .iv2-fi,.iv2-fc:focus .iv2-fi{transform:rotateY(180deg)}
.iv2-ff,.iv2-fb{position:absolute;inset:0;backface-visibility:hidden;border-radius:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:22px}
.iv2-ff{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.iv2-ff i{font-size:26px;color:var(--gold-d)}.iv2-ff b{font:900 52px/1.1 var(--f-head);color:var(--green-700);letter-spacing:-.03em}.iv2-ff span{font:600 14px var(--f-ui);color:var(--muted)}
.iv2-fb{transform:rotateY(180deg);background:linear-gradient(135deg,var(--green-800),var(--green-600));color:#fff}.iv2-fb p{font:500 16px/1.6 var(--f-serif);margin:0}
.iv2-cta{margin:56px 0 0;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:linear-gradient(120deg,var(--gold),#e9bd68);border-radius:24px;padding:30px 36px;color:var(--green-900)}
.iv2-cta small{font:800 11px var(--f-ui);letter-spacing:.16em}.iv2-cta h3{font:800 26px/1.2 var(--f-head);margin:4px 0 6px}.iv2-cta p{margin:0;font:500 15px var(--f-ui)}
.iv2-cta .btn-gold{background:var(--green-900);color:#fff}.iv2-cta .btn-gold:hover{background:var(--green-700)}
.iv2-more{margin:56px auto 70px}
.iv2-mg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.iv2-mc{display:block;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:.3s;color:var(--ink)}
.iv2-mc img{width:100%;aspect-ratio:4/3;object-fit:cover;background:linear-gradient(135deg,var(--green-700),var(--green-500));transition:transform .6s;display:block}
.iv2-mc:hover{transform:translateY(-6px)}.iv2-mc:hover img{transform:scale(1.05)}
.iv2-mc{overflow:hidden}.iv2-mc div{padding:16px 18px 20px}.iv2-mc small{font:800 10px var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d)}
.iv2-mc h5{font:700 17px/1.35 var(--f-head);margin:6px 0 10px}.iv2-mc span{font:700 13px var(--f-ui);color:var(--green-600)}
@media(max-width:991px){
 .iv2-hg{grid-template-columns:1fr;gap:34px}.iv2-hp{margin:0 auto;max-width:300px}.iv2-fl.f1{left:-10px}.iv2-fl.f2{right:-6px}
 .iv2-grid{grid-template-columns:1fr}.iv2-nav{position:static;display:flex;overflow-x:auto;gap:8px;padding:12px;scroll-snap-type:x mandatory}
 .iv2-nh,.iv2-prog{display:none}.iv2-n{flex:0 0 220px;scroll-snap-align:start;border:1px solid var(--line)}.iv2-n:hover{transform:none}
 #q1:checked~.iv2-grid label[for=q1],#q2:checked~.iv2-grid label[for=q2],#q3:checked~.iv2-grid label[for=q3],#q4:checked~.iv2-grid label[for=q4],#q5:checked~.iv2-grid label[for=q5]{transform:none}
 .iv2-stage{min-height:0}.iv2-mg{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:575px){
 .iv2-hero{padding-bottom:54px}.iv2-a{padding:24px 20px}.iv2-a h2{font-size:22px}.iv2-a p{font-size:16.5px}.iv2-a blockquote{font-size:18px;padding:16px 18px}
 .iv2-fgrid,.iv2-mg{grid-template-columns:1fr}.iv2-fc{height:200px}.iv2-ff b{font-size:44px}.iv2-cta{padding:24px 20px}.iv2-cta h3{font-size:21px}.iv2-pn{padding:11px 14px}.iv2-n{flex-basis:190px}
}
@media(prefers-reduced-motion:reduce){.iv2-fl,.iv2-a{animation:none}}

/* ===== v35: interview portrait — square, interactive, name only ===== */
.iv2-hp{max-width:380px;margin-left:auto;width:100%;perspective:1000px;padding:0 14px 14px 0}
.iv2-pic{position:relative;margin:0;aspect-ratio:4/5;border-radius:0;background:linear-gradient(160deg,#2a8a5e,#0b3b24);outline:0;transition:transform .5s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d;box-shadow:14px 14px 0 var(--gold)}
.iv2-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.85) contrast(1.05);transition:filter .5s,transform .8s;border-radius:0}
.iv2-pic .iv2-ini{border-radius:0}
.iv2-pic figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;background:linear-gradient(0deg,rgba(7,38,26,.92),rgba(7,38,26,0));color:#fff;font:800 20px var(--f-head);letter-spacing:-.01em;transform:translateY(8px);transition:.4s}
.iv2-pic figcaption:before{content:"";display:block;width:34px;height:3px;background:var(--gold);margin-bottom:8px;transition:width .4s}
.iv2-pic .c{position:absolute;width:26px;height:26px;border:0 solid var(--gold);opacity:0;transition:.4s}
.iv2-pic .c1{left:10px;top:10px;border-width:3px 0 0 3px}.iv2-pic .c2{right:10px;top:10px;border-width:3px 3px 0 0}
.iv2-pic .c3{left:10px;bottom:70px;border-width:0 0 3px 3px}.iv2-pic .c4{right:10px;bottom:70px;border-width:0 3px 3px 0}
.iv2-pic:hover,.iv2-pic:focus{transform:rotateY(-6deg) rotateX(3deg) translate(-4px,-4px);box-shadow:20px 20px 0 var(--gold)}
.iv2-pic:hover img,.iv2-pic:focus img{filter:none;transform:scale(1.06)}
.iv2-pic:hover figcaption,.iv2-pic:focus figcaption{transform:none}.iv2-pic:hover figcaption:before{width:70px}
.iv2-pic:hover .c,.iv2-pic:focus .c{opacity:1}
.iv2-pic:hover .c1,.iv2-pic:focus .c1{left:16px;top:16px}.iv2-pic:hover .c2,.iv2-pic:focus .c2{right:16px;top:16px}
.iv2-pic:hover .c3,.iv2-pic:focus .c3{left:16px}.iv2-pic:hover .c4,.iv2-pic:focus .c4{right:16px}
@media(max-width:991px){.iv2-hp{margin:0 auto;max-width:300px}}

/* ===== v36: Dropdown → sub menu → child menu (CSS-only) ===== */
.nav-links>li.has-dd{position:relative}
.nav-links>li>a .tic{font-size:13px;opacity:.85;transform:none!important}
.nav-links>li:hover>a .tic{color:var(--gold)}
.dd{position:absolute;left:0;top:100%;min-width:270px;z-index:50;visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s}
.nav-links>li:hover>.dd,.nav-links>li:focus-within>.dd{visibility:visible;opacity:1;transform:none}
.dd ul{list-style:none;margin:0;padding:8px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 40px rgba(5,30,20,.22);min-width:100%}
.dd-l1{border-top:3px solid var(--gold)!important;border-radius:0 0 14px 14px}
.dd li{list-style:none;position:relative}
.dd li>a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-radius:10px;font:600 14px var(--f-ui);letter-spacing:0;text-transform:none;color:var(--ink);position:relative;transition:background .2s,color .2s,padding .2s;white-space:nowrap}
.dd li>a:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:3px;border-radius:3px;background:var(--gold);transform:scaleY(0);transition:transform .25s}
.dd li>a>i{font-size:11px;color:var(--muted);transition:transform .25s,color .2s}
.dd li:hover>a,.dd li:focus-within>a{background:var(--soft);color:var(--green-700);padding-left:20px}
.dd li:hover>a:before,.dd li:focus-within>a:before{transform:scaleY(1)}
.dd li:hover>a>i,.dd li:focus-within>a>i{transform:translateX(3px);color:var(--gold-d)}
.dd li>ul{position:absolute;left:calc(100% - 2px);top:-9px;min-width:230px;border-radius:14px;visibility:hidden;opacity:0;transform:translateX(-10px);transition:opacity .22s,transform .22s,visibility .22s}
.dd li:hover>ul,.dd li:focus-within>ul{visibility:visible;opacity:1;transform:none}
.dd-l2{border-top:3px solid var(--green-500)!important}
.dd-l3{background:linear-gradient(180deg,var(--green-800),var(--green-900))!important;border:0!important}
.dd-l3 li>a{color:#e6f2ea}.dd-l3 li:hover>a{background:rgba(255,255,255,.1);color:var(--gold)}
/* last two menus open flyouts to the left so nothing leaves the screen */
.nav-links>li:nth-last-child(-n+2) .dd{left:auto;right:0}
.nav-links>li:nth-last-child(-n+2) .dd li>ul{left:auto;right:calc(100% - 2px);transform:translateX(10px)}
.nav-links>li:nth-last-child(-n+2) .dd li:hover>ul,.nav-links>li:nth-last-child(-n+2) .dd li:focus-within>ul{transform:none}
.nav-links>li:nth-last-child(-n+2) .dd li>a>i{transform:rotate(180deg)}
.nav-links>li:nth-last-child(-n+2) .dd li:hover>a>i{transform:rotate(180deg) translateX(3px)}
/* mobile drawer — nested accordions */
.mobnav details details{border-bottom:0;margin-left:10px;border-left:1px solid rgba(255,255,255,.14);padding-left:6px}
.mobnav details details summary{font:700 13px var(--f-ui);letter-spacing:0;text-transform:none;padding:10px 0;color:#e6f2ea}
.mobnav details details details summary{font-weight:600;color:#c9e0d2}
.mobnav details details a{padding:7px 0 7px 6px;font-size:13px}
.mobnav details>summary i{color:var(--gold)}
@media(max-width:1199px){.dd li>a{padding:9px 12px;font-size:13.5px}.dd{min-width:240px}}
.nav-links>li>a{white-space:nowrap}
@media(max-width:1399px){.nav-links>li>a .tic{display:none}}
.mobnav summary>span{display:inline-flex;align-items:center}

/* ===== v37: Front page — Latest Issue (left) · Feature Article (middle) · Top Article (right) ===== */
.home-hero .hh-title{display:flex;align-items:center;gap:10px;font:italic 700 25px/1.1 var(--f-serif);letter-spacing:0;text-transform:none;color:var(--green-700);margin:0 0 12px;min-height:34px;position:relative;padding-bottom:8px}
.home-hero .hh-title i{font-size:18px;color:var(--gold-d);font-style:normal;transition:transform .5s}
.home-hero .hh-title:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:46px;background:var(--gold);border-radius:3px;transition:width .5s}
.home-hero [class*="col-"]:hover>.hh-title:after,.home-hero .issue-card:hover>.hh-title:after{width:100%}
.home-hero [class*="col-"]:hover .hh-title i{transform:rotate(-18deg) scale(1.25)}
.home-hero .hh-issue .issue-card{display:flex;flex-direction:column;align-items:stretch}
.home-hero .hh-issue .cover-card{perspective:900px;transform-origin:left center}
.home-hero .hh-issue .cover-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;z-index:4;background:linear-gradient(90deg,rgba(0,0,0,.45),rgba(255,255,255,.18) 50%,transparent);pointer-events:none}
.home-hero .hh-issue .cover-card:hover{transform:perspective(900px) rotateY(-14deg) translateY(-4px);box-shadow:-14px 22px 40px rgba(0,0,0,.4)}
.hh-iss-btns{display:flex;gap:8px;margin:14px auto 0;width:min(100%,250px)}
.hh-iss-btns a{flex:1;display:inline-flex;gap:7px;justify-content:center;align-items:center;font:800 11px var(--f-ui);letter-spacing:.1em;text-transform:uppercase;padding:11px 10px;border-radius:99px;background:var(--green-700);color:#fff;transition:.25s}
.hh-iss-btns a+a{background:var(--gold);color:#1b1304}
.hh-iss-btns a:hover{transform:translateY(-3px);box-shadow:0 10px 18px rgba(0,0,0,.2)}
@media(min-width:992px){
 .home-hero .row>.hh-issue{padding-bottom:58px}
 .home-hero .row>.hh-top{padding-bottom:58px}
}
.home-hero .hh-title{color:#f4f5ef}
.home-hero .hh-title i{color:var(--gold)}
.hh-iss-btns a{white-space:nowrap;letter-spacing:.06em;padding:11px 8px}

/* ===== v38: Submission popup (3 tabs) + CFP 4×2 categories + form tweaks ===== */
.sb-r{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.sb-f{display:none}
#sbp:checked~.sb-fp,#sbn:checked~.sb-fn,#sba:checked~.sb-fa{display:block;animation:sbin .45s ease both}
@keyframes sbin{from{opacity:0;transform:translateY(12px)}}
.sb-tabs{display:grid;gap:10px;margin:18px 0 8px}
.sb-t{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;transition:.25s}
.sb-t>i{font-size:20px;color:var(--gold);width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:.25s;flex:none}
.sb-t b{display:block;font:800 15px var(--f-head)}.sb-t small{display:block;font:500 12px var(--f-ui);opacity:.75}
.sb-t:hover{background:rgba(255,255,255,.14);transform:translateX(4px)}
#sbp:checked~.mc-side label[for=sbp],#sbn:checked~.mc-side label[for=sbn],#sba:checked~.mc-side label[for=sba]{background:var(--gold);color:#1b1304;border-color:var(--gold);transform:translateX(6px)}
#sbp:checked~.mc-side label[for=sbp]>i,#sbn:checked~.mc-side label[for=sbn]>i,#sba:checked~.mc-side label[for=sba]>i{background:#1b1304;color:var(--gold)}
#sbp:focus-visible~.mc-side label[for=sbp],#sbn:focus-visible~.mc-side label[for=sbn],#sba:focus-visible~.mc-side label[for=sba]{outline:3px solid #fff}
.sb-card .mc-side ul{margin:14px 0 0}
.sb-slots .fslot{display:block}
@media(max-width:860px){.sb-tabs{grid-template-columns:repeat(3,1fr)}.sb-t{flex-direction:column;text-align:center;gap:6px;padding:10px 6px}.sb-t small{display:none}.sb-t:hover,#sbp:checked~.mc-side label[for=sbp],#sbn:checked~.mc-side label[for=sbn],#sba:checked~.mc-side label[for=sba]{transform:none}.sb-card .mc-side ul{display:none}}
.cfp-chips{display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px}
.cfp-chips span{text-align:center;display:flex;align-items:center;justify-content:center;margin:0!important;white-space:normal;line-height:1.25;min-height:40px}
@media(max-width:767px){.cfp-chips{grid-template-columns:repeat(2,1fr)}}
/* v39: Latest Issue / Feature Article / Top Article — equal height, no buttons */
@media(min-width:992px) and (max-width:1199px){
 .home-hero .row>.hh-feat{order:-1}
 .home-hero .row>.hh-issue,.home-hero .row>.hh-top{padding-bottom:0}
 .home-hero .hh-feat .lead-card{margin-bottom:0}
 .home-hero .hh-issue .issue-card .cover-card{width:100%;max-width:none;aspect-ratio:auto;min-height:380px;margin:0}
}
@media(min-width:1200px){
 .home-hero .row>.hh-issue,.home-hero .row>.hh-feat,.home-hero .row>.hh-top{display:flex;flex-direction:column;padding-bottom:0}
 .home-hero .hh-feat .lead-card{flex:1 1 auto;margin-bottom:0;min-height:420px}
 .home-hero .hh-issue .issue-card{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
 .home-hero .hh-issue .issue-card .cover-card{flex:1 1 auto;width:100%;max-width:none;aspect-ratio:auto;margin:0;min-height:0}
 .home-hero .hh-top .side-mini{flex:1 1 0;align-items:center;min-height:0}
}
@media(min-width:576px) and (max-width:991px){
 .home-hero .row>.hh-feat{order:-1;flex:0 0 100%;width:100%}
 .home-hero .row>.hh-issue,.home-hero .row>.hh-top{flex:0 0 50%;width:50%;display:flex;flex-direction:column;padding-bottom:0}
 .home-hero .hh-issue .issue-card{flex:1;display:flex;flex-direction:column}
 .home-hero .hh-issue .issue-card .cover-card{flex:1;width:100%;max-width:none;aspect-ratio:auto;min-height:380px;margin:0}
 .home-hero .hh-top .side-mini{flex:1 1 0;align-items:center}
}

/* ===== v40: narrower Latest Issue cover · footer logo hover zoom (same as header) ===== */
@media(min-width:1200px){
 .home-hero .hh-feat .lead-card{min-height:380px}
 .home-hero .hh-issue .issue-card .cover-card{width:min(100%,250px);margin:0 auto}
}
@media(min-width:992px) and (max-width:1199px){.home-hero .hh-issue .issue-card .cover-card{width:min(100%,250px);margin:0 auto}}
@media(min-width:576px) and (max-width:991px){.home-hero .hh-issue .issue-card .cover-card{width:min(100%,250px);margin:0 auto}}
footer.site .logo{position:relative;z-index:3;transform-origin:left center;transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .4s}
footer.site .logo:hover{transform:scale(1.28);filter:drop-shadow(0 8px 18px rgba(217,164,65,.35))}
@media(max-width:991px){footer.site .logo:hover{transform:scale(1.08)}}

/* ===== v41: Newsroom — auto-sliding lead news, independent More News ===== */
.nr-stage .nr-lead{display:block;opacity:0;visibility:hidden;animation:nrAuto 20s infinite both}
.nr-stage .nr-l1{animation-delay:0s}.nr-stage .nr-l2{animation-delay:5s}.nr-stage .nr-l3{animation-delay:10s}.nr-stage .nr-l4{animation-delay:15s}
@keyframes nrAuto{0%{opacity:0;visibility:visible;transform:scale(1.04)}4%,25%{opacity:1;visibility:visible;transform:none}29%{opacity:0;visibility:visible}30%,100%{opacity:0;visibility:hidden}}
.nr-stage:hover .nr-lead,.nr-stage:hover .nr-dots i:after{animation-play-state:paused}
.nr-dots{position:absolute;left:28px;bottom:20px;z-index:6;display:flex;gap:8px}
.nr-dots i{width:34px;height:5px;border-radius:5px;background:rgba(255,255,255,.35);overflow:hidden;position:relative}
.nr-dots i:after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;animation:nrDot 20s linear infinite}
.nr-dots i:nth-child(2):after{animation-delay:5s}.nr-dots i:nth-child(3):after{animation-delay:10s}.nr-dots i:nth-child(4):after{animation-delay:15s}
@keyframes nrDot{0%{transform:scaleX(0)}25%{transform:scaleX(1)}25.1%,100%{transform:scaleX(0)}}
.nr-stage .nr-txt{padding-bottom:34px}
@media(prefers-reduced-motion:reduce){.nr-stage .nr-lead{animation:none}.nr-stage .nr-l1{opacity:1;visibility:visible}.nr-dots i:after{animation:none}}

/* ===== v42: one common content width on every section (topbar, filterbar, cover) ===== */
.home-hero .hh-issue .issue-card .cover-card{margin:0!important}
.hh-iss-btns{margin-left:0}

/* ===== v43: every flyout opens to the RIGHT, same look as the 1st menu · wider Feature Article ===== */
.nav-links>li:nth-last-child(-n+2) .dd{left:0;right:auto}
.nav-links>li:nth-last-child(-n+2) .dd li>ul{left:calc(100% - 2px);right:auto;transform:translateX(-10px)}
.nav-links>li:nth-last-child(-n+2) .dd li:hover>ul,.nav-links>li:nth-last-child(-n+2) .dd li:focus-within>ul{transform:none}
.nav-links>li:nth-last-child(-n+2) .dd li>a>i,.nav-links>li:nth-last-child(-n+2) .dd li:hover>a>i{transform:none}
.nav-links>li:nth-last-child(-n+2) .dd li:hover>a>i{transform:translateX(3px)}
.dd{min-width:230px}
.dd li>ul{min-width:210px}
.dd-l2,.dd-l3{border-top:3px solid var(--gold)!important;border-radius:0 14px 14px 14px!important;background:var(--paper)!important;border:1px solid var(--line)!important;color:var(--ink)}
.dd-l3 li>a{color:var(--ink)}
.dd-l3 li:hover>a{background:var(--soft);color:var(--green-700)}
.dd-l2,.dd-l3{border-top:3px solid var(--gold)!important}
.navbar-x{overflow-x:clip}
@media(max-width:1199px){.dd{min-width:200px}.dd li>ul{min-width:180px}.dd li>a{padding:9px 12px;gap:10px}}
@media(min-width:1200px){
 .home-hero .row>.hh-issue{flex:0 0 22.5%;max-width:22.5%}
 .home-hero .row>.hh-feat{flex:0 0 52.5%;max-width:52.5%}
 .home-hero .row>.hh-top{flex:0 0 25%;max-width:25%}
 .home-hero .hh-issue .issue-card .cover-card{width:100%!important}
 .home-hero .hh-feat .lead-card{transition:transform .4s,box-shadow .4s}
 .home-hero .hh-feat .lead-card:hover{transform:translateY(-5px);box-shadow:0 26px 50px rgba(0,0,0,.45),0 0 0 3px var(--gold)}
}
@media(max-width:991px){.ad-three{grid-template-columns:1fr}.ad-three .ad-imgbn{height:110px}}

/* ===== v44: Latest Issue cover = same size + hover as Magazine Archive covers ===== */
.home-hero .hh-issue .issue-card .cover-card{width:min(100%,clamp(210px,20vw,250px))!important;max-width:none!important;flex:none!important;aspect-ratio:1/1.414!important;min-height:0!important;height:auto!important;margin:0!important;transform-origin:center}
.home-hero .hh-issue .cover-card:before{display:none}
.home-hero .hh-issue .cover-card:hover{transform:scale(1.08)!important;z-index:6;box-shadow:0 26px 50px rgba(0,0,0,.4)}

/* ===== v45: Latest Issue cover height = Feature Article height · Feature Article grows to the left ===== */
@media(min-width:576px){
 .home-hero .hh-issue .issue-card .cover-card{aspect-ratio:auto!important;flex:1 1 auto!important;min-height:354px!important}
}
@media(min-width:1200px){
 .home-hero .row>.hh-issue{flex:0 0 262px;max-width:262px;padding-right:0}
 .home-hero .row>.hh-feat{flex:1 1 0;max-width:none;width:auto}
 .home-hero .row>.hh-top{flex:0 0 25%;max-width:25%}
}

/* ===== v46: glass dropdown/sub/child menus (as before) · media partners top→bottom slider · hero order ===== */
.dd ul,.dd-l1,.dd-l2,.dd-l3{background:rgba(6,30,20,.62)!important;-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;border-top:3px solid var(--gold)!important}
.dd li>a,.dd-l3 li>a{color:#fff!important;background:transparent}
.dd li>a>i{color:rgba(255,255,255,.7)}
.dd li:hover>a,.dd li:focus-within>a,.dd-l3 li:hover>a{background:rgba(255,255,255,.1)!important;color:var(--gold)!important}
.dd li:hover>a>i,.dd li:focus-within>a>i{color:var(--gold)}
.media-vs{position:relative;overflow:hidden;height:420px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(180deg,transparent,#000 5%,#000 95%,transparent)}
.media-vs .vs-track{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:96px;gap:14px;padding-bottom:14px;animation:evDown 36s linear infinite}
.media-vs:hover .vs-track{animation-play-state:paused}
@media(min-width:992px){.ev-media .media-vs{flex:1 1 auto;height:auto;min-height:420px}.ev-media .media-vs .vs-track{position:absolute;left:0;right:0;top:0;grid-template-rows:none}}
@media(prefers-reduced-motion:reduce){.media-vs{overflow-y:auto}.media-vs .vs-track{animation:none}}
@media(min-width:1200px){
 .home-hero .row>.hh-top{flex:0 0 30%;max-width:30%}
 .home-hero .row>.hh-feat{flex:1 1 0;max-width:none}
}
@media(min-width:576px) and (max-width:1199px){.home-hero .row>.hh-feat{order:-1}}

/* ===== v47: Interview page — new light design, 3 ad banners top + bottom ===== */
.iv3-ads{margin:22px auto}.iv3-bot{margin:0 auto 60px}
.iv2-hero{background:linear-gradient(135deg,#f4f5ef,#e6efe8);color:var(--ink);padding:34px 0 80px;border-bottom:1px solid var(--line)}
.iv2-hero:after{border-color:rgba(217,164,65,.18);left:auto;right:-140px;bottom:-190px}
.iv2-hg{grid-template-columns:.62fr 1.38fr;gap:56px}
.iv2-hp{order:-1;margin:0;max-width:340px}
.iv2-hero .crumbs{color:var(--muted)}.iv2-hero .crumbs a,.iv2-hero .crumbs b{color:var(--ink)}
.iv2-hero h1{color:var(--green-900);position:relative;padding-left:22px}
.iv2-hero h1:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:5px;border-radius:5px;background:var(--gold)}
.iv2-dek{color:#3a4a41;padding-left:22px}
.iv2-meta{color:var(--muted);padding-left:22px}
.iv2-go{background:var(--green-700);color:#fff;margin-left:22px}
.iv2-go:hover{background:var(--gold);color:#1b1304}
.iv2-tag{margin-left:22px}
@media(max-width:991px){.iv2-hg{grid-template-columns:1fr;gap:34px}.iv2-hp{order:0;margin:0 auto}.iv2-hero h1,.iv2-dek,.iv2-meta{padding-left:16px}.iv2-go,.iv2-tag{margin-left:16px}}

/* v48 post page: ads on top, article head in the left column, sidebar ad, archive + newsletter below */
.pg-post-ads{margin:18px auto}
.ph-head{padding:6px 0 18px}
.ph-head .chip{position:static;display:inline-block;margin-bottom:12px}
.ph-head h1{font:900 clamp(28px,3.4vw,44px)/1.12 var(--f-head,Archivo,sans-serif);letter-spacing:-.03em;margin:0 0 18px;color:var(--green-900)}
.ph-by{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ph-by .meta .dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold);margin:0 8px;vertical-align:middle}
.ph-share{margin-left:auto;display:flex;align-items:center;gap:8px;font:700 12px Inter,sans-serif;color:var(--gold-d);letter-spacing:.08em;text-transform:uppercase}
.ph-share a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--green-900);background:#fff;transition:.25s}
.ph-share a:hover{background:var(--green-900);color:var(--gold);transform:translateY(-3px);border-color:var(--green-900)}
.ph-follow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding:12px 16px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;background:#fff;transition:.25s}
.ph-follow:hover{box-shadow:0 12px 28px rgba(10,40,25,.1);transform:translateY(-2px)}
.ph-follow>i{width:38px;height:38px;border-radius:50%;background:var(--green-900);color:var(--gold);display:grid;place-items:center}
.ph-follow span{color:var(--muted);font-size:13px}.ph-follow .btn-gold{margin-left:auto;padding:9px 16px;font-size:13px}
.post-main .post-hero{height:auto;aspect-ratio:16/9;margin:6px 0 0;border-radius:18px}
.post-main .post-hero img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.post-main .post-hero:hover img{transform:scale(1.04)}
.ph-dek{margin:16px 0 22px;padding-left:18px;border-left:3px solid var(--gold)}
.post-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:20px}
.post-side>*{margin:0!important}
.post-side .side-ad{display:block;border-radius:14px;overflow:hidden}
.post-side .side-ad img{width:100%;display:block;transition:transform .5s}.post-side .side-ad:hover img{transform:scale(1.04)}
.post-main{min-width:0}
@media(max-width:991px){.post-side{position:static}.ph-share{margin-left:0;width:100%}}
@media(max-width:575px){.ph-follow .btn-gold{margin-left:0;width:100%;text-align:center}}
.post-side .side-ad{height:auto!important;aspect-ratio:auto}.post-side .side-ad img{height:auto!important;object-fit:contain}

/* v49 post sidebar: ad, social, 2 videos, popular news, ad, client slider */
.ps-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;transition:box-shadow .3s}
.ps-box:hover{box-shadow:0 14px 34px rgba(10,40,25,.1)}
.ps-box h6{font:800 12px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--green-900);margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--gold)}
.ps-social{display:flex;justify-content:space-between;gap:6px;padding:12px 14px}
.ps-social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--green-900);font-size:18px;transition:.25s}
.ps-social a:hover{background:var(--green-900);color:var(--gold);transform:translateY(-4px)}
.ps-vids{display:flex;flex-direction:column;gap:18px}
.ps-vid{display:block;color:var(--green-900)}
.ps-th{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#0f4d2e,#07261a)}
.ps-th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.ps-th i{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:var(--gold);color:var(--green-900);display:grid;place-items:center;font-size:32px;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .3s}
.ps-vid:hover .ps-th img{transform:scale(1.07)}.ps-vid:hover .ps-th i{transform:scale(1.15)}
.ps-vid b{display:block;margin-top:10px;font:700 14.5px/1.4 Inter,sans-serif;transition:color .2s}.ps-vid:hover b{color:var(--gold-d)}
.ps-pop ol{list-style:none;margin:0;padding:0}
.ps-pop li+li{border-top:1px solid var(--line)}
.ps-pop a{display:flex;gap:14px;align-items:flex-start;padding:13px 6px;color:var(--green-900);font:700 14.5px/1.4 Inter,sans-serif;border-radius:8px;transition:.25s}
.ps-pop a b{font:900 22px/1 Archivo,sans-serif;color:var(--gold-d);flex:none;min-width:30px;transition:transform .25s}
.ps-pop a:hover{background:var(--soft,#e4efe7);padding-left:12px}.ps-pop a:hover b{transform:scale(1.15)}
.ps-cl{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ps-cl-track{display:flex;gap:12px;width:max-content;animation:psCl 22s linear infinite}
.ps-cl:hover .ps-cl-track{animation-play-state:paused}
.ps-cl .plogo{flex:none;width:130px;height:70px}
@keyframes psCl{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ps-cl-track{animation:none}}
.post-side .side-ad{position:relative;aspect-ratio:1400/300;height:auto!important;background:linear-gradient(135deg,#0f4d2e,#07261a)}
.post-side .side-ad img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}

/* v50 category hero uses the search-page hero style */
.cat-hero .crumbs{margin-bottom:10px}
.cat-hero .cat-sub{font:400 19px/1.5 var(--f-serif,"Source Serif 4",serif);margin:8px 0 0;max-width:720px;opacity:.9}
.cat-hero .crumbs,.cat-hero .crumbs span{color:var(--muted)}.cat-hero .crumbs b{color:var(--gold-d)}.cat-hero .cat-sub{color:var(--muted)}

/* v51 interactive ad strips (post before related, category after editions) */
.post-ads3 .ad-three,.cat-ads .ad-three{gap:18px}
.post-ads3 .ad-imgbn,.cat-ads .ad-imgbn{transition:transform .35s,box-shadow .35s}
.post-ads3 .ad-imgbn:hover,.cat-ads .ad-imgbn:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(10,40,25,.22)}
.post-ads3 .ad-imgbn img,.cat-ads .ad-imgbn img{transition:transform .6s}
.post-ads3 .ad-imgbn:hover img,.cat-ads .ad-imgbn:hover img{transform:scale(1.06)}
.cat-ads{margin-bottom:56px}
.post-ads3{margin-bottom:44px}

/* v52 Home menu item */
.nav-links>li.nav-home>a{display:flex;align-items:center;gap:6px}
.nav-links>li.nav-home>a:hover{color:var(--gold)}
.mobnav>a.mn-home{display:flex;align-items:center;padding:14px 0;font:800 13px var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.mobnav>a.mn-home i{color:var(--gold)}

/* v53 interview page: crumb bar, hero, article left, sidebar right */
html{scroll-behavior:smooth}
.iv4-crumbbar{background:#fff;border-bottom:1px solid var(--line);padding:12px 0}
.iv4-crumbbar .crumbs{margin:0;color:var(--muted)}.iv4-crumbbar .crumbs span{color:var(--muted)}.iv4-crumbbar .crumbs a{color:var(--green-700)}.iv4-crumbbar .crumbs b{color:var(--gold-d)}
.iv4-body{padding-top:44px;padding-bottom:30px}
.iv4-main{min-width:0}
.iv4-lead{position:relative;padding-left:22px;margin:0 0 26px;font:400 20px/1.6 "Source Serif 4",Georgia,serif;color:var(--ink)}
.iv4-lead:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:8px;border-radius:4px;background:linear-gradient(var(--green-700),var(--green-900))}
.iv4-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.iv4-jump a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font:600 12.5px Inter,sans-serif;color:var(--green-900);transition:.25s}
.iv4-jump a b{color:var(--gold-d);font-weight:800}
.iv4-jump a:hover{background:var(--green-900);color:#fff;transform:translateY(-3px);box-shadow:0 10px 22px rgba(10,40,25,.18)}.iv4-jump a:hover b{color:var(--gold)}
.iv4-q{padding:6px 0 10px;scroll-margin-top:100px}
.iv4-q h2{display:flex;align-items:center;gap:14px;font:800 24px/1.25 Archivo,sans-serif;letter-spacing:-.02em;margin:26px 0 12px;color:var(--green-900)}
.iv4-q h2:before{content:"";flex:none;width:24px;height:3px;background:var(--gold);transition:width .3s}
.iv4-q:hover h2:before{width:44px}
.iv4-q p{font:400 18px/1.8 "Source Serif 4",Georgia,serif;margin:0 0 18px}
.iv4-q blockquote{margin:22px 0;padding:6px 0 6px 22px;border-left:4px solid var(--green-700);font:italic 400 24px/1.45 "Source Serif 4",Georgia,serif;color:var(--green-700);transition:border-color .3s,padding-left .3s}
.iv4-q:hover blockquote{border-color:var(--gold);padding-left:30px}
.iv4-btns{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 10px}
.iv4-btns a{transition:transform .25s,box-shadow .25s}.iv4-btns a:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(10,40,25,.2)}
.iv4-prof{background:#eef3ee}
.iv4-prof dl{margin:0}.iv4-prof dl>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.iv4-prof dt{font:800 11px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.iv4-prof dd{margin:0;font:700 14px Inter,sans-serif;text-align:right;color:var(--green-900)}
.iv4-body .post-side{top:84px}
@media(max-width:991px){.iv4-body .post-side{position:static}}
@media(max-width:575px){.iv4-q h2{font-size:21px}.iv4-q blockquote{font-size:20px}.iv4-lead{font-size:18px}}
@media(min-width:992px) and (max-width:1199px){.nav-links{gap:0!important}.nav-links>li>a{padding-left:9px!important;padding-right:9px!important;font-size:12px!important;letter-spacing:.03em!important}.nav-links>li>a .bi-chevron-down{display:none}.nav-tools{gap:6px!important}}

/* v54 interview hero 25px, tighter top banners */
.iv2-hero{padding:25px 0!important}
.iv3-top{margin:10px auto 14px!important}
.iv3-top .ad-three{gap:14px}
.iv4-crumbbar{padding:9px 0}
.ph-sub{display:inline-flex;align-items:center;gap:10px;margin:-6px 0 16px;font:700 12.5px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
.ph-sub:before{content:"";width:28px;height:3px;background:var(--gold);border-radius:2px}
.ph-dates{display:flex;flex-wrap:wrap;gap:10px}
.ph-dates span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font:500 13px Inter,sans-serif;color:var(--muted);transition:.25s}
.ph-dates span i{color:var(--gold-d)}.ph-dates b{color:var(--green-900);font-weight:700}
.ph-dates span:hover{background:var(--green-900);color:#cfe3d6;transform:translateY(-3px);box-shadow:0 10px 22px rgba(10,40,25,.18)}
.ph-dates span:hover b{color:#fff}.ph-dates span:hover i{color:var(--gold)}
.ph-sub{padding:7px 14px;border-radius:999px;background:var(--green-900);color:var(--gold);letter-spacing:.12em;transition:.25s}
.ph-sub:before{display:none}.ph-sub:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(10,40,25,.25)}
.ph-sub{display:inline-flex;align-items:center;gap:10px;margin:-6px 0 16px;padding:0;border-radius:0;background:none;box-shadow:none;font:700 12.5px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
.ph-sub:before{display:block;content:"";width:28px;height:3px;background:var(--gold);border-radius:2px;transition:width .3s}
.ph-sub:hover{transform:none;box-shadow:none}.ph-sub:hover:before{width:48px}

/* v55 media partnership: single logo card (svg backgrounds removed), interactive */
.media-vs .plogo{height:96px;min-height:0;transition:transform .35s,box-shadow .35s,border-color .35s}
.media-vs .plogo img{width:100%;height:100%;object-fit:contain;transition:transform .4s}
.media-vs .plogo:hover{transform:translateY(-4px) scale(1.04);z-index:2;box-shadow:0 16px 30px rgba(10,40,25,.22);border-color:var(--gold)}
.media-vs .plogo:hover img{transform:scale(1.06)}
.media-vs:hover .vs-track{animation-play-state:paused}
.media-vs .plogo:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.media-vs .plogo{padding:6px 10px!important;display:flex!important;align-items:center;justify-content:center}
.media-vs .plogo img{height:100%!important;width:auto!important;max-width:100%!important;max-height:100%!important;margin:0!important}
.media-vs .plogo img{transform:scale(1.18)}.media-vs .plogo:hover img{transform:scale(1.28)}

/* v56 contact page */
.ct-hero{padding:38px 0 34px;background:linear-gradient(135deg,#f4f5ef,#e6efe8)}
.ct-hero .kicker{display:inline-block;margin-bottom:10px}
.ct-hero h1{margin:0 0 10px}
.ct-sub{max-width:640px;margin:0;font:400 19px/1.55 "Source Serif 4",Georgia,serif;color:var(--muted)}
.ct-wrap{padding-top:34px;padding-bottom:60px}
.ct-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:34px}
.ct-card{display:flex;flex-direction:column;gap:8px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;color:var(--green-900);transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}
.ct-card:before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--gold);transition:width .4s}
.ct-card>i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--green-900);color:var(--gold);font-size:22px;transition:transform .3s,background .3s}
.ct-card h3{margin:6px 0 0;font:800 18px Archivo,sans-serif}
.ct-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5;word-break:break-word}
.ct-card span{margin-top:auto;padding-top:8px;font:700 12.5px Inter,sans-serif;color:var(--gold-d);letter-spacing:.04em}
.ct-card span i{display:inline-block;transition:transform .25s}
.ct-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(10,40,25,.16);border-color:var(--gold)}
.ct-card:hover:before{width:100%}.ct-card:hover>i{transform:rotate(-8deg) scale(1.08);background:var(--gold);color:var(--green-900)}.ct-card:hover span i{transform:translateX(5px)}
.ct-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 14px 34px rgba(10,40,25,.06)}
.ct-form h2{margin:0 0 4px;font:900 28px Archivo,sans-serif;letter-spacing:-.02em;color:var(--green-900)}
.ct-note{color:var(--muted);font-size:13px;margin:0 0 20px}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-f{display:block;margin-bottom:16px}
.ct-f span{display:block;margin-bottom:6px;font:700 11.5px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--green-900)}
.ct-f input,.ct-f select,.ct-f textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;background:#fafbf7;font:500 15px Inter,sans-serif;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.ct-f textarea{resize:vertical;min-height:140px}
.ct-f input:hover,.ct-f select:hover,.ct-f textarea:hover{border-color:#b7c8bb}
.ct-f input:focus,.ct-f select:focus,.ct-f textarea:focus{outline:0;background:#fff;border-color:var(--green-700);box-shadow:0 0 0 4px rgba(15,107,67,.14)}
.ct-f input:not(:placeholder-shown):valid{border-color:#8cc3a2}
.ct-f input:not(:placeholder-shown):invalid{border-color:#d98a8a}
.ct-chk{display:flex;align-items:center;gap:12px;margin:4px 0 22px;cursor:pointer;font-size:14.5px}
.ct-chk input{position:absolute;opacity:0}
.ct-chk b{width:24px;height:24px;border-radius:7px;border:2px solid var(--green-700);display:grid;place-items:center;transition:.2s;flex:none}
.ct-chk input:checked+b{background:var(--green-700)}
.ct-chk input:checked+b:after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.ct-chk input:focus-visible+b{box-shadow:0 0 0 4px rgba(15,107,67,.2)}
.ct-send{padding:14px 28px;font-size:14px;transition:transform .25s,box-shadow .25s}
.ct-send:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(185,120,15,.35)}
.ct-send i{display:inline-block;transition:transform .3s}.ct-send:hover i{transform:translateX(5px) rotate(-12deg)}
.ct-side{display:flex;flex-direction:column;gap:18px}
.ct-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;transition:box-shadow .3s}
.ct-box:hover{box-shadow:0 14px 30px rgba(10,40,25,.1)}
.ct-box h6{font:800 12px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--green-900);margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--gold)}
.ct-hours ul{list-style:none;margin:0;padding:0}.ct-hours li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.ct-hours li:last-child{border:0}.ct-hours b{color:var(--green-900);text-align:right}
.ct-map{height:170px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;font:700 14px Inter,sans-serif;background:linear-gradient(rgba(7,38,26,.55),rgba(7,38,26,.55)),repeating-linear-gradient(45deg,#0f4d2e 0 14px,#0b3b24 14px 28px)}
.ct-map i{font-size:36px;color:var(--gold);animation:ctPin 2s ease-in-out infinite}
@keyframes ctPin{50%{transform:translateY(-8px)}}
.ct-dir{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font:700 13px Inter,sans-serif;color:var(--gold-d)}.ct-dir:hover{color:var(--green-900)}
.ct-soc div{display:flex;gap:10px}.ct-soc a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--green-900);font-size:18px;transition:.25s}
.ct-soc a:hover{background:var(--green-900);color:var(--gold);transform:translateY(-4px)}
.ct-faq{margin-top:44px}
.ct-q{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;transition:box-shadow .25s,border-color .25s}
.ct-q summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;font:700 16px Inter,sans-serif;color:var(--green-900)}
.ct-q summary::-webkit-details-marker{display:none}
.ct-q summary i{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft,#e4efe7);transition:.3s}
.ct-q[open]{border-color:var(--gold);box-shadow:0 12px 26px rgba(10,40,25,.1)}.ct-q[open] summary i{transform:rotate(45deg);background:var(--gold)}
.ct-q:hover{border-color:#b7c8bb}.ct-q p{margin:0;padding:0 20px 18px;color:var(--muted);line-height:1.7}
.ct-ok{position:relative;z-index:2;background:#fff;border-radius:22px;padding:38px 34px;max-width:420px;width:calc(100% - 32px);text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.ct-ok>i{font-size:56px;color:var(--green-700)}.ct-ok h3{font:900 26px Archivo,sans-serif;margin:8px 0}.ct-ok p{color:var(--muted)}
@media(max-width:1199px){.ct-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.ct-cards{grid-template-columns:1fr}.ct-row{grid-template-columns:1fr;gap:0}.ct-form{padding:22px 18px}.ct-sub{font-size:17px}}
