/* Shared containment and responsive media safeguards. */
:root{--mobile-gutter:clamp(18px,5vw,30px)}
main,section,article,.section-intro>*,.footer-top>*,.product-detail>*,.story-wide>*,.film-layout>*,.flavor-panel>*,.hero-copy{min-width:0}
img,video,iframe{max-width:100%}p,li,figcaption,.source-list a{overflow-wrap:anywhere}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,input{font-family:inherit}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}
.menu-backdrop{display:none}.mobile-comparison{display:none}
@media(max-width:900px){
 html{scroll-padding-top:100px}
 header{height:76px;padding:12px var(--mobile-gutter);gap:18px;transition:box-shadow .2s}
 header .logo{width:154px;max-width:calc(100% - 100px)}header .logo img{width:100%;height:auto}
 header .menu-toggle{min-width:76px;min-height:48px;padding:8px 0 8px 12px;font-size:1rem;justify-content:flex-end}
 header nav{position:fixed;top:var(--nav-top,110px);left:0;right:0;max-height:calc(100dvh - var(--nav-top,110px) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;padding:12px var(--mobile-gutter) max(22px,env(safe-area-inset-bottom));z-index:22;border-top:1px solid #e5e5df;box-shadow:0 15px 35px #0002}
 header nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
 header nav a{display:flex;align-items:center;min-height:54px;padding:12px 0;font-size:1rem;white-space:normal;line-height:1.4}
 header nav a[aria-current=page]{color:#456027;font-weight:bold}
 body.menu-open{overflow:hidden}
 body.menu-open .menu-backdrop{display:block;position:fixed;inset:var(--nav-top,110px) 0 0;z-index:21;background:#17171780;border:0;border-radius:0;width:100%;padding:0;touch-action:none}
 .announcement{font-size:.65rem;letter-spacing:.06em;line-height:1.5;padding:8px 10px;min-height:31px}.announcement span{padding:0 6px}
 .button,.pause-button,.slide-controls button,.motion-toggle{min-height:44px}.text-button,.line-link{min-height:44px;display:inline-flex;align-items:center}
 .product-thumbnails{overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:3px 2px 9px}.product-thumbnails button{scroll-snap-align:start}
 .subnav{gap:10px;padding:8px var(--mobile-gutter);overscroll-behavior-x:contain;scroll-snap-type:x proximity}.subnav a{min-height:44px;display:flex;align-items:center;padding:6px 12px;scroll-snap-align:start}
 .search-input{font-size:1rem;min-height:52px;width:100%}.gallery-toolbar label,.faq-toolbar label{width:100%}
 .filter-buttons{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:3px 2px 12px;gap:8px}.filter-buttons button{white-space:nowrap;flex-shrink:0;min-height:46px;scroll-snap-align:start;padding:10px 18px;font-size:.875rem}
 #lightbox{width:100%;height:100dvh;max-width:none;max-height:100dvh;margin:0;padding:max(60px,calc(env(safe-area-inset-top) + 50px)) 12px max(12px,env(safe-area-inset-bottom));border:0;overflow-y:auto}
 #lightbox>img{height:calc(100dvh - 225px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:180px;object-fit:contain;touch-action:pan-y pinch-zoom}
 #lightbox .close-lightbox{top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));min-height:44px;padding:8px 18px}
 #lightbox .lightbox-tools{display:grid;grid-template-columns:1fr 1fr;padding:12px 0;gap:10px}
 #lightbox-caption{grid-column:1/-1;grid-row:1;font-size:.875rem;line-height:1.5;order:0;min-height:42px}
 #lightbox [data-prev]{grid-column:1;grid-row:2}#lightbox [data-next]{grid-column:2;grid-row:2}#lightbox [data-original]{grid-column:1/-1;text-align:center}
 #lightbox button,#lightbox a{min-height:44px;font-size:.875rem;display:flex;align-items:center;justify-content:center}
 dialog#age{width:calc(100% - 28px);max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{backdrop-filter:none}.age-wrap{padding:28px 22px}.age-wrap>img{width:160px;margin-bottom:24px}.age-wrap h2{font-size:clamp(1.8rem,6vw,2.5rem)}.age-actions .button{font-size:.95rem;min-height:50px}.age-wrap .small{display:inline-flex;align-items:center;min-height:44px}
 .film-player,.native-feature,.film-library video{width:100%}.film-player button{padding:20px}.play-circle{width:60px;height:60px;flex-shrink:0}.film-disclosure,.video-credit{font-size:.8rem}
 footer{padding-bottom:max(25px,env(safe-area-inset-bottom))}.footer-top>div>a,.footer-top .text-button{min-height:44px;margin:0;display:flex;align-items:center;line-height:1.4;font-size:.9rem}.footer-top .eyebrow{margin-bottom:10px}.back-top{padding:12px var(--mobile-gutter);min-height:48px;display:flex;align-items:center;justify-content:flex-end;font-size:.875rem}
}
@media(max-width:700px){
 body{font-size:1rem;line-height:1.65}h1,h2,h3{overflow-wrap:anywhere}
 h1,.page-heading h1,.story-hero h1,.detail-copy h1{font-size:clamp(2.4rem,10.5vw,3.6rem);line-height:1.09;letter-spacing:-.025em}
 h2,.intro h2,.section-heading h2,.story-wide h2,.section-intro h2{font-size:clamp(2rem,8vw,2.8rem);line-height:1.13}
 .section,.flavor-section{padding:46px var(--mobile-gutter)}.section-heading{margin-bottom:28px}.section-intro{gap:16px;margin-bottom:26px}.section-intro>p{margin:0}.section-heading h2{margin-bottom:16px}
 .eyebrow{letter-spacing:.12em;font-size:.75rem;line-height:1.6;margin-bottom:14px}.source-note{font-size:.8rem!important}.page-heading{padding:42px var(--mobile-gutter) 34px}.page-heading h1{margin-bottom:20px}
 .hero{display:grid;grid-template-rows:1fr auto;position:relative;height:auto;min-height:min(650px,calc(100svh - 107px));max-height:none;overflow:hidden;padding:0;color:#fff}
 .hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:none}
 .hero-shade{background:linear-gradient(90deg,#0009,#0004),linear-gradient(0deg,#0006,transparent 50%)}
 .hero-copy{position:relative;inset:auto;transform:none;align-self:center;padding:48px var(--mobile-gutter) 22px;z-index:1;animation:none}
 .hero h1{font-size:clamp(2.75rem,12vw,4.4rem);line-height:1.05;margin-bottom:24px}.hero-copy>p:not(.eyebrow){font-size:1rem;max-width:300px;margin-bottom:24px}
 .hero-bottom{position:relative;inset:auto;z-index:1;padding:12px var(--mobile-gutter) 22px;gap:12px;align-items:center!important;flex-wrap:wrap;font-size:.75rem}
 .hero-controls{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}.hero-bottom>span{width:100%;opacity:.8}.pause-button{font-size:.8rem;min-height:44px}.slide-controls{gap:4px}
 .intro{padding:44px var(--mobile-gutter);gap:24px}.intro p:not(.eyebrow){font-size:1rem}.intro>div:last-child{max-width:none}
 .awards-ribbon{padding:28px var(--mobile-gutter)}.awards-ribbon>div:first-child{display:block;margin-bottom:18px}.awards-ribbon h2{font-size:1.65rem;line-height:1.2}.awards-ribbon h2 br{display:none}.medal-track{gap:22px;scroll-snap-type:x proximity;padding:0 0 12px}.medal-track img{width:72px;height:72px;scroll-snap-align:start}
 .product-grid{gap:12px}.product-image img{aspect-ratio:1.2;object-fit:contain;max-height:390px}.product-copy{padding:22px 0 24px}.product-copy h3{font-size:1.7rem}.product-copy>p:not(.eyebrow){font-size:.95rem}.bottle-tag{left:15px;top:15px}
 .editorial-grid{gap:32px}.editorial-card img{aspect-ratio:1.5;height:auto}.editorial-card .eyebrow{margin-top:20px}.editorial-card h3{font-size:1.8rem}.editorial-card>p{font-size:1rem}
 .feature{height:390px}.feature>div{left:var(--mobile-gutter);right:var(--mobile-gutter);bottom:26px}.feature h2{font-size:clamp(2rem,8.5vw,2.8rem)}
 .story-wide>img,.landscape-story>img,.story-split>img{height:auto;aspect-ratio:1.45;object-fit:cover;min-height:0}.story-wide>div,.landscape-story>div,.story-split>div{padding:38px var(--mobile-gutter)}
 .story-hero{height:auto;min-height:390px;display:grid;overflow:hidden}.story-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story-hero>div{position:relative;inset:auto;transform:none;align-self:center;padding:55px var(--mobile-gutter)}
 .flavor-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0}.flavor-tabs button{padding:10px 5px;min-height:48px;font-size:.9rem}.flavor-visual img{height:290px;max-height:none;animation:none}.flavor-info{padding:30px 24px}.flavor-info h3{font-size:3rem}.flavor-note{font-size:1.1rem}
 .breadcrumbs{padding:18px var(--mobile-gutter);font-size:.8rem;gap:9px}.product-detail{padding:0 var(--mobile-gutter) 38px}.detail-image>img{height:auto;max-height:370px;aspect-ratio:1.15}.detail-copy{padding-top:25px}.detail-copy .lead{font-size:1.15rem}.specs{gap:12px;margin:24px 0;padding:20px 0}.specs strong{font-size:clamp(1.4rem,5.5vw,1.8rem)}.specs span{font-size:.7rem;line-height:1.5}.botanical-list{gap:7px}.botanical-list li{font-size:.9rem}.detail-copy summary{min-height:44px;line-height:1.5}.detail-copy details{padding:14px 0}.product-banner{height:380px}.product-banner>div{left:var(--mobile-gutter);right:var(--mobile-gutter);bottom:25px}.product-banner h2{font-size:clamp(1.9rem,8vw,2.6rem)}
 .botanical-table-wrap{display:none}.mobile-comparison{display:grid;gap:18px}.comparison-card{padding:24px;background:#f3f4ee;border-top:3px solid var(--green)}.comparison-card h3{font-size:1.9rem;margin-bottom:20px}.comparison-card dl{margin:0}.comparison-card dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#555;margin-top:18px}.comparison-card dd{margin:8px 0 0;font-size:1rem}.comparison-card ul{padding-left:20px;margin:0}.comparison-card .line-link{margin-top:15px}.botanical-art .award-archive{grid-template-columns:repeat(2,minmax(0,1fr))}.botanical-art .award-archive img{height:175px}
 .gallery-toolbar{gap:14px;margin-bottom:20px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.gallery-open img{height:auto;aspect-ratio:1;object-fit:contain}.media-grid figcaption{font-size:.8125rem;line-height:1.5}.gallery-teaser img{height:auto;aspect-ratio:1;object-fit:cover}.gallery-teaser{gap:12px}.more-wrap{margin-top:28px}.more-wrap .button{width:100%}.media-credit{font-size:.8rem}
 .film-layout{gap:24px}.film-library{gap:34px}.film-library h3{font-size:1.5rem;margin-top:16px}.film-player>button>span:last-child{font-size:.9rem}.marquee{padding:12px 0}.marquee-track{font-size:1.2rem}
 .article-layout{padding:40px var(--mobile-gutter);font-size:1rem}.article-layout h2{font-size:2rem;margin-top:34px}.article-lead{font-size:1.12rem}.people-grid{gap:22px}.numbered-facts{padding:25px 0;margin:30px 0}.numbered-facts strong{font-size:2.2rem;min-width:75px}.award-record{grid-template-columns:1fr;gap:12px;padding:26px 0}.award-record>.year{font-size:2.1rem;line-height:1}.award-record h3{font-size:1.65rem}.award-record a{grid-column:1;font-size:.875rem;justify-self:start;min-height:44px;display:flex;align-items:center;white-space:normal}.award-archive figcaption{font-size:.8rem}.award-archive img{height:125px}
 .faq-item{padding:16px 0}.faq-item summary{font-size:1rem;line-height:1.5;min-height:44px}.faq-toolbar{margin-bottom:20px}.contact-page{padding:40px var(--mobile-gutter)}.contact-heading h1{font-size:clamp(2.4rem,10vw,3.6rem)}.contact-panel{padding:25px;margin:30px 0}.contact-strip{padding:36px var(--mobile-gutter);gap:20px}.contact-strip h2{font-size:2.4rem}.contact-strip .button{width:100%}
 .footer-top{gap:25px 16px;padding-bottom:30px}.footer-top .eyebrow{font-size:.7rem;letter-spacing:.09em}.footer-bottom{line-height:1.5}.footer-note{font-size:1.25rem}
}
@media(max-width:360px){header .logo{width:140px}.announcement{font-size:.6rem;letter-spacing:0}.announcement span{padding:0 4px}.hero-controls{gap:6px}.hero h1{font-size:2.75rem}.footer-top{grid-template-columns:1fr}.footer-top>a,.footer-note{grid-column:auto}.age-wrap{padding:22px 18px}.age-wrap .eyebrow{letter-spacing:.08em}.gallery-open img{aspect-ratio:1}.product-thumbnails button{flex-basis:68px;height:80px}}
@media(max-width:900px) and (orientation:landscape) and (max-height:550px){.hero{min-height:430px}.hero-copy{padding-top:32px}#age .age-wrap{padding:20px 26px}#age .age-wrap>img{width:120px;margin-bottom:14px}#age .age-actions{grid-template-columns:1fr 1fr}#age h2{font-size:1.8rem}#lightbox>img{height:calc(100dvh - 125px);min-height:120px}#lightbox-caption{min-height:0}.lightbox-tools{gap:6px!important}}
@media(max-width:900px){.hero,.detail-image>img{touch-action:pan-y pinch-zoom}.detail-image>img{user-select:none;-webkit-user-drag:none}.film-library article{min-width:0}.will-reveal{transform:translateY(14px);transition-duration:.45s}.will-reveal.is-visible{transform:none}}
@media(max-width:700px){.legal h1{font-size:clamp(2.25rem,9.5vw,3.4rem)}.legal{padding:40px var(--mobile-gutter)}.legal h2{font-size:1.75rem}.age-wrap>p:not(.eyebrow){font-size:.9rem}.footer-note p{font-size:.9rem}}

/* Direct contact links remain readable and easy to tap on narrow screens. */
.contact-methods{display:grid;gap:12px;margin:24px 0;min-width:0}.contact-method{display:flex;flex-direction:column;gap:6px;min-height:60px;padding:14px 0;border-bottom:1px solid #ccc;color:inherit;text-decoration:none;overflow-wrap:anywhere}.contact-method>span:last-child{font-size:clamp(1.05rem,3.5vw,1.5rem);line-height:1.4}.contact-method:hover>span:last-child{text-decoration:underline}.footer-contact a{display:block;min-height:44px;overflow-wrap:anywhere;font-size:14px}.contact-panel>div{min-width:0}
