/* Shared layout and interaction rules for the third client review. */
:root { --r3-navy:#001d3a; --r3-blue:#176db5; --r3-muted:#607b8f; }
.r3-section { padding-block:88px; }
.r3-section .wf-content-inner { max-width:1200px; }
.r3-section [id],.r3-split { scroll-margin-top:165px; }
.r3-family-intro { display:grid; grid-template-columns:1.25fr 1fr; gap:72px; align-items:center; }
.r3-family-intro h2 { font-size:clamp(26px,2.4vw,36px); line-height:1.4; letter-spacing:-.04em; margin:18px 0 24px; color:#153d56; }
.r3-family-intro aside { padding:34px; background:#f0f6fa; border-radius:20px; }
.r3-family-intro aside h3 { font-size:24px; line-height:1.5; margin:0 0 16px; }
.r3-family-intro p,.r3-split>header p,.r3-split-detail>p { font-size:17px; line-height:1.95; color:var(--r3-muted); }
.r3-split { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.35fr); gap:64px; align-items:start; padding-block:64px; border-top:1px solid #dce8f0; }
.r3-split:first-child { border-top:0; padding-top:0; }
.r3-split:last-child { padding-bottom:0; }
.r3-split h2 { color:#173e57; font-size:clamp(28px,2.6vw,38px); line-height:1.48; letter-spacing:-.04em; margin:18px 0 24px; word-break:keep-all; overflow-wrap:anywhere; }
.r3-split h3 { font-size:21px; line-height:1.55; color:#173e57; }
.r3-split-detail { min-width:0; }
.r3-split-detail .wf-table-wrap { margin-top:0; }
.r3-split-detail .wf-table { font-size:13px; }
.r3-split-detail .wf-table th,.r3-split-detail .wf-table td { padding:16px 11px; line-height:1.65; }
.r3-split-detail .wf-note { font-size:13px; line-height:1.85; margin:16px 0; }
.r3-split-detail .hfe-fragment { padding:0; margin:0; }
.r3-split-detail .hfe-card { padding:22px; }
.r3-split-detail .hfe-three { gap:10px; }
.r3-split-detail .hfe-photo img,.r3-split-detail .hm-photo img { height:auto!important; width:100%; aspect-ratio:auto!important; object-fit:contain!important; }
.r3-split-detail .hfe-photo a { display:block; }
.r3-split-detail .hfe-sem-rows { gap:18px; }
.r3-split-detail .hfe-sem-row { padding:14px; }
.r3-split-detail .hfe-source { font-size:12px; }
.r3-split-detail .hfe-heading { display:none; }
.r3-split-detail .hfe-document-grid { gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.r3-split-detail .hfe-document { padding:14px; }
.r3-split-detail .hfe-document :is(h3, h4) { font-size:15px; }
.r3-split-detail .hfe-document img { width:100%; height:140px; object-fit:contain; }
.r3-split-detail .hm-chapter-head { display:none; }
.r3-split-detail .hm-material header h4 { font-size:17px; }
.r3-split-detail .hm-material header p { font-size:12px; }
.r3-split-detail .hm-material header { padding:16px; }
.r3-split-detail .hm-comparison { gap:16px; }
.r3-split-detail .hm-photo { padding:10px; }
.r3-split-detail .hm-chart-panel { margin:0 0 24px; }
.r3-split-detail .hfv-source-grid { gap:16px; }
.r3-split-detail .hfv-source-grid video { aspect-ratio:4/3; object-fit:contain; background:#edf3f7; }
.r3-split-detail .hfv-source-clips figcaption { font-size:13px; line-height:1.7; padding:14px; }
.r3-split-detail .hfv-source-clips :is(h3, h4) { font-size:19px; }
.r3-split-detail .hfe-cleanfil-curves .hfe-two { grid-template-columns:1fr; }
.r3-photo { margin:0; min-width:0; }
.r3-photo button { width:100%; display:block; position:relative; padding:0; border:0; border-radius:12px; background:#f0f6fa; cursor:zoom-in; overflow:hidden; }
.r3-photo img { display:block; width:100%; height:auto; object-fit:contain; }
.r3-photo button>span { position:absolute; bottom:10px; right:10px; background:#001d3acc; color:#fff; padding:6px 10px; border-radius:4px; font-size:11px; }
.r3-photo figcaption { font-size:13px; line-height:1.8; color:var(--r3-muted); margin-top:10px; }
.r3-material-trio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:center; }
.r3-material-trio img { max-height:320px; }
.r3-prose-list { padding-left:20px; color:var(--r3-muted); font-size:17px; line-height:1.95; }
.r3-prose-list li+li { margin-top:18px; }
.r3-prose-list strong { display:block; color:#16415b; }
.r3-common-spec { font-size:15px; border-top:1px solid #d9e6ee; margin-top:26px; }
.r3-common-spec div { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid #d9e6ee; }
.r3-common-spec dd { margin:0; font-weight:650; }
.r3-common-spec dt { color:#607b8f; }
.r3-inline-links { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:22px; }
.r3-inline-links a { color:#176db5; font-size:15px; font-weight:650; }
.r3-filter-bar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:20px; }
.r3-filter-bar button,.r3-mode-tabs button { border:1px solid #cbdfea; background:#fff; color:#385c74; padding:10px 20px; border-radius:24px; cursor:pointer; font-weight:650; }
.r3-filter-bar button.is-active,.r3-mode-tabs button.is-active { background:#176db5; border-color:#176db5; color:#fff; }
.r3-filter-bar>span { margin-left:auto; color:#607b8f; font-size:13px; }
.r3-bio-table .wf-table { min-width:0; table-layout:auto; font-size:11px; }
.r3-bio-table .wf-table th,.r3-bio-table .wf-table td { padding:12px 6px; word-break:normal; overflow-wrap:anywhere; }
.r3-bio-table th button { border:0; background:none; color:inherit; padding:0; text-align:left; cursor:pointer; font-size:inherit; font-weight:750; }
.r3-bio-table tr[hidden] { display:none!important; }
.r3-product-link { color:#176db5; font:inherit; font-weight:750; border:0; background:none; padding:3px 0; text-align:left; cursor:pointer; }
.r3-product-link span { display:block; font-size:10px; font-weight:500; margin-top:3px; }
.r3-bio-table th[aria-sort="ascending"] button,.r3-bio-table th[aria-sort="descending"] button { color:#0084c8; }
.r3-supply-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:center; }
.r3-supply-pair figure { margin:0; padding:24px; background:#f2f7fa; border-radius:16px; }
.r3-supply-pair img { width:100%; height:220px; object-fit:contain; }
.r3-supply-pair figcaption { font-size:18px; font-weight:700; padding-top:20px; }
.r3-product-photo-grid,.r3-cassette-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:32px 0; }
.r3-product-photo-grid figure,.r3-cassette-photos figure { margin:0; text-align:center; }
.r3-product-photo-grid img,.r3-cassette-photos img { width:100%; height:260px; object-fit:contain; }
.r3-product-photo-grid figcaption,.r3-cassette-photos figcaption { padding:16px 0; font-weight:700; }
.r3-module-spec .wf-table { min-width:640px; }
.r3-material-families { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.r3-material-families>a { display:flex; flex-direction:column; padding:32px; border:1px solid #d4e4ef; border-radius:20px; background:#f5f9fc; text-decoration:none; }
.r3-family-number { display:flex; align-items:center; gap:18px; color:#91aabb; font-size:30px; font-weight:650; }
.r3-family-number strong { color:#176db5; font-size:27px; }
.r3-material-families h2 { color:#16415b; font-size:24px; line-height:1.55; margin:28px 0 18px; }
.r3-material-families p { color:#607b8f; line-height:1.9; font-size:16px; }
.r3-material-families>a>span { color:#176db5; font-weight:650; margin-top:auto; padding-top:30px; }
.r3-system-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.r3-system-fields>a { padding:32px; border:1px solid #d6e5ee; border-radius:20px; text-decoration:none; }
.r3-system-fields>a>span { font-size:16px; color:#176db5; font-weight:650; }
.r3-system-fields h2 { font-size:26px; color:#16415b; line-height:1.4; margin:24px 0 16px; }
.r3-system-fields p { color:#607b8f; line-height:1.9; }
.r3-system-fields b { display:block; margin-top:22px; color:#176db5; font-size:15px; }
.r3-process-detail ol { list-style:none; padding:0; margin:0; }
.r3-process-detail li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:20px; padding:24px 0; border-bottom:1px solid #d9e7ef; }
.r3-process-detail li:first-child { padding-top:0; }
.r3-process-detail li>span { color:#176db5; font-size:22px; font-weight:700; padding-top:3px; }
.r3-process-detail h3 { margin:0 0 10px; }
.r3-process-detail p { font-size:16px; line-height:1.9; color:#607b8f; margin:0; }
.r3-footer address { font-style:normal; font-size:13px; line-height:1.9; margin-bottom:16px; }
.r3-footer a { color:#b6e6ed; font-size:14px; }
.r3-locations { display:grid; gap:24px; }
.r3-locations article { background:#f2f7fa; padding:28px; border-radius:16px; }
.r3-locations h3 { margin:0 0 14px; }
.r3-locations address { font-style:normal; color:#607b8f; line-height:1.9; }
.r3-mail { color:#176db5; font-size:21px; font-weight:650; overflow-wrap:anywhere; }
.r3-inquiry-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.r3-inquiry-form label { display:grid; gap:9px; color:#16415b; font-size:14px; font-weight:650; }
.r3-inquiry-form input,.r3-inquiry-form select,.r3-inquiry-form textarea { width:100%; min-width:0; box-sizing:border-box; border:1px solid #cbdfea; border-radius:8px; padding:13px 14px; font:inherit; color:#16415b; background:#fff; }
.r3-wide { grid-column:1/-1; }
.r3-brochures { display:grid; gap:0; }
.r3-brochures button { display:flex; align-items:center; justify-content:space-between; padding:23px 0; border:0; border-bottom:1px solid #d5e3ed; background:transparent; cursor:pointer; color:#16415b; gap:20px; text-align:left; }
.r3-brochures strong { font-size:24px; }
.r3-brochures span { color:#176db5; font-size:14px; }
.r3-dialog { width:min(960px,calc(100vw - 48px)); max-height:88dvh; padding:48px; border:0; border-radius:20px; box-sizing:border-box; color:#16415b; box-shadow:0 30px 100px #001d3a55; }
.r3-dialog::backdrop { background:#001527bc; backdrop-filter:blur(5px); }
.r3-dialog-close { position:sticky; top:0; float:right; margin:-25px -22px 0 0; border:0; background:#eaf3f8; width:40px; height:40px; border-radius:50%; font-size:28px; color:#16415b; cursor:pointer; z-index:3; }
.r3-dialog h2 { font-size:28px; line-height:1.5; margin:0 32px 25px 0; }
.r3-dialog .wf-table { font-size:15px; }
.r3-zoom-controls { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.r3-zoom-controls button { border:1px solid #c7dce9; background:#fff; padding:6px 16px; font-size:24px; cursor:pointer; color:#16415b; }
.r3-zoom-controls span { font-size:13px; color:#607b8f; }
.r3-zoom-viewport { max-height:60dvh; overflow:auto; background:#edf3f7; }
.r3-zoom-viewport img { display:block; width:100%; height:auto; }
body.r3-modal-open { overflow:hidden; }
.r3-side-nav { position:fixed; z-index:35; right:12px; top:50%; transform:translateY(-50%); display:grid; width:112px; background:#ffffffed; border:1px solid #d9e7f0; border-radius:14px; padding:10px; box-shadow:0 6px 30px #001d3a12; opacity:0; visibility:hidden; transition:opacity .2s; }
body.r3-page-scrolled:not([data-view="home"]) .r3-side-nav { opacity:1; visibility:visible; }
.r3-side-nav button,.r3-side-nav a { display:block; background:none; border:0; border-left:2px solid transparent; padding:10px 7px; color:#607b8f; text-align:left; cursor:pointer; font-size:11px; line-height:1.5; text-decoration:none; word-break:keep-all; }
.r3-side-nav button.is-active { border-left-color:#176db5; color:#176db5; font-weight:750; }
.r3-side-nav a { color:#176db5; border-top:1px solid #dfebf2; margin-top:8px; padding-top:16px; }
.r3-filtration { background:#f2f7fa; border-radius:18px; padding:24px; }
.r3-filtration-head h3 { margin:12px 0; }
.r3-filtration svg { display:block; width:100%; height:auto; margin:20px 0; }
.r3-filtration-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:0; padding:0; gap:8px; }
.r3-filtration-steps button { width:100%; border:1px solid #d3e3ed; background:#fff; border-radius:8px; color:#43647a; padding:12px; font-weight:650; font-size:13px; text-align:left; cursor:pointer; }
.r3-filtration-steps small { display:block; font-size:10px; margin-bottom:7px; }
.r3-filtration-steps button[aria-pressed="true"] { background:#176db5; border-color:#176db5; color:#fff; }
.r3-mode-tabs { display:flex; gap:8px; margin:16px 0; }
.r3-filtration-caption { min-height:50px; font-size:15px; color:#42637a; line-height:1.8; }
.r3-inside-particles { display:none; }
[data-mode="in-out"] .r3-raw-particles { display:none; }
[data-mode="in-out"] .r3-inside-particles { display:block; }
[data-mode="out-in"] .r3-water-to-left { transform:translateX(585px) scaleX(-1); }
[data-mode="out-in"] .r3-water-to-right { transform:translateX(720px) scaleX(-1); }
.r3-water-to-left,.r3-water-to-right { animation:r3-water-pulse 2s ease-in-out infinite; }
[data-stage="0"] .r3-water-to-left,[data-stage="0"] .r3-water-to-right { opacity:.2; animation:none; }
.r3-raw-particles,.r3-inside-particles { animation:r3-solids 3s ease-in-out infinite; }
@keyframes r3-water-pulse { 0%,100%{opacity:.35}50%{opacity:1} }
@keyframes r3-solids { 0%,100%{opacity:.7}50%{opacity:1} }
.wf-company-milestone-grid article p,.wf-core-values-grid article strong { padding-top:18px; }
body[data-view="home"] .cr-band-copy>.wf-kicker,body[data-view="home"] .hm-wave-head .wf-kicker,body[data-view="home"] .hm-system-head .wf-kicker { font-size:clamp(22px,2.1vw,30px); margin-bottom:28px; letter-spacing:.1em; }
@media(min-width:1081px){
 .wf-header { --header-action-width:122px; --header-menu-open-width:calc(100vw - 96px - 160px - var(--header-action-width)); --header-menu-width:calc(var(--header-menu-open-width) - 42px); }
 .wf-nav { grid-template-columns:repeat(9,minmax(0,1fr)); }
 .hm-header-sitemap .wf-nav-dropdown-inner { grid-template-columns:repeat(9,minmax(0,1fr)); }
 .wf-nav-item>a { font-size:clamp(11px,.95vw,16px); white-space:nowrap; }
 .hm-header-sitemap a { font-size:clamp(11px,.9vw,14px); }
 .wf-sitemap-grid { grid-template-columns:repeat(5,minmax(0,1fr)); row-gap:40px; }
}
@media(max-width:1550px){ .r3-side-nav { width:84px; right:5px; padding:6px; } .r3-side-nav button,.r3-side-nav a { font-size:10px; padding-inline:4px; } }
@media(max-width:1380px){.r3-side-nav { top:auto; bottom:18px; transform:none; width:auto; grid-auto-flow:column; max-width:calc(100vw - 32px); overflow:auto; right:16px; padding:5px; border-radius:10px; }.r3-side-nav [data-r3-scroll]{display:none;}.r3-side-nav a,.r3-side-nav button { margin:0; border:0; white-space:nowrap; padding:10px 14px; font-size:12px; }.r3-side-nav [data-r3-scroll].is-active {display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;} }
@media(max-width:900px){
 .r3-section {padding-block:60px;}.r3-split{grid-template-columns:1fr;gap:30px;padding-block:48px;}.r3-split h2{font-size:29px;}.r3-family-intro{grid-template-columns:1fr;gap:28px;}.r3-family-intro aside{padding:24px;}
 .r3-material-families,.r3-system-fields{grid-template-columns:repeat(2,minmax(0,1fr));}.r3-supply-pair img{height:180px;}.r3-product-photo-grid img,.r3-cassette-photos img{height:180px;}
}
@media(max-width:600px){
 .r3-section .wf-content-inner{width:calc(100% - 36px);}.r3-section{padding-block:48px;}.r3-split>header p,.r3-split-detail>p,.r3-family-intro p{font-size:15px;line-height:1.9;}.r3-split h2{font-size:27px;}.r3-family-intro h2{font-size:26px;}.r3-family-intro aside h3{font-size:22px;}
 .r3-material-families,.r3-system-fields{grid-template-columns:1fr;gap:16px;}.r3-material-families>a,.r3-system-fields>a{padding:26px;}.r3-supply-pair{grid-template-columns:1fr;}.r3-supply-pair img{height:auto;max-height:240px;}.r3-supply-pair figure{padding:20px;}.r3-product-photo-grid,.r3-cassette-photos{gap:10px;}.r3-product-photo-grid img,.r3-cassette-photos img{height:150px;}.r3-product-photo-grid figcaption,.r3-cassette-photos figcaption{font-size:12px;}
 .r3-bio-table {overflow:visible;border:0;background:none;}.r3-bio-table .wf-table,.r3-bio-table tbody{display:block;width:100%;}.r3-bio-table thead {display:none;}.r3-bio-table tbody tr {display:grid;grid-template-columns:1fr 1fr;border:1px solid #d4e4ef;border-radius:12px;margin-bottom:14px;overflow:hidden;background:#fff;}.r3-bio-table .wf-table td{display:block;border:0;padding:12px 14px;text-align:left;line-height:1.6;font-size:12px;}.r3-bio-table td::before{content:attr(data-label);display:block;font-size:10px;color:#6b8799;margin-bottom:4px;}.r3-bio-table td:first-child{grid-column:1/-1;background:#eaf3f9;}.r3-bio-table td:first-child::before{display:none;}.r3-product-link{font-size:19px;}.r3-product-link span{display:inline;margin-left:14px;}.r3-filter-bar>span{font-size:12px;}.r3-filter-bar button{padding:8px 15px;}
 .r3-inquiry-form{grid-template-columns:1fr;gap:16px;}.r3-dialog{padding:32px 20px;width:calc(100vw - 24px);border-radius:15px;max-height:90dvh;}.r3-dialog-close{margin:-20px -9px 0 0;}.r3-dialog h2{font-size:23px;}.r3-zoom-controls span{font-size:11px;}.r3-filtration{padding:16px;}.r3-filtration-steps button{padding:9px 7px;font-size:11px;}.r3-filtration-caption{font-size:14px;}.r3-mode-tabs button{font-size:12px;padding:8px 16px;}.r3-filtration-head h3{font-size:21px;}.r3-material-trio{gap:8px;}.r3-photo button>span{font-size:8px;padding:3px 5px;right:4px;bottom:4px;}.r3-process-detail li{grid-template-columns:34px minmax(0,1fr);gap:10px;}.r3-process-detail h3{font-size:20px;}.r3-process-detail p{font-size:15px;}
 .r3-side-nav [data-r3-scroll].is-active{display:none;}.r3-footer .wf-footer-inner{gap:28px;}.r3-brochures strong{font-size:22px;}
}
@media(prefers-reduced-motion:reduce){.r3-filtration *{animation:none!important;}.r3-side-nav{transition:none;}}
.r3-case-fields a{display:block;padding:10px 18px;border:1px solid #d1e2ee;border-radius:22px;color:#48687d;font-size:13px;text-decoration:none}.r3-case-fields a.is-active{background:#176db5;border-color:#176db5;color:#fff}.r3-case-count{font-size:14px;color:#607b8f;margin:24px 0}.r3-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.r3-case-card{border:1px solid #d6e6f0;border-radius:18px;overflow:hidden;background:#fff}.r3-case-card>div{padding:26px}.r3-case-card figure{margin:0;background:#edf3f7}.r3-case-card img{width:100%;height:220px;object-fit:cover;display:block}.r3-case-card h2{font-size:23px;line-height:1.55;margin:15px 0 20px;color:#16415b;overflow-wrap:anywhere}.r3-case-card .wf-kicker{font-size:11px;letter-spacing:.04em}.r3-case-card ul{padding-left:17px;font-size:14px;line-height:1.9;color:#607b8f}.r3-case-card .wf-tags{margin-top:24px}.r3-case-empty{padding:60px 30px;background:#f1f7fb;border-radius:18px}.r3-case-empty h2{font-size:27px}.r3-case-empty p{color:#607b8f;line-height:1.9}
@media(max-width:900px){.r3-case-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media(max-width:600px){.r3-case-grid{grid-template-columns:1fr;gap:18px}.r3-case-card>div{padding:24px}.r3-case-card h2{font-size:23px}.r3-case-card img{height:210px}}
.r3-in-out-flow,.r3-out-in-flow{animation:r3-water-pulse 2s ease-in-out infinite}.r3-out-in-flow{display:none}[data-mode="out-in"] .r3-in-out-flow{display:none}[data-mode="out-in"] .r3-out-in-flow{display:block}[data-stage="0"] .r3-in-out-flow,[data-stage="0"] .r3-out-in-flow{opacity:.25;animation:none}[data-stage="2"] .r3-raw-particles,[data-stage="2"] .r3-inside-particles{opacity:.45}.r3-bio-table th:first-child,.r3-bio-table td:first-child{min-width:70px}.r3-filtration svg .r3-water-to-left,.r3-filtration svg .r3-water-to-right{display:none}.r3-split-detail .hfe-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.r3-split-detail .hfe-document img{height:170px!important;object-fit:contain!important}.wf-sheet-section .wf-sheet-copy{grid-column:1!important;grid-row:1!important}.wf-sheet-section .wf-sheet-visual{grid-column:2!important;grid-row:1!important}
@media(max-width:900px){.wf-sheet-section .wf-sheet-copy{grid-column:auto!important;grid-row:auto!important}.wf-sheet-section .wf-sheet-visual{grid-column:auto!important;grid-row:auto!important}}
.r3-family-intro aside h3,.r3-family-intro h2,.r3-case-card h2{word-break:keep-all;overflow-wrap:normal}.r3-inquiry-form input:focus-visible,.r3-inquiry-form textarea:focus-visible,.r3-inquiry-form select:focus-visible{outline:2px solid #176db5;outline-offset:2px}.r3-split-detail .hm-chart-label{font-size:20px}
.r3-mobile-sort{display:none;font-size:13px;color:#476b81;margin:0 0 18px;gap:14px;align-items:center}.r3-mobile-sort select{font:inherit;color:#16415b;border:1px solid #cbdfea;border-radius:7px;padding:10px;background:#fff}.r3-zoom-viewport{cursor:grab}.r3-zoom-viewport.is-dragging{cursor:grabbing;user-select:none}.r3-zoom-viewport img{pointer-events:none}@media(max-width:600px){.r3-mobile-sort{display:flex}}
.wf-image-board img{display:block;width:100%;height:100%;min-height:300px;object-fit:contain;background:#f0f6fa}

.r3-model-name{white-space:nowrap}
