/* R27 supply explorer: public, source-bounded supply discovery in the site's ink palette. */
.sx27[data-supply-explorer-r27]{
 --sx27-black:#111612;
 --sx27-ink:#173f2d;
 --sx27-leaf:#e2edd6;
 --sx27-leaf-soft:#f4f8ef;
 --sx27-yellow:#f4e7ad;
 --sx27-paper:#fff;
 --sx27-line:rgba(23,63,45,.2);
 --sx27-line-strong:rgba(23,63,45,.42);
 --sx27-shadow:0 18px 48px rgba(23,63,45,.08);
 position:relative;
 isolation:isolate;
 overflow:clip;
 padding-block:clamp(3rem,7vw,6.5rem);
 color:var(--sx27-black);
 background:
  radial-gradient(circle at 90% 5%,rgba(244,231,173,.44),transparent 24rem),
  linear-gradient(180deg,rgba(226,237,214,.52),rgba(255,255,255,.96) 24rem,var(--sx27-paper));
 border-block:1px solid var(--sx27-line);
 scroll-margin-top:calc(var(--header,82px) + 1rem);
}
.sx27[data-supply-explorer-r27]::before{
 content:"";
 position:absolute;
 z-index:-1;
 inset-block-start:-8rem;
 inset-inline-end:-9rem;
 inline-size:28rem;
 block-size:28rem;
 border:1px solid rgba(23,63,45,.09);
 border-radius:50%;
 box-shadow:0 0 0 4rem rgba(255,255,255,.18),0 0 0 8rem rgba(226,237,214,.12);
 pointer-events:none;
}
.sx27[data-supply-explorer-r27] *{box-sizing:border-box}
.sx27[data-supply-explorer-r27] [hidden]{display:none!important}
.sx27[data-supply-explorer-r27] :is(h2,h3,h4){color:var(--sx27-ink);text-wrap:balance}
.sx27[data-supply-explorer-r27] :is(p,li,dd,a){overflow-wrap:anywhere}
.sx27[data-supply-explorer-r27] .sx27-kicker,
.sx27[data-supply-explorer-r27] .ser-kicker{
 display:flex;
 align-items:center;
 gap:.7rem;
 inline-size:max-content;
 max-inline-size:100%;
 margin-block-end:.8rem;
 color:var(--sx27-ink);
 font-size:.76rem;
 font-weight:800;
 letter-spacing:.12em;
 text-transform:uppercase;
}
.sx27[data-supply-explorer-r27] .sx27-kicker::before,
.sx27[data-supply-explorer-r27] .ser-kicker::before{content:"";inline-size:2rem;block-size:2px;background:var(--sx27-ink)}
:lang(zh-CN) .sx27 .sx27-kicker,:lang(zh-CN) .sx27 .ser-kicker,
:lang(ar) .sx27 .sx27-kicker,:lang(ar) .sx27 .ser-kicker{text-transform:none}
.sx27[data-supply-explorer-r27] .sx27-intro,
.sx27[data-supply-explorer-r27] .ser-intro{max-inline-size:72ch;font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.8;color:var(--sx27-ink)}

