:root {
  --vrcfyo: #33296A;
  --vtp40a: #ECE9F5;
  --vu7v0i: #17122A;
  --vfu0wo: #14584A;
  --vtnwyo: #B8893A;
  --vbu6qm: #33296A;
  --vqhjf5: #FCF8F0;
  --vd1u7m: #E6DECB;
  --vzoc9n: #8A8072;
  --vje6rj: #211B30;
  --vx219l: #F4EEE1;
  --v0q7rh: #FCF8F0;
  --vllsvp: #211B30;
  --vyji1b: #5C5468;
  --v3btmh: #1F6B4E;
  --vj926i: #9A6B12;
  --vllnbh: #9E2B2B;
  --vdzlpd: 68.11rem;
  --vrzvg8: clamp(1.157rem, 3.5vw, 2.382rem);
  --vsdvje: 4.053rem;
  --v358n4: 'Fraunces', 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
  --vqd0pm: 'Alegreya Sans', 'Optima', 'Gill Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --vktv1g: 'Cinzel', 'Trajan Pro', 'Optima', 'Times New Roman', serif;
  --v1cdzb: clamp(2.188rem, 4.4vw, 3.417rem);
  --v6none: clamp(1.629rem, 2.9vw, 2.188rem);
  --vjb8wd: 1.429rem;
  --vzn28o: 1.114rem;
  --vv55xn: 0.88rem;
  --vhc311: 1.14;
  --vvuezx: 1.68;
  --v0vbnf: 2px;
  --vd1jrx: 2px;
  --vp9uy8: #ffffff;
  --vbh6jm: #ffffff;
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: var(--vqd0pm); font-size: var(--vzn28o); line-height: var(--vvuezx); color: var(--vllsvp); background: var(--vx219l); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--v358n4); line-height: var(--vhc311); font-weight: 700; color: var(--vllsvp); text-wrap: balance; }
h1 { font-size: var(--v1cdzb); letter-spacing: -0.019em; }
h2 { font-size: var(--v6none); margin-top: 2.377rem; margin-bottom: 0.756rem; }
h3 { font-size: var(--vjb8wd); margin-top: 1.653rem; margin-bottom: 0.489rem; }
p { margin-bottom: 0.998rem; max-width: 67ch; }
a { color: var(--vbu6qm); }
ul, ol { margin: 0 0 0.998rem 1.211rem; max-width: 67ch; }
li { margin-bottom: 0.359rem; }
strong { font-weight: 700; }
code { font-family: ui-monospace, "SF Mono", Menlo, monospace; background: rgba(128, 128, 128, 0.153); border: 1px solid rgba(128, 128, 128, 0.325); border-radius: 4px; padding: 0.104em 0.362em; font-size: 0.942em; color: var(--vllsvp); }
blockquote { border-left: 3px solid var(--vrcfyo); padding-left: 0.998rem; color: var(--vyji1b); margin: 0 0 0.998rem; }
img { max-width: 100%; height: auto; display: block; }
sup.umsbks a { text-decoration: none; color: var(--vtnwyo); font-weight: 600; }
.container { width: 100%; max-width: var(--vdzlpd); margin-inline: auto; padding-inline: var(--vrzvg8); }
.ux9yv3 { position: absolute; left: -999px; }
.ux9yv3:focus { left: 0.998rem; top: 0.998rem; background: var(--v0q7rh); padding: 0.489rem 0.998rem; z-index: 100; }
main { display: block; }
/* shared chrome (variant-specific layout appended below) */
.ugk6sc { font-family: var(--vktv1g); font-weight: 800; font-size: 1.128rem; color: var(--vllsvp); text-decoration: none; }
.u6y344 ul { display: flex; gap: 1.211rem; list-style: none; margin: 0; padding: 0; }
.u6y344 a { color: var(--vyji1b); text-decoration: none; font-size: var(--vv55xn); font-weight: 600; }
.u6y344 a:hover { color: var(--vbu6qm); }
.uvwwcb { display: none; background: none; border: 1px solid var(--vd1u7m); border-radius: 6px; padding: 0.382rem 0.575rem; font-size: 1.157rem; line-height: 1; cursor: pointer; color: var(--vllsvp); }
.uweyle { font-family: var(--vktv1g); text-transform: uppercase; letter-spacing: 0.122em; font-size: var(--vv55xn); font-weight: 700; color: var(--vtnwyo); margin-bottom: 0.756rem; }
.u1qmar { font-size: 1.128rem; color: var(--vyji1b); margin-top: 0.998rem; max-width: 63ch; }
.u31vrq { display: flex; flex-wrap: wrap; gap: 0.756rem; margin-top: 1.653rem; }
.u7n0cd { display: inline-block; padding: 0.783rem 1.538rem; border-radius: var(--v0vbnf); font-weight: 700; text-decoration: none; font-size: var(--vv55xn); transition: transform 0.148s ease, opacity 0.148s ease; }
.u7n0cd:hover { transform: translateY(-1px); }
.u87cjq { background: var(--vrcfyo); color: var(--vp9uy8); }
.uk3r2y { background: transparent; color: var(--vbu6qm); border: 1.5px solid var(--vbu6qm); }
article > section, main > article { padding-block: 0.489rem; }
.ufrqow { padding-block: 0.998rem 3.134rem; }
.uudwee { margin: 1.544rem 0; }
.uudwee img { border-radius: var(--vd1jrx); }
.u8a3mh { background: var(--v0q7rh); border: 1px solid #D6CCB4 with a 1px gold (#B8893A) inner keyline on featured cards; border-radius: var(--vd1jrx); padding: 1.538rem; }
.ummyjw { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.597rem), 1fr)); gap: 1.211rem; margin: 1.544rem 0 2.078rem; }
.ummyjw .u8a3mh { display: flex; flex-direction: column; gap: 0.489rem; }
.ummyjw .u8a3mh img { border-radius: calc(var(--vd1jrx) - 0.241rem); margin-bottom: 0.489rem; aspect-ratio: 16 / 10; object-fit: cover; }
.ummyjw .u8a3mh h2, .ummyjw .u8a3mh h3 { margin: 0; font-size: 1.128rem; }
.ummyjw .u8a3mh p { margin: 0; font-size: var(--vv55xn); color: var(--vyji1b); }
.ummyjw .u8a3mh .upqbe4 { margin-top: auto; padding-top: 0.575rem; font-weight: 700; font-size: var(--vv55xn); color: var(--vbu6qm); text-decoration: none; }
.ummyjw .u8a3mh .upqbe4:hover { text-decoration: underline; }
.umdpdz { margin: 1.544rem 0; }
.umdpdz img { border-radius: var(--vd1jrx); }
.umdpdz figcaption { font-size: var(--vv55xn); color: var(--vyji1b); margin-top: 0.489rem; font-style: italic; }
.ukujdk { overflow-x: auto; margin: 1.211rem 0 1.653rem; }
table { border-collapse: collapse; width: 100%; font-size: var(--vv55xn); }
th, td { text-align: left; padding: 0.575rem 0.842rem; border-bottom: 1px solid var(--vd1u7m); vertical-align: top; }
thead th { border-bottom: 2px solid var(--vllsvp); font-family: var(--v358n4); }
/* Theme-agnostic zebra: a translucent tint over the (already-contrasting) row
   bg. Never use a named palette color here — on dark themes --vqhjf5 can
   equal --vllsvp and erase the cell text (contrast 1.0). */
