.trv {
  --flow: 135deg;
  --flow-a: 0%;
  --flow-b: 100%;
  --t-shadow: 0 22px 58px color-mix(in srgb, var(--p-shadow-ink) 10%, transparent);
  --t-shadow-dark: 0 22px 58px color-mix(in srgb, var(--p-shadow-deep) 18%, transparent);
  --t-shadow-route: 0 30px 78px color-mix(in srgb, var(--p-shadow-ink) 10%, transparent);
  --t-shadow-route-copy: 0 18px 44px color-mix(in srgb, var(--p-shadow-ink) 8%, transparent);
  --t-r-xl: 28px;
  --t-r-lg: 24px;
  --t-r-md: 20px;
  --t-r-sm: 16px;
  --t-line: 25.6px;
  overflow-x: clip;
}

[dir="rtl"] .trv {
  --flow: 225deg;
  --flow-a: 100%;
  --flow-b: 0%;
}

.trv[data-palette] {
  --p-shadow-ink: #0c1c28;
  --p-shadow-deep: #081018;
}

.trv[data-palette="noir"] {
  --p-gold: #d7b15f;
  --p-gold-soft: #edd9a3;
  --p-gold-hover: #dfba6c;
  --p-gold-soft-hover: #f2dfb0;
  --p-contrast: #1f1712;
  --p-green: #6aa18a;
  --p-teal: #4fa8a2;
  --p-blue: #5f8fbe;
  --p-sky: #98b4d2;
  --p-olive: #8c9d67;
  --p-copper: #b97a59;
  --p-orange: #cf8c5e;
  --p-rose: #a38377;
  --p-stone: #8fa1ad;
  --p-snow: #e7f1f8;
  --p-hero-1: #0f1d31;
  --p-hero-2: #173852;
  --p-hero-3: #2b7c88;
  --p-hero-ink: var(--c-white);
  --p-hero-card: color-mix(in srgb, var(--p-hero-ink) 8%, transparent);
  --p-hero-stage: color-mix(in srgb, var(--p-hero-ink) 8%, transparent);
  --p-hero-stage-copy: color-mix(in srgb, var(--p-hero-1) 74%, var(--p-hero-ink) 12%);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 12%, transparent);
  --p-dark-1: #162436;
  --p-dark-2: #21384d;
  --p-dark-3: #2f5564;
  --p-dark-ink: var(--c-white);
  --p-faith-1: #181d27;
  --p-faith-2: #252f3a;
  --p-faith-3: #4c4037;
  --p-light-1: #eef2ef;
  --p-light-2: #e2ebe8;
  --p-light-3: #d4dfdc;
  --p-light-ink: #173246;
  --p-light-ink-soft: #4a6273;
  --p-warm-1: #f1e5d8;
  --p-warm-2: #e8dfd7;
  --p-warm-3: #dcdedc;
  --p-cool-1: #ecf3f5;
  --p-cool-2: #e1ebef;
  --p-cool-3: #d4e1e6;
  --p-band-1: #243944;
  --p-band-2: #34535f;
  --p-band-3: #4d6e72;
  --p-final-1: #171a18;
  --p-final-2: #263028;
  --p-final-3: #49584a;
  --p-final-ink: var(--c-white);
  --p-final-soft: color-mix(in srgb, var(--p-dark-ink) 90%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-dark-ink) 82%, transparent);
  --p-id-1: #11243a;
  --p-id-2: #1d3952;
  --p-id-3: #476877;
  --p-id-ink: #f4f7f8;
  --p-id-ink-soft: color-mix(in srgb, var(--p-id-ink) 84%, transparent);
  --p-man-1: #745c63;
  --p-man-2: #5d494f;
  --p-id-accent: var(--p-gold);
}

.trv[data-palette="dawn"] {
  --p-gold: #e0ad67;
  --p-gold-soft: #f0d2a1;
  --p-gold-hover: #e7b878;
  --p-gold-soft-hover: #f4dcaf;
  --p-contrast: #271713;
  --p-green: #8e9b6d;
  --p-teal: #7ba39d;
  --p-blue: #8999bc;
  --p-sky: #b6c6dc;
  --p-olive: #a19162;
  --p-copper: #cf7c52;
  --p-orange: #e08b58;
  --p-rose: #bf786d;
  --p-stone: #9c8c87;
  --p-snow: #faf0eb;
  --p-hero-1: #ffe8db;
  --p-hero-2: #f5c6a3;
  --p-hero-3: #d98558;
  --p-hero-ink: #3b2318;
  --p-hero-card: color-mix(in srgb, var(--c-white) 80%, var(--p-hero-2) 20%);
  --p-hero-stage: color-mix(in srgb, var(--c-white) 84%, var(--p-hero-2) 16%);
  --p-hero-stage-copy: transparent;
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-dark-1: #281621;
  --p-dark-2: #432534;
  --p-dark-3: #6b3b3b;
  --p-dark-ink: #fff4ee;
  --p-faith-1: #2c1a1a;
  --p-faith-2: #482824;
  --p-faith-3: #744439;
  --p-light-1: #f7ece4;
  --p-light-2: #efdfd0;
  --p-light-3: #e3d2c3;
  --p-light-ink: #3b2318;
  --p-light-ink-soft: #6e5144;
  --p-warm-1: #f8e3d4;
  --p-warm-2: #f0d7c4;
  --p-warm-3: #e6d8cf;
  --p-cool-1: #f3ebe6;
  --p-cool-2: #ece3de;
  --p-cool-3: #e1dcd8;
  --p-band-1: #5b2f3b;
  --p-band-2: #7c4855;
  --p-band-3: #a56b58;
  --p-final-1: color-mix(in srgb, var(--p-warm-1) 78%, var(--c-white) 22%);
  --p-final-2: color-mix(in srgb, var(--p-rose) 8%, var(--p-warm-2) 92%);
  --p-final-3: color-mix(in srgb, var(--p-copper) 12%, var(--p-light-2) 88%);
  --p-final-ink: #3b2318;
  --p-final-soft: color-mix(in srgb, var(--p-light-ink) 84%, var(--p-light-3) 16%);
  --p-final-muted: color-mix(in srgb, var(--p-light-ink) 72%, var(--p-light-3) 28%);
  --p-id-1: #441f30;
  --p-id-2: #5f3043;
  --p-id-3: #8d5350;
  --p-id-ink: #fff4ee;
  --p-id-ink-soft: color-mix(in srgb, var(--p-id-ink) 84%, transparent);
  --p-man-1: #50667a;
  --p-man-2: #405567;
  --p-id-accent: var(--p-gold);
}

.trv[data-palette="mist"] {
  --p-gold: #c9a45a;
  --p-gold-soft: #e3cf9f;
  --p-gold-hover: #d3ae69;
  --p-gold-soft-hover: #ead9ac;
  --p-contrast: #1e1810;
  --p-green: #7e9f6d;
  --p-teal: #5d988d;
  --p-blue: #7088b0;
  --p-sky: #afc4d2;
  --p-olive: #9ba15d;
  --p-copper: #ad7858;
  --p-orange: #c68d52;
  --p-rose: #907867;
  --p-stone: #88948a;
  --p-snow: #eef2ea;
  --p-hero-1: #eef1e0;
  --p-hero-2: #d7d7a8;
  --p-hero-3: #9a874f;
  --p-hero-ink: #213223;
  --p-hero-card: color-mix(in srgb, var(--c-white) 80%, var(--p-hero-2) 20%);
  --p-hero-stage: color-mix(in srgb, var(--c-white) 84%, var(--p-hero-2) 16%);
  --p-hero-stage-copy: transparent;
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-dark-1: #142118;
  --p-dark-2: #203127;
  --p-dark-3: #35503e;
  --p-dark-ink: #f4f7ef;
  --p-faith-1: #1e1b15;
  --p-faith-2: #2f271d;
  --p-faith-3: #594633;
  --p-light-1: #eef2e7;
  --p-light-2: #e2e9de;
  --p-light-3: #d5dfd1;
  --p-light-ink: #213223;
  --p-light-ink-soft: #556857;
  --p-warm-1: #f0e7d9;
  --p-warm-2: #e7e0d2;
  --p-warm-3: #dad8cc;
  --p-cool-1: #e8efea;
  --p-cool-2: #dde6e1;
  --p-cool-3: #d1ddda;
  --p-band-1: #2d3b2c;
  --p-band-2: #435542;
  --p-band-3: #66705b;
  --p-final-1: color-mix(in srgb, var(--p-cool-1) 76%, var(--c-white) 24%);
  --p-final-2: color-mix(in srgb, var(--p-green) 8%, var(--p-light-2) 92%);
  --p-final-3: color-mix(in srgb, var(--p-olive) 12%, var(--p-light-3) 88%);
  --p-final-ink: #213223;
  --p-final-soft: color-mix(in srgb, var(--p-light-ink) 84%, var(--p-light-3) 16%);
  --p-final-muted: color-mix(in srgb, var(--p-light-ink) 72%, var(--p-light-3) 28%);
  --p-id-1: #18281b;
  --p-id-2: #254029;
  --p-id-3: #4a6248;
  --p-id-ink: #f4f7ef;
  --p-id-ink-soft: color-mix(in srgb, var(--p-id-ink) 84%, transparent);
  --p-man-1: #566674;
  --p-man-2: #455360;
  --p-id-accent: var(--p-gold);
}

.trv[data-palette="cobalt"] {
  --p-gold: #d6ae5a;
  --p-gold-soft: #ebd6a1;
  --p-gold-hover: #dfb86b;
  --p-gold-soft-hover: #f1dfb1;
  --p-contrast: #16130e;
  --p-green: #7b9476;
  --p-teal: #5d9db7;
  --p-blue: #5d81d6;
  --p-sky: #b4c4ea;
  --p-olive: #8e986a;
  --p-copper: #b77d5e;
  --p-orange: #cb875e;
  --p-rose: #9b7e79;
  --p-stone: #8f9fb8;
  --p-snow: #edf3ff;
  --p-hero-1: #f6f0e5;
  --p-hero-2: #dce4f7;
  --p-hero-3: #7a8edc;
  --p-hero-ink: #182746;
  --p-hero-card: color-mix(in srgb, var(--c-white) 80%, var(--p-hero-2) 20%);
  --p-hero-stage: color-mix(in srgb, var(--c-white) 84%, var(--p-hero-2) 16%);
  --p-hero-stage-copy: transparent;
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-dark-1: #12203f;
  --p-dark-2: #1c3256;
  --p-dark-3: #324f73;
  --p-dark-ink: #f4f7ff;
  --p-faith-1: #1b223f;
  --p-faith-2: #2a3157;
  --p-faith-3: #5b607e;
  --p-light-1: #eef3fb;
  --p-light-2: #e3ebf7;
  --p-light-3: #d7e1ee;
  --p-light-ink: #182746;
  --p-light-ink-soft: #4d6488;
  --p-warm-1: #f4edde;
  --p-warm-2: #ece6df;
  --p-warm-3: #e0e1e6;
  --p-cool-1: #edf3fa;
  --p-cool-2: #e3ecf6;
  --p-cool-3: #d7e2ee;
  --p-band-1: #223a6d;
  --p-band-2: #35528a;
  --p-band-3: #5e6f9c;
  --p-final-1: color-mix(in srgb, var(--p-cool-1) 80%, var(--c-white) 20%);
  --p-final-2: color-mix(in srgb, var(--p-sky) 12%, var(--p-light-1) 88%);
  --p-final-3: color-mix(in srgb, var(--p-blue) 14%, var(--p-light-2) 86%);
  --p-final-ink: #182746;
  --p-final-soft: color-mix(in srgb, var(--p-light-ink) 84%, var(--p-light-3) 16%);
  --p-final-muted: color-mix(in srgb, var(--p-light-ink) 72%, var(--p-light-3) 28%);
  --p-id-1: #0f204a;
  --p-id-2: #173265;
  --p-id-3: #47628f;
  --p-id-ink: #f7f9ff;
  --p-id-ink-soft: color-mix(in srgb, var(--p-id-ink) 84%, transparent);
  --p-man-1: #7a6372;
  --p-man-2: #644f5e;
  --p-id-accent: var(--p-gold);
}