/* Compact facts and three reliable GET entry points. */
.sx27 :is([data-ser-metrics],.sx27-metrics,.ser-metrics){
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:1px;
 margin:clamp(1.6rem,4vw,2.8rem) 0;
 padding:0;
 overflow:hidden;
 border:1px solid var(--sx27-line);
 border-radius:14px;
 background:var(--sx27-line);
 box-shadow:var(--sx27-shadow);
}
.sx27 .sx27-metrics>div{
 min-inline-size:0;
 margin:0;
 padding:1.1rem clamp(.9rem,2vw,1.5rem);
 background:rgba(255,255,255,.94);
}
.sx27 .sx27-metrics dt{display:block;margin:0;color:var(--sx27-ink);font-size:.76rem;line-height:1.5}
.sx27 [data-ser-metric]{display:block;margin:.35rem 0 0;color:var(--sx27-black);font-family:var(--serif,Georgia,serif);font-size:clamp(1.2rem,2.5vw,1.9rem);line-height:1.15;font-variant-numeric:tabular-nums}
.sx27 :is([data-ser-entries],.sx27-entries,.ser-entries){
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:1rem;
 margin-block:1.5rem 2.4rem;
 padding:0;
}
.sx27 [data-ser-entry]{
 position:relative;
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-content:start;
 gap:.35rem 1rem;
 min-block-size:8.4rem;
 padding:1.25rem 1.35rem;
 color:var(--sx27-black);
 text-decoration:none;
 background:rgba(255,255,255,.88);
 border:1px solid var(--sx27-line);
 border-radius:10px;
 box-shadow:0 1px 0 rgba(255,255,255,.9);
 transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.sx27 [data-ser-entry]::after{content:"→";grid-column:2;grid-row:1/3;color:var(--sx27-ink);font-size:1.3rem;align-self:center}
[dir="rtl"] .sx27 [data-ser-entry]::after{content:"←"}
.sx27 [data-ser-entry]:is(:hover,:focus-visible){border-color:var(--sx27-ink);transform:translateY(-2px);box-shadow:0 12px 28px rgba(23,63,45,.09)}
.sx27 [data-ser-entry] :is(strong,h3){grid-column:1;margin:0;color:var(--sx27-ink);font-size:1.08rem;line-height:1.35}
.sx27 [data-ser-entry] :is(span,p,small){grid-column:1;margin:0;font-size:.85rem;line-height:1.65}

/* GET filters remain fully usable without JavaScript. */
.sx27 [data-ser-form]{
 display:block;
 margin-block:2rem 1.25rem;
 padding:clamp(1.1rem,3vw,1.7rem);
 background:var(--sx27-paper);
 border:1px solid var(--sx27-line-strong);
 border-radius:12px;
 box-shadow:var(--sx27-shadow);
}
.sx27 [data-ser-form]>h3{margin:0 0 1rem;font-size:1.08rem}
.sx27 .sx27-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.sx27 .sx27-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-block-start:1rem}
.sx27 [data-ser-form] :is(label,.sx27-label,.ser-label){display:block;margin-block-end:.4rem;color:var(--sx27-ink);font-size:.8rem;font-weight:750;line-height:1.45}
.sx27 [data-ser-form] :is(select,input){display:block;inline-size:100%;min-inline-size:0;min-block-size:48px;padding:.65rem 2.35rem .65rem .8rem;border:1px solid var(--sx27-line-strong);border-radius:5px;background-color:var(--sx27-paper);color:var(--sx27-black);font:inherit;line-height:1.35}
[dir="rtl"] .sx27 [data-ser-form] :is(select,input){padding:.65rem .8rem .65rem 2.35rem}
.sx27 [data-ser-form] :is(select,input):hover{border-color:var(--sx27-ink)}
.sx27 [data-ser-submit],.sx27 [data-ser-reset]{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-block-size:48px;
 padding:.65rem 1.15rem;
 border:1px solid var(--sx27-ink);
 border-radius:5px;
 font:inherit;
 font-size:.88rem;
 font-weight:750;
 line-height:1.25;
 text-decoration:none;
 cursor:pointer;
}
.sx27 [data-ser-submit]{background:var(--sx27-ink);color:var(--sx27-paper)}
.sx27 [data-ser-reset]{background:var(--sx27-paper);color:var(--sx27-ink)}
.sx27 [data-ser-submit]:is(:hover,:focus-visible),.sx27 [data-ser-reset]:is(:hover,:focus-visible){background:var(--sx27-leaf);color:var(--sx27-ink)}
.sx27 [data-ser-submit][aria-disabled="true"]{opacity:.68;cursor:progress}
.sx27 [data-ser-status]{min-block-size:1.7rem;margin:.65rem 0 1.2rem;color:var(--sx27-ink);font-size:.84rem;line-height:1.65}
.sx27[aria-busy="true"] [data-ser-status]{padding-inline-start:.75rem;border-inline-start:3px solid var(--sx27-yellow)}

