/* Elixire visual polish: storefront only. No API, checkout or admin logic modified. */
:root{--elx-content:1160px;--elx-gutter:clamp(24px,5vw,56px)}
html{overflow-x:clip}body{overflow-x:clip;-webkit-text-size-adjust:100%}
main,main section,main article{min-width:0}
/* More deliberate page margins on all screen sizes */
.wrap{width:100%;max-width:calc(var(--elx-content) + 2 * var(--elx-gutter));padding-left:var(--elx-gutter)!important;padding-right:var(--elx-gutter)!important;margin-left:auto;margin-right:auto}
.page-content,.faq-list{width:min(100% - 2 * var(--elx-gutter),850px);max-width:850px;margin-left:auto;margin-right:auto}
.page-content{padding-left:0!important;padding-right:0!important}
.quote-band{padding-left:var(--elx-gutter)!important;padding-right:var(--elx-gutter)!important;text-align:center}
.quote-band blockquote{max-width:820px;margin-inline:auto}
.site-footer>.wrap{max-width:calc(var(--elx-content) + 2 * var(--elx-gutter))}
.footer-columns{gap:clamp(25px,4vw,60px)}
.footer-columns p{line-height:1.75;max-width:300px}
.footer-columns a{line-height:1.55}
.footer-columns a:not(.brand){transition:color .2s ease,transform .2s ease}
.footer-columns a:not(.brand):hover{color:#fff;transform:translateX(2px)}
.inline-arrow{display:inline-block!important;width:17px;height:17px;vertical-align:-.2em;flex:none;stroke:currentColor;transition:transform .2s ease}
a:hover .inline-arrow{transform:translate(2px,-2px)}
.text-link{display:inline-flex;align-items:center;gap:9px;line-height:1.6;max-width:100%}
.editorial-hero{gap:clamp(30px,5vw,74px)}
.editorial-hero>div,.image-story .copy{min-width:0}
.editorial-hero .lead,.image-story .copy p{max-width:530px}
.section-head{gap:18px}
.products,.editorial-grid{min-width:0}
.product,.editorial-tile{min-width:0}
.product .info p{line-height:1.65}
.product .info .row{gap:12px}
.primary,.secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.primary:focus-visible,.secondary:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #9b8354;outline-offset:3px}
@media(min-width:851px){
 .editorial-hero h1{font-size:clamp(48px,4.8vw,72px);line-height:1.12}
 .page-heading h1{font-size:clamp(42px,4.4vw,64px)}
 .footer-columns{grid-template-columns:minmax(230px,1.6fr) minmax(115px,.8fr) minmax(145px,1fr) minmax(175px,1.1fr)}
}
@media(max-width:850px){
 :root{--elx-gutter:clamp(25px,5.8vw,40px)}
 .editorial-hero{padding-top:42px;padding-bottom:54px}
 .editorial-hero .hero-image{width:100%;max-width:560px;margin-inline:auto}
 .image-story{gap:30px}
 .image-story .copy{width:100%;max-width:620px;margin-inline:auto}
 .footer-columns{column-gap:24px;row-gap:34px}
}
@media(max-width:600px){
 :root{--elx-gutter:26px}
 header.site-header{padding-inline:var(--elx-gutter)!important}
 .wrap{padding-inline:var(--elx-gutter)!important}
 .editorial-hero{padding-top:34px;padding-bottom:45px;gap:27px}
 .editorial-hero h1{font-size:clamp(35px,9vw,44px);line-height:1.15}
 .editorial-hero .hero-image{height:clamp(270px,78vw,380px);object-fit:cover}
 .editorial-hero .primary{width:100%;max-width:none}
 .benefits{padding-block:23px;gap:16px}
 .benefits div{line-height:1.55;align-items:center}
 .section{padding-block:52px}
 .section-head{margin-bottom:23px}
 .section-head h2{font-size:clamp(29px,7.7vw,36px)}
 .image-story{padding-block:56px;gap:32px}
 .image-story .copy h2{font-size:clamp(30px,7.7vw,38px);line-height:1.22}
 .image-story .copy p{font-size:15px;line-height:1.8}
 .quote-band{padding-block:62px}
 .quote-band blockquote{font-size:clamp(27px,7.2vw,36px);line-height:1.35}
 .site-footer{padding-top:49px;padding-bottom:24px}
 .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}
 .footer-columns>div:first-child,.footer-columns>div:last-child{grid-column:1/-1}
 .footer-columns a{font-size:14px}
 .footer-columns h4{font-size:11px;line-height:1.5}
 .footer-columns p{font-size:14px;margin:12px 0}
 .footer-bottom{padding-top:23px;line-height:1.7}
 .page-heading{padding-block:45px 25px}
 .page-heading h1{font-size:clamp(35px,8.6vw,44px)}
 .page-content{padding-top:20px;padding-bottom:60px}
 .contact-panel{width:calc(100% - 2 * var(--elx-gutter));margin-inline:auto;padding:26px 22px}
 .floating-top{right:var(--elx-gutter);bottom:18px}
}
@media(max-width:360px){:root{--elx-gutter:20px}.footer-columns{column-gap:15px}}
@media(prefers-reduced-motion:reduce){.inline-arrow,.footer-columns a{transition:none!important}}