.trv[data-palette="wine"] {
  --p-gold: #d7ab61;
  --p-gold-soft: #ecd5a4;
  --p-gold-hover: #e0b573;
  --p-gold-soft-hover: #f1deaf;
  --p-contrast: #1d1414;
  --p-green: #8b9b74;
  --p-teal: #7ca39f;
  --p-blue: #7e90bb;
  --p-sky: #bcc5d9;
  --p-olive: #9d9068;
  --p-copper: #ba7660;
  --p-orange: #cb8562;
  --p-rose: #b07b82;
  --p-stone: #a09397;
  --p-snow: #faf1f5;
  --p-hero-1: #f7e7ea;
  --p-hero-2: #e8c6d0;
  --p-hero-3: #c6898d;
  --p-hero-ink: #341b23;
  --p-hero-card: color-mix(in srgb, var(--p-hero-ink) 8%, transparent);
  --p-hero-stage: color-mix(in srgb, var(--p-hero-ink) 8%, transparent);
  --p-hero-stage-copy: color-mix(in srgb, var(--p-hero-1) 74%, var(--p-hero-ink) 12%);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 12%, transparent);
  --p-dark-1: #25131e;
  --p-dark-2: #3a1d2b;
  --p-dark-3: #583847;
  --p-dark-ink: #fff5f8;
  --p-faith-1: #2c1620;
  --p-faith-2: #46222d;
  --p-faith-3: #70454a;
  --p-light-1: #f5ecec;
  --p-light-2: #ecdee2;
  --p-light-3: #e0d4d9;
  --p-light-ink: #341b23;
  --p-light-ink-soft: #6d525b;
  --p-warm-1: #f3e4dc;
  --p-warm-2: #ebded7;
  --p-warm-3: #e0d8d7;
  --p-cool-1: #f1eef2;
  --p-cool-2: #e8e4eb;
  --p-cool-3: #dddce3;
  --p-band-1: #553344;
  --p-band-2: #74495b;
  --p-band-3: #9b7180;
  --p-final-1: #1d1518;
  --p-final-2: #312327;
  --p-final-3: #544245;
  --p-final-ink: #fff5f8;
  --p-final-soft: color-mix(in srgb, var(--p-dark-ink) 90%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-dark-ink) 82%, transparent);
  --p-id-1: #391c29;
  --p-id-2: #55263b;
  --p-id-3: #7b4a58;
  --p-id-ink: #fbf3f5;
  --p-id-ink-soft: color-mix(in srgb, var(--p-id-ink) 84%, transparent);
  --p-man-1: #4e6670;
  --p-man-2: #405660;
  --p-id-accent: var(--p-gold);
}

.trv[data-palette="aqua"] {
  --p-gold: #d1aa67;
  --p-gold-soft: #e8d2a7;
  --p-gold-hover: #d9b479;
  --p-gold-soft-hover: #eedbb5;
  --p-contrast: #171514;
  --p-green: #7fa192;
  --p-teal: #58a8a5;
  --p-blue: #6f97c1;
  --p-sky: #a8c7d7;
  --p-olive: #8d9a73;
  --p-copper: #b77c60;
  --p-orange: #c98a63;
  --p-rose: #9b8078;
  --p-stone: #8e9ca3;
  --p-snow: #eef7f8;
  --p-hero-1: #182126;
  --p-hero-2: #25414b;
  --p-hero-3: #4fa3a8;
  --p-hero-ink: #f4fcfd;
  --p-hero-card: color-mix(in srgb, var(--p-hero-ink) 8%, transparent);
  --p-hero-stage: color-mix(in srgb, var(--p-hero-ink) 8%, transparent);
  --p-hero-stage-copy: color-mix(in srgb, var(--p-hero-1) 74%, var(--p-hero-ink) 12%);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 12%, transparent);
  --p-dark-1: #182227;
  --p-dark-2: #25373d;
  --p-dark-3: #34545b;
  --p-dark-ink: #f4fcfd;
  --p-faith-1: #1c2327;
  --p-faith-2: #2a373d;
  --p-faith-3: #505d5e;
  --p-light-1: #edf2f2;
  --p-light-2: #e1eaeb;
  --p-light-3: #d5e1e2;
  --p-light-ink: #1e2f34;
  --p-light-ink-soft: #4f666b;
  --p-warm-1: #f1e7dd;
  --p-warm-2: #e8e1d9;
  --p-warm-3: #dce0dd;
  --p-cool-1: #e8f1f2;
  --p-cool-2: #dde8ea;
  --p-cool-3: #d1dfe1;
  --p-band-1: #27373b;
  --p-band-2: #3a565d;
  --p-band-3: #59777c;
  --p-final-1: #141719;
  --p-final-2: #202a2d;
  --p-final-3: #435257;
  --p-final-ink: #f4fcfd;
  --p-final-soft: color-mix(in srgb, var(--p-dark-ink) 90%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-dark-ink) 82%, transparent);
  --p-id-1: #eef3f4;
  --p-id-2: #dde7e9;
  --p-id-3: #c9d5d8;
  --p-id-ink: #1c2e34;
  --p-id-ink-soft: color-mix(in srgb, var(--p-id-ink) 74%, transparent);
  --p-man-1: #36505a;
  --p-man-2: #2b4149;
  --p-id-accent: var(--p-teal);
}

.trv[data-hero="1a"] {
  --p-contrast: #1b130d;
  --p-gold: #e1ad52;
  --p-gold-soft: #f3d6a0;
  --p-gold-hover: #e8b864;
  --p-gold-soft-hover: #f7dfae;
  --p-green: #5d7d57;
  --p-teal: #2f8b84;
  --p-blue: #5c78a6;
  --p-sky: #a9bad2;
  --p-olive: #8a8d44;
  --p-copper: #bf6f3f;
  --p-orange: #e1803b;
  --p-rose: #8e554a;
  --p-stone: #7b8393;
  --p-hero-1: #090b10;
  --p-hero-2: #1a1e27;
  --p-hero-3: #e27b33;
  --p-hero-ink: #fff8ef;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 92%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 82%, transparent);
  --p-hero-card: rgba(16, 19, 24, 0.34);
  --p-hero-stage: rgba(14, 16, 20, 0.30);
  --p-hero-stage-copy: rgba(12, 14, 18, 0.68);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #3a2117;
  --p-band-2: #68422a;
  --p-band-3: #9c6637;
  --p-route-city: #5c78a6;
  --p-route-dream: #b86a63;
  --p-route-coast: #2f8b84;
  --p-route-green: #8a8d44;
  --p-final-1: #f6f8ff;
  --p-final-2: #e5ebfb;
  --p-final-3: #cedbf2;
  --p-final-ink: #223052;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 90%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 78%, transparent);
}

.trv[data-hero="1b"] {
  --p-contrast: #24160d;
  --p-gold: #cb8b28;
  --p-gold-soft: #f4cf8f;
  --p-gold-hover: #d79939;
  --p-gold-soft-hover: #f7d9a5;
  --p-green: #7e9654;
  --p-teal: #5a9b86;
  --p-blue: #7597c5;
  --p-sky: #b8cae4;
  --p-olive: #b29539;
  --p-copper: #cf7046;
  --p-orange: #ec8a39;
  --p-rose: #c07c67;
  --p-stone: #a89480;
  --p-hero-1: #fff1dc;
  --p-hero-2: #ffd08a;
  --p-hero-3: #ed8e3f;
  --p-hero-ink: #422718;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 88%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 76%, transparent);
  --p-hero-card: rgba(255, 250, 241, 0.78);
  --p-hero-stage: rgba(255, 250, 242, 0.88);
  --p-hero-stage-copy: transparent;
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #8d5a26;
  --p-band-2: #c07c38;
  --p-band-3: #efb56b;
  --p-route-city: #7597c5;
  --p-route-dream: #c07c67;
  --p-route-coast: #5a9b86;
  --p-route-green: #b29539;
  --p-final-1: #1a1216;
  --p-final-2: #34202a;
  --p-final-3: #5a3645;
  --p-final-ink: #fff5f8;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 92%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 82%, transparent);
}

.trv[data-hero="1c"] {
  --p-contrast: #261516;
  --p-gold: #d69a57;
  --p-gold-soft: #f0d0a5;
  --p-gold-hover: #dea76a;
  --p-gold-soft-hover: #f5dbb5;
  --p-green: #82926a;
  --p-teal: #7ba09c;
  --p-blue: #8a97c9;
  --p-sky: #d0d5ec;
  --p-olive: #a58a67;
  --p-copper: #cd7d63;
  --p-orange: #df8d6a;
  --p-rose: #cb7e8c;
  --p-stone: #aa98a2;
  --p-hero-1: #fff0f2;
  --p-hero-2: #f0cad6;
  --p-hero-3: #d68696;
  --p-hero-ink: #452228;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 88%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 76%, transparent);
  --p-hero-card: rgba(255, 249, 251, 0.78);
  --p-hero-stage: rgba(255, 250, 252, 0.86);
  --p-hero-stage-copy: rgba(255, 255, 255, 0.34);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #6f3144;
  --p-band-2: #a05668;
  --p-band-3: #d09aa4;
  --p-route-city: #8a97c9;
  --p-route-dream: #cb7e8c;
  --p-route-coast: #7ba09c;
  --p-route-green: #a58a67;
  --p-final-1: #f2f5ed;
  --p-final-2: #e3eadb;
  --p-final-3: #cdd8c0;
  --p-final-ink: #253221;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 90%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 78%, transparent);
}

.trv[data-hero="1d"] {
  --p-contrast: #121610;
  --p-gold: #d9b064;
  --p-gold-soft: #ead7a6;
  --p-gold-hover: #e0b975;
  --p-gold-soft-hover: #efdfb4;
  --p-green: #6e9772;
  --p-teal: #4ea08f;
  --p-blue: #6d88a7;
  --p-sky: #b8c7d6;
  --p-olive: #8ca35e;
  --p-copper: #b97a55;
  --p-orange: #d18b54;
  --p-rose: #8f6b63;
  --p-stone: #84928f;
  --p-hero-1: #0c1614;
  --p-hero-2: #1b312c;
  --p-hero-3: #4d8b78;
  --p-hero-ink: #f4fbf7;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 90%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 80%, transparent);
  --p-hero-card: rgba(18, 31, 28, 0.36);
  --p-hero-stage: rgba(15, 27, 24, 0.32);
  --p-hero-stage-copy: rgba(12, 24, 22, 0.62);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #1f3029;
  --p-band-2: #2f5a4b;
  --p-band-3: #4d8b78;
  --p-route-city: #6d88a7;
  --p-route-dream: #8f6b63;
  --p-route-coast: #4ea08f;
  --p-route-green: #8ca35e;
  --p-final-1: #f7efe5;
  --p-final-2: #eddcca;
  --p-final-3: #d9bf9b;
  --p-final-ink: #3e2819;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 90%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 78%, transparent);
}

.trv[data-hero="1e"] {
  --p-contrast: #141515;
  --p-gold: #c79a45;
  --p-gold-soft: #ecd4a0;
  --p-gold-hover: #d2a95a;
  --p-gold-soft-hover: #f1ddb0;
  --p-green: #7a9070;
  --p-teal: #5b93b0;
  --p-blue: #5a79d3;
  --p-sky: #c8d7f3;
  --p-olive: #8a9364;
  --p-copper: #b57d63;
  --p-orange: #ca865b;
  --p-rose: #8d7da4;
  --p-stone: #8d98b2;
  --p-hero-1: #eef4ff;
  --p-hero-2: #cfdcfb;
  --p-hero-3: #6b85d8;
  --p-hero-ink: #1c2a52;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 88%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 76%, transparent);
  --p-hero-card: rgba(255, 255, 255, 0.76);
  --p-hero-stage: rgba(255, 255, 255, 0.86);
  --p-hero-stage-copy: rgba(255, 255, 255, 0.22);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #2f447a;
  --p-band-2: #5572b4;
  --p-band-3: #b1c1ea;
  --p-route-city: #5a79d3;
  --p-route-dream: #8d7da4;
  --p-route-coast: #5b93b0;
  --p-route-green: #8a9364;
  --p-final-1: #0f1419;
  --p-final-2: #1a2830;
  --p-final-3: #29545d;
  --p-final-ink: #f0fbfd;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 92%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 82%, transparent);
}