/* Province buttons expose SSR sample counts and stay ordinary links. */
.sx27 :is([data-ser-provinces],.sx27-provinces,.ser-provinces){margin-block:1.75rem 2rem}
.sx27 .sx27-subhead{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-block-end:.8rem}
.sx27 .sx27-subhead :is(h3,p){margin:0}
.sx27 .sx27-subhead p{max-inline-size:62ch;font-size:.84rem;color:var(--sx27-ink)}
.sx27 .sx27-province-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(8.25rem,1fr));
 gap:.55rem;
 margin:1rem 0 2rem;
 padding:0;
}
.sx27 [data-ser-province]{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:.75rem;
 min-inline-size:0;
 min-block-size:46px;
 padding:.62rem .8rem;
 color:var(--sx27-ink);
 text-decoration:none;
 background:rgba(255,255,255,.88);
 border:1px solid var(--sx27-line);
 border-radius:5px;
 font-size:.82rem;
 line-height:1.35;
}
.sx27 [data-ser-province]>strong{display:grid;place-items:center;min-inline-size:1.75rem;min-block-size:1.75rem;padding-inline:.35rem;border-radius:999px;background:var(--sx27-leaf);color:var(--sx27-ink);font-size:.72rem;font-variant-numeric:tabular-nums}
.sx27 [data-ser-province]:is(:hover,:focus-visible){border-color:var(--sx27-ink);background:var(--sx27-leaf-soft)}
.sx27 [data-ser-province][aria-current]{background:var(--sx27-ink);border-color:var(--sx27-ink);color:var(--sx27-paper);font-weight:750}
.sx27 [data-ser-province][aria-current]>strong{background:var(--sx27-yellow);color:var(--sx27-black)}

/* Result cards keep evidence, scope and public business telephone legible. */
.sx27 [data-ser-results]{scroll-margin-top:calc(var(--header,82px) + 1rem);outline:none}
.sx27 [data-ser-results]:focus-visible{outline:3px solid var(--sx27-ink);outline-offset:8px}
.sx27 .sx27-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-block:1.4rem .6rem}
.sx27 .sx27-results-head :is(h3,p){margin:0}
.sx27 .sx27-results-head [data-ser-count]{font-size:.86rem;color:var(--sx27-ink);font-variant-numeric:tabular-nums}
.sx27 :is([data-ser-list],.sx27-results-grid,.ser-results-grid){
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:1rem;
 margin:1.25rem 0;
 padding:0;
 list-style:none;
}
.sx27 [data-ser-card]{
 display:flex;
 flex-direction:column;
 min-inline-size:0;
 padding:clamp(1.05rem,2.5vw,1.45rem);
 background:var(--sx27-paper);
 border:1px solid var(--sx27-line);
 border-block-start:3px solid var(--sx27-ink);
 border-radius:5px;
 box-shadow:0 8px 24px rgba(23,63,45,.055);
}
.sx27 [data-ser-card] :is(h3,h4){margin:.25rem 0 .65rem;font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.35}
.sx27 [data-ser-card]>header{padding-block-end:.65rem;border-block-end:1px solid var(--sx27-line)}
.sx27 [data-ser-card]>header>span{color:var(--sx27-ink);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sx27 [data-ser-card]>header h4{margin:.3rem 0 0}
.sx27 [data-ser-card] p{margin:.35rem 0;font-size:.85rem;line-height:1.7}
.sx27 [data-ser-card]>dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.9rem 0;font-size:.82rem;line-height:1.7}
.sx27 [data-ser-card]>dl>div{min-inline-size:0;padding:.65rem;background:var(--sx27-leaf-soft)}
.sx27 [data-ser-card] ul{margin:.5rem 0;padding-inline-start:1.1rem;font-size:.82rem;line-height:1.7}
.sx27 [data-ser-card] dt{margin-block-start:.55rem;color:var(--sx27-ink);font-size:.75rem;font-weight:750}
.sx27 [data-ser-card] dd{margin:.1rem 0 0}
.sx27 [data-ser-card] a[href^="tel:"]{
 display:inline-flex;
 align-items:center;
 min-block-size:44px;
 margin:.75rem 0 .35rem;
 color:var(--sx27-ink);
 font-size:clamp(1.04rem,2.1vw,1.3rem);
 font-weight:800;
 font-variant-numeric:tabular-nums;
 direction:ltr;
 unicode-bidi:isolate;
 text-underline-offset:5px;
}
.sx27 [data-ser-card] .sx27-cultivation{margin-block:.4rem;padding:.75rem .85rem;background:var(--sx27-leaf-soft);border-inline-start:3px solid var(--sx27-leaf);font-size:.8rem;line-height:1.7}
.sx27 [data-ser-card] .sx27-cultivation :is(h5,p){margin:.15rem 0}
.sx27 [data-ser-card] .sx27-phone{margin-block:.55rem;padding-block:.7rem;border-block:1px solid var(--sx27-line)}
.sx27 [data-ser-card] .sx27-phone :is(h5,p,ul){margin:.15rem 0}
.sx27 [data-ser-card]>footer{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin-block-start:auto;padding-block-start:1rem}
.sx27 [data-ser-card]>footer a{color:var(--sx27-ink);font-size:.8rem;font-weight:700;text-underline-offset:4px}
.sx27 [data-ser-card]>footer .button{min-block-size:42px;padding-inline:.9rem;margin-inline-start:auto}
.sx27 .sx27-more{text-align:center;margin-block:1.2rem 0}
.sx27 [data-ser-empty]{padding:1.2rem 1.35rem;background:var(--sx27-leaf);border:1px solid var(--sx27-line);border-radius:6px;line-height:1.75}

