*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#F4FBF4;color:#1A3D28;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;font-size:16px;line-height:1.75;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
.shell{width:min(1220px,calc(100% - 40px));margin:0 auto}
.site-head{position:fixed;z-index:60;left:0;right:0;top:0}
.top-fence{height:24px;background:#0F3D24;color:#F4FBF4;font-size:12px}
.top-fence-inner{height:24px;display:flex;align-items:center;justify-content:space-between}
.text-control{border:0;background:transparent;color:#F4FBF4;min-width:44px;height:24px;padding:0 4px}
.text-control:hover,.text-control:focus-visible{text-decoration:underline;outline:2px solid #E8C458;outline-offset:-2px}
.field-gate{height:72px;background:#F4FBF4;border-bottom:1px solid rgba(31,138,76,.18)}
.field-gate-inner{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.brand-link{justify-self:start;display:flex;align-items:center;min-height:44px;min-width:90px}
.brand-logo,.basket-logo,.footer-logo{display:block;height:34px;width:auto;max-width:210px;object-fit:contain;object-position:left center}
.brand-fallback{font-size:23px;font-weight:900;color:#0F3D24;letter-spacing:.04em}
.basket-trigger{justify-self:center;border:1px solid rgba(31,138,76,.45);background:#fff;color:#0F3D24;border-radius:12px;min-width:88px;min-height:44px;font-weight:800}
.app-link{justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:12px;background:linear-gradient(135deg,#2EA860 0%,#1F8A4C 55%,#0F3D24 100%);color:#fff;font-weight:800}
.basket-trigger:hover,.basket-trigger:focus-visible,.app-link:hover,.app-link:focus-visible{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,61,36,.15);outline:2px solid #E8C458;outline-offset:2px}
.ridge-nav{height:48px;background:#D8EEDC;border-bottom:1px solid rgba(31,138,76,.18)}
.ridge-nav-inner{height:48px;display:flex;align-items:center;justify-content:center;gap:22px}
.ridge-nav a{display:flex;align-items:center;min-height:34px;padding:0 14px;border-radius:10px;color:#0F3D24;font-weight:700}
.ridge-nav a:hover,.ridge-nav a:focus-visible{background:#fff;outline:2px solid #1F8A4C}
.ridge-nav a.active{background:#1F8A4C;color:#fff}
.site-main{padding-top:164px;padding-bottom:42px;min-height:70vh}
.page{width:min(1220px,calc(100% - 40px));margin:0 auto}
.page-head{margin:20px 0 26px}
.eyebrow{display:inline-block;color:#1F8A4C;font-weight:800;font-size:13px;letter-spacing:.08em}
.page h1{font-size:clamp(28px,4vw,32px);line-height:1.25;margin:8px 0 12px;color:#0F3D24}
.page h2{font-size:22px;line-height:1.35;color:#0F3D24;margin:0 0 12px}
.page h3{font-size:18px;color:#0F3D24;margin:0 0 8px}
.lede{max-width:850px;color:#3E6B4E;font-size:17px}
.section{margin:28px 0;padding:26px;background:#fff;border:1px solid rgba(31,138,76,.18);border-radius:18px;box-shadow:0 14px 36px rgba(15,61,36,.08)}
.soft-section{background:#E6F3E8}
.deep-section{background:#0F3D24;color:#fff;border-color:#0F3D24}
.deep-section h2,.deep-section h3,.deep-section p,.deep-section li{color:#fff}
.grid-2,.grid-3,.grid-4,.topic-grid,.footer-grid,.basket-groups{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:#fff;border:1px solid rgba(31,138,76,.18);border-radius:16px;padding:20px}
.card p:last-child,.section p:last-child{margin-bottom:0}
.card-link{display:flex;min-height:44px;align-items:center;font-weight:800;color:#1F8A4C}
.card-link:hover,.card-link:focus-visible{text-decoration:underline;outline:2px solid #1F8A4C;outline-offset:3px}
.hero-slot,.media-slot{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0F3D24;border-radius:18px;border:1px solid rgba(31,138,76,.18)}
.hero-slot{width:100%;max-height:320px;aspect-ratio:16/9}
.media-slot{min-height:180px;max-height:240px;background:#E6F3E8}
.hero-slot img,.media-slot img{width:100%;height:100%;max-height:inherit;object-fit:contain;object-position:center}
.home-page .grid-3 > .card .media-slot{height:200px;min-height:200px}
.home-page .split-media > .media-slot{height:220px;min-height:200px;max-height:240px}
.hero-fallback{color:#F4FBF4;text-align:center;padding:34px}
.hero-fallback strong{font-size:28px;display:block}
.cover-copy{padding:22px 2px 8px}
.cover-copy .mini{font-weight:900;color:#1F8A4C}
.cover-copy h1{margin-top:4px}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.primary-button,.secondary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:12px;font-weight:800}
.primary-button{background:linear-gradient(135deg,#2EA860 0%,#1F8A4C 55%,#0F3D24 100%);color:#fff}
.secondary-button{background:#F4FBF4;border:1px solid rgba(31,138,76,.45);color:#0F3D24}
.primary-button:hover,.primary-button:focus-visible,.secondary-button:hover,.secondary-button:focus-visible{box-shadow:0 8px 20px rgba(15,61,36,.16);outline:2px solid #E8C458;outline-offset:2px}
.number-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.number-list li{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid rgba(31,138,76,.18)}
.number-list li:last-child{border-bottom:0}
.number-list .num{font-size:26px;line-height:1;color:#1F8A4C;font-weight:900}
.shelf{display:grid;gap:10px}
.shelf-row{display:grid;grid-template-columns:minmax(120px,1fr) 3fr auto;gap:14px;align-items:center;padding:14px 16px;border-radius:12px;background:#F4FBF4;border:1px solid rgba(31,138,76,.18)}
.shelf-row strong{color:#0F3D24}
.tag{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#D8EEDC;color:#0F3D24;font-size:13px;font-weight:800}
.timeline{position:relative;margin-left:12px;padding-left:30px;border-left:2px solid rgba(31,138,76,.45)}
.timeline article{position:relative;padding:0 0 24px}
.timeline article:before{content:"";position:absolute;left:-38px;top:8px;width:14px;height:14px;border-radius:50%;background:#1F8A4C;border:3px solid #F4FBF4;box-shadow:0 0 0 1px #1F8A4C}
.note-box{border-left:4px solid #E8C458;background:#fff;padding:16px 18px;border-radius:0 12px 12px 0}
.editor-note{font-size:13px;font-weight:900;color:#1F8A4C}
.article-prose{max-width:850px}
.article-prose p{margin:0 0 16px}
.article-prose ul{padding-left:1.2em}
.legal h2{padding-top:4px}
.legal p{margin-bottom:16px}
.faq-list{display:grid;gap:14px}
.faq-item{background:#fff;border:1px solid rgba(31,138,76,.18);border-radius:16px;padding:20px}
.faq-item h2{font-size:18px}
.app-product{display:grid;grid-template-columns:minmax(260px,.8fr) 1.4fr;gap:28px;align-items:center}
.app-visual{height:420px;display:flex;align-items:center;justify-content:center;background:#E6F3E8;border-radius:18px;overflow:hidden}
.app-visual img{width:100%;height:100%;object-fit:contain;object-position:center}
.icon-row,.app-icon-row{display:flex;gap:14px;align-items:center}
.app-icon{width:64px;height:64px;object-fit:contain;border-radius:14px}
.site-footer{background:#0F3D24;color:#D8EEDC;padding:42px 0 28px}
.footer-brand{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.footer-brand-link{display:flex;align-items:center}
.footer-brand div{display:flex;flex-direction:column}
.footer-brand strong{color:#fff;font-size:20px}
.footer-brand span{font-size:12px}
.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:26px 0;border-top:1px solid rgba(216,238,220,.18);border-bottom:1px solid rgba(216,238,220,.18)}
.footer-grid h2{color:#fff;font-size:15px;margin:0 0 10px}
.footer-grid section{display:flex;flex-direction:column;align-items:flex-start}
.footer-grid a{min-height:36px;display:flex;align-items:center;color:#D8EEDC}
.footer-grid a:hover,.footer-grid a:focus-visible{color:#fff;text-decoration:underline;outline:2px solid #E8C458;outline-offset:2px}
.footer-note{max-width:900px;font-size:14px;margin:22px 0 8px}
.copyright{font-size:13px;color:#7AC994}
.screen-mask{position:fixed;z-index:80;inset:0;background:rgba(15,61,36,.52);opacity:0;visibility:hidden;pointer-events:none;transition:.22s}
.screen-mask.show{opacity:1;visibility:visible;pointer-events:auto}
.overlay-open{overflow:hidden}
.basket-panel{position:fixed;z-index:90;left:50%;bottom:0;transform:translate(-50%,105%);width:min(720px,100%);max-height:70vh;background:#F4FBF4;border:1px solid rgba(31,138,76,.18);border-radius:18px 18px 0 0;box-shadow:0 -20px 50px rgba(15,61,36,.2);visibility:hidden;pointer-events:none;transition:transform .26s ease,visibility .26s}
.basket-panel.open{transform:translate(-50%,0);visibility:visible;pointer-events:auto}
.basket-head{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid rgba(31,138,76,.18)}
.basket-brand{display:flex;align-items:center;gap:12px}
.basket-logo{height:30px}
.close-button{min-width:64px;min-height:44px;border:1px solid rgba(31,138,76,.45);border-radius:12px;background:#F4FBF4;color:#0F3D24;font-weight:800}
.close-button:hover,.close-button:focus-visible{background:#D8EEDC;outline:2px solid #1F8A4C}
.basket-scroll{max-height:calc(70vh - 70px);overflow:auto;overscroll-behavior:contain;padding:18px}
.basket-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
.basket-groups section{background:#fff;border:1px solid rgba(31,138,76,.18);border-radius:14px;padding:16px}
.basket-groups h2{font-size:15px;margin:0 0 6px;color:#1F8A4C}
.basket-groups a{display:flex;flex-direction:column;padding:11px 4px;border-bottom:1px solid rgba(31,138,76,.12);min-height:60px}
.basket-groups a:last-child{border-bottom:0}
.basket-groups a:hover,.basket-groups a:focus-visible{background:#F4FBF4;outline:2px solid #1F8A4C;outline-offset:2px}
.basket-groups b{color:#0F3D24}
.basket-groups span{font-size:12px;color:#6A8A72;line-height:1.5}
.search-layer{position:fixed;z-index:95;left:0;right:0;top:96px;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-12px);transition:.2s}
.search-layer.open{visibility:visible;pointer-events:auto;opacity:1;transform:none}
.search-card{background:#F4FBF4;border:1px solid rgba(31,138,76,.18);border-radius:0 0 18px 18px;padding:24px;box-shadow:0 18px 40px rgba(15,61,36,.18)}
.search-head{display:flex;align-items:center;justify-content:space-between}
.search-head strong{font-size:22px;color:#0F3D24}
.search-label{display:block;margin:16px 0 7px;color:#3E6B4E;font-weight:700}
.search-input{width:100%;min-height:48px;border:1px solid rgba(31,138,76,.45);border-radius:12px;padding:0 14px;background:#fff;color:#1A3D28;outline:none}
.search-input:focus{box-shadow:0 0 0 3px rgba(46,168,96,.18);border-color:#1F8A4C}
.search-presets{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.search-presets a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;background:#D8EEDC;color:#0F3D24;border-radius:12px;font-weight:800}
.search-presets a:hover,.search-presets a:focus-visible{background:#1F8A4C;color:#fff;outline:2px solid #E8C458}
.search-tip{margin:14px 0 0;color:#6A8A72;font-size:13px}
.mobile-bottom{display:none}
.compact-list{padding-left:1.2em}
.compact-list li{margin-bottom:8px}
.strip-list{display:grid;gap:12px}
.strip{padding:18px;border-radius:14px;background:#fff;border:1px solid rgba(31,138,76,.18)}
.strip strong{color:#0F3D24}
.split-media{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center}
.status{font-weight:800;color:#1F8A4C}
.muted{color:#6A8A72}
.quote-line{font-size:20px;font-weight:800;color:#0F3D24}
.center{text-align:center}
@media(max-width:820px){
  .shell,.page{width:min(100% - 32px,1220px)}
  .ridge-nav{display:none}
  .site-main{padding-top:116px;padding-bottom:82px}
  .field-gate-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}
  .brand-logo{height:30px;max-width:142px}
  .brand-fallback{font-size:20px}
  .basket-trigger{min-width:72px}
  .app-link{padding:0 12px;font-size:14px}
  .grid-3,.grid-4,.topic-grid{grid-template-columns:1fr 1fr}
  .app-product,.split-media{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .basket-panel{max-height:78vh}
  .basket-scroll{max-height:calc(78vh - 70px)}
  .mobile-bottom{position:fixed;z-index:70;left:0;right:0;bottom:0;height:calc(50px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:#F4FBF4;border-top:1px solid rgba(31,138,76,.18);box-shadow:0 -8px 20px rgba(15,61,36,.08)}
  .mobile-bottom a{display:flex;align-items:center;justify-content:center;min-height:50px;color:#0F3D24;font-size:13px;font-weight:800}
  .mobile-bottom a.active{background:#1F8A4C;color:#fff}
  .search-layer{inset:0;transform:none;background:#0F3D24;color:#F4FBF4}
  .search-layer.open{display:flex}
  .search-card{width:100%;min-height:100%;border:0;border-radius:0;background:#0F3D24;color:#F4FBF4;padding:calc(24px + env(safe-area-inset-top)) 16px 24px}
  .search-head strong,.search-label{color:#F4FBF4}
  .search-card .close-button{background:#F4FBF4}
  .search-tip{color:#D8EEDC}
  .search-presets a{background:#F4FBF4;color:#0F3D24}
  .shelf-row{grid-template-columns:1fr}
  .hero-slot{aspect-ratio:3/2}
  .media-slot{min-height:170px}
}
@media(max-width:560px){
  .top-fence-inner{width:calc(100% - 24px)}
  .field-gate-inner{width:calc(100% - 24px)}
  .brand-logo{max-width:115px;height:28px}
  .brand-fallback{font-size:18px}
  .basket-trigger{min-width:64px;padding:0 10px}
  .app-link{padding:0 9px;font-size:13px}
  .page h1{font-size:28px}
  .section{padding:20px;margin:20px 0}
  .grid-2,.grid-3,.grid-4,.topic-grid,.footer-grid,.basket-groups{grid-template-columns:1fr}
  .basket-groups{gap:12px}
  .button-row{display:grid;grid-template-columns:1fr}
  .number-list li{grid-template-columns:46px 1fr}
  .footer-grid section{border-bottom:1px solid rgba(216,238,220,.14);padding-bottom:14px}
  .footer-grid section:last-child{border-bottom:0}
  .app-visual{height:360px}
}