.trv[data-hero="1f"] {
  --p-contrast: #21140e;
  --p-gold: #d19442;
  --p-gold-soft: #f3d1a1;
  --p-gold-hover: #dba45a;
  --p-gold-soft-hover: #f6dbb1;
  --p-green: #8a9363;
  --p-teal: #7a8f87;
  --p-blue: #8c9bb8;
  --p-sky: #cfdae7;
  --p-olive: #a07a4c;
  --p-copper: #be6b44;
  --p-orange: #d47738;
  --p-rose: #a2695d;
  --p-stone: #9b8676;
  --p-hero-1: #fff4eb;
  --p-hero-2: #f1b686;
  --p-hero-3: #c7692d;
  --p-hero-ink: #422316;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 88%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 76%, transparent);
  --p-hero-card: rgba(255, 248, 240, 0.76);
  --p-hero-stage: rgba(255, 250, 244, 0.86);
  --p-hero-stage-copy: rgba(255, 255, 255, 0.12);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #7f3a1f;
  --p-band-2: #b85e32;
  --p-band-3: #e8ac79;
  --p-route-city: #8c9bb8;
  --p-route-dream: #a2695d;
  --p-route-coast: #7a8f87;
  --p-route-green: #a07a4c;
  --p-final-1: #f6f1fb;
  --p-final-2: #e9ddf2;
  --p-final-3: #d2c3e0;
  --p-final-ink: #352a4b;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 90%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 78%, transparent);
}

.trv[data-hero="1g"] {
  --p-contrast: #141514;
  --p-gold: #d1a85d;
  --p-gold-soft: #e8d4a5;
  --p-gold-hover: #d9b36f;
  --p-gold-soft-hover: #eeddb3;
  --p-green: #6f9288;
  --p-teal: #58a6a0;
  --p-blue: #6a8cb8;
  --p-sky: #b6d6db;
  --p-olive: #7f9670;
  --p-copper: #b77760;
  --p-orange: #cb8f67;
  --p-rose: #7d7680;
  --p-stone: #7d9398;
  --p-hero-1: #0e171a;
  --p-hero-2: #19343b;
  --p-hero-3: #2e8c8d;
  --p-hero-ink: #f2fbfb;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 90%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 80%, transparent);
  --p-hero-card: rgba(16, 27, 30, 0.36);
  --p-hero-stage: rgba(15, 24, 27, 0.32);
  --p-hero-stage-copy: rgba(13, 22, 25, 0.60);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #1c3135;
  --p-band-2: #2f6066;
  --p-band-3: #58a6a0;
  --p-route-city: #6a8cb8;
  --p-route-dream: #7d7680;
  --p-route-coast: #58a6a0;
  --p-route-green: #7f9670;
  --p-final-1: #101011;
  --p-final-2: #1d1c20;
  --p-final-3: #463722;
  --p-final-ink: #fff6e8;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 92%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 82%, transparent);
}

.trv[data-hero="1h"] {
  --p-contrast: #18180f;
  --p-gold: #b79238;
  --p-gold-soft: #ead69e;
  --p-gold-hover: #c4a14d;
  --p-gold-soft-hover: #efddb0;
  --p-green: #7c9560;
  --p-teal: #799781;
  --p-blue: #8095b1;
  --p-sky: #cad4df;
  --p-olive: #97a24b;
  --p-copper: #b98558;
  --p-orange: #c98953;
  --p-rose: #9a8172;
  --p-stone: #9ba08b;
  --p-hero-1: #f3f0dc;
  --p-hero-2: #d6d59b;
  --p-hero-3: #8e8a45;
  --p-hero-ink: #29311d;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 88%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 76%, transparent);
  --p-hero-card: rgba(255, 255, 244, 0.74);
  --p-hero-stage: rgba(255, 255, 246, 0.84);
  --p-hero-stage-copy: transparent;
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #5d6130;
  --p-band-2: #8b8c45;
  --p-band-3: #c5c98b;
  --p-route-city: #8095b1;
  --p-route-dream: #9a8172;
  --p-route-coast: #799781;
  --p-route-green: #97a24b;
  --p-final-1: #f2f7fb;
  --p-final-2: #deeaf5;
  --p-final-3: #c5d5e9;
  --p-final-ink: #24334a;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 90%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 78%, transparent);
}

.trv[data-hero="1i"] {
  --p-contrast: #171214;
  --p-gold: #d2a764;
  --p-gold-soft: #ecd7ab;
  --p-gold-hover: #dcb478;
  --p-gold-soft-hover: #f1dfb7;
  --p-green: #7c8f76;
  --p-teal: #8a8aa5;
  --p-blue: #8c86c7;
  --p-sky: #d0c7e5;
  --p-olive: #9b7a67;
  --p-copper: #bb7758;
  --p-orange: #cf875d;
  --p-rose: #b07186;
  --p-stone: #96879c;
  --p-hero-1: #151018;
  --p-hero-2: #342236;
  --p-hero-3: #a1624c;
  --p-hero-ink: #fff4f5;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 90%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 80%, transparent);
  --p-hero-card: rgba(27, 20, 32, 0.38);
  --p-hero-stage: rgba(23, 17, 28, 0.34);
  --p-hero-stage-copy: rgba(24, 17, 28, 0.62);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #452636;
  --p-band-2: #6d4158;
  --p-band-3: #a16278;
  --p-route-city: #8c86c7;
  --p-route-dream: #b07186;
  --p-route-coast: #8a8aa5;
  --p-route-green: #9b7a67;
  --p-final-1: #eef3ef;
  --p-final-2: #dbe6df;
  --p-final-3: #c2d2c8;
  --p-final-ink: #223129;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 90%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 78%, transparent);
}

.trv[data-hero="1j"] {
  --p-contrast: #16130f;
  --p-gold: #caa24e;
  --p-gold-soft: #e7d3a0;
  --p-gold-hover: #d5b262;
  --p-gold-soft-hover: #ecdbaf;
  --p-green: #6d7b63;
  --p-teal: #517d85;
  --p-blue: #556f94;
  --p-sky: #aab6c8;
  --p-olive: #867646;
  --p-copper: #af7352;
  --p-orange: #c6854d;
  --p-rose: #816b66;
  --p-stone: #7d848d;
  --p-hero-1: #060607;
  --p-hero-2: #15171b;
  --p-hero-3: #7f6223;
  --p-hero-ink: #fff8ec;
  --p-hero-soft: color-mix(in srgb, var(--p-hero-ink) 90%, transparent);
  --p-hero-muted: color-mix(in srgb, var(--p-hero-ink) 80%, transparent);
  --p-hero-card: rgba(14, 15, 18, 0.40);
  --p-hero-stage: rgba(10, 11, 13, 0.34);
  --p-hero-stage-copy: rgba(9, 10, 12, 0.70);
  --p-hero-divider: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --p-band-1: #231c14;
  --p-band-2: #403120;
  --p-band-3: #745928;
  --p-route-city: #556f94;
  --p-route-dream: #816b66;
  --p-route-coast: #517d85;
  --p-route-green: #867646;
  --p-final-1: #0d1118;
  --p-final-2: #18202d;
  --p-final-3: #2b3b56;
  --p-final-ink: #f4f8ff;
  --p-final-soft: color-mix(in srgb, var(--p-final-ink) 92%, transparent);
  --p-final-muted: color-mix(in srgb, var(--p-final-ink) 82%, transparent);
}

.trv-sec {
  position: relative;
  padding: 30px 0 60px;
  color: var(--ink-soft);
  scroll-margin-top: 12px;
}

.trv-wrap {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 29px;
}

.trv-hero .trv-wrap,
.trv-identity .trv-wrap {
  max-width: 1480px;
}

.trv-final .trv-wrap {
  max-width: 1540px;
}

.trv-wrap:not(.trv-hero__grid) > * + * {
  margin-top: 18px;
}

.trv-history .trv-wrap > * + *,
.trv-faith .trv-wrap > * + * {
  margin-top: 16px;
}

.trv-sec--light,
.trv-sec--warm,
.trv-sec--cool {
  --ink: var(--p-light-ink);
  --ink-soft: var(--p-light-ink-soft);
  --ink-muted: var(--p-light-ink-soft);
  --line: color-mix(in srgb, var(--p-light-ink) 12%, transparent);
  --line-soft: color-mix(in srgb, var(--p-light-ink) 8%, transparent);
  --card: color-mix(in srgb, var(--c-white) 78%, var(--p-light-2) 22%);
  --card-strong: color-mix(in srgb, var(--c-white) 88%, var(--p-light-1) 12%);
  --pill: color-mix(in srgb, var(--c-white) 70%, var(--p-light-2) 30%);
  --pill-line: color-mix(in srgb, var(--p-light-ink) 12%, transparent);
  --chip: color-mix(in srgb, var(--p-light-ink) 4%, transparent);
  --chip-line: color-mix(in srgb, var(--p-light-ink) 10%, transparent);
  --mini: color-mix(in srgb, var(--c-white) 58%, transparent);
  --accent: color-mix(in srgb, var(--p-gold) 58%, transparent);
  --shadow: var(--t-shadow);
}

.trv-sec--warm {
  --card: color-mix(in srgb, var(--c-white) 76%, var(--p-warm-2) 24%);
  --pill: color-mix(in srgb, var(--c-white) 70%, var(--p-warm-2) 30%);
  --mini: var(--card);
}

.trv-sec--cool {
  --card: color-mix(in srgb, var(--c-white) 76%, var(--p-cool-2) 24%);
  --pill: color-mix(in srgb, var(--c-white) 72%, var(--p-cool-2) 28%);
  --mini: var(--card);
}

.trv-sec--dark {
  --ink: var(--p-dark-ink);
  --ink-soft: color-mix(in srgb, var(--p-dark-ink) 88%, transparent);
  --ink-muted: color-mix(in srgb, var(--p-dark-ink) 74%, transparent);
  --line: color-mix(in srgb, var(--p-dark-ink) 12%, transparent);
  --line-soft: color-mix(in srgb, var(--p-dark-ink) 8%, transparent);
  --card: color-mix(in srgb, var(--p-dark-2) 82%, var(--p-dark-ink) 10%);
  --card-strong: color-mix(in srgb, var(--p-dark-3) 78%, var(--p-dark-ink) 12%);
  --pill: color-mix(in srgb, var(--p-dark-ink) 10%, transparent);
  --pill-line: color-mix(in srgb, var(--p-dark-ink) 14%, transparent);
  --chip: color-mix(in srgb, var(--p-dark-ink) 6%, transparent);
  --chip-line: color-mix(in srgb, var(--p-dark-ink) 10%, transparent);
  --mini: color-mix(in srgb, var(--p-dark-ink) 6%, transparent);
  --accent: color-mix(in srgb, var(--p-gold) 58%, transparent);
  --shadow: var(--t-shadow-dark);
  --glyph-ink: #f1f1f1;
}

.trv-hero {
  --ink: var(--p-hero-ink);
  --ink-soft: var(--p-hero-soft, color-mix(in srgb, var(--p-hero-ink) 88%, transparent));
  --ink-muted: var(--p-hero-muted, color-mix(in srgb, var(--p-hero-ink) 76%, transparent));
  --line: color-mix(in srgb, var(--p-hero-ink) 14%, transparent);
  --line-soft: color-mix(in srgb, var(--p-hero-ink) 10%, transparent);
  --card: var(--p-hero-card);
  --pill: color-mix(in srgb, var(--p-hero-ink) 8%, transparent);
  --pill-line: color-mix(in srgb, var(--p-hero-ink) 14%, transparent);
  --chip: color-mix(in srgb, var(--p-hero-ink) 8%, transparent);
  --chip-line: color-mix(in srgb, var(--p-hero-ink) 12%, transparent);
  --mini: color-mix(in srgb, var(--p-hero-ink) 7%, transparent);
  --shadow: var(--t-shadow-dark);
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--p-hero-ink) 10%, transparent) 0, transparent 30%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-gold) 18%, transparent) 0, transparent 28%),
    linear-gradient(var(--flow), var(--p-hero-1) 0%, var(--p-hero-2) 48%, var(--p-hero-3) 100%);
}

