/* GSLS Atlas: warm paper, deep jade and original vector-led brand surfaces. */
.storefront { --paper:#f7f8f4; --white:#fffefa; --ink:#253b33; --muted:#697b71; --green:#245b48; --green-light:#e5eee7; --line:#dfe6dc; color-scheme:light; background:var(--paper); color:var(--ink); }
.storefront ::selection { background:#c6dfce; color:#173e2c; }
.storefront .container { max-width:1320px; padding-left:32px; padding-right:32px; }
.storefront .topline { background:#edf1e9; border-color:#e1e7dc; color:#6c7e6c; font-size:10px; }
.storefront .topline .container { min-height:28px; }
.storefront .site-header { background:#f9faf5ed; border-color:#dfe6db; backdrop-filter:blur(20px); }
.storefront .header-inner { height:84px; gap:24px; }
.storefront .brand { flex-shrink:0; }
.storefront .brand-mark { background:#285a46; border:1px solid #285a46; border-radius:13px; color:#eff5e8; }
.storefront .brand strong { font-size:23px; letter-spacing:3px; }
.storefront .brand small { font-size:7px; color:#6d806f; letter-spacing:1.8px; }
.storefront .header-inner nav { gap:25px; margin:0; }
.storefront .header-inner nav a { font-size:12px; white-space:nowrap; color:#66766b; }
.storefront .header-inner nav a.active { color:#285c46; }
.storefront .header-inner nav a.active:after { height:2px; left:0; right:0; background:#2d694e; }
.header-actions { display:flex; align-items:center; gap:17px; flex-shrink:0; }
.storefront .header-help { background:#285b47; color:white; border-radius:24px; padding:10px 16px; font-size:11px; gap:10px; }
.storefront .header-help:hover { background:#184631; }
.storefront .header-help .icon { width:14px; height:14px; }
.community-menu { position:relative; }
.community-menu summary { display:flex; gap:7px; align-items:center; font-size:11px; cursor:pointer; list-style:none; padding:10px 0; color:#4e6655; }
.community-menu summary::-webkit-details-marker { display:none; }
.community-menu summary .icon { width:15px; height:15px; }
.community-menu summary .icon:last-child { width:11px; height:11px; }
.community-dropdown { position:absolute; right:0; top:42px; width:244px; padding:8px; background:#fffefa; border:1px solid #dae4d9; border-radius:12px; box-shadow:0 14px 45px #23473119; z-index:30; }
.community-dropdown a { display:flex; gap:10px; align-items:center; border-radius:7px; padding:12px 10px; font-size:12px; }
.community-dropdown a:hover { background:#edf3e9; }
.community-dropdown .icon { width:17px; height:17px; color:#4c765c; }
.community-dropdown .community-status { margin-left:auto; font-size:10px; }
.community-status { color:#7e7359; background:#f1eee4; border:1px solid #e4dfd0; border-radius:20px; padding:3px 8px; font-size:10px; }
.channel-ready .community-status { color:#2e6a4a; background:#e4f0e5; border-color:#c4dec8; }

/* A separate brand homepage: the catalogue no longer dominates the first visit. */
.storefront .orbit-hero { display:flex; align-items:center; height:558px; margin:0; border:0; border-radius:0; background:radial-gradient(ellipse at 80% 48%,#dce9dc55,transparent 55%); overflow:visible; isolation:isolate; }
.storefront .hero-copy { padding:40px 0; width:61%; }
.hero-kicker { display:flex; align-items:center; gap:10px; color:#768a74; font:10px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:1.4px; }
.hero-kicker>span { width:6px; height:6px; border-radius:50%; background:#5d876a; }
.storefront .hero h1 { font:650 clamp(40px,4.1vw,57px)/1.35 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; color:#203f31; letter-spacing:-1.4px; margin:22px 0; }
.storefront .hero h1 span { color:#66826c; }
.storefront .hero p { font-size:13px; line-height:2; color:#60725f; letter-spacing:.2px; }
.hero-actions { display:flex; gap:12px; margin-top:29px; }
.storefront .hero-actions .button { padding:13px 20px; border-radius:25px; min-width:159px; font-size:12px; min-height:46px; }
.storefront .button.primary { background:#285d46; border-color:#285d46; color:#fffefa; }
.storefront .button.primary:hover { background:#194832; }
.storefront .button.secondary { background:#f9faf5; color:#42634d; border-color:#c7d4c5; }
.storefront .button.secondary:hover { background:#e9f0e3; }
.hero-signature { margin-top:31px; display:flex; align-items:center; gap:11px; font-size:10px; color:#7c8c74; letter-spacing:2px; }
.hero-signature>span { width:25px; height:1px; background:#b1c2a7; }
.orbit-visual { width:590px; height:590px; position:absolute; z-index:-1; right:-30px; top:50%; transform:translateY(-50%); pointer-events:none; }
.orbit-globe { display:block; width:100%; height:100%; filter:drop-shadow(0 16px 23px #73917613); }
.orbit-label { position:absolute; padding:13px 16px; display:flex; gap:10px; align-items:center; border:1px solid #c7d7c8; background:#fffef8ed; border-radius:12px; box-shadow:0 10px 30px #4d71551a; color:#365b43; font-size:13px; }
.orbit-label small { display:block; font-size:10px; margin-top:3px; color:#78896f; }
.orbit-label .platform-avatar { width:32px; height:32px; border-radius:9px; background:#e9f0e6; }
.orbit-label .platform-avatar svg { width:22px; height:22px; }
.orbit-label-one { left:50px; top:131px; animation:atlas-drift 9s ease-in-out infinite; }
.orbit-label-one i { width:5px; height:5px; border-radius:50%; background:#799d6c; margin-left:8px; }
.orbit-label-two { right:6px; bottom:112px; animation:atlas-drift 11s ease-in-out -3s infinite; }
.orbit-coordinate { position:absolute; left:116px; bottom:42px; color:#7b9278; font:8px ui-monospace,SFMono-Regular,monospace; letter-spacing:2px; }
@keyframes atlas-drift { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
.platform-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0 0 20px; }
.storefront .platform-shortcut { display:flex; gap:12px; align-items:center; text-align:left; border:1px solid #d9e2d5; border-radius:12px; padding:20px; background:#fffefa; transition:transform .2s,border-color .2s,box-shadow .2s; }
.storefront .platform-shortcut:hover { transform:translateY(-3px); border-color:#95b396; box-shadow:0 8px 22px #5271510b; }
.storefront .platform-shortcut[aria-pressed=true] { background:#eaf1e5; border-color:#a0bb9b; }
.platform-shortcut .platform-avatar { width:34px; height:34px; border-radius:10px; }
.platform-shortcut .platform-avatar svg { width:23px; height:23px; }
.platform-shortcut strong { display:block; color:#304e3b; font-size:13px; font-weight:600; }
.platform-shortcut small { display:block; color:#798772; font-size:10px; margin-top:4px; }
.platform-shortcut .shortcut-arrow { margin-left:auto; width:15px; height:15px; color:#94a58b; }
.brand-section { padding:54px 0 6px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:25px; }
.section-heading .eyebrow { color:#819177; font-size:9px; letter-spacing:2px; }
.section-heading h2 { font-size:28px; font-weight:600; color:#2e4e39; margin-top:11px; letter-spacing:-.5px; }
.section-heading h2 span { color:#82917a; }
.section-heading p { color:#71816a; font-size:12px; line-height:1.9; margin-top:10px; }
.section-link { display:inline-flex; align-items:center; gap:8px; color:#456d4b; font-size:12px; white-space:nowrap; }
.section-link .icon { width:15px; height:15px; }
.channel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.channel-card { display:block; position:relative; padding:28px; border:1px solid #dce4d6; border-radius:13px; background:#fffefa; transition:border-color .2s,transform .2s; }
.channel-card:hover { border-color:#a3b999; transform:translateY(-3px); }
.channel-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid #d4e0ca; border-radius:13px; background:#eef3e7; color:#628259; margin-bottom:27px; }
.channel-icon .icon { width:24px; height:24px; stroke-width:1.4; }
.channel-card>.community-status { position:absolute; right:24px; top:27px; }
.channel-card h3 { color:#36523c; font-size:18px; font-weight:600; }
.channel-card p { color:#76816b; font-size:12px; line-height:1.95; max-width:295px; margin-top:12px; min-height:46px; }
.channel-cta { display:flex; align-items:center; justify-content:space-between; margin-top:28px; padding-top:17px; border-top:1px solid #e8ecdf; color:#57754b; font-size:11px; }
.channel-cta .icon { width:16px; height:16px; }

/* The journal has real article pages, not decorative cards. */
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.journal-card { display:block; border:1px solid #dce4d7; border-radius:13px; background:#fffefa; overflow:hidden; transition:transform .2s,border-color .2s; }
.journal-card:hover { transform:translateY(-4px); border-color:#a9bf9f; }
.journal-art { height:185px; display:grid; place-items:center; position:relative; overflow:hidden; isolation:isolate; }
.journal-art.sage { background:#e7efe1; color:#6e8c63; }
.journal-art.sand { background:#f0e9d8; color:#a7976c; }
.journal-art.blue { background:#e1ebe9; color:#698f89; }
.journal-symbol { width:76px; height:76px; stroke-width:.8; }
.journal-art:before,.journal-art:after { content:''; position:absolute; width:200px; height:200px; border:1px solid currentColor; border-radius:50%; opacity:.16; z-index:-1; }
.journal-art:after { width:250px; height:250px; }
.art-orbit { position:absolute; height:100px; width:290px; border:1px solid currentColor; opacity:.25; border-radius:50%; transform:rotate(-28deg); z-index:-1; }
.art-corner { position:absolute; left:18px; bottom:15px; font:8px ui-monospace,SFMono-Regular,monospace; letter-spacing:1.5px; opacity:.8; }
.journal-copy { padding:22px 23px 23px; }
.journal-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; font-size:10px; color:#8b927d; }
.journal-meta>span:first-child { color:#6a845e; }
.journal-copy h3 { font-size:17px; font-weight:600; color:#37513a; line-height:1.65; margin:12px 0 10px; }
.journal-copy p { font-size:12px; line-height:1.9; color:#7a846e; min-height:46px; }
.journal-read { display:flex; align-items:center; gap:8px; font-size:11px; color:#638258; margin-top:21px; }
.journal-read .icon { width:14px; height:14px; }
.home-closing { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #dfe5d7; border-bottom:1px solid #dfe5d7; margin:60px 0 48px; padding:26px 5px; }
.home-closing>span { font:25px "Songti SC",serif; letter-spacing:3px; color:#597552; }
.home-closing a { display:flex; gap:18px; align-items:center; font-size:12px; color:#6d8460; }
.home-closing a .icon { width:17px; height:17px; }
.storefront .page-heading h1 { color:#36543c; font-family:inherit; letter-spacing:-.5px; }
.storefront .page-heading p { color:#708168; }
.editorial-heading { padding:68px 0 42px; }
.editorial-heading h1 { font-size:38px; line-height:1.5; }
.editorial-heading h1 span { color:#87977b; }
.blog-grid { margin-bottom:76px; }
.article-back { display:inline-flex; align-items:center; gap:9px; margin-top:36px; color:#718366; font-size:12px; }
.article-back .icon { width:16px; height:16px; }
.article-heading { padding:36px 0; max-width:900px; }
.article-heading h1 { font-size:36px; line-height:1.5; font-weight:600; color:#375238; margin:18px 0; }
.article-heading>p { color:#7b876d; font-size:14px; line-height:1.9; }
.article-layout { display:grid; grid-template-columns:230px minmax(0,760px); gap:60px; margin-bottom:70px; align-items:start; }
.article-aside { position:sticky; top:110px; }
.article-aside .journal-art { height:185px; border-radius:12px; }
.article-aside>p { color:#7c8e70; font-size:14px; line-height:2; margin:20px 0; }
.article-aside>a { display:flex; align-items:center; gap:12px; color:#547349; font-size:12px; }
.article-aside>a .icon { width:16px; height:16px; }
.article-body { padding:8px 0; color:#52634c; }
.article-body section { margin-bottom:34px; }
.article-body h2 { font-size:21px; color:#3d5639; margin-bottom:17px; }
.article-body p,.article-body li { font-size:14px; line-height:2.1; margin-bottom:13px; }
.article-body ul { padding-left:23px; }
.article-ending { border-top:1px solid #dce5d1; padding-top:24px; font-size:13px; color:#80916e; }
.article-ending a { display:inline-flex; align-items:center; gap:8px; color:#537441; }
.article-ending .icon { width:15px; height:15px; }
.community-readiness { padding:17px 0; color:#877e66; font-size:12px; }
.wholesale-panel { display:grid; grid-template-columns:1.2fr 1fr; gap:45px; background:#edf2e4; border:1px solid #dce5ce; border-radius:14px; padding:35px; margin:25px 0; }
.wholesale-panel h2 { font-size:24px; font-weight:600; margin:17px 0; color:#4b693e; }
.wholesale-panel p { color:#748562; font-size:12px; line-height:2.1; }
.enquiry-template pre { white-space:pre-wrap; font-family:inherit; font-size:12px; line-height:2.1; color:#60744e; margin:0 0 18px; }
#connect-view>.section-link { margin:0 0 55px; }

/* The existing small-row shop and customer flows retain their layout. */
.catalog-page-heading { padding:40px 0 27px; }
.storefront .catalog-layout { grid-template-columns:210px minmax(0,1fr); gap:25px; }
.storefront #catalog { scroll-margin-top:110px; }
.storefront .category-button { font-size:11px; }
.storefront .product-table-heading { background:#eaf0e4; color:#6b7b5e; }
.storefront .products .price { color:#325e40; font-size:14px; }
.storefront .products:not(.grid) .product-title h3 { color:#42583d; font-size:13px; }
.storefront .products .buy-button { color:#547c48; border-color:#cad8bf; background:#fafcf5; box-shadow:none; }
.storefront .products .buy-button:hover { color:white; background:#426a35; }
.storefront .stock-cell.empty-stock { color:#7d8b70; }
.storefront .platform-avatar { background:#e8f0ed; }
.storefront .platform-avatar.google { background:#f1f3eb; }
.storefront .platform-avatar.bilibili { background:#f6edef; }
.storefront .platform-avatar.xhs { background:#f7eeea; }
.storefront .purchase-product-heading h2 { overflow-wrap:anywhere; }
.storefront .purchase-info,.storefront .purchase-form { min-width:0; }
.storefront .site-footer { background:#eef2e7; border-color:#e0e6d6; margin-top:0; }
.footer-directory { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:35px; padding-top:44px; padding-bottom:38px; }
.footer-directory h3 { color:#5b7250; font-size:12px; font-weight:600; margin-bottom:18px; }
.footer-directory>div>a:not(.brand) { display:flex; align-items:center; gap:7px; color:#7b896d; font-size:11px; margin:10px 0; width:fit-content; }
.footer-directory>div>a:not(.brand):hover { color:#315426; }
.footer-directory>div>a>.icon { width:12px; height:12px; }
.footer-brand p { font-size:11px; color:#849275; line-height:2; margin-top:17px; }
.storefront .footer-bottom { color:#849374; font-size:10px; border-color:#dbe3cd; padding-top:16px; padding-bottom:19px; }

@media(max-width:1100px) {
  .storefront .header-inner { gap:16px; }
  .storefront .header-inner nav { gap:18px; }
  .header-actions { gap:12px; }
  .storefront .brand strong { font-size:21px; }
  .storefront .orbit-hero { height:510px; }
  .orbit-visual { width:510px; height:510px; right:-15px; }
  .orbit-label-one { left:40px; top:110px; }
  .orbit-label-two { right:0; bottom:90px; }
  .storefront .hero h1 { font-size:44px; }
  .storefront .platform-shortcut { padding:18px 13px; }
  .platform-shortcut .shortcut-arrow { display:none; }
  .channel-card { padding:24px; }
}
@media(max-width:1000px) {
  .storefront .header-inner { height:auto; min-height:120px; flex-wrap:wrap; padding-top:13px; gap:10px; }
  .storefront .header-inner nav { order:3; width:100%; height:43px; justify-content:center; gap:35px; }
  .storefront #catalog { scroll-margin-top:140px; }
  .article-aside { top:150px; }
  .storefront .hero-copy { width:65%; }
  .storefront .hero h1 { font-size:41px; }
  .orbit-visual { width:450px; height:450px; right:-18px; }
  .orbit-label { font-size:11px; padding:10px 12px; }
  .orbit-label-one { left:72px; top:90px; }
  .orbit-label-two { right:0; bottom:80px; }
  .orbit-label small { font-size:9px; }
  .section-heading h2 { font-size:25px; }
  .journal-copy { padding:19px; }
  .journal-copy h3 { font-size:15px; }
  .article-layout { gap:30px; grid-template-columns:190px minmax(0,1fr); }
}
@media(max-width:780px) {
  .storefront .container { padding-left:20px; padding-right:20px; }
  .storefront .header-inner nav { gap:25px; justify-content:space-between; }
  .storefront .header-help { display:none; }
  .storefront .orbit-hero { height:460px; overflow:hidden; margin:0 -20px; padding:0 20px; }
  .storefront .hero-copy { width:100%; padding:28px 0; }
  .orbit-visual { width:430px; height:430px; right:-135px; opacity:.42; }
  .orbit-label,.orbit-coordinate { display:none; }
  .storefront .hero h1 { font-size:43px; }
  .platform-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .platform-shortcut .shortcut-arrow { display:block; }
  .brand-section { padding-top:40px; }
  .section-heading { align-items:flex-start; gap:17px; }
  .section-heading h2 { font-size:23px; }
  .section-heading h2 span { display:block; margin-top:5px; }
  .section-link { font-size:11px; }
  .channel-grid { gap:11px; }
  .channel-card { padding:19px; }
  .channel-card h3 { font-size:15px; }
  .channel-card p { font-size:11px; }
  .channel-card>.community-status { right:14px; top:18px; font-size:9px; }
  .channel-icon { width:37px; height:37px; margin-bottom:23px; }
  .channel-icon .icon { width:22px; height:22px; }
  .journal-grid { gap:12px; }
  .journal-art { height:145px; }
  .journal-symbol { width:60px; height:60px; }
  .journal-meta { font-size:9px; gap:9px; }
  .journal-copy { padding:16px; }
  .journal-copy h3 { font-size:14px; }
  .journal-copy p { font-size:11px; }
  .home-closing>span { font-size:20px; }
  .footer-directory { grid-template-columns:1.6fr 1fr 1fr; gap:25px; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand p { margin-top:10px; }
  .editorial-heading { padding-top:40px; }
  .editorial-heading h1 { font-size:31px; }
  .article-layout { grid-template-columns:1fr; }
  .article-aside { display:none; }
  .article-heading h1 { font-size:29px; }
  .wholesale-panel { gap:25px; padding:26px; }
}
@media(max-width:520px) {
  .storefront .container { padding-left:16px; padding-right:16px; }
  .storefront .topline { font-size:9px; }
  .storefront .header-inner { min-height:108px; padding-top:12px; gap:8px; }
  .storefront .header-inner nav { gap:0; height:42px; }
  .storefront .header-inner nav a { font-size:11px; }
  .storefront .brand strong { font-size:21px; }
  .community-menu summary { font-size:10px; }
  .community-dropdown { width:228px; }
  .storefront .orbit-hero { height:478px; margin:0 -16px; padding:0 16px; align-items:flex-start; }
  .storefront .hero-copy { padding-top:40px; }
  .hero-kicker { font-size:8px; letter-spacing:.8px; }
  .storefront .hero h1 { font-size:35px; letter-spacing:-1px; margin:22px 0 19px; line-height:1.4; }
  .storefront .hero p { font-size:11px; line-height:2; }
  .hero-actions { gap:10px; margin-top:26px; }
  .storefront .hero-actions .button { font-size:11px; padding:11px 14px; min-width:0; min-height:43px; gap:9px; }
  .hero-signature { font-size:9px; margin-top:26px; }
  .orbit-visual { width:340px; height:340px; top:auto; bottom:-49px; transform:none; right:-103px; opacity:.36; }
  .storefront .platform-shortcut { padding:15px 11px; gap:9px; }
  .platform-shortcut .platform-avatar { width:29px; height:29px; border-radius:8px; }
  .platform-shortcut .platform-avatar svg { width:20px; height:20px; }
  .platform-shortcut strong { font-size:12px; }
  .platform-shortcut small { font-size:9px; }
  .platform-shortcut .shortcut-arrow { display:none; }
  .section-heading h2 { font-size:21px; line-height:1.5; }
  .section-heading .eyebrow { font-size:8px; }
  .section-heading .section-link { font-size:10px; gap:3px; }
  .section-heading p { font-size:11px; }
  .channel-grid { grid-template-columns:1fr; gap:12px; }
  .channel-card { padding:23px; }
  .channel-icon { margin-bottom:20px; width:43px; height:43px; }
  .channel-card h3 { font-size:18px; }
  .channel-card p { min-height:0; font-size:12px; }
  .channel-card>.community-status { top:25px; right:23px; }
  .channel-cta { margin-top:20px; }
  .journal-grid { grid-template-columns:1fr; gap:20px; }
  .journal-art { height:180px; }
  .journal-copy { padding:22px; }
  .journal-copy h3 { font-size:18px; }
  .journal-copy p { font-size:12px; min-height:0; }
  .journal-meta { font-size:10px; }
  .journal-symbol { width:73px; height:73px; }
  .home-closing { display:block; margin:40px 0 32px; padding:24px 0; }
  .home-closing a { font-size:11px; margin-top:15px; }
  .footer-directory { padding-top:30px; gap:25px 13px; }
  .footer-directory h3 { font-size:11px; }
  .footer-directory>div>a:not(.brand) { font-size:10px; }
  .footer-bottom { font-size:9px; }
  .storefront #catalog { scroll-margin-top:125px; }
  .storefront .products:not(.grid) .product-title h3 { font-size:11px; }
  .storefront .products .price { font-size:12px; }
  .catalog-page-heading { padding:30px 0 23px; }
  .editorial-heading h1 { font-size:27px; }
  .article-heading h1 { font-size:26px; }
  .article-heading>p { font-size:12px; }
  .article-body h2 { font-size:19px; }
  .article-body p,.article-body li { font-size:13px; }
  .wholesale-panel { grid-template-columns:1fr; gap:24px; padding:24px; }
  .wholesale-panel h2 { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) {
  .storefront .orbit-label { animation:none; }
  .platform-shortcut:hover,.channel-card:hover,.journal-card:hover { transform:none; }
}
