
/* =========================================================
   AYURVNOVA FINAL VISUAL SYSTEM — 2026-08-24
   One last-loaded layer for proportion, image visibility,
   responsive balance and consistent brand presentation.
   ========================================================= */
:root{
  --avn-forest:#0e3a22;
  --avn-deep:#08291a;
  --avn-gold:#c9a84c;
  --avn-cream:#f8f3e9;
  --avn-paper:#fffdf8;
  --avn-line:#e5ddcf;
  --avn-muted:#66736c;
  --avn-shadow:0 16px 44px rgba(8,41,26,.09);
}
html,body{max-width:100%;overflow-x:hidden}
body{font-size:15px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%}

/* MASTER LOGO — large enough to read, same treatment everywhere */
.avn-logo-link,
a.brand.avn-logo-link,
a.logo.avn-logo-link,
.brand-logo.avn-logo-link{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 auto!important;width:104px!important;min-width:104px!important;height:104px!important;
  padding:5px!important;margin:0!important;border-radius:20px!important;
  background:linear-gradient(145deg,#fffdf8,#f6efe3)!important;
  border:1px solid rgba(201,168,76,.22)!important;
  box-shadow:0 7px 20px rgba(8,41,26,.055)!important;
  overflow:hidden!important;font-size:0!important;
}
.avn-master-logo,
.avn-logo-link img,
.site-header .avn-master-logo,.navbar .avn-master-logo,.header-inner .avn-master-logo,
.navbar .logo .avn-master-logo,.brand-logo.avn-logo-link .avn-master-logo{
  display:block!important;width:94px!important;height:94px!important;max-width:94px!important;max-height:94px!important;
  object-fit:contain!important;object-position:center!important;margin:auto!important;flex:0 0 94px!important;
}
.site-header .nav,.navbar-inner,.header-inner{min-height:118px!important;height:auto!important}
.site-header .nav{grid-template-columns:104px minmax(0,1fr) auto!important;gap:24px!important}
.navlinks,.nav-links,.desktop-navigation{gap:26px!important}
.navlinks a,.nav-links a,.desktop-navigation a{font-size:11px!important;letter-spacing:.095em!important}

/* Footer logo gets a cream plate so green/gold stays clear on dark backgrounds */
.footer .avn-logo-link,.footer-brand .avn-logo-link{
  width:128px!important;min-width:128px!important;height:128px!important;border-radius:24px!important;
  background:#fffaf0!important;border-color:rgba(201,168,76,.36)!important;
}
.footer .avn-master-logo,.footer-brand .avn-master-logo,.footer .avn-logo-link img{
  width:116px!important;height:116px!important;max-width:116px!important;max-height:116px!important;flex-basis:116px!important;
}
.footer-grid{align-items:start!important}.footer-grid>div:first-child{min-width:190px}

/* TYPOGRAPHY SCALE — premium, but never louder than the brand */
h1{font-size:clamp(42px,5vw,64px)!important;line-height:1.02!important;letter-spacing:-.032em!important}
h2{font-size:clamp(30px,3.5vw,46px)!important;line-height:1.08!important;letter-spacing:-.025em!important}
h3{font-size:clamp(19px,2vw,24px)!important;line-height:1.18!important}
.page-hero h1{max-width:900px;font-size:clamp(38px,4.5vw,56px)!important}
.lead,.hero-text{font-size:clamp(15px,1.35vw,18px)!important;line-height:1.7!important}
.eyebrow,.section-label{font-size:11px!important;letter-spacing:.18em!important}
.section{padding:72px 0!important}.page-hero{padding:56px 0!important}
.section-head{margin-bottom:30px!important}

/* HOMEPAGE HERO — balanced copy and full product artwork */
.hero{padding:52px 0 46px!important}
.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;gap:42px!important}
.product-stage{
  position:relative!important;display:grid!important;grid-template-columns:minmax(0,1.75fr) minmax(122px,.55fr)!important;
  grid-template-rows:1fr 1fr!important;gap:14px!important;min-height:0!important;height:auto!important;align-items:stretch!important;
}
.stage-card,.stage-card.main,.stage-card.small1,.stage-card.small2{
  position:relative!important;inset:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:auto!important;height:auto!important;min-height:0!important;border-radius:22px!important;overflow:hidden!important;
  background:#fffaf1!important;
}
.stage-card.main{grid-column:1;grid-row:1/3;aspect-ratio:1/1!important}
.stage-card.small1{grid-column:2;grid-row:1;aspect-ratio:1/1!important}
.stage-card.small2{grid-column:2;grid-row:2;aspect-ratio:1/1!important}
.stage-card img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;padding:6px!important;background:#fffaf1!important}
.stage-badge{left:14px!important;right:14px!important;bottom:14px!important;width:auto!important;text-align:center!important;border-radius:12px!important;padding:10px 12px!important;font-size:10px!important}