.trv-identity {
  --ink: var(--p-id-ink);
  --ink-soft: var(--p-id-ink-soft);
  --line: color-mix(in srgb, var(--p-id-ink) 12%, transparent);
  --pill: color-mix(in srgb, var(--p-id-ink) 8%, transparent);
  --pill-line: color-mix(in srgb, var(--p-id-ink) 14%, transparent);
  --surface-1: color-mix(in srgb, var(--c-white) 94%, var(--p-light-2) 6%);
  --surface-2: color-mix(in srgb, var(--c-white) 88%, var(--p-light-3) 12%);
  --surface-ink: var(--p-light-ink);
  --surface-soft: color-mix(in srgb, var(--p-light-ink) 76%, var(--surface-2) 24%);
  --surface-line: color-mix(in srgb, var(--p-light-ink) 12%, transparent);
  --shadow: var(--t-shadow);
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--c-white) 8%, transparent) 0, transparent 28%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-id-accent) 18%, transparent) 0, transparent 30%),
    linear-gradient(var(--flow), var(--p-id-1) 0%, var(--p-id-2) 48%, var(--p-id-3) 100%);
}

.trv[data-palette="aqua"] .trv-identity {
  --surface-1: #ffffff;
  --surface-2: #f7fafb;
}

.trv-axis {
  background: linear-gradient(var(--flow), var(--p-dark-1) 0%, var(--p-dark-2) 54%, var(--p-dark-3) 100%);
}

.trv-history {
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--c-white) 48%, transparent) 0, transparent 28%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-copper) 12%, transparent) 0, transparent 30%),
    linear-gradient(var(--flow), var(--p-warm-1) 0%, var(--p-warm-2) 46%, var(--p-warm-3) 100%);
}

.trv-faith {
  padding: 72px 0 18px;
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--c-white) 6%, transparent) 0, transparent 28%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-gold) 12%, transparent) 0, transparent 30%),
    linear-gradient(var(--flow), var(--p-faith-1) 0%, var(--p-faith-2) 48%, var(--p-faith-3) 100%);
}

.trv-routes {
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--c-white) 52%, transparent) 0, transparent 30%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-gold) 12%, transparent) 0, transparent 28%),
    linear-gradient(var(--flow), var(--p-light-1) 0%, var(--p-light-2) 48%, var(--p-light-3) 100%);
}

.trv-cuisine {
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--c-white) 48%, transparent) 0, transparent 30%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-gold) 14%, transparent) 0, transparent 28%),
    linear-gradient(var(--flow), var(--p-warm-1) 0%, var(--p-warm-2) 44%, var(--p-warm-3) 100%);
}

.trv-seasons,
.trv-winter {
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--c-white) 6%, transparent) 0, transparent 28%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-sky) 14%, transparent) 0, transparent 28%),
    linear-gradient(var(--flow), var(--p-dark-1) 0%, var(--p-dark-2) 46%, var(--p-dark-3) 100%);
}

.trv-summer {
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--c-white) 48%, transparent) 0, transparent 30%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-orange) 14%, transparent) 0, transparent 28%),
    linear-gradient(var(--flow), var(--p-cool-1) 0%, var(--p-cool-2) 42%, var(--p-cool-3) 100%);
}

.trv-comfort {
  --accent: color-mix(in srgb, var(--p-blue) 42%, transparent);
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--c-white) 46%, transparent) 0, transparent 28%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-blue) 12%, transparent) 0, transparent 28%),
    linear-gradient(var(--flow), var(--p-cool-1) 0%, var(--p-cool-2) 46%, var(--p-cool-3) 100%);
}

.trv-final {
  --ink: var(--p-final-ink);
  --ink-soft: var(--p-final-soft);
  --ink-muted: var(--p-final-muted);
  --line: color-mix(in srgb, var(--p-final-ink) 14%, transparent);
  --line-soft: color-mix(in srgb, var(--p-final-ink) 10%, transparent);
  --card: color-mix(in srgb, var(--p-final-2) 88%, var(--p-final-ink) 6%);
  --card-strong: color-mix(in srgb, var(--p-final-3) 82%, var(--p-final-ink) 8%);
  --overlay: color-mix(in srgb, var(--p-final-1) 92%, var(--p-final-ink) 8%);
  --band: linear-gradient(var(--flow), color-mix(in srgb, var(--p-final-1) 94%, var(--p-final-ink) 4%) 0%, color-mix(in srgb, var(--p-final-2) 88%, var(--p-final-ink) 6%) 52%, color-mix(in srgb, var(--p-final-3) 82%, var(--p-final-ink) 8%) 100%);
  --pill: color-mix(in srgb, var(--p-final-ink) 8%, transparent);
  --pill-line: color-mix(in srgb, var(--p-final-ink) 14%, transparent);
  --chip: color-mix(in srgb, var(--p-final-ink) 8%, transparent);
  --chip-line: color-mix(in srgb, var(--p-final-ink) 14%, transparent);
  --mini: color-mix(in srgb, var(--p-final-ink) 8%, transparent);
  --accent: color-mix(in srgb, var(--p-gold) 58%, transparent);
  --shadow: var(--t-shadow-dark);
  background:
    radial-gradient(circle at var(--flow-a) 0%, color-mix(in srgb, var(--p-final-ink) 6%, transparent) 0, transparent 30%),
    radial-gradient(circle at var(--flow-b) 0%, color-mix(in srgb, var(--p-gold) 12%, transparent) 0, transparent 24%),
    radial-gradient(circle at var(--flow-b) 100%, color-mix(in srgb, var(--p-teal) 14%, transparent) 0, transparent 28%),
    linear-gradient(var(--flow), var(--p-final-1) 0%, var(--p-final-2) 46%, var(--p-final-3) 100%);
}

.trv-pill {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin: 0;
  padding: 6px 12px;
  border: 1px solid var(--pill-line);
  border-radius: 999px;
  background: var(--pill);
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.trv-identity .trv-head .trv-pill {
  min-height: 38px;
  padding: 8px 16px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.trv-hero__stage-copy .trv-pill {
  min-height: 30px;
  padding: 5px 10px;
  font-size: 10px;
}

.trv-pill--bar {
  display: flex;
  justify-content: center;
  width: 100%;
  text-align: center;
}

.trv-head {
  min-width: 0;
  max-width: none;
}

.trv-head--wide {
  max-width: 1040px;
}

.trv-title,
.trv-hero__title {
  text-wrap: balance;
}

.trv-title {
  margin: 18px 0 14px;
  color: var(--ink);
  font-size: clamp(29px, 6.9vw, 40px);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -0.045em;
}

.trv-faith .trv-title {
  margin-bottom: 16px;
  line-height: 1.04;
}

.trv-intro {
  max-width: 680px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.74;
}

.trv-axis .trv-intro {
  max-width: 620px;
}

.trv-history .trv-intro {
  max-width: 700px;
}

.trv-routes .trv-intro,
.trv-cuisine .trv-intro,
.trv-seasons .trv-intro,
.trv-summer .trv-intro,
.trv-winter .trv-intro,
.trv-comfort .trv-intro {
  line-height: 1.76;
}

.trv-faith .trv-intro {
  line-height: 1.78;
}

.trv-head--wide .trv-intro {
  max-width: 700px;
}

.trv-identity .trv-head .trv-pill {
  word-spacing: 0.08em;
}

.trv-identity .trv-wrap > * + * {
  margin-top: 22px;
}

.trv-identity .trv-identity__grid {
  gap: 18px;
}

.trv-split,
.trv-main,
.trv-pair,
.trv-axis__top,
.trv-identity__grid,
.trv-final__top {
  display: grid;
  gap: 18px;
}

.trv-final .trv-final__top {
  gap: 20px;
}

.trv-history .trv-split {
  gap: 16px;
}

.trv-faith .trv-split {
  gap: 20px;
}

.trv-stack,
.trv-axis__lead,
.trv-routes__list,
.trv-final__col {
  display: grid;
  gap: 16px;
  align-content: start;
}

.trv-routes__list {
  gap: 18px;
}

.trv-axis__lead {
  gap: 18px;
}

.trv-main,
.trv-stack {
  gap: 18px;
}

.trv-history .trv-main,
.trv-history .trv-stack {
  gap: 16px;
}

.trv-faith .trv-main,
.trv-faith .trv-stack {
  gap: 20px;
}

.trv-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--t-r-lg);
  background: var(--card);
  box-shadow: var(--shadow);
}

.trv-story:not(.trv-identity__stage),
.trv-final .trv-tile {
  border-top-width: 3px;
}

.trv-hero__point,
.trv-hero__stage,
.trv-geo,
.trv-hero__side .trv-card,
.trv-panel,
.trv-story:not(.trv-identity__stage),
.trv-stack > .trv-minis .trv-mini,
.trv-band:not(.trv-band--deep),
.trv-route {
  backdrop-filter: blur(8px);
}

.trv-final__mosaic,
.trv-final__copy,
.trv-final .trv-tile,
.trv-shelf,
.trv-final .trv-band,
.trv-final .trv-mini {
  backdrop-filter: blur(10px);
}

.trv-axis .trv-story--lead {
  border-top-color: var(--p-blue);
}

.trv-axis .trv-story--pair:nth-child(1) {
  border-top-color: var(--p-teal);
}

.trv-axis .trv-story--pair:nth-child(2) {
  border-top-color: var(--p-gold);
}

.trv-axis .trv-story--pair {
  min-height: 100%;
}

.trv-faith .trv-story {
  border-top-color: var(--p-copper);
}

.trv-winter .trv-story {
  border-top-color: var(--p-sky);
}

.trv-photo {
  position: relative;
  overflow: hidden;
  background: color-mix(in srgb, var(--ink) 8%, transparent);
}

.trv-photo__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.trv-photo--pano {
  aspect-ratio: 1414 / 600;
}

.trv-photo--land {
  aspect-ratio: 11 / 6;
}

.trv-photo--video {
  aspect-ratio: 16 / 9;
}

.trv-photo--table {
  aspect-ratio: 1075 / 600;
}

.trv-photo--portrait {
  aspect-ratio: 600 / 1075;
}

.trv-photo--square {
  aspect-ratio: 1 / 1;
}

.trv-panel {
  min-width: 0;
  padding: 18px 16px 16px;
  border: 1px solid var(--line);
  border-radius: var(--t-r-lg);
  background: var(--card);
  box-shadow: var(--shadow);
}

.trv-panel__title {
  margin: calc(20px + var(--t-line)) 0 14px;
  color: var(--ink);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.035em;
}

.trv-sec--dark .trv-panel {
  background: rgba(255, 255, 255, 0.05);
}

.trv-faith .trv-split .trv-panel {
  padding: 20px 16px 18px;
}

.trv-faith .trv-split .trv-panel__title {
  margin-bottom: 16px;
  font-size: 21px;
  line-height: 1.2;
}

.trv-faith .trv-split .trv-minis {
  gap: 14px;
}

.trv-faith .trv-split .trv-mini {
  padding: 16px 16px 15px;
}

.trv-panel__title:has(+ .trv-panel__text) {
  margin-bottom: 10px;
}

.trv-panel__text {
  margin: 0 0 14px;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.82;
}

.trv-comfort .trv-panel__text {
  line-height: 1.84;
}

.trv-note-card {
  padding: 18px 16px;
}

.trv-note-card .trv-panel__title {
  margin: 0 0 8px;
  font-size: 21px;
}

