/* Route-only iteration; shared proposals stay unchanged. Tokens from ../assets/styles.css. */
.route .brand-logo { display: block; flex: 0 0 auto; padding-block: var(--exca-space-2); background: transparent; line-height: 0; }
.brand-logo img { display: block; width: 120px; height: auto; }
.brand-surface .languages button[aria-pressed=true] { color: var(--exca-navy); border-color: var(--exca-navy); }
.brand-logo-footer { width: fit-content; margin-bottom: var(--exca-space-6); }
.brand-logo-footer img { width: 184px; }
.route .hero.route-identity { display: block; position: relative; isolation: isolate; padding-block: var(--exca-space-16); overflow: hidden; }
.hero-media { position: absolute; inset: 0; z-index: -2; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.route-identity::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--exca-navy) 0%, color-mix(in srgb, var(--exca-navy) 94%, transparent) 28%, color-mix(in srgb, var(--exca-navy) 75%, transparent) 46%, transparent 76%); }
.hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.identity-eyebrow { color: var(--exca-gold); margin-bottom: var(--exca-space-6); font-size: var(--exca-text-body); }
.route .route-identity .identity-name { font-size: clamp(4rem, 7vw, 7rem); }
.route .route-identity .identity-ambition, .route .route-identity .formation { color: var(--exca-ivory); }
.route .route-identity .lead { color: var(--exca-ivory); }
.identity-heading { grid-column: 1/-1; display: flex; align-items: center; gap: 32px; }
.identity-heading p { color: var(--exca-gold); font: 500 clamp(2rem, 3.5vw, 3.5rem)/1.1 var(--exca-font-display); }
.identity-heading span { flex: 1; height: 1px; background: var(--exca-rule); position: relative; }
.identity-heading span::before { content: ''; width: 5px; height: 5px; background: var(--exca-gold); position: absolute; top: -2px; transform: rotate(45deg); }
.route .hero .identity-name { color: var(--exca-ivory); font-size: clamp(4rem, 7vw, 7rem); letter-spacing: .025em; line-height: 1; max-width: none; white-space: nowrap; }
.identity-name span { font: 400 .18em/1 var(--exca-font-body); letter-spacing: .1em; vertical-align: baseline; }
.route .route-identity .lead { max-width: 49ch; margin-top: 32px; font-size: clamp(1.125rem, 1.2vw, 1.25rem); }
.identity-ambition { margin-top: 20px; max-width: 53ch; color: var(--exca-text-muted); }
.route-identity .formation { margin-top: 32px; max-width: 63ch; }
.chile-figure { position: relative; height: 570px; display: flex; align-items: center; justify-content: center; }
.chile-figure img { display: block; width: 100%; height: 100%; object-fit: contain; }
.chile-figure span { position: absolute; right: 8%; top: 48%; font: 500 2rem var(--exca-font-display); color: var(--exca-gold); }
.route .about.route-market { background: var(--exca-ivory); --exca-text: var(--exca-navy); --exca-heading: var(--exca-navy); --exca-text-muted: var(--exca-ink-muted); --exca-rule: #d8cbb6; }
.route-market-layout { display: grid; grid-template-columns: 1fr 1.15fr; gap: 8%; align-items: start; }
.market-introduction h2 { max-width: 15ch; }
.market-introduction .market-context { color: var(--exca-text-muted); margin-top: 24px; }
.market-perspectives > h3 { font-size: clamp(1.7rem, 2.4vw, 2.25rem); }
.factor-note { color: var(--exca-text-muted); font-size: var(--exca-text-small); margin-top: 16px; }
.market-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.market-tile { background: var(--exca-bg); color: var(--exca-text); padding: 26px 22px; display: flex; flex-direction: column; gap: 20px; }
.market-tile svg { width: 54px; height: 54px; flex: 0 0 auto; stroke: var(--exca-gold); stroke-width: 1.2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.market-tile h4 { font: 500 1.125rem/1.35 var(--exca-font-body); margin: 0; color: var(--exca-ivory); }
.market-tile p { font-size: var(--exca-text-body); color: var(--exca-slate); margin-top: 12px; }
.market-tile:last-child { grid-column: 1/-1; flex-direction: row; align-items: center; gap: 28px; }
@media(max-width:1000px) { .route-market-layout { gap: 40px; grid-template-columns: 1fr; }.market-introduction h2 { max-width: 21ch; }.market-grid { gap: 16px; }.chile-figure { height: 490px; }.chile-figure span { right: 0; } }
@media(max-width:767px) { .route .hero.route-identity { grid-template-columns: 1fr; gap: 32px; padding-block: 32px 48px; }.identity-heading { gap: 20px; }.identity-heading p { font-size: 2.25rem; }.route .hero .identity-name { font-size: clamp(4.5rem, 18vw, 7rem); }.chile-figure { height: 340px; width: min(100%, 350px); margin-inline: auto; }.chile-figure span { right: 10%; }.market-tile { padding: 24px 20px; }.route-market-layout { gap: 40px; } }
@media(max-width:767px) {
  .route .hero.route-identity { display: flex; flex-direction: column; gap: 0; padding: 0; }
  .route-identity::before { display: none; }
  .hero-layout { display: block; padding-block: var(--exca-space-12); }
  .hero-media { position: relative; inset: auto; order: 2; z-index: auto; display: block; width: 100%; aspect-ratio: 3 / 2; }
  .hero-media img { display: block; object-position: center; }
  .brand-logo img { width: 105px; }
  .brand-logo-footer img { width: 164px; }
  .route .route-identity .identity-name { font-size: clamp(3.5rem, 15vw, 6rem); }
}
@media(max-width:480px) { .market-grid { grid-template-columns: 1fr; }.market-tile,.market-tile:last-child { flex-direction: row; align-items: start; gap: 20px; }.market-tile svg { width: 44px; height: 44px; }.market-tile h4 { font-size: 1rem; } }
