.country-breadcrumb { padding: 22px clamp(22px,7vw,105px); border-bottom: 1px solid var(--line); font-size: .78rem; font-weight: 700; }
.country-breadcrumb a { color: var(--red); }
.country-hero { min-height: 510px; padding: 76px clamp(22px,7vw,105px); display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 7vw; position: relative; overflow: hidden; }
.country-hero::before { content: attr(data-code); position: absolute; right: -20px; top: -75px; font-family: var(--serif); font-size: 23rem; line-height: 1; color: rgba(40,49,75,.055); }
.country-hero h1 { margin: 0; max-width: 950px; font-family: var(--serif); font-size: clamp(4.3rem,9vw,9rem); line-height: .82; letter-spacing: -.06em; }
.country-hero h1 span { color: var(--red); }
.country-intro { position: relative; z-index: 1; }
.country-intro > p { font-size: 1.08rem; line-height: 1.8; }
.country-facts { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 28px; border-top: 1px solid var(--ink); }
.country-facts div { padding: 15px 12px 0 0; }
.country-facts strong { display: block; font-family: var(--serif); font-size: 1.45rem; }
.country-facts span { font-size: .65rem; font-weight: 700; letter-spacing: .13em; }
.country-nav { display: flex; flex-wrap: wrap; gap: 7px; padding: 16px clamp(22px,7vw,105px); color: white; background: var(--ink); }
.country-nav a { padding: 7px 12px; border: 1px solid rgba(255,255,255,.38); border-radius: 20px; font-size: .73rem; font-weight: 700; }
.country-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; }
.country-overview h2 { margin: 0; font-family: var(--serif); font-size: clamp(3rem,5vw,5rem); line-height: .95; }
.country-overview p { line-height: 1.85; }
.city-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.city-chips span { padding: 10px 16px; background: var(--yellow); border: 1px solid var(--ink); font-weight: 700; }
.country-articles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.country-article { min-height: 265px; padding: 26px; display: flex; flex-direction: column; border: 2px solid var(--ink); background: var(--paper); }
.country-article:nth-child(2) { background: var(--blue); }
.country-article:nth-child(3) { background: var(--pink); }
.country-article small { letter-spacing: .13em; font-weight: 700; }
.country-article h3 { margin: auto 0 10px; font-family: var(--serif); font-size: 2rem; line-height: 1; }
.country-article p { margin: 0; font-size: .9rem; }
.country-article b { margin-top: 15px; align-self: flex-end; }
.country-article[href] { transition: transform .2s ease, box-shadow .2s ease; }
.country-article[href]:hover { transform: translate(-4px,-4px); box-shadow: 7px 7px 0 var(--ink); }
.route-hero { padding: 72px clamp(22px,7vw,105px) 64px; border-bottom: 2px solid var(--ink); background: var(--yellow); }
.route-hero .kicker { margin-bottom: 18px; }
.route-hero h1 { max-width: 950px; margin: 0; font-family: var(--serif); font-size: clamp(3.6rem,8vw,7.8rem); line-height: .88; letter-spacing: -.055em; }
.route-hero h1 span { color: var(--red); }
.route-lead { max-width: 730px; margin: 28px 0 0; font-size: 1.08rem; line-height: 1.8; }
.route-summary { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.route-summary span { padding: 9px 14px; border: 1px solid var(--ink); border-radius: 24px; background: var(--paper); font-size: .76rem; font-weight: 700; }
.route-days { padding: 72px clamp(22px,7vw,105px); }
.route-day { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: clamp(30px,6vw,90px); padding: 54px 0; border-top: 2px solid var(--ink); }
.route-day:first-child { padding-top: 0; border-top: 0; }
.day-number { position: sticky; top: 115px; align-self: start; }
.day-number strong { display: block; font-family: var(--serif); font-size: 6rem; line-height: .8; color: var(--red); }
.day-number span { display: block; margin-top: 14px; font-weight: 700; letter-spacing: .12em; }
.day-story h2 { margin: 0 0 20px; font-family: var(--serif); font-size: clamp(2.7rem,5vw,4.8rem); line-height: .95; }
.day-story > p { max-width: 790px; font-size: 1rem; line-height: 1.9; }
.day-stops { display: flex; flex-wrap: wrap; gap: 9px; margin: 26px 0; }
.day-stops span { padding: 9px 13px; border: 1px solid var(--ink); background: var(--blue); font-size: .78rem; font-weight: 700; }
.day-stops a { padding: 9px 13px; border: 1px solid var(--ink); background: var(--blue); font-size: .78rem; font-weight: 700; transition: background .2s ease; }
.day-stops a:hover { background: var(--yellow); }
.story-more { max-width: 790px; margin: 24px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.story-more summary { padding: 16px 0; cursor: pointer; font-weight: 700; list-style: none; }
.story-more summary::-webkit-details-marker { display: none; }
.story-more summary::after { content: "+"; float: right; font-size: 1.35rem; }
.story-more[open] summary::after { content: "–"; }
.story-more .more-copy { padding: 0 0 18px; }
.story-more .more-copy h3 { margin: 24px 0 8px; font-family: var(--serif); font-size: clamp(1.25rem,2.2vw,1.65rem); line-height: 1.2; }
.story-more .more-copy p { line-height: 1.9; }
.route-note { max-width: 790px; margin-top: 27px; padding: 22px; border-left: 6px solid var(--red); background: var(--paper); }
.route-note strong { display: block; margin-bottom: 7px; }
.route-ending { padding: 70px clamp(22px,7vw,105px); border-top: 2px solid var(--ink); background: var(--pink); }
.route-ending h2 { max-width: 800px; margin: 0; font-family: var(--serif); font-size: clamp(3rem,6vw,5.8rem); line-height: .93; }
.route-ending p { max-width: 720px; margin: 24px 0 0; line-height: 1.85; }
.back-to-country { display: inline-block; margin-top: 28px; padding-bottom: 4px; border-bottom: 2px solid var(--ink); font-weight: 700; }
@media(max-width:800px){.country-hero,.country-overview{grid-template-columns:1fr}.country-articles{grid-template-columns:1fr}.country-hero{min-height:auto}.country-hero h1{font-size:clamp(3.8rem,18vw,6rem)}.route-day{grid-template-columns:1fr;gap:24px}.day-number{position:static}.day-number strong{font-size:4.5rem}.route-hero{padding-top:52px}}