.trv-note-card .trv-panel__text {
  margin-bottom: 14px;
}

.trv-minis {
  display: grid;
  gap: 12px;
}

.trv-mini {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  column-gap: 10px;
  align-content: start;
  padding: 14px 14px 13px;
  border: 1px solid var(--line);
  border-radius: var(--t-r-sm);
  background: var(--mini);
}

.trv-mini--plain {
  grid-template-columns: minmax(0, 1fr);
}

.trv-mini__title {
  grid-column: -2;
  color: var(--ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.035em;
}

.trv-mini__text {
  grid-column: -2;
  margin-top: calc(4px + var(--t-line));
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.58;
}

.trv-split .trv-mini__title,
.trv-wrap > .trv-minis .trv-mini__title {
  line-height: 1.24;
}

.trv-wrap > .trv-minis .trv-mini__title {
  font-size: 16px;
}

.trv-split .trv-mini__text,
.trv-wrap > .trv-minis .trv-mini__text,
.trv-axis__item .trv-mini__text,
.trv-faith .trv-band .trv-mini__text {
  margin-top: calc(5px + var(--t-line));
}

.trv-faith .trv-split .trv-mini__text {
  margin-top: calc(6px + var(--t-line));
}

.trv-faith .trv-split .trv-mini__text,
.trv-faith .trv-band .trv-mini__text {
  line-height: 1.62;
}

.trv-faith .trv-band .trv-mini__title {
  line-height: 1.3;
}

.trv-axis__item .trv-mini__title {
  font-size: 17px;
  line-height: 1.22;
}

.trv-stack > .trv-minis {
  gap: 12px;
}

.trv-faith .trv-stack > .trv-minis {
  gap: 14px;
}

.trv-stack > .trv-minis .trv-mini {
  grid-template-columns: 18px minmax(0, 1fr);
  column-gap: 12px;
  padding: 16px 16px 15px;
  border-radius: var(--t-r-md);
  background: var(--card);
  box-shadow: var(--shadow);
}

.trv-sec--dark .trv-stack > .trv-minis .trv-mini {
  background: var(--mini);
}

.trv-faith .trv-stack > .trv-minis .trv-mini {
  padding-top: 18px;
  padding-bottom: 17px;
}

.trv-stack > .trv-minis .trv-mini__title {
  font-size: 17px;
  line-height: 1.24;
}

.trv-comfort .trv-stack > .trv-minis .trv-mini__title {
  font-size: 15px;
}

.trv-stack > .trv-minis .trv-mini__text {
  margin-top: calc(5px + var(--t-line));
  font-size: 14px;
  line-height: 1.66;
}

.trv-faith .trv-stack > .trv-minis .trv-mini__text {
  margin-top: calc(6px + var(--t-line));
  line-height: 1.68;
}

.trv-final__copy > .trv-minis .trv-mini__title {
  font-size: 16px;
  line-height: 1.24;
}

.trv-final__copy > .trv-minis .trv-mini__text {
  font-size: 14px;
  line-height: 1.58;
}

.trv-glyph {
  display: inline-block;
  grid-row: 1 / span 2;
  align-self: start;
  width: 18px;
  height: 18px;
  color: var(--glyph-ink, var(--c-text));
  opacity: 0.94;
}

.trv-history .trv-glyph,
.trv-faith .trv-glyph {
  opacity: 0.92;
}

.trv-history .trv-wrap > .trv-minis .trv-glyph,
.trv-routes .trv-glyph,
.trv-seasons .trv-split .trv-glyph,
.trv-summer .trv-split .trv-glyph,
.trv-winter .trv-split .trv-glyph,
.trv-comfort .trv-stack > .trv-minis .trv-glyph {
  color: var(--glyph, var(--glyph-ink, var(--c-text)));
}

.trv-tone--gold {
  --glyph: var(--p-gold);
}

.trv-tone--copper {
  --glyph: var(--p-copper);
}

.trv-tone--orange {
  --glyph: var(--p-orange);
}

.trv-tone--stone {
  --glyph: var(--p-stone);
}

.trv-tone--blue {
  --glyph: var(--p-blue);
}

.trv-tone--teal {
  --glyph: var(--p-teal);
}

.trv-tone--green {
  --glyph: var(--p-green);
}

.trv-tone--olive {
  --glyph: var(--p-olive);
}

.trv-tone--sky {
  --glyph: var(--p-sky);
}

.trv-tone--rose {
  --glyph: var(--p-rose);
}

.trv-tone--snow {
  --glyph: var(--p-snow);
}

.trv-routes .trv-glyph--city {
  --glyph: var(--p-route-city, var(--p-blue));
}

.trv-routes .trv-glyph--dream {
  --glyph: var(--p-route-dream, var(--p-rose));
}

.trv-routes .trv-glyph--coast {
  --glyph: var(--p-route-coast, var(--p-teal));
}

.trv-routes .trv-glyph--green {
  --glyph: var(--p-route-green, var(--p-olive));
}

.trv-glyph--columns {
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 18px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 14px / 18px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 2px 3px / 2px 11px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 3px / 2px 11px no-repeat,
    linear-gradient(currentColor, currentColor) 14px 3px / 2px 11px no-repeat;
}

.trv-glyph--dig {
  background:
    radial-gradient(circle at center, transparent 4px, currentColor 4px 5px, transparent 5px),
    linear-gradient(currentColor, currentColor) center 1px / 2px 14px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 7px / 10px 2px no-repeat;
}

.trv-glyph--grid,
.trv-glyph--region {
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 7px 7px no-repeat,
    linear-gradient(currentColor, currentColor) 11px 0 / 7px 7px no-repeat,
    linear-gradient(currentColor, currentColor) 0 11px / 7px 7px no-repeat,
    linear-gradient(currentColor, currentColor) 11px 11px / 7px 7px no-repeat;
}

.trv-glyph--flow,
.trv-glyph--route {
  background:
    radial-gradient(circle, currentColor 60%, transparent 61%) 1px 8px / 4px 4px no-repeat,
    radial-gradient(circle, currentColor 60%, transparent 61%) 8px 1px / 4px 4px no-repeat,
    radial-gradient(circle, currentColor 60%, transparent 61%) 13px 10px / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 9px / 6px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) 9px 4px / 1.5px 7px no-repeat,
    linear-gradient(currentColor, currentColor) 11px 11px / 4px 1.5px no-repeat;
}

.trv-glyph--dome {
  background:
    linear-gradient(currentColor, currentColor) 1px 14px / 16px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 3px / 2px 11px no-repeat,
    radial-gradient(circle at 50% 100%, currentColor 60%, transparent 61%) 2px 4px / 14px 10px no-repeat;
}

.trv-glyph--arch {
  background:
    linear-gradient(currentColor, currentColor) 2px 14px / 14px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 2px 7px / 2px 7px no-repeat,
    linear-gradient(currentColor, currentColor) 14px 7px / 2px 7px no-repeat,
    radial-gradient(circle at 50% 100%, currentColor 55%, transparent 56%) 4px 2px / 10px 8px no-repeat;
}

.trv-glyph--stone {
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 18px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 8px / 18px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 16px / 18px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 5px 2px / 2px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 11px 10px / 2px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 14px 2px / 2px 6px no-repeat;
}

.trv-glyph--skyline,
.trv-glyph--city {
  background:
    linear-gradient(currentColor, currentColor) 0 14px / 18px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 2px 7px / 2px 7px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 2px / 2px 12px no-repeat,
    linear-gradient(currentColor, currentColor) 14px 6px / 2px 8px no-repeat,
    linear-gradient(currentColor, currentColor) 6px 8px / 8px 2px no-repeat;
}

.trv-glyph--dream {
  background:
    radial-gradient(circle at 50% 36%, currentColor 60%, transparent 61%) 3px 1px / 12px 12px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 13px / 2px 3px no-repeat,
    linear-gradient(currentColor, currentColor) 6px 16px / 6px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) 6px 12px / 1.5px 5px no-repeat,
    linear-gradient(currentColor, currentColor) 10.5px 12px / 1.5px 5px no-repeat;
}

.trv-glyph--coast {
  background:
    linear-gradient(currentColor, currentColor) 0 5px / 18px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) 2px 9px / 14px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) 0 13px / 18px 1.5px no-repeat,
    radial-gradient(circle, currentColor 60%, transparent 61%) 12px 0 / 4px 4px no-repeat;
}

.trv-glyph--green {
  background:
    radial-gradient(ellipse at 35% 50%, currentColor 60%, transparent 61%) 2px 4px / 8px 6px no-repeat,
    radial-gradient(ellipse at 65% 50%, currentColor 60%, transparent 61%) 8px 8px / 8px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 10px / 2px 7px no-repeat;
}

.trv-glyph--breakfast {
  background:
    linear-gradient(currentColor, currentColor) 2px 14px / 14px 2px no-repeat,
    radial-gradient(circle at 50% 50%, currentColor 55%, transparent 56%) 5px 3px / 8px 8px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 10px / 2px 4px no-repeat;
}

.trv-glyph--cup,
.trv-glyph--dine {
  background:
    linear-gradient(currentColor, currentColor) 2px 13px / 10px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 2px 6px / 10px 7px no-repeat,
    radial-gradient(circle at 50% 50%, transparent 52%, currentColor 53% 60%, transparent 61%) 10px 7px / 6px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 3px / 1.5px 3px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 2px / 1.5px 4px no-repeat;
}

.trv-glyph--share {
  background:
    linear-gradient(currentColor, currentColor) 1px 9px / 16px 1.5px no-repeat,
    radial-gradient(circle, currentColor 60%, transparent 61%) 0 7px / 4px 4px no-repeat,
    radial-gradient(circle, currentColor 60%, transparent 61%) 7px 0 / 4px 4px no-repeat,
    radial-gradient(circle, currentColor 60%, transparent 61%) 14px 7px / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 8px / 5px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) 9px 4px / 1.5px 5px no-repeat,
    linear-gradient(currentColor, currentColor) 10px 8px / 5px 1.5px no-repeat;
}

.trv-glyph--spring {
  background:
    radial-gradient(ellipse at 50% 50%, currentColor 60%, transparent 61%) 6px 2px / 6px 6px no-repeat,
    radial-gradient(ellipse at 50% 50%, currentColor 60%, transparent 61%) 2px 8px / 6px 6px no-repeat,
    radial-gradient(ellipse at 50% 50%, currentColor 60%, transparent 61%) 10px 8px / 6px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 10px / 2px 8px no-repeat;
}

.trv-glyph--summer {
  background:
    radial-gradient(circle at 50% 50%, currentColor 60%, transparent 61%) 4px 4px / 10px 10px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 0 / 2px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 14px / 2px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 0 8px / 4px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 14px 8px / 4px 2px no-repeat;
}

.trv-glyph--autumn {
  background:
    radial-gradient(ellipse at 50% 50%, currentColor 60%, transparent 61%) 4px 2px / 10px 8px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 10px / 2px 8px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 6px / 10px 1.5px no-repeat;
}

.trv-glyph--winter {
  background:
    linear-gradient(currentColor, currentColor) 8px 0 / 2px 18px no-repeat,
    linear-gradient(currentColor, currentColor) 0 8px / 18px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 2px 2px / 14px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 2px 14px / 14px 2px no-repeat;
}

.trv-glyph--sea {
  background:
    linear-gradient(currentColor, currentColor) 0 5px / 18px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) 2px 9px / 14px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) 0 13px / 18px 1.5px no-repeat;
}

.trv-glyph--marina {
  background:
    linear-gradient(currentColor, currentColor) 2px 14px / 14px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 3px / 2px 11px no-repeat,
    linear-gradient(currentColor, currentColor) 12px 5px / 2px 9px no-repeat,
    linear-gradient(currentColor, currentColor) 6px 6px / 6px 1.5px no-repeat;
}

.trv-glyph--sunset {
  background:
    linear-gradient(currentColor, currentColor) 0 13px / 18px 2px no-repeat,
    radial-gradient(circle at 50% 100%, currentColor 55%, transparent 56%) 4px 3px / 10px 8px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 0 / 2px 4px no-repeat;
}

