:root{
  --bg:#efe7d7;
  --paper:#fbfaf6;
  --paper-2:#f7f5ef;
  --line:#e1dfd5;
  --line-2:#d4d2c7;
  --text:#202a22;
  --muted:#6f766f;
  --green:#587c31;
  --green-dark:#48672a;
  --green-light:#e4ead6;
  --green-pale:#f0f3e8;
  --gold:#c7a950;
  --shadow:0 22px 60px rgba(74,68,50,.08);
  --font:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;background:#eee5d3;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
h1,h2,h3,h4,h5,p{margin-top:0}
.site-background{position:fixed;inset:0;background:url('assets/img/bg-frame-desktop.png') center/cover no-repeat;z-index:-5}
.site-background::after{content:"";position:absolute;inset:0;background:rgba(247,241,228,.12)}
.site-frame{width:min(1500px,calc(100% - 180px));margin:18px auto 32px;background:rgba(251,250,246,.94);border:1px solid rgba(255,255,255,.78);border-radius:34px;box-shadow:var(--shadow);overflow:hidden;backdrop-filter:blur(8px)}

/* shared header */
.topbar{height:74px;padding:0 34px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:24px;border-bottom:1px solid var(--line);background:rgba(251,250,246,.88);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center}.brand img{width:172px;height:auto}.nav{display:flex;justify-content:center;gap:31px}.nav a{font-size:13px;font-weight:500;color:#30382f;white-space:nowrap}.nav a:hover,.nav a.active{color:var(--green)}
.actions{display:flex;align-items:center;gap:10px}.btn{border:1px solid var(--line-2);background:#fff;border-radius:999px;min-height:42px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-size:13px;font-weight:500;transition:.2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(62,75,46,.08)}.btn-primary{color:#fff;background:linear-gradient(180deg,#668a3c,#51752f);border-color:transparent}.btn-ghost{background:rgba(255,255,255,.72)}.btn-small{min-height:38px;padding:0 18px}
.user-chip{border:1px solid var(--line);background:#fff;border-radius:999px;min-height:44px;padding:4px 12px 4px 5px;display:flex;align-items:center;gap:9px;cursor:pointer}.user-chip b{display:block;font-size:12px;font-weight:500}.user-chip small{display:block;color:var(--muted);font-size:10px}.avatar-mini{width:32px;height:32px;border-radius:50%;background:#e6eadb;display:grid;place-items:center;color:var(--green);font-weight:600}

/* typography */
.eyebrow{font-size:10px;letter-spacing:.1em;color:var(--green);font-weight:600;margin-bottom:14px}.breadcrumbs{display:flex;align-items:center;gap:9px;color:#7f857b;font-size:11px;margin-bottom:14px}.breadcrumbs a{color:var(--green)}
h1{font-size:clamp(36px,3.2vw,54px);line-height:1.06;letter-spacing:-.035em;font-weight:450;margin-bottom:15px}h2{font-size:23px;line-height:1.2;letter-spacing:-.02em;font-weight:500}h3{font-size:17px;line-height:1.25;font-weight:500}h4{font-size:14px;line-height:1.3;font-weight:500}.muted{color:var(--muted);font-size:12px}.green{color:var(--green)!important}

/* homepage */
.hero-home{display:grid;grid-template-columns:.86fr 1.14fr;gap:36px;padding:48px 50px 20px;min-height:430px}.hero-copy{padding-top:28px;max-width:560px}.hero-copy p{font-size:14px;color:#5d655e;max-width:480px;margin-bottom:22px}.hero-actions{display:flex;gap:10px}.hero-visual{position:relative;min-height:390px;border-radius:105px 18px 18px 18px;overflow:visible}.hero-visual>img{width:100%;height:100%;object-fit:cover;border-radius:105px 18px 18px 18px}.hero-stat{position:absolute;left:-32px;width:164px;background:rgba(251,250,246,.92);border:1px solid rgba(255,255,255,.9);border-radius:16px;padding:14px 15px;box-shadow:0 10px 24px rgba(56,65,48,.08);backdrop-filter:blur(8px)}.hero-stat.stat-a{top:145px}.hero-stat.stat-b{top:232px}.hero-stat strong{display:block;font-size:25px;font-weight:450;color:var(--green)}.hero-stat small{display:block;font-size:9px;color:#727870;line-height:1.35;margin-top:2px}.stat-icon{float:left;margin-right:10px;color:var(--green);font-size:19px}.benefit-strip{margin:0 50px 26px;padding:14px 18px;border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.48)}.benefit-strip article{display:flex;gap:12px;padding:2px 18px;border-right:1px solid var(--line)}.benefit-strip article:last-child{border-right:none}.benefit-strip strong{display:block;font-size:11px;font-weight:600}.benefit-strip small{display:block;color:var(--muted);font-size:9px;margin-top:3px;line-height:1.35}.line-icon{width:34px;height:34px;border-radius:50%;background:var(--green-pale);display:grid;place-items:center;color:var(--green);font-size:18px;flex:none}
.home-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:26px;padding:0 50px}.home-block{min-width:0}.block-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.block-title h2{font-size:16px;margin:0}.block-title a{font-size:10px;color:#656d64}.category-mosaic{height:245px;display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px}.category-tile{position:relative;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#f4f2eb}.category-tile img{width:100%;height:100%;object-fit:cover}.category-tile>div{position:absolute;inset:0;padding:16px;background:linear-gradient(90deg,rgba(250,248,241,.96) 0%,rgba(250,248,241,.62) 52%,rgba(250,248,241,0) 78%)}.category-tile h3{font-size:14px;margin:0 0 7px;max-width:120px}.category-tile p{font-size:9px;color:#667067;max-width:120px;margin:0}.category-tile span{position:absolute;left:16px;bottom:14px;font-size:9px;color:var(--green)}.category-main{grid-row:span 2}.category-main h3{font-size:17px}.product-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.product-card{position:relative;border:1px solid var(--line);border-radius:11px;padding:10px;background:rgba(255,255,255,.56);min-height:245px}.product-card .image{height:128px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.product-card .image img{width:100%;height:100%;object-fit:contain}.product-card h4{font-size:10px;min-height:31px;margin-bottom:3px}.product-card .muted{font-size:9px}.price-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.price{font-size:15px;font-weight:500}.circle-btn{width:28px;height:28px;border-radius:9px;border:0;background:var(--green);color:white;display:grid;place-items:center;cursor:pointer}.heart{position:absolute;top:8px;right:8px;border:0;background:transparent;color:#90958e;font-size:17px;z-index:2}.pv-label{display:inline-flex;background:#dbe4c9;color:#5f793c;border-radius:999px;padding:4px 7px;font-size:9px;line-height:1}.product-card>.pv-label{position:absolute;top:9px;left:9px;z-index:2}
.news-section{padding:18px 50px 12px}.news-editorial{display:grid;grid-template-columns:1.05fr .95fr;gap:10px}.news-feature{border:1px solid var(--line);border-radius:11px;overflow:hidden;display:grid;grid-template-columns:42% 1fr;min-height:160px;background:#f5f3eb}.news-feature img{width:100%;height:100%;object-fit:cover}.news-feature>div{padding:18px}.news-feature h3{margin:8px 0 5px}.news-feature p{font-size:9px;color:var(--muted);max-width:310px}.news-feature a,.news-list a{font-size:9px;color:#596759}.micro{font-size:8px;color:var(--green);font-weight:600}.news-list{display:grid;gap:8px}.news-list article{border:1px solid var(--line);border-radius:11px;display:grid;grid-template-columns:115px 1fr 36px;align-items:center;overflow:hidden;min-height:76px}.news-list img{width:115px;height:100%;object-fit:cover}.news-list article>div{padding:9px 14px}.news-list h3{font-size:11px;margin:4px 0}.round-arrow{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:#878c84}

/* common intro */
.page-intro{display:grid;grid-template-columns:.72fr 1.28fr;gap:28px;padding:28px 48px 16px;align-items:center}.intro-copy{padding:8px 0 0 12px}.intro-copy h1{font-size:42px;margin-bottom:12px}.intro-copy p{max-width:420px;color:#5f675f;font-size:13px}.intro-art{height:220px;border-radius:12px 12px 38px 12px;overflow:hidden}.intro-art img{width:100%;height:100%;object-fit:cover}

/* catalog */
.category-tabs{padding:0 48px 16px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.tab{min-height:68px;border:1px solid var(--line);background:rgba(255,255,255,.48);border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.tab-icon{width:31px;height:31px;border-radius:9px;background:var(--green-pale);display:grid;place-items:center;color:var(--green);font-size:16px}.tab b{display:block;font-size:10px;font-weight:500}.tab small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.tab.active{border-color:#99a878;background:#eef2e5}.catalog-layout{padding:0 48px 24px;display:grid;grid-template-columns:225px 1fr;gap:18px}.filter-panel{border:1px solid var(--line);border-radius:12px;padding:14px;background:rgba(255,255,255,.46);align-self:start}.filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.filter-head h3{font-size:13px;margin:0}.section-link{font-size:9px;color:#6b7468}.search input,.filter-range input,.promo-row input,.field input,.footer input{width:100%;height:34px;border:1px solid var(--line);border-radius:8px;background:white;padding:0 10px;outline:none;font-size:10px}.filter-group{border-top:1px solid #ebe8df;padding:12px 0}.filter-group h4{font-size:10px;margin-bottom:10px}.range-line{height:3px;background:#dedfd4;border-radius:999px;position:relative;margin:12px 6px}.range-line span{display:block;width:74%;height:3px;background:var(--green);border-radius:999px}.chips{display:flex;justify-content:space-between}.chips span{font-size:8px;border:1px solid var(--line);border-radius:6px;padding:3px 7px;background:white}.switch-line{display:flex;justify-content:space-between;align-items:center;font-size:9px;margin:7px 0}.toggle{width:28px;height:16px;border-radius:999px;background:#d9d9d2;position:relative;cursor:pointer}.toggle::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15)}.toggle.on{background:#6a8f3e}.toggle.on::after{left:14px}.checklist{display:grid;gap:7px}.check{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#525a51}.check span{display:flex;align-items:center;gap:6px}.check span::before{content:"";width:10px;height:10px;border:1px solid var(--line-2);border-radius:2px;background:#fff}.check em{font-style:normal;color:#92978f}.filter-reset-btn{width:100%;margin-top:6px;height:34px;font-size:9px}.products-panel{min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;min-height:42px}.toolbar .tags{display:flex;gap:7px;flex-wrap:wrap}.toolbar .tags span{font-size:8px;background:#eef2e4;color:#637647;border-radius:999px;padding:6px 10px}.toolbar-right{display:flex;align-items:center;gap:8px;color:#787e76;font-size:9px}.sort-select{height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 28px 0 10px;font-size:9px}.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.catalog-card{position:relative;min-height:220px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.52);padding:10px}.catalog-card .image{height:118px;margin-bottom:8px}.catalog-card .image img{width:100%;height:100%;object-fit:contain}.catalog-card h4{font-size:10px;margin:0 0 3px;min-height:26px}.catalog-card .muted{font-size:8px}.catalog-card .circle-btn{position:absolute;right:8px;bottom:8px;width:26px;height:26px}.catalog-price{display:flex;align-items:center;gap:6px;margin-top:8px}.catalog-price .price{font-size:12px}.partner-price{font-size:9px;background:var(--green);color:#fff;border-radius:4px;padding:3px 5px}.catalog-price .pv-label{font-size:8px}.new-badge{position:absolute;left:8px;top:8px;background:#96ad66;color:#fff;border-radius:4px;padding:3px 6px;font-size:7px;z-index:2}.catalog-card.featured{background:#eff1e7}.pagination{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:16px}.pagination>*{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:9px}.pagination .active{background:var(--green);color:#fff}

/* account */
.account-intro{grid-template-columns:.68fr 1.32fr;padding-bottom:18px}.account-promo{position:relative;height:185px;border-radius:12px 12px 35px 12px;overflow:hidden}.account-promo img{width:100%;height:100%;object-fit:cover}.account-promo>div{position:absolute;inset:0;z-index:2;padding:34px;background:linear-gradient(90deg,rgba(249,247,240,.88),rgba(249,247,240,.2) 55%,transparent)}.account-promo h3{font-size:22px;margin-bottom:14px}.account-summary-strip{margin:0 48px 16px;display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.46)}.account-summary-strip article{display:flex;align-items:center;gap:9px;padding:15px 12px;border-right:1px solid var(--line)}.account-summary-strip article:last-child{border-right:0}.metric-symbol{width:32px;height:32px;border-radius:50%;background:var(--green-pale);display:grid;place-items:center;color:var(--green);font-size:15px}.account-summary-strip small{display:block;color:var(--muted);font-size:8px}.account-summary-strip strong{display:block;font-size:16px;font-weight:450;margin-top:1px}.account-layout{padding:0 48px 24px;display:grid;grid-template-columns:214px 1fr;gap:12px}.profile-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:rgba(255,255,255,.46)}.profile-avatar{width:74px;height:74px;border-radius:50%;background:linear-gradient(145deg,#f2e9da,#d8ccb6);display:grid;place-items:center;margin:0 auto 10px;position:relative;font-size:25px;color:#725c47}.profile-avatar button{position:absolute;right:-2px;bottom:2px;width:25px;height:25px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green)}.profile-card h3{text-align:center;margin:0 0 4px}.profile-card>.muted{text-align:center}.status-row{display:flex;justify-content:center;gap:6px;margin:10px 0}.badge{font-size:8px;background:#edf0ea;border-radius:999px;padding:5px 8px;color:#5c6b57}.badge.gold{background:#f5e8bd;color:#987724}.location{font-size:9px;margin:12px 0;color:#646c63}.profile-card>.btn{width:100%;height:34px;font-size:9px}.side-menu{display:grid;gap:2px;margin:12px 0}.side-menu a{padding:8px 10px;border-radius:7px;font-size:9px}.side-menu a.active,.side-menu a:hover{background:#eceee5}.support-card{margin-top:22px;padding:12px;background:#f4f1e7;border-radius:9px}.support-card small{font-size:8px}.support-card p{font-size:9px;margin:3px 0 10px;color:var(--muted)}.support-card strong{font-size:12px}.support-card .btn{margin-top:10px;width:100%;font-size:8px}.account-main{min-width:0}.account-top-grid{display:grid;grid-template-columns:220px 1.2fr .95fr;gap:12px}.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.balance-grid article,.rank-card,.personal-card,.structure-metrics,.orders-card,.learning-card{border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.45)}.balance-grid article{padding:14px;min-height:122px;position:relative;overflow:hidden}.balance-grid small{display:block;font-size:9px}.balance-grid strong{display:block;font-size:18px;font-weight:450;margin-top:12px}.ghost-symbol{position:absolute;right:10px;bottom:5px;font-size:33px;color:#c9c3aa}.rank-card,.personal-card{padding:16px}.rank-head,.card-head{display:flex;align-items:center;justify-content:space-between}.rank-head h3{font-size:19px;margin:2px 0}.rank-card p{font-size:8px;color:var(--muted);margin:10px 0}.progress{height:7px;background:#e6e5df;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--green);border-radius:999px}.rank-stats{display:grid;gap:8px;margin-top:14px}.rank-stats>div{display:flex;justify-content:space-between;font-size:9px}.rank-stats small{color:var(--muted)}.rank-stats strong{font-weight:500}.success-note{font-size:8px;line-height:1.45;background:#f3f0e7;border-radius:8px;padding:10px;margin-top:12px}.card-head h3{margin:0}.card-head a,.card-head span{font-size:8px;color:var(--green)}.personal-card dl{margin:12px 0 0}.personal-card dl div{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:8px;padding:5px 0;border-bottom:1px solid #ece9df}.personal-card dl div:last-child{border-bottom:0}.personal-card dt{color:var(--muted)}.personal-card dd{margin:0}.structure-metrics{margin-top:12px;padding:14px}.structure-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:10px}.structure-grid article{background:#f7f5ef;border-radius:7px;padding:8px}.structure-grid small{display:block;font-size:7px;color:var(--muted);min-height:22px}.structure-grid strong{display:block;font-size:13px;font-weight:450}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;margin-top:12px}.orders-card,.learning-card{padding:14px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;margin-top:10px;font-size:8px}.table th,.table td{padding:8px 6px;text-align:left;border-bottom:1px solid #ece9df;white-space:nowrap}.table th{color:var(--muted);font-weight:500}.order-status{display:inline-flex;padding:4px 7px;border-radius:999px}.order-status.done{background:#e5ecd8;color:#58733c}.order-status.wait{background:#f1e2bd;color:#8f6c21}.account-tabs{display:flex;gap:14px}.account-tabs button{border:0;background:transparent;padding:0 0 6px;font-size:9px;color:#7e847d}.account-tabs button.active{color:var(--green);border-bottom:1px solid var(--green)}.list-news{display:grid;margin-top:10px}.list-news article{display:grid;grid-template-columns:78px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #ece9df}.list-news article:last-child{border-bottom:0}.list-news img{width:78px;height:54px;object-fit:cover;border-radius:7px}.list-news h4{font-size:9px;margin:0 0 3px}.list-news p{font-size:7px;color:var(--muted);margin:0 0 2px}.list-news small{font-size:7px;color:#949992}

/* cart */
.cart-intro{grid-template-columns:.72fr 1.28fr}.cart-layout{padding:0 48px 14px;display:grid;grid-template-columns:1fr 370px;gap:16px}.cart-main{min-width:0}.cart-card,.promo-row,.add-section,.order-card,.related-section{border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.47)}.cart-card{padding:0 18px}.cart-item{display:grid;grid-template-columns:90px 1.45fr 120px 55px 82px 74px 20px;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #e8e5dc}.cart-item:last-child{border-bottom:0}.cart-item>img{width:90px;height:74px;object-fit:contain;background:#f4f2eb;border-radius:7px}.cart-info h4{font-size:10px;margin:0 0 8px}.cart-info small{font-size:8px;color:var(--muted)}.cart-prices{display:grid}.cart-prices .retail{font-size:10px}.cart-prices small{font-size:7px;color:var(--muted)}.cart-prices strong{font-size:11px;color:var(--green);font-weight:500}.qty{display:flex;align-items:center;justify-content:center;gap:9px;height:31px;border:1px solid var(--line);border-radius:999px;font-size:10px}.qty span{cursor:pointer}.line-total{font-size:11px;font-weight:500}.remove-btn{border:0;background:transparent;color:#858a83;font-size:15px;cursor:pointer}.promo-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin-top:10px}.promo-row>div{display:flex;align-items:center;gap:10px}.promo-row h4{font-size:10px;margin:0}.promo-row small{font-size:7px;color:var(--muted)}.promo-row input{width:190px}.promo-icon{width:32px;height:32px;border-radius:50%;background:var(--green-pale);display:grid;place-items:center;color:var(--green)}.add-section{padding:13px 16px;margin-top:10px}.add-section .card-head{margin-bottom:10px}.add-carousel{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mini-add{display:grid;grid-template-columns:55px 1fr 25px;gap:8px;align-items:center;border-right:1px solid #e8e5dc;padding-right:8px}.mini-add:last-child{border-right:0}.mini-add img{width:55px;height:52px;object-fit:contain;background:#f5f3ec;border-radius:7px}.mini-add small{font-size:7px}.mini-add strong{font-size:10px;display:block;margin-top:3px}.mini-add .circle-btn{width:24px;height:24px;border-radius:50%}.order-card{padding:18px;align-self:start;position:sticky;top:88px}.order-card h2{font-size:20px;margin-bottom:16px}.summary-line{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid #e8e5dc;font-size:9px}.summary-line strong{font-weight:500}.summary-total{display:flex;align-items:end;justify-content:space-between;border-top:1px solid #e8e5dc;margin-top:12px;padding-top:14px}.summary-total span{font-size:17px}.summary-total strong{font-size:29px;font-weight:450;color:var(--green)}.delivery-progress{padding:14px 0;border-top:1px solid #e8e5dc}.delivery-progress>div:first-child{display:flex;justify-content:space-between;font-size:8px;margin-bottom:8px}.delivery-progress small,.order-card>small{font-size:7px;color:var(--muted)}.checkout-btn,.save-btn{width:100%;margin-top:12px}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}.trust-row>span{display:flex;align-items:center;gap:5px;color:var(--green);font-size:13px}.trust-row small{font-size:7px;color:#6e756d}.related-section{margin:0 48px 20px;padding:12px 14px}.related-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:9px}.also-card{border:1px solid #e8e5dc;border-radius:8px;padding:7px;display:grid;grid-template-columns:68px 1fr 27px;gap:7px;align-items:center}.also-card img{width:68px;height:70px;object-fit:contain;background:#f4f2eb;border-radius:5px}.also-card small{display:block;font-size:7px;min-height:24px}.also-card .price{font-size:10px;margin-top:5px}.also-card .circle-btn{width:25px;height:25px;border-radius:7px}

/* footer */
.footer{margin-top:8px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.25fr repeat(3,.7fr) 1.4fr;gap:28px;padding:22px 50px 16px;background:rgba(247,245,239,.72);position:relative}.footer-brand .brand img{width:150px}.footer p{font-size:8px;color:var(--muted);max-width:185px}.footer h5{font-size:9px;margin-bottom:9px}.footer>div:not(.footer-brand):not(.footer-subscribe):not(.footer-bottom){display:flex;flex-direction:column;gap:5px}.footer a{font-size:8px;color:#596159}.footer-subscribe h4{font-size:15px;margin-bottom:5px}.footer-subscribe p{max-width:260px}.footer-subscribe>div{display:flex;gap:7px}.footer-subscribe input{height:34px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:11px;display:flex;justify-content:space-between;color:#858a82;font-size:7px}

/* modal, preloader, misc */
.preloader{position:fixed;inset:0;display:grid;place-items:center;background:#f7f3e9;z-index:200;transition:.35s}.preloader.hidden{opacity:0;visibility:hidden}.preloader .inner{display:grid;place-items:center;gap:12px}.preloader img{width:170px}.loader-ring{width:34px;height:34px;border:2px solid #dde2d5;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.login-modal{position:fixed;inset:0;background:rgba(30,35,28,.22);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;z-index:120;transition:.2s}.login-modal.open{opacity:1;visibility:visible}.login-panel{width:min(440px,100%);background:#fbfaf6;border:1px solid #fff;border-radius:18px;padding:24px;box-shadow:0 25px 70px rgba(40,45,35,.18)}.login-panel h3{font-size:23px;margin-bottom:7px}.login-panel p{font-size:11px;color:var(--muted);margin-bottom:15px}.form-grid{display:grid;gap:9px}.field input{height:42px;font-size:12px}.login-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:3px}.login-status{font-size:10px}.login-status.error{color:#b34e42}.login-status.success{color:var(--green)}.site-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);opacity:0;background:#243022;color:white;padding:10px 14px;border-radius:999px;font-size:11px;z-index:160;transition:.2s}.site-toast.show{opacity:1;transform:translate(-50%,0)}
.partner-price-banner{margin:0 0 10px;padding:8px 11px;border-radius:8px;background:#eef3e6;border:1px solid #dfe8d2;display:flex;gap:12px;align-items:center;font-size:9px}.partner-price-banner span{color:var(--muted)}del{color:#9a9d97;font-size:.7em;margin-left:4px}.bottom-nav{display:none}

/* override old JS motion hooks */
.motion-orb{display:none!important}.motion-card{opacity:1!important;transform:none!important}.liquid-pop{animation:none!important}.is-partner .partner-price{display:inline-flex}.logout-btn{width:100%;margin-top:8px;border:1px solid #e0d8cd;background:#fff8f4;color:#a45743;border-radius:8px;height:34px;font-size:9px;cursor:pointer}
.filter-range{display:grid;grid-template-columns:1fr 1fr;gap:6px}.filter-range label{font-size:7px;color:var(--muted)}.filter-range input{margin-top:3px;height:29px}.check input{display:none}

@media (max-width:1280px){.site-frame{width:min(1400px,calc(100% - 90px))}.nav{gap:18px}.hero-home{grid-template-columns:.8fr 1.2fr}.home-grid{grid-template-columns:1fr}.category-mosaic{height:260px}.product-row{grid-template-columns:repeat(4,1fr)}.account-top-grid{grid-template-columns:190px 1fr}.personal-card{grid-column:1/-1}.structure-grid{grid-template-columns:repeat(4,1fr)}.catalog-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:980px){.site-frame{width:calc(100% - 28px);margin:12px auto 90px;border-radius:22px}.topbar{height:auto;min-height:66px;padding:11px 16px;grid-template-columns:1fr auto}.brand img{width:142px}.nav{display:none}.actions .btn-ghost{display:none}.hero-home{grid-template-columns:1fr;padding:26px 24px 12px}.hero-copy{padding-top:0}.hero-visual{min-height:320px}.hero-stat{left:12px}.benefit-strip{margin:0 24px 20px;grid-template-columns:1fr 1fr}.benefit-strip article:nth-child(2){border-right:0}.benefit-strip article:nth-child(-n+2){border-bottom:1px solid var(--line);padding-bottom:10px}.home-grid,.news-section,.catalog-layout,.account-layout,.cart-layout{padding-left:24px;padding-right:24px}.page-intro{padding-left:24px;padding-right:24px}.category-tabs{padding-left:24px;padding-right:24px;grid-template-columns:repeat(4,1fr)}.catalog-layout{grid-template-columns:200px 1fr}.catalog-grid{grid-template-columns:repeat(2,1fr)}.account-summary-strip{margin-left:24px;margin-right:24px;grid-template-columns:repeat(3,1fr)}.account-summary-strip article:nth-child(3n){border-right:0}.account-summary-strip article:nth-child(-n+3){border-bottom:1px solid var(--line)}.account-layout{grid-template-columns:180px 1fr}.account-top-grid{grid-template-columns:1fr}.balance-grid{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:1fr}.cart-layout{grid-template-columns:1fr}.order-card{position:relative;top:auto}.related-section{margin-left:24px;margin-right:24px}.related-grid{grid-template-columns:repeat(3,1fr)}.footer{padding-left:24px;padding-right:24px;grid-template-columns:1fr 1fr 1fr}.footer-subscribe{grid-column:1/-1}.bottom-nav{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);width:min(520px,calc(100% - 24px));height:64px;display:grid;grid-template-columns:repeat(4,1fr);padding:5px;background:rgba(251,250,246,.93);border:1px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 10px 30px rgba(54,60,48,.12);backdrop-filter:blur(12px);z-index:100}.bottom-nav a{display:grid;place-items:center;align-content:center;gap:1px;border-radius:13px;color:#687067}.bottom-nav a.active{background:#edf1e4;color:var(--green)}.bottom-nav span{font-size:17px;line-height:1}.bottom-nav small{font-size:8px}}
@media (max-width:700px){body{font-size:13px}.site-background{background-image:url('assets/img/bg-frame-mobile.png');background-position:center top}.site-frame{width:calc(100% - 18px);margin:8px auto 86px;border-radius:18px}.topbar{padding:10px 12px;min-height:58px}.brand img{width:132px}.actions{gap:5px}.actions .btn-primary{font-size:10px;min-height:34px;padding:0 12px}.user-chip{min-height:34px}.user-chip small,.user-chip>span:last-child{display:none}.avatar-mini{width:26px;height:26px}.hero-home{padding:18px 14px 10px;gap:17px}.hero-copy{order:2}.hero-visual{order:1;min-height:250px;border-radius:52px 12px 12px 12px}.hero-visual>img{border-radius:52px 12px 12px 12px}.hero-stat{width:125px;padding:9px 10px}.hero-stat.stat-a{top:110px}.hero-stat.stat-b{top:170px}.hero-stat strong{font-size:18px}.hero-stat small{font-size:7px}h1{font-size:31px}.hero-copy p{font-size:12px}.hero-actions{flex-wrap:wrap}.btn{min-height:38px;font-size:11px;padding:0 14px}.benefit-strip{margin:0 14px 16px;padding:8px;grid-template-columns:1fr}.benefit-strip article{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:9px 8px!important}.benefit-strip article:last-child{border-bottom:0!important}.home-grid,.news-section{padding-left:14px;padding-right:14px}.home-grid{gap:18px}.category-mosaic{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:160px 120px 120px}.category-main{grid-row:span 1;grid-column:span 2}.product-row{grid-template-columns:1fr 1fr}.news-editorial{grid-template-columns:1fr}.news-feature{grid-template-columns:1fr}.news-feature img{height:130px}.page-intro{grid-template-columns:1fr;padding:18px 14px 10px;gap:14px}.intro-copy{padding:0}.intro-copy h1{font-size:30px}.intro-art{height:145px}.category-tabs{padding:0 14px 12px;display:flex;overflow:auto}.tab{min-width:140px;min-height:56px}.catalog-layout{padding:0 14px 18px;grid-template-columns:1fr}.filter-panel{position:relative}.filter-group:nth-of-type(n+3){display:none}.catalog-grid{grid-template-columns:1fr 1fr}.catalog-card{min-height:205px}.catalog-card .image{height:105px}.account-summary-strip{margin:0 14px 12px;grid-template-columns:1fr 1fr}.account-summary-strip article:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.account-summary-strip article:nth-child(2n){border-right:0}.account-layout{padding:0 14px 18px;grid-template-columns:1fr}.sidebar{order:2}.profile-card{display:grid;grid-template-columns:76px 1fr;gap:8px;align-items:start}.profile-avatar{grid-row:1/5;margin:0}.profile-card h3,.profile-card>.muted{text-align:left}.status-row{justify-content:flex-start;margin:5px 0}.location{grid-column:2}.profile-card>.btn,.side-menu,.support-card,.logout-btn{grid-column:1/-1}.side-menu{grid-template-columns:1fr 1fr}.account-top-grid{grid-template-columns:1fr}.balance-grid{grid-template-columns:1fr 1fr}.structure-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.table{font-size:7px}.cart-layout{padding:0 14px 12px}.cart-card{padding:0 10px}.cart-item{grid-template-columns:60px 1fr 24px;gap:8px}.cart-item>img{width:60px;height:56px}.cart-prices,.cart-item>.pv-label,.qty,.line-total{grid-column:2}.remove-btn{grid-column:3;grid-row:1}.promo-row{align-items:stretch;flex-direction:column;gap:10px}.promo-row>div:last-child{display:grid;grid-template-columns:1fr auto}.promo-row input{width:100%}.add-carousel{grid-template-columns:1fr 1fr}.mini-add{border-right:0}.related-section{margin:0 14px 14px}.related-grid{grid-template-columns:1fr 1fr}.also-card{grid-template-columns:52px 1fr 24px}.also-card img{width:52px;height:55px}.footer{padding:18px 14px 14px;grid-template-columns:1fr 1fr;gap:18px}.footer-brand,.footer-subscribe{grid-column:1/-1}.footer-bottom{display:grid;gap:4px}.footer-subscribe>div{display:grid;grid-template-columns:1fr auto}}
.partner-price{display:none}.is-partner .partner-price{display:inline-flex}

/* =========================================================
   v12 — readability, catalog controls, product detail
   ========================================================= */
/* 1) Readability: increase supporting text only; heading scale stays unchanged. */
body{font-size:16px}
.nav a{font-size:14px}
.btn{font-size:14px}
.user-chip b{font-size:13px}.user-chip small{font-size:12px}
.eyebrow{font-size:12px}.breadcrumbs{font-size:13px}.muted{font-size:13px}
.hero-copy p{font-size:16px;line-height:1.55}
.hero-stat small{font-size:11px}
.benefit-strip strong{font-size:13px}.benefit-strip small{font-size:12px;line-height:1.45}
.block-title a{font-size:13px}
.category-tile p{font-size:12px;line-height:1.42}.category-tile span{font-size:12px}
.product-card .muted{font-size:12px}.price{font-size:16px}.pv-label{font-size:11px}
.news-feature p{font-size:12px;line-height:1.5}.news-feature a,.news-list a{font-size:12px}.micro{font-size:10px}
.intro-copy p{font-size:15px;line-height:1.55}
.tab b{font-size:12px}.tab small{font-size:11px}
.catalog-card .muted{font-size:12px}.catalog-price .price{font-size:15px}.partner-price{font-size:11px}.catalog-price .pv-label{font-size:10px}.new-badge{font-size:9px}.pagination>*{font-size:12px}
.account-summary-strip small{font-size:11px}.profile-card>.muted{font-size:12px}.badge{font-size:11px}.location{font-size:12px}.profile-card>.btn{font-size:12px}.side-menu a{font-size:12px}.support-card small{font-size:11px}.support-card p{font-size:12px;line-height:1.45}.support-card strong{font-size:13px}.support-card .btn{font-size:12px}
.balance-grid small{font-size:12px}.rank-card p{font-size:12px}.rank-stats>div{font-size:12px}.success-note{font-size:11px}.card-head a,.card-head span{font-size:11px}.personal-card dl div{font-size:11px}.structure-grid small{font-size:10px}.table{font-size:11px}.account-tabs button{font-size:12px}.list-news p,.list-news small{font-size:10px}
.cart-info small{font-size:11px}.cart-prices .retail{font-size:12px}.cart-prices small{font-size:10px}.cart-prices strong{font-size:13px}.qty{font-size:13px}.line-total{font-size:13px}.promo-row small{font-size:10px}.mini-add small{font-size:10px}.summary-line{font-size:12px}.delivery-progress>div:first-child{font-size:11px}.delivery-progress small,.order-card>small{font-size:10px}.trust-row small{font-size:10px}.also-card small{font-size:10px}.also-card .price{font-size:12px}
.footer p{font-size:11px;line-height:1.5}.footer h5{font-size:12px}.footer a{font-size:11px}.footer-bottom{font-size:10px}.footer input{font-size:12px}
.login-panel p{font-size:13px}.field input{font-size:13px}.login-status{font-size:12px}.site-toast{font-size:13px}.partner-price-banner{font-size:12px}.logout-btn{font-size:12px}
.bottom-nav small{font-size:10px}

/* 2) Home: popular products are full-width directly below categories. */
.home-grid{grid-template-columns:1fr;gap:24px}
.categories-block,.products-block{width:100%}
.products-block .product-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.products-block .product-card{min-height:258px}

/* 3) Catalog: remove side rail and use custom on-brand controls. */
.catalog-layout.catalog-layout-full{display:block;padding:0 48px 26px}
.catalog-layout-full .products-panel{width:100%}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;min-height:48px}
.catalog-toolbar-left,.catalog-toolbar-right{display:flex;align-items:center;gap:10px}
.catalog-toolbar-left{min-width:0;flex:1}
.catalog-count{font-size:13px;color:#596158;white-space:nowrap}
.catalog-search{display:block;flex:1;max-width:360px}
.catalog-search input{width:100%;height:38px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.78);padding:0 13px;color:var(--text);outline:none;font-size:13px;box-shadow:0 2px 9px rgba(50,60,45,.025)}
.catalog-search input:focus{border-color:#aab795;box-shadow:0 0 0 3px rgba(88,124,49,.08)}
.custom-select{position:relative;min-width:175px;z-index:8}
.custom-select-trigger{width:100%;height:38px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.86);padding:0 12px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;color:#3f473f;font-size:13px;box-shadow:0 2px 9px rgba(50,60,45,.025);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.custom-select-trigger:hover,.custom-select.open .custom-select-trigger{border-color:#aab795;background:#fff;box-shadow:0 7px 20px rgba(63,77,50,.07)}
.custom-select-chevron{font-size:15px;color:#7b8378;transition:transform .18s ease}.custom-select.open .custom-select-chevron{transform:rotate(180deg)}
.custom-select-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:100%;width:max-content;max-width:280px;padding:6px;border:1px solid rgba(216,216,205,.92);border-radius:11px;background:rgba(251,250,246,.98);box-shadow:0 16px 38px rgba(54,61,47,.13);opacity:0;visibility:hidden;transform:translateY(-5px);transition:.16s ease;backdrop-filter:blur(12px)}
.custom-select.open .custom-select-menu{opacity:1;visibility:visible;transform:translateY(0)}
.custom-select-option{display:block;width:100%;border:0;background:transparent;border-radius:7px;padding:9px 11px;text-align:left;white-space:nowrap;cursor:pointer;color:#414941;font-size:12px}
.custom-select-option:hover,.custom-select-option.selected{background:#edf1e5;color:var(--green-dark)}
.catalog-layout-full .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.catalog-card{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.catalog-card:hover,.product-card:hover{transform:translateY(-2px);border-color:#d1d7c7;box-shadow:0 9px 24px rgba(61,70,54,.055)}
.catalog-card:focus-visible,.product-card:focus-visible,.related-product-card:focus-visible{outline:2px solid rgba(88,124,49,.38);outline-offset:2px}

/* 4) Product detail. */
.product-page-wrap{padding:24px 48px 24px}
.product-page-wrap>.breadcrumbs{margin:0 0 14px 2px}
.product-detail-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(370px,.92fr);gap:28px;padding:22px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.5)}
.product-gallery{min-width:0}.gallery-main{height:500px;position:relative;display:grid;place-items:center;border:1px solid #ebe8df;border-radius:12px;background:#f6f4ed;overflow:hidden}.gallery-main>img{width:100%;height:100%;object-fit:contain;padding:28px}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(251,250,246,.92);color:#596158;display:grid;place-items:center;font-size:22px;cursor:pointer;z-index:3;box-shadow:0 5px 16px rgba(50,60,45,.07)}.gallery-prev{left:14px}.gallery-next{right:14px}.gallery-thumbs{display:flex;gap:8px;margin-top:10px;overflow:auto}.gallery-thumbs.single-image{display:none}.gallery-thumb{width:76px;height:68px;flex:0 0 76px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:4px;cursor:pointer}.gallery-thumb.active{border-color:#829667;box-shadow:0 0 0 2px rgba(88,124,49,.08)}.gallery-thumb img{width:100%;height:100%;object-fit:contain}
.product-info-panel{padding:12px 8px 8px}.product-brand{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--green);font-weight:550;margin-bottom:10px}.product-info-panel h1{font-size:clamp(30px,3vw,44px);margin-bottom:12px}.product-meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:12px}.product-meta span{padding-right:9px;border-right:1px solid var(--line)}.product-meta span:last-child{border-right:0}.product-meta b{font-weight:500;color:#4e564e}.product-price-block{display:flex;align-items:center;gap:12px;padding:20px 0 15px;margin-top:10px;border-top:1px solid var(--line)}.product-price-block .price{font-size:28px;font-weight:500}.product-description{font-size:15px;line-height:1.65;color:#555e55;margin:0 0 16px}.product-benefits{margin:0 0 20px;padding:0;list-style:none;display:grid;gap:9px}.product-benefits li{font-size:13px;color:#535b53;display:flex;align-items:flex-start;gap:9px}.product-benefits li::before{content:'✓';color:var(--green);font-weight:600}.product-buy-row{display:flex;align-items:center;gap:10px}.product-qty{width:112px;flex:none}.product-add-btn{min-width:210px}.product-note{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.45}
.product-related-section{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.42)}.product-related-section .block-title h2{font-size:17px}.product-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.related-product-card{display:grid;grid-template-columns:104px 1fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.68);padding:10px;cursor:pointer;min-width:0}.related-product-card .image{height:92px;border-radius:8px;background:#f5f3ec;overflow:hidden}.related-product-card .image img{width:100%;height:100%;object-fit:contain}.related-product-copy{min-width:0}.related-product-copy h4{margin:4px 0 7px;font-size:12px;min-height:31px}.related-product-copy .muted{font-size:11px}.related-product-copy .price-row{margin-top:3px}.related-product-copy .price{font-size:13px}

@media(max-width:980px){
  .catalog-layout.catalog-layout-full{padding-left:24px;padding-right:24px}.catalog-layout-full .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-toolbar{align-items:flex-start}.catalog-toolbar-left{flex:1;flex-wrap:wrap}.catalog-search{max-width:none;min-width:230px}.catalog-toolbar-right{flex-wrap:wrap;justify-content:flex-end}
  .product-page-wrap{padding-left:24px;padding-right:24px}.product-detail-card{grid-template-columns:1fr}.gallery-main{height:430px}.product-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  body{font-size:15px}.nav a{font-size:13px}.actions .btn-primary{font-size:12px}.hero-copy p{font-size:15px}.hero-stat small{font-size:10px}.benefit-strip strong{font-size:13px}.benefit-strip small{font-size:11px}.block-title a{font-size:12px}.category-tile p,.category-tile span{font-size:11px}.product-card .muted,.catalog-card .muted{font-size:11px}.footer p,.footer a{font-size:11px}.footer h5{font-size:12px}.footer-bottom{font-size:9px}.bottom-nav small{font-size:10px}
  .products-block .product-row{grid-template-columns:1fr 1fr}.catalog-layout.catalog-layout-full{padding:0 14px 18px}.catalog-toolbar{display:grid;gap:10px}.catalog-toolbar-left{display:grid;grid-template-columns:auto 1fr;width:100%}.catalog-search{min-width:0}.catalog-toolbar-right{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.custom-select{min-width:0}.custom-select-trigger{font-size:12px;padding-left:10px}.custom-select-menu{left:0;right:auto;max-width:min(270px,80vw)}.catalog-layout-full .catalog-grid{grid-template-columns:1fr 1fr}
  .product-page-wrap{padding:16px 14px 12px}.product-detail-card{padding:12px;gap:17px}.gallery-main{height:330px}.gallery-main>img{padding:18px}.gallery-arrow{width:34px;height:34px}.product-info-panel{padding:3px 2px}.product-info-panel h1{font-size:29px}.product-description{font-size:14px}.product-buy-row{align-items:stretch}.product-add-btn{min-width:0;flex:1}.product-related-section{padding:12px;margin-top:14px}.product-related-grid{grid-template-columns:1fr 1fr}.related-product-card{grid-template-columns:1fr;gap:7px}.related-product-card .image{height:120px}.related-product-copy h4{min-height:0}.product-related-section .block-title{align-items:flex-start;gap:7px;flex-direction:column}.product-related-section .block-title h2{font-size:16px}
  .table{font-size:10px}
}
@media(max-width:460px){.catalog-toolbar-left{grid-template-columns:1fr}.catalog-count{order:2}.catalog-toolbar-right{grid-template-columns:1fr}.product-related-grid{grid-template-columns:1fr}.gallery-main{height:290px}.product-buy-row{flex-direction:column}.product-qty{width:100%;justify-content:space-between;padding:0 18px}.product-add-btn{width:100%}}
.related-empty{grid-column:1/-1;padding:22px;border:1px dashed var(--line-2);border-radius:10px;color:var(--muted);font-size:13px;text-align:center;background:rgba(255,255,255,.35)}

/* ===== v13: readable typography + real line icons ===== */
.ui-icon,.nav-icon{display:block;width:1.15em;height:1.15em;fill:none;stroke:currentColor;flex:0 0 auto}
.line-icon .ui-icon,.stat-icon .ui-icon,.tab-icon .ui-icon,.metric-symbol .ui-icon{width:20px;height:20px}
.stat-icon{display:inline-flex;align-items:center;justify-content:center;float:none;margin:0 8px 0 0;vertical-align:middle}
.heart{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.82);border:1px solid rgba(86,105,72,.08)}
.heart .ui-icon{width:16px;height:16px}
.circle-btn .ui-icon,.remove-btn .ui-icon{width:16px;height:16px}
.custom-select-chevron{display:inline-flex;align-items:center;justify-content:center}.custom-select-chevron .ui-icon{width:15px;height:15px}
.metric-symbol{display:grid;place-items:center}.metric-symbol .ui-icon{width:22px;height:22px}
.profile-avatar button{display:grid;place-items:center}.profile-avatar button .ui-icon{width:16px;height:16px}
.location{display:flex;align-items:center;gap:7px}.location>.ui-icon{width:16px;height:16px;color:var(--green)}
.side-menu a{display:flex;align-items:center;gap:10px}.side-menu a>.ui-icon{width:17px;height:17px;color:#6d7a67}.side-menu a.active>.ui-icon,.side-menu a:hover>.ui-icon{color:var(--green)}
.ghost-symbol{display:grid;place-items:center}.ghost-symbol .ui-icon{width:30px;height:30px}
.badge.gold{display:inline-flex;align-items:center;gap:5px}.badge.gold .ui-icon{width:14px;height:14px}
.promo-icon{display:grid;place-items:center}.promo-icon .ui-icon{width:19px;height:19px}
.heading-with-icon{display:flex;align-items:center;gap:8px}.heading-with-icon .ui-icon{width:19px;height:19px;color:var(--green)}
.trust-row>span{display:flex;align-items:center;gap:7px}.trust-row>span>.ui-icon{width:20px;height:20px;color:var(--green)}
.qty span{display:grid;place-items:center}.qty span .ui-icon{width:14px;height:14px}
.bottom-nav a{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px}.bottom-nav .nav-icon{width:21px;height:21px}

/* readable non-heading text */
body{font-size:16px;line-height:1.52}
.nav a{font-size:14px}
.btn{font-size:14px}
.user-chip b{font-size:14px}.user-chip small{font-size:12px}
.eyebrow{font-size:12px}.breadcrumbs{font-size:13px}
.muted{font-size:13px;line-height:1.45}
.hero-copy p{font-size:16px;line-height:1.58}
.hero-stat small{font-size:12px;line-height:1.42}
.benefit-strip strong{font-size:14px}.benefit-strip small{font-size:13px;line-height:1.45}
.block-title a{font-size:13px}
.category-tile p{font-size:13px;line-height:1.44;max-width:150px}.category-tile span{font-size:12px}
.product-card .muted,.catalog-card .muted{font-size:13px}
.product-card h4,.catalog-card h4{font-size:13px;line-height:1.35}
.price{font-size:16px}.pv-label{font-size:11px}.partner-price{font-size:12px}
.news-feature p{font-size:13px;line-height:1.5}.news-feature a,.news-list a{font-size:12px}.micro{font-size:10px}.news-list h3{font-size:13px}
.intro-copy p{font-size:15px;line-height:1.56}
.tab b{font-size:13px}.tab small{font-size:12px}
.catalog-count{font-size:14px}.catalog-search input{font-size:14px}.custom-select-trigger{font-size:14px}.custom-select-option{font-size:13px}
.catalog-price .price{font-size:16px}.catalog-price .pv-label{font-size:11px}.new-badge{font-size:10px}.pagination>*{font-size:13px}
.account-summary-strip small{font-size:13px}.account-summary-strip strong{font-size:18px}
.profile-card>.muted{font-size:13px}.badge{font-size:12px}.location{font-size:13px}.profile-card>.btn{font-size:13px}.side-menu a{font-size:13px}.support-card small{font-size:12px}.support-card p{font-size:13px;line-height:1.48}.support-card strong{font-size:14px}.support-card .btn{font-size:13px}
.balance-grid small{font-size:13px}.rank-card p{font-size:13px}.rank-stats>div{font-size:13px}.success-note{font-size:12px;line-height:1.45}.card-head a,.card-head span{font-size:12px}.personal-card dl div{font-size:12.5px}.structure-grid small{font-size:12px}.table{font-size:12px}.account-tabs button{font-size:13px}.list-news p,.list-news small{font-size:12px;line-height:1.4}
.cart-info small{font-size:13px}.cart-prices .retail{font-size:13px}.cart-prices small{font-size:12px}.cart-prices strong{font-size:14px}.qty{font-size:14px}.line-total{font-size:14px}.promo-row small{font-size:12px}.mini-add small{font-size:12px;line-height:1.35}.summary-line{font-size:13.5px}.delivery-progress>div:first-child{font-size:13px}.delivery-progress small,.order-card>small{font-size:12px}.trust-row small{font-size:11.5px}.also-card small{font-size:12px}.also-card .price{font-size:13px}
.footer p{font-size:13px;line-height:1.52}.footer h5{font-size:13px}.footer a{font-size:12.5px;line-height:1.5}.footer-bottom{font-size:11px}.footer input{font-size:13px}
.login-panel p{font-size:14px;line-height:1.5}.field input{font-size:14px}.login-status{font-size:13px}.site-toast{font-size:13px}.partner-price-banner{font-size:13px}.logout-btn{font-size:13px}
.bottom-nav small{font-size:12px}
.product-brand{font-size:13px}.product-meta{font-size:13px}.product-description{font-size:15.5px}.product-benefits li{font-size:13.5px}.product-note{font-size:12.5px}.related-product-copy .muted{font-size:12px}

@media(max-width:700px){
  body{font-size:16px}
  .nav a{font-size:14px}
  .hero-copy p{font-size:16px}
  .benefit-strip strong{font-size:14px}.benefit-strip small{font-size:12.5px}
  .category-tile p,.category-tile span{font-size:12.5px}
  .product-card .muted,.catalog-card .muted{font-size:12.5px}
  .footer p,.footer a{font-size:12.5px}.footer h5{font-size:13px}.footer-bottom{font-size:10.5px}
  .bottom-nav small{font-size:11.5px}
  .custom-select-trigger{font-size:13px}.custom-select-option{font-size:13px}
  .table{font-size:11.5px}
  .personal-card dl div{font-size:12px}
  .product-description{font-size:15px}
}
.user-chevron-wrap{display:grid;place-items:center}.user-chevron{width:14px;height:14px;color:#7a8376}
.success-note{display:flex;align-items:flex-start;gap:8px}.success-note>.ui-icon{width:17px;height:17px;flex:0 0 17px;margin-top:1px;color:var(--green)}

/* =========================================================
   Greenleaf v13 — readability pass
   Larger supporting text and stronger section headings.
   The primary page/hero H1 intentionally stays unchanged.
   ========================================================= */
body{font-size:16px;line-height:1.52}
.nav a{font-size:15px}
.btn{font-size:15px}
.btn-small{font-size:14px}
.user-chip b{font-size:14px}.user-chip small{font-size:12px}
.eyebrow{font-size:12px}.breadcrumbs{font-size:13px}
/* first/main headings stay as they were */
h2{font-size:29px;line-height:1.18;font-weight:500}
h3{font-size:21px;line-height:1.24;font-weight:500}
h4{font-size:17px;line-height:1.34;font-weight:500}
.muted{font-size:14px}
.hero-copy p{font-size:16px;line-height:1.55}
.hero-stat small{font-size:11px}.hero-stat strong{font-size:26px}
.benefit-strip strong{font-size:14px}.benefit-strip small{font-size:12px;line-height:1.42}
.block-title h2{font-size:24px}.block-title a{font-size:13px}
.category-tile h3{font-size:18px}.category-main h3{font-size:20px}.category-tile p{font-size:12px;line-height:1.45}.category-tile span{font-size:12px}
.product-card h4{font-size:14px;line-height:1.35;min-height:39px}.product-card .muted{font-size:12px}.pv-label{font-size:11px}.price{font-size:17px}
.news-feature h3{font-size:20px}.news-feature p{font-size:13px;line-height:1.5}.news-feature a,.news-list a{font-size:12px}.micro{font-size:11px}.news-list h3{font-size:15px}
.intro-copy p{font-size:15px;line-height:1.55}
.tab b{font-size:13px}.tab small{font-size:11px}.section-link{font-size:12px}
.catalog-count{font-size:16px!important}.catalog-search input{font-size:14px!important}
.custom-select-trigger,.custom-select-option{font-size:14px!important}
.catalog-card h4{font-size:15px!important;line-height:1.35}.catalog-card .muted{font-size:12px!important}.catalog-card .price,.catalog-card .partner-price{font-size:16px!important}
.new-badge{font-size:10px!important}
.footer p,.footer a,.footer-bottom,.footer input{font-size:13px!important}.footer h5{font-size:16px!important}.footer .footer-subscribe h4{font-size:20px!important}
.login-panel p{font-size:15px}.field input{font-size:15px}
.bottom-nav small{font-size:12px}
/* account */
.profile-name{font-size:22px!important}.profile-id,.profile-location{font-size:13px!important}
.status-pill,.account-side a,.balance-row,.metric-label,.metric-value,.data-list,.orders-table,.news-mini{font-size:14px!important}
.account-section-title,.dashboard-card h3,.orders-card h3,.account-news h3{font-size:21px!important}
/* cart */
.cart-item h3,.order-summary h2,.cart-recommendations h2,.cart-addons h2{font-size:22px!important}
.cart-item,.cart-item .muted,.summary-line,.promo-row,.trust-item{font-size:14px!important}
/* product page */
.product-info .muted,.product-meta,.product-description,.product-details,.product-qty-label{font-size:15px!important}
.product-info h2,.related-products h2{font-size:27px!important}
.related-product-card h4{font-size:15px!important}.related-product-card .muted{font-size:12px!important}
@media(max-width:760px){
  body{font-size:15px}
  .nav a{font-size:14px}
  h2{font-size:25px}h3{font-size:19px}h4{font-size:16px}
  .hero-copy p{font-size:15px}
  .benefit-strip strong{font-size:13px}.benefit-strip small{font-size:11px}
  .block-title h2{font-size:22px}
  .category-tile h3{font-size:17px}.category-tile p{font-size:12px}
  .catalog-card h4{font-size:14px!important}.catalog-card .muted{font-size:12px!important}
  .custom-select-trigger,.custom-select-option{font-size:13px!important}
  .footer p,.footer a,.footer-bottom{font-size:12px!important}
}

/* =========================================================
   v15 — four catalog sections, standalone login, news page,
   corrected stat cards and mobile catalog controls
   ========================================================= */

/* Header: only essential desktop navigation */
.topbar .nav{gap:34px}
.topbar .nav a{font-size:15px}

/* Hero stat cards: no overlap on desktop */
.hero-visual{overflow:visible}
.hero-stat{
  left:-42px;
  width:188px;
  min-height:102px;
  padding:16px 17px;
  display:grid;
  grid-template-columns:28px 1fr;
  grid-template-areas:"icon value" "text text";
  align-items:center;
  column-gap:8px;
  border-radius:18px;
  background:rgba(251,250,246,.95);
  box-shadow:0 12px 30px rgba(55,67,45,.10);
}
.hero-stat .stat-icon{grid-area:icon;margin:0;float:none}
.hero-stat strong{grid-area:value;font-size:29px!important;line-height:1;font-weight:500}
.hero-stat small{grid-area:text;font-size:12px!important;line-height:1.4;margin-top:10px;color:#6e756d}
.hero-stat.stat-a{top:112px}
.hero-stat.stat-b{top:232px}

/* exactly four product section visuals */
.home-grid{grid-template-columns:1fr!important;gap:26px}
.four-sections-block{width:100%}
.four-category-mosaic{
  height:auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:255px 180px!important;
  gap:14px!important;
}
.four-category-mosaic .category-main{
  grid-column:1/-1!important;
  grid-row:1!important;
}
.four-category-mosaic .category-tile{
  min-height:0;
  border-radius:15px;
  overflow:hidden;
}
.four-category-mosaic .category-tile img{object-fit:cover}
.four-category-mosaic .category-main img{object-position:center 46%}
.four-category-mosaic .category-tile>div{
  background:linear-gradient(90deg,rgba(28,50,48,.78) 0%,rgba(28,50,48,.52) 45%,rgba(28,50,48,.02) 82%);
  color:#fff;
  padding:22px;
}
.four-category-mosaic .category-main>div{
  background:linear-gradient(90deg,rgba(32,145,163,.96) 0%,rgba(32,145,163,.90) 48%,rgba(32,145,163,0) 58%);
}
.four-category-mosaic .category-tile h3{color:#fff;font-size:22px!important;max-width:none;margin:0 0 8px}
.four-category-mosaic .category-main h3{font-size:34px!important}
.four-category-mosaic .category-tile p{color:rgba(255,255,255,.92);font-size:14px!important;max-width:280px}
.four-category-mosaic .category-tile span{color:#fff;font-size:13px!important}
.products-block{width:100%}
.products-block .product-row{grid-template-columns:repeat(4,minmax(0,1fr))}

/* catalog section tabs become visual category cards */
.product-section-tabs{
  padding:0 48px 18px!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  overflow:visible!important;
}
.product-section-tabs .section-tab{
  min-width:0!important;
  min-height:128px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:116px 1fr;
  gap:0!important;
  overflow:hidden;
  border-radius:14px!important;
  background:rgba(255,255,255,.66)!important;
  text-align:left;
}
.product-section-tabs .tab-photo{height:100%;overflow:hidden;display:block;background:#f2f0e9}
.product-section-tabs .tab-photo img{width:100%;height:100%;object-fit:cover}
.product-section-tabs .section-tab>span:last-child{padding:18px 16px;display:flex;flex-direction:column;justify-content:center}
.product-section-tabs .section-tab b{font-size:16px!important;font-weight:500}
.product-section-tabs .section-tab small{font-size:12px!important;margin-top:5px}
.product-section-tabs .section-tab.active{border-color:#7f9565!important;box-shadow:0 0 0 2px rgba(88,124,49,.08);background:#f1f5e9!important}

/* catalog controls */
.catalog-toolbar-left{display:grid!important;grid-template-columns:auto minmax(280px,1fr);align-items:center;gap:12px}
.catalog-search{max-width:none!important;width:100%}
.catalog-search input{width:100%!important}
.catalog-toolbar-right{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(190px,1fr);gap:10px}
.custom-select{min-width:0!important}
.custom-select-trigger{width:100%}

/* news page */
.news-intro .intro-art img{object-fit:cover}
.news-page-grid{
  padding:10px 48px 34px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 34px;
}
.news-page-card{min-width:0}
.news-page-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
}
.news-page-copy{padding:18px 0 0}
.news-page-copy time{display:block;color:#8b929b;font-size:15px;margin-bottom:12px}
.news-page-copy h2{font-size:26px!important;line-height:1.24;margin:0 0 16px;font-weight:600;color:#343834}
.news-tags{display:flex;gap:10px;flex-wrap:wrap}
.news-tags span{padding:7px 11px;border:1px solid #d6dbe0;border-radius:999px;color:#89909a;font-size:13px;background:rgba(255,255,255,.55)}
.news-page-card-wide{grid-column:1/-1;max-width:940px}
.news-page-card-wide img{aspect-ratio:16/8.7}

/* standalone login page */
.standalone-login{
  padding:38px 48px 54px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);
  gap:26px;
  min-height:650px;
}
.login-visual{position:relative;overflow:hidden;border-radius:20px;min-height:520px;background:#ece9df}
.login-visual>img{width:100%;height:100%;object-fit:cover}
.login-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,42,23,.04),rgba(28,42,23,.48))}
.login-visual-copy{position:absolute;left:34px;right:34px;bottom:32px;z-index:2;color:#fff;max-width:560px}
.login-visual-copy span{font-size:12px;letter-spacing:.12em}
.login-visual-copy h1{font-size:39px!important;line-height:1.08;color:#fff;margin:10px 0 10px;font-weight:500}
.login-visual-copy p{font-size:15px;margin:0;color:rgba(255,255,255,.88)}
.login-form-card{
  align-self:center;
  padding:34px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.76);
  box-shadow:0 14px 38px rgba(55,64,48,.06);
}
.login-form-card h2{font-size:31px!important;margin:8px 0 10px}
.login-form-card>p{font-size:15px;line-height:1.55;color:#666f66;margin:0 0 24px}
.login-form-card .field{display:grid;gap:8px}
.login-form-card .field span{font-size:13px;color:#596158}
.login-form-card .field input{height:48px;font-size:15px}
.login-submit{width:100%;margin-top:4px}
.login-note{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:#80867e}
.login-form-card .login-status{min-height:20px;margin:0}

@media(max-width:980px){
  .hero-stat{width:calc(50% - 22px);left:auto!important;top:auto!important;bottom:14px;min-height:96px}
  .hero-stat.stat-a{left:14px!important}
  .hero-stat.stat-b{right:14px!important}
  .four-category-mosaic{grid-template-rows:225px 160px!important}
  .product-section-tabs{padding-left:24px!important;padding-right:24px!important;grid-template-columns:1fr 1fr!important}
  .product-section-tabs .section-tab{grid-template-columns:100px 1fr}
  .news-page-grid{padding-left:24px;padding-right:24px}
  .standalone-login{padding-left:24px;padding-right:24px;grid-template-columns:1fr}
  .login-visual{min-height:330px}
}

@media(max-width:700px){
  .hero-visual{padding-bottom:0}
  .hero-stat{
    width:calc(50% - 18px)!important;
    min-height:112px!important;
    bottom:10px!important;
    padding:13px!important;
    grid-template-columns:24px 1fr!important;
    border-radius:16px!important;
  }
  .hero-stat.stat-a{left:10px!important}
  .hero-stat.stat-b{right:10px!important}
  .hero-stat strong{font-size:24px!important}
  .hero-stat small{font-size:11px!important;margin-top:8px!important}
  .four-category-mosaic{
    grid-template-columns:1fr!important;
    grid-template-rows:205px repeat(3,150px)!important;
    gap:10px!important;
  }
  .four-category-mosaic .category-main{grid-column:1!important}
  .four-category-mosaic .category-main h3{font-size:26px!important}
  .four-category-mosaic .category-tile h3{font-size:18px!important}
  .four-category-mosaic .category-main>div{background:linear-gradient(90deg,rgba(32,145,163,.94) 0%,rgba(32,145,163,.80) 55%,rgba(32,145,163,.08) 86%)}
  .products-block .product-row{grid-template-columns:1fr 1fr!important}

  .product-section-tabs{
    padding:0 14px 12px!important;
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    scrollbar-width:none;
  }
  .product-section-tabs::-webkit-scrollbar{display:none}
  .product-section-tabs .section-tab{
    flex:0 0 230px;
    min-height:96px!important;
    grid-template-columns:88px 1fr!important;
  }
  .product-section-tabs .section-tab>span:last-child{padding:12px}
  .product-section-tabs .section-tab b{font-size:14px!important}
  .product-section-tabs .section-tab small{font-size:11px!important}

  /* requested mobile control layout: full-width search, brand + sort side by side */
  .catalog-toolbar{display:grid!important;gap:9px!important}
  .catalog-toolbar-left{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:7px!important}
  .catalog-search{width:100%!important;max-width:none!important;order:1}
  .catalog-count{order:2;font-size:13px!important}
  .catalog-toolbar-right{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;gap:8px!important}
  .custom-select{width:100%!important;min-width:0!important}
  .custom-select-trigger{font-size:12px!important;padding:0 10px!important;gap:6px!important}
  .custom-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .custom-select-menu{left:0!important;right:auto!important;min-width:100%!important;max-width:min(260px,88vw)!important}

  .news-page-grid{padding:4px 14px 24px;grid-template-columns:1fr;gap:28px}
  .news-page-card-wide{grid-column:auto;max-width:none}
  .news-page-card img,.news-page-card-wide img{aspect-ratio:16/10}
  .news-page-copy h2{font-size:22px!important}
  .news-page-copy time{font-size:13px}
  .news-tags span{font-size:12px}

  .standalone-login{padding:18px 14px 32px;gap:14px;min-height:0}
  .login-visual{min-height:250px;border-radius:16px}
  .login-visual-copy{left:20px;right:20px;bottom:20px}
  .login-visual-copy h1{font-size:27px!important}
  .login-form-card{padding:22px 18px;border-radius:16px}
  .login-form-card h2{font-size:26px!important}
}

@media(max-width:460px){
  .catalog-toolbar-right{grid-template-columns:1fr 1fr!important}
  .hero-stat{min-height:118px!important}
}

/* =========================================================
   v16 — unified navigation/footer + news + mobile catalog
   ========================================================= */
.topbar{grid-template-columns:220px 1fr auto!important}
.topbar .actions{display:flex!important;align-items:center!important;gap:10px!important}
.header-cart{
  min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px 0 13px;
  border:1px solid var(--line-2);border-radius:999px;background:rgba(255,255,255,.76);
  color:#3e493d;font-size:14px;font-weight:500;transition:.2s ease;white-space:nowrap
}
.header-cart:hover{border-color:#c9d1be;background:#fff;transform:translateY(-1px)}
.header-cart .ui-icon,.header-account .ui-icon{width:18px;height:18px;stroke:currentColor;fill:none}
.header-cart-count{min-width:21px;height:21px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:10px;font-weight:600}
.header-account{padding-left:16px!important;padding-right:17px!important}

.footer{
  margin-top:24px!important;padding:28px 48px 18px!important;display:grid!important;
  grid-template-columns:1.25fr .72fr .9fr 1.45fr!important;gap:28px 38px!important;
  align-items:start!important;background:rgba(247,245,239,.80)!important;border-top:1px solid var(--line)!important
}
.footer-brand{min-width:0}.footer-brand .brand img{width:155px!important}.footer-brand p{max-width:260px!important;margin:12px 0 0!important}
.footer-col,.footer>div:not(.footer-brand):not(.footer-subscribe):not(.footer-bottom){display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
.footer h5{margin:1px 0 8px!important}.footer a{display:inline-block!important}
.footer-subscribe{min-width:0}.footer-subscribe h4{margin:0 0 7px!important}.footer-subscribe p{max-width:380px!important;margin:0 0 12px!important}
.footer-subscribe>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}.footer-subscribe input{width:100%!important;min-width:0!important}
.footer-bottom{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding-top:14px!important;margin-top:2px!important;border-top:1px solid var(--line)!important}
.footer-bottom>span:last-child{display:flex;align-items:center;gap:10px}.footer-bottom i{width:1px;height:12px;background:var(--line-2);display:block}

.news-intro-clean{grid-template-columns:1fr!important;padding-bottom:18px!important}.news-intro-clean .intro-copy{max-width:820px}.news-toolbar{padding:8px 48px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.news-toolbar>div:first-child{display:flex;align-items:baseline;gap:12px}.news-toolbar strong{font-size:22px;font-weight:600}.news-count{font-size:13px;color:var(--muted)}.news-sort{min-width:210px}
.news-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px 34px!important}.news-page-card-wide{grid-column:auto!important;max-width:none!important}.news-page-card-wide img{aspect-ratio:16/10!important}

.catalog-card.admin-new-product,.product-card.admin-new-product,.related-product-card.admin-new-product{
  background:linear-gradient(180deg,rgba(239,246,229,.98),rgba(250,250,246,.96))!important;
  border-color:#cfdec0!important;box-shadow:0 12px 28px rgba(75,112,47,.08)!important
}
.catalog-card.admin-new-product .image,.product-card.admin-new-product .image{background:#edf4e4!important}
.new-badge{z-index:4!important}

@media(max-width:980px){
  .footer{padding-left:24px!important;padding-right:24px!important;grid-template-columns:1.15fr .75fr .9fr!important}.footer-subscribe{grid-column:1/-1!important}
  .news-toolbar{padding-left:24px;padding-right:24px}.news-page-grid{padding-left:24px!important;padding-right:24px!important}
}
@media(max-width:700px){
  .topbar{grid-template-columns:1fr auto!important}.header-cart{width:38px;height:36px;min-height:36px;padding:0!important;justify-content:center;position:relative}.header-cart>span{display:none}.header-cart-count{position:absolute;right:-4px;top:-5px;min-width:17px;height:17px;font-size:8px;padding:0 4px}.header-account{min-height:36px!important;padding:0 11px!important;font-size:11px!important}.header-account .ui-icon{width:16px;height:16px}.header-account .auth-label{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .footer{padding:22px 16px 16px!important;grid-template-columns:1fr 1fr!important;gap:22px 18px!important}.footer-brand,.footer-subscribe,.footer-bottom{grid-column:1/-1!important}.footer-brand p{max-width:none!important}.footer-subscribe>div{grid-template-columns:1fr!important}.footer-subscribe .btn{width:100%}.footer-bottom{display:grid!important;justify-content:stretch!important}.footer-bottom>span:last-child{flex-wrap:wrap}
  .news-toolbar{padding:4px 14px 14px;align-items:center}.news-toolbar strong{font-size:18px}.news-count{display:none}.news-sort{min-width:164px}.news-sort .custom-select-trigger{font-size:11px!important}
  .news-page-grid{padding:0 14px 24px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 10px!important}.news-page-card img,.news-page-card-wide img{aspect-ratio:1.18/1!important;border-radius:10px!important}.news-page-copy{padding-top:10px!important}.news-page-copy time{font-size:11px!important;margin-bottom:6px!important}.news-page-copy h2{font-size:15px!important;line-height:1.28!important;margin-bottom:9px!important}.news-tags{gap:5px!important}.news-tags span{font-size:9px!important;padding:4px 6px!important}
  .product-section-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:0 14px 14px!important;overflow:visible!important}.product-section-tabs .section-tab{width:100%!important;min-width:0!important;max-width:none!important;flex:none!important;min-height:104px!important;grid-template-columns:42% 58%!important}.product-section-tabs .section-tab>span:last-child{padding:10px!important}.product-section-tabs .section-tab b{font-size:13px!important}.product-section-tabs .section-tab small{font-size:10px!important}
}
@media(max-width:430px){
  .header-account .ui-icon{display:none}.header-account{padding:0 10px!important}.brand img{width:118px!important}
  .news-toolbar{display:grid;grid-template-columns:1fr}.news-sort{width:100%;min-width:0}.news-page-grid{gap:16px 8px!important}.news-page-copy h2{font-size:14px!important}
}

/* =========================================================
   v17 — cart, favourites and alignment fixes
   ========================================================= */
.heart{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
.heart:hover{transform:scale(1.04)}
.heart.is-favorite{color:var(--green)!important;background:#eef4e5!important;border-color:#bfd0a8!important}
.heart.is-favorite .ui-icon{fill:currentColor!important;stroke:currentColor!important}

.cart-item>.pv-label{justify-self:center;align-self:center;min-width:66px;justify-content:center;text-align:center;white-space:nowrap}
.qty button{width:24px;height:24px;padding:0;border:0;background:transparent;color:#4f5b4d;display:grid;place-items:center;cursor:pointer;border-radius:50%}
.qty button:hover{background:#eef2e7;color:var(--green)}
.qty button .ui-icon{width:13px;height:13px}
.cart-empty{min-height:300px;padding:44px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}
.cart-empty>.ui-icon{width:42px;height:42px;color:#8da276;margin-bottom:14px}
.cart-empty h3{margin:0 0 8px;color:var(--text)}
.cart-empty p{max-width:420px;margin:0 0 18px}
.checkout-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
#partnerDiscountRow[hidden]{display:none!important}

/* Cart rows are data-driven now; keep PV, quantity and total on one baseline. */
@media(min-width:701px){
  .cart-item{grid-template-columns:90px minmax(210px,1.45fr) 132px 72px 94px 86px 24px!important}
  .cart-item>.pv-label{margin:0!important}
}

/* Mobile catalog controls: search and the two dropdowns share the exact same edges. */
@media(max-width:700px){
  .catalog-layout.catalog-layout-full{padding-left:14px!important;padding-right:14px!important}
  .catalog-layout-full .products-panel{width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important}
  .catalog-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:none!important;margin:0 0 14px!important;padding:0!important;gap:9px!important;align-items:stretch!important}
  .catalog-toolbar-left,.catalog-toolbar-right{display:grid!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;justify-self:stretch!important}
  .catalog-toolbar-left{grid-template-columns:minmax(0,1fr)!important;gap:7px!important}
  .catalog-search{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important}
  .catalog-search input{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;height:48px!important;margin:0!important;box-sizing:border-box!important;border-radius:12px!important}
  .catalog-count{width:100%!important;margin:0!important;padding:0!important}
  .catalog-toolbar-right{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important}
  .custom-select{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important}
  .custom-select-trigger{width:100%!important;max-width:none!important;min-width:0!important;height:48px!important;margin:0!important;box-sizing:border-box!important;border-radius:12px!important;padding:0 14px!important}
  .custom-select-menu{width:100%!important;min-width:100%!important;max-width:none!important}
  .cart-item>.pv-label{justify-self:start;min-width:62px}
  .cart-empty{min-height:240px;padding:30px 18px}
}

/* keep desktop cart rows inside the left column (no overlap with summary card) */
@media(min-width:701px){
  .cart-item{grid-template-columns:78px minmax(160px,1fr) 105px 58px 82px 72px 20px!important;gap:9px!important}
  .cart-item>img{width:78px!important;height:68px!important}
  .cart-item>.pv-label{min-width:58px!important;padding-left:6px!important;padding-right:6px!important}
}

/* =========================================================
   v18 — clean login, square product media, simplified account,
   live account news and on-site PDF materials
   ========================================================= */

/* Login: only the form, no decorative photo/technical copy. */
.standalone-login-clean{
  display:flex!important;
  justify-content:center;
  align-items:center;
  min-height:560px;
  padding:54px 48px 72px!important;
}
.standalone-login-clean .login-form-card{
  width:min(100%,560px);
  align-self:auto;
  padding:42px 44px;
  border-radius:18px;
}
.standalone-login-clean .login-form-card h1{
  font-size:38px;
  line-height:1.08;
  font-weight:500;
  margin:8px 0 12px;
}
.standalone-login-clean .login-form-card>p{font-size:16px;line-height:1.55;margin:0 0 28px;color:#666f66}
.standalone-login-clean .field span{font-size:14px;color:#596158}
.standalone-login-clean .field input{height:52px;font-size:16px;padding:0 15px}
.standalone-login-clean .login-status:empty{display:none}

/* Product cards: square photography and more vertical breathing room. */
.product-card,
.catalog-card{display:flex;flex-direction:column}
.product-card{min-height:360px!important;padding:12px!important}
.product-card .image{
  width:100%;height:auto!important;aspect-ratio:1/1;
  margin-bottom:12px!important;border-radius:10px;overflow:hidden;background:#f6f4ee
}
.product-card .image img{width:100%;height:100%;object-fit:contain;padding:5px}
.product-card h4{min-height:42px!important;margin:0 0 5px!important}
.product-card .price-row{margin-top:auto!important;padding-top:12px}

.catalog-card{min-height:390px!important;padding:12px!important}
.catalog-card .image{
  width:100%;height:auto!important;aspect-ratio:1/1;
  margin-bottom:12px!important;border-radius:10px;overflow:hidden;background:#f6f4ee
}
.catalog-card .image img{width:100%;height:100%;object-fit:contain;padding:5px}
.catalog-card h4{min-height:43px!important;margin:0 0 5px!important}
.catalog-card .catalog-price{margin-top:auto!important;padding-top:11px;padding-right:38px;flex-wrap:wrap}
.catalog-card .circle-btn{bottom:12px!important;right:12px!important}

/* Simplified partner account. */
.account-clean-head{padding:32px 48px 18px}
.account-clean-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.account-clean-title h1{font-size:42px;margin:0 0 8px}
.account-clean-title p{font-size:16px;color:var(--muted);margin:0}
.account-identity{
  margin:0 48px 18px;
  padding:18px 20px;
  display:grid;
  grid-template-columns:72px minmax(210px,.8fr) minmax(0,2fr) auto;
  align-items:center;
  gap:18px;
  background:rgba(255,255,255,.56)
}
.account-identity .profile-avatar{width:64px;height:64px;margin:0;font-size:22px}
.account-identity-main h3{text-align:left;margin:0 0 4px;font-size:21px}
.account-identity-main>.muted{text-align:left;font-size:13px}
.account-identity-main .status-row{justify-content:flex-start;margin:8px 0 0}
.account-identity-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--line)}
.account-identity-meta>div{padding:4px 17px;border-right:1px solid var(--line);min-width:0}
.account-identity-meta>div:last-child{border-right:0}
.account-identity-meta small{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}
.account-identity-meta strong{display:block;font-size:15px;font-weight:500;white-space:normal;overflow-wrap:anywhere}
.account-logout-link{border:0;background:transparent;color:#9b6a5b;font-size:12px;cursor:pointer;padding:8px 0;white-space:nowrap}
.account-logout-link:hover{text-decoration:underline}

.account-dashboard-section,
.account-personal-section,
.account-news-section{
  margin:0 48px 18px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.50)
}
.account-dashboard-head{margin-bottom:14px}
.account-kicker{display:block!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.08em;color:var(--green)!important;margin-bottom:4px}
.account-dashboard-head h2,.account-personal-section h2,.account-news-section h2{font-size:23px;margin:0;font-weight:500}
.account-period{font-size:12px;color:var(--muted)!important}
.account-metric-grid{
  margin:0!important;
  border:0!important;
  background:transparent!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important
}
.account-metric-grid .account-metric-card{
  min-height:112px;
  padding:16px 16px 15px!important;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start!important;
  justify-content:space-between;
  gap:14px!important;
  border:1px solid var(--line)!important;
  border-radius:10px;
  background:rgba(250,250,247,.74);
  position:relative;
  overflow:hidden
}
.account-metric-grid .account-metric-card::after{content:"";position:absolute;right:-22px;bottom:-28px;width:75px;height:75px;border-radius:50%;background:rgba(100,142,63,.055)}
.account-metric-grid .account-metric-card small{font-size:13px!important;line-height:1.35;color:#718078}
.account-metric-grid .account-metric-card strong{font-size:23px!important;line-height:1.05;font-weight:450;color:var(--green);margin:0!important}

.account-personal-section{padding:20px 22px}
.account-personal-grid{margin:16px 0 0!important;display:grid;grid-template-columns:1fr 1fr;column-gap:34px}
.account-personal-grid>div{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:14px!important;padding:10px 0!important;border-bottom:1px solid #ece9df!important;font-size:13px!important}
.account-personal-grid dt{color:var(--muted)}
.account-personal-grid dd{font-weight:500;overflow-wrap:anywhere}

.account-news-section{padding:20px 22px 22px}
.account-news-section>.card-head{margin-bottom:15px}
.account-news-section>.card-head>a{font-size:12px;color:var(--green)}
.account-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.account-news-card{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;background:rgba(250,250,247,.72);padding:10px;min-width:0;transition:.18s ease}
.account-news-card:hover{transform:translateY(-2px);border-color:#cbd3c1}
.account-news-card img{width:116px;height:86px;object-fit:cover;border-radius:8px;background:#f2f1ec}
.account-news-card time{display:block;color:#8b9188;font-size:10px;margin-bottom:4px}
.account-news-card h3{font-size:14px;line-height:1.3;margin:0 0 7px;font-weight:500}
.account-news-card span{font-size:11px;color:var(--green)}
.account-news-loading,.account-news-empty{grid-column:1/-1;padding:18px;color:var(--muted);font-size:13px}

/* Materials on homepage. */
.materials-section{padding:18px 50px 10px}
.materials-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.material-card{
  min-height:150px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(255,255,255,.55);
  padding:20px;
  display:grid;
  grid-template-columns:48px 1fr 30px;
  gap:16px;
  align-items:center;
  transition:transform .18s ease,border-color .18s ease,background .18s ease
}
.material-card:hover{transform:translateY(-2px);border-color:#c9d2bd;background:rgba(255,255,255,.78)}
.material-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--green-pale);color:var(--green)}
.material-icon .ui-icon{width:23px;height:23px}
.material-card small{display:block;color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.material-card h3{font-size:19px;margin:0 0 5px;font-weight:500}
.material-card p{font-size:13px;line-height:1.45;color:var(--muted);margin:0;max-width:520px}
.material-arrow{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--green)}

/* PDF pages keep documents inside the site chrome. */
.document-header{padding:30px 48px 18px}
.document-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.document-title-row h1{font-size:37px;margin:3px 0 10px}
.document-title-row p{font-size:15px;color:var(--muted);margin:0;max-width:760px}
.pdf-viewer-card{margin:0 48px 28px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.56);padding:10px;overflow:hidden}
.pdf-viewer-card iframe{display:block;width:100%;height:min(78vh,900px);min-height:620px;border:0;border-radius:8px;background:#f3f3f0}
.pdf-viewer-portrait iframe{height:min(82vh,980px)}
.pdf-fallback{font-size:12px;color:var(--muted);padding:10px 4px 2px}.pdf-fallback a{color:var(--green)}

@media(max-width:1080px){
  .account-identity{grid-template-columns:64px 1fr}.account-identity-meta{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding-top:12px}.account-logout-link{position:absolute;right:72px;margin-top:-54px}
  .account-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .account-news-grid{grid-template-columns:1fr 1fr}
  .product-card{min-height:350px!important}.catalog-card{min-height:370px!important}
}
@media(max-width:700px){
  .standalone-login-clean{min-height:480px;padding:28px 14px 40px!important}.standalone-login-clean .login-form-card{padding:28px 20px}.standalone-login-clean .login-form-card h1{font-size:30px}.standalone-login-clean .login-form-card>p{font-size:14px}
  .product-card,.catalog-card{min-height:0!important;padding:10px!important}.product-card .image,.catalog-card .image{aspect-ratio:1/1;margin-bottom:10px!important}.product-card h4,.catalog-card h4{min-height:42px!important}.catalog-card .catalog-price{padding-right:34px}
  .account-clean-head{padding:22px 14px 12px}.account-clean-title h1{font-size:31px}.account-clean-title p{font-size:14px}
  .account-identity{margin:0 14px 12px;padding:15px;grid-template-columns:56px 1fr;gap:12px}.account-identity .profile-avatar{width:54px;height:54px}.account-identity-main h3{font-size:18px}.account-identity-meta{grid-template-columns:1fr 1fr;gap:0}.account-identity-meta>div{padding:10px 8px;border-bottom:1px solid var(--line)}.account-identity-meta>div:nth-child(2n){border-right:0}.account-identity-meta>div:nth-last-child(-n+2){border-bottom:0}.account-logout-link{position:static;grid-column:1/-1;justify-self:start;margin:0;padding:4px 0}
  .account-dashboard-section,.account-personal-section,.account-news-section{margin:0 14px 12px;padding:15px}
  .account-dashboard-head{align-items:flex-start}.account-dashboard-head h2,.account-personal-section h2,.account-news-section h2{font-size:20px}
  .account-metric-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.account-metric-grid .account-metric-card{min-height:104px;padding:13px!important}.account-metric-grid .account-metric-card small{font-size:12px!important}.account-metric-grid .account-metric-card strong{font-size:20px!important}
  .account-personal-grid{grid-template-columns:1fr;column-gap:0}.account-personal-grid>div{grid-template-columns:130px 1fr!important;font-size:12px!important}
  .account-news-grid{grid-template-columns:1fr}.account-news-card{grid-template-columns:102px 1fr}.account-news-card img{width:102px;height:76px}
  .materials-section{padding:14px 14px 8px}.materials-grid{grid-template-columns:1fr}.material-card{min-height:128px;padding:15px;grid-template-columns:42px 1fr 28px;gap:12px}.material-icon{width:42px;height:42px}.material-card h3{font-size:17px}.material-card p{font-size:12px}
  .document-header{padding:22px 14px 12px}.document-title-row{display:grid;gap:12px}.document-title-row h1{font-size:29px}.document-title-row p{font-size:13px}.document-title-row .btn{width:max-content}
  .pdf-viewer-card{margin:0 14px 18px;padding:6px}.pdf-viewer-card iframe{height:70vh;min-height:500px}
}

/* =========================================================
   v19 — spacing, aligned news layout and persistent cart state
   ========================================================= */
.news-page .news-intro-clean{
  padding:34px 48px 30px!important;
  margin:0!important;
}
.news-page .news-intro-clean .intro-copy{
  padding:0!important;
  max-width:760px!important;
}
.news-page .news-intro-clean .breadcrumbs{margin-bottom:16px!important}
.news-page .news-intro-clean h1{margin:0 0 14px!important}
.news-page .news-intro-clean p{margin:0!important;max-width:520px!important}
.news-page .news-toolbar{
  padding:26px 48px 24px!important;
  margin:0!important;
  border-top:1px solid rgba(88,98,82,.07);
}
.news-page .news-page-grid{
  padding:0 48px 48px!important;
  gap:44px 36px!important;
}
.news-page .news-page-copy{padding-top:20px!important}
.news-page .footer{margin-top:16px!important}

/* Let an add button visibly keep the current cart state across pages. */
.circle-btn.is-in-cart{
  width:auto!important;
  min-width:112px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border-radius:10px!important;
  background:#5c8137!important;
  white-space:nowrap;
  z-index:5;
}
.circle-btn.is-in-cart .ui-icon{width:14px!important;height:14px!important;flex:0 0 14px}
.cart-button-label{display:inline!important;font-size:10px!important;line-height:1!important;font-weight:550;color:#fff}
.catalog-card .circle-btn.is-in-cart{right:10px!important;bottom:10px!important}
.product-card .circle-btn.is-in-cart{width:auto!important}
.product-add-btn.is-in-cart{background:#4f7732!important;box-shadow:none!important}

/* A little more air between the major account blocks. */
.account-dashboard-section,.account-personal-section,.account-news-section{margin-bottom:26px!important}
.account-identity{margin-bottom:26px!important}

@media(max-width:980px){
  .news-page .news-intro-clean{padding:28px 24px 26px!important}
  .news-page .news-toolbar{padding:22px 24px 20px!important}
  .news-page .news-page-grid{padding:0 24px 36px!important;gap:34px 22px!important}
}
@media(max-width:700px){
  .news-page .news-intro-clean{padding:24px 14px 24px!important}
  .news-page .news-toolbar{padding:20px 14px 18px!important}
  .news-page .news-page-grid{padding:0 14px 32px!important;gap:24px 10px!important}
  .circle-btn.is-in-cart{min-width:92px!important;padding:0 7px!important}
  .cart-button-label{font-size:9px!important}
  .catalog-card .circle-btn.is-in-cart{right:8px!important;bottom:8px!important}
  .account-dashboard-section,.account-personal-section,.account-news-section,.account-identity{margin-bottom:18px!important}
}

/* =========================================================
   v19 — strict square product photography everywhere
   ========================================================= */
.product-card .image,
.catalog-card .image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#f7f5ef!important;
}
.product-card .image img,
.catalog-card .image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:8px!important;
}

/* The product page uses the same square stage. A horizontal/vertical source image is
   never cropped: it is centered inside the square with object-fit: contain. */
.gallery-main{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  display:grid!important;
  place-items:center!important;
  background:#f7f5ef!important;
}
.gallery-main>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:22px!important;
}
.gallery-thumb{
  width:74px!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
}
.gallery-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.related-product-card .image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  display:grid!important;
  place-items:center!important;
  background:#f7f5ef!important;
}
.related-product-card .image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:5px!important;
}

@media(max-width:700px){
  .gallery-main{height:auto!important;aspect-ratio:1 / 1!important}
  .gallery-main>img{padding:14px!important}
  .related-product-card .image{height:auto!important;aspect-ratio:1 / 1!important}
}

/* =========================================================
   v20 — catalog media fill, larger section rhythm
   ========================================================= */

/* Product photography now fills the square stage edge-to-edge.
   Wide/tall source images are centered and cropped, never stretched. */
.product-card .image,
.catalog-card .image,
.related-product-card .image,
.gallery-main{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  overflow:hidden!important;
  display:block!important;
  padding:0!important;
}
.product-card .image img,
.catalog-card .image img,
.related-product-card .image img,
.gallery-main>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
}

/* Keep cards tall enough that square media remains the visual focus. */
.product-card{
  min-height:430px!important;
  padding:12px!important;
}
.catalog-card{
  min-height:430px!important;
  padding:12px!important;
}
.product-card .image,
.catalog-card .image{margin-bottom:14px!important}
.product-card h4,
.catalog-card h4{min-height:44px!important}

/* Generous rhythm between the major page blocks. */
.site-frame > section + section{
  margin-top:120px!important;
}
.site-frame > footer{
  margin-top:120px!important;
}

@media(max-width:1080px){
  .product-card,.catalog-card{min-height:400px!important}
}

@media(max-width:700px){
  .site-frame > section + section{
    margin-top:60px!important;
  }
  .site-frame > footer{
    margin-top:60px!important;
  }
  .product-card,
  .catalog-card{
    min-height:350px!important;
    padding:10px!important;
  }
  .product-card .image,
  .catalog-card .image{
    width:100%!important;
    aspect-ratio:1 / 1!important;
    margin-bottom:12px!important;
  }
  .product-card .image img,
  .catalog-card .image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    padding:0!important;
  }
}

/* =========================================================
   v21 — catalog media, 60/45 rhythm and quantity cart controls
   ========================================================= */

/* Major page rhythm: 60px desktop, 45px mobile. */
.site-frame > section{margin-bottom:0!important}
.site-frame > section + section{margin-top:60px!important}
.site-frame > footer{margin-top:60px!important}
.home-grid{gap:60px!important}
.account-identity{margin-bottom:60px!important}
.account-dashboard-section,
.account-personal-section,
.account-news-section{margin-bottom:60px!important}
.product-detail-card{margin-bottom:60px!important}

/* Catalog cards are deliberately taller and use a true square photo stage. */
.catalog-layout-full .catalog-grid{align-items:stretch!important}
.catalog-card{
  min-height:430px!important;
  padding:12px 12px 64px!important;
  display:flex!important;
  flex-direction:column!important;
}
.catalog-card .image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  margin:0 0 14px!important;
  overflow:hidden!important;
  border-radius:9px!important;
  background:#f4f5ed!important;
}
.catalog-card.featured .image{background:#e6efd7!important}
.catalog-card .image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  transform:none!important;
}
/* The original pack contains several product shots with baked-in white margins.
   Zoom those files slightly so the product reads at the same scale as lifestyle shots. */
.catalog-card .image img[src*="prod-"]{transform:scale(1.32)!important}
.catalog-card h4{min-height:46px!important;margin-bottom:8px!important}
.catalog-card .muted{margin-bottom:4px!important}
.catalog-card .catalog-price{margin-top:auto!important;padding-top:10px!important;padding-right:4px!important}

/* Initial state: explicit add-to-cart button. After adding it becomes only - / qty / +. */
.card-cart-slot{position:relative;z-index:6;display:flex;align-items:center;justify-content:flex-end}
.catalog-card > .card-cart-slot{position:absolute;right:12px;bottom:12px}
.card-cart-add{
  min-height:36px;
  padding:0 14px;
  border:0;
  border-radius:10px;
  background:var(--green);
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:10px;
  font-weight:550;
  white-space:nowrap;
  box-shadow:0 5px 14px rgba(78,112,48,.13);
  transition:transform .18s ease,background .18s ease;
}
.card-cart-add:hover{transform:translateY(-1px);background:#4e7430}
.card-qty-control,
.product-main-qty-control{
  display:grid;
  grid-template-columns:36px minmax(38px,auto) 36px;
  align-items:center;
  justify-content:center;
  min-height:36px;
  border:1px solid rgba(84,109,62,.18);
  border-radius:11px;
  overflow:hidden;
  background:#fff;
  color:#263225;
  box-shadow:0 5px 14px rgba(67,79,57,.06);
}
.card-qty-control button,
.product-main-qty-control button{
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  color:var(--green);
  display:grid;
  place-items:center;
  cursor:pointer;
}
.card-qty-control button:hover,
.product-main-qty-control button:hover{background:#eef3e7}
.card-qty-control strong,
.product-main-qty-control strong{
  min-width:38px;
  padding:0 8px;
  text-align:center;
  font-size:13px;
  font-weight:550;
  line-height:36px;
  border-left:1px solid rgba(84,109,62,.12);
  border-right:1px solid rgba(84,109,62,.12);
}
.card-qty-control .ui-icon,
.product-main-qty-control .ui-icon{width:15px;height:15px}
.product-card .card-cart-slot{margin-left:auto}
.product-cart-slot{display:flex;align-items:center;min-width:220px}
.product-cart-slot .product-add-btn{min-width:220px}
.product-main-qty-control{grid-template-columns:46px minmax(58px,auto) 46px;min-height:48px;border-radius:999px}
.product-main-qty-control button{width:46px;height:48px}
.product-main-qty-control strong{min-width:58px;font-size:16px;line-height:48px}

/* Retire the legacy cart-state treatment if an old button survives dynamic content for a frame. */
.circle-btn.is-in-cart{width:36px!important;min-width:36px!important;padding:0!important}
.cart-button-label{display:none!important}

@media(max-width:1080px){
  .catalog-card{min-height:415px!important}
}

@media(max-width:700px){
  .site-frame > section + section{margin-top:45px!important}
  .site-frame > footer{margin-top:45px!important}
  .home-grid{gap:45px!important}
  .account-identity{margin-bottom:45px!important}
  .account-dashboard-section,
  .account-personal-section,
  .account-news-section{margin-bottom:45px!important}
  .product-detail-card{margin-bottom:45px!important}

  .catalog-card{
    min-height:430px!important;
    padding:10px 10px 62px!important;
  }
  .catalog-card .image{
    width:100%!important;
    aspect-ratio:1 / 1!important;
    margin-bottom:14px!important;
    border-radius:9px!important;
  }
  .catalog-card .image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .catalog-card .image img[src*="prod-"]{transform:scale(1.42)!important}
  .catalog-card h4{min-height:58px!important;margin-bottom:8px!important}
  .catalog-card > .card-cart-slot{right:10px;bottom:10px}
  .card-cart-add{min-height:38px;padding:0 11px;font-size:9px}
  .card-qty-control{grid-template-columns:34px minmax(34px,auto) 34px;min-height:38px}
  .card-qty-control button{width:34px;height:38px}
  .card-qty-control strong{min-width:34px;padding:0 5px;line-height:38px;font-size:12px}

  .product-card .price-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .product-card .card-cart-slot{width:100%;margin:0!important;justify-content:stretch}
  .product-card .card-cart-add,.product-card .card-qty-control{width:100%}
  .product-cart-slot{width:100%;min-width:0}
  .product-cart-slot .product-add-btn,.product-main-qty-control{width:100%;min-width:0}
}

/* =========================================================
   v22 — compact product cards, single-price state, full-width quantity controls
   ========================================================= */

/* Only one price is shown at a time. Partner session -> green effective price.
   Guest session -> regular catalog price is struck through. */
.partner-price{display:none!important}
.price.is-partner-price,
.catalog-price .price.is-partner-price,
.product-price-line .price.is-partner-price{
  color:var(--green)!important;
  text-decoration:none!important;
  font-weight:600!important;
}
.price.is-guest-price,
.catalog-price .price.is-guest-price,
.product-price-line .price.is-guest-price{
  color:#7e837b!important;
  text-decoration:line-through!important;
  text-decoration-thickness:1.4px!important;
  text-decoration-color:#9da29a!important;
  font-weight:500!important;
}

/* Catalog cards: remove the artificial empty vertical space and keep a deliberate,
   compact rhythm between title, volume, price and cart control. */
.catalog-grid{align-items:stretch!important}
.catalog-card{
  min-height:0!important;
  height:100%!important;
  padding:10px!important;
  display:flex!important;
  flex-direction:column!important;
}
.catalog-card .image{margin-bottom:11px!important}
.catalog-card h4{
  min-height:44px!important;
  margin:0 0 6px!important;
  line-height:1.28!important;
}
.catalog-card .muted{
  margin:0 0 10px!important;
  min-height:20px!important;
  line-height:1.25!important;
}
.catalog-card .catalog-price{
  margin:0 0 10px!important;
  padding:0!important;
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.catalog-card .catalog-price .price{font-size:15px!important}
.catalog-card .catalog-price .pv-label{margin-left:0!important}

/* Cart action always occupies the whole card width. Initial state is one wide button;
   after adding, minus / quantity / plus are three equal columns. */
.catalog-card > .card-cart-slot{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  margin-top:auto!important;
  display:block!important;
}
.catalog-card .card-cart-add,
.catalog-card .card-qty-control{
  width:100%!important;
  min-width:0!important;
}
.catalog-card .card-cart-add{
  min-height:42px!important;
  padding:0 12px!important;
  border-radius:10px!important;
  font-size:10px!important;
}
.catalog-card .card-qty-control{
  grid-template-columns:1fr 1fr 1fr!important;
  min-height:42px!important;
  border-radius:10px!important;
}
.catalog-card .card-qty-control button{
  width:100%!important;
  height:42px!important;
}
.catalog-card .card-qty-control strong{
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  line-height:42px!important;
  font-size:13px!important;
}

/* Home product cards use the same neat action pattern. */
.product-card .price-row{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  margin-top:8px!important;
}
.product-card .card-cart-slot{
  width:100%!important;
  margin:0!important;
  justify-content:stretch!important;
}
.product-card .card-cart-add,
.product-card .card-qty-control{width:100%!important}
.product-card .card-qty-control{grid-template-columns:1fr 1fr 1fr!important}
.product-card .card-qty-control button{width:100%!important}

@media(max-width:700px){
  .catalog-card{
    min-height:0!important;
    padding:8px!important;
  }
  .catalog-card .image{margin-bottom:10px!important}
  .catalog-card h4{
    min-height:52px!important;
    margin-bottom:5px!important;
    line-height:1.24!important;
  }
  .catalog-card .muted{
    min-height:18px!important;
    margin-bottom:8px!important;
  }
  .catalog-card .catalog-price{
    min-height:29px!important;
    margin-bottom:9px!important;
    gap:6px!important;
  }
  .catalog-card .catalog-price .price{font-size:14px!important}
  .catalog-card .card-cart-add,
  .catalog-card .card-qty-control{min-height:44px!important}
  .catalog-card .card-qty-control button{height:44px!important}
  .catalog-card .card-qty-control strong{line-height:44px!important;font-size:14px!important}
}


/* =========================================================
   v23 — clear guest/partner price hierarchy
   ========================================================= */
/* Guests see the normal catalog price: black, clean, never struck through. */
.price.is-guest-price,
.catalog-price .price.is-guest-price,
.product-price-line .price.is-guest-price,
.product-price-block .price.is-guest-price,
.price-row .price.is-guest-price{
  color:#202820!important;
  text-decoration:none!important;
  font-weight:550!important;
}
/* Signed-in partners see the effective price in green. */
.price.is-partner-price,
.catalog-price .price.is-partner-price,
.product-price-line .price.is-partner-price,
.product-price-block .price.is-partner-price,
.price-row .price.is-partner-price{
  color:var(--green)!important;
  text-decoration:none!important;
  font-weight:600!important;
}
/* The former retail value appears immediately beside the partner price. */
.retail-old-price{
  display:inline-flex;
  align-items:center;
  color:#969b94!important;
  font-size:.78em!important;
  font-weight:450!important;
  line-height:1!important;
  text-decoration:line-through!important;
  text-decoration-thickness:1px!important;
  text-decoration-color:#a7aba5!important;
  white-space:nowrap;
}
.retail-old-price[hidden]{display:none!important}
.catalog-price,.price-row,.product-price-block{column-gap:7px!important}
.product-price-block .retail-old-price{font-size:15px!important}
@media(max-width:700px){
  .retail-old-price{font-size:.74em!important}
  .catalog-price,.price-row,.product-price-block{column-gap:6px!important}
  .product-price-block .retail-old-price{font-size:13px!important}
}


/* v24 — individual news pages */
.news-page-card{display:block;color:inherit;text-decoration:none;cursor:pointer}
.news-page-card:hover h2{color:var(--green)}
.news-card-summary{font-size:14px;line-height:1.55;color:var(--muted);margin:8px 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-detail-shell{padding:34px 46px 0}
.news-detail-breadcrumbs{margin-bottom:34px}
.news-detail-article{max-width:980px;margin:0 auto;padding:0 0 64px}
.news-detail-head{max-width:850px;margin:0 auto 34px;text-align:left}
.news-detail-head time{display:block;font-size:14px;color:#858c83;margin-bottom:12px}
.news-detail-head h1{font-size:46px;line-height:1.08;font-weight:500;letter-spacing:-.035em;margin:0 0 18px;color:var(--ink)}
.news-detail-media{margin:0 0 38px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#f5f3ec}
.news-detail-media img{display:block;width:100%;max-height:650px;object-fit:contain;background:#fff}
.news-detail-body{max-width:820px;margin:0 auto;color:#434b42;font-size:18px;line-height:1.75}
.news-detail-body p{margin:0 0 22px}
.news-back-link{display:inline-flex;margin:22px 0 0 80px;color:var(--green);font-size:15px;font-weight:500}
.news-related-section{max-width:1180px;margin:0 auto 60px;padding-top:42px;border-top:1px solid var(--line)}
.news-related-section .section-head{margin-bottom:22px}
.news-related-section h2{font-size:28px;font-weight:500;margin:0 0 6px}
.news-related-section p{margin:0;color:var(--muted);font-size:14px}
.news-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.news-related-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.66);color:inherit;text-decoration:none;transition:.18s ease}
.news-related-card:hover{transform:translateY(-2px);border-color:#c4cfb6}
.news-related-card img{width:180px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#f4f2ea}
.news-related-card time{font-size:11px;color:#8b9188}
.news-related-card h3{font-size:17px;line-height:1.32;font-weight:500;margin:6px 0 12px}
.news-related-card span{font-size:12px;color:var(--green)}
@media(max-width:760px){
  .news-detail-shell{padding:22px 14px 0}
  .news-detail-breadcrumbs{margin-bottom:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .news-detail-article{padding-bottom:45px}
  .news-detail-head{margin-bottom:24px}
  .news-detail-head time{font-size:12px;margin-bottom:9px}
  .news-detail-head h1{font-size:30px;line-height:1.13;margin-bottom:14px}
  .news-detail-media{border-radius:12px;margin-bottom:26px}
  .news-detail-media img{max-height:440px}
  .news-detail-body{font-size:16px;line-height:1.68}
  .news-detail-body p{margin-bottom:18px}
  .news-back-link{margin:16px 0 0}
  .news-related-section{margin-bottom:45px;padding-top:30px}
  .news-related-section h2{font-size:23px}
  .news-related-grid{grid-template-columns:1fr;gap:12px}
  .news-related-card{grid-template-columns:110px minmax(0,1fr);gap:12px;padding:9px}
  .news-related-card img{width:110px}
  .news-related-card h3{font-size:15px;margin:4px 0 8px}
  .news-card-summary{font-size:11px;line-height:1.4;margin:6px 0 8px;-webkit-line-clamp:2}
}

/* v25 — desktop news article alignment only. Mobile styles intentionally untouched. */
@media (min-width: 981px){
  .news-detail-page .news-detail-article{
    max-width:1080px;
    margin-left:0;
    margin-right:auto;
  }
  .news-detail-page .news-detail-head{
    max-width:880px;
    margin-left:0;
    margin-right:auto;
  }
  .news-detail-page .news-detail-body{
    max-width:880px;
    margin-left:0;
    margin-right:auto;
  }
  .news-detail-page .news-detail-media{
    width:100%;
  }
}

/* =========================================================
   v26 — client revisions: service-center identity, clean white
   palette, brighter Greenleaf colors, green/blue category system,
   modern readable typography, video/social modules.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600&display=swap');
:root{
  --bg:#ffffff;
  --paper:#ffffff;
  --paper-2:#f8fbf8;
  --line:#e2e9e2;
  --line-2:#d5dfd5;
  --text:#17231a;
  --muted:#68766b;
  --green:#46b833;
  --green-dark:#2f8e2d;
  --green-light:#e8f8df;
  --green-pale:#f2faee;
  --blue:#68cce5;
  --blue-soft:#eaf8fc;
  --shadow:0 18px 52px rgba(32,83,42,.07);
  --font:'Manrope','Avenir Next','Helvetica Neue',Arial,sans-serif;
}
html,body{background:#fff!important}
body{font-family:var(--font)!important;color:var(--text)!important;font-size:15px;line-height:1.55}
.site-background{background:#fff!important}
.site-background::after{display:none!important}
.site-frame{background:#fff!important;border-color:#edf2ed!important;box-shadow:0 14px 44px rgba(31,72,37,.06)!important;backdrop-filter:none!important}
.topbar{background:rgba(255,255,255,.96)!important;border-bottom-color:#edf1ed!important}
.topbar .brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px}
.topbar .brand img{width:164px}
.service-center-mark{display:block;font-size:9px;line-height:1.15;color:#5f6b62;font-weight:500;letter-spacing:.015em;white-space:nowrap;margin-left:2px}
.footer .service-center-mark{font-size:10px;margin-top:3px}
.nav a{font-weight:500!important;font-size:14px!important}
.btn-primary,.header-account,.card-cart-add,.circle-btn,.product-add-btn{background:linear-gradient(135deg,#62d73e,#32a63b)!important;border-color:transparent!important;color:#fff!important}
.header-cart-count{background:#55c83c!important}

/* Typography: calm, readable, no heavy AI-looking boldness. */
h1,h2,h3,h4,h5,.block-title h2{font-family:var(--font)!important;font-weight:500!important;letter-spacing:-.025em!important;text-transform:none!important}
.hero-copy h1{font-size:clamp(36px,3.25vw,52px)!important;line-height:1.09!important;font-weight:500!important;max-width:620px}
.hero-copy p{font-size:16px!important;line-height:1.65!important;color:#607066!important;max-width:560px!important}
.block-title h2{font-size:24px!important}
.category-tile h3{font-size:18px!important;font-weight:500!important}
.category-tile p{font-size:13px!important;line-height:1.45!important}
.product-card h4,.catalog-card h4{font-weight:500!important}

/* Homepage hero: branded Greenleaf image rather than product mockup. */
.hero-home{padding-top:42px!important;padding-bottom:34px!important;align-items:center!important}
.hero-copy{padding-top:0!important}
.hero-visual{min-height:400px!important;border-radius:34px 10px 34px 10px!important;overflow:visible!important;background:#f4fbf3}
.hero-brand-art{position:absolute;inset:0;border-radius:34px 10px 34px 10px;overflow:hidden;background:#eef9ed}
.hero-brand-bg{width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(.98)}
.hero-brand-shade{position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.12),rgba(80,187,62,.06))}
.hero-brand-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,64%);height:auto;filter:drop-shadow(0 7px 18px rgba(255,255,255,.55));background:rgba(255,255,255,.82);padding:18px 26px;border-radius:18px;backdrop-filter:blur(6px)}
.hero-stat{background:#fff!important;border-color:#e5ece5!important;box-shadow:0 12px 32px rgba(44,97,49,.10)!important;backdrop-filter:none!important;width:235px!important;min-height:96px!important;padding:15px 17px!important}
.hero-stat strong{color:var(--green-dark)!important;font-size:28px!important;font-weight:500!important}
.hero-stat small{font-size:11px!important;line-height:1.35!important;color:#647067!important;margin-top:8px!important;white-space:nowrap}
.hero-stat.stat-a{top:118px!important;left:-56px!important}
.hero-stat.stat-b{top:235px!important;left:-56px!important}
.hero-stat .stat-icon{color:var(--green)!important}

/* Client asked to remove the old four-benefit strip. */
.benefit-strip{display:none!important}

/* Site-wide white spacing. */
.home-grid,.materials-section,.news-section,.home-video-section,.social-section{margin-top:58px!important}
.home-grid{padding-top:0!important}

/* Categories: brighter green -> blue gradients inspired by the logo. */
.four-category-mosaic{gap:14px!important}
.category-tile{border-color:#dce8dd!important;background:#38b646!important;box-shadow:0 8px 24px rgba(45,118,54,.06)}
.category-tile img{filter:saturate(.96) contrast(.98);transform:scale(1.01)}
.category-tile>div{background:linear-gradient(112deg,rgba(46,174,61,.94) 0%,rgba(88,198,114,.83) 46%,rgba(94,195,224,.73) 100%)!important;color:#fff!important}
.category-tile:nth-child(2)>div{background:linear-gradient(112deg,rgba(62,193,67,.92),rgba(105,210,127,.80),rgba(91,194,225,.72))!important}
.category-tile:nth-child(3)>div{background:linear-gradient(112deg,rgba(94,205,93,.91),rgba(78,182,110,.82),rgba(91,194,225,.72))!important}
.category-tile:nth-child(4)>div{background:linear-gradient(112deg,rgba(72,187,68,.92),rgba(75,176,116,.80),rgba(75,177,217,.72))!important}
.category-tile h3,.category-tile p,.category-tile span{color:#fff!important;text-shadow:0 1px 6px rgba(13,66,29,.16)}
.category-tile p{max-width:210px!important}

/* Catalog section controls follow the same green/blue palette. */
.product-section-tabs .tab{background:linear-gradient(135deg,#fff,#f8fffa)!important;border-color:#dce8de!important}
.product-section-tabs .tab.active{background:linear-gradient(125deg,#ddf7d8,#e8f8fc)!important;border-color:#8fd284!important;box-shadow:0 8px 24px rgba(53,151,62,.09)}
.catalog-brand-banner{position:relative!important;background:linear-gradient(120deg,#effced 0%,#eaf9fd 100%)!important;display:grid;place-items:center;overflow:hidden!important}
.catalog-green-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover!important;filter:saturate(.9);opacity:.36}
.catalog-brand-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.86),rgba(255,255,255,.48))}
.catalog-brand-logo{position:relative!important;z-index:2;width:min(330px,55%)!important;height:auto!important;object-fit:contain!important;background:rgba(255,255,255,.82);padding:14px 20px;border-radius:16px}

/* Homepage news in a clear Greenleaf style. */
.news-section{margin-left:50px!important;margin-right:50px!important;padding:30px!important;border:1px solid #dcebdc!important;border-radius:22px!important;background:linear-gradient(130deg,#f2fff0 0%,#f7fffb 55%,#eefaff 100%)!important}
.news-section .block-title a{color:var(--green-dark)!important;font-weight:500}
.news-feature,.news-list article{background:#fff!important;border-color:#dce8dd!important;box-shadow:0 6px 18px rgba(39,100,46,.05)}
.news-feature h3,.news-list h3{font-weight:500!important;color:#24352a!important}
.news-feature a,.news-list a,.micro{color:var(--green-dark)!important}

/* Video module — shown only when a URL is configured in admin. */
.home-video-section{margin-left:50px;margin-right:50px;padding:0}
.home-video-frame{position:relative;aspect-ratio:16/9;border:1px solid #dce8dd;border-radius:22px;overflow:hidden;background:#eef8f0;box-shadow:0 10px 32px rgba(38,97,45,.06)}
.home-video-frame iframe,.home-video-frame video{width:100%;height:100%;display:block;border:0;background:#000}
.home-video-frame video{object-fit:cover}

/* Social links after news. */
.social-section{margin-left:50px;margin-right:50px;margin-bottom:28px;padding:24px 26px;border:1px solid #dce8dd;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff}
.social-copy{display:flex;flex-direction:column;gap:4px}.social-copy span{font-size:12px;color:var(--green-dark);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.social-copy strong{font-size:17px;font-weight:500}
.social-links{display:flex;gap:10px}.social-link{min-width:138px;height:46px;padding:0 15px;border:1px solid #d9e5da;border-radius:14px;display:flex;align-items:center;gap:10px;background:#fff;font-size:13px;font-weight:500;transition:.18s}.social-link:hover{transform:translateY(-1px);border-color:#9dd696;box-shadow:0 8px 20px rgba(44,119,51,.08)}.social-link[aria-disabled="true"]{opacity:.55;pointer-events:none}.social-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:600}.instagram-icon{background:linear-gradient(135deg,#6ccf4a,#5fcce4)}.max-icon{background:linear-gradient(135deg,#54c33d,#3b9edb)}

/* Footer: service center rather than an official-company impression. */
.footer{background:#fbfefb!important;border-top-color:#e6eee6!important}
.footer-brand p{max-width:260px!important}

/* Catalog product cards stay clean on white. */
.catalog-card,.product-card{background:#fff!important;border-color:#dfe7df!important}
.catalog-card.featured,.product-card.featured{background:#f3fbef!important;border-color:#cbe5c6!important}

@media(max-width:980px){
  .service-center-mark{font-size:8px}
  .news-section,.home-video-section,.social-section{margin-left:24px!important;margin-right:24px!important}
}
@media(max-width:700px){
  body{font-size:14px;line-height:1.5}
  .site-frame{background:#fff!important}
  .topbar .brand img{width:122px}
  .service-center-mark{font-size:7px;max-width:126px;overflow:hidden;text-overflow:ellipsis}
  .hero-home{padding:14px 14px 8px!important;gap:18px!important}
  .hero-visual{min-height:245px!important;border-radius:24px 8px 24px 8px!important}
  .hero-brand-art{border-radius:24px 8px 24px 8px!important}
  .hero-brand-logo{width:64%!important;padding:10px 14px!important;border-radius:12px!important}
  .hero-copy h1{font-size:30px!important;line-height:1.1!important;margin-bottom:14px!important}
  .hero-copy p{font-size:14px!important;line-height:1.55!important}
  .hero-stat{width:146px!important;min-height:78px!important;padding:10px 11px!important;border-radius:14px!important}
  .hero-stat.stat-a{left:10px!important;top:116px!important}
  .hero-stat.stat-b{left:auto!important;right:10px!important;top:166px!important}
  .hero-stat strong{font-size:21px!important}
  .hero-stat small{font-size:8px!important;white-space:normal!important;margin-top:5px!important}
  .home-grid,.materials-section,.news-section,.home-video-section,.social-section{margin-top:42px!important}
  .four-category-mosaic{grid-template-columns:1fr!important;grid-template-rows:none!important;gap:10px!important}
  .four-category-mosaic .category-main,.four-category-mosaic .category-tile{grid-column:auto!important;grid-row:auto!important;min-height:128px!important}
  .category-tile>div{padding:16px!important}
  .category-tile h3{font-size:17px!important;max-width:220px!important}
  .category-tile p{font-size:12px!important;max-width:220px!important}
  .news-section,.home-video-section,.social-section{margin-left:14px!important;margin-right:14px!important}
  .news-section{padding:18px!important;border-radius:16px!important}
  .social-section{padding:17px!important;align-items:flex-start;flex-direction:column!important}
  .social-links{width:100%}.social-link{flex:1;min-width:0;justify-content:center}
  .catalog-brand-logo{width:64%!important;padding:9px 12px!important}
}

/* v26.1 alignment and dynamic editorial refinements */
.topbar .brand,.footer .brand{gap:2px!important}
.topbar .brand .service-center-mark{padding-left:1px}
.news-list-item{display:grid;grid-template-columns:112px minmax(0,1fr) 28px;align-items:center;gap:14px;padding:10px;border:1px solid #dce8dd;border-radius:15px;background:#fff;color:inherit!important;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.news-list-item:hover,.news-feature:hover{transform:translateY(-2px);border-color:#a9d7a5!important;box-shadow:0 10px 26px rgba(39,100,46,.08)!important}
.news-list-item img{width:112px;height:86px;object-fit:cover;border-radius:10px}
.news-list-item h3{font-size:16px!important;line-height:1.3!important;margin:5px 0!important;font-weight:500!important}
.news-list-item .read-more,.news-feature .read-more{color:var(--green-dark);font-size:12px;font-weight:500}
.news-feature{color:inherit!important;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.hero-stat{width:278px!important}
.hero-stat small{font-size:10.5px!important}
.hero-stat.stat-b{width:310px!important}
@media(max-width:700px){
  .hero-stat,.hero-stat.stat-b{width:calc(50% - 6px)!important;min-height:90px!important}
  .hero-stat small{white-space:normal!important;font-size:9.5px!important}
  .news-list-item{grid-template-columns:78px minmax(0,1fr) 22px;gap:9px;padding:8px}
  .news-list-item img{width:78px;height:68px}
  .news-list-item h3{font-size:13px!important;margin:3px 0!important}
}
@media(max-width:700px){
  .hero-stat,.hero-stat.stat-b{width:calc(50% - 12px)!important;min-height:88px!important;top:150px!important}
  .hero-stat.stat-a{left:10px!important;right:auto!important}
  .hero-stat.stat-b{left:auto!important;right:10px!important}
}
.footer .brand{flex-direction:column!important;align-items:flex-start!important}
@media(max-width:700px){
  .hero-stat.stat-a small{white-space:nowrap!important;font-size:7.7px!important;letter-spacing:-.01em}
  .hero-stat.stat-b small{white-space:normal!important;font-size:8.8px!important}
}


/* =========================================================
   v28 — fixed homepage editorial layout
   ========================================================= */
.hero-visual{overflow:hidden!important;min-height:400px!important}
.hero-brand-logo{
  top:28px!important;left:50%!important;transform:translateX(-50%)!important;
  width:min(420px,58%)!important;padding:12px 20px!important;z-index:3!important;
  border-radius:16px!important;background:rgba(255,255,255,.88)!important;
}
.hero-stat,.hero-stat.stat-b{
  top:auto!important;bottom:20px!important;min-height:112px!important;
  width:calc(50% - 28px)!important;padding:17px 19px!important;border-radius:20px!important;
  box-shadow:0 12px 30px rgba(39,96,44,.12)!important;z-index:4!important;
}
.hero-stat.stat-a{left:18px!important;right:auto!important}
.hero-stat.stat-b{left:auto!important;right:18px!important}
.hero-stat strong{font-size:32px!important;line-height:1!important;font-weight:500!important}
.hero-stat small{font-size:12px!important;line-height:1.42!important;margin-top:11px!important;white-space:normal!important}
.hero-stat .stat-icon{width:27px!important;height:27px!important}

.home-editorial-section,.knowledge-section,.home-video-section,.social-section{
  margin-left:50px!important;margin-right:50px!important;
}
.section-kicker{font-size:11px!important;line-height:1!important;color:#4c9639!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-weight:600!important;margin-bottom:8px!important}
.home-section-heading,.compact-heading{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;margin-bottom:20px!important}
.home-section-heading>div:first-child,.compact-heading>div:first-child{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.home-section-heading h2,.knowledge-section h2,.home-video-section h2{font-size:30px!important;line-height:1.15!important;font-weight:500!important;margin:0!important;letter-spacing:-.025em!important}
.home-section-heading p,.compact-heading p{font-size:14px!important;color:#79817a!important;line-height:1.5!important;margin:7px 0 0!important;max-width:560px!important}

/* News: three cards on desktop, swipeable on mobile. */
.news-section{
  margin-top:60px!important;padding:28px!important;border:1px solid #d8ead9!important;border-radius:22px!important;
  background:linear-gradient(135deg,#f2fff0 0%,#fbfffb 55%,#eefaff 100%)!important;
  overflow:hidden!important;
}
.news-carousel-actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
.news-carousel-actions>a{font-size:13px!important;color:#3b8b31!important;font-weight:500!important;margin-right:6px!important;white-space:nowrap!important}
.carousel-arrow{width:38px!important;height:38px!important;border-radius:12px!important;border:1px solid #d7e5d7!important;background:#fff!important;color:#315f2d!important;font-size:18px!important;display:grid!important;place-items:center!important;cursor:pointer!important}
.home-news-carousel{width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
.home-news-carousel::-webkit-scrollbar{display:none!important}
.home-news-track{
  display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;
  grid-auto-columns:calc((100% - 32px)/3)!important;gap:16px!important;width:auto!important;
}
.home-news-card{
  scroll-snap-align:start!important;display:flex!important;flex-direction:column!important;min-width:0!important;
  border:1px solid #dce8dd!important;border-radius:16px!important;background:#fff!important;color:inherit!important;text-decoration:none!important;
  overflow:hidden!important;box-shadow:0 5px 18px rgba(40,95,47,.04)!important;
}
.home-news-media{width:100%!important;aspect-ratio:16/9!important;overflow:hidden!important;background:#f3f5f1!important}
.home-news-media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.home-news-copy{padding:15px 16px 16px!important;display:flex!important;flex-direction:column!important;min-height:160px!important}
.home-news-copy .micro{font-size:11px!important;color:#4c9639!important}
.home-news-copy h3{font-size:17px!important;line-height:1.3!important;font-weight:500!important;margin:7px 0 8px!important;color:#24352a!important}
.home-news-copy p{font-size:12.5px!important;line-height:1.48!important;color:#747d74!important;margin:0!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.home-news-copy .read-more{font-size:12px!important;color:#468634!important;font-weight:600!important;margin-top:auto!important;padding-top:12px!important}

/* Articles + learning: compact editorial lists instead of giant cards. */
.knowledge-section{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:30px!important;
  margin-top:60px!important;padding:0!important;
}
.knowledge-column{min-width:0!important}
.compact-heading{margin-bottom:16px!important}
.compact-heading>a{font-size:12px!important;color:#468634!important;white-space:nowrap!important}
.knowledge-cards{display:flex!important;flex-direction:column!important;gap:10px!important}
.knowledge-card{
  display:grid!important;grid-template-columns:128px minmax(0,1fr)!important;align-items:stretch!important;
  min-height:118px!important;border:1px solid #e0e8df!important;border-radius:15px!important;overflow:hidden!important;
  background:#fff!important;color:inherit!important;text-decoration:none!important;
}
.knowledge-card>img{display:block!important;width:128px!important;height:100%!important;min-height:118px!important;object-fit:cover!important;background:#f4f5f1!important}
.knowledge-card>div{padding:13px 14px!important;min-width:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.knowledge-card small{display:block!important;color:#5b9c43!important;font-size:9px!important;line-height:1!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-weight:600!important;margin-bottom:6px!important}
.knowledge-card h3{font-size:15px!important;line-height:1.3!important;font-weight:500!important;margin:0 0 5px!important;color:#223127!important}
.knowledge-card p{font-size:11.5px!important;line-height:1.42!important;color:#7b8279!important;margin:0 0 8px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.knowledge-card span{font-size:11px!important;color:#4d8738!important;font-weight:600!important}

/* Socials remain compact and use supplied SVG icons. */
.social-section{
  margin-top:60px!important;margin-bottom:0!important;padding:22px 24px!important;border:1px solid #dce8dd!important;border-radius:20px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;background:#fff!important;
}
.social-copy{display:flex!important;flex-direction:column!important;gap:4px!important}
.social-copy span{font-size:11px!important;color:#398b32!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.social-copy strong{font-size:17px!important;line-height:1.35!important;font-weight:500!important}
.social-links{display:flex!important;gap:10px!important;flex-wrap:wrap!important}
.social-link{height:48px!important;min-width:142px!important;padding:0 15px!important;border:1px solid #dbe6dc!important;border-radius:14px!important;display:flex!important;align-items:center!important;gap:10px!important;background:#fff!important;color:#6d746d!important;text-decoration:none!important;font-size:13px!important;font-weight:500!important}
.social-icon{width:30px!important;height:30px!important;background:transparent!important;border-radius:0!important;overflow:visible!important;display:block!important}
.social-icon img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}

/* Video lives near the end and never expands beyond the content width. */
.home-video-section{margin-top:60px!important;margin-bottom:36px!important;padding:0!important}
.home-video-frame{width:100%!important;aspect-ratio:16/8!important;border:1px solid #dce8dd!important;border-radius:20px!important;overflow:hidden!important;background:#f3f8f3!important;box-shadow:0 8px 26px rgba(38,97,45,.05)!important}
.home-video-frame iframe,.home-video-frame video{display:block!important;width:100%!important;height:100%!important;border:0!important;background:#111!important}
.home-video-frame video{object-fit:contain!important}
.video-upload-control small{display:block!important;margin-top:6px!important;color:#879087!important;font-size:12px!important}

@media(max-width:980px){
  .home-editorial-section,.knowledge-section,.home-video-section,.social-section{margin-left:24px!important;margin-right:24px!important}
  .home-news-track{grid-auto-columns:calc((100% - 16px)/2)!important}
  .knowledge-section{grid-template-columns:1fr!important;gap:44px!important}
}

@media(max-width:700px){
  .hero-visual{min-height:360px!important}
  .hero-brand-logo{top:16px!important;width:76%!important;padding:9px 12px!important;border-radius:13px!important}
  .hero-stat,.hero-stat.stat-b{bottom:10px!important;width:calc(50% - 15px)!important;min-height:118px!important;padding:14px 13px!important;border-radius:18px!important}
  .hero-stat.stat-a{left:8px!important}.hero-stat.stat-b{right:8px!important}
  .hero-stat strong{font-size:28px!important}.hero-stat small{font-size:10px!important;line-height:1.36!important;margin-top:9px!important}.hero-stat .stat-icon{width:22px!important;height:22px!important}
  .home-editorial-section,.knowledge-section,.home-video-section,.social-section{margin-left:14px!important;margin-right:14px!important}
  .news-section{margin-top:45px!important;padding:16px!important;border-radius:18px!important}
  .home-section-heading,.compact-heading{align-items:flex-start!important;gap:12px!important;margin-bottom:16px!important}
  .home-section-heading h2,.knowledge-section h2,.home-video-section h2{font-size:25px!important}
  .home-section-heading p,.compact-heading p{font-size:12.5px!important;line-height:1.45!important}
  .news-carousel-actions{width:100%!important;justify-content:flex-end!important}.news-carousel-actions>a{margin-right:auto!important}
  .carousel-arrow{width:36px!important;height:36px!important;border-radius:11px!important}
  .home-news-track{grid-auto-columns:88%!important;gap:12px!important}
  .home-news-copy{min-height:150px!important;padding:13px 14px 14px!important}.home-news-copy h3{font-size:16px!important}.home-news-copy p{font-size:12px!important}
  .knowledge-section{margin-top:45px!important;gap:36px!important}
  .knowledge-card{grid-template-columns:104px minmax(0,1fr)!important;min-height:104px!important}
  .knowledge-card>img{width:104px!important;min-height:104px!important}
  .knowledge-card>div{padding:11px 12px!important}.knowledge-card h3{font-size:14px!important}.knowledge-card p{font-size:10.8px!important;margin-bottom:6px!important}
  .social-section{margin-top:45px!important;padding:18px!important;flex-direction:column!important;align-items:stretch!important}
  .social-links{display:grid!important;grid-template-columns:1fr 1fr!important}.social-link{min-width:0!important;justify-content:center!important;padding:0 10px!important}
  .home-video-section{margin-top:45px!important;margin-bottom:28px!important}.home-video-frame{aspect-ratio:16/9!important;border-radius:16px!important}
}

/* =========================================================
   v29 — homepage/mobile polish from client feedback
   ========================================================= */

/* Hero stat cards: equal geometry, larger descriptions, lower placement. */
.hero-stat,
.hero-stat.stat-a,
.hero-stat.stat-b{
  width:240px!important;
  min-height:112px!important;
  padding:18px 20px!important;
  border-radius:20px!important;
  display:grid!important;
  grid-template-columns:26px 1fr!important;
  grid-template-rows:auto auto!important;
  column-gap:12px!important;
  align-content:center!important;
}
.hero-stat .stat-icon{grid-column:1;grid-row:1;width:24px!important;height:24px!important;align-self:center!important}
.hero-stat strong{grid-column:2;grid-row:1;font-size:31px!important;line-height:1!important}
.hero-stat small{grid-column:1 / -1;grid-row:2;font-size:13px!important;line-height:1.35!important;margin-top:13px!important;white-space:normal!important}
.hero-stat.stat-a{top:auto!important;bottom:132px!important;left:-48px!important}
.hero-stat.stat-b{top:auto!important;bottom:10px!important;left:-48px!important}

/* News: exactly three complete cards on desktop. */
.home-editorial-section{overflow:hidden!important}
.home-section-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:22px!important;
  margin-bottom:22px!important;
}
.home-section-heading>div:first-child{min-width:0!important}
.home-section-heading>div:first-child>p{max-width:none!important}
.news-carousel-actions{align-self:end!important}
.home-news-carousel{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:0!important}
.home-news-track{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - 32px)/3)!important;
  gap:16px!important;
  padding:0!important;
}
.home-news-card{scroll-snap-align:start!important;scroll-snap-stop:always!important;width:100%!important;min-width:0!important}

/* Replace giant article lists with two simple, editorial resource blocks. */
.resource-section{
  margin:60px 50px 0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
}
.resource-column{min-width:0!important}
.resource-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:18px!important;
  margin-bottom:16px!important;
}
.resource-heading h2{font-size:30px!important;line-height:1.08!important;font-weight:500!important;margin:3px 0 7px!important;color:#1f2c22!important}
.resource-heading p{font-size:14px!important;line-height:1.5!important;color:#737d74!important;max-width:430px!important;margin:0!important}
.resource-heading>a{font-size:13px!important;color:#468634!important;font-weight:500!important;white-space:nowrap!important;margin-bottom:2px!important}
.resource-card{
  display:block!important;
  background:#fff!important;
  border:1px solid #dfe9df!important;
  border-radius:18px!important;
  overflow:hidden!important;
  color:inherit!important;
  text-decoration:none!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
.resource-card:hover{transform:translateY(-2px)!important;border-color:#b9dab7!important;box-shadow:0 12px 28px rgba(45,103,51,.07)!important}
.resource-card>img{display:block!important;width:100%!important;aspect-ratio:16/8!important;object-fit:cover!important;background:#f3f5f1!important}
.resource-card-copy{padding:18px 19px 20px!important}
.resource-card-copy small{display:block!important;font-size:10px!important;line-height:1!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#51913d!important;font-weight:600!important;margin-bottom:9px!important}
.resource-card-copy h3{font-size:20px!important;line-height:1.28!important;font-weight:500!important;color:#223127!important;margin:0 0 8px!important}
.resource-card-copy p{font-size:13.5px!important;line-height:1.5!important;color:#788178!important;margin:0 0 14px!important}
.resource-card-copy span{font-size:13px!important;color:#468634!important;font-weight:600!important}

/* Social links should never look disabled/transparent. */
.social-link,
.social-link[aria-disabled="true"]{opacity:1!important;filter:none!important;background:#fff!important;color:#4f5850!important;border-color:#d7e5d8!important;pointer-events:auto!important}
.social-link[aria-disabled="true"]{cursor:default!important}
.social-icon img{opacity:1!important;filter:none!important}

/* Footer should not crop the service-center line. */
.footer .service-center-mark{
  max-width:none!important;
  width:auto!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
}

@media(max-width:980px){
  .resource-section{margin-left:24px!important;margin-right:24px!important}
}

@media(max-width:700px){
  /* Hero cards stay equal and sit below the logo. */
  .hero-visual{min-height:352px!important}
  .hero-brand-logo{top:16px!important;width:74%!important}
  .hero-stat,
  .hero-stat.stat-a,
  .hero-stat.stat-b{
    width:calc(50% - 13px)!important;
    min-height:112px!important;
    padding:13px 12px!important;
    border-radius:18px!important;
    grid-template-columns:21px 1fr!important;
    column-gap:8px!important;
    bottom:12px!important;
    top:auto!important;
  }
  .hero-stat.stat-a{left:8px!important;right:auto!important}
  .hero-stat.stat-b{left:auto!important;right:8px!important}
  .hero-stat .stat-icon{width:20px!important;height:20px!important}
  .hero-stat strong{font-size:26px!important}
  .hero-stat small{font-size:11px!important;line-height:1.3!important;margin-top:9px!important}

  /* Product categories are shorter and denser on mobile. */
  .four-category-mosaic{gap:8px!important}
  .four-category-mosaic .category-main,
  .four-category-mosaic .category-tile{
    min-height:96px!important;
    height:96px!important;
    border-radius:15px!important;
  }
  .category-tile>div{padding:13px 14px!important}
  .category-tile h3{font-size:15px!important;line-height:1.18!important;margin-bottom:4px!important}
  .category-tile p{font-size:11px!important;line-height:1.28!important;max-width:200px!important;margin-bottom:3px!important}
  .category-tile span{font-size:10px!important}

  /* Mobile news heading follows the reference: title + link, full-width description. */
  .news-section{padding:18px 16px!important}
  .home-section-heading{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:10px 14px!important;
    margin-bottom:18px!important;
  }
  .home-section-heading>div:first-child{display:contents!important}
  .home-section-heading .section-kicker{grid-column:1;grid-row:1;font-size:11px!important;margin:0 0 2px!important}
  .home-section-heading h2{grid-column:1;grid-row:2;font-size:29px!important;line-height:1.05!important;margin:0!important}
  .home-section-heading p{
    grid-column:1 / -1!important;grid-row:3!important;
    width:100%!important;max-width:none!important;
    font-size:13.5px!important;line-height:1.45!important;margin:4px 0 0!important;
  }
  .news-carousel-actions{grid-column:2;grid-row:1 / span 2!important;align-self:center!important;display:flex!important;gap:6px!important;width:auto!important}
  .news-carousel-actions>a{font-size:13px!important;margin:0!important;white-space:nowrap!important}
  .news-carousel-actions .carousel-arrow{display:none!important}

  /* One clean card at a time; swipe horizontally, no half-cut after a step. */
  .home-news-carousel{width:100%!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scroll-padding:0!important}
  .home-news-track{grid-auto-columns:100%!important;gap:12px!important}
  .home-news-card{scroll-snap-align:start!important;width:100%!important}
  .home-news-media{aspect-ratio:16/9!important}
  .home-news-copy{min-height:0!important;padding:14px 15px 16px!important}
  .home-news-copy h3{font-size:17px!important;line-height:1.3!important}
  .home-news-copy p{font-size:13px!important;line-height:1.45!important;-webkit-line-clamp:2!important}

  /* Learning + promotions are simple single-card sections, stacked on mobile. */
  .resource-section{margin:45px 14px 0!important;grid-template-columns:1fr!important;gap:42px!important}
  .resource-heading{grid-template-columns:minmax(0,1fr) auto!important;gap:10px 14px!important;margin-bottom:14px!important}
  .resource-heading h2{font-size:29px!important;margin:2px 0 6px!important}
  .resource-heading p{font-size:13px!important;line-height:1.45!important;max-width:none!important}
  .resource-heading>a{font-size:12px!important;align-self:center!important}
  .resource-card>img{aspect-ratio:16/9!important}
  .resource-card-copy{padding:15px 16px 17px!important}
  .resource-card-copy h3{font-size:18px!important}
  .resource-card-copy p{font-size:13px!important}

  /* Social buttons are solid and balanced. */
  .social-section{padding:18px 16px!important}
  .social-copy strong{font-size:18px!important;line-height:1.35!important}
  .social-link{height:52px!important;font-size:14px!important;background:#fff!important}
  .social-icon{width:31px!important;height:31px!important}

  /* Footer: allow all labels/text to wrap instead of being ellipsized. */
  .footer-brand .brand{align-items:flex-start!important}
  .footer .service-center-mark{display:block!important;font-size:10px!important;line-height:1.35!important;margin-top:4px!important;max-width:210px!important}
  .footer-brand p,.footer-bottom span,.footer-bottom a{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .footer-bottom{gap:10px!important}
}

/* =========================================================
   v30 — client layout pass: headings, hero stats, CTAs,
   homepage product selection and responsive cleanup
   ========================================================= */

/* One section-heading scale across the homepage (hero H1 stays untouched). */
.home .block-title h2,
.home .home-section-heading h2,
.home .resource-heading h2,
.home .home-video-section h2{
  font-size:30px!important;
  line-height:1.08!important;
  font-weight:500!important;
  letter-spacing:-.03em!important;
  margin:0!important;
}
.home .block-title{margin-bottom:18px!important}
.home .section-kicker{font-size:11px!important;letter-spacing:.09em!important;font-weight:650!important}

/* Hero statistic cards: equal, contained inside the visual and never cover the logo. */
.hero-visual{overflow:hidden!important}
.hero-stat,
.hero-stat.stat-a,
.hero-stat.stat-b{
  top:auto!important;
  bottom:22px!important;
  width:calc(50% - 34px)!important;
  min-height:128px!important;
  padding:20px 22px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(213,225,211,.98)!important;
  box-shadow:0 14px 32px rgba(33,78,39,.12)!important;
  display:grid!important;
  grid-template-columns:28px 1fr!important;
  grid-template-rows:auto 1fr!important;
  column-gap:12px!important;
  align-content:center!important;
}
.hero-stat.stat-a{left:22px!important;right:auto!important}
.hero-stat.stat-b{left:auto!important;right:22px!important}
.hero-stat .stat-icon{grid-column:1!important;grid-row:1!important;width:24px!important;height:24px!important;margin:0!important;float:none!important;align-self:center!important}
.hero-stat strong{grid-column:2!important;grid-row:1!important;font-size:34px!important;line-height:1!important;font-weight:500!important}
.hero-stat small{
  grid-column:1 / -1!important;
  grid-row:2!important;
  align-self:end!important;
  margin:15px 0 0!important;
  font-size:14px!important;
  line-height:1.35!important;
  color:#66726a!important;
  white-space:normal!important;
}
.hero-brand-logo{top:28%!important;max-height:118px!important}

/* Make both desktop homepage columns behave like complete blocks with CTA at bottom. */
.home-grid{align-items:stretch!important}
.home-grid .home-block{display:flex!important;flex-direction:column!important;min-width:0!important}
.home-grid .category-mosaic,.home-grid .product-row{flex:0 0 auto}

/* Desktop product categories: taller, with consistent description and bottom action. */
@media(min-width:981px){
  .four-category-mosaic{height:330px!important;min-height:330px!important}
  .four-category-mosaic .category-tile{min-height:0!important}
}
.category-tile>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}
.category-tile p{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  width:100%!important;
  max-width:230px!important;
  line-height:1.35!important;
}
.category-tile span{
  position:static!important;
  margin-top:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding-top:8px!important;
  font-weight:600!important;
}

/* Resource columns are deliberately identical in geometry. */
.resource-section{align-items:stretch!important}
.resource-column{display:flex!important;flex-direction:column!important;min-width:0!important}
.resource-heading{display:block!important;min-height:112px!important;margin-bottom:16px!important}
.resource-heading>div{width:100%!important}
.resource-heading h2{font-size:30px!important}
.resource-heading p{max-width:none!important;font-size:14px!important;line-height:1.5!important}
.resource-card{display:flex!important;flex-direction:column!important;flex:1 1 auto!important}
.resource-card>img{aspect-ratio:16/8!important}
.resource-card-copy{display:flex!important;flex-direction:column!important;flex:1!important;min-height:182px!important}
.resource-card-copy p{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important}
.resource-card-copy span{margin-top:auto!important;padding-top:8px!important}

/* Bottom CTAs: full-width, consistent and gently animated. */
@keyframes greenleaf-cta-flow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.section-wide-cta{
  width:100%!important;
  min-height:48px!important;
  margin-top:18px!important;
  padding:0 18px!important;
  border:1px solid rgba(76,150,68,.22)!important;
  border-radius:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13.5px!important;
  font-weight:600!important;
  background:linear-gradient(110deg,#2f9f43 0%,#55bb62 34%,#53b9cd 67%,#2f9f43 100%)!important;
  background-size:220% 220%!important;
  animation:greenleaf-cta-flow 7s ease-in-out infinite!important;
  box-shadow:0 8px 22px rgba(51,125,61,.12)!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.section-wide-cta:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(51,125,61,.18)!important}
.section-wide-cta b{font-size:18px!important;font-weight:400!important;line-height:1!important}
.news-section>.section-wide-cta{margin-top:20px!important}
.resource-column>.section-wide-cta{margin-top:16px!important}

/* News controls stay compact; the main navigation link now lives below the carousel. */
.news-carousel-actions{display:flex!important;gap:8px!important;align-items:center!important}
.home-news-carousel{scrollbar-width:none!important}
.home-news-carousel::-webkit-scrollbar{display:none!important}

/* Header/footer delivery message must stay readable and never ellipsize. */
.topbar .brand,.footer .brand{align-items:flex-start!important}
.topbar .brand .service-center-mark,
.footer .brand .service-center-mark{
  display:block!important;
  color:#5e6b61!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.2!important;
}
.topbar .brand .service-center-mark{font-size:9px!important;max-width:190px!important;margin-top:3px!important}
.footer .brand .service-center-mark{font-size:12px!important;max-width:270px!important;margin-top:6px!important}
.footer-brand p{font-size:11px!important;line-height:1.45!important}

@media(max-width:980px){
  .hero-brand-logo{top:26%!important}
  .resource-heading{min-height:0!important}
}

@media(max-width:700px){
  .home .block-title h2,
  .home .home-section-heading h2,
  .home .resource-heading h2,
  .home .home-video-section h2{font-size:29px!important;line-height:1.06!important}
  .home .block-title{margin-bottom:14px!important}

  .hero-visual{min-height:350px!important}
  .hero-brand-logo{top:18px!important;width:74%!important;max-height:none!important}
  .hero-stat,
  .hero-stat.stat-a,
  .hero-stat.stat-b{
    bottom:12px!important;
    width:calc(50% - 14px)!important;
    min-height:118px!important;
    padding:14px 13px!important;
    border-radius:18px!important;
    grid-template-columns:22px 1fr!important;
    column-gap:8px!important;
  }
  .hero-stat.stat-a{left:8px!important;right:auto!important}
  .hero-stat.stat-b{left:auto!important;right:8px!important}
  .hero-stat .stat-icon{width:20px!important;height:20px!important}
  .hero-stat strong{font-size:28px!important}
  .hero-stat small{
    font-size:12px!important;
    line-height:1.3!important;
    margin-top:10px!important;
  }

  /* Still compact on mobile, but enough room for 2-line copy + bottom link. */
  .four-category-mosaic .category-main,
  .four-category-mosaic .category-tile{
    height:118px!important;
    min-height:118px!important;
  }
  .category-tile>div{padding:12px 14px!important}
  .category-tile h3{font-size:16px!important;line-height:1.15!important;margin:0 0 5px!important}
  .category-tile p{font-size:11.5px!important;line-height:1.25!important;max-width:100%!important;margin:0!important}
  .category-tile span{font-size:10.5px!important;min-height:24px!important;padding-top:5px!important}

  .section-wide-cta{min-height:46px!important;margin-top:14px!important;border-radius:13px!important;font-size:13px!important;padding:0 15px!important}

  .resource-section{gap:38px!important}
  .resource-heading{min-height:0!important;margin-bottom:14px!important}
  .resource-heading p{font-size:13.5px!important;line-height:1.45!important}
  .resource-card-copy{min-height:165px!important}

  .news-carousel-actions{grid-column:2!important;grid-row:1 / span 2!important;align-self:center!important}
  .news-carousel-actions .carousel-arrow{display:grid!important;width:34px!important;height:34px!important}

  .topbar .brand .service-center-mark{font-size:7.5px!important;line-height:1.15!important;max-width:132px!important;margin-top:2px!important}
  .footer .brand .service-center-mark{font-size:11px!important;max-width:none!important}
  .footer-brand p{font-size:11px!important;max-width:none!important}
  .footer-bottom{width:100%!important;min-width:0!important}
  .footer-bottom>span{max-width:100%!important;word-break:normal!important;overflow-wrap:anywhere!important}
}
/* Keep the social section title on the same homepage heading scale. */
.home .social-copy strong{font-size:30px!important;line-height:1.15!important;font-weight:500!important;letter-spacing:-.025em!important}
@media(max-width:700px){.home .social-copy strong{font-size:29px!important;line-height:1.1!important}}

/* =========================================================
   v31 — category CTA + spacing hotfix
   Keeps the catalog CTA in normal document flow and restores
   a clean gap before the Popular products block.
   ========================================================= */
.home #opportunities.home-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  row-gap:60px!important;
  align-items:start!important;
}
.home #opportunities .categories-block,
.home #opportunities .products-block{
  width:100%!important;
  min-width:0!important;
  display:block!important;
  overflow:visible!important;
}
.home #opportunities .categories-block .four-category-mosaic{
  margin:0!important;
}
.home #opportunities .categories-block > .section-wide-cta{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:22px 0 0!important;
  min-height:50px!important;
  transform:none!important;
  z-index:1!important;
}
.home #opportunities .categories-block > .section-wide-cta:hover{
  transform:translateY(-1px)!important;
}
.home #opportunities .products-block{
  margin:0!important;
  padding:0!important;
}
.home #opportunities .products-block > .block-title{
  margin-top:0!important;
}

@media(max-width:700px){
  .home #opportunities.home-grid{
    row-gap:45px!important;
  }
  .home #opportunities .categories-block > .section-wide-cta{
    margin-top:16px!important;
    min-height:46px!important;
  }
}

/* =========================================================
   v32 — definitive category block flow fix
   The desktop category grid had explicit row tracks taller than
   its forced 330px box, so the last row visually overflowed and
   the CTA was rendered on top of it. Let the grid size itself.
   ========================================================= */
.home #opportunities .categories-block .four-category-mosaic{
  height:auto!important;
  min-height:0!important;
  grid-template-rows:255px 180px!important;
  overflow:visible!important;
}
.home #opportunities .categories-block > .section-wide-cta{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  margin:24px 0 0!important;
  min-height:52px!important;
  box-sizing:border-box!important;
  transform:none!important;
  z-index:auto!important;
}
.home #opportunities .products-block{
  margin-top:0!important;
}
.home #opportunities.home-grid{
  row-gap:60px!important;
}

@media(max-width:980px){
  .home #opportunities .categories-block .four-category-mosaic{
    height:auto!important;
    min-height:0!important;
    grid-template-rows:225px 160px!important;
  }
}

@media(max-width:700px){
  .home #opportunities .categories-block .four-category-mosaic{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
  }
  .home #opportunities .categories-block .four-category-mosaic .category-main,
  .home #opportunities .categories-block .four-category-mosaic .category-tile{
    height:96px!important;
    min-height:96px!important;
  }
  .home #opportunities .categories-block > .section-wide-cta{
    margin-top:16px!important;
    min-height:48px!important;
  }
  .home #opportunities.home-grid{
    row-gap:45px!important;
  }
}

/* =========================================================
   v33 — client forest reference refinements
   ========================================================= */

/* Header: service center wording below logo, larger and clearer. */
.topbar .brand .service-center-mark{
  font-size:11px!important;
  line-height:1.25!important;
  max-width:230px!important;
  color:#56645a!important;
  margin-top:5px!important;
}

/* Homepage hero uses the exact forest / Greenleaf reference image. */
.home .hero-home{
  align-items:center!important;
}
.home .hero-visual{
  overflow:hidden!important;
  background:#eef8e9!important;
}
.home .hero-brand-art{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  border-radius:inherit!important;
}
.home .hero-brand-bg{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
}
.home .hero-brand-logo,
.home .hero-brand-shade{
  display:none!important;
}
.home .hero-copy{
  padding-top:0!important;
}
.home .hero-copy p{
  margin-top:0!important;
}

/* Client requested a single visual line for the first stat. */
.home .hero-stat.stat-a{
  grid-template-columns:24px auto 1fr!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  gap:8px!important;
}
.home .hero-stat.stat-a .stat-icon,
.home .hero-stat.stat-a strong,
.home .hero-stat.stat-a small{
  grid-row:1!important;
  margin:0!important;
}
.home .hero-stat.stat-a .stat-icon{grid-column:1!important}
.home .hero-stat.stat-a strong{grid-column:2!important;white-space:nowrap!important}
.home .hero-stat.stat-a small{
  grid-column:3!important;
  font-size:13px!important;
  line-height:1.25!important;
  white-space:normal!important;
}

/* Product sections: different GREEN shades, only the left half receives gradient.
   The right side remains fully coloured / photographic. */
.home .category-tile>div{
  background:linear-gradient(90deg,
    rgba(45,150,61,.96) 0%,
    rgba(59,177,75,.92) 43%,
    rgba(74,192,89,.58) 54%,
    rgba(74,192,89,0) 70%)!important;
}
.home .category-tile:nth-child(2)>div{
  background:linear-gradient(90deg,rgba(105,196,86,.96) 0%,rgba(73,174,73,.90) 43%,rgba(65,163,69,.54) 54%,rgba(65,163,69,0) 70%)!important;
}
.home .category-tile:nth-child(3)>div{
  background:linear-gradient(90deg,rgba(70,166,70,.96) 0%,rgba(49,143,59,.91) 43%,rgba(41,126,52,.54) 54%,rgba(41,126,52,0) 70%)!important;
}
.home .category-tile:nth-child(4)>div{
  background:linear-gradient(90deg,rgba(39,132,53,.97) 0%,rgba(31,111,47,.92) 43%,rgba(24,91,40,.54) 54%,rgba(24,91,40,0) 70%)!important;
}
.home .category-tile img{
  filter:saturate(1.08) contrast(1.02)!important;
}
.home .category-tile h3,
.home .category-tile p,
.home .category-tile span{
  max-width:48%!important;
}

/* First homepage news card gets the requested green visual treatment. */
.home .home-news-card:first-child{
  border-color:#82c578!important;
  background:linear-gradient(145deg,#effbec 0%,#dff4da 100%)!important;
  box-shadow:0 14px 34px rgba(48,128,54,.12)!important;
}
.home .home-news-card:first-child .home-news-media{
  position:relative!important;
}
.home .home-news-card:first-child .home-news-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(42,139,54,.20),rgba(98,192,79,.05) 55%,transparent 100%);
}
.home .home-news-card:first-child .home-news-copy .micro,
.home .home-news-card:first-child .home-news-copy .read-more{
  color:#2e8737!important;
}

/* Social block: only a big centered title + two clickable logos. */
.home .social-section{
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  padding:30px 24px!important;
}
.home .social-copy strong{
  font-size:30px!important;
  line-height:1.1!important;
  font-weight:500!important;
  color:#203426!important;
}
.home .social-links{
  justify-content:center!important;
  width:100%!important;
  gap:18px!important;
  margin-top:4px!important;
}
.home .social-link{
  min-width:92px!important;
  width:92px!important;
  height:68px!important;
  padding:0!important;
  justify-content:center!important;
  border-radius:18px!important;
}
.home .social-icon{
  width:42px!important;
  height:42px!important;
  background:transparent!important;
}
.home .social-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.home .social-name{display:none!important}

/* Catalog now uses the forest Greenleaf reference picture directly. */
.catalog .catalog-brand-banner.forest-brand-banner{
  display:block!important;
  background:#eef8e9!important;
}
.catalog .catalog-brand-banner.forest-brand-banner .catalog-green-bg{
  position:static!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  filter:none!important;
}
.catalog .catalog-brand-overlay,
.catalog .catalog-brand-logo{
  display:none!important;
}

/* Cart hero: less spa/editorial, more recognisable product assortment. */
.cart .cart-intro .intro-art{
  background:#e9f6e7!important;
}
.cart .cart-intro .intro-art img{
  object-fit:cover!important;
  object-position:center 56%!important;
  filter:saturate(1.08) contrast(1.01)!important;
}

@media(max-width:700px){
  .topbar .brand .service-center-mark{
    font-size:9.5px!important;
    line-height:1.25!important;
    max-width:158px!important;
    margin-top:3px!important;
  }

  .home .hero-home{
    padding-top:14px!important;
  }
  .home .hero-visual{
    min-height:330px!important;
    border-radius:22px!important;
  }
  .home .hero-brand-art{
    border-radius:22px!important;
  }
  .home .hero-brand-bg{
    object-position:center!important;
  }
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    min-height:94px!important;
    padding:13px 12px!important;
    bottom:10px!important;
    top:auto!important;
    width:calc(50% - 14px)!important;
  }
  .home .hero-stat.stat-a{
    left:8px!important;
    right:auto!important;
    grid-template-columns:20px auto!important;
    grid-template-rows:auto auto!important;
    column-gap:7px!important;
  }
  .home .hero-stat.stat-a .stat-icon{grid-column:1!important;grid-row:1!important}
  .home .hero-stat.stat-a strong{grid-column:2!important;grid-row:1!important;font-size:27px!important}
  .home .hero-stat.stat-a small{
    grid-column:1 / -1!important;
    grid-row:2!important;
    font-size:11.5px!important;
    line-height:1.25!important;
    margin-top:7px!important;
  }
  .home .hero-stat.stat-b{
    left:auto!important;
    right:8px!important;
  }
  .home .hero-stat.stat-b small{
    font-size:11.5px!important;
    line-height:1.25!important;
  }

  /* Keep category text on the left, show the product photo in full colour on right. */
  .home .category-tile>div,
  .home .category-tile:nth-child(2)>div,
  .home .category-tile:nth-child(3)>div,
  .home .category-tile:nth-child(4)>div{
    background:linear-gradient(90deg,rgba(48,162,62,.96) 0%,rgba(71,188,80,.88) 46%,rgba(71,188,80,.25) 57%,rgba(71,188,80,0) 66%)!important;
  }
  .home .category-tile:nth-child(2)>div{background:linear-gradient(90deg,rgba(107,197,89,.96) 0%,rgba(77,174,73,.88) 46%,rgba(77,174,73,.25) 57%,rgba(77,174,73,0) 66%)!important}
  .home .category-tile:nth-child(3)>div{background:linear-gradient(90deg,rgba(67,161,68,.96) 0%,rgba(48,139,58,.88) 46%,rgba(48,139,58,.25) 57%,rgba(48,139,58,0) 66%)!important}
  .home .category-tile:nth-child(4)>div{background:linear-gradient(90deg,rgba(38,128,51,.97) 0%,rgba(30,106,45,.90) 46%,rgba(30,106,45,.25) 57%,rgba(30,106,45,0) 66%)!important}
  .home .category-tile h3,
  .home .category-tile p,
  .home .category-tile span{
    max-width:54%!important;
  }

  .home .social-copy strong{
    font-size:27px!important;
  }
  .home .social-link{
    width:82px!important;
    min-width:82px!important;
    height:62px!important;
  }
  .home .social-icon{width:38px!important;height:38px!important}

  .catalog .catalog-brand-banner.forest-brand-banner{
    height:160px!important;
  }
  .catalog .catalog-brand-banner.forest-brand-banner .catalog-green-bg{
    object-fit:cover!important;
  }

  .cart .cart-intro .intro-art{
    height:150px!important;
  }
  .cart .cart-intro .intro-art img{
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* =========================================================
   v34 — mobile social centering + compact hero image
   ========================================================= */
@media (max-width:700px){
  /* Social icons must sit as one centered group, not stretch into two grid columns. */
  .home .social-links{
    display:flex!important;
    grid-template-columns:none!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    gap:26px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home .social-link{
    flex:0 0 82px!important;
    width:82px!important;
    min-width:82px!important;
    margin:0!important;
  }

  /* Make the first visual shorter and preserve the full Greenleaf logo. */
  .home .hero-visual{
    min-height:0!important;
    height:280px!important;
    border-radius:22px!important;
  }
  .home .hero-brand-art{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#f4faef!important;
  }
  .home .hero-brand-bg{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    min-height:88px!important;
    bottom:8px!important;
  }
}


/* =========================================================
   v35 — partner entry flow + mobile polish
   ========================================================= */

/* Guest header action: a clear partner CTA without crowding mobile. */
.partner-cta{
  min-height:40px;
  border:1px solid #cfd9c6;
  border-radius:999px;
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#fff;
  color:#4f7831;
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
  cursor:pointer;
  transition:.22s ease;
}
.partner-cta:hover{background:#f3f8ed;transform:translateY(-1px);box-shadow:0 8px 20px rgba(66,112,45,.10)}
.partner-cta .ui-icon{width:17px;height:17px;stroke:currentColor;fill:none}

/* First-visit partner question. */
.visitor-gate{
  position:fixed;
  inset:0;
  z-index:9998;
  display:none;
  place-items:center;
  padding:22px;
  background:rgba(22,35,22,.45);
  backdrop-filter:blur(10px);
}
.visitor-gate.open{display:grid}
.visitor-gate-card{
  width:min(540px,100%);
  border:1px solid rgba(255,255,255,.78);
  border-radius:26px;
  background:rgba(252,251,247,.97);
  box-shadow:0 30px 90px rgba(26,46,24,.22);
  padding:30px;
}
.visitor-gate-mark{
  width:48px;height:48px;border-radius:15px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#e7f4d8,#d6eee8);
  color:#4e8433;margin-bottom:18px
}
.visitor-gate-mark .ui-icon{width:25px;height:25px;stroke:currentColor;fill:none}
.visitor-gate-card h2{font-size:30px!important;line-height:1.08;margin:0 0 10px;font-weight:520}
.visitor-gate-card p{font-size:15px;line-height:1.55;color:#667067;margin:0 0 22px}
.visitor-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.visitor-gate-actions button{min-height:48px;border-radius:999px;border:1px solid #d7ddcf;background:#fff;font-size:14px;font-weight:600;cursor:pointer}
.visitor-gate-actions .primary{border-color:transparent;color:#fff;background:linear-gradient(110deg,#3fae3d,#74c952 52%,#5ccfbb);background-size:180% 180%;animation:partnerGradient 5s ease infinite}
.visitor-gate-actions .secondary:hover{background:#f4f7ef}
.visitor-gate-note{margin-top:14px!important;font-size:12px!important;color:#858c82!important}
@keyframes partnerGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}

/* Hero: on mobile the two stats share one panel, leaving the brand image visible. */
@media(max-width:700px){
  .home .hero-visual{
    height:278px!important;
    min-height:278px!important;
    overflow:hidden!important;
    background:#edf7e7!important;
  }
  .home .hero-brand-art{inset:0!important;background:#edf7e7!important}
  .home .hero-brand-bg{
    width:100%!important;height:100%!important;
    object-fit:cover!important;
    object-position:center 34%!important;
  }
  .home .hero-visual::after{
    content:"";
    position:absolute;
    left:8px;right:8px;bottom:8px;
    height:94px;
    border-radius:18px;
    background:rgba(253,253,250,.95);
    border:1px solid rgba(205,220,198,.92);
    box-shadow:0 9px 24px rgba(46,76,39,.10);
    backdrop-filter:blur(8px);
    z-index:1;
  }
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    z-index:2!important;
    top:auto!important;bottom:8px!important;
    min-height:94px!important;height:94px!important;
    border:0!important;border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;backdrop-filter:none!important;
    padding:13px 14px!important;
    display:grid!important;
    grid-template-columns:22px 1fr!important;
    grid-template-rows:auto 1fr!important;
    column-gap:7px!important;
    align-content:center!important;
  }
  .home .hero-stat.stat-a{left:8px!important;right:auto!important;width:calc(50% - 8px)!important;border-right:1px solid #dce6d6!important}
  .home .hero-stat.stat-b{left:50%!important;right:8px!important;width:auto!important}
  .home .hero-stat .stat-icon{grid-column:1!important;grid-row:1!important;float:none!important;margin:0!important;align-self:center!important}
  .home .hero-stat strong{grid-column:2!important;grid-row:1!important;font-size:25px!important;line-height:1!important;margin:0!important;align-self:center!important}
  .home .hero-stat small{grid-column:1/-1!important;grid-row:2!important;font-size:12px!important;line-height:1.28!important;margin:9px 0 0!important;color:#667067!important}
}

/* Product sections: four visibly different brand-adjacent gradients, image remains clear on the right. */
.home .category-tile:nth-child(1)>div{
  background:linear-gradient(90deg,rgba(28,145,183,.96) 0%,rgba(73,194,206,.88) 42%,rgba(92,211,205,.34) 58%,rgba(92,211,205,0) 72%)!important;
}
.home .category-tile:nth-child(2)>div{
  background:linear-gradient(90deg,rgba(127,197,88,.96) 0%,rgba(151,214,111,.88) 42%,rgba(166,225,130,.34) 58%,rgba(166,225,130,0) 72%)!important;
}
.home .category-tile:nth-child(3)>div{
  background:linear-gradient(90deg,rgba(53,165,68,.97) 0%,rgba(71,190,84,.89) 42%,rgba(83,199,95,.34) 58%,rgba(83,199,95,0) 72%)!important;
}
.home .category-tile:nth-child(4)>div{
  background:linear-gradient(90deg,rgba(24,104,56,.97) 0%,rgba(32,128,72,.90) 42%,rgba(42,148,92,.34) 58%,rgba(42,148,92,0) 72%)!important;
}
@media(max-width:700px){
  .home .category-tile:nth-child(1)>div{background:linear-gradient(90deg,rgba(28,145,183,.97) 0%,rgba(75,196,207,.90) 48%,rgba(89,210,206,.22) 63%,transparent 72%)!important}
  .home .category-tile:nth-child(2)>div{background:linear-gradient(90deg,rgba(126,197,88,.97) 0%,rgba(151,214,110,.90) 48%,rgba(164,224,128,.22) 63%,transparent 72%)!important}
  .home .category-tile:nth-child(3)>div{background:linear-gradient(90deg,rgba(52,164,67,.97) 0%,rgba(70,188,82,.90) 48%,rgba(82,198,94,.22) 63%,transparent 72%)!important}
  .home .category-tile:nth-child(4)>div{background:linear-gradient(90deg,rgba(23,103,55,.98) 0%,rgba(31,126,71,.92) 48%,rgba(41,145,89,.22) 63%,transparent 72%)!important}
}

/* Socials: only centered title + two solid icon buttons, no outer card/background. */
.home .social-section{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:24px 16px 10px!important;
  margin-top:18px!important;
}
.home .social-copy strong{font-size:31px!important;letter-spacing:.02em!important}
.home .social-links{margin-top:14px!important}
.home .social-link{
  background:#fff!important;
  border:1px solid #d7e1d2!important;
  opacity:1!important;
  box-shadow:0 8px 20px rgba(61,86,54,.06)!important;
}
.home .social-link:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(61,86,54,.10)!important}

/* Footer after newsletter removal. */
.footer{grid-template-columns:1.35fr .8fr 1fr!important}
.footer-bottom{grid-column:1/-1!important}

/* Bottom mobile navigation: green icons + real cart quantity badge. */
.bottom-nav a{position:relative}
.bottom-nav .nav-icon{color:#4aae43!important;stroke:#4aae43!important}
.bottom-nav a.active .nav-icon{color:#36b838!important;stroke:#36b838!important}
.bottom-cart-count{
  position:absolute;
  top:5px;
  left:calc(50% + 7px);
  min-width:17px;height:17px;padding:0 4px;
  border-radius:999px;
  display:grid;place-items:center;
  background:#43b83f;color:#fff;
  font-size:9px;font-weight:700;
  border:2px solid #fbfaf6;
}
.bottom-cart-count:empty,.bottom-cart-count[data-zero="1"]{display:none}

/* Cart summary: no explicit partner discount / VAT disclosure. */
#partnerDiscountRow,#summaryVat{display:none!important}

@media(max-width:700px){
  .partner-cta{display:none!important}
  .visitor-gate{padding:14px}
  .visitor-gate-card{padding:24px 20px;border-radius:22px}
  .visitor-gate-card h2{font-size:26px!important}
  .visitor-gate-actions{grid-template-columns:1fr}
  .home .social-copy strong{font-size:28px!important}
  .footer{grid-template-columns:1fr 1fr!important}
  .footer-brand,.footer-bottom{grid-column:1/-1!important}
}


/* v35.1 — single shared mobile stats panel + bright green first-news visual */
@media(max-width:700px){
  .home .hero-visual::after{height:88px!important}
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    left:8px!important;right:8px!important;width:auto!important;
    height:44px!important;min-height:44px!important;
    padding:7px 12px!important;
    grid-template-columns:20px auto minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
    column-gap:7px!important;
    align-items:center!important;
  }
  .home .hero-stat.stat-a{bottom:52px!important;border-right:0!important;border-bottom:1px solid #dce6d6!important}
  .home .hero-stat.stat-b{bottom:8px!important}
  .home .hero-stat .stat-icon{grid-column:1!important;grid-row:1!important}
  .home .hero-stat strong{grid-column:2!important;grid-row:1!important;font-size:23px!important;white-space:nowrap!important}
  .home .hero-stat small{
    grid-column:3!important;grid-row:1!important;
    margin:0!important;font-size:11.5px!important;line-height:1.2!important;
    white-space:normal!important;
  }
}
.home .home-news-card:first-child .home-news-green-visual{position:relative!important;overflow:hidden!important;background:#eaf7df!important}
.home .home-news-card:first-child .home-news-green-visual .green-news-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(1.06)!important}
.home .home-news-card:first-child .home-news-green-visual .green-news-logo{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(74%,360px)!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 8px 18px rgba(41,88,31,.12))!important}
.home .home-news-card:first-child .home-news-green-visual::after{background:linear-gradient(135deg,rgba(31,145,61,.08),rgba(95,205,92,.03))!important}

/* v36 — hero stat alignment refinement */
@media (min-width:701px){
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    display:grid!important;
    grid-template-columns:26px auto minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    column-gap:10px!important;
  }
  .home .hero-stat .stat-icon,
  .home .hero-stat.stat-a .stat-icon,
  .home .hero-stat.stat-b .stat-icon{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
    float:none!important;
    align-self:center!important;
  }
  .home .hero-stat strong,
  .home .hero-stat.stat-a strong,
  .home .hero-stat.stat-b strong{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
    align-self:center!important;
    font-size:30px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .home .hero-stat small,
  .home .hero-stat.stat-a small,
  .home .hero-stat.stat-b small{
    grid-column:3!important;
    grid-row:1!important;
    margin:0!important;
    align-self:center!important;
    font-size:12px!important;
    line-height:1.28!important;
    white-space:normal!important;
  }
}

@media (max-width:700px){
  .home .hero-visual::after{height:92px!important}
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    height:46px!important;
    min-height:46px!important;
    grid-template-columns:20px auto minmax(0,1fr)!important;
    grid-template-rows:1fr!important;
    column-gap:8px!important;
    align-items:center!important;
    padding:7px 12px!important;
  }
  .home .hero-stat .stat-icon,
  .home .hero-stat.stat-a .stat-icon,
  .home .hero-stat.stat-b .stat-icon{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    margin:0!important;
    float:none!important;
  }
  .home .hero-stat strong,
  .home .hero-stat.stat-a strong,
  .home .hero-stat.stat-b strong{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    margin:0!important;
    font-size:22px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .home .hero-stat small,
  .home .hero-stat.stat-a small,
  .home .hero-stat.stat-b small{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    margin:0!important;
    font-size:11.2px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
}

/* v37 — lower hero stat card height */
@media (min-width:701px){
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    min-height:78px!important;
    padding:10px 16px!important;
    border-radius:18px!important;
  }
  .home .hero-stat strong,
  .home .hero-stat.stat-a strong,
  .home .hero-stat.stat-b strong{
    font-size:28px!important;
  }
  .home .hero-stat small,
  .home .hero-stat.stat-a small,
  .home .hero-stat.stat-b small{
    font-size:11px!important;
    line-height:1.22!important;
  }
}

@media (max-width:700px){
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    min-height:42px!important;
    height:42px!important;
    padding:6px 11px!important;
  }
  .home .hero-stat strong,
  .home .hero-stat.stat-a strong,
  .home .hero-stat.stat-b strong{
    font-size:21px!important;
  }
  .home .hero-stat small,
  .home .hero-stat.stat-a small,
  .home .hero-stat.stat-b small{
    font-size:10.6px!important;
    line-height:1.16!important;
  }
}

/* v38 — VPN warning */
.vpn-warning{
  position:fixed;
  z-index:12000;
  top:14px;
  left:50%;
  width:min(680px,calc(100% - 32px));
  min-height:64px;
  transform:translate(-50%,-130%);
  opacity:0;
  pointer-events:none;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border:1px solid #ead8b5;
  border-radius:18px;
  background:rgba(255,253,248,.97);
  box-shadow:0 16px 44px rgba(55,48,35,.16);
  backdrop-filter:blur(15px);
  transition:transform .28s ease,opacity .22s ease;
}
.vpn-warning.is-visible{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.vpn-warning.just-detected{animation:vpnAttention 1.25s ease both}
.vpn-warning-mark{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:#fff1d9;color:#a76500;border:1px solid #f0d39f;
  font-size:11px;font-weight:700;letter-spacing:.03em
}
.vpn-warning-copy{display:grid;gap:2px;min-width:0}
.vpn-warning-copy strong{font-size:14px;line-height:1.2;font-weight:650;color:#2b302b}
.vpn-warning-copy small{font-size:11px;line-height:1.32;color:#697069}
.vpn-warning-check{
  min-height:38px;padding:0 15px;border:0;border-radius:12px;background:#eff5e8;color:#4d7e2d;
  font:inherit;font-size:11px;font-weight:650;cursor:pointer
}
.vpn-warning-check:disabled{opacity:.55;cursor:default}
@keyframes vpnAttention{0%,100%{box-shadow:0 16px 44px rgba(55,48,35,.16)}45%{box-shadow:0 18px 54px rgba(184,119,18,.30)}}

@media(max-width:700px){
  .vpn-warning{
    top:auto;bottom:82px;left:10px;right:10px;width:auto;min-height:58px;
    transform:translateY(130%);grid-template-columns:36px minmax(0,1fr) auto;
    gap:8px;padding:9px 10px;border-radius:16px
  }
  .vpn-warning.is-visible{transform:translateY(0)}
  .vpn-warning-mark{width:36px;height:36px;font-size:9px}
  .vpn-warning-copy strong{font-size:12px}
  .vpn-warning-copy small{font-size:9.5px;line-height:1.25}
  .vpn-warning-check{min-height:34px;padding:0 10px;font-size:9px;border-radius:10px}
}


/* v39 — center the 25+ group and keep VPN notice clearly visible */
@media (min-width:701px){
  .home .hero-stat.stat-a{
    grid-template-columns:26px auto auto!important;
    justify-content:center!important;
    align-content:center!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .home .hero-stat.stat-a small{
    max-width:190px!important;
  }
}
@media (max-width:700px){
  .home .hero-stat.stat-a{
    grid-template-columns:20px auto minmax(0,1fr)!important;
    justify-content:center!important;
  }
}
.vpn-warning.is-visible{
  visibility:visible!important;
}


/* v40 — centered green VPN modal + better left stat alignment */
.vpn-warning-backdrop{
  position:fixed;
  inset:0;
  z-index:11990;
  background:rgba(18,26,18,.46);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.vpn-warning-backdrop.is-visible{
  opacity:1;
  pointer-events:auto;
}
.vpn-warning{
  top:50%!important;
  bottom:auto!important;
  left:50%!important;
  right:auto!important;
  width:min(540px,calc(100% - 32px))!important;
  min-height:92px!important;
  transform:translate(-50%,-56%) scale(.96)!important;
  opacity:0;
  pointer-events:none;
  grid-template-columns:54px minmax(0,1fr) auto!important;
  gap:14px!important;
  padding:16px 18px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#52c74e 0%,#3fb544 42%,#29963b 100%)!important;
  box-shadow:0 24px 70px rgba(25,56,26,.34)!important;
  backdrop-filter:none!important;
}
.vpn-warning.is-visible{
  transform:translate(-50%,-50%) scale(1)!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.vpn-warning-mark{
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;
  font-size:14px!important;
  letter-spacing:.06em!important;
}
.vpn-warning-copy strong{
  color:#fff!important;
  font-size:16px!important;
}
.vpn-warning-copy small{
  color:rgba(255,255,255,.92)!important;
  font-size:12px!important;
}
.vpn-warning-check{
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(255,255,255,.96)!important;
  color:#2f8f36!important;
  box-shadow:0 10px 24px rgba(33,66,25,.16)!important;
}
body.vpn-modal-open{overflow:hidden!important}

@media (max-width:700px){
  .vpn-warning{
    width:min(360px,calc(100% - 26px))!important;
    min-height:84px!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px 14px 16px!important;
  }
  .vpn-warning-mark{
    width:44px!important;
    height:44px!important;
    border-radius:14px!important;
    font-size:11px!important;
  }
  .vpn-warning-copy strong{font-size:14px!important}
  .vpn-warning-copy small{font-size:10.5px!important;line-height:1.28!important}
  .vpn-warning-check{
    grid-column:1 / -1;
    width:100%;
    min-height:38px!important;
    margin-top:2px;
  }
}

@media (min-width:701px){
  .home .hero-stat.stat-a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
  .home .hero-stat.stat-a .stat-icon{
    margin:0!important;
    flex:none;
  }
  .home .hero-stat.stat-a strong{
    margin:0!important;
    flex:none;
    font-size:26px!important;
  }
  .home .hero-stat.stat-a small{
    margin:0!important;
    flex:0 1 270px;
    max-width:270px!important;
    line-height:1.22!important;
  }
}

@media (max-width:700px){
  .home .hero-stat.stat-a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
  }
  .home .hero-stat.stat-a .stat-icon,
  .home .hero-stat.stat-a strong,
  .home .hero-stat.stat-a small{
    margin:0!important;
  }
  .home .hero-stat.stat-a small{
    flex:0 1 auto;
    max-width:none!important;
    line-height:1.18!important;
  }
}


/* v41 — force centered green VPN modal and consistent stat-card horizontal alignment */
.vpn-warning-backdrop{
  display:block!important;
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  background:rgba(10,18,11,.52)!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s ease, visibility .22s ease!important;
}
.vpn-warning-backdrop.is-visible{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.vpn-warning{
  position:fixed!important;
  z-index:2147483001!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  width:min(560px,calc(100% - 32px))!important;
  min-height:96px!important;
  display:grid!important;
  align-items:center!important;
  grid-template-columns:56px minmax(0,1fr) auto!important;
  gap:14px!important;
  padding:16px 18px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#6be35a 0%,#46c64d 34%,#2faa43 68%,#23853a 100%)!important;
  box-shadow:0 30px 80px rgba(19,55,26,.38)!important;
  transform:translate(-50%,-54%) scale(.96)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.vpn-warning.is-visible{
  transform:translate(-50%,-50%) scale(1)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.vpn-warning-mark{
  width:56px!important;
  height:56px!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
}
.vpn-warning-copy strong{
  color:#ffffff!important;
  font-size:16px!important;
  line-height:1.18!important;
}
.vpn-warning-copy small{
  color:rgba(255,255,255,.92)!important;
  font-size:12px!important;
  line-height:1.34!important;
}
.vpn-warning-check{
  min-height:42px!important;
  padding:0 16px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.96)!important;
  color:#2d973b!important;
  font-size:12px!important;
  font-weight:700!important;
}
body.vpn-modal-open{overflow:hidden!important}
@media (max-width:700px){
  .vpn-warning{
    width:min(370px,calc(100% - 24px))!important;
    min-height:88px!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px!important;
  }
  .vpn-warning-mark{width:46px!important;height:46px!important;border-radius:15px!important;font-size:11px!important}
  .vpn-warning-copy strong{font-size:14px!important}
  .vpn-warning-copy small{font-size:10.5px!important;line-height:1.28!important}
  .vpn-warning-check{grid-column:1 / -1!important;width:100%!important;min-height:38px!important;margin-top:2px!important}
}

@media (min-width:701px){
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:16px!important;
    padding:10px 18px!important;
    min-height:76px!important;
  }
  .home .hero-stat .stat-icon,
  .home .hero-stat.stat-a .stat-icon,
  .home .hero-stat.stat-b .stat-icon{
    margin:0!important;
    float:none!important;
    flex:0 0 auto!important;
    align-self:center!important;
  }
  .home .hero-stat strong,
  .home .hero-stat.stat-a strong,
  .home .hero-stat.stat-b strong{
    margin:0!important;
    flex:0 0 auto!important;
    align-self:center!important;
    font-size:26px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .home .hero-stat small,
  .home .hero-stat.stat-a small,
  .home .hero-stat.stat-b small{
    margin:0!important;
    flex:0 1 235px!important;
    max-width:235px!important;
    align-self:center!important;
    font-size:11px!important;
    line-height:1.22!important;
    text-align:left!important;
  }
}
@media (max-width:700px){
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:6px 11px!important;
    min-height:42px!important;
    height:42px!important;
  }
  .home .hero-stat .stat-icon,
  .home .hero-stat.stat-a .stat-icon,
  .home .hero-stat.stat-b .stat-icon,
  .home .hero-stat strong,
  .home .hero-stat.stat-a strong,
  .home .hero-stat.stat-b strong,
  .home .hero-stat small,
  .home .hero-stat.stat-a small,
  .home .hero-stat.stat-b small{
    margin:0!important;
    float:none!important;
    align-self:center!important;
  }
  .home .hero-stat strong,
  .home .hero-stat.stat-a strong,
  .home .hero-stat.stat-b strong{font-size:21px!important;line-height:1!important;white-space:nowrap!important}
  .home .hero-stat small,
  .home .hero-stat.stat-a small,
  .home .hero-stat.stat-b small{
    flex:1 1 auto!important;
    max-width:none!important;
    font-size:10.8px!important;
    line-height:1.18!important;
    text-align:left!important;
  }
}


/* v42 — delivery form, learning anchor, cleaner news toolbar */
html{scroll-behavior:smooth}
#learning{scroll-margin-top:90px}
.news-toolbar-meta{display:flex;align-items:center;min-height:38px}
.news-toolbar-meta .news-count{margin-left:0}

.delivery-form-card{
  margin-top:14px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 28px rgba(54,66,47,.035);
}
.delivery-form-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.delivery-form-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf4e3;color:var(--green);flex:none}
.delivery-form-icon .ui-icon{width:20px;height:20px}
.delivery-form-heading h3{margin:0 0 3px;font-size:20px;line-height:1.1}
.delivery-form-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
.delivery-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.delivery-field{display:grid;gap:7px;min-width:0}
.delivery-field-address{grid-column:1/-1}
.delivery-field>span{font-size:12px;font-weight:650;color:#596258}
.delivery-field input{
  width:100%;height:46px;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.9);padding:0 14px;color:#283128;font:inherit;font-size:14px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.delivery-field input:focus{border-color:#8fb06e;background:#fff;box-shadow:0 0 0 3px rgba(82,133,46,.09)}
.delivery-field .custom-select{width:100%;z-index:20}
.delivery-field .custom-select-trigger{height:46px!important;border-radius:12px!important;font-size:14px!important;background:rgba(255,255,255,.9)!important}
.delivery-field .custom-select-menu{left:0!important;right:auto!important;width:100%!important;min-width:100%!important;max-width:none!important}
.delivery-terms{margin-top:14px;padding:14px 15px;border-radius:13px;background:#f2f7eb;border:1px solid #dce9d0}
.delivery-terms>strong{display:block;margin-bottom:9px;color:#315b24;font-size:13px}
.delivery-terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;color:#687166;font-size:11.5px;line-height:1.4}
.delivery-terms-grid span{position:relative;padding-left:13px}
.delivery-terms-grid span:before{content:'•';position:absolute;left:0;color:var(--green);font-weight:800}

@media (max-width:700px){
  #learning{scroll-margin-top:74px}
  .delivery-form-card{margin-top:12px;padding:14px;border-radius:14px}
  .delivery-form-heading{gap:9px;margin-bottom:13px}
  .delivery-form-icon{width:34px;height:34px;border-radius:11px}
  .delivery-form-heading h3{font-size:18px}
  .delivery-form-heading p{font-size:11.5px}
  .delivery-fields{grid-template-columns:1fr;gap:10px}
  .delivery-field-address{grid-column:auto}
  .delivery-field>span{font-size:11px}
  .delivery-field input,.delivery-field .custom-select-trigger{height:44px!important;font-size:13px!important}
  .delivery-terms{padding:12px}
  .delivery-terms-grid{grid-template-columns:1fr;gap:6px;font-size:10.5px}
  .news-toolbar-meta{display:none}
  .news-toolbar{justify-content:flex-end!important}
}

/* v43 — client revisions: catalog/cart artwork, partner form, delivery stat */
.catalog .catalog-intro .intro-art.catalog-brand-banner,
.cart .cart-intro .intro-art{
  overflow:hidden!important;
  background:#eef6e9!important;
}
.catalog .catalog-intro .intro-art.catalog-brand-banner img,
.cart .cart-intro .intro-art img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.catalog .catalog-intro .intro-art.catalog-brand-banner img{
  object-position:center 56%!important;
}
.cart .cart-intro .intro-art img{
  object-position:center center!important;
}

/* Right hero plaque now contains only the delivery message. */
.home .hero-stat.stat-b.delivery-stat-only{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
}
.home .hero-stat.stat-b.delivery-stat-only .stat-icon{
  flex:0 0 auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  margin:0!important;
}
.home .hero-stat.stat-b.delivery-stat-only .delivery-stat-text{
  flex:0 1 auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  max-width:280px!important;
  margin:0!important;
  color:#2f963a!important;
  font-size:18px!important;
  line-height:1.18!important;
  font-weight:650!important;
  letter-spacing:-.01em!important;
  text-align:left!important;
}

.partner-lead-form{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.partner-lead-form label{
  display:grid;
  gap:7px;
  text-align:left;
  font-size:13px;
  font-weight:650;
  color:#4f5b50;
}
.partner-lead-form input{
  width:100%;
  min-height:48px;
  border:1px solid #dbe3d6;
  border-radius:14px;
  background:#fff;
  padding:0 15px;
  color:#1d281f;
  font:inherit;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.partner-lead-form input:focus{
  border-color:#55b94b;
  box-shadow:0 0 0 4px rgba(82,184,74,.12);
}
.partner-lead-form .partner-submit{
  min-height:48px;
  border:0;
  border-radius:14px;
  color:#fff;
  font-weight:700;
  background:linear-gradient(105deg,#35a93c,#62c94e 55%,#49c8aa);
  background-size:180% 180%;
  animation:partnerGradient 5s ease infinite;
  cursor:pointer;
}
.partner-lead-form .partner-submit:disabled{opacity:.65;cursor:wait}
.partner-form-note{min-height:18px;margin-top:9px;font-size:12px;line-height:1.35}
.partner-form-note.success{color:#318438}.partner-form-note.error{color:#b64d43}
.partner-secondary-actions{margin-top:12px!important}

@media (max-width:700px){
  .home .hero-stat.stat-b.delivery-stat-only{
    justify-content:flex-start!important;
    gap:9px!important;
  }
  .home .hero-stat.stat-b.delivery-stat-only .delivery-stat-text{
    max-width:none!important;
    font-size:13.5px!important;
    line-height:1.12!important;
  }
  .catalog .catalog-intro .intro-art.catalog-brand-banner img{
    object-position:center center!important;
  }
  .visitor-gate-card{max-height:min(92vh,680px);overflow:auto}
}


/* v45 — delivery plaque, support strip, mobile partner header */
.home .hero-stat.stat-b.delivery-stat-only .delivery-stat-text{
  font-weight:500!important;
  letter-spacing:0!important;
}

.support-strip{
  margin:28px 0 0;
  padding:26px 28px;
  border-radius:28px;
  border:1px solid #dfe8da;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 34px rgba(38,86,33,.08);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.support-strip-brand{
  display:flex;
  align-items:flex-start;
  gap:18px;
  min-width:0;
}
.support-strip-brand img{
  width:148px;
  max-width:38vw;
  height:auto;
  flex:0 0 auto;
}
.support-strip-copy{
  display:grid;
  gap:12px;
  min-width:0;
}
.support-strip-copy span{
  color:#98a198;
  font-size:18px;
  line-height:1.2;
}
.support-strip-copy a{
  color:#1f2322;
  font-size:52px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.03em;
  text-decoration:none;
  word-break:break-word;
}
.support-strip-copy a:hover{color:#2f963a}
.support-strip-note{
  color:#6f786d;
  font-size:14px;
  line-height:1.45;
  max-width:320px;
  text-align:right;
}

@media (max-width:700px){
  .support-strip{
    margin-top:20px;
    padding:18px 18px 20px;
    border-radius:24px;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .support-strip-brand{
    gap:14px;
    flex-direction:column;
    align-items:flex-start;
  }
  .support-strip-brand img{
    width:124px;
    max-width:60vw;
  }
  .support-strip-copy{
    gap:10px;
  }
  .support-strip-copy span{
    font-size:13px;
  }
  .support-strip-copy a{
    font-size:26px;
  }
  .support-strip-note{
    max-width:none;
    text-align:left;
    font-size:12px;
  }
  .topbar .actions .header-account.mobile-partner-mode{
    min-width:auto!important;
    padding:0 14px!important;
    border-radius:999px!important;
  }
  .topbar .actions .header-account.mobile-partner-mode .ui-icon{display:inline-flex!important}
  .topbar .actions .header-account.mobile-partner-mode .auth-label{
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
}


/* v46 — compact support strip and catalog hero update */
.support-strip{
  margin:22px 0 0;
  padding:18px 24px;
  min-height:auto;
  border-radius:24px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);
  align-items:center;
  gap:20px;
}
.support-strip-brand{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.support-strip-brand img{
  width:150px;
  height:auto;
  flex:0 0 auto;
}
.support-strip-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  min-width:0;
}
.support-strip-copy span{
  color:#8f9b90;
  font-size:17px;
  line-height:1.2;
}
.support-strip-copy a{
  color:#1f2322;
  font-size:36px;
  line-height:1.05;
  font-weight:700;
  letter-spacing:-.025em;
  text-decoration:none;
}
.support-strip-note{
  align-self:center;
  justify-self:end;
  max-width:420px;
  text-align:right;
  color:#6f786d;
  font-size:16px;
  line-height:1.45;
}
@media (max-width:1100px){
  .support-strip{
    grid-template-columns:1fr;
    gap:12px;
  }
  .support-strip-note{
    justify-self:start;
    text-align:left;
    max-width:none;
  }
}
@media (max-width:700px){
  .support-strip{
    margin-top:16px;
    padding:16px 18px;
    border-radius:20px;
    gap:12px;
  }
  .support-strip-brand{
    gap:12px;
  }
  .support-strip-brand img{
    width:108px;
    max-width:44vw;
  }
  .support-strip-copy{
    gap:6px;
  }
  .support-strip-copy span{
    font-size:14px;
  }
  .support-strip-copy a{
    font-size:22px;
    line-height:1.15;
  }
  .support-strip-note{
    font-size:12px;
    line-height:1.45;
  }
}


/* v47 — support block alignment / typography */
.support-strip-copy span{
  font-size:15px!important;
  font-weight:400!important;
}
.support-strip-copy a{
  font-size:30px!important;
  font-weight:500!important;
  letter-spacing:-.015em!important;
}
.support-strip-note{
  font-size:14px!important;
  font-weight:400!important;
}
.support-strip-brand img{
  width:140px!important;
}

@media (max-width:700px){
  .support-strip{
    align-items:stretch!important;
    text-align:left!important;
  }
  .support-strip-brand{
    width:100%!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .support-strip-brand img{
    width:112px!important;
    margin:0!important;
    align-self:flex-start!important;
  }
  .support-strip-copy{
    width:100%!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .support-strip-copy span{
    font-size:14px!important;
    font-weight:400!important;
    text-align:left!important;
  }
  .support-strip-copy a{
    font-size:24px!important;
    font-weight:500!important;
    text-align:left!important;
  }
  .support-strip-note{
    width:100%!important;
    font-size:12px!important;
    font-weight:400!important;
    text-align:left!important;
    justify-self:start!important;
  }
}

/* v48 — city delivery options */
.delivery-field[hidden]{display:none!important}


/* =========================================================
   v50 — client revisions: compact hero stats, green mobile nav,
   delivery phone and 2GIS review CTA
   ========================================================= */

/* Delivery consultation directly in the order summary. */
.delivery-contact-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 0 10px;
  border-top:1px solid #e8e5dc;
  font-size:12px;
  line-height:1.3;
}
.delivery-contact-line span{color:#697169}
.delivery-contact-line a{
  color:#338f38;
  font-weight:600;
  white-space:nowrap;
  text-decoration:none;
}
.delivery-contact-line a:hover{text-decoration:underline}

/* Support/review block. */
.support-strip-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:11px;
  min-width:0;
}
.review-2gis-link{
  min-height:40px;
  padding:0 15px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #b9d8ae;
  background:#edf8e8;
  color:#358d39;
  font-size:13px;
  font-weight:600;
  line-height:1;
  transition:.18s ease;
}
.review-2gis-link .ui-icon{width:17px;height:17px}
.review-2gis-link:hover{background:#dff2d8;transform:translateY(-1px)}

/* Slightly larger service-center label in the header. */
.topbar .brand .service-center-mark{
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:500!important;
  color:#4e5e51!important;
  max-width:220px!important;
}
.topbar .brand .service-center-mark .service-address-part{display:inline;}

/* The client wants the eco/natural phrase more noticeable. */
.home .hero-stat.stat-a small{
  font-size:12px!important;
  font-weight:500!important;
}

@media (max-width:980px){
  /* Replace the beige mobile navigation treatment with brand green. */
  .bottom-nav{
    gap:4px!important;
    background:rgba(236,248,230,.97)!important;
    border-color:#cfe3c6!important;
    box-shadow:0 12px 32px rgba(49,112,48,.16)!important;
  }
  .bottom-nav a{
    background:#e2f3da!important;
    color:#3f8539!important;
    transition:background .18s ease,color .18s ease,transform .18s ease!important;
  }
  .bottom-nav a .nav-icon{
    color:#43a143!important;
    stroke:#43a143!important;
  }
  .bottom-nav a.active{
    background:#43b83f!important;
    color:#fff!important;
  }
  .bottom-nav a.active .nav-icon{
    color:#fff!important;
    stroke:#fff!important;
  }
  .bottom-nav a.active small{color:#fff!important}
}

@media (max-width:700px){
  .topbar .brand .service-center-mark{
    font-size:11.5px!important;
    line-height:1.18!important;
    max-width:178px!important;
    margin-top:4px!important;
    white-space:normal!important;
  }
  .topbar .brand .service-center-mark .service-address-part{display:block!important;white-space:nowrap!important;}

  /* Make the two beige rows noticeably thinner and a little narrower,
     so they no longer cover so much of the forest artwork. */
  .home .hero-visual::after{
    left:14px!important;
    right:14px!important;
    bottom:8px!important;
    height:76px!important;
    border-radius:15px!important;
  }
  .home .hero-stat,
  .home .hero-stat.stat-a,
  .home .hero-stat.stat-b{
    left:14px!important;
    right:14px!important;
    width:auto!important;
    height:38px!important;
    min-height:38px!important;
    padding:4px 10px!important;
    gap:8px!important;
  }
  .home .hero-stat.stat-a{
    bottom:46px!important;
    border-bottom:1px solid #dce6d6!important;
  }
  .home .hero-stat.stat-b{bottom:8px!important}
  .home .hero-stat .stat-icon,
  .home .hero-stat.stat-a .stat-icon,
  .home .hero-stat.stat-b .stat-icon{
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
  }
  .home .hero-stat strong,
  .home .hero-stat.stat-a strong{
    font-size:22px!important;
  }
  .home .hero-stat small,
  .home .hero-stat.stat-a small,
  .home .hero-stat.stat-b small{
    font-size:11.8px!important;
    line-height:1.12!important;
    font-weight:500!important;
  }

  .delivery-contact-line{
    align-items:flex-start;
    gap:6px;
    flex-direction:column;
    font-size:11.5px;
    padding:9px 0;
  }
  .delivery-contact-line a{font-size:13px}

  .support-strip-side{
    width:100%;
    align-items:flex-start;
    gap:10px;
  }
  .review-2gis-link{
    min-height:38px;
    padding:0 13px;
    font-size:12px;
  }
}

@media (max-width:390px){
  .topbar .brand .service-center-mark{
    font-size:10.5px!important;
    max-width:160px!important;
  }
  .home .hero-stat small,
  .home .hero-stat.stat-a small,
  .home .hero-stat.stat-b small{
    font-size:11px!important;
  }
}
