/* CASA MAYOR — luxury typography & motion system */
:root{--luxury-gold:#c49a4b;--luxury-forest:#17231a}
html{scroll-padding-top:74px}body{font-size:18px;line-height:1.75;letter-spacing:.005em}
main p,main li,main dd,main blockquote{font-size:clamp(18px,1.28vw,21px)!important;line-height:1.82!important}
main h1{font-size:clamp(56px,6.3vw,108px)!important;line-height:1.09!important;letter-spacing:-.035em}
main h2{font-size:clamp(39px,4vw,72px)!important;line-height:1.15!important;letter-spacing:-.025em}
main h3{font-size:clamp(25px,2.1vw,37px)!important;line-height:1.22!important}
main .eyebrow,main .kicker,main .section-label{font-size:13px!important;letter-spacing:.19em}
.topbar nav a{font-size:clamp(14px,1.08vw,17px)!important;letter-spacing:.015em!important}
.topbar .navcta{font-size:13px!important;padding:12px 17px!important}
.gold-button,.navcta,.footer-glass-button,main a[class*="button"],main button:not(.age-tab){font-size:clamp(13px,1vw,16px)!important;letter-spacing:.075em!important;min-height:49px}
.site-footer .footer-directory nav a{font-size:18px!important;line-height:1.7!important}
.site-footer .footer-intro-action p,.site-footer .footer-retailer{font-size:18px!important}
.site-footer .footer-legal{font-size:15px!important}
/* richer depth and tactility */
.gold-button,.navcta,.footer-glass-button,main a[class*="button"]{position:relative;isolation:isolate;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.37),0 12px 30px rgba(36,26,9,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,filter .45s!important}
.gold-button:after,.navcta:after,.footer-glass-button:after,main a[class*="button"]:after{content:'';position:absolute;inset:-50% auto -50% -85%;width:45%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:left .75s ease;pointer-events:none}
.gold-button:hover:after,.navcta:hover:after,.footer-glass-button:hover:after,main a[class*="button"]:hover:after{left:145%}
.gold-button:hover,.navcta:hover,.footer-glass-button:hover,main a[class*="button"]:hover{transform:translateY(-5px)!important;filter:brightness(1.09);box-shadow:0 20px 42px rgba(24,22,12,.22)!important}
.topbar nav a{position:relative;transition:color .3s,transform .35s!important}.topbar nav a:hover{transform:translateY(-2px)}
.cheese-card,.pair-card,.dao-product-tile,.info-grid>*,.seo-section{transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s ease,background-color .4s ease!important}
.cheese-card:hover,.pair-card:hover,.dao-product-tile:hover{transform:translateY(-9px)!important;box-shadow:0 25px 55px rgba(29,33,23,.15)!important}
.cheese-card img,.dao-product-tile img,.editorial-photo img,.home-product-photo img{transition:transform 1.2s cubic-bezier(.18,.75,.18,1),filter 1s!important}
.cheese-card:hover img,.dao-product-tile:hover img,.editorial-photo:hover img,.home-product-photo:hover img{transform:scale(1.055);filter:saturate(1.06)}
.hero-backdrop{animation:cmHeroBreath 24s ease-in-out infinite alternate!important}
@keyframes cmHeroBreath{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.09) translateY(-10px)}}
.cm-luxury-reveal{opacity:0;transform:translate3d(0,44px,0);filter:blur(5px);transition:opacity 1.05s ease,transform 1.05s cubic-bezier(.16,1,.3,1),filter 1.05s ease!important}
.cm-luxury-reveal.cm-visible{opacity:1;transform:translateZ(0);filter:blur(0)}
.cm-parallax{will-change:transform}
@media(max-width:1000px){.topbar nav.open a{font-size:18px!important}}
@media(max-width:650px){body{font-size:17px}main p,main li{font-size:18px!important}main h1{font-size:clamp(45px,12vw,65px)!important}main h2{font-size:clamp(36px,9vw,52px)!important}.site-footer .footer-directory nav a{font-size:17px!important}.topbar .navcta{font-size:11px!important;padding:10px 12px!important}.cm-luxury-reveal{transform:translate3d(0,20px,0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.cm-luxury-reveal{opacity:1!important;filter:none!important;transform:none!important}}