.trv-glyph--mountain {
  background:
    linear-gradient(currentColor, currentColor) 1px 14px / 16px 2px no-repeat,
    linear-gradient(135deg, transparent 48%, currentColor 49% 51%, transparent 52%) 1px 4px / 8px 10px no-repeat,
    linear-gradient(135deg, transparent 48%, currentColor 49% 51%, transparent 52%) 8px 2px / 9px 12px no-repeat;
}

.trv-glyph--stay {
  background:
    linear-gradient(currentColor, currentColor) 2px 14px / 14px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 9px / 10px 5px no-repeat,
    linear-gradient(135deg, transparent 48%, currentColor 49% 51%, transparent 52%) 3px 3px / 12px 8px no-repeat;
}

.trv-glyph--thermal,
.trv-glyph--rest {
  background:
    radial-gradient(circle at 50% 100%, currentColor 55%, transparent 56%) 4px 8px / 10px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 5px 2px / 1.5px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 9px 1px / 1.5px 7px no-repeat,
    linear-gradient(currentColor, currentColor) 13px 3px / 1.5px 5px no-repeat;
}

.trv-glyph--lights {
  background:
    linear-gradient(currentColor, currentColor) 0 14px / 18px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 3px 8px / 2px 6px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 4px / 2px 10px no-repeat,
    linear-gradient(currentColor, currentColor) 13px 7px / 2px 7px no-repeat,
    radial-gradient(circle, currentColor 60%, transparent 61%) 7px 0 / 4px 4px no-repeat;
}

.trv-glyph--gate {
  background:
    linear-gradient(currentColor, currentColor) 1px 14px / 16px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 3px 5px / 2px 9px no-repeat,
    linear-gradient(currentColor, currentColor) 13px 5px / 2px 9px no-repeat,
    linear-gradient(currentColor, currentColor) 5px 5px / 8px 2px no-repeat;
}

.trv-glyph--air {
  background:
    linear-gradient(currentColor, currentColor) 8px 1px / 2px 16px no-repeat,
    linear-gradient(currentColor, currentColor) 2px 8px / 14px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 5px 4px / 8px 1.5px no-repeat;
}

.trv-glyph--terminal {
  background:
    linear-gradient(currentColor, currentColor) 1px 14px / 16px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 3px 3px / 12px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 6px / 2px 8px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 6px / 2px 8px no-repeat,
    linear-gradient(currentColor, currentColor) 12px 6px / 2px 8px no-repeat;
}

.trv-glyph--bed {
  background:
    linear-gradient(currentColor, currentColor) 1px 13px / 16px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 1px 7px / 2px 8px no-repeat,
    linear-gradient(currentColor, currentColor) 4px 8px / 10px 5px no-repeat,
    linear-gradient(currentColor, currentColor) 14px 9px / 2px 4px no-repeat;
}

.trv-glyph--start {
  background:
    radial-gradient(circle, currentColor 60%, transparent 61%) 1px 7px / 4px 4px no-repeat,
    linear-gradient(currentColor, currentColor) 5px 8px / 10px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) 12px 5px / 1.5px 7px no-repeat;
}

.trv-glyph--finish {
  background:
    linear-gradient(currentColor, currentColor) 3px 2px / 2px 14px no-repeat,
    linear-gradient(currentColor, currentColor) 8px 2px / 2px 14px no-repeat,
    linear-gradient(currentColor, currentColor) 3px 3px / 8px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 3px 14px / 8px 2px no-repeat,
    linear-gradient(currentColor, currentColor) 11px 4px / 5px 5px no-repeat;
}

.trv-story {
  display: flex;
  flex-direction: column;
}

.trv-story__body {
  padding: 18px 16px 20px;
}

.trv-story--side .trv-story__body,
.trv-story--pair .trv-story__body {
  padding: 16px 16px 18px;
}

.trv-faith .trv-story--lead .trv-story__body {
  padding: 20px 16px 22px;
}

.trv-faith .trv-story--side .trv-story__body,
.trv-season .trv-story__body {
  padding: 18px 16px 20px;
}

.trv-season .trv-story__title {
  margin-top: 8px;
}

.trv-story__title {
  margin: 10px 0;
  color: var(--ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.035em;
}

.trv-story--lead .trv-story__title,
.trv-route .trv-story__title,
.trv-season .trv-story__title {
  line-height: 1.12;
}

.trv-faith .trv-story--lead .trv-story__title {
  line-height: 1.14;
}

.trv-faith .trv-story--side .trv-story__title {
  line-height: 1.15;
}

.trv-story__sub {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}

.trv-story__body > p:not(.trv-pill):not(.trv-story__sub),
.trv-route__copy > p:not(.trv-pill):not(.trv-story__sub) {
  margin: 0 0 10px;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.84;
}

.trv-sec .trv-story__body > p:not(.trv-pill):not(.trv-story__sub):last-child,
.trv-sec .trv-route__copy > p:not(.trv-pill):not(.trv-story__sub):last-child {
  margin-bottom: 0;
}

.trv-identity__stage .trv-story__body > p:not(.trv-pill):not(.trv-story__sub) {
  font-size: 15px;
  line-height: 1.72;
}

.trv-axis .trv-story__body > p:not(.trv-pill):not(.trv-story__sub),
.trv-axis .trv-band__copy p {
  line-height: 1.8;
}

.trv-history .trv-story__body > p:not(.trv-pill):not(.trv-story__sub),
.trv-history .trv-band__copy p,
.trv-final .trv-band__copy p,
.trv-seasons .trv-story__body > p:not(.trv-pill):not(.trv-story__sub),
.trv-seasons .trv-band__copy p {
  line-height: 1.82;
}

.trv-faith .trv-story__body > p:not(.trv-pill):not(.trv-story__sub),
.trv-faith .trv-band__copy p {
  line-height: 1.9;
}

.trv-faith .trv-story__title {
  margin: 12px 0;
}

.trv-faith .trv-story__body > p:not(.trv-pill):not(.trv-story__sub) {
  margin-bottom: 12px;
}

.trv-faith .trv-story .trv-tags {
  margin-top: 16px;
}

.trv-faith .trv-band {
  padding: 20px 16px;
}

.trv-faith .trv-band > .trv-minis .trv-mini {
  padding-block: 16px 15px;
}

.trv-wrap > .trv-minis {
  gap: 12px;
}

.trv-wrap > .trv-minis .trv-mini {
  padding: 15px 16px 14px;
}

.trv-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.trv-tags li {
  display: flex;
  align-items: center;
  min-height: 36px;
  margin: 0;
  padding: 7px 13px;
  border: 1px solid var(--chip-line);
  border-radius: 999px;
  background: var(--chip);
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.34;
}

.trv-manifesto .trv-tags {
  gap: 12px;
}

.trv .trv-tags .trv-tags__sep,
.trv .trv-tile__points .trv-tags__sep {
  width: 0;
  height: var(--t-line);
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
}

.trv-manifesto .trv-tags {
  margin-top: 16px;
}

.trv-identity__stage .trv-story__title {
  margin: calc(16px + var(--t-line)) 0 8px;
}

.trv-identity__stage .trv-tags {
  margin-top: 10px;
}

.trv-identity__stage .trv-photo {
  aspect-ratio: 620 / 339;
}

.trv-identity__stage .trv-story__body {
  background: linear-gradient(180deg, var(--surface-1) 0%, var(--surface-2) 100%);
}

.trv-manifesto .trv-tags li,
.trv-final__chips li {
  min-height: 40px;
  padding: 8px 14px;
  font-size: 14px;
}

.trv-final__chips li {
  min-height: 38px;
}

.trv-band {
  display: grid;
  gap: 16px;
  padding: 18px 16px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  border-radius: var(--t-r-lg);
  background: var(--card);
  box-shadow: var(--shadow);
}

.trv-band__title {
  margin: 0 0 6px;
  color: var(--ink);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.035em;
}

.trv-faith .trv-band__title,
.trv-routes .trv-band__title {
  margin-bottom: 8px;
  font-size: 21px;
  line-height: 1.2;
}

.trv-final .trv-band__title {
  margin-bottom: 10px;
  font-size: 22px;
  line-height: 1.14;
}

.trv-band > .trv-minis {
  gap: 12px;
}

.trv-faith .trv-band > .trv-minis {
  gap: 14px;
}

.trv-band > .trv-minis .trv-mini {
  padding-inline: 14px;
}

.trv-faith .trv-band > .trv-minis .trv-mini,
.trv-final .trv-band > .trv-minis .trv-mini {
  padding-inline: 16px;
}

.trv-final .trv-band {
  padding: 20px 16px;
  background: var(--band);
}

.trv-band__copy p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.84;
}

.trv-band--deep {
  --ink: var(--p-dark-ink);
  --ink-soft: var(--p-dark-ink);
  --line: color-mix(in srgb, var(--p-dark-ink) 12%, transparent);
  --mini: rgba(255, 255, 255, 0.05);
  --glyph: var(--p-dark-ink);
  border: 0;
  background: linear-gradient(var(--flow), var(--p-band-1) 0%, var(--deep-2, var(--p-band-2)) 54%, var(--deep-3, var(--p-band-3)) 100%);
}

