/* Lectura natural: referencia editorial, fondos luminosos y texto oscuro. */
:root{--ink:#123e2b;--green:#276b39;--cream:#f8faf5;--muted:#365448;--lime:#dceecb;--mint:#edf5e8;--leaf:#43862b}
body{background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}
h1,h2,h3,.discovery-copy h3{font-family:Georgia,'Times New Roman',serif;font-weight:600;letter-spacing:-1.3px}
h1 em,h2 em,h3 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--leaf);letter-spacing:inherit}
h2,.contact h2{font-size:clamp(36px,3.6vw,54px);line-height:1.15}
.welcome-bar{background:#edf5e8;color:var(--ink)}.welcome-bar>span>span{color:var(--leaf)}
.header{background:#f8faf5;border-bottom-color:#e0e9da}.brand-message em,.brand-kicker{color:var(--ink)}
.header .nav-contact,.button.dark,.hero-content .cream{background:#287b32;border-color:#287b32;color:white;box-shadow:none;font-size:14px}
.header .nav-contact:hover,.button.dark:hover,.hero-content .cream:hover{background:#14532d;color:white}
.header nav>a:not(.nav-contact):after{background:var(--leaf)}
.hero{background:#edf5e8;color:var(--ink);border:1px solid #e3ecdc;border-radius:12px}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-size:clamp(40px,4.5vw,66px);line-height:1.09;letter-spacing:-1.8px}
.hero h1 em{color:var(--leaf)}
.hero-content>p:not(.eyebrow){font-size:16px;line-height:1.65;color:var(--muted);max-width:420px}
.hero .eyebrow.light{color:#426c38;font-size:10px;letter-spacing:2.4px}.hero .eyebrow span{background:var(--leaf)}
.hero-secondary{color:var(--green);border:1px solid #6a9563;border-radius:30px;padding:15px 20px;margin:12px 0 0;font-size:14px}
.hero-bottom{background:#e2edda;color:var(--ink)}
.hero-carousel{border-top-left-radius:85px}
.eyebrow{color:#426c38;letter-spacing:2.2px;font-size:11px}.eyebrow.light{color:#426c38}
.values-strip{background:#f8faf5;color:var(--muted);border-bottom-color:#e0e9da}.values-strip i{color:var(--leaf)}
.section-head>p,.about-copy p:not(.eyebrow),.community-copy p:not(.eyebrow),.visit-copy>p:not(.eyebrow),.harvest-copy>p:not(.eyebrow),.bio-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted)}
.about-copy p.intro{font-size:19px;color:var(--ink)}
.image-note{background:#e4f0d7;color:var(--ink)}.note-flower{color:var(--leaf)}
.text-link,.product-contact{color:var(--green);border-color:#7ea56d;font-size:14px}
.experience-card{background:#fff;border-color:#e4ebdf;box-shadow:0 3px 12px #163d2310}.experience-card h3{font-size:28px;letter-spacing:-.6px}.experience-card p{font-size:15px;line-height:1.7}
.discovery{background:#edf5e8;border-color:#e1ebda}.discovery-category{background:#fff;border-color:#e0e9da;box-shadow:0 3px 8px #163d230a}
.discovery-category:hover{background:#f5faef;border-color:#8db374}.discovery-category[aria-pressed=true]{background:#276b39;border-color:#276b39;color:white}
.discovery-category-name{font-size:14px}.discovery-category-hint{font-size:12px;opacity:1;line-height:1.5}
.discovery-panel{background:#fff;border-color:#e1ebda}.discovery-copy h3,.product-detail .discovery-copy h3{font-size:38px;font-weight:500}
.discovery-lead,.discovery-facts p{font-size:15px;line-height:1.8}.discovery-facts h4{font-size:15px}.discovery-panel-top p:not(.eyebrow){font-size:14px}
.discovery-copy>.eyebrow{color:#426c38}.product-picker,.discovery-origin,.discovery-inventory li{background:#edf5e8}
.product-search input,.product-list button{background:#fff;border-color:#e0e9da;color:var(--ink)}.product-list button{font-size:14px}
.product-list button[aria-pressed=true]{background:#276b39;color:white;border-color:#276b39}.product-count{background:#e4f0d7;border-color:#c7dab8;color:var(--ink)}
.discovery-footer p{font-size:14px}.discovery-footer p span{font-size:12px}.discovery-footer>span,.tomato-caption>span,.gallery-item>span b{color:var(--leaf)}
.community{background:#edf5e8;color:var(--ink)}.community-copy h2 em{color:var(--leaf)}.community .outline{background:#e4f0d7;border-color:#6a9563;color:var(--ink)}.community .outline:hover{background:#d6e8c7}
.tomato-caption h3,.visit-steps h3{font-size:25px;letter-spacing:-.5px}.tomato-caption p,.visit-steps p,.field-notes p{font-size:14px;line-height:1.75}
.visit-steps li{border-top-color:#dce7d4}.visit-steps li>span{background:#e4f0d7;color:var(--ink)}
.field-notes>a,.field-notes>a:last-child{background:#edf5e8;border-top-color:#83a862}.field-notes>a:hover,.field-notes>a:last-child:hover{background:#e4f0d7}
.bio-store{background:#edf5e8}.bio-location p{font-size:15px}.bio-location strong{font-size:14px}
.contact{background:#edf5e8;border-color:#dce7d4}.contact h2 em{color:var(--leaf)}.contact>p:not(.eyebrow),.contact-details{font-size:15px;color:var(--muted);line-height:1.7}.contact-flower{color:#679345}
.filters button{font-size:13px;background:#fff;border-color:#cadcc0;color:var(--ink)}.filters button.active{background:#276b39;border-color:#276b39;color:#fff}
.gallery-item>span{font-size:13px}.photo-expand{background:#e4f0d7;color:var(--ink)}
footer{background:#f8faf5;color:var(--ink);border-top:1px solid #dce7d4}footer p,footer>small{color:var(--muted);font-size:12px}footer>div{font-size:13px}footer>small{border-top-color:#dce7d4}
a:focus-visible,button:focus-visible,.hero a:focus-visible,.community a:focus-visible,footer a:focus-visible{outline-color:#276b39}
@media(min-width:621px){.hero{height:auto;min-height:560px}.hero-content{padding:48px 3.8% 90px}.hero-carousel{bottom:48px}}
@media(min-width:621px) and (max-width:1000px){.hero h1{font-size:42px}.hero-content>p:not(.eyebrow){font-size:15px}.hero{min-height:590px}}
@media(max-width:900px){.header nav{background:#f8faf5}.menu-toggle{background:#edf5e8;border-color:#dce7d4;color:var(--ink)}}
@media(max-width:620px){.hero h1{font-size:clamp(38px,10vw,48px);letter-spacing:-1.3px}.hero-content{padding:32px 7%}.hero-content>p:not(.eyebrow){font-size:16px}.hero-content .eyebrow{font-size:9px}.hero-secondary{margin:12px 0 0}.hero-carousel{border-top-left-radius:48px}.experience-card h3{font-size:23px}.experience-card p{font-size:14px}.discovery-copy h3,.product-detail .discovery-copy h3{font-size:34px}.discovery-facts p{font-size:15px}}

/* Revisión de legibilidad: texto principal a 18 px y menos margen desperdiciado. */
body{font-size:18px}
.section{max-width:none;padding-left:4%;padding-right:4%}
.discovery,.contact,.bio-store{max-width:none}
.section-head{gap:32px}.section-head>p{max-width:420px}
.hero-content>p:not(.eyebrow){font-size:18px;line-height:1.75;max-width:500px}
.section-head>p,.about-copy p:not(.eyebrow),.community-copy p:not(.eyebrow),.visit-copy>p:not(.eyebrow),.harvest-copy>p:not(.eyebrow),.bio-copy>p:not(.eyebrow),.contact>p:not(.eyebrow){font-size:18px;line-height:1.8}
.about-copy p.intro{font-size:21px}
.header nav{font-size:16px;gap:clamp(16px,1.6vw,28px)}
.header .nav-contact,.button,.button.dark,.hero-content .cream,.hero-secondary,.text-link,.product-contact{font-size:16px}
.header{gap:20px;padding-left:4%;padding-right:4%}
.experience-card h3{font-size:30px}.experience-card p{font-size:17px}.experience-card span{font-size:16px}.experience-card>div{padding:26px}
.tomato-caption p,.visit-steps p,.field-notes p,.discovery-lead,.discovery-facts p{font-size:17px;line-height:1.75}
.discovery-facts h4,.discovery-panel-top p:not(.eyebrow),.discovery-invitation,.discovery-category-name,.product-list button,.product-search,.discovery-footer p,.discovery-footer>a,.bio-location p,.contact-details{font-size:16px}
.discovery-category-hint,.product-results,.product-season,.product-count,.discovery-footer p span,.discovery-sources,.gallery-item>span,.bio-location strong,.bio-album summary,.filters button{font-size:14px}
.eyebrow,.hero .eyebrow.light{font-size:12px;line-height:1.6;letter-spacing:1.8px}
.values-strip{font-size:14px;gap:16px}.hero-bottom{font-size:10px;letter-spacing:1px}.hero-bottom a{font-size:12px}
.welcome-bar{font-size:11px}.welcome-bar a{font-size:13px}.brand-kicker{font-size:10px}
.carousel-title{font-size:14px}.carousel-count{font-size:12px}
footer p,footer>small,footer>div{font-size:14px}
@media(min-width:901px) and (max-width:1200px){.header .brand-story{display:none}.header nav{gap:18px}}
@media(min-width:621px){.hero{min-height:620px}.hero-content{padding-top:44px;padding-bottom:92px}.hero-content .eyebrow{margin-bottom:20px}}
@media(min-width:621px) and (max-width:900px){.hero-content{width:50%}.hero-carousel{width:50%}.hero h1{font-size:40px}.hero-content .button{gap:15px;padding:15px 18px}}
@media(max-width:900px){.header nav{font-size:16px}.experience-grid{gap:16px}.experience-card>div{padding:20px}}
@media(max-width:620px){.section{padding-left:6%;padding-right:6%}.section-head{gap:20px}.hero-content>p:not(.eyebrow){font-size:18px}.experience-card{grid-template-columns:100px minmax(0,1fr)}.experience-card h3{font-size:26px}.experience-card p{font-size:16px}.experience-card>div{padding:18px}.values-strip{font-size:12px;gap:10px}.welcome-bar{font-size:9px;letter-spacing:.6px}.brand-kicker{font-size:7px}.hero-bottom{font-size:9px}.hero-bottom a{font-size:11px}.hero .eyebrow.light{font-size:10px}.discovery-category-name{font-size:15px}.discovery-category-hint{font-size:13px}.contact-details{font-size:15px}}
/* Comportamiento adaptable común a todas las secciones. */
main>section{min-width:0}
.about,.visits,.harvest,.bio-intro{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,100px)}
.about-copy,.visit-copy,.harvest-copy,.bio-copy,.community-copy{min-width:0}
.about-copy>p,.visit-copy>p,.harvest-copy>p,.bio-copy>p,.community-copy>p{max-width:65ch}
.about-images{height:auto;min-width:0}.about-images>img{height:auto;aspect-ratio:4/3;object-fit:cover}
.history-photo{height:auto;aspect-ratio:16/9}
.tomato-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.tomato-card .photo-open{height:auto;aspect-ratio:4/3}
.community{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.community-mosaic{height:auto;min-height:0;aspect-ratio:1.15;grid-template-columns:1.4fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
.community-mosaic .family-main{grid-row:span 2}.community-mosaic img:last-of-type{display:block}
.community-copy{padding:clamp(28px,4vw,80px)}
.visit-visual{height:auto;aspect-ratio:4/5}.visit-visual>img{height:100%;object-fit:cover}
.harvest-photo img{height:auto;aspect-ratio:4/3;object-fit:cover}
.bio-cover{width:100%;max-width:none}.bio-cover img{max-height:none}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-item img{height:auto;aspect-ratio:4/3;object-fit:cover}
.product-explorer{grid-template-columns:minmax(230px,24%) minmax(0,1fr)}
.product-detail .discovery-article{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.product-detail .discovery-visual img{max-height:none;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.discovery-panel-top{flex-wrap:wrap}.discovery-footer{flex-wrap:wrap}
.contact-details{flex-wrap:wrap}.bio-location a{white-space:normal}
@media(max-width:1100px){.product-detail .discovery-article{grid-template-columns:1fr}.product-detail .discovery-visual{width:min(100%,460px);margin-inline:auto}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.about,.visits,.harvest,.bio-intro,.community{grid-template-columns:1fr}.about-images{max-width:none}.community-mosaic{aspect-ratio:4/3}.community-copy{padding:32px 6%}.visit-visual{aspect-ratio:4/3}.bio-cover{width:100%;max-width:none}.bio-intro{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px}.bio-copy .button{gap:16px;padding:16px;max-width:100%}.section-head{align-items:flex-start}.section-head>p{max-width:45%}}
@media(max-width:620px){.section-head{flex-direction:column;align-items:flex-start}.section-head>p{max-width:100%}.bio-intro{grid-template-columns:1fr}.tomato-grid{grid-template-columns:1fr}.tomato-card:first-child{grid-column:auto}.tomato-card:first-child .photo-open{aspect-ratio:4/3}.history-pair{grid-template-columns:1fr}.history-photo{aspect-ratio:4/3}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-explorer{display:block}.product-detail .discovery-article{grid-template-columns:1fr}.product-detail .discovery-visual{width:100%}.product-detail .discovery-visual img{max-height:none}.field-notes{grid-template-columns:1fr}.field-notes>div{grid-column:auto}.discovery-footer>a{white-space:normal;margin-left:0}.contact .button{gap:20px;max-width:100%}.hero-bottom{gap:10px;flex-wrap:wrap}.hero-secondary{max-width:100%}}
@media(max-width:380px){.hero-content .button{gap:18px;padding:16px}.header .brand{gap:8px}.header .brand-logo{width:64px;height:64px}.header .brand-story{padding-left:8px}.brand-message,.brand-message em{font-size:14px}}
.community-picture>span{color:#fff}
@media(max-width:380px){.carousel-actions{gap:4px}.carousel-actions>button{width:32px;height:36px;flex-shrink:0}.carousel-dots{gap:0;min-width:0}.carousel-dots button{width:18px;height:36px}.carousel-dots [aria-pressed=true] span{width:16px}.carousel-title{font-size:12px}.carousel-caption{gap:8px}}
/* Tipografía fluida: límites legibles y escalado progresivo con el navegador. */
:root{--type-body:clamp(1.125rem,1.06rem + .26vw,1.375rem);--type-ui:clamp(1rem,.968rem + .13vw,1.125rem);--type-small:clamp(.875rem,.843rem + .13vw,1rem);--type-card:clamp(1.625rem,1.497rem + .52vw,2.125rem);--type-section:clamp(2.25rem,1.868rem + 1.57vw,3.75rem);--type-hero:clamp(2.5rem,1.863rem + 2.615vw,5rem)}
body{font-size:var(--type-body)}
.hero h1{font-size:var(--type-hero);line-height:1.1}
.section h2,.community h2,.contact h2,.visit-copy h2,.field-notes h2{font-size:var(--type-section);line-height:1.16}
.experience-card h3,.tomato-caption h3,.visit-steps h3,.field-notes h3{font-size:var(--type-card);line-height:1.2}
.discovery-copy h3,.product-detail .discovery-copy h3{font-size:clamp(2rem,1.8rem + .8vw,2.75rem)}
.hero-content>p:not(.eyebrow),.section-head>p,.about-copy p:not(.eyebrow),.community-copy p:not(.eyebrow),.visit-copy>p:not(.eyebrow),.harvest-copy>p:not(.eyebrow),.bio-copy>p:not(.eyebrow),.contact>p:not(.eyebrow),.experience-card p,.tomato-caption p,.visit-steps p,.field-notes p,.discovery-lead,.discovery-facts p{font-size:var(--type-body);line-height:1.75}
.about-copy p.intro{font-size:clamp(1.3125rem,1.23rem + .33vw,1.625rem)}
.hero-content>p:not(.eyebrow){max-width:40ch}.section-head>p{max-width:42ch}.about-copy>p,.visit-copy>p,.harvest-copy>p,.bio-copy>p,.community-copy>p{max-width:60ch}
.header nav,.header .nav-contact,.button,.button.dark,.hero-content .cream,.hero-secondary,.text-link,.product-contact,.experience-card span,.discovery-facts h4,.discovery-panel-top p:not(.eyebrow),.discovery-invitation,.discovery-category-name,.product-list button,.product-search,.discovery-footer p,.discovery-footer>a,.bio-location p,.contact-details{font-size:var(--type-ui)}
.discovery-category-hint,.product-results,.product-season,.product-count,.discovery-footer p span,.discovery-sources,.gallery-item>span,.bio-location strong,.bio-album summary,.filters button,footer p,footer>small,footer>div{font-size:var(--type-small);line-height:1.6}
.eyebrow,.hero .eyebrow.light{font-size:clamp(.6875rem,.64rem + .19vw,.875rem)}
.experience-card>div{padding:clamp(18px,1.6vw,36px)}
.header .brand-story{flex-shrink:0}.header nav{gap:clamp(14px,1.25vw,26px)}
.discovery-category-name{overflow-wrap:anywhere}.hero-content .button{max-width:100%;gap:clamp(16px,2vw,36px)}
@media(min-width:901px) and (max-width:1350px){.header .brand-story{display:none}}
@media(max-width:900px){.section-head>p{max-width:45%}}
@media(max-width:620px){.section-head>p{max-width:100%}.hero-content .button{gap:16px;padding:16px 20px}.hero-content .eyebrow.light{font-size:.6875rem}}

/* Fotografías de los encuentros del recorrido vivencial. */
.visit-album{grid-column:1/-1;min-width:0;width:100%}
.visit-album>h3{font-family:var(--serif,Georgia,serif);font-size:var(--type-card);color:var(--ink);margin:0 0 12px}
.visit-album>p{font-size:var(--type-body);line-height:1.7;margin:0 0 28px;max-width:65ch}
.visit-event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,32px)}
.visit-event-grid figure{margin:0;min-width:0}
.visit-event-grid .photo-open{display:block;position:relative;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;background:#DCFCE7;cursor:zoom-in}
.visit-event-grid img{display:block;width:100%;height:auto;object-fit:contain}
.visit-event-grid figcaption{font-size:var(--type-ui);line-height:1.5;padding-top:12px;color:var(--ink)}
.visit-event-grid .photo-open:focus-visible{outline:3px solid #166534;outline-offset:4px}
@media(max-width:1000px){.visit-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.visit-event-grid{grid-template-columns:1fr}.visit-event-grid img{aspect-ratio:auto}}

/* Álbum compacto y navegación de fotografías. */
.visit-event-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.visit-event-grid img{aspect-ratio:4/3;object-fit:cover;object-position:center 65%}
.visit-event-grid figcaption{display:none}
.visit-event-grid .photo-expand{width:28px;height:28px;right:8px;bottom:8px}
#lightbox.event-lightbox{width:min(1000px,94vw);max-height:94dvh;padding:48px 16px 16px;overflow:auto}
#lightbox.event-lightbox img{height:65dvh;width:100%;object-fit:contain;touch-action:pan-y pinch-zoom}
#lightbox.event-lightbox p{font-size:var(--type-ui);margin:12px 0;text-align:center}
.lightbox-navigation:not([hidden]){display:flex;align-items:center;justify-content:center;gap:24px}
.lightbox-navigation button{width:44px;height:44px;border:0;border-radius:50%;background:#166534;color:white;font-size:24px}
.lightbox-count{font-size:16px;min-width:64px;text-align:center}
@media(max-width:1000px){.visit-event-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.visit-event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
@media(max-width:380px){.visit-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.visit-event-grid img[src$="04.jpeg"],.visit-event-grid img[src$="05.jpeg"],.visit-event-grid img[src$="08.jpeg"],.visit-event-grid img[src$="09.jpeg"]{object-position:center 28%}

/* Álbum del fundo: miniaturas uniformes con el mismo visor del recorrido. */
.gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.gallery-grid .gallery-item{position:relative;min-width:0;padding:0;border-radius:12px;overflow:hidden;cursor:zoom-in}
.gallery-grid .gallery-item[hidden]{display:none}
.gallery-grid .gallery-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.gallery-grid .gallery-item>span{display:none}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
@media(max-width:380px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gallery-grid img[src*="recorrido-evento-"]{object-position:center 65%}.gallery-grid img[src$="recorrido-evento-04.jpeg"],.gallery-grid img[src$="recorrido-evento-05.jpeg"],.gallery-grid img[src$="recorrido-evento-08.jpeg"],.gallery-grid img[src$="recorrido-evento-09.jpeg"]{object-position:center 28%}
