/* terroirs: refinement.css rules. Keep selectors scoped to this section. */
.v11-entry-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-block: 1px solid var(--line); margin: 35px 0 0;}
.v11-entry-grid a {font-size: calc(var(--font-card) * .93); padding: 25px 20px; background: none; border-bottom: 0;}
.v11-entry-grid a + a {border-left: 1px solid var(--line);}
.v11-terroir-entry {padding-bottom: 0;}
.ed-terroirs {padding-top: 72px;}
.ed-terroir-card {gap: 9%; margin-bottom: 32px;}
.ed-terroir-card > a {aspect-ratio: 5/4; max-height: none;}
.ed-terroir-card img, .ed-terroir-card > a > img {height: 100%; max-height: none;}
.ed-terroir-card > a > .eyebrow {font-size: 10px; padding: 8px 12px;}
.v11-maker-list article {padding: 36px; background: var(--sage); border: 0;}
.v11-map-layout {grid-template-columns: 1.5fr 1fr; gap: 8%;}
.v11-map {background: #eef0e7; border: 1px solid #dee3d5;}
.v11-map-pin {font-size: 11px; padding: 7px 10px; border-color: #cad3be; box-shadow: 0 2px 5px #283f3208;}
.v11-region-panel {padding: 16px 0;}
.v11-region-panel p:not(.eyebrow) {font-size: 15px; line-height: var(--reading-leading);}
.v11-region-panel a {margin: 18px 0;}
.v11-hub-grid {grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 960px; margin-inline: auto; gap: 0;}
.v11-atlas-primer {max-width: 960px; padding: 24px 0 28px; margin: 0 auto 32px; border-block: 1px solid var(--line); scroll-margin-top: 120px;}
.v11-atlas-primer figure {min-width: 0; margin: 0;}
.v11-atlas-primer img {display: block; width: 100%; height: auto;}
.v11-atlas-primer figcaption {margin-top: 12px; font-size: 12px; color: var(--muted);}
@media (max-width: 800px) {
 .v11-atlas-primer {max-width: 640px; padding: 20px 0 24px; margin-bottom: 24px;}
}
.v11-hub {min-width: 0; padding: 24px; display: flex; flex-direction: column;}
.v11-hub-top {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px;}
.v11-hub-icon {display: block; width: 56px; height: 56px; flex-shrink: 0; color: #648c97;}
.v11-hub-no {font: 500 10px/1.5 var(--sans); letter-spacing: .12em; color: #78856d; margin: 0;}
.v11-hub h2 {font-size: 25px; line-height: 1.35; margin: 0 0 10px; overflow-wrap: anywhere;}
.v11-hub > p:not(.eyebrow) {font-size: 13px; line-height: 1.8; min-height: 0; margin: 0 0 18px;}
.v11-hub > .v11-link {align-self: start; margin-top: auto; padding: 6px 0 0; font-size: 12px; border-color: transparent;}
.v11-hub:focus-visible {outline: 2px solid var(--green); outline-offset: -3px; background: var(--sage);}
.v11-hub:hover {background: var(--sage);}
.v11-hub-entries article {padding: 40px; background: var(--sage); border: 0;}
.v11-hub-entries h2 {margin: 22px 0;}
.v11-atlas-article {max-width: 1040px;}
.v11-atlas-article > .v11-link {margin-bottom: 28px;}
.v11-atlas-article > .v11-heading {margin-bottom: 20px;}
.v11-atlas-article > .v11-demo-note {margin: 0;}
.v11-atlas-article > section {padding: 38px 0;}
.v11-atlas-article p:not(.eyebrow):not(.v11-demo-note) {font-size: 16px; line-height: var(--reading-leading);}
@media (max-width: 800px) {
.v11-map-layout {grid-template-columns: 1.25fr 1fr; gap: 5%;}
.v11-map-pin:not(.selected) {font-size: 0;
    gap: 0;
    padding: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    justify-content: center;
    background: var(--paper);}
.v11-hub-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px;}
.v11-hub {padding: 22px;}
}
@media (max-width: 700px) {
.v11-entry-grid {grid-template-columns: 1fr; margin-top: 26px;}
.v11-entry-grid a {padding: 22px 0;}
.v11-entry-grid a + a {border-left: 0; border-top: 1px solid var(--line);}
.ed-terroirs {padding-top: 50px;}
.ed-terroir-card {display: block;}
.ed-terroir-card > a {display: block; aspect-ratio: 5/4;}
.ed-terroir-card img {height: 100%;}
.ed-terroir-card > div {margin-top: 30px;}
.v11-map-layout {display: block;}
.v11-map-pin {font-size: 10px; padding: 5px 7px;}
.v11-region-panel {padding-top: 34px;}
.v11-hub-entries article {padding: 28px;}
.v11-atlas-article > section {padding: 28px 0;}
.v11-atlas-article p:not(.eyebrow):not(.v11-demo-note) {font-size: 14px;}
}
@media (max-width: 600px) {
 .v11-hub-grid {grid-template-columns: minmax(0, 1fr);}
 .v11-hub {display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 18px; row-gap: 7px; padding: 20px;}
 .v11-hub-top {grid-column: 1; grid-row: 1 / 4; flex-direction: column; justify-content: flex-start; gap: 8px; margin: 0;}
 .v11-hub-icon {width: 52px; height: 52px;}
 .v11-hub h2 {grid-column: 2; font-size: 22px; margin: 0;}
 .v11-hub > p:not(.eyebrow) {grid-column: 2; margin: 0;}
 .v11-hub > .v11-link {grid-column: 2; margin: 0; padding-top: 3px;}
}
.v11-map-teas {margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--line);}
.v11-map-teas > div {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 22px;}
.v11-region-panel .v11-map-teas .v11-link {display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0; padding: 14px 0; font: 400 14px/1.6 var(--sans); letter-spacing: 0; text-transform: none;}
.v11-map-teas .v11-link span[aria-hidden='true'] {flex-shrink: 0;}
@media(max-width:640px) {
.v11-map-teas > div {grid-template-columns: 1fr;}
}
.v11-atlas-cover {margin: 36px 0; max-width: 880px; aspect-ratio: 2; overflow: hidden;}
.v11-atlas-cover img {width: 100%; height: 100%; object-fit: cover;}
.v11-knowledge-card {display: grid; grid-template-columns: 1fr 1.2fr; gap: 38px; align-items: center; padding: 34px 0; border-bottom: 1px solid var(--line);}
.v11-knowledge-card figure {margin: 0; aspect-ratio: 1.6; overflow: hidden;}
.v11-knowledge-card img {width: 100%; height: 100%; object-fit: cover;}
.v11-knowledge-card h2 .v11-link {font: inherit; letter-spacing: inherit; text-transform: none; padding-bottom: 14px;}
@media(max-width:768px) {
.v11-knowledge-card {grid-template-columns: 1fr; gap: 22px;}
}

/* Keep the supplied labeled SVG's entire canvas and all vector labels visible. */
.v11-map-page .v11-map--terrain {aspect-ratio: 1900.34 / 1495.75; background: var(--paper); border: 0;}
.v11-map-page .v11-map--terrain > .v11-map-outline {object-fit: contain;}

/* Region entries and teas each have their own rhythm. */
.v11-region-panel .v11-region-intro h2 {margin: 14px 0 18px;}
.v11-region-panel .v11-region-intro > p:not(.eyebrow) {margin: 0;}
.v11-map-page .v11-region-group {margin-top: 26px; padding-top: 0; border-top: 0;}
.v11-map-page .v11-region-group-title {display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 12px; font: 500 11px / 1.6 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--muted);}
.v11-region-count {font: 400 11px / 1.6 var(--sans); letter-spacing: 0; color: var(--muted);}
.v11-region-entries {display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px;}
.v11-region-panel .v11-region-entry {display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; margin: 0; padding: 14px 16px; border: 1px solid var(--line); font: 400 14px / 1.5 var(--sans); letter-spacing: 0; text-transform: none; text-decoration: none;}
.v11-region-entry--place {grid-column: 1 / -1; background: var(--sage);}
.v11-region-entry-copy {display: grid; gap: 5px; min-width: 0;}
.v11-region-entry-copy small {font: 400 10px / 1.5 var(--sans); color: var(--muted);}
.v11-region-entry-copy strong {font: 500 14px / 1.5 var(--sans); overflow-wrap: anywhere;}
.v11-region-entry--place .v11-region-entry-copy strong {font: 400 21px / 1.45 var(--serif);}
.v11-region-entry > span[aria-hidden='true'] {flex-shrink: 0;}
.v11-region-panel .v11-region-entry:hover {border-color: var(--green);}
.v11-region-item-title {min-width: 0; overflow-wrap: anywhere;}
.v11-map-page .v11-map-teas > div {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; border-top: 1px solid var(--line);}
.v11-map-page .v11-map-teas .v11-link {display: flex; align-items: center; justify-content: space-between; gap: 14px; min-width: 0; min-height: 44px; margin: 0; padding: 12px 0; font: 400 13px / 1.6 var(--sans); letter-spacing: 0; text-transform: none;}
.v11-region-empty {margin-top: 22px;}
@media(max-width:700px) {
 .v11-map-page .v11-region-group {margin-top: 24px;}
 .v11-region-panel .v11-region-entry {padding: 12px;}
 .v11-region-entry--place .v11-region-entry-copy strong {font-size: 19px;}
}

/* The map/overview row is followed by the four tea regions, then full-width teas. */
.v11-map-page .v11-map-layout {display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: start;}
.v11-map-stage, .v11-map-page .v11-region-panel {min-width: 0;}
.v11-map-page .v11-region-panel {padding: 0; align-self: center;}
.v11-map-followup {margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--line);}
.v11-map-followup .v11-region-group {margin: 0;}
.v11-map-followup .v11-region-group-title {font-size: 12px; margin-bottom: 16px;}
.v11-map-followup .v11-map-teas > div {grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px;}
@media(max-width:1100px) {
 .v11-map-followup .v11-map-teas > div {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media(max-width:980px) {
 .v11-map-page .v11-map-layout {grid-template-columns: minmax(0, 1fr); gap: 28px;}
 .v11-map-stage {width: 100%; max-width: 780px; margin-inline: auto;}
 .v11-map-page .v11-region-panel {padding-top: 0;}
}
@media(max-width:700px) {
 .v11-map-followup {margin-top: 28px; padding-top: 24px;}
 .v11-map-followup .v11-map-teas > div {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px;}
}

/* Four regional maps reuse the homepage artwork and image settings. */
.v11-map-regions {margin-top: 36px; padding: clamp(28px, 4vw, 54px); background: var(--sage);}
.v11-map-regions-heading {display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 32px;}
.v11-map-regions-heading > div {min-width: 0;}
.v11-map-regions-heading .eyebrow {margin: 0; font: 500 var(--font-label) / 1.6 var(--sans); letter-spacing: .08em;}
.v11-map-regions-heading h2 {margin: 10px 0 0; font: 500 var(--font-section) / var(--heading-leading) var(--serif);}
.v11-map-regions-heading > p {max-width: 32em; margin: 0; font: 400 13px / 1.85 var(--sans); color: var(--muted);}
.v11-map-regions-grid {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(22px, 3vw, 42px);}
.v11-map-regions-grid article {min-width: 0;}
.v11-map-regions-grid img {display: block; width: 160px; height: 122px; max-width: 100%; object-fit: contain; margin-bottom: 22px;}
.v11-map-regions-grid h3 {margin: 0 0 12px; font: 500 23px / 1.35 var(--serif); letter-spacing: 0;}
.v11-map-regions-grid p {margin: 0; font: 400 13px / 1.8 var(--sans); color: var(--muted);}
@media(max-width:980px) {
 .v11-map-regions-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px;}
 .v11-map-regions-heading {display: block; margin-bottom: 28px;}
 .v11-map-regions-heading > p {margin-top: 16px;}
}
@media(max-width:700px) {
 .v11-map-regions {margin-top: 28px; padding: 28px 24px;}
}
@media(max-width:480px) {
 .v11-map-regions {padding: 26px 20px;}
 .v11-map-regions-grid {grid-template-columns: minmax(0, 1fr); gap: 24px;}
 .v11-map-regions-grid article {display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 16px; align-items: center;}
 .v11-map-regions-grid img {width: 80px; height: 80px; margin: 0;}
 .v11-map-regions-grid h3 {font-size: 21px; margin-bottom: 6px;}
 .v11-map-regions-grid p {font-size: 12px;}
}

/* Whole maps and printed diagrams remain proportional and fully visible. */
@media (min-width: 701px) {
 .v11-terroir-entry {padding-top: 36px;}
 .v11-entry-grid {margin-top: 24px;}
 .v11-entry-grid a {padding-block: 18px;}
 .ed-terroirs {padding-top: 40px;}
 .ed-terroir-card > a {aspect-ratio: auto; height: min(380px, 50svh);}
 .v11-map-stage {max-width: min(620px, 81svh); width: 100%; justify-self: center;}
 .v11-atlas-primer {max-width: min(780px, 97svh); padding-block: 20px 24px; margin-bottom: 26px;}
 .v11-map-regions {padding: 32px; margin-top: 28px;}
 .v11-map-regions-heading {margin-bottom: 24px;}
 .v11-map-followup {margin-top: 28px; padding-top: 24px;}
}