.trv[data-hero="1b"] .trv-band--deep,
.trv[data-hero="1c"] .trv-band--deep,
.trv[data-hero="1d"] .trv-band--deep,
.trv[data-hero="1e"] .trv-band--deep,
.trv[data-hero="1f"] .trv-band--deep,
.trv[data-hero="1g"] .trv-band--deep,
.trv[data-hero="1h"] .trv-band--deep {
  --deep-2: color-mix(in srgb, var(--p-band-2) 70%, #000);
  --deep-3: color-mix(in srgb, var(--p-band-3) 55%, #000);
}

.trv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 22px 0 18px;
}

.trv-btn {
  display: inline-flex;
  flex: 1 1 100%;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 28px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-align: center;
  text-transform: uppercase;
  transition: background-color 0.2s, border-color 0.2s, transform 0.2s;
}

.trv-btn:hover {
  transform: translateY(-1px);
}

.trv-btn:focus-visible {
  outline: 2px solid var(--c-focus);
  outline-offset: 3px;
}

.trv-btn--gold,
.trv-btn--gold:hover {
  border-width: 1px;
  border-color: var(--p-gold);
  background: linear-gradient(135deg, var(--p-gold) 0%, var(--p-gold-soft) 100%);
  color: var(--p-contrast);
}

.trv-btn--gold:hover {
  border-color: var(--p-gold-hover);
  background: linear-gradient(135deg, var(--p-gold-hover) 0%, var(--p-gold-soft-hover) 100%);
}

.trv-btn--ghost,
.trv-btn--ghost:hover {
  border-color: color-mix(in srgb, var(--ink) 28%, transparent);
  background: transparent;
  color: var(--ink);
}

.trv-btn--ghost:hover {
  border-color: color-mix(in srgb, var(--ink) 40%, transparent);
  background: color-mix(in srgb, var(--ink) 8%, transparent);
}

.trv-hero__grid {
  display: grid;
  gap: 18px;
}

.trv-hero__media,
.trv-hero__side {
  display: grid;
  gap: 18px;
  align-content: start;
}

.trv-hero__media {
  min-width: 0;
  align-items: start;
}

.trv-hero__title {
  margin: 18px 0 16px;
  color: var(--ink);
  font-size: clamp(30px, 7vw, 42px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.048em;
}

.trv-hero__lead {
  max-inline-size: 45ch;
  margin: 0 0 14px;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.74;
}

.trv-hero__text {
  max-inline-size: 60ch;
  margin: 0 0 12px;
  color: var(--ink-muted);
  font-size: 16px;
  line-height: 1.82;
}

.trv-hero .trv-actions {
  gap: calc(28px + var(--t-line)) 28px;
  margin-top: 28px;
}

.trv-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.trv-chips li {
  display: inline-flex;
  flex: 1 1 100%;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 40px;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--chip-line);
  border-radius: 999px;
  background: var(--chip);
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.trv-chips .trv-chips__sep {
  flex: 0 0 auto;
  width: 0;
  height: var(--t-line);
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
}

.trv-chips__icon {
  display: inline-flex;
  flex: 0 0 18px;
  align-items: center;
  justify-content: center;
  height: 18px;
  color: var(--p-gold-soft);
  font-size: 12px;
}

.trv:is([data-hero="1b"], [data-hero="1c"], [data-hero="1e"], [data-hero="1f"], [data-hero="1h"]) .trv-chips__icon {
  color: var(--p-gold);
}

.trv-hero__note {
  margin-top: 18px;
  padding: 18px 16px;
  border-inline-start: 3px solid var(--p-gold);
  border-start-end-radius: var(--t-r-sm);
  border-end-end-radius: var(--t-r-sm);
  background: var(--chip);
}

.trv-hero__note strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.36;
  letter-spacing: -0.035em;
}

.trv-hero__note p {
  margin: 0;
  color: color-mix(in srgb, var(--ink) 94%, transparent);
  font-size: 15px;
  line-height: 1.72;
}

.trv-hero__points {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.trv-hero__point {
  padding: 16px 16px 15px;
  border: 1px solid var(--line);
  border-radius: var(--t-r-md);
  background: var(--card);
  box-shadow: var(--shadow);
}

.trv-hero__point-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: var(--t-line);
  margin: 0 0 6px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.22;
}

.trv-hero__point-head .trv-chips__icon {
  display: inline-flex;
  flex: 0 0 18px;
  justify-content: center;
  margin-inline-end: 10px;
  font-weight: 400;
  line-height: 1.6;
}

.trv-hero__point-head strong {
  letter-spacing: -0.035em;
}

.trv-hero__point > p:last-child {
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.66;
}

.trv-hero__stage {
  background: var(--p-hero-stage);
}

.trv-hero__stage-copy {
  padding: 18px 16px 20px;
  border-top: 1px solid var(--p-hero-divider);
  background: var(--p-hero-stage-copy);
}

.trv-hero__card-title {
  display: block;
  margin: 0 0 calc(6px + var(--t-line));
  color: var(--ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.035em;
}

.trv-hero__stage-copy .trv-hero__card-title {
  margin: calc(16px + var(--t-line)) 0;
  font-size: 20px;
  line-height: 1.14;
}

.trv-hero__stage-copy p:last-child,
.trv-hero__aside-copy p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.68;
}

.trv-hero__stage-copy p:last-child {
  font-size: 15px;
  line-height: 1.72;
}

.trv-hero__aside-copy {
  padding: 16px 16px 18px;
}

.trv-geo {
  padding: 20px 16px;
}

.trv-geo__title {
  margin: 10px 0 14px;
  color: var(--ink);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.035em;
}

.trv-geo__flow {
  display: flow-root;
}

.trv-geo__map {
  width: min(220px, 100%);
  margin: 0 auto 28px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--t-r-sm);
  background: var(--mini);
}

.trv-geo__map img {
  display: block;
  width: 100%;
  height: auto;
}

.trv-geo__flow p {
  margin: 0;
  color: color-mix(in srgb, var(--ink) 94%, transparent);
  font-size: 15px;
  line-height: 1.74;
}

.trv-geo__grid {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.trv-geo__item {
  padding: 14px 14px 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--mini);
}

.trv-geo__item strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.36;
  letter-spacing: -0.035em;
}

.trv-geo__item span {
  display: block;
  margin-top: calc(4px + var(--t-line));
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.58;
}

.trv-manifesto {
  --ink: var(--c-white);
  --ink-soft: color-mix(in srgb, var(--c-white) 84%, transparent);
  --pill: color-mix(in srgb, var(--c-white) 10%, transparent);
  --pill-line: color-mix(in srgb, var(--c-white) 16%, transparent);
  --chip: color-mix(in srgb, var(--c-white) 10%, transparent);
  --chip-line: color-mix(in srgb, var(--c-white) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--c-white) 16%, transparent);
  border-radius: var(--t-r-lg);
  background: linear-gradient(135deg, var(--p-man-1) 0%, var(--p-man-2) 100%);
  box-shadow: var(--t-shadow-dark);
  color: var(--ink-soft);
  padding: 28px 16px 26px;
}

.trv-manifesto__title {
  margin: 12px 0 14px;
  color: var(--ink);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.trv-manifesto > p:not(.trv-pill) {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.82;
}

.trv[data-palette="cobalt"] .trv-manifesto {
  --ink-soft: color-mix(in srgb, var(--c-white) 92%, transparent);
}

.trv-manifesto__notes {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.trv-manifesto__note {
  padding: 16px 16px 15px;
  border: 1px solid color-mix(in srgb, var(--c-white) 14%, transparent);
  border-radius: var(--t-r-sm);
  background: color-mix(in srgb, var(--c-white) 8%, transparent);
}

.trv-manifesto__note strong {
  display: block;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.22;
  letter-spacing: -0.035em;
}

.trv-manifesto__note span {
  display: block;
  margin-top: calc(6px + var(--t-line));
  font-size: 14px;
  line-height: 1.66;
}

.trv-identity__stage {
  --ink: var(--surface-ink);
  --ink-soft: var(--surface-soft);
  --line: var(--surface-line);
  --card: var(--surface-1);
  --pill: color-mix(in srgb, var(--surface-ink) 5%, var(--surface-1) 95%);
  --pill-line: var(--surface-line);
  --chip: color-mix(in srgb, var(--surface-ink) 5%, transparent);
  --chip-line: color-mix(in srgb, var(--surface-ink) 10%, transparent);
  background: linear-gradient(180deg, var(--surface-1) 0%, var(--surface-2) 100%);
}

.trv-identity__cards {
  display: grid;
  gap: 14px;
}

.trv-num {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  padding: 18px 16px 16px;
  border: 1px solid var(--surface-line);
  border-radius: var(--t-r-md);
  background: linear-gradient(180deg, color-mix(in srgb, var(--tone) 18%, var(--surface-2) 82%) 0%, var(--surface-1) 100%);
  box-shadow: var(--t-shadow);
}

.trv-num--green {
  --tone: var(--p-green);
}

.trv-num--blue {
  --tone: var(--p-blue);
}

.trv-num--gold {
  --tone: var(--p-gold);
  background: linear-gradient(180deg, color-mix(in srgb, var(--tone) 20%, var(--surface-2) 80%) 0%, var(--surface-1) 100%);
}

.trv-num--orange {
  --tone: var(--p-orange);
}

.trv-num__no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--tone) 22%, transparent);
  color: color-mix(in srgb, var(--tone) 36%, var(--surface-ink) 64%);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.trv-num__title {
  margin: 0 0 6px;
  color: var(--surface-ink);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -0.035em;
}

.trv-num p {
  margin: 0;
  color: var(--surface-soft);
  font-size: 14px;
  line-height: 1.68;
}

.trv-axis__list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.trv-axis__item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap: 10px;
  margin: 0;
  padding: 14px 14px 13px;
  border: 1px solid var(--line-soft);
  border-radius: var(--t-r-sm);
  background: var(--chip);
}

.trv-axis__item--city {
  --tone: var(--p-blue);
}

.trv-axis__item--coast {
  --tone: var(--p-teal);
}

.trv-axis__item--table {
  --tone: var(--p-gold);
}

.trv-axis__no {
  display: inline-flex;
  grid-row: 1 / span 2;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: color-mix(in srgb, var(--tone) 32%, transparent);
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}

.trv-route-tone--city {
  --tone: var(--p-route-city, var(--p-blue));
}

.trv-route-tone--dream {
  --tone: var(--p-route-dream, var(--p-rose));
}

.trv-route-tone--coast {
  --tone: var(--p-route-coast, var(--p-teal));
}

.trv-route-tone--green {
  --tone: var(--p-route-green, var(--p-olive));
}

.trv-routes__map {
  background: linear-gradient(var(--flow), color-mix(in srgb, var(--c-white) 84%, var(--p-light-1) 16%) 0%, color-mix(in srgb, var(--c-white) 70%, var(--p-light-2) 30%) 100%);
}

.trv-routes__map .trv-mini {
  --glyph: color-mix(in srgb, var(--tone) 70%, var(--ink) 30%);
  background: linear-gradient(var(--flow), color-mix(in srgb, var(--tone) 24%, var(--card-strong) 76%) 0%, color-mix(in srgb, var(--tone) 8%, var(--card) 92%) 100%);
}

.trv-route {
  display: grid;
  gap: 18px;
  padding: 18px 16px;
  border: 1px solid color-mix(in srgb, var(--p-light-ink) 10%, transparent);
  border-top-width: 3px;
  border-radius: var(--t-r-xl);
  background: linear-gradient(var(--flow), color-mix(in srgb, var(--tone) 38%, var(--card-strong) 62%) 0%, color-mix(in srgb, var(--tone) 16%, var(--card) 84%) 100%);
  box-shadow: var(--t-shadow-route);
}

.trv-route .trv-photo {
  border-radius: var(--t-r-sm);
}

.trv-route__copy {
  padding: 18px 18px 20px;
  border: 1px solid color-mix(in srgb, var(--p-light-ink) 12%, transparent);
  border-radius: var(--t-r-lg);
  background: linear-gradient(var(--flow), color-mix(in srgb, var(--c-white) 72%, var(--tone) 28%) 0%, color-mix(in srgb, var(--c-white) 90%, var(--tone) 10%) 100%);
  box-shadow: var(--t-shadow-route-copy);
}

.trv-route__copy > p:not(.trv-pill):not(.trv-story__sub) {
  color: color-mix(in srgb, var(--p-light-ink) 86%, var(--p-light-3) 14%);
}

.trv-season {
  border-top-color: var(--tone);
}

.trv-season--spring {
  --tone: var(--p-green);
}

.trv-season--summer {
  --tone: var(--p-gold);
}

.trv-season--autumn {
  --tone: var(--p-orange);
}

.trv-season--winter {
  --tone: var(--p-sky);
}

.trv-final__copy {
  order: -1;
  padding: 28px 16px 24px;
  border: 1px solid var(--line);
  border-radius: var(--t-r-xl);
  background: var(--band);
  box-shadow: var(--shadow);
  color: var(--ink-soft);
}

.trv-final__lead {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.76;
}

.trv-final__copy > p:not(.trv-pill):not(.trv-final__lead) {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.82;
}

.trv-final .trv-final__chips {
  margin: 18px 0;
}

.trv-final__copy > .trv-minis .trv-mini {
  padding: 15px 16px 14px;
}

.trv-final .trv-mini {
  box-shadow: var(--shadow);
}

.trv-final__chips li {
  flex: 1 1 100%;
  justify-content: center;
  text-align: center;
}

.trv-final__copy .trv-actions {
  gap: calc(28px + var(--t-line)) 28px;
  margin: 18px 0 0;
}

.trv-final__mosaic {
  display: grid;
  gap: 16px;
  border: 1px solid var(--line);
  background: var(--card);
  box-shadow: var(--shadow);
}

.trv-tile {
  display: flex;
  flex-direction: column;
}

.trv-final__col:first-child > .trv-tile:first-child,
.trv-shelf .trv-tile {
  background: var(--card-strong);
}

.trv-final__col:first-child > .trv-tile:first-child {
  box-shadow: 0 30px 82px rgba(8, 10, 14, 0.24);
}

.trv-tile__copy {
  display: grid;
  flex: 1;
  grid-template-rows: auto minmax(var(--t-line), auto) auto auto;
  row-gap: 8px;
  padding: 16px 16px 18px;
  border-top: 1px solid var(--line-soft);
  background: var(--overlay);
}

.trv-final__mosaic .trv-tile__copy {
  grid-template-rows: auto minmax(var(--t-line), auto) auto minmax(var(--t-line), auto) auto;
}

.trv-tile__copy > .trv-pill {
  grid-row: 1;
}

.trv-tile__copy > .trv-tile__title {
  grid-row: 3;
}

.trv-tile__copy > p:not(.trv-pill) {
  grid-row: 4;
}