tbody tr:nth-child(even) { background: rgba(128, 128, 128, 0.094); }
.u2wg4o { padding-left: 1.544rem; }
.u2wg4o li { margin-bottom: 0.756rem; font-size: var(--vv55xn); color: var(--vyji1b); }
.u2wg4o li a { word-break: break-word; }
.u0i4x4 ul { list-style: none; margin: 0; padding: 0; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* header: fullwidth-rule (banded, heavy rule, uppercase nav) */
.u2i6ua.uur8oy6 { background: var(--vqhjf5); border-bottom: 3px solid var(--vllsvp); position: sticky; top: 0; z-index: 50; }
.u2i6ua.uur8oy6 .container { display: flex; align-items: baseline; justify-content: space-between; min-height: var(--vsdvje); gap: 0.998rem; }
.u2i6ua.uur8oy6 .ugk6sc { font-size: 1.44rem; letter-spacing: -0.01em; }
.u2i6ua.uur8oy6 .u6y344 a { text-transform: uppercase; letter-spacing: 0.063em; font-size: 0.783rem; }
@media (max-width: 765px) {
  .u2i6ua.uur8oy6 .uvwwcb { display: block; }
  .u2i6ua.uur8oy6 .u6y344 { display: none; position: absolute; top: var(--vsdvje); left: 0; right: 0; background: var(--vqhjf5); border-bottom: 3px solid var(--vllsvp); padding: 0.998rem var(--vrzvg8); z-index: 50; }
  .u2i6ua.uur8oy6 .u6y344.ut2643 { display: block; }
  .u2i6ua.uur8oy6 .u6y344 ul { flex-direction: column; gap: 0.756rem; }
}

/* hero: rule-divided-editorial */
.uyujoj.uaovro4 { padding: clamp(2.377rem, 6vw, 4.317rem) 0 clamp(1.544rem, 4vw, 2.377rem); }
.uyujoj.uaovro4 .container { max-width: 49.847rem; }
.uyujoj.uaovro4 .uweyle { border-bottom: 2px solid var(--vllsvp); padding-bottom: 0.756rem; margin-bottom: 1.211rem; }
.uyujoj.uaovro4 h1 { max-width: 23ch; }
.uyujoj.uaovro4 .u1qmar { border-top: 1px solid var(--vd1u7m); padding-top: 0.998rem; margin-top: 1.211rem; }
.uyujoj.uaovro4 .uudwee { border: 1px solid var(--vd1u7m); padding: 0.489rem; margin-top: 1.544rem; }

/* footer: deep-multicolumn-dark */
.u7li8o.u60vfo0 { background: var(--vu7v0i); color: var(--vbh6jm); margin-top: 4.053rem; padding-block: 2.377rem; }
.u7li8o.u60vfo0 a { color: var(--vbh6jm); text-decoration: none; opacity: 0.85; }
.u7li8o.u60vfo0 a:hover { opacity: 1; text-decoration: underline; }
.u7li8o.u60vfo0 .uapstw { font-style: italic; opacity: 0.8; margin-bottom: 1.544rem; max-width: 63ch; }
.u7li8o.u60vfo0 .u0i4x4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1.544rem; }
.u7li8o.u60vfo0 .u0i4x4 h2 { font-size: var(--vv55xn); text-transform: uppercase; letter-spacing: 0.083em; margin: 0 0 0.575rem; opacity: 0.7; }
.u7li8o.u60vfo0 .u0i4x4 li { margin-bottom: 0.382rem; font-size: var(--vv55xn); }
.u7li8o.u60vfo0 .uby9vg { margin-top: 1.653rem; font-size: var(--vv55xn); opacity: 0.6; }