/* ALL PRODUCT/INFORMATION POSTERS: NEVER CROP TEXT OR LABELS */
.product-visual,.product-image,.product-image-wrap,.main-image-frame,.gallery-main-image,.product-gallery-main,
.hero-visual,.story-image,.brochure-product-image{
  overflow:hidden!important;background:#fffaf1!important;
}
.product-visual img,.product-image img,.product-image-wrap img,.main-image-frame img,.gallery-main-image img,
.product-gallery-main img,.hero-visual img,.story-image img,.brochure-product-image img{
  width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;
}
.product-visual{aspect-ratio:1/1!important;padding:10px!important}
.product-card{overflow:hidden!important}

/* BROCHURE WEB PAGE INGREDIENT CARDS — square source posters must remain square */
.ingredient-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;align-items:stretch!important}
.ingredient-grid article{overflow:hidden!important;border-radius:18px!important;border:1px solid var(--avn-line)!important;background:#fff!important;box-shadow:0 8px 24px rgba(8,41,26,.045)!important}
.ingredient-grid img{
  display:block!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;
  object-fit:contain!important;object-position:center!important;background:#f8f3e9!important;
}
.ingredient-grid article>div{padding:18px 20px 20px!important}
.ingredient-grid h3{font-size:21px!important;margin:0 0 6px!important}
.ingredient-grid p{font-size:13px!important;line-height:1.6!important;margin:0!important}

/* Brochure page hero and product cards */
.hero-book,.hero-grid{min-height:0!important}
.hero-book{padding:44px 0!important}
.hero-copy h1{font-size:clamp(42px,5vw,64px)!important}
.product-copy h3{font-size:24px!important}.product-copy{padding:22px!important}

/* Product detail gallery — never crop thumbnails either */
.gallery-thumbnail img{object-fit:contain!important;background:#fffaf1!important;padding:3px!important}
.main-image-frame{height:auto!important;min-height:0!important;padding:14px!important}
.main-image-frame img{max-height:650px!important;margin:auto!important}

/* Cards and spacing */
.value-card,.info-card,.contact-card,.form-card,.product-card{border-color:var(--avn-line)!important}
.cta-card{padding:34px 38px!important}
.footer{padding-top:48px!important}

/* Prevent fixed-height image traps from legacy CSS */
.ingredient-grid img,.product-image img,.product-card img,.assurance-card img,.mission-card img{max-width:100%!important}

@media(max-width:1000px){
  .site-header .nav,.navbar-inner,.header-inner{min-height:96px!important}
  .avn-logo-link,a.brand.avn-logo-link,a.logo.avn-logo-link,.brand-logo.avn-logo-link{width:82px!important;min-width:82px!important;height:82px!important;border-radius:17px!important}
  .avn-master-logo,.avn-logo-link img,.site-header .avn-master-logo,.navbar .avn-master-logo,.header-inner .avn-master-logo{width:74px!important;height:74px!important;max-width:74px!important;max-height:74px!important;flex-basis:74px!important}
  .hero-grid{grid-template-columns:1fr!important}.product-stage{width:min(620px,100%);margin:auto}
  .ingredient-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .shell,.container,.page-width{width:min(100% - 28px,1180px)!important}
  .site-header .nav,.navbar-inner,.header-inner{min-height:82px!important;padding-top:4px!important;padding-bottom:4px!important}
  .site-header .nav{grid-template-columns:70px minmax(0,1fr) auto!important;gap:10px!important}
  .avn-logo-link,a.brand.avn-logo-link,a.logo.avn-logo-link,.brand-logo.avn-logo-link{width:70px!important;min-width:70px!important;height:70px!important;padding:3px!important;border-radius:15px!important}
  .avn-master-logo,.avn-logo-link img,.site-header .avn-master-logo,.navbar .avn-master-logo,.header-inner .avn-master-logo{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important;flex-basis:64px!important}
  h1{font-size:clamp(36px,11vw,46px)!important}h2{font-size:clamp(28px,8.4vw,36px)!important}h3{font-size:20px!important}
  .page-hero h1{font-size:clamp(34px,10vw,44px)!important}
  .hero{padding:36px 0 32px!important}.section{padding:52px 0!important}.page-hero{padding:42px 0!important}
  .product-stage{grid-template-columns:minmax(0,1fr) 92px!important;gap:9px!important}
  .stage-badge{position:static!important;grid-column:1/-1!important;margin-top:2px!important;font-size:9px!important}
  .ingredient-grid{grid-template-columns:1fr!important;gap:16px!important}
  .ingredient-grid img{aspect-ratio:1/1!important;height:auto!important}
  .ingredient-grid article>div{padding:16px 18px 18px!important}
  .product-card{display:block!important}.product-visual{aspect-ratio:1/1!important}
  .cta-card{padding:28px 22px!important;display:grid!important}
  .footer .avn-logo-link,.footer-brand .avn-logo-link{width:112px!important;min-width:112px!important;height:112px!important}
  .footer .avn-master-logo,.footer-brand .avn-master-logo,.footer .avn-logo-link img{width:102px!important;height:102px!important;max-width:102px!important;max-height:102px!important}
}
