/* Shared visual language for the three HeartQI home pages. */
.l-hero{background:#f8f8f3}
.l-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.l-plate-scene{position:relative;width:100%;max-width:560px;min-width:0;padding:14px 14px 42px;border-radius:22px;background:#f7eee2;overflow:hidden}
.l-plate-scene img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1;object-fit:contain;border:0;border-radius:0;box-shadow:none;transform:none}
.l-plate-scene figcaption{display:contents}
.l-plate-scene .l-plate-label{position:absolute;z-index:2;display:flex;align-items:center;gap:7px;max-width:45%;padding:8px 10px;border:1px solid #e2e9df;border-radius:10px;background:#fff;box-shadow:0 12px 26px #294d3320;color:#365b45;font-size:.72rem;line-height:1.25;font-weight:700}
.l-plate-scene .l-plate-veg{top:14%;left:2%}
.l-plate-scene .l-plate-protein{top:27%;right:1%}
.l-plate-scene .l-plate-starch{bottom:17%;right:1%}
.l-plate-scene figcaption small{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:5px 12px;border-radius:99px;background:#fffdf9e8;color:#66846d;font-size:.68rem;text-align:center}
.l-method-layout{display:grid;grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);margin:28px 0 18px;overflow:hidden;border:1px solid #dce7dc;border-radius:18px;background:#fff;box-shadow:0 18px 36px #3158420d}
.l-method-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:25px;background:#e8f0e5}
.l-method-visual img{display:block;width:min(100%,390px);height:auto;aspect-ratio:1;object-fit:contain;border:9px solid #fff;border-radius:50%;box-shadow:0 20px 42px #31584221;transform:rotate(-5deg)}
.l-method-visual span{padding:8px 13px;border-radius:99px;background:#fff;color:#4c7859;font-size:.76rem;font-weight:700;text-align:center}
.l-method-detail{padding:24px 33px}
.l-method-step{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid #e9eee5}
.l-method-step b{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:9px;background:#e7f1e7;color:#4e855f;font-size:1.15rem}
.l-method-step:nth-child(2) b{background:#fae9df;color:#c88167}
.l-method-step:nth-child(3) b{background:#f7efd9;color:#af9255}
.l-method-step h3{margin:0 0 6px;color:#315641;font-size:1.06rem}
.l-method-step p,.l-method-detail>p{margin:0;color:#667d6d;font-size:.85rem;line-height:1.75}
.l-method-detail>p{margin-top:17px}
.l-section .l-cards .l-card{border-top:3px solid #79a785;box-shadow:0 12px 28px #234d3b0b}
.l-section .l-cards .l-card:nth-child(2){border-top-color:#d69b80}
.l-section .l-cards .l-card:nth-child(3){border-top-color:#d2b36f}
.l-section .l-cards .l-card:nth-child(4){border-top-color:#8baeb1}
.l-tools .l-card{display:flex;flex-direction:column;min-height:205px}
.l-tools .l-card p{margin:7px 0 15px}
.l-tools .l-card b,.l-card-link b{margin-top:auto;align-self:flex-end}
.l-card-link{display:flex;flex-direction:column;min-height:205px}
.l-card-link p{margin:7px 0 15px}
.hq-hydration-section{background:#fbfcf8}
.hq-hydration-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(280px,.88fr);gap:20px;align-items:stretch;margin-top:25px}
.hq-water-card,.hq-salt-card{padding:clamp(22px,3vw,34px);border-radius:20px;border:1px solid #d8e7d9;background:#eef5ed}
.hq-salt-card{background:#fff5eb;border-color:#efdfcf}
.hq-card-top{display:flex;align-items:flex-start;gap:16px}
.hq-card-icon{font-size:2rem;line-height:1.2}
.hq-water-card h3,.hq-salt-card h3{margin:0 0 10px;color:#285743;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.25}
.hq-salt-card h3{margin-top:9px}
.hq-water-card p,.hq-salt-card p{margin:0;color:#526d5c;font-size:.9rem;line-height:1.75}
.hq-stage-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:23px 0}
.hq-stage{padding:16px;border:1px solid #d9e7d7;border-radius:13px;background:#fffdfb}
.hq-stage span{display:block;margin-bottom:8px;color:#a86e5a;font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.hq-stage strong{display:block;margin-bottom:7px;color:#2a5943;font-size:.92rem;line-height:1.35}
.hq-stage p{font-size:.79rem;line-height:1.65}
.hq-water-card .hq-water-note{padding-top:15px;border-top:1px solid #d4e3d2;color:#3f6550;font-size:.82rem}
.hq-salt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.hq-salt-chips span{padding:7px 10px;border:1px solid #ead6c3;border-radius:99px;background:#fffaf4;color:#805f49;font-size:.76rem;font-weight:700}
.hq-source-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}
.hq-source-row a{padding:7px 11px;border:1px solid #cbdccd;border-radius:99px;color:#456b5c;font-size:.75rem;text-decoration:none}
.hq-source-row a:hover{background:#eaf3e9}
@media(max-width:900px){.hq-hydration-grid{grid-template-columns:1fr}.l-method-layout{grid-template-columns:1fr}.l-method-visual img{width:min(100%,320px)}}
@media(max-width:700px){.l-hero-grid{grid-template-columns:1fr}.l-plate-scene{width:100%;max-width:520px;margin:0 auto}.l-plate-scene .l-plate-label{font-size:.68rem;padding:6px 8px}.l-method-detail{padding:20px 23px}.hq-stage-list{grid-template-columns:1fr}.hq-stage{padding:14px}}
@media(max-width:400px){.l-plate-scene .l-plate-label{font-size:.62rem}.l-plate-scene figcaption small{font-size:.58rem}}
#proteinStatus.builder-caution,
#proteinStatus.l-builder-note {
  margin: 18px 0 20px;
  padding: 13px 16px;
  border: 1px solid #d5e5d8;
  border-left: 4px solid #608e6c;
  border-radius: 8px;
  background: #edf5ee;
  color: #315c42;
  font-size: 13px;
  line-height: 1.65;
}
html{scroll-padding-top:100px}
.site-header,.l-header{position:sticky;top:0;z-index:80;box-shadow:0 5px 18px rgba(29,64,47,.07)}
.site-header .mobile-menu{top:100%;max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain}
.site-header .mobile-menu[hidden]{display:none!important}
.mobile-menu-languages,.footer-languages{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.mobile-menu-languages{padding:12px 0;border-top:1px solid #e3ebe2}
.mobile-menu-languages a{font-size:13px;font-weight:700;color:#315943}
.mobile-menu-languages a[aria-current=page]{color:#bc6f53}
.footer-languages a{color:inherit;text-decoration:none;font-weight:700}
.footer-languages a:hover,.footer-languages a:focus-visible{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
 html{scroll-padding-top:145px}
 .site-header{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
 .announcement{height:auto;min-height:36px;line-height:1.4;flex-wrap:wrap;text-align:center;padding:7px 12px}
 .announcement a{margin-left:0;white-space:nowrap}
 .site-header .mobile-menu a,.site-header .mobile-menu button{min-height:44px;display:flex;align-items:center}
 .site-header .mobile-menu .mobile-menu-languages a{min-height:38px}
 .header-actions{gap:10px;margin-left:auto;flex:none}
 .site-header #menuBtn{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:#244b3d;font-size:24px}
 .language-inline{display:none}
 .footer-bottom{flex-wrap:wrap;gap:10px 18px}
 .l-header{padding:9px 15px;gap:8px}
 .l-brand{min-width:0}
 .l-brand img{width:36px;height:36px}
 .l-brand strong{font-size:1.42rem}
 .l-brand small{display:none}
 .l-header-right{width:auto;margin-left:auto;gap:7px}
 .l-languages{flex-wrap:nowrap;gap:2px}
 .l-languages a{font-size:0;padding:7px 5px;min-height:34px}
 .l-languages a[lang=en]::after{content:'EN';font-size:11px}
 .l-languages a[lang=ru]::after{content:'RU';font-size:11px}
 .l-languages a[lang=zh]::after{content:'中文';font-size:11px}
 .l-header #accountBtn{font-size:.72rem;padding:8px 10px;min-height:36px}
 .l-nav{order:3;width:100%;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;gap:18px;padding:4px 0 6px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .l-nav::-webkit-scrollbar{display:none}
 .l-nav a{flex:none;min-height:38px;display:inline-flex;align-items:center;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