.trv-final__mosaic .trv-tile__copy > p:not(.trv-pill) {
  grid-row: 5;
}

.trv-tile__copy > .trv-tile__title:first-child {
  grid-row: 1;
}

.trv-tile__copy > .trv-tile__title:first-child ~ p {
  grid-row: 3;
}

.trv-shelf__atlas .trv-tile__copy {
  grid-template-rows: auto minmax(var(--t-line), auto) auto;
  align-content: start;
}

.trv-tile__copy > .trv-tile__points {
  grid-row: 4;
}

.trv-tile__title {
  display: block;
  margin: 0;
  color: var(--ink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.035em;
}

@media (max-width: 899px) {
  .trv-final__mosaic .trv-tile__title {
    text-wrap: balance;
  }
}

.trv-final__col:first-child > .trv-tile:first-child .trv-tile__title {
  font-size: 22px;
  line-height: 1.14;
}

.trv-tile__copy > p:not(.trv-pill) {
  margin: 0;
  color: var(--ink-muted);
  font-size: 14px;
  line-height: 1.68;
}

.trv-final__mosaic .trv-tile__copy > p:not(.trv-pill),
.trv-shelf__quad .trv-tile__copy > p:not(.trv-pill),
.trv-shelf__duo .trv-tile__copy > p:not(.trv-pill) {
  font-size: 16px;
  line-height: 1.68;
}

.trv-tile__points {
  display: grid;
  gap: 10px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.trv-tile__points li {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--chip-line);
  border-radius: 12px;
  background: var(--chip);
  color: var(--ink-muted);
  font-size: 13px;
  line-height: 1.56;
}

.trv-shelf {
  padding: 20px 16px;
  border: 1px solid var(--line);
  border-radius: var(--t-r-xl);
  background: var(--band);
  box-shadow: var(--shadow);
}

.trv-shelf__title {
  margin: calc(16px + var(--t-line)) 0 8px;
  color: var(--ink);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.035em;
}

.trv-shelf__text {
  max-width: 666px;
  margin: 0 0 16px;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.74;
}

.trv-shelf__quad,
.trv-shelf__duo,
.trv-shelf__atlas {
  display: grid;
  gap: 18px;
}

.trv-shelf__duo {
  margin-top: 18px;
}

.trv-empty {
  padding: 40px 0;
}

@media (min-width: 550px) {
  .trv-wrap {
    padding: 0 35px;
  }

  .trv-final .trv-wrap {
    padding: 0 29px;
  }

  .trv-faith {
    padding: 82px 0 24px;
  }

  .trv-faith .trv-wrap > * + * {
    margin-top: 18px;
  }

  .trv-hero__note {
    padding-inline: 20px;
  }

  .trv-hero__stage-copy {
    padding-inline: 20px;
  }

  .trv-geo {
    padding: 20px;
  }

  .trv-hero__points,
  .trv-geo__grid,
  .trv-manifesto__notes,
  .trv-identity__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trv-num {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding-inline: 18px;
  }

  .trv-num__no {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: 15px;
  }

  .trv-manifesto__title {
    font-size: clamp(29px, 2.2vw, 40px);
  }

  .trv-identity__stage .trv-story__title {
    font-size: 25px;
  }

  .trv-comfort .trv-stack > .trv-minis .trv-mini__title {
    font-size: 17px;
  }

  .trv-split .trv-mini__title {
    font-size: 16px;
  }

  .trv-axis__item .trv-mini__title {
    font-size: 18px;
  }

  .trv-faith .trv-stack > .trv-minis .trv-mini {
    padding-inline: 18px;
  }

  .trv-axis__item {
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 12px;
  }

  .trv-axis__no {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    font-size: 12px;
  }

  .trv-hero__stage-copy .trv-hero__card-title {
    font-size: 24px;
  }

  .trv-band {
    padding-inline: 18px;
  }

  .trv-faith .trv-band {
    padding-inline: 20px;
  }

  .trv-panel {
    padding: 18px 18px 16px;
  }

  .trv-faith .trv-split .trv-panel {
    padding: 20px 20px 18px;
  }

  .trv-note-card {
    padding: 18px;
  }

  .trv-story__body {
    padding: 18px 20px 20px;
  }

  .trv-story--side .trv-story__body,
  .trv-story--pair .trv-story__body {
    padding: 16px 18px 18px;
  }

  .trv-faith .trv-story--lead .trv-story__body {
    padding: 20px 22px 22px;
  }

  .trv-faith .trv-story--side .trv-story__body,
  .trv-season .trv-story__body {
    padding: 18px 20px 20px;
  }

  .trv-manifesto {
    padding-inline: 28px;
  }

  .trv-wrap > .trv-minis .trv-mini {
    column-gap: 12px;
  }

  .trv-route {
    padding: 18px;
  }

  .trv-btn {
    font-size: 18.4px;
  }

  .trv-geo__title {
    font-size: 24px;
  }

  .trv-story--lead .trv-story__title,
  .trv-route .trv-story__title {
    font-size: 28px;
  }

  .trv-story--side .trv-story__title {
    font-size: 23px;
  }

  .trv-faith .trv-story--side .trv-story__title,
  .trv-story--pair .trv-story__title {
    font-size: 24px;
  }

  .trv-season .trv-story__title {
    font-size: 26px;
  }
}

@media (min-width: 580px) {
  .trv-final .trv-wrap {
    padding: 0 35px;
  }

  .trv-final__chips li {
    flex: 0 1 auto;
  }

  .trv-final__copy,
  .trv-shelf {
    padding-inline: 24px;
  }

  .trv-tile__copy {
    padding-inline: 18px;
  }

  .trv-final__copy > .trv-minis .trv-mini {
    padding-inline: 15px;
  }

  .trv-tile__title {
    font-size: 19px;
  }

  .trv-final__col:first-child > .trv-tile:first-child .trv-tile__title {
    font-size: 24px;
  }

  .trv-final .trv-band {
    padding-inline: 24px;
  }

  .trv-final .trv-band > .trv-minis .trv-mini {
    padding-inline: 14px;
  }

  .trv-final .trv-band__title {
    font-size: 28px;
  }
}

@media (min-width: 700px) {
  .trv-minis--2,
  .trv-minis--3,
  .trv-minis--4,
  .trv-pair,
  .trv-hero__side,
  .trv-shelf__atlas {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trv-pair,
  .trv-hero__side {
    align-items: start;
  }
}

@media (min-width: 700px) and (max-width: 899px) {
  .trv-final .trv-minis {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (min-width: 700px) and (max-width: 959px) {
  .trv-note-card .trv-minis {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (min-width: 700px) and (max-width: 1279px) {
  .trv-tile--wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 849px) {
  .trv-identity .trv-title {
    font-size: clamp(28px, 6.8vw, 40px);
  }
}

@media (min-width: 850px) {
  .trv-wrap,
  .trv-final .trv-wrap {
    padding: 0 calc(30px + clamp(18px, 2.2vw, 36px));
  }

  .trv-faith {
    padding: 30px 0;
  }

  .trv-faith .trv-wrap > * + * {
    margin-top: 20px;
  }

  .trv-title {
    font-size: clamp(31px, 2.7vw, 44px);
  }

  .trv-identity .trv-title {
    font-size: clamp(30px, 2.7vw, 44px);
  }

  .trv-intro {
    font-size: 18px;
  }

  .trv-faith .trv-intro {
    line-height: 1.82;
  }

  .trv-hero__title {
    font-size: clamp(34px, 2.8vw, 50px);
  }

  .trv-hero__lead {
    font-size: 19px;
  }

  .trv-btn {
    flex: 0 0 auto;
  }

  .trv-hero .trv-actions {
    row-gap: 12px;
  }

  .trv-chips li {
    flex: 0 1 auto;
    justify-content: flex-start;
  }

  .trv-shelf__text {
    font-size: 15px;
  }

  .trv-minis--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .trv-final__mosaic .trv-tile__copy > p:not(.trv-pill),
  .trv-shelf__quad .trv-tile__copy > p:not(.trv-pill),
  .trv-shelf__duo .trv-tile__copy > p:not(.trv-pill) {
    font-size: 14px;
    line-height: 1.68;
  }

  .trv-final__lead {
    font-size: 18px;
  }
}

@media (min-width: 850px) and (max-width: 899px) {
  .trv-routes .trv-wrap {
    padding: 0 50px;
  }

  .trv-routes .trv-title {
    font-size: clamp(29px, 6.9vw, 40px);
  }

  .trv-routes .trv-intro {
    font-size: 17px;
  }
}

@media (min-width: 850px) and (max-width: 1279px) {
  .trv-geo__map {
    margin-bottom: 14px;
  }
}

@media (min-width: 900px) {
  .trv-final__mosaic,
  .trv-final__col {
    gap: 18px;
  }

  .trv-route {
    grid-template-columns: minmax(340px, 0.92fr) minmax(0, 1.08fr);
    gap: 18px;
    align-items: start;
    padding: 18px;
  }

  .trv-route--flip {
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  }

  .trv-route--flip .trv-photo {
    order: 2;
  }

  .trv-shelf__quad {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) and (max-width: 1099px) {
  .trv-history .trv-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}

@media (min-width: 1100px) {
  .trv-split {
    grid-template-columns: minmax(0, 662fr) minmax(0, 636fr);
    gap: 18px;
    align-items: start;
  }

  .trv-main {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    align-items: start;
  }

  .trv-final .trv-band,
  .trv-shelf {
    padding-inline: 20px;
  }

  .trv-final__copy {
    padding-inline: 28px;
  }

  .trv-final .trv-title {
    font-size: clamp(34px, 2.95vw, 52px);
  }

  .trv-identity__grid {
    grid-template-columns: minmax(0, 662.312fr) minmax(0, 636.344fr);
  }

  .trv-axis__top {
    grid-template-columns: minmax(0, 570fr) minmax(0, 726fr);
    align-items: start;
  }
}

@media (min-width: 1280px) {
  .trv-hero__grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: start;
  }

  .trv-hero__media {
    grid-template-columns: minmax(0, 1.08fr) minmax(260px, 0.92fr);
  }

  .trv-hero__side {
    grid-template-columns: minmax(0, 1fr);
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .trv-geo__map {
    float: inline-start;
    width: 40%;
    margin-block: 0 14px;
    margin-inline: 0 18px;
  }

  .trv-geo__grid {
    margin-top: 14px;
  }

  .trv-final__top {
    grid-template-columns: minmax(0, 582fr) minmax(0, 712fr);
    gap: 22px;
    align-items: start;
  }

  .trv-final__copy {
    order: 0;
  }

  .trv-final__mosaic {
    grid-template-columns: minmax(0, 1fr) 280px;
    align-items: start;
  }

  .trv-final__col {
    display: contents;
  }

  .trv-final__col:first-child > .trv-tile {
    grid-column: 1;
  }

  .trv-final__col:last-child > .trv-tile {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .trv-shelf__duo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trv-shelf__quad {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .trv-shelf__atlas {
    grid-template-columns: minmax(0, 362.062fr) minmax(0, 362.062fr) minmax(0, 514.531fr);
  }

  .trv-final .trv-band {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
  }
}

@media (min-width: 1300px) {
  .trv-title,
  .trv-identity .trv-title {
    font-size: clamp(34px, 2.95vw, 52px);
  }

  .trv-band {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    align-items: start;
  }

  .trv-axis .trv-band,
  .trv-history .trv-band,
  .trv-faith .trv-band {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  }

  .trv-minis--4,
  .trv-identity__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1350px) {
  .trv-hero__title {
    font-size: clamp(38px, 3.1vw, 58px);
  }

  .trv-hero__media {
    grid-template-columns: minmax(0, 1.18fr) minmax(280px, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .trv-btn {
    transition: none;
  }

  .trv-btn:hover {
    transform: none;
  }
}

.trv-panel__title,
.trv-mini__title,
.trv-story__title,
.trv-band__title,
.trv-geo__title,
.trv-manifesto__title,
.trv-num__title {
  text-wrap: balance;
}