/* Three-stage procurement check: raw material, processing, batch evidence. */
.sx27 [data-ser-checklist]{margin-block:clamp(2.5rem,6vw,4.5rem) 1rem;padding-block-start:2rem;border-block-start:2px solid var(--sx27-ink)}
.sx27 :is([data-ser-stages],.sx27-stages,.ser-stages){
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:1rem;
 margin:1.4rem 0;
 padding:0;
 list-style:none;
}
.sx27 [data-ser-stage]{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;align-content:start;min-inline-size:0;padding:1.25rem;background:linear-gradient(145deg,var(--sx27-paper),var(--sx27-leaf-soft));border:1px solid var(--sx27-line);border-radius:8px}
.sx27 [data-ser-stage]>span{display:grid;place-items:center;inline-size:2.55rem;block-size:2.55rem;border-radius:50%;background:var(--sx27-ink);color:var(--sx27-paper);font-family:var(--serif,Georgia,serif);font-size:.86rem}
.sx27 [data-ser-stage] :is(h3,h4){margin:.2rem 0 .65rem;font-size:1.08rem}
.sx27 [data-ser-stage] :is(p,li){font-size:.83rem;line-height:1.7}
.sx27 [data-ser-stage] ul{padding-inline-start:1.15rem}
.sx27 [data-ser-stage] li+li{margin-block-start:.35rem}

.sx27 :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--sx27-ink);outline-offset:3px}
[dir="rtl"] .sx27{text-align:start}
[dir="rtl"] .sx27 [data-ser-province]>strong{order:-1}

@media(max-width:920px){
 .sx27 .sx27-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sx27 [data-ser-submit],.sx27 [data-ser-reset]{inline-size:100%}
 .sx27 :is([data-ser-list],.sx27-results-grid,.ser-results-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
 .sx27[data-supply-explorer-r27]{padding-block:2.6rem}
 .sx27 :is([data-ser-metrics],.sx27-metrics,.ser-metrics){grid-template-columns:repeat(2,minmax(0,1fr))}
 .sx27 :is([data-ser-entries],.sx27-entries,.ser-entries),
 .sx27 :is([data-ser-list],.sx27-results-grid,.ser-results-grid),
 .sx27 :is([data-ser-stages],.sx27-stages,.ser-stages){grid-template-columns:minmax(0,1fr)}
 .sx27 [data-ser-entry]{min-block-size:0}
 .sx27 [data-ser-form]{padding:1rem}
 .sx27 .sx27-fields{grid-template-columns:minmax(0,1fr)}
 .sx27 .sx27-province-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:390px){
 .sx27 .sx27-province-grid{grid-template-columns:minmax(0,1fr)}
 .sx27 .sx27-metrics>div{padding:.9rem .75rem}
 .sx27 [data-ser-card],.sx27 [data-ser-stage]{padding:1rem}
}
@media(prefers-reduced-motion:reduce){.sx27 *{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.sx27[data-supply-explorer-r27]{background:Canvas}.sx27 [data-ser-entry],.sx27 [data-ser-card],.sx27 [data-ser-stage],.sx27 [data-ser-province]{border:1px solid CanvasText}.sx27 [data-ser-province][aria-current]{outline:2px solid Highlight}}
@media print{.sx27[data-supply-explorer-r27]{background:#fff;padding-block:1rem}.sx27 [data-ser-form],.sx27 [data-ser-status],.sx27 [data-ser-reset],.sx27 [data-ser-submit]{display:none!important}.sx27 [data-ser-card],.sx27 [data-ser-stage]{break-inside:avoid;box-shadow:none}}
