/* Prevent grid/flex content and imported images from widening the page. */
.hero>*,.pro>*,.about>*,.contact>*,.archive-grid>*,.section-heading>*,.form-grid>*{min-width:0}
.article-body img,.article-body video,.article-body iframe{max-width:100%;height:auto}
.article-body figure{max-width:100%;margin-inline:0}
.archive-photo{margin-inline:0;width:100%}
.archive-thumb img{display:block}
.hero-photo{min-width:0}
.hero-photo>img{display:block;max-width:100%;margin:0}
.vf-icon{display:inline-block;width:1em;height:1em;vertical-align:-.1em;flex:0 0 auto;line-height:1;color:inherit}
.vf-icon svg{display:block;width:100%;height:100%;overflow:visible}
/* CSS menu arrows must also use a vector rather than an OS-dependent glyph. */
.site-header #main-menu a::after{content:''!important;display:inline-block;width:1em;height:1em;flex:0 0 auto;align-self:center;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19L19 5M6 5h13v13' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19L19 5M6 5h13v13' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:640px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:0}
 .hero-photo{width:100%;height:clamp(300px,105vw,420px);min-height:300px}
 .hero-photo>img{inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
 .hero h1{font-size:clamp(43px,13.5vw,59px);letter-spacing:-.05em;overflow-wrap:break-word}
 .monogram{font-size:clamp(65px,21vw,100px);letter-spacing:-.06em;width:100%;max-width:380px}
 .editorial h1,.section h2{overflow-wrap:break-word}
 .direct{font-size:clamp(16px,4.8vw,19px)}
 .direct a{overflow-wrap:anywhere}
 .site-header .brand-home{min-width:0}
 .site-header .contact-nav{white-space:normal}
 .site-header .contact-nav .vf-icon{white-space:nowrap}
 .archive-photo img{width:100%;height:auto;max-height:none}
 .article-body{font-size:16px}
 .article-body h2,.article-body h3{font-size:24px;letter-spacing:-.025em}
 .button{max-width:100%;gap:16px;white-space:normal}
 #basket>div{min-width:0}
 #basket .button{flex-shrink:0}
 input,select,textarea{font-size:16px}
}
.site-header .contact-nav{display:inline-flex;align-items:center;gap:6px}
.site-header .contact-nav .vf-icon{width:12px;height:12px}
@media(max-width:640px){
 .wine-cards>a{min-height:400px}
 .wine-cards .bottle{top:60px;left:calc(68% - 32px);transform:scale(.8) rotate(12deg)}
 .wine-cards .bottle.red{transform:scale(.8) rotate(-10deg)}
 .wine-cards h3{left:16px;right:52px;bottom:24px;margin:0;font-size:clamp(23px,6.3vw,28px);line-height:1.1;letter-spacing:-.035em}
 .wine-cards .card-arrow{right:18px;bottom:26px;font-size:25px}
}
