.products-page { --accent:#365c49; }
.products-page .site-header { height:82px; }
.products-page .page-width { max-width:1500px; }
.products-page h1,.products-page h2,.products-page h3 { overflow-wrap:anywhere; }
.products-page .eyebrow { color:var(--accent);font-size:11px;letter-spacing:1.5px; }
.product-hero { display:grid;grid-template-columns:1.45fr 1fr;gap:65px;padding:62px 0 45px;align-items:center; }
.product-hero h1 { font-size:clamp(32px,3.9vw,55px);line-height:1.25;letter-spacing:-2px;margin:18px 0 22px;font-weight:740; }
.product-hero em { font-style:normal;color:var(--accent); }
.product-lead { font-size:15px;color:var(--muted); }
.map-guide { border:1px solid var(--line);border-radius:14px;padding:24px 28px;background:var(--white); }
.guide-kicker { font-size:12px;color:var(--muted); }
.map-guide ol { list-style:none;padding:0;margin:10px 0 0; }
.map-guide li { display:flex;gap:20px;padding:14px 0;border-bottom:1px solid var(--line); }
.map-guide li:last-child { border:0;padding-bottom:0; }
.map-guide li>span { font:12px monospace;color:var(--accent);padding-top:4px; }
.map-guide strong { font-size:15px; }
.map-guide li p { font-size:12px;color:var(--muted);margin-top:4px; }
.context-strip { border-block:1px solid var(--line);display:grid;grid-template-columns:230px 1fr;gap:24px;padding:30px 0 20px; }
.context-strip h2 { font-size:23px;line-height:1.5;margin-top:10px;letter-spacing:-.7px; }
.context-cards { display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:24px; }
.context-cards h3 { font-size:14px;margin:12px 0 7px; }
.context-cards p { font-size:12px;color:var(--muted); }
.structure-sample { display:block;width:80px;height:30px;border:1px solid #7c897c;border-radius:4px;background-color:#e1e6dd; }
.sample-solid { background:repeating-linear-gradient(0deg,#c1cec1 0 4px,#edf0e7 4px 9px); }
.sample-porous { background-image:radial-gradient(#576f59 1.2px,transparent 1.3px);background-size:6px 6px; }
.sample-filter { border-radius:50% / 20%;width:42px;background:repeating-linear-gradient(90deg,#90a68e 0 2px,#edf0e7 2px 7px); }
.context-source { grid-column:1/-1;color:var(--muted);font-size:10px; }
.product-explorer { padding-top:44px;scroll-margin-top:100px; }
.explorer-heading { display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px; }
.explorer-heading h2 { font-size:27px;margin-top:9px;letter-spacing:-1px; }
.explorer-heading>p { max-width:300px;font-size:12px;color:var(--muted); }
.product-filters { display:flex;align-items:end;gap:16px;padding:18px;background:#e9ede4;border:1px solid var(--line);border-radius:10px;margin-bottom:24px; }
.product-filters label { display:grid;gap:7px;font-size:11px;min-width:150px; }
.product-filters select { padding:10px 30px 10px 10px;border:1px solid #b4bfb2;border-radius:5px;background:var(--white);color:var(--ink);font:inherit;font-size:13px;min-height:44px;max-width:100%; }
.product-filters select:focus-visible { outline:3px solid var(--blue);outline-offset:2px; }
.filter-reset { background:transparent;text-decoration:underline;font-size:12px;padding:10px;min-height:44px; }
#product-count { margin-left:auto;font-size:12px;padding-bottom:11px;white-space:nowrap; }
.explorer-layout { display:grid;grid-template-columns:290px minmax(0,1fr);gap:30px;align-items:start; }
.product-picker { position:sticky;top:100px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--white); }
#product-list { max-height:calc(100vh - 130px);overflow-y:auto;padding:7px;scrollbar-width:thin; }
.product-choice { display:grid;grid-template-columns:50px 1fr 18px;align-items:center;gap:11px;background:transparent;text-align:left;width:100%;border-radius:7px;padding:12px 8px;border:1px solid transparent;min-height:84px; }
.product-choice+.product-choice { border-top-color:var(--line); }
.product-choice:hover { background:#edf0e7; }
.product-choice[aria-pressed=true] { background:#edf0d4;border-color:#99aa70; }
.product-choice:focus-visible { outline-offset:-3px; }
.product-choice img { width:50px;height:48px;object-fit:contain;background:white;border-radius:4px; }
.product-choice .choice-number { width:50px;height:48px;display:grid;place-items:center;font:18px monospace;background:#edf0e7;border-radius:4px; }
.product-choice strong { display:block;font-size:13px;line-height:1.5; }
.product-choice small { display:block;color:var(--muted);font-size:10px;margin-top:5px; }
.choice-arrow { font-size:18px;color:var(--accent); }
#empty-products { padding:24px;font-size:13px; }
.product-detail { min-width:0;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:28px;scroll-margin-top:100px; }
.detail-topline { display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:16px; }
.detail-topline>span { font:11px monospace;color:var(--accent); }
.detail-topline a { font-size:11px;color:var(--muted); }
.product-detail h2 { font-size:29px;letter-spacing:-1px;line-height:1.4;scroll-margin-top:100px; }
.product-subtitle { font-size:12px;color:var(--muted);margin-top:5px; }
.product-summary { display:grid;grid-template-columns:180px 1fr;gap:22px;margin-top:24px;align-items:start; }
.product-photo { border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white; }
.product-photo img { height:160px;width:100%;object-fit:contain;padding:8px; }
.product-photo figcaption { font-size:10px;color:var(--muted);padding:9px 12px;border-top:1px solid var(--line); }
.no-photo { display:grid;place-items:center;min-height:160px;padding:20px;background:#f0f1ea;color:var(--muted);font-size:12px;text-align:center; }
.product-facts { margin:0;display:grid;gap:14px; }
.product-facts dt { color:var(--accent);font-size:11px;letter-spacing:.4px; }
.product-facts dd { margin:4px 0 0;font-size:14px;line-height:1.75; }
.caution { background:#f4f0e4;border-left:3px solid #b49148;padding:15px 17px;font-size:13px;line-height:1.8;margin:22px 0; }
.compare-heading { margin:30px 0 16px;border-top:1px solid var(--line);padding-top:25px; }
.compare-heading h3 { font-size:20px;margin-top:8px; }
.compare-heading p:last-child { font-size:12px;color:var(--muted);margin-top:8px; }
.comparison-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;align-items:stretch; }
.supplier-card { min-width:0;border:1px solid var(--line);border-radius:9px;overflow:hidden; }
.supplier-head { padding:16px;background:#edf0e7;border-bottom:1px solid var(--line); }
.supplier-card.baseline { border-color:#809778; }
.baseline .supplier-head { background:#e9efca; }
.supplier-head small { display:block;font-size:10px;color:#435a43;margin-bottom:5px; }
.supplier-head h4 { font-size:18px;margin:0; }
.supplier-head p { font-size:11px;margin-top:7px; }
.supplier-body { padding:16px; }
.supplier-body dl { margin:0; }
.supplier-body dl>div { border-bottom:1px solid var(--line);padding:11px 0; }
.supplier-body dl>div:first-child { padding-top:0; }
.supplier-body dt { font-size:11px;color:var(--muted); }
.supplier-body dd { font-size:14px;margin:5px 0 0;line-height:1.7;overflow-wrap:anywhere; }
.supplier-note { font-size:12px;color:var(--muted);margin-top:15px; }
.source-links { margin-top:15px;display:flex;flex-direction:column;gap:8px;font-size:11px;line-height:1.65;overflow-wrap:anywhere; }
.source-links span { color:var(--muted); }
.no-comparison { display:flex;flex-direction:column;justify-content:center;padding:22px;background:#f4f5ef;min-height:180px; }
.no-comparison h4 { font-size:15px;margin:0 0 12px; }
.no-comparison p { font-size:12px;color:var(--muted); }
.meeting-question { margin-top:25px;padding:19px;border-radius:9px;border:1px dashed #9dac98; }
.meeting-question h3 { font-size:13px;margin-bottom:9px;color:var(--accent); }
.meeting-question p { font-size:13px; }
.meeting-question .question-en { color:var(--muted);margin-top:8px;font-size:12px; }
.source-detail { margin-top:20px; }
.source-detail summary { font-size:12px; }
.source-detail .details-body { font-size:12px; }
.return-map { display:inline-block;margin-top:20px;font-size:12px;min-height:44px;padding-top:12px; }
.reading-rules { margin:44px 0;display:grid;grid-template-columns:240px 1fr;border-top:1px solid var(--line);padding-top:24px;gap:30px; }
.reading-rules h2 { font-size:20px; }
.reading-rules p { font-size:12px;color:var(--muted); }
.reading-rules p+p { margin-top:10px; }
.product-footer { border-top:1px solid var(--line);padding:24px 0 40px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;font-size:12px; }
.product-footer small { flex-basis:100%;font-size:10px;color:var(--muted);line-height:1.8; }
.noscript-notice { padding:25px;background:#f4e7c4; }
.catalog-view-switch { margin:0 0 18px;display:flex;justify-content:flex-end; }
.catalog-view-switch button { background:var(--ink);color:var(--paper);padding:12px 18px;min-height:44px;border-radius:7px;font-size:13px; }
.product-catalog { margin-top:20px; }
.catalog-languages { display:flex;gap:25px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:25px;font-size:14px; }
.product-catalog>section { padding-top:20px;scroll-margin-top:100px; }
.catalog-intro { font-size:14px;color:var(--muted);margin:15px 0; }
.catalog-index { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 30px; }
.catalog-index a { padding:14px;background:var(--white);border:1px solid var(--line);border-radius:8px;font-size:13px;line-height:1.6;text-decoration:none; }
.catalog-index span { color:var(--accent);font-family:monospace; }
.catalog-product { margin:24px 0;scroll-margin-top:100px; }
.catalog-product>h3 { font-size:26px;margin:12px 0; }
.catalog-product .meeting-question h4 { margin:0 0 10px; }
.catalog-photo-link { padding:25px 0;font-size:12px; }
@media(max-width:800px) { .catalog-index { grid-template-columns:repeat(2,minmax(0,1fr)); }.catalog-view-switch { justify-content:stretch; }.catalog-view-switch button { width:100%; } }
@media(max-width:420px) { .catalog-index { grid-template-columns:1fr; } }
[hidden] { display:none!important; }
@media(min-width:1450px) { .explorer-layout { grid-template-columns:320px minmax(0,1fr);gap:40px; }.product-detail { padding:36px; } }
@media(max-width:1100px) { .product-hero { gap:30px; }.context-strip { grid-template-columns:1fr; }.context-strip h2 br { display:none; }.explorer-layout { grid-template-columns:250px minmax(0,1fr);gap:20px; }.product-detail { padding:22px; }.product-summary { grid-template-columns:130px 1fr;gap:18px; }.product-photo img { height:130px; } }
@media(max-width:800px) { .product-hero { grid-template-columns:1fr;padding-top:34px;gap:25px; }.map-guide { padding:16px 20px; }.map-guide ol { display:flex;gap:20px; }.map-guide li { flex:1;border:0;gap:10px; }.map-guide li p { font-size:11px; }.map-guide strong { font-size:13px; }.explorer-layout { grid-template-columns:1fr; }.product-picker { position:static; }#product-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:300px; }.product-choice { border:1px solid var(--line); }.reading-rules { grid-template-columns:1fr;gap:14px; }.products-page .site-header { padding-inline:20px; }.product-filters { flex-wrap:wrap; }.product-filters label { flex:1;min-width:130px; }.product-filters select { width:100%; }.explorer-heading { align-items:start;flex-direction:column;gap:10px; }.explorer-heading>p { max-width:none; } }
@media(max-width:560px) { .product-hero h1 { font-size:34px;letter-spacing:-1.5px; }.product-lead { font-size:13px; }.map-guide ol { display:block; }.map-guide li { padding:9px 0; }.context-cards { grid-template-columns:1fr;gap:20px; }.context-cards article { display:grid;grid-template-columns:90px 1fr;column-gap:14px; }.structure-sample { grid-row:1/3;align-self:center; }.context-cards h3 { margin:0 0 5px; }.context-cards p { grid-column:2; }.product-filters { gap:12px;padding:12px; }.product-filters label { flex-basis:100%; }.product-filters select { font-size:14px; }.product-choice { grid-template-columns:35px 1fr;gap:7px;padding:10px 5px; }.product-choice img,.product-choice .choice-number { width:35px;height:35px; }.product-choice strong { font-size:11px; }.product-choice small { font-size:9px; }.choice-arrow { display:none; }.product-detail { padding:18px; }.product-detail h2 { font-size:24px; }.product-summary { grid-template-columns:1fr;gap:18px; }.product-photo img { height:155px; }.product-facts dd { font-size:13px; }.products-page .header-right { gap:14px; }.comparison-grid { grid-template-columns:1fr; } }
