:root {
  --trc-paper: #f3f0e8;
  --trc-chalk: #faf8f2;
  --trc-ink: #182429;
  --trc-blue: #28536d;
  --trc-oxide: #a64d35;
  --trc-line: #d6d0c4;
  --trc-serif: Georgia, 'Times New Roman', serif;
  --trc-sans: Arial, Helvetica, sans-serif;
  --trc-mono: 'SFMono-Regular', Consolas, monospace;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; }
body { margin: 0; background: var(--trc-paper); color: var(--trc-ink); font: 16px/1.55 var(--trc-sans); overflow-x: hidden; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--trc-oxide); }
img { display: block; max-width: 100%; object-fit: cover; }

.trc-mast { min-height: 76px; padding: 0 clamp(20px, 4vw, 70px); display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--trc-line); background: var(--trc-chalk); position: relative; z-index: 2; }
.trc-mark { display: flex; align-items: center; gap: 10px; text-decoration: none; font-size: 13px; font-weight: 700; letter-spacing: .02em; flex: 0 0 auto; }
.trc-mark span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--trc-ink); font: 12px var(--trc-mono); letter-spacing: .08em; }
.trc-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(12px, 2vw, 28px); font-size: 13px; font-weight: 650; min-width: 0; }
.trc-nav a { text-decoration: none; white-space: nowrap; }
.trc-nav-action { padding: 8px 11px; background: var(--trc-oxide); color: #fff !important; text-decoration: none !important; }
.trc-menu { display: none; background: none; border: 1px solid var(--trc-ink); padding: 7px 10px; font: inherit; }

.trc-hero { height: 360px; position: relative; overflow: hidden; color: #fff; }
.trc-hero > img { width: 100%; height: 100%; object-position: center; }
.trc-veil { position: absolute; inset: 0; background: #14282b; opacity: .78; }
.trc-hero-copy { position: absolute; inset: 0; display: flex; justify-content: center; flex-direction: column; max-width: 660px; padding: clamp(28px, 6vw, 100px); z-index: 1; }
.trc-kicker { margin: 0 0 12px; color: var(--trc-oxide); font: 11px/1.3 var(--trc-mono); letter-spacing: .12em; text-transform: uppercase; }
.trc-hero .trc-kicker { color: #e7bfae; }
.trc-hero h1, .trc-sectionhead h1, .trc-articlehead h1 { margin: 0; font: clamp(38px, 5.2vw, 74px)/.98 var(--trc-serif); letter-spacing: -.045em; }
.trc-hero p:not(.trc-kicker) { max-width: 590px; margin: 18px 0 24px; font-size: 18px; }
.trc-action { display: inline-block; width: max-content; padding: 12px 16px; background: var(--trc-oxide); color: #fff; text-decoration: none; font-weight: 700; }
.trc-action:hover { color: #fff; background: #843c2c; }
.trc-action--light { background: var(--trc-chalk); color: var(--trc-ink); }

.trc-statline { max-width: 1320px; margin: auto; padding: 20px clamp(20px, 4vw, 70px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; border-bottom: 1px solid var(--trc-line); }
.trc-statline p { margin: 0; font: 12px/1.35 var(--trc-mono); text-transform: uppercase; letter-spacing: .08em; }
.trc-statline b { margin-right: 8px; color: var(--trc-oxide); font-size: 20px; }
.trc-home-section, .trc-category { max-width: 1320px; margin: auto; padding: clamp(52px, 7vw, 110px) clamp(20px, 4vw, 70px); }
.trc-home-section--ink { max-width: none; background: var(--trc-ink); color: var(--trc-chalk); }
.trc-home-section--ink .trc-card { background: #243339; border-color: #536166; }
.trc-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.trc-intro h2 { margin: 0; font: clamp(30px, 3vw, 47px)/1 var(--trc-serif); letter-spacing: -.04em; }

.trc-routegrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--trc-line); border: 1px solid var(--trc-line); }
.trc-routegrid article { padding: 16px; background: var(--trc-chalk); }
.trc-routegrid article:first-child { grid-column: span 2; }
.trc-routegrid img { width: 100%; height: 190px; margin-bottom: 22px; }
.trc-routegrid h3 { margin: 0 0 10px; font: 27px/1 var(--trc-serif); }
.trc-routegrid p:not(.trc-kicker) { margin: 0; font-size: 14px; }
.trc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.trc-grid--two { grid-template-columns: repeat(2, 1fr); }
.trc-card { border-top: 1px solid currentColor; background: var(--trc-chalk); }
.trc-card img { width: 100%; height: 165px; }
.trc-card > div { padding: 14px; }
.trc-card h3 { margin: 0 0 10px; font: 24px/1.04 var(--trc-serif); letter-spacing: -.035em; }
.trc-card p:not(.trc-kicker) { margin: 0; font-size: 13px; line-height: 1.45; }
.trc-carnet { max-width: 1320px; margin: auto; padding: 0 clamp(20px, 4vw, 70px) clamp(52px, 7vw, 110px); display: grid; grid-template-columns: 1.2fr 1fr; gap: 0; }
.trc-carnet > div { padding: clamp(30px, 5vw, 70px); background: var(--trc-blue); color: #fff; }
.trc-carnet h2 { margin: 0; font: clamp(32px, 4vw, 56px)/1 var(--trc-serif); }
.trc-carnet img { width: 100%; height: 100%; min-height: 320px; }
.trc-home-guidance { padding-top: 70px; }
.trc-home-guidance .trc-intro { max-width: 720px; }
.trc-linkgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--trc-line); border: 1px solid var(--trc-line); }
.trc-linkgrid article { padding: 20px; background: var(--trc-chalk); }
.trc-linkgrid h3 { margin: 0 0 9px; font: 24px/1.05 var(--trc-serif); }
.trc-linkgrid p { margin: 0; font-size: 14px; }
.trc-home-author { max-width: 1180px; margin: 0 auto; padding: 0 20px 50px; color: #657176; font-size: 13px; }
.trc-home-author a { color: var(--trc-blue); font-weight: 700; }

.trc-crumb { max-width: 1100px; margin: 0 auto; padding: 26px 0; font-size: 12px; }
.trc-crumb span { margin: 0 6px; color: #8b8b80; }
.trc-sectionhead { max-width: 880px; padding: 30px 0 42px; }
.trc-sectionhead > p:last-child { max-width: 650px; font-size: 20px; }
.trc-banner { width: 100%; height: 300px; margin-bottom: 48px; }
.trc-reading { max-width: 1100px; margin: auto; padding: 0 clamp(20px, 4vw, 70px) 100px; }
.trc-articlehead { max-width: 820px; padding: 22px 0 42px; }
.trc-lede { max-width: 750px; font: 22px/1.35 var(--trc-serif); }
.trc-byline { font-size: 13px; }
.trc-figure { margin: 0 0 40px; }
.trc-figure img { width: 100%; max-height: 530px; }
.trc-figure figcaption { padding: 9px 0; border-bottom: 1px solid var(--trc-line); font-size: 12px; }
.trc-prose { max-width: 720px; font-size: 18px; }
.trc-prose h2 { margin: 44px 0 15px; font: 33px/1.08 var(--trc-serif); }
.trc-prose li { margin: 9px 0; }
.trc-sources { max-width: 780px; margin: 56px 0; padding: 28px; border-left: 4px solid var(--trc-blue); background: #dce5e2; }
.trc-sources h2 { margin: 0; font: 30px/1 var(--trc-serif); }
.trc-sources p { max-width: 620px; }
.trc-sources ul { columns: 2; padding-left: 18px; }
.trc-sources li { margin: 5px 0; }
.trc-textlink { font-weight: 700; }
.trc-next { margin-top: 70px; }
.trc-checklist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-bottom: 50px; background: var(--trc-line); }
.trc-checklist > div { padding: 26px; background: var(--trc-chalk); }
.trc-checklist h2 { margin: 0 0 18px; font: 25px/1 var(--trc-serif); }
.trc-checklist label { display: block; margin: 12px 0; font-size: 14px; }
.trc-source-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 50px; background: var(--trc-line); }
.trc-source-list article { padding: 24px; background: var(--trc-chalk); }
.trc-source-list h2 { margin: 0 0 12px; font: 25px/1 var(--trc-serif); }
.trc-source-list a { overflow-wrap: anywhere; font-size: 12px; }

.trc-foot { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 35px; padding: 52px clamp(20px, 4vw, 70px); background: #101a1d; color: #dce5e2; }
.trc-foot .trc-mark span { border-color: #dce5e2; }
.trc-foot p { max-width: 350px; font-size: 14px; }
.trc-foot strong, .trc-foot a:not(.trc-mark) { display: block; margin: 0 0 10px; }
.trc-foot strong { color: #d59176; font: 12px var(--trc-mono); letter-spacing: .1em; text-transform: uppercase; }
.trc-404 { max-width: 700px; padding: 15vh 8vw; }
.trc-404 h1 { margin: 0; font: clamp(40px, 6vw, 78px)/.98 var(--trc-serif); letter-spacing: -.05em; }

@media (max-width: 1100px) {
  .trc-nav { gap: 14px; }
  .trc-nav a:nth-child(3) { display: none; }
}
@media (max-width: 900px) {
  .trc-routegrid { grid-template-columns: repeat(2, 1fr); }
  .trc-routegrid article:first-child { grid-column: span 2; }
  .trc-grid { grid-template-columns: repeat(2, 1fr); }
  .trc-linkgrid { grid-template-columns: repeat(2, 1fr); }
  .trc-foot { grid-template-columns: 1fr 1fr; }
  .trc-checklist { grid-template-columns: 1fr; }
  .trc-hero { height: 390px; }
}
@media (max-width: 600px) {
  .trc-mast { min-height: 64px; }
  .trc-mast .trc-mark b { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .trc-menu { display: block; }
  .trc-nav { display: none; position: absolute; top: 63px; left: 0; right: 0; flex-direction: column; align-items: flex-start; padding: 20px; border-bottom: 1px solid var(--trc-line); background: var(--trc-chalk); }
  .trc-nav.is-open { display: flex; }
  .trc-nav a:nth-child(3) { display: block; }
  .trc-nav-action { width: max-content; }
  .trc-hero { height: 430px; }
  .trc-hero-copy { padding: 28px 22px; }
  .trc-statline { grid-template-columns: 1fr; padding-top: 16px; padding-bottom: 16px; }
  .trc-routegrid, .trc-grid, .trc-grid--two, .trc-linkgrid, .trc-source-list { grid-template-columns: 1fr; }
  .trc-routegrid article:first-child { grid-column: auto; }
  .trc-routegrid img { height: 170px; }
  .trc-carnet { grid-template-columns: 1fr; }
  .trc-carnet img { min-height: 250px; }
  .trc-banner { height: 220px; }
  .trc-intro { display: block; }
  .trc-intro h2 { margin-bottom: 16px; }
  .trc-foot { grid-template-columns: 1fr 1fr; }
  .trc-foot > div:first-child { grid-column: span 2; }
  .trc-sources ul { columns: 1; }
  .trc-reading { padding-bottom: 60px; }
  .trc-crumb { padding-left: 20px; padding-right: 20px; }
}
