/* Pumpsense Thailand - multi-page website, version 5.0.
   No external fonts or third-party layout dependencies. */
:root {
  --navy:#083550; --deep:#062637; --teal:#087e94; --cyan:#32a9cc;
  --light:#f0f5f7; --ink:#183547; --muted:#58707e; --line:#d9e4e9;
  --white:#fff; --radius:5px; --shadow:0 18px 50px rgba(7,43,62,.09);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:120px; }
body { margin:0; color:var(--ink); background:var(--white); font:15px/1.75 Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
[hidden] { display:none !important; }
::selection { background:#b1e4ee; color:var(--deep); }
h1,h2,h3,h4,p,figure,ul,ol,dl { margin-top:0; }
h1,h2,h3,h4 { line-height:1.18; letter-spacing:-.035em; color:var(--navy); }
h1 { font-size:clamp(40px,4.5vw,65px); font-weight:750; margin-bottom:24px; }
h2 { font-size:clamp(32px,3.15vw,46px); font-weight:750; margin-bottom:24px; }
h3 { font-size:25px; margin-bottom:15px; }
h2 span { color:var(--teal); }
p { margin-bottom:19px; }
a { color:inherit; text-decoration:none; text-underline-offset:4px; }
img { display:block; max-width:100%; height:auto; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary,[tabindex] { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #078baf; outline-offset:4px; }
button { cursor:pointer; }
figure { margin:0; }
figcaption { font-size:11px; line-height:1.6; color:var(--muted); }
.wrap { width:min(1240px,calc(100% - 72px)); margin-inline:auto; }
.wrap > *, .two-column > *, .three-column > *, .product-grid > *, .about-grid > *, .contact-layout > *, .page-hero-grid > * { min-width:0; }
.skip-link { position:fixed; top:-90px; left:12px; z-index:100; background:white; color:var(--navy); padding:14px 20px; box-shadow:var(--shadow); }
.skip-link:focus { top:12px; }
.topbar { color:#c2dce7; background:var(--deep); font-size:10px; letter-spacing:.12em; }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; min-height:35px; gap:20px; }
.topbar a { color:#e1f2f8; letter-spacing:.02em; }
.site-header { position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--line); }
.header-inner { display:flex; justify-content:space-between; align-items:center; gap:26px; min-height:101px; }
.brand { flex:0 0 234px; display:block; padding:7px 0; }
.brand img { width:234px; height:auto; }
.site-nav { display:flex; align-items:center; gap:26px; }
.site-nav a { font-size:13px; white-space:nowrap; font-weight:700; position:relative; padding:12px 0; }
.site-nav a::after { content:''; position:absolute; height:3px; left:0; right:100%; bottom:3px; background:var(--teal); transition:right .18s; }
.site-nav a:hover, .site-nav a[aria-current] { color:var(--teal); }
.site-nav a:hover::after, .site-nav a[aria-current]::after { right:0; }
.site-nav a:last-child { background:var(--teal); border:1px solid var(--teal); color:#fff; padding:10px 20px; border-radius:var(--radius); }
.site-nav a:last-child::after { display:none; }
.site-nav a:last-child:hover { background:var(--navy); border-color:var(--navy); }
.menu-toggle { display:none; }
.eyebrow { font-size:10px; line-height:1.6; font-weight:800; letter-spacing:.17em; color:var(--teal); margin-bottom:18px; text-transform:uppercase; }
.lead { font-size:20px; line-height:1.6; }
.button-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.button { border:1px solid var(--teal); border-radius:var(--radius); background:var(--teal); color:white; padding:13px 22px; font-size:13px; font-weight:700; display:inline-flex; align-items:center; justify-content:space-between; gap:25px; min-height:49px; line-height:1.5; transition:background .18s,transform .18s; text-align:left; }
.button:hover { background:var(--navy); border-color:var(--navy); transform:translateY(-2px); }
.button-white { color:var(--navy); background:#fff; border-color:white; }
.button-white:hover { color:var(--navy); background:#e4f4f8; border-color:#e4f4f8; }
.button-outline { background:transparent; border-color:#91aebd; color:var(--navy); }
.button-outline:hover { color:white; }
.button-light { color:var(--teal); background:#eaf3f6; border-color:#d9e9ee; }
.button-light:hover { color:white; }
.text-link,.table-link { color:var(--teal); font-size:13px; font-weight:700; display:inline-flex; gap:15px; align-items:center; }
.text-link:hover,.table-link:hover { text-decoration:underline; }
.text-link span,.button span { flex-shrink:0; font-size:18px; font-weight:400; }
.home-hero { background:var(--deep); color:#e7f3f8; overflow:hidden; }
.home-hero-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:68px; min-height:596px; align-items:center; padding-block:60px; }
.home-hero-copy { position:relative; z-index:1; padding-block:14px; }
.home-hero .eyebrow { color:#8bd5e5; display:flex; gap:12px; align-items:center; }
.status-dot { width:7px; height:7px; border-radius:50%; background:#62d9cf; box-shadow:0 0 0 5px #62d9cf15; display:inline-block; }
.home-hero h1 { color:#fff; font-size:clamp(44px,5.4vw,76px); line-height:1.07; letter-spacing:-.045em; margin-bottom:25px; }
.home-hero h1 em { font-style:normal; color:#72cfdf; }
.home-hero-copy > p:not(.eyebrow) { color:#c0d8e5; font-size:17px; line-height:1.85; max-width:480px; }
.home-hero .button { background:#188bab; border-color:#188bab; }
.home-hero .button:hover { background:#126982; }
.home-hero .button-outline { background:transparent; border-color:#557a8f; color:#fff; }
.hero-mini { margin-top:43px; display:flex; gap:25px; font-size:9px; color:#8fb4c7; letter-spacing:.1em; font-weight:700; }
.home-hero-visual { position:relative; border-radius:6px; border:1px solid #769ead55; box-shadow:0 25px 70px #00172580; }
.home-hero-visual::before { content:''; position:absolute; top:-20px; right:-20px; width:60%; height:70%; border:1px solid #4ca2b455; border-radius:6px; }
.home-hero-visual img { position:relative; width:100%; height:432px; object-fit:cover; object-position:center 45%; border-radius:6px; }
.home-hero-visual figcaption { position:absolute; left:20px; bottom:20px; right:20px; padding:16px 20px; color:#fff; background:#062637e8; border-left:3px solid var(--cyan); font-size:12px; }
.home-hero-visual figcaption span { display:block; color:#77cde3; letter-spacing:.16em; font-size:9px; font-weight:700; margin-bottom:4px; }
.proof-strip { border-bottom:1px solid var(--line); background:#f5f8f9; }
.proof-strip .wrap { display:grid; grid-template-columns:repeat(3,1fr) .85fr; align-items:center; padding-block:25px; }
.proof-strip .wrap > div { padding:0 25px; border-right:1px solid var(--line); }
.proof-strip .wrap > div:first-child { padding-left:0; }
.proof-strip strong { display:block; font-size:14px; color:var(--navy); }
.proof-strip span { display:block; font-size:11px; color:var(--muted); }
.proof-strip a { padding-left:27px; color:var(--teal); font-size:12px; font-weight:700; display:flex; align-items:center; gap:15px; }
.section { padding-block:92px; }
.section-soft { background:var(--light); }
.section-deep { background:var(--deep); color:#b9d1de; }
.section-deep h2,.section-deep h3,.section-deep .lead { color:#fff; }
.section-deep .eyebrow { color:#7cd0e5; }
.section-head { display:grid; grid-template-columns:1.1fr 1fr; gap:90px; align-items:end; margin-bottom:42px; }
.section-head h2 { margin-bottom:0; }
.section-intro { color:var(--muted); max-width:440px; justify-self:end; }
.section-intro p:last-child { margin-bottom:4px; }
.category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.category-card { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:white; transition:transform .2s,box-shadow .2s; }
.category-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.category-image { padding:24px 42px; height:235px; background:linear-gradient(145deg,#f5f8fa,#eaf2f5); }
.category-image img { height:100%; width:100%; object-fit:contain; mix-blend-mode:multiply; }
.category-card > div:last-child { padding:29px; display:flex; flex-direction:column; flex:1; }
.category-card h3 { display:flex; justify-content:space-between; align-items:center; font-size:25px; margin-bottom:15px; }
.category-card h3 span { color:var(--teal); }
.category-card p:not(.eyebrow) { font-size:14px; color:var(--muted); margin-bottom:24px; flex:1; }
.category-card .eyebrow { margin-bottom:10px; }
.about-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:75px; align-items:center; }
.about-photo { align-self:stretch; position:relative; }
.about-photo img { height:100%; min-height:500px; width:100%; object-fit:cover; border-radius:var(--radius); }
.about-photo figcaption { position:absolute; left:18px; right:18px; bottom:18px; background:#ffffffed; padding:12px 16px; }
.about-grid p:not(.eyebrow):not(.lead):not(.source-note) { color:var(--muted); }
.mini-features { display:grid; grid-template-columns:1fr 1fr; gap:24px; border-top:1px solid var(--line); margin:25px 0; padding-top:22px; }
.mini-features strong { font-size:13px; }
.mini-features p { font-size:12px; margin:6px 0 0; }
.source-note { font-size:11px; line-height:1.7; color:#667d8b; border-left:2px solid #b9d4df; padding-left:12px; margin:19px 0 0; }
.source-note a { text-decoration:underline; }
.source-note a:hover { color:var(--teal); }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; counter-reset:step; }
.steps-grid article { border-top:2px solid var(--teal); padding-top:24px; }
.steps-grid span { font-size:12px; letter-spacing:.12em; color:var(--teal); font-weight:700; }
.steps-grid h3 { margin:25px 0 15px; font-size:22px; }
.steps-grid p { color:var(--muted); font-size:14px; margin:0; }
.resource-banner { background:linear-gradient(120deg,#063651,#08738a); color:#ccdfeb; padding-block:62px; }
.resource-banner .wrap { display:flex; align-items:center; justify-content:space-between; gap:45px; }
.resource-banner h2 { color:#fff; font-size:37px; }
.resource-banner .eyebrow { color:#8cdae7; }
.resource-banner p:not(.eyebrow) { max-width:530px; }
.resource-covers { display:flex; align-items:center; gap:17px; margin-right:25px; }
.resource-covers img { width:124px; height:172px; object-fit:cover; object-position:top; border:4px solid #fff; border-radius:2px; box-shadow:0 20px 35px #03243570; }
.resource-covers img:first-child { transform:rotate(-7deg) translateY(8px); }
.resource-covers img:last-child { transform:rotate(7deg) translateY(8px); }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.news-card { border:1px solid var(--line); background:white; border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; box-shadow:0 7px 20px rgba(15,52,72,.025); }
.news-image { height:219px; overflow:hidden; position:relative; background:#e5eff3; }
.news-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.news-image:hover img { transform:scale(1.025); }
.image-tag { position:absolute; left:18px; bottom:16px; background:var(--navy); color:white; font-size:9px; line-height:1.4; padding:7px 10px; letter-spacing:.1em; font-weight:700; }
.news-card-body { padding:27px; display:flex; flex-direction:column; flex:1; }
.card-meta { font-size:10px; color:#607987; font-weight:700; margin-bottom:12px; }
.card-meta span { padding-inline:8px; }
.news-card h3 { font-size:21px; line-height:1.35; letter-spacing:-.025em; margin-bottom:14px; }
.news-card h3 a:hover { color:var(--teal); }
.news-card-body > p:not(.card-meta) { font-size:13px; color:var(--muted); margin-bottom:23px; flex:1; }
.news-card .text-link { align-self:start; }
.closing-cta { background:#077f94; color:#d2eef4; padding:55px 0; }
.closing-cta .wrap { display:flex; align-items:center; gap:50px; justify-content:space-between; }
.closing-cta h2 { color:#fff; font-size:35px; margin-bottom:14px; }
.closing-cta .eyebrow { color:#abe6ef; margin-bottom:14px; }
.closing-cta p:last-child { margin-bottom:0; max-width:740px; font-size:14px; }
.closing-cta .button { flex-shrink:0; }
.network-bar { background:#eaf2f5; border-block:1px solid #dce6eb; }
.network-bar .wrap { display:flex; justify-content:space-between; gap:25px; align-items:center; padding-block:24px; }
.network-bar .eyebrow { margin:0; font-size:9px; }
.network-bar a { display:flex; gap:25px; align-items:center; font-size:13px; font-weight:700; }
.network-bar a:hover { color:var(--teal); }
.network-bar a span { color:var(--teal); font-size:19px; }
.site-footer { background:var(--deep); color:#aec6d3; padding-top:58px; }
.footer-grid { display:grid; grid-template-columns:1.4fr .8fr .9fr 1.3fr; gap:48px; padding-bottom:50px; }
.footer-logo { display:inline-block; background:#fff; border-radius:var(--radius); padding:9px 12px; }
.footer-logo img { width:211px; height:auto; }
.footer-brand p { font-size:12px; line-height:1.8; max-width:275px; margin-top:21px; margin-bottom:0; }
.footer-grid h2 { color:#fff; font-size:13px; letter-spacing:0; margin:5px 0 20px; }
.footer-grid > div > a:not(.footer-logo) { display:block; font-size:12px; margin-block:7px; }
.footer-grid a:hover { color:white; }
.footer-contact > a { overflow-wrap:anywhere; }
.footer-contact p { font-size:12px; line-height:1.8; margin-top:16px; }
.footer-base { display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:10px; border-top:1px solid #3d5c6c; padding-block:20px; }
.page-hero { background:linear-gradient(120deg,#eaf2f6 30%,#f7fafb); padding:27px 0 55px; overflow:hidden; }
.breadcrumb { display:flex; gap:11px; font-size:10px; color:#6b8290; margin-bottom:36px; }
.breadcrumb a:hover { color:var(--teal); text-decoration:underline; }
.page-hero-grid { display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:60px; }
.page-hero .eyebrow { margin-bottom:16px; }
.page-hero h1 { font-size:clamp(36px,4.15vw,61px); }
.hero-lead { color:var(--muted); max-width:650px; font-size:16px; line-height:1.85; margin-bottom:0; }
.page-hero-image { overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid #e0e9ed; }
.page-hero-image img { height:332px; object-fit:cover; width:100%; }
.text-hero .page-hero-grid { grid-template-columns:1fr; }
.text-hero .hero-lead { max-width:810px; }
.text-hero .button-row:empty { display:none; }
.jumpbar { border-block:1px solid var(--line); background:#fff; }
.jumpbar .wrap { display:flex; align-items:center; gap:34px; min-height:63px; }
.jumpbar span { font-size:9px; font-weight:700; color:#76909e; letter-spacing:.13em; }
.jumpbar a { font-size:12px; color:var(--muted); font-weight:700; padding-block:18px; white-space:nowrap; }
.jumpbar a:hover { color:var(--teal); }
.product-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.product-card { background:white; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; scroll-margin-top:125px; }
.product-image { height:300px; padding:24px 40px; background:linear-gradient(120deg,#f7fafb,#edf4f6); display:grid; place-items:center; }
.product-image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.product-body { padding:33px; flex:1; display:flex; flex-direction:column; }
.product-body .eyebrow { margin-bottom:12px; }
.product-body h3 { font-size:28px; margin-bottom:16px; }
.product-body > p:not(.eyebrow):not(.source-note) { font-size:14px; color:var(--muted); }
.product-specs { display:grid; gap:0; margin-block:6px 22px; border-block:1px solid var(--line); padding:9px 0; }
.product-specs > div { display:flex; gap:20px; justify-content:space-between; padding:7px 0; font-size:12px; }
.product-specs dt { color:var(--muted); flex:1; }
.product-specs dd { text-align:right; margin:0; font-weight:700; flex:1.15; line-height:1.6; }
.check-list { padding:0; list-style:none; margin-bottom:17px; }
.check-list li { position:relative; padding:6px 0 6px 23px; font-size:13px; line-height:1.8; }
.check-list li::before { content:'\2713'; position:absolute; left:0; color:var(--teal); font-weight:700; }
.product-body .source-note { margin-top:3px; margin-bottom:21px; }
.product-actions { display:flex; flex-direction:column; gap:9px; margin-top:auto; align-items:start; }
.package-card .product-image img { mix-blend-mode:normal; }
.package-card .product-image { padding:20px; }
.product-card:target { box-shadow:0 0 0 2px var(--teal); }
.notice { display:flex; gap:17px; background:#e9f2f6; border-left:3px solid var(--teal); padding:22px 25px; margin-top:30px; border-radius:0 var(--radius) var(--radius) 0; }
.notice strong { font-size:13px; color:var(--navy); }
.notice p { font-size:12px; line-height:1.8; margin:6px 0 0; color:var(--muted); }
.notice-mark { flex-shrink:0; border:1px solid #88b3c4; width:22px; height:22px; line-height:20px; text-align:center; border-radius:50%; color:var(--teal); font-size:12px; font-weight:700; margin-top:2px; }
.section-soft .notice { background:white; }
.table-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); margin:25px 0; background:#fff; }
table { width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
caption { text-align:left; background:white; color:var(--navy); padding:17px 21px; font-weight:700; font-size:12px; border-bottom:1px solid var(--line); }
th,td { padding:16px 21px; border-bottom:1px solid var(--line); vertical-align:top; }
thead th { background:var(--navy); color:white; font-size:11px; font-weight:700; line-height:1.7; }
tbody th { color:var(--navy); font-weight:700; }
tbody td { color:var(--muted); }
tbody tr:last-child > * { border-bottom:0; }
tbody tr:nth-child(even) { background:#f5f8f9; }
.table-link { font-size:12px; white-space:nowrap; }
.two-column { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.three-column { display:grid; grid-template-columns:repeat(3,1fr); gap:27px; }
.prose-columns { margin-top:36px; gap:65px; }
.prose-columns h3 { font-size:23px; }
.prose-columns p { color:var(--muted); font-size:14px; }
.data-details { background:white; border:1px solid var(--line); border-radius:var(--radius); margin-top:27px; }
.data-details summary { padding:21px 25px; font-size:14px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; }
.data-details summary::-webkit-details-marker { display:none; }
.data-details summary span { font-size:24px; font-weight:400; color:var(--teal); }
.data-details[open] summary { border-bottom:1px solid var(--line); }
.data-details[open] summary span { transform:rotate(45deg); }
.data-details > div { padding:0 25px 25px; }
.external-tools { display:flex; gap:13px; flex-wrap:wrap; margin-top:25px; }
.image-content-card { border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:white; }
.image-content-card > img { height:268px; width:100%; object-fit:cover; }
.image-content-card > div { padding:32px; }
.image-content-card p:not(.eyebrow) { color:var(--muted); font-size:14px; }
.image-content-card h3 { font-size:25px; }
.monitor-grid { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:center; }
.monitor-grid .check-list li::before { color:#69cedc; }
.monitor-visual { display:grid; grid-template-columns:.6fr 1.4fr; align-items:center; gap:20px; }
.monitor-device { background:#fff; border-radius:var(--radius); padding:15px; }
.monitor-device img { height:275px; width:100%; object-fit:contain; }
.monitor-visual figure img { width:100%; border:1px solid #6a8f9f; box-shadow:0 20px 50px #00192590; }
.monitor-visual figcaption { margin-top:14px; color:#a9c6d5; }
.dark-note { border-top:1px solid #416475; padding-top:25px; font-size:11px; line-height:1.8; color:#aac5d3; margin:40px 0 0; }
.document-links { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.document-link { padding:26px; background:#f0f5f7; border:1px solid var(--line); border-radius:var(--radius); display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:14px; font-weight:700; }
.document-link:hover { border-color:var(--teal); color:var(--teal); }
.document-link span { font-size:22px; }
.related-box { margin-top:35px; border-top:1px solid var(--line); padding-top:28px; display:flex; align-items:center; gap:35px; flex-wrap:wrap; }
.related-box h3 { font-size:19px; margin:0; }
.wide-info-card { padding:27px 32px; border:1px solid var(--line); margin-top:25px; background:#f1f6f8; border-radius:var(--radius); }
.wide-info-card h3 { font-size:24px; }
.wide-info-card p { color:var(--muted); }
.wide-info-card .source-note { margin-bottom:0; }
.chart-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.chart-card { background:white; border:1px solid var(--line); border-radius:var(--radius); padding:20px; display:flex; flex-direction:column; }
.chart-card img { width:100%; height:285px; object-fit:contain; border:1px solid #e6edf0; background:#fff; margin-bottom:20px; }
.chart-card h3 { font-size:21px; margin-bottom:10px; }
.chart-card p { font-size:13px; color:var(--muted); flex:1; }
.chart-card .text-link { font-size:12px; }
.info-cards article { background:#fff; padding:29px; border:1px solid var(--line); border-radius:var(--radius); }
.info-cards .number { color:var(--teal); font-size:12px; font-weight:700; letter-spacing:.1em; }
.info-cards h3 { font-size:23px; margin-top:23px; }
.info-cards p { color:var(--muted); font-size:14px; }
.engineered-cards article { border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; }
.engineered-cards img { width:100%; height:265px; padding:22px; object-fit:contain; background:#f5f8fa; mix-blend-mode:multiply; }
.engineered-cards article > div { padding:25px; }
.engineered-cards h3 { font-size:23px; }
.engineered-cards p { color:var(--muted); font-size:13px; }
.filter-row { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:21px; }
.filter-button { border:1px solid var(--line); background:#fff; border-radius:4px; font-size:12px; font-weight:700; color:var(--muted); padding:10px 17px; line-height:1.6; }
.filter-button.active,.filter-button:hover { color:#fff; background:var(--navy); border-color:var(--navy); }
.search-box { display:flex; align-items:center; gap:18px; margin:18px 0 11px; padding:19px 22px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); }
.search-box span { font-size:12px; font-weight:700; }
.search-box input { width:100%; flex:1; margin:0; max-width:550px; min-height:40px; background:#f7fafb; }
.filter-count { font-size:11px; color:var(--muted); margin:12px 0 21px; }
.empty-state { background:#fff; padding:30px; color:var(--muted); border:1px solid var(--line); border-radius:var(--radius); }
.download-grid { display:grid; grid-template-columns:1fr 1fr; gap:23px; }
.download-card { display:grid; grid-template-columns:137px 1fr; gap:26px; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.download-cover { position:relative; align-self:start; background:#eaf1f4; box-shadow:0 5px 15px #07344b12; min-height:183px; }
.download-cover img { width:100%; height:191px; object-fit:contain; object-position:top; }
.file-type { position:absolute; left:8px; bottom:9px; background:var(--navy); color:white; font-size:10px; line-height:1.4; font-weight:700; padding:5px 7px; }
.download-body { min-width:0; display:flex; flex-direction:column; }
.download-body .eyebrow { font-size:9px; margin-bottom:11px; }
.download-body h3 { font-size:22px; }
.download-body > p:not(.eyebrow):not(.source-note) { font-size:13px; color:var(--muted); margin-bottom:14px; }
.download-actions { margin-top:auto; display:flex; gap:15px; flex-wrap:wrap; align-items:center; padding-top:7px; }
.download-actions .button { min-height:39px; font-size:11px; padding:8px 12px; gap:13px; }
.download-actions .text-link { font-size:11px; gap:8px; }
.resource-list { border-top:1px solid var(--line); }
.resource-row { display:flex; align-items:center; gap:24px; padding:23px 0; border-bottom:1px solid var(--line); }
.resource-icon { flex-shrink:0; display:grid; place-items:center; width:47px; height:53px; color:var(--teal); background:#eaf3f6; border-radius:4px; font-size:11px; font-weight:700; }
.resource-row > div:nth-child(2) { flex:1; }
.resource-row h3 { font-size:19px; margin-bottom:7px; }
.resource-row p { color:var(--muted); font-size:13px; margin-bottom:0; max-width:820px; }
.external-label { font-size:9px; font-weight:700; color:var(--teal); }
.resource-row > a { flex-shrink:0; }
.news-intro-note { padding:22px 25px; border:1px solid var(--line); background:#fff; margin-bottom:32px; font-size:13px; color:var(--muted); }
.news-intro-note p:last-child { margin-bottom:0; }
.article-header { padding:28px 0 46px; background:linear-gradient(125deg,#eaf3f6,#f5f9fb); }
.article-header h1 { max-width:1100px; font-size:clamp(36px,4vw,58px); line-height:1.13; }
.article-subtitle { max-width:850px; font-size:17px; color:var(--muted); }
.article-meta { display:flex; flex-wrap:wrap; gap:20px; color:#68808d; font-size:11px; margin-top:22px; }
.article-layout { display:grid; grid-template-columns:minmax(0,810px) minmax(240px,1fr); gap:80px; padding-block:68px 88px; align-items:start; }
.article-body { min-width:0; font-size:16px; line-height:1.9; }
.article-body h2 { font-size:30px; margin:43px 0 18px; }
.article-body p { margin-bottom:21px; color:#3b5869; }
.article-body .article-lead { font-size:20px; line-height:1.7; color:var(--navy); }
.citation { font-size:10px; padding-left:4px; line-height:0; }
.citation a { color:var(--teal); font-weight:700; }
.article-body .source-note { font-size:12px; margin:20px 0 25px; }
.article-sidebar { position:sticky; top:129px; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:#f1f6f8; }
.article-sidebar h2,.article-sidebar h3 { font-size:20px; margin-bottom:17px; }
.article-sidebar .eyebrow { margin-bottom:12px; }
.article-sidebar nav a { display:block; font-size:12px; line-height:1.7; padding:10px 0; border-bottom:1px solid #d4e2e8; }
.article-sidebar nav a:hover { color:var(--teal); }
.sidebar-cta { margin-top:26px; padding-top:20px; border-top:1px solid var(--line); }
.sidebar-cta p { font-size:13px; line-height:1.8; color:var(--muted); }
.sidebar-cta .button { width:100%; font-size:12px; padding:11px 14px; gap:12px; }
.article-takeaway { margin:33px 0; padding:25px 28px; border-left:3px solid var(--teal); background:#eef5f7; }
.article-takeaway strong { color:var(--teal); font-size:12px; letter-spacing:.05em; text-transform:uppercase; }
.article-takeaway p { margin:8px 0 0; color:var(--navy); font-size:15px; }
.article-sources { padding-top:10px; border-top:1px solid var(--line); margin-top:36px; }
.article-sources h2 { font-size:23px; margin-top:25px; }
.article-sources ol { padding-left:21px; font-size:12px; line-height:1.9; color:var(--muted); }
.article-sources li { padding:5px 0; scroll-margin-top:130px; }
.article-sources a { text-decoration:underline; overflow-wrap:anywhere; }
.article-sources p { font-size:12px; line-height:1.8; }
.article-end { display:flex; gap:20px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:25px; margin-top:32px; }
.contact-layout { display:grid; grid-template-columns:.83fr 1.65fr; gap:75px; align-items:start; }
.contact-panel { position:sticky; top:130px; }
.contact-panel h2 { font-size:33px; }
.contact-panel p { color:var(--muted); font-size:14px; }
.contact-block { border-top:1px solid var(--line); margin-top:25px; padding-top:22px; }
.contact-block h3 { font-size:13px; letter-spacing:.02em; }
.contact-block a { color:var(--teal); font-size:16px; font-weight:700; overflow-wrap:anywhere; }
.contact-block p { margin:0; }
.contact-help { padding:22px; background:var(--light); margin-top:30px; border-left:3px solid var(--teal); }
.contact-help h3 { font-size:20px; }
.contact-help p { font-size:12px; margin-bottom:0; }
.contact-network { display:flex; flex-direction:column; align-items:start; gap:12px; margin-top:30px; }
.inquiry-box { padding:36px 39px; background:#f1f6f8; border:1px solid var(--line); border-radius:var(--radius); }
.inquiry-box > h2 { font-size:29px; margin-bottom:11px; }
.inquiry-box > p { color:var(--muted); font-size:13px; margin-bottom:30px; }
fieldset { border:0; padding:0; margin:0 0 32px; min-width:0; }
legend { width:100%; padding:0 0 16px; margin-bottom:21px; border-bottom:1px solid #ccdee6; font-size:16px; font-weight:700; color:var(--navy); }
legend span { display:inline-grid; place-items:center; width:29px; height:29px; margin-right:10px; background:#dcecf2; border-radius:50%; color:var(--teal); font-size:10px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
label { font-size:12px; font-weight:700; display:block; color:#355261; }
input:not([type=checkbox]),select,textarea { width:100%; min-width:0; min-height:47px; margin-top:7px; background:white; border:1px solid #c8dce5; color:var(--ink); border-radius:4px; padding:11px 13px; font-size:13px; line-height:1.65; font-weight:400; }
input::placeholder,textarea::placeholder { color:#738895; opacity:1; }
input:focus,select:focus,textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px #087e9412; outline:0; }
textarea { resize:vertical; min-height:155px; }
.span-two { grid-column:1/-1; }
.honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
.conditional-fields { padding:21px; margin-top:24px; background:#e3f0f5; border-left:3px solid var(--teal); border-radius:0 var(--radius) var(--radius) 0; }
.conditional-fields > label:not(:last-child) { margin-bottom:17px; }
.checkbox-label { margin-top:22px; display:flex; align-items:flex-start; gap:12px; font-size:12px; font-weight:400; line-height:1.75; }
.checkbox-label input { flex-shrink:0; width:17px; height:17px; margin:3px 0 0; accent-color:var(--teal); }
.checkbox-label a { color:var(--teal); text-decoration:underline; }
.form-buttons { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.form-buttons .button { font-size:12px; padding:12px 17px; }
.form-footnote { font-size:11px; color:#6a818f; line-height:1.8; margin:18px 0 0; }
#form-status { font-size:12px; color:var(--teal); line-height:1.8; margin:16px 0 0; }
#form-status:empty { display:none; }
.narrow-copy { max-width:830px; margin-inline:auto; }
.narrow-copy h2 { font-size:30px; margin-top:40px; }
.narrow-copy h2:first-child { margin-top:0; }
.narrow-copy p { color:var(--muted); }
.narrow-copy p a { color:var(--teal); text-decoration:underline; }
/* Tablet and mobile: keep navigation as real page links. */
@media (max-width:1150px) {
 .site-nav { gap:17px; }.brand,.brand img { width:211px; }.brand { flex-basis:211px; }
 .site-nav a { font-size:12px; }.site-nav a:last-child { padding:9px 15px; }
 .home-hero-grid { gap:36px; }.home-hero-visual img { height:410px; }
 .section-head { gap:45px; }.about-grid { gap:44px; }.footer-grid { gap:27px; }
 .contact-layout { gap:40px; }.article-layout { gap:45px; }.download-card { grid-template-columns:110px 1fr; gap:21px; padding:22px; }
 .download-cover { min-height:159px; }.download-cover img { height:159px; }.download-body h3 { font-size:21px; }
 .monitor-grid { gap:42px; }.product-body { padding:29px; }
}
@media (max-width:1000px) {
 .wrap { width:calc(100% - 48px); }.header-inner { min-height:87px; flex-wrap:wrap; gap:0; padding-block:7px; }.brand { padding:0; }
 .site-nav { flex-basis:100%; justify-content:center; flex-wrap:wrap; padding:12px 0; }
 .js .header-inner { flex-wrap:nowrap; }.js .menu-toggle { display:flex; align-items:center; gap:10px; border:1px solid var(--line); padding:11px 13px; border-radius:var(--radius); background:#fff; font-size:12px; font-weight:700; color:var(--navy); min-height:44px; }
 .js .site-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 17px 25px #072c461c; padding:17px 24px 25px; max-height:calc(100svh - 90px); overflow:auto; flex-direction:column; align-items:stretch; gap:0; }
 .js .site-nav.is-open { display:flex; }.site-nav a { font-size:14px; padding:13px 9px; border-bottom:1px solid #e3edf2; }.site-nav a::after { display:none; }.site-nav a[aria-current] { background:#eef6f8; padding-inline:12px; border-radius:3px; }
 .site-nav a:last-child { margin-top:10px; padding:12px; text-align:center; }.menu-lines { width:17px; height:12px; border-top:2px solid currentColor; border-bottom:2px solid currentColor; position:relative; }.menu-lines::after { content:''; position:absolute; top:3px; left:0; width:100%; border-top:2px solid currentColor; }
 .menu-toggle[aria-expanded=true] .menu-lines { border-color:transparent; transform:rotate(45deg); }.menu-toggle[aria-expanded=true] .menu-lines::after { top:3px; }.menu-toggle[aria-expanded=true] .menu-lines::before { content:''; width:100%; top:3px; left:0; border-top:2px solid currentColor; position:absolute; transform:rotate(90deg); }
 .home-hero h1 { font-size:clamp(46px,6.1vw,64px); }.home-hero-grid { gap:30px; min-height:540px; padding-block:42px; }.home-hero-visual img { height:382px; }.hero-mini { font-size:8px; gap:20px; }
 .proof-strip .wrap { grid-template-columns:repeat(3,1fr); }.proof-strip a { display:none; }.proof-strip .wrap > div:last-of-type { border-right:0; }
 .category-image { padding:25px; height:195px; }.category-card > div:last-child { padding:24px; }.category-card h3 { font-size:23px; }
 .news-grid { grid-template-columns:repeat(2,1fr); }.section .news-grid .news-card:last-child:nth-child(3) { grid-column:auto; }
 .home-hero-copy .button-row { gap:10px; }.home-hero-copy .button { padding:11px 14px; font-size:12px; gap:12px; }
 .section { padding-block:72px; }.resource-covers img { width:95px; height:137px; }.resource-covers { gap:12px; margin-right:0; }
 .page-hero-grid { gap:35px; }.page-hero-image img { height:310px; }.page-hero h1 { font-size:45px; }.hero-lead { font-size:15px; }.page-hero .button { font-size:12px; padding:11px 15px; gap:14px; }
 .jumpbar .wrap { gap:24px; flex-wrap:wrap; padding-block:7px; }.jumpbar a { padding-block:9px; }.jumpbar span { display:none; }
 .product-image { height:265px; padding:24px; }.product-body h3 { font-size:26px; }
 .chart-card { padding:17px; }.chart-card img { height:250px; }
 .footer-grid { grid-template-columns:1.3fr 1fr 1fr; }.footer-contact { grid-column:1/-1; border-top:1px solid #385d70; padding-top:23px; display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }.footer-contact h2 { grid-column:1/-1; margin-bottom:10px; }.footer-contact p { margin:4px 0; }
 .contact-layout { grid-template-columns:1fr 1.7fr; gap:30px; }.contact-panel h2 { font-size:29px; }.inquiry-box { padding:28px; }.form-grid { gap:15px; }.form-buttons .button { width:100%; }
 .article-layout { grid-template-columns:minmax(0,1fr) 250px; gap:35px; }.article-sidebar { padding:21px; }.article-body { font-size:15px; }.article-body h2 { font-size:27px; }
 .download-grid { gap:20px; }.download-card { grid-template-columns:85px 1fr; gap:18px; padding:20px; }.download-cover img { height:120px; }.download-cover { min-height:125px; }
 .monitor-grid { grid-template-columns:1fr 1fr; }.monitor-visual { grid-template-columns:.7fr 1.3fr; gap:12px; }.monitor-device { padding:7px; }.monitor-device img { height:215px; }
 .three-column { gap:19px; }.info-cards article { padding:25px; }.document-link { padding:22px; font-size:12px; }
}
@media (max-width:760px) {
 html { scroll-padding-top:99px; }.wrap { width:calc(100% - 36px); }.topbar-inner { justify-content:center; min-height:30px; }.topbar-inner > span { display:none; }.topbar a { font-size:10px; }
 .header-inner { min-height:80px; }.brand,.brand img { width:192px; }.brand { flex-basis:192px; }
 .home-hero-grid { grid-template-columns:1fr; padding:46px 0 35px; gap:35px; }.home-hero-copy { padding:0; }.home-hero h1 { font-size:clamp(45px,9.5vw,70px); }.home-hero-copy > p:not(.eyebrow) { max-width:600px; font-size:16px; }.home-hero-visual { margin-right:13px; }.home-hero-visual img { height:325px; object-position:center 48%; }.home-hero-visual::before { right:-13px; top:-13px; }.hero-mini { margin-top:30px; font-size:8px; }.home-hero-copy .button { padding:12px 18px; font-size:12px; gap:16px; }
 .proof-strip .wrap { grid-template-columns:1fr 1fr; padding-block:21px; }.proof-strip .wrap > div { padding:0 16px; }.proof-strip .wrap > div:nth-child(2) { border-right:0; }.proof-strip .wrap > div:nth-child(3) { display:none; }.proof-strip strong { font-size:12px; }.proof-strip span { font-size:10px; }
 .section { padding-block:59px; }.section-head { grid-template-columns:1fr; gap:20px; margin-bottom:30px; }.section-head .section-intro { justify-self:start; max-width:unset; }.section-intro p { font-size:14px; margin-bottom:8px; }.section h2 { font-size:clamp(31px,6vw,43px); }
 .eyebrow { margin-bottom:13px; font-size:9px; }.category-grid { grid-template-columns:1fr; gap:21px; }.category-card { display:grid; grid-template-columns:.85fr 1.15fr; }.category-image { height:auto; padding:25px; display:grid; place-items:center; }.category-image img { height:205px; }.category-card > div:last-child { padding:24px; }.category-card .text-link { font-size:12px; }.category-card h3 { font-size:25px; }
 .about-grid { grid-template-columns:1fr; gap:33px; }.about-photo img { min-height:unset; max-height:360px; object-fit:cover; width:100%; }.about-grid .lead { font-size:19px; }.about-photo figcaption { font-size:10px; }.mini-features { gap:20px; }
 .steps-grid { gap:22px; }.steps-grid h3 { font-size:20px; margin-top:18px; }.steps-grid p { font-size:13px; }.resource-banner { padding-block:46px; }.resource-banner .wrap { gap:22px; }.resource-covers img { width:80px; height:113px; }.resource-covers img:nth-child(3) { display:none; }.resource-banner h2 { font-size:31px; }.resource-banner p:not(.eyebrow) { font-size:14px; }
 .news-grid { gap:20px; }.news-image { height:200px; }.news-card-body { padding:22px; }.news-card h3 { font-size:21px; }.news-card-body > p:not(.card-meta) { font-size:13px; }
 .closing-cta .wrap { align-items:flex-start; gap:28px; flex-direction:column; }.closing-cta { padding-block:44px; }.closing-cta h2 { font-size:31px; }.closing-cta .button { font-size:12px; }
 .network-bar .wrap { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; padding-block:22px; }.network-bar .eyebrow { grid-column:1/-1; }.network-bar a { font-size:11px; gap:12px; justify-content:space-between; }.network-bar a span { font-size:17px; }
 .footer-grid { grid-template-columns:1fr 1fr; gap:28px; }.footer-brand { grid-column:1/-1; }.footer-brand p { max-width:390px; }.footer-contact { grid-template-columns:1fr; }.footer-logo img { width:199px; }.footer-base { flex-wrap:wrap; gap:8px 20px; font-size:10px; }.footer-base span:nth-child(2) { order:3; width:100%; }.footer-base > a { margin-left:auto; }
 .page-hero { padding-block:20px 36px; }.breadcrumb { font-size:10px; margin-bottom:26px; flex-wrap:wrap; gap:8px; }.page-hero-grid { grid-template-columns:1fr; gap:28px; }.page-hero h1 { font-size:clamp(36px,7vw,52px); }.page-hero-image img { height:292px; }.page-hero .hero-lead { font-size:15px; }.page-hero .button-row { margin-top:24px; }
 .jumpbar .wrap { gap:7px 23px; min-height:60px; padding-block:9px; }.jumpbar a { font-size:11px; padding-block:5px; }
 .product-grid { gap:21px; grid-template-columns:1fr; }.product-image { height:290px; padding:26px 45px; }.product-body { padding:28px; }.product-body h3 { font-size:28px; }.product-body .eyebrow { font-size:10px; }.product-specs > div { font-size:12px; }.product-body > p:not(.eyebrow):not(.source-note) { font-size:14px; }
 .notice { padding:20px; gap:14px; }.notice p { font-size:12px; }.table-scroll { margin-block:20px; }th,td { padding:13px 16px; min-width:110px; }th:first-child { min-width:130px; }table { font-size:12px; }thead th { font-size:10px; }
 .two-column { gap:25px; }.prose-columns { gap:25px; grid-template-columns:1fr; margin-top:27px; }.prose-columns h3 { font-size:24px; }.data-details summary { font-size:13px; padding:19px 20px; }.data-details > div { padding:0 18px 20px; }
 .image-content-card > img { height:215px; }.image-content-card > div { padding:24px; }.image-content-card h3 { font-size:24px; }.image-content-card .check-list li { font-size:12px; }
 .monitor-grid { grid-template-columns:1fr; gap:34px; }.monitor-visual { grid-template-columns:.6fr 1.4fr; max-width:620px; }.monitor-device { padding:15px; }.monitor-device img { height:245px; }.dark-note { margin-top:27px; }
 .document-links { grid-template-columns:1fr; gap:12px; }.document-link { font-size:14px; padding:22px; }.related-box { gap:17px; align-items:start; flex-direction:column; }.related-box h3 { font-size:21px; }
 .wide-info-card { padding:24px; }.wide-info-card h3 { font-size:24px; }.wide-info-card p { font-size:14px; }.chart-grid { grid-template-columns:1fr; gap:21px; }.chart-card { padding:24px; }.chart-card img { height:340px; }.chart-card h3 { font-size:24px; }
 .three-column { grid-template-columns:1fr; }.info-cards h3 { margin-top:13px; }.info-cards article { padding:27px; }.info-cards p:last-child { margin:0; }.engineered-cards { grid-template-columns:repeat(2,1fr); gap:20px; }.engineered-cards img { height:235px; }.engineered-cards article > div { padding:22px; }
 .download-grid { grid-template-columns:1fr; gap:21px; }.download-card { grid-template-columns:125px 1fr; padding:24px; gap:25px; }.download-cover { min-height:178px; }.download-cover img { height:178px; }.download-body h3 { font-size:24px; }.download-actions .button { font-size:12px; }.download-actions .text-link { font-size:12px; }.search-box { padding:15px; gap:14px; }.search-box span { font-size:11px; }.filter-button { padding:9px 13px; font-size:11px; }
 .resource-row { gap:18px; flex-wrap:wrap; }.resource-row > div:nth-child(2) { flex-basis:calc(100% - 70px); }.resource-row > a { margin-left:65px; }.resource-row p { font-size:13px; }
 .article-header { padding:22px 0 34px; }.article-header h1 { font-size:clamp(34px,6.7vw,48px); }.article-subtitle { font-size:16px; }.article-meta { gap:10px 20px; font-size:10px; }
 .article-layout { grid-template-columns:1fr; gap:35px; padding-block:42px 60px; }.article-body { font-size:16px; }.article-body .article-lead { font-size:19px; }.article-body h2 { font-size:27px; margin-top:33px; }.article-sidebar { position:static; }.article-sidebar nav { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }.sidebar-cta .button { max-width:320px; }
 .contact-layout { grid-template-columns:1fr; gap:36px; }.contact-panel { position:static; }.contact-panel > p { max-width:600px; }.contact-block { padding-top:19px; margin-top:21px; }.contact-network { flex-direction:row; flex-wrap:wrap; gap:24px; }.contact-help { max-width:650px; }.inquiry-box { padding:29px; }.form-buttons .button { width:auto; }.form-grid { gap:19px; }.contact-panel h2 { font-size:32px; }
 .narrow-copy h2 { font-size:27px; }
}
@media (max-width:480px) {
 .wrap { width:calc(100% - 34px); }.brand,.brand img { width:177px; }.brand { flex-basis:177px; }.header-inner { min-height:75px; }.js .menu-toggle { padding:9px 11px; }.home-hero { background:#082e44; }.home-hero-grid { padding-top:38px; gap:31px; }.home-hero h1 { font-size:44px; }.home-hero-copy > p:not(.eyebrow) { font-size:15px; line-height:1.85; }.home-hero .button-row { gap:10px; }.home-hero .button { padding:11px 13px; font-size:11px; gap:13px; min-height:45px; }.hero-mini { font-size:7px; gap:17px; }.home-hero-visual img { height:272px; }.home-hero-visual figcaption { padding:11px 13px; font-size:11px; left:13px; bottom:13px; right:13px; }.home-hero-visual figcaption span { font-size:8px; }
 .category-card { display:flex; }.category-image { height:232px; padding:25px 48px; }.category-image img { height:100%; }.category-card > div:last-child { padding:26px; }.category-card p:not(.eyebrow) { margin-bottom:18px; }
 .steps-grid { grid-template-columns:1fr; gap:26px; }.steps-grid h3 { font-size:24px; margin:14px 0 12px; }.steps-grid p { font-size:14px; }.resource-banner .wrap { display:block; }.resource-covers { display:none; }.news-grid { grid-template-columns:1fr; }.news-image { height:229px; }.news-card-body { padding:26px; }.news-card h3 { font-size:23px; }
 .network-bar .wrap { grid-template-columns:1fr; gap:14px; }.network-bar a { font-size:13px; max-width:320px; }.footer-grid { gap:26px; }.footer-grid h2 { font-size:13px; }.footer-grid > div > a:not(.footer-logo) { font-size:12px; }.footer-contact p { margin-top:10px; }
 .page-hero h1 { font-size:38px; }.page-hero-image img { height:242px; }.page-hero .button { font-size:11px; padding:11px 14px; gap:13px; }.hero-lead { line-height:1.8; }.jumpbar .wrap { gap:6px 19px; }.jumpbar a { font-size:10px; }
 .product-image { height:257px; padding:24px 33px; }.product-body { padding:25px; }.product-body h3 { font-size:27px; }.product-specs dd { flex:1.05; }.check-list li { font-size:13px; }.source-note { font-size:11px; }.notice { padding:18px; gap:11px; }.notice-mark { width:19px; height:19px; line-height:17px; }.notice p { font-size:11px; }
 .two-column { grid-template-columns:1fr; }.image-content-card > img { height:233px; }.image-content-card .check-list li { font-size:13px; }.monitor-grid .lead { font-size:19px; }.monitor-device { padding:8px; }.monitor-device img { height:205px; }.monitor-visual { gap:13px; }.monitor-visual figcaption { font-size:9px; }
 .chart-card img { height:310px; }.engineered-cards { grid-template-columns:1fr; }.engineered-cards img { height:270px; }.engineered-cards article > div { padding:25px; }
 .download-card { padding:22px; grid-template-columns:87px 1fr; gap:19px; }.download-cover { min-height:128px; }.download-cover img { height:128px; }.download-body h3 { font-size:21px; }.download-body > p:not(.eyebrow):not(.source-note) { font-size:12px; }.download-actions { gap:10px; flex-direction:column; align-items:start; }.download-actions .button { font-size:11px; }.search-box { display:block; }.search-box input { margin-top:7px; }.filter-row { gap:7px; }.filter-button { padding:9px 12px; }.resource-row h3 { font-size:18px; }.resource-row p { font-size:12px; }.resource-icon { width:39px; height:45px; font-size:10px; }.resource-row > a { margin-left:57px; }
 .article-header h1 { font-size:34px; }.article-header .eyebrow { font-size:9px; }.article-subtitle { font-size:15px; }.article-body { font-size:15px; }.article-body .article-lead { font-size:18px; }.article-body h2 { font-size:26px; }.article-takeaway { padding:22px; }.article-takeaway p { font-size:14px; }.article-sidebar nav { grid-template-columns:1fr; }
 .inquiry-box { padding:24px 20px; }.form-grid { grid-template-columns:1fr; gap:18px; }.span-two { grid-column:auto; }.form-buttons .button { width:100%; }.conditional-fields { padding:19px 16px; }.checkbox-label { font-size:11px; }.form-footnote { font-size:11px; }fieldset { margin-bottom:28px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }*,*::before,*::after { transition:none!important; animation:none!important; }
}
@media print {
 .topbar,.site-header,.jumpbar,.site-footer,.network-bar,.closing-cta,.article-sidebar,.filter-row,.search-box,.button-row,.button,.article-end,.product-actions,.form-buttons { display:none!important; }
 body { color:#111; background:white; font-size:10pt; }h1,h2,h3 { color:#111; }.wrap { width:100%; }.section { padding-block:20pt; }.page-hero,.article-header { padding:0; background:white; }.page-hero-image { max-height:160pt; }.page-hero-image img { max-height:160pt; }.article-layout { display:block; padding:0; }.article-body { font-size:11pt; }.news-grid,.product-grid,.category-grid { grid-template-columns:1fr 1fr; }.table-scroll { overflow:visible; }table { font-size:9pt; }.product-card,.news-card,.chart-card { break-inside:avoid; }.source-note { font-size:8pt; }.home-hero { background:white; color:#111; }.home-hero h1,.home-hero h1 em,.home-hero p { color:#111; }.home-hero-grid { min-height:0; padding:20pt 0; }.home-hero-visual img { height:180pt; }
}
/* Shared content variants. */
.steps-grid > div { border-top:2px solid var(--teal); padding-top:24px; }
.info-cards > div { background:#fff; padding:29px; border:1px solid var(--line); border-radius:var(--radius); }
.engineered-cards article > .eyebrow { margin:24px 25px 12px; }
.engineered-cards article > h3 { margin-inline:25px; }
.engineered-cards article > p:not(.eyebrow) { margin:0 25px 27px; }
.download-body h2,.section .download-body h2 { font-size:23px; margin-bottom:14px; line-height:1.25; }
.download-body > .card-meta { font-size:10px !important; margin-bottom:12px !important; }
.contact-block > span { display:block; font-size:10px; font-weight:700; color:var(--teal); letter-spacing:.12em; margin-bottom:8px; }
.contact-block > a { display:block; }
.news-intro-note > span { display:block; font-size:10px; color:var(--teal); letter-spacing:.12em; font-weight:700; margin-bottom:8px; }
.news-image img[src$="fire-single.webp"] { object-fit:contain; padding:20px; mix-blend-mode:multiply; }
.wide-info-card > .button { margin-top:12px; }
@media(max-width:480px) { .download-body h2,.section .download-body h2 { font-size:21px; }.info-cards > div { padding:25px; } }
/* Keep image sizing independent of grid intrinsic dimensions. */
.product-image { display:flex; align-items:center; justify-content:center; overflow:hidden; }
.product-image img { min-width:0; min-height:0; max-height:100%; object-fit:contain; }
.news-image.is-product img { object-fit:contain; padding:20px; mix-blend-mode:multiply; }


/* Full technical library and project references — October 2026 update. */
.jumpbar .wrap { flex-wrap:wrap; gap:5px 25px; padding-block:12px; }
.jumpbar a { padding-block:5px; }
.databook-feature { display:grid; grid-template-columns:210px 1fr; gap:55px; align-items:center; padding:36px; background:white; border:1px solid var(--line); border-radius:var(--radius); }
.book-cover { display:block; border:1px solid var(--line); box-shadow:0 16px 35px #08355015; }
.book-cover img { width:100%; }
.databook-feature h3 { font-size:33px; }
.databook-feature p { color:var(--muted); }
.catalogue-stats { display:flex; gap:35px; border-block:1px solid var(--line); padding-block:20px; }
.catalogue-stats strong { font-size:30px; color:var(--teal); display:block; line-height:1.15; }
.catalogue-stats span { display:block; font-size:11px; margin-top:8px; }
.chapter-details > .chapter-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; padding-top:12px; }
.chapter-link { display:flex; align-items:center; gap:17px; border-bottom:1px solid var(--line); padding:19px 0; }
.chapter-link:hover strong { color:var(--teal); text-decoration:underline; }
.chapter-link > span:nth-child(2) { flex:1; }
.chapter-pages { min-width:53px; font-size:13px; color:var(--teal); font-weight:700; }
.chapter-link strong { display:block; font-size:13px; line-height:1.5; }
.chapter-link small { display:block; font-size:11px; color:var(--muted); line-height:1.6; margin-top:5px; }
.subsection-head { border-top:1px solid var(--line); padding-top:40px; margin-top:45px; }
.subsection-head p { max-width:850px; color:var(--muted); }
.subsection-head h3 { font-size:29px; }
.large-table { max-height:540px; overflow:auto; }
.large-table table { min-width:1210px; font-size:12px; }
.large-table th,.large-table td { padding:13px 15px; }
.large-table thead th { position:sticky; top:0; z-index:2; }
.table-search { margin-top:23px; max-width:650px; }
.table-search input { background:#f6f9fa; }
.table-hint { font-size:11px; color:var(--muted); margin:8px 0 0; }
.data-flag { color:#815815; font-size:11px; font-weight:700; text-decoration:underline; }
.technical-features { row-gap:34px; }
.technical-features article { border-top:2px solid var(--teal); padding-top:23px; }
.technical-features h3 { font-size:23px; }
.technical-features p { color:var(--muted); font-size:14px; }
.drawing-grid { margin-top:55px; align-items:start; gap:45px; }
.drawing-grid figure { background:white; border:1px solid var(--line); padding:20px; }
.drawing-grid figure img { width:100%; max-height:660px; object-fit:contain; }
.drawing-grid figcaption { margin-top:15px; }
.drawing-grid h3 { font-size:28px; }
.drawing-grid table { font-size:12px; }
.drawing-grid th,.drawing-grid td { padding:11px 15px; }
.model-index { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.model-index a { border:1px solid var(--line); padding:8px 13px; font-size:12px; border-radius:3px; color:var(--teal); font-weight:700; }
.model-index a:hover { background:var(--light); border-color:var(--teal); }
.reference-grid { display:grid; grid-template-columns:1fr 1fr; gap:27px; }
.water-reference-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.reference-card { display:flex; flex-direction:column; background:white; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.reference-photo { height:250px; background:#f6f8f9; padding:17px; border-bottom:1px solid var(--line); }
.reference-photo img { width:100%; height:100%; object-fit:contain; }
.reference-body { padding:29px; display:flex; flex-direction:column; flex:1; }
.reference-body h3 { font-size:25px; }
.reference-body p:not(.eyebrow) { color:var(--muted); font-size:14px; }
.reference-body .text-link { margin-top:auto; padding-top:10px; }
.reference-body .product-specs { margin-top:auto; }
.reference-service { color:var(--teal)!important; font-size:12px!important; font-weight:700; }
.row-note { display:block; font-weight:400; color:var(--muted); font-size:10px; line-height:1.5; margin-top:7px; }
.references-table table { min-width:1130px; }
.references-table tbody th { min-width:250px; }
.guide-banner { margin-top:40px; display:flex; gap:35px; align-items:center; justify-content:space-between; padding:35px; background:var(--light); border:1px solid var(--line); }
.guide-banner h3 { font-size:29px; }
.guide-banner p:last-child { margin-bottom:0; color:var(--muted); }
.button-stack { display:flex; flex-direction:column; gap:12px; flex-shrink:0; }
.step-number { display:block; font-size:12px; color:var(--teal); font-weight:700; margin-bottom:18px; }
.download-body h2 { font-size:23px; line-height:1.27; margin-bottom:15px; }
.download-cover { aspect-ratio: .71; }
.download-cover img { height:auto; max-height:215px; object-fit:contain; }
.download-actions { gap:9px 13px; }
.article-body .editorial-note { font-size:13px; line-height:1.8; color:var(--muted); }
.article-body .table-scroll table { min-width:620px; }
.article-body .article-sources li p { font-size:12px; margin:6px 0 10px; }
@media(max-width:1000px) {
 .water-reference-grid { grid-template-columns:1fr 1fr; }
 .databook-feature { gap:30px; grid-template-columns:180px 1fr; padding:28px; }
 .catalogue-stats { gap:20px; }
}
@media(max-width:680px) {
 .databook-feature { grid-template-columns:1fr; padding:24px; }
 .book-cover { width:155px; }
 .databook-feature h3 { font-size:29px; }
 .catalogue-stats { justify-content:space-between; gap:12px; }
 .catalogue-stats strong { font-size:27px; }
 .catalogue-stats span { font-size:10px; line-height:1.55; max-width:90px; }
 .chapter-details > .chapter-grid,.drawing-grid,.reference-grid,.water-reference-grid { grid-template-columns:1fr; }
 .chapter-details > .chapter-grid { gap:0; }
 .data-details > div { padding-inline:16px; }
 .data-details summary { padding:18px 17px; }
 .jumpbar .wrap { gap:4px 19px; }
 .jumpbar span { flex-basis:100%; }
 .jumpbar a { font-size:11px; }
 .guide-banner { flex-direction:column; align-items:stretch; padding:25px; }
 .reference-photo { height:245px; }
 .reference-body { padding:25px; }
 .drawing-grid { gap:30px; }
 .table-search { font-size:12px; }
 .download-body h2 { font-size:21px; }
}


/* Contact access and real Thai / English pages. */
@font-face { font-family:"Noto Sans Thai"; src:url("assets/fonts/NotoSansThai-variable.ttf") format("truetype"); font-weight:100 900; font-style:normal; font-display:swap; }
.topbar-inner { gap:16px; min-height:44px; }
.topbar-label { flex:1; font-size:9px; letter-spacing:.09em; }
.topbar-contact { display:flex; align-items:center; flex-wrap:wrap; gap:4px 18px; }
.topbar-contact a { font-size:11px; padding:5px 0; white-space:nowrap; }
.topbar-contact a:hover { color:white; text-decoration:underline; }
.language-switch { display:flex; flex:0 0 auto; align-items:center; padding:3px; gap:2px; border:1px solid #5c7f91; border-radius:5px; }
.language-switch a { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:4px 9px; font-size:11px; line-height:1.4; font-weight:700; border-radius:3px; letter-spacing:0; }
.language-switch a[lang="th"] { font-family:"Noto Sans Thai",Tahoma,sans-serif; }
.language-switch a[aria-current] { background:#eaf5f8; color:var(--deep); }
.language-switch a:hover { background:#284e62; color:white; }
.language-switch a[aria-current]:hover { background:white; color:var(--deep); }
.language-switch a:focus-visible { outline-color:#fff; }
.document-language-note { font-size:13px; color:var(--muted); max-width:800px; margin:15px 0 0; }
.original-document-title { display:block; font:400 13px/1.55 Arial,Helvetica,sans-serif; color:var(--muted); letter-spacing:0; margin-top:9px; }
.contact-block .text-link { font-size:13px; margin-top:8px; }
html[lang="th"] body { font-family:"Noto Sans Thai","Leelawadee UI",Tahoma,Arial,sans-serif; line-height:1.9; }
html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3,html[lang="th"] h4 { letter-spacing:0; line-height:1.4; }
html[lang="th"] .home-hero h1 { font-size:clamp(36px,4.1vw,58px); line-height:1.35; letter-spacing:0; }
html[lang="th"] .page-hero h1 { font-size:clamp(34px,3.7vw,54px); }
html[lang="th"] .eyebrow,html[lang="th"] .image-tag,html[lang="th"] .hero-mini,html[lang="th"] .topbar,html[lang="th"] .jumpbar span,html[lang="th"] .contact-block>span { letter-spacing:0; }
html[lang="th"] .eyebrow { font-size:12px; }
html[lang="th"] .site-nav a { font-size:13px; }
html[lang="th"] .button { line-height:1.65; }
html[lang="th"] .breadcrumb { flex-wrap:wrap; }
html[lang="th"] .source-note,html[lang="th"] figcaption { line-height:1.9; }
html[lang="th"] .article-body h2 { line-height:1.45; }
@media(max-width:1150px) {
 .topbar-label { display:none; }
 .topbar-contact { margin-right:auto; }
 html[lang="th"] .site-nav { gap:16px; }
}
@media(max-width:760px) {
 .topbar-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding-block:7px; }
 .topbar-contact { gap:1px 12px; margin:0; }
 .topbar-contact a { font-size:11px; line-height:1.55; padding-block:3px; }
 .topbar-contact .contact-email { width:100%; }
 .language-switch a { min-height:36px; padding-inline:8px; }
 html[lang="th"] .site-nav { gap:0; }
 html[lang="th"] .hero-mini { font-size:10px; gap:20px; flex-wrap:wrap; }
 html[lang="th"] .section-head h2 { font-size:31px; }
 html[lang="th"] .article-hero h1 { font-size:32px; }
}
@media(max-width:480px) {
 html[lang="th"] .home-hero h1 { font-size:34px; }
 html[lang="th"] .page-hero h1 { font-size:33px; }
 html[lang="th"] .home-hero .button { font-size:12px; }
 html[lang="th"] .contact-panel h2 { font-size:29px; }
 html[lang="th"] .filter-button { white-space:normal; }
}
