.country-guide { max-width: 1180px; margin: 0 auto; padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 5vw, 4rem); }
.country-guide-context { display: flex; flex-wrap: wrap; gap: .45rem .7rem; align-items: center; margin: 0 0 2rem; color: var(--muted); font-size: .76rem; font-weight: 800; }.country-guide-context a { color: var(--green); text-underline-offset: .25rem; }.country-guide-context span[aria-current="page"] { color: var(--ink); }
.country-guide-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 360px); gap: clamp(2rem, 6vw, 6rem); align-items: end; padding-bottom: clamp(2.5rem, 6vw, 5rem); border-bottom: 1px solid var(--line); }
.country-guide-hero > * { min-width: 0; }
.country-guide-hero h1 { max-width: 760px; margin: 0; overflow-wrap: anywhere; font: 400 clamp(3.8rem, 9vw, 8rem)/.86 Georgia, serif; letter-spacing: -.06em; }
.country-guide-hero p:last-child { max-width: 680px; margin: 1.6rem 0 0; color: var(--muted); font-size: clamp(1rem, 1.7vw, 1.2rem); line-height: 1.65; }
.country-guide-cta { display: flex; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.2rem; background: var(--lime); font-weight: 850; text-decoration: none; }
.country-route-planner { display: grid; grid-template-columns: minmax(240px, .75fr) minmax(360px, 1.25fr); gap: clamp(2rem, 7vw, 6rem); margin: clamp(2.5rem, 6vw, 5rem) 0 0; padding: clamp(1.5rem, 4vw, 3rem); background: var(--green); color: #fff; }
.country-route-intro h2 { margin: 0; font: 400 clamp(2.3rem, 5vw, 4rem)/.98 Georgia, serif; letter-spacing: -.04em; }.country-route-intro > p:not(.eyebrow) { color: rgba(255,255,255,.72); line-height: 1.65; }.country-route-intro .eyebrow { color: var(--lime); }.country-route-intro a { display: inline-flex; gap: .7rem; margin-top: 1rem; color: #fff; font-size: .82rem; font-weight: 800; }
.country-route-form { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); background: var(--panel); color: var(--ink); }.country-route-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; }.country-route-fields .country-route-stop, .country-route-fields .location-field:last-child, .country-route-fields .add-route-stop { grid-column: 1 / -1; }.country-route-swap { align-self: end; padding: .7rem 0; border: 0; background: transparent; color: var(--green); font: inherit; font-size: .76rem; font-weight: 800; cursor: pointer; }.country-route-swap:hover { color: var(--orange); }
.country-guide-priorities { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: clamp(1.5rem, 5vw, 4rem); margin: clamp(2.5rem, 6vw, 5rem) 0 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--line); }.country-guide-priorities h2 { margin: 0; font: 400 clamp(2rem, 4vw, 3.2rem)/1 Georgia, serif; letter-spacing: -.035em; }.country-guide-priorities header > p:last-child { color: var(--muted); line-height: 1.6; }.country-guide-priorities ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }.country-guide-priorities a { display: flex; flex-direction: column; gap: 1rem; padding: 1rem; border-top: 3px solid var(--green); background: var(--panel); color: var(--ink); font-weight: 800; line-height: 1.4; text-decoration: none; }.country-guide-priorities a:hover { border-top-color: var(--orange); }.country-guide-priorities a span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--green); color: #fff; font-size: .72rem; }
.country-guide-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(2rem, 7vw, 6rem); }
.country-guide-body section { padding: clamp(2rem, 5vw, 4rem) 0; border-bottom: 1px solid var(--line); }
.country-guide-body h2, .country-guide-sources h2 { margin: 0 0 1.1rem; font: 400 clamp(2rem, 4vw, 3.2rem)/1 Georgia, serif; letter-spacing: -.035em; }
.country-guide-body p, .country-guide-body li { color: #34413d; line-height: 1.72; }
.country-guide-body ul { margin: 0; padding-left: 1.2rem; }.country-guide-body li + li { margin-top: .65rem; }
.country-guide-body .country-guide-citations { margin: 1.2rem 0 0; color: var(--muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.country-guide-citations a { margin-left: .25rem; color: var(--green); }
.country-guide-warning { display: flex; gap: .7rem 1.5rem; margin: clamp(2.5rem, 6vw, 5rem) 0; padding: 1.2rem 1.4rem; border-left: 4px solid var(--orange); background: #fff2eb; line-height: 1.55; }
.country-guide-warning span { color: var(--muted); }
.country-guide-sources { padding: clamp(2rem, 5vw, 4rem); background: #e8f0e8; }
.country-guide-sources ol { margin: 2rem 0 0; padding-left: 1.4rem; }.country-guide-sources li { padding: .85rem 0 .85rem .4rem; border-top: 1px solid rgba(16,32,29,.14); }
.country-guide-sources a { color: var(--green); font-weight: 800; overflow-wrap: anywhere; }.country-guide-sources span { display: block; margin-top: .3rem; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.country-guide-related { padding: clamp(2.5rem, 6vw, 5rem) 0 0; }.country-guide-related > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem 1.5rem; align-items: end; margin-bottom: 1.5rem; }.country-guide-related > header .eyebrow { grid-column: 1 / -1; }.country-guide-related h2 { margin: 0; font: 400 clamp(2.2rem, 4vw, 3.8rem)/1 Georgia, serif; }.country-guide-related > header > a { color: var(--green); font-size: .8rem; font-weight: 800; }.country-guide-related > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }.country-guide-related > div > a { display: flex; min-width: 0; flex-direction: column; gap: 1.3rem; padding: 1.2rem; border-top: 4px solid var(--green); background: var(--panel); box-shadow: 0 10px 28px rgba(18,38,33,.07); text-decoration: none; }.country-guide-related strong { font: 400 1.7rem/1 Georgia, serif; overflow-wrap: anywhere; }.country-guide-related > div span { color: var(--green); font-size: .74rem; font-weight: 800; }
.country-hub { background: #f8f5ed; }.country-hub-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: end; padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 5vw, 5.5rem); background: radial-gradient(circle at 82% 0, rgba(200,245,96,.58), transparent 30%), #ebece2; }.country-hub-hero > div { max-width: 940px; }.country-hub-hero h1 { margin: 0; font: 400 clamp(3.5rem, 7vw, 7rem)/.9 Georgia, serif; letter-spacing: -.06em; }.country-hub-hero p:last-child { max-width: 760px; color: var(--muted); font-size: 1.06rem; line-height: 1.7; }.country-hub-route { min-width: 190px; padding: 1.1rem 1.2rem; background: var(--green); color: #fff; font-weight: 850; text-decoration: none; }.country-hub-regions { display: flex; flex-wrap: wrap; gap: .6rem; padding: 1.2rem clamp(1.25rem, 5vw, 5.5rem); border-bottom: 1px solid var(--line); background: #fff; }.country-hub-regions a { display: flex; gap: .65rem; align-items: center; padding: .65rem .85rem; border: 1px solid var(--line); color: var(--green); font-size: .78rem; font-weight: 800; text-decoration: none; }.country-hub-regions span { display: grid; place-items: center; min-width: 24px; height: 24px; border-radius: 50%; background: var(--green); color: #fff; font-size: .66rem; }.country-hub-groups { padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 5vw, 5.5rem); }.country-hub-group { padding: 2.5rem 0; border-top: 1px solid var(--line); scroll-margin-top: 1rem; }.country-hub-group > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; margin-bottom: 1.5rem; }.country-hub-group > header .eyebrow { grid-column: 1 / -1; }.country-hub-group h2 { margin: 0; font: 400 clamp(2.7rem, 5vw, 5rem)/1 Georgia, serif; }.country-hub-group > header > span { color: var(--muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.country-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }.country-card { display: flex; min-width: 0; flex-direction: column; min-height: 230px; padding: 1.3rem; border-top: 4px solid var(--green); background: var(--panel); box-shadow: 0 12px 34px rgba(18,38,33,.07); text-decoration: none; }.country-card:hover { border-top-color: var(--orange); transform: translateY(-2px); }.country-card strong { font: 400 2rem/1 Georgia, serif; }.country-card > span { margin: .9rem 0 1.5rem; color: var(--muted); line-height: 1.55; }.country-card small { display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: .8rem; border-top: 1px solid var(--line); color: var(--green); font-weight: 800; }.country-card b { color: var(--orange); }
.country-hub-filter { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 5vw, 5rem); padding: clamp(2.5rem, 5vw, 4rem) clamp(1.25rem, 5vw, 5.5rem); border-bottom: 1px solid var(--line); background: #fff; }.country-hub-filter h2 { margin: 0; font: 400 clamp(2.2rem, 4vw, 3.8rem)/1 Georgia, serif; }.country-hub-filter > div:first-child > p:last-child { max-width: 550px; color: var(--muted); line-height: 1.65; }.country-hub-filter-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .65fr) auto; gap: .8rem; align-items: end; }.country-hub-filter-fields label > span { display: block; margin-bottom: .4rem; color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.country-hub-filter-fields input, .country-hub-filter-fields select { width: 100%; min-height: 46px; border: 1px solid var(--line); background: var(--paper); padding: .7rem .8rem; color: var(--ink); font: inherit; }.country-hub-filter-fields input:focus, .country-hub-filter-fields select:focus { outline: 3px solid rgba(12,89,73,.2); border-color: var(--green); }.country-hub-filter-fields button { min-height: 46px; border: 0; padding: .7rem 1rem; background: var(--green); color: #fff; font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }.country-hub-filter-fields button:disabled { background: #dfe3dd; color: #66706c; cursor: default; }.country-hub-filter-status { grid-column: 2; margin: 0; color: var(--green); font-size: .8rem; font-weight: 800; }.country-hub-empty { margin-bottom: 2rem; padding: clamp(1.5rem, 4vw, 3rem); border-left: 4px solid var(--orange); background: #fff2eb; }.country-hub-empty h2 { margin: 0; font: 400 clamp(2rem, 4vw, 3.2rem)/1 Georgia, serif; }.country-hub-empty p:last-child { max-width: 650px; color: var(--muted); line-height: 1.6; }.country-hub-filter[hidden], .country-hub-empty[hidden], .country-hub-group[hidden], .country-card[hidden] { display: none !important; }

@media (max-width: 900px) {
  .country-hub-hero, .country-hub-filter, .country-guide-priorities { grid-template-columns: 1fr; }.country-hub-route { justify-self: start; }.country-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.country-hub-filter-status { grid-column: 1; }.country-guide-related > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .country-guide-hero, .country-guide-body, .country-route-planner, .country-guide-priorities ol { grid-template-columns: 1fr; }.country-guide-cta { max-width: 420px; }.country-guide-related > header, .country-guide-related > div { grid-template-columns: 1fr; }.country-guide-related > header .eyebrow { grid-column: auto; }
  .country-route-fields { grid-template-columns: 1fr; }.country-route-fields .location-field:last-child { grid-column: auto; }.country-route-swap { justify-self: start; padding: 0; }
  .country-guide-warning { align-items: flex-start; flex-direction: column; }
  .country-card-grid, .country-hub-filter-fields { grid-template-columns: 1fr; }.country-card { min-height: 0; }.country-hub-filter-fields button { width: 100%; }
}

/* Editorial discovery: compact hub and source-led guide opening. */
.country-card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.country-card { flex-direction: column; align-items: stretch; justify-content: space-between; gap: .6rem; min-height: 104px; padding: 1rem 1.15rem; border: 0; border-left: 3px solid var(--green); box-shadow: none; }
.country-card:hover { border-left-color: var(--orange); background: #eef4e7; transform: none; }
.country-card strong { font-size: clamp(1.15rem, 2vw, 1.55rem); overflow-wrap: normal; }
.country-card > span { flex: none; margin: 0; color: var(--green); font-size: .72rem; font-weight: 800; }
.country-guide-overview { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(1.5rem, 5vw, 4rem); padding: clamp(2rem, 5vw, 3.5rem) 0; border-bottom: 1px solid var(--line); }
.country-guide-overview h2 { margin: 0; font: 400 clamp(2.2rem, 4vw, 3.8rem)/1 Georgia, serif; }
.country-guide-overview p:last-child { color: var(--muted); line-height: 1.6; }
.country-guide-overview ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; align-content: start; margin: 0; padding: 0; list-style: none; }
.country-guide-overview a { display: flex; justify-content: space-between; gap: .8rem; height: 100%; padding: .85rem 1rem; background: var(--panel); color: var(--green); font-weight: 750; text-decoration: none; }
.country-guide-overview a:hover { background: #e8f0e8; }
.country-guide-useful-links { display: flex; flex-wrap: wrap; gap: .5rem; padding: 1rem 0; }
.country-guide-useful-links a { padding: .6rem .75rem; border: 1px solid var(--line); color: var(--green); font-size: .77rem; font-weight: 800; text-decoration: none; }
.country-guide-useful-links a:hover { border-color: var(--green); }
.country-guide-lead { max-width: 870px; padding: clamp(1.5rem, 4vw, 3rem) 0; }
.country-guide-lead h2 { margin: 0 0 1rem; font: 400 clamp(2rem, 4vw, 3.5rem)/1 Georgia, serif; }
.country-guide-lead p, .country-guide-lead li { color: #34413d; line-height: 1.72; }
.country-guide-lead ul { padding-left: 1.2rem; }
.country-guide-lead .country-guide-citations { margin-top: 1.2rem; color: var(--muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
@media (max-width: 900px) { .country-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 650px) { .country-guide-overview { grid-template-columns: 1fr; }.country-guide-overview ul, .country-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.country-card { display: block; min-height: 0; }.country-card > span { display: block; margin-top: .55rem; } }
@media (max-width: 420px) { .country-guide-overview ul, .country-card-grid { grid-template-columns: 1fr; } }
