/* Standalone presentation layer: the production site shell stays unchanged. */
.geo-landing { overflow-x: visible; }
.geo-landing [hidden] { display: none !important; }
.geo-wrap { width: min(1280px, calc(100% - 2 * var(--gutter))); margin-inline: auto; }
.geo-landing h1, .geo-landing h2, .geo-landing h3 { font-family: var(--serif); font-weight: 400; line-height: 1.13; }
.geo-landing h2 { font-size: clamp(2rem, 3.5vw, 3.3rem); letter-spacing: -.04em; }
.geo-landing h3 { font-size: 1.65rem; }
.geo-landing em { font-style: normal; color: #59713e; }
.geo-landing a:focus-visible, .geo-landing summary:focus-visible, .geo-panel:focus-visible { outline: 3px solid #9f7444; outline-offset: 5px; }
.geo-eyebrow { text-transform: uppercase; font-size: .65rem; font-weight: 700; letter-spacing: .16em; margin-bottom: 1.2rem; }
.geo-dot { display: inline-block; width: 7px; height: 7px; background: #638d45; border-radius: 50%; margin-right: .5rem; }
.geo-caption { font-size: .75rem; color: #57634d; line-height: 1.6; }
.geo-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 1.7rem; padding: 1rem 1.35rem; background: #38451d; border: 1px solid #38451d; border-radius: 7px; color: #f5f0dc; font-size: .8rem; font-weight: 700; text-decoration: none; transition: background .2s, transform .2s; }
.geo-button:hover { background: #1c3224; transform: translateY(-2px); }
.geo-button span { font-size: 1.2rem; line-height: 1; }
.geo-button--light { background: #f5f0dc; border-color: #f5f0dc; color: #243521; }
.geo-button--light:hover { background: #e6dec0; }
.geo-text-link { color: #38451d; font-size: .8rem; font-weight: 700; text-decoration: none; border-bottom: 1px solid #bcbda3; padding-bottom: .25rem; }
.geo-text-link:hover { border-color: #38451d; }
.geo-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; margin-block: 2rem 1.2rem; }
.hero-geo { padding-top: clamp(7.5rem, 11vw, 10rem); background: radial-gradient(ellipse at 95% 70%, #e6dec0 0, transparent 48%), #f5f0dc; }
.hero-geo__inner { display: grid; grid-template-columns: 1fr 1.03fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.hero-geo h1 { font-size: clamp(2.65rem, 4.65vw, 4.5rem); letter-spacing: -.05em; line-height: 1.08; margin-bottom: 1.5rem; }
.hero-geo__lede { max-width: 42ch; color: #4e5a43; font-size: .95rem; line-height: 1.85; }
.hero-geo__foot { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; border-top: 1px solid #c6c9b1; padding-block: 1.4rem; margin-top: 3.2rem; font-size: .7rem; color: #536047; }
.hero-geo__foot a { color: #38451d; text-decoration: none; }
.territory { position: relative; background: #263e2c; border-radius: 15px; padding: .95rem; color: #f5f0dc; transform: rotate(1.3deg); box-shadow: 0 22px 60px -32px #1e352b; }
.territory__bar { display: flex; justify-content: space-between; gap: .6rem; align-items: center; font-size: .64rem; padding: .45rem .55rem 1rem; }
.territory__bar .geo-dot { background: #b7ce8d; }
.geo-pill { border: 1px solid currentColor; border-radius: 4px; padding: .23rem .5rem; font-size: .75rem; }
.territory__map { display: block; width: 100%; border-radius: 7px; }
.territory figcaption { color: #ccd5bf; font-size: .75rem; padding: .9rem .5rem .2rem; }
.tree-preview { position: absolute; right: -1rem; bottom: 4.2rem; background: #faf7e9; color: #243521; border-radius: 9px; padding: 1rem 1.15rem; display: flex; gap: .8rem; align-items: center; box-shadow: 0 12px 30px #0f1f1840; transform: rotate(-1.3deg); }
.tree-preview__symbol { font-size: 2.6rem; color: #59713e; }
.tree-preview strong, .tree-preview span { display: block; }
.tree-preview strong { font-size: .8rem; }
.tree-preview div > span:last-child { font-size: .65rem; margin-top: .3rem; color: #687054; }
.territory__pulse { transform-origin: 240px 209px; animation: geo-pulse 4s ease-in-out infinite; }
@keyframes geo-pulse { 50% { transform: scale(1.4); opacity: .25; } }
.geo-section { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.geo-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2.5rem; margin-bottom: 2.5rem; }
.geo-section-heading > p { max-width: 38ch; color: #59614c; font-size: .85rem; }
.geo-explorer { background: #fcf9ee; border: 1px solid #cbd0b8; border-radius: 14px; }
.explorer-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #dce0ce; padding: .85rem 1.3rem; }
.geo-tabs { display: flex; gap: .4rem; }
.geo-tabs a { padding: .75rem 1rem; text-decoration: none; color: #536047; font-weight: 600; font-size: .75rem; border-radius: 6px; }
.geo-tabs a:not([aria-selected="true"]):hover { background: #e9ecd9; }
.geo-tabs a[aria-selected="true"] { background: #38451d; color: #f5f0dc; }
.geo-demo-label { font-size: .75rem; color: #6d684e; }
.geo-panel { display: grid; grid-template-columns: 1.75fr 1fr; min-height: 375px; padding: 1rem; gap: 1.5rem; }
.geo-panel + .geo-panel { border-top: 1px solid #cbd0b8; }
.is-enhanced .geo-panel { border: 0; }
.demo-map { display: flex; flex-direction: column; background: #dce2cf; border-radius: 8px; justify-content: center; min-width: 0; }
.demo-map svg { width: 100%; display: block; }
.demo-map__legend { font-size: .6rem; padding: .7rem 1.2rem 1rem; display: flex; align-items: center; gap: .5rem; }
.demo-map__legend i { background: #638d45; width: 6px; height: 6px; border-radius: 50%; }
.demo-map__legend i.legend-selected { background: #9f7444; margin-left: 1rem; }
.demo-detail { padding: 1.2rem 1rem; }
.demo-detail h3 { margin-bottom: 1.4rem; }
.demo-detail > p:not(.geo-eyebrow) { font-size: .78rem; color: #536047; margin-top: 1.4rem; }
.demo-detail dl { font-size: .7rem; }
.demo-detail dl > div { display: flex; justify-content: space-between; gap: .7rem; padding-block: .6rem; border-bottom: 1px solid #dce0ce; }
.demo-detail dt { color: #6a715c; }
.demo-detail dd { text-align: right; max-width: 20ch; font-weight: 600; }
.demo-detail dd .geo-dot { width: 5px; height: 5px; margin-right: .2rem; }
.inventory-display { background: #e8ecd9; border-radius: 8px; padding: 1.5rem; }
.inventory-display__head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .7rem; font-size: .7rem; font-weight: 700; padding-bottom: 1.3rem; }
.inventory-row { display: flex; align-items: center; gap: .8rem; padding: 1rem 0; border-top: 1px solid #c6cfb7; }
.inventory-row strong, .inventory-row div > span { display: block; font-size: .75rem; }
.inventory-row div > span { color: #647058; font-size: .65rem; margin-top: .25rem; }
.inventory-tree { font-size: 2rem; color: #638d45; }
.inventory-state { margin-left: auto; font-size: .6rem; padding: .3rem .6rem; background: #d1dec1; border-radius: 4px; color: #38451d; }
.inventory-state--review { background: #e1d6b4; color: #69522f; }
.tracking-display { padding: 1.5rem 2rem; background: #e8ecd9; border-radius: 8px; }
.tracking-display ol { list-style: none; }
.tracking-display li { display: flex; position: relative; gap: 1.2rem; padding-bottom: 1.6rem; }
.tracking-display li:not(:last-child)::before { position: absolute; content: ''; border-left: 1px solid #9daa87; top: 10px; bottom: 0; left: 5px; }
.timeline-point { position: relative; display: inline-block; width: 11px; height: 11px; margin-top: 5px; border-radius: 50%; background: #638d45; flex-shrink: 0; }
.timeline-point--pending { background: transparent; border: 1px solid #638d45; }
.tracking-display strong, .tracking-display li div > span { display: block; }
.tracking-display strong { font-size: .85rem; margin-bottom: .3rem; }
.tracking-display li div > span { font-size: .58rem; text-transform: uppercase; letter-spacing: .05em; color: #5c684b; margin-bottom: .3rem; }
.tracking-display li p { font-size: .7rem; color: #536047; }
.impact-section { background: #1e3528; color: #f5f0dc; padding-block: clamp(3rem, 5vw, 5rem); }
.impact-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 5rem; }
.impact-art { position: relative; max-width: 430px; margin-inline: auto; width: 100%; }
.impact-art svg { width: 100%; display: block; }
.impact-art__tag { display: block; text-align: center; color: #b5c3a3; font-size: .62rem; }
.impact-copy h2 { font-size: clamp(2.1rem, 3.65vw, 3.4rem); margin-bottom: 1.5rem; }
.impact-copy em { color: #cfc599; }
.impact-copy > p:not(.geo-eyebrow) { color: #ccd5bf; font-size: .85rem; max-width: 47ch; }
.impact-copy > p.impact-note { font-size: .7rem; border-left: 2px solid #9f7444; padding-left: .9rem; margin-top: 1.3rem; }
.impact-copy .geo-caption { font-size: .68rem !important; }
.geo-local-link { color: #f5f0dc; font-size: .7rem; display: inline-block; margin-top: 1rem; }
.service-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; list-style: none; margin-top: 3rem; }
.service-timeline li { border-top: 2px solid #bfc6a8; padding-top: 1.2rem; }
.service-timeline li > span { font-size: .6rem; text-transform: uppercase; letter-spacing: .11em; color: #77613b; }
.service-timeline h3 { margin-block: 1rem; font-size: 1.4rem; }
.service-timeline p { font-size: .8rem; color: #59614c; max-width: 36ch; }
.access-section { border-top: 1px solid #cbd0b8; display: grid; grid-template-columns: 1fr 1.5fr; gap: 4rem; }
.access-section > div:first-child > p:not(.geo-eyebrow) { max-width: 32ch; margin-block: 1.5rem; font-size: .82rem; color: #59614c; }
.access-list article { display: flex; gap: 1rem; align-items: start; border-bottom: 1px solid #cbd0b8; padding-block: 1.5rem; }
.access-list article:first-child { padding-top: 0; }
.access-number { font-size: .65rem; padding-top: .2rem; color: #9f7444; }
.access-list h3 { font-size: 1.3rem; margin-bottom: .5rem; }
.access-list p { font-size: .78rem; max-width: 44ch; color: #59614c; }
.access-list .geo-caption { display: inline-block; font-size: .65rem; margin-top: .4rem; }
.access-list article > a { margin-left: auto; width: 42px; min-width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border: 1px solid #b7c1a5; border-radius: 50%; color: #38451d; font-size: 1.2rem; text-decoration: none; transition: background .2s; }
.access-list article > a:hover { background: #dfe5ce; }
.faq-layout { border-top: 1px solid #cbd0b8; display: grid; grid-template-columns: 1fr 1.5fr; gap: 4rem; }
.faq-layout h2 { margin-bottom: 1.5rem; }
.geo-faq details { border-bottom: 1px solid #cbd0b8; padding-block: 1.2rem; }
.geo-faq details:first-child { padding-top: 0; }
.geo-faq summary { font-size: .85rem; font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.geo-faq summary::after { content: '+'; font-size: 1.2rem; color: #59713e; }
.geo-faq details[open] summary::after { content: '−'; }
.geo-faq p { font-size: .78rem; color: #59614c; padding-top: 1rem; }
.geo-faq a { color: #38451d; }
.geo-closing { padding-block: 2rem 6rem; text-align: center; }
.geo-closing h2 { margin-bottom: 2rem; }
.geo-landing .footer__grid { grid-template-columns: 1.2fr 1fr 1.4fr 1fr; gap: 2rem; }
.geo-landing .footer__grid > *, .hero-geo__inner > *, .impact-grid > *, .geo-panel > * { min-width: 0; }
.geo-landing .footer__col a { overflow-wrap: anywhere; }
.geo-landing .footer__legal { flex-wrap: wrap; gap: .8rem; }
.geo-landing .footer { padding-bottom: 7rem; }
.geo-entered { animation: geo-enter .7s ease-out both; }
@keyframes geo-enter { from { transform: translateY(16px); } to { transform: translateY(0); } }
@media (max-width: 1024px) {
  .hero-geo__inner { gap: 2.3rem; }
  .hero-geo h1 { font-size: clamp(2.3rem, 4.7vw, 3.5rem); }
  .tree-preview { right: -.35rem; bottom: 3.5rem; padding: .7rem; }
  .tree-preview strong { font-size: .67rem; }
  .impact-grid { gap: 2.5rem; }
  .geo-panel { grid-template-columns: 1.4fr 1fr; }
  .geo-landing .footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .hero-geo__inner { grid-template-columns: 1fr; }
  .hero-geo h1 { font-size: clamp(2.6rem, 8vw, 3.8rem); }
  .hero-geo__lede { max-width: 50ch; }
  .hero-geo__visual { width: min(100%, 550px); margin: .8rem auto 0; }
  .hero-geo__foot { flex-wrap: wrap; gap: .5rem 1.5rem; font-size: .6rem; margin-top: 2rem; }
  .hero-geo__foot a { margin-left: auto; }
  .geo-section-heading { display: block; }
  .geo-section-heading > p { max-width: 50ch; margin-top: 1.4rem; }
  .geo-panel { grid-template-columns: 1fr; gap: .3rem; }
  .demo-detail { padding: 1rem; }
  .demo-detail h3 br { display: none; }
  .demo-detail dl > div { justify-content: space-between; }
  .demo-detail dd { max-width: 30ch; }
  .impact-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .impact-art { max-width: 300px; }
  .impact-copy { text-align: left; }
  .service-timeline { grid-template-columns: 1fr; gap: 1.8rem; }
  .service-timeline p { max-width: 55ch; }
  .access-section, .faq-layout { grid-template-columns: 1fr; gap: 2rem; }
  .explorer-toolbar { flex-wrap: wrap; padding: .6rem; gap: .5rem; }
  .geo-demo-label { margin-left: .6rem; }
}
@media (max-width: 480px) {
  .geo-wrap { width: calc(100% - 2.5rem); }
  .hero-geo { padding-top: 7.2rem; }
  .hero-geo h1 { font-size: clamp(2.1rem, 9vw, 3rem); }
  .hero-geo__lede { font-size: .85rem; }
  .hero-geo .geo-actions { gap: 1rem; }
  .geo-eyebrow { font-size: .57rem; letter-spacing: .12em; }
  .geo-button { font-size: .72rem; gap: 1rem; padding: .9rem 1rem; }
  .territory { padding: .55rem; transform: none; }
  .territory__bar { font-size: .56rem; padding-bottom: .7rem; }
  .territory figcaption { font-size: .53rem; }
  .tree-preview { transform: none; right: .8rem; bottom: 2.8rem; padding: .6rem; gap: .5rem; }
  .tree-preview__symbol { font-size: 1.9rem; }
  .tree-preview .geo-caption { font-size: .6rem; }
  .tree-preview div > span:last-child { font-size: .55rem; }
  .geo-tabs a { font-size: .68rem; padding: .65rem .7rem; }
  .geo-panel { padding: .65rem; }
  .demo-map__legend { font-size: .53rem; padding-inline: .6rem; }
  .demo-detail { padding: .8rem .5rem; }
  .inventory-display { padding: .9rem; }
  .inventory-row { gap: .5rem; }
  .inventory-row strong { font-size: .67rem; }
  .inventory-state { font-size: .54rem; padding: .25rem .35rem; }
  .tracking-display { padding: 1rem; }
  .geo-closing h2 { font-size: 1.8rem; }
  .geo-landing .footer__grid { grid-template-columns: 1fr; }
  .geo-landing .float-stack { flex-direction: row; gap: .6rem; align-items: end; right: .8rem; bottom: .8rem; }
  .geo-landing .floating-whatsapp { padding: 0; width: 44px; height: 44px; min-height: 44px; border-radius: 50%; background: #38451d; align-items: center; justify-content: center; }
  .geo-landing .floating-whatsapp::before { content: ''; width: 24px; height: 24px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3.5A11.6 11.6 0 0 0 2.3 17.4L.7 23.3l6.1-1.6A11.6 11.6 0 0 0 20.5 3.5ZM12 21.1a9.3 9.3 0 0 1-4.7-1.3l-.3-.2-3.6.9.9-3.5-.2-.4a9.3 9.3 0 1 1 7.9 4.5ZM17.1 14c-.3-.1-1.7-.8-1.9-.9-.3-.1-.5-.1-.7.2l-.9 1c-.2.2-.3.2-.6.1a7.6 7.6 0 0 1-2.2-1.4 8.4 8.4 0 0 1-1.5-1.9c-.2-.3 0-.4.1-.5l.4-.5.3-.5c.1-.2.1-.4 0-.5l-.9-2.1c-.2-.6-.4-.5-.6-.5H8c-.2 0-.5.1-.7.3a2.7 2.7 0 0 0-.8 2c0 1.2.9 2.3 1.1 2.5.1.2 1.7 2.6 4.2 3.7l1.4.5c.6.2 1.2.2 1.6.1.5-.1 1.7-.7 1.9-1.3.2-.6.2-1.1.2-1.2-.1-.1-.3-.2-.6-.3Z'/%3E%3C/svg%3E") center / contain no-repeat; }
  .geo-landing .floating-whatsapp span { display: none; }
  .geo-landing .floating-whatsapp strong { display: none; }
  .geo-landing .smchat__launcher { width: 44px; height: 44px; }
  .geo-landing .smchat__launcher-copy { display: none; }
  .geo-landing .smchat__launcher::after { display: none; }
}
/* Product information remains comfortably readable, including small screens. */
.geo-landing .territory__bar, .geo-landing .tree-preview .geo-caption,
.geo-landing .tree-preview div > span:last-child, .geo-landing .tree-preview strong,
.geo-landing .demo-map__legend, .geo-landing .demo-detail dl,
.geo-landing .inventory-row strong, .geo-landing .inventory-row div > span,
.geo-landing .inventory-state, .geo-landing .inventory-display__head,
.geo-landing .tracking-display li div > span, .geo-landing .impact-art__tag,
.geo-landing .impact-copy .geo-caption, .geo-landing .access-list .geo-caption,
.geo-landing .territory figcaption { font-size: max(.75rem, 12px) !important; }
.geo-landing .demo-detail > p:not(.geo-eyebrow), .geo-landing .tracking-display li p,
.geo-landing .impact-copy > p.impact-note, .geo-landing .access-list p,
.geo-landing .geo-faq p { font-size: max(.8125rem, 13px); }
.geo-landing .hero-geo__foot, .geo-landing .service-timeline li > span,
.geo-landing .access-number, .geo-landing .geo-local-link,
.geo-landing .geo-eyebrow, .geo-landing .geo-demo-label { font-size: max(.75rem, 12px); }
.geo-tree-icon { width: 32px; height: 40px; display: block; }
.tree-preview__symbol .geo-tree-icon { width: 38px; height: 46px; }
.inventory-tree { flex-shrink: 0; }
.demo-map__canvas { position: relative; }
.specimen-marker { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; transform: translate(-50%, -50%); background: transparent; border: 0; border-radius: 50%; cursor: pointer; color: #f5f0dc; }
.specimen-marker span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #38451d; border: 2px solid #f5f0dc; box-shadow: 0 2px 7px #38451d40; font-size: 12px; font-weight: 700; transition: background .2s, box-shadow .2s; }
.specimen-marker:hover span { background: #1e3528; box-shadow: 0 0 0 4px #38451d30; }
.specimen-marker[aria-pressed="true"] span { background: #79552f; box-shadow: 0 0 0 4px #79552f30; }
.specimen-marker--a { left: 32.05%; top: 49.4%; }
.specimen-marker--b { left: 50.58%; top: 28.52%; }
.specimen-marker--c { left: 51.91%; top: 63.82%; }
.geo-landing .demo-detail p.specimen-feedback { font-size: 12px; border-top: 1px solid #cbd0b8; padding-top: .8rem; color: #38451d; }
@media (max-width: 480px) {
  .geo-landing .tree-preview { position: static; margin-top: .6rem; box-shadow: none; border-radius: 6px; }
  .geo-landing .demo-map__legend { flex-wrap: wrap; }
  .geo-landing .inventory-row { flex-wrap: wrap; }
  .geo-landing .geo-tabs a { font-size: .75rem; }
  .geo-landing .demo-map svg text { font-size: 20px; }
  .geo-landing .demo-map svg text:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .geo-landing { scroll-behavior: auto; }
  html:has(.geo-landing) { scroll-behavior: auto; }
  .geo-landing *, .geo-landing *::before, .geo-landing *::after { animation: none !important; transition: none !important; }
}

.geo-landing .geo-dot--review { background: #9f7444; }
