.ib-b2-page,
.ib-b2-page * { box-sizing: border-box; }
.ib-b2-page { --ib-b2-deep:#013544; --ib-b2-ink:#102a32; --ib-b2-muted:#5d7278; --ib-b2-accent:#00aeb5; --ib-b2-line:#d9e9ea; --ib-b2-paper:#f4faf9; color:var(--ib-b2-ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; width:100%; overflow:hidden; }
.ib-b2-shell { width:min(1680px,calc(100% - 96px)); margin:0 auto; }
.ib-b2-hero { position:relative; background:linear-gradient(115deg,#f3faf9 0%,#fff 56%,#edf7f6 100%); padding:clamp(62px,7vw,112px) 0 clamp(64px,8vw,124px); }
.ib-b2-hero::after { position:absolute; right:8%; bottom:0; width:min(32vw,480px); height:1px; background:linear-gradient(90deg,transparent,var(--ib-b2-accent)); content:""; opacity:.55; }
.ib-b2-hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.62fr); gap:clamp(50px,9vw,160px); align-items:end; }
.ib-b2-hero-copy { max-width:830px; }
.ib-b2-overline { margin:0 0 16px; color:var(--ib-b2-accent); font-size:12px; font-weight:850; letter-spacing:.14em; line-height:1.35; text-transform:uppercase; }
.ib-b2-hero h1 { margin:0; max-width:840px; color:var(--ib-b2-deep); font-size:clamp(42px,5.5vw,78px); font-weight:850; letter-spacing:-.045em; line-height:.98; }
.ib-b2-hero-lede { max-width:70ch; margin:26px 0 0; color:#4d6268; font-size:clamp(17px,1.5vw,21px); line-height:1.65; }
.ib-b2-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.ib-b2-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:8px; padding:13px 19px; font-size:14px; font-weight:800; line-height:1.2; text-align:center; text-decoration:none!important; transition:transform 180ms ease,background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.ib-b2-button:hover { transform:translateY(-2px); }
.ib-b2-button:active { transform:translateY(0) scale(.98); }
.ib-b2-button-primary { background:var(--ib-b2-deep); color:#fff!important; box-shadow:0 14px 28px rgba(1,53,68,.14); }
.ib-b2-button-primary:hover { background:#075263; }
.ib-b2-button-secondary { border-color:rgba(1,53,68,.2); background:#fff; color:var(--ib-b2-deep)!important; }
.ib-b2-button-light { background:#d8fbf7; color:var(--ib-b2-deep)!important; }
.ib-b2-hero-aside { max-width:360px; border-left:1px solid rgba(0,174,181,.48); padding:6px 0 6px 26px; }
.ib-b2-aside-rule { display:block; width:46px; height:3px; margin-bottom:24px; background:var(--ib-b2-accent); }
.ib-b2-hero-aside strong { display:block; color:var(--ib-b2-deep); font-size:20px; line-height:1.25; }
.ib-b2-hero-aside p { margin:12px 0 0; color:var(--ib-b2-muted); font-size:15px; line-height:1.7; }
.ib-b2-section { padding:clamp(70px,8vw,128px) 0; }
.ib-b2-section-light { background:#fff; }
.ib-b2-section-paper { background:var(--ib-b2-paper); }
.ib-b2-section-dark { background:var(--ib-b2-deep); color:#fff; }
.ib-b2-section-header { max-width:760px; margin-bottom:44px; }
.ib-b2-section-header h2 { margin:0; color:var(--ib-b2-deep); font-size:clamp(30px,3.8vw,54px); font-weight:830; letter-spacing:-.035em; line-height:1.03; }
.ib-b2-section-dark .ib-b2-section-header h2,.ib-b2-section-dark h2 { color:#fff; }
.ib-b2-section-header > p:last-child { max-width:72ch; margin:18px 0 0; color:var(--ib-b2-muted); font-size:16px; line-height:1.72; }
.ib-b2-section-dark p { color:rgba(255,255,255,.72); }
.ib-b2-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ib-b2-product-card { min-width:0; border:1px solid var(--ib-b2-line); border-radius:14px; background:#fff; overflow:hidden; box-shadow:0 14px 38px rgba(1,53,68,.055); transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease; }
.ib-b2-product-card:hover { border-color:rgba(0,174,181,.55); transform:translateY(-3px); box-shadow:0 20px 42px rgba(1,53,68,.11); }
.ib-b2-product-card-media { display:flex; aspect-ratio:1.2/1; align-items:center; justify-content:center; border-bottom:1px solid var(--ib-b2-line); background:#fbfefe; padding:24px; color:var(--ib-b2-muted); text-align:center; text-decoration:none; }
.ib-b2-product-card-media img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.ib-b2-product-card-empty { font-size:13px; font-weight:750; }
.ib-b2-product-card-body { padding:21px; }
.ib-b2-product-card-body .ib-b2-overline { margin-bottom:9px; font-size:10px; letter-spacing:.1em; }
.ib-b2-product-card h3 { margin:0; font-size:23px; line-height:1; }
.ib-b2-product-card h3 a { color:var(--ib-b2-deep); text-decoration:none; }
.ib-b2-product-card-meta { min-height:42px; margin:12px 0 18px; color:var(--ib-b2-muted); font-size:13px; line-height:1.55; }
.ib-b2-product-card-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.ib-b2-product-card-actions a { color:var(--ib-b2-deep); font-size:12px; font-weight:800; text-decoration:none; }
.ib-b2-link-accent { color:#007d84!important; }
.ib-b2-two-column { display:grid; grid-template-columns:minmax(0,.86fr) minmax(320px,.72fr); gap:clamp(40px,10vw,170px); align-items:start; }
.ib-b2-two-column .ib-b2-section-header { margin-bottom:0; }
.ib-b2-rule-list { border-top:1px solid var(--ib-b2-line); }
.ib-b2-rule-list p { display:grid; grid-template-columns:minmax(160px,.54fr) minmax(0,1fr); gap:20px; margin:0; padding:19px 0; border-bottom:1px solid var(--ib-b2-line); }
.ib-b2-rule-list strong { color:var(--ib-b2-deep); font-size:15px; }
.ib-b2-rule-list span { color:var(--ib-b2-muted); font-size:15px; line-height:1.65; }
.ib-b2-cta-row { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.ib-b2-cta-row h2 { max-width:760px; margin:0; color:#fff; font-size:clamp(30px,4vw,52px); letter-spacing:-.035em; line-height:1.04; }
.ib-b2-cta-row p:not(.ib-b2-overline) { max-width:70ch; margin:18px 0 0; font-size:16px; line-height:1.7; }
.ib-b2-callout { border-left:3px solid var(--ib-b2-accent); background:#fff; padding:24px 28px; box-shadow:0 14px 36px rgba(1,53,68,.055); }
.ib-b2-callout strong { color:var(--ib-b2-deep); font-size:16px; }
.ib-b2-callout p { margin:12px 0 0; color:var(--ib-b2-muted); font-size:16px; line-height:1.7; }
.ib-b2-callout ul { display:grid; gap:11px; margin:15px 0 0; padding-left:19px; color:var(--ib-b2-muted); font-size:15px; line-height:1.6; }
.ib-b2-measure { max-width:980px; }
.ib-b2-number-list { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid var(--ib-b2-line); }
.ib-b2-number-list li { display:grid; grid-template-columns:64px minmax(0,1fr); gap:18px; padding:23px 0; border-bottom:1px solid var(--ib-b2-line); }
.ib-b2-number-list li > span { color:var(--ib-b2-accent); font-size:12px; font-weight:850; letter-spacing:.1em; }
.ib-b2-number-list strong { color:var(--ib-b2-deep); font-size:18px; }
.ib-b2-number-list p { margin:7px 0 0; color:var(--ib-b2-muted); font-size:15px; line-height:1.65; }
.ib-b2-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--ib-b2-line); }
.ib-b2-flow > div { min-height:180px; border-right:1px solid var(--ib-b2-line); padding:22px 20px 18px 0; }
.ib-b2-flow > div:not(:first-child) { padding-left:20px; }
.ib-b2-flow > div:last-child { border-right:0; }
.ib-b2-flow span { display:block; margin-bottom:34px; color:var(--ib-b2-accent); font-size:12px; font-weight:850; letter-spacing:.1em; }
.ib-b2-flow strong { color:var(--ib-b2-deep); font-size:18px; }
.ib-b2-flow p { margin:10px 0 0; color:var(--ib-b2-muted); font-size:14px; line-height:1.58; }
.ib-b2-faq-shell { max-width:1040px; }
.ib-b2-faq-list { border-top:1px solid var(--ib-b2-line); }
.ib-b2-faq-item { border-bottom:1px solid var(--ib-b2-line); }
.ib-b2-faq-item h2 { margin:0; font-size:inherit; }
.ib-b2-faq-trigger { display:flex; width:100%; min-height:72px; align-items:center; justify-content:space-between; gap:30px; border:0; background:transparent; padding:20px 0; color:var(--ib-b2-deep); cursor:pointer; font:inherit; font-size:18px; font-weight:790; line-height:1.35; text-align:left; }
.ib-b2-faq-trigger:focus-visible { outline:3px solid rgba(0,174,181,.35); outline-offset:4px; }
.ib-b2-faq-icon { display:grid; width:28px; height:28px; flex:0 0 28px; place-items:center; border:1px solid rgba(0,174,181,.45); border-radius:50%; color:#007d84; font-size:20px; font-weight:500; transition:transform 220ms ease,background-color 220ms ease,color 220ms ease; }
.ib-b2-faq-trigger[aria-expanded="true"] .ib-b2-faq-icon { background:var(--ib-b2-accent); color:#fff; transform:rotate(45deg); }
.ib-b2-faq-panel { overflow:hidden; max-height:0; opacity:0; transition:max-height 260ms cubic-bezier(.2,.8,.2,1),opacity 180ms ease; }
.ib-b2-faq-panel.is-open { opacity:1; }
.ib-b2-faq-panel p { max-width:72ch; margin:0; padding:0 58px 22px 0; color:var(--ib-b2-muted); font-size:16px; line-height:1.7; }
/* position:relative makes this the containing block so overflow-x also clips absolutely positioned descendants (sr-only cell labels), which otherwise extend the page past the viewport on mobile. */
.ib-b2-table-wrap { position:relative; width:100%; overflow-x:auto; border:1px solid var(--ib-b2-line); background:#fff; }
.ib-b2-table { width:100%; min-width:880px; border-collapse:collapse; }
.ib-b2-table th,.ib-b2-table td { padding:16px 18px; border-bottom:1px solid var(--ib-b2-line); text-align:left; vertical-align:middle; }
.ib-b2-table thead th { background:#eaf6f5; color:var(--ib-b2-deep); font-size:12px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.ib-b2-table tbody tr:last-child th,.ib-b2-table tbody tr:last-child td { border-bottom:0; }
.ib-b2-table tbody th { color:var(--ib-b2-deep); font-size:15px; }
.ib-b2-table tbody th a { color:inherit; text-decoration:none; }
.ib-b2-table tbody td { color:var(--ib-b2-muted); font-size:14px; line-height:1.55; }
.ib-b2-status { display:inline-block; min-width:84px; border-radius:999px; padding:6px 9px; font-size:11px; font-weight:850; line-height:1; text-align:center; white-space:nowrap; }
.ib-b2-status-request { background:#fff5db; color:#795b10; }
.ib-b2-status-download { background:#dcf7ef; color:#12624f; }
.ib-b2-status-na { background:#edf0f1; color:#59676b; }
.ib-b2-status-legend { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:18px; color:var(--ib-b2-muted); font-size:12px; }
.ib-b2-status-legend > span { margin-right:5px; font-weight:800; }
.ib-b2-datasheet-table { min-width:700px; }
.ib-b2-datasheet-table tbody th span { display:block; margin-top:5px; color:var(--ib-b2-muted); font-size:12px; font-weight:500; }
.ib-b2-table-action,.ib-b2-text-link { color:#007d84!important; font-weight:850; text-decoration:none; }
.ib-b2-table-action { display:inline-flex; min-height:40px; align-items:center; border:1px solid rgba(0,174,181,.42); border-radius:8px; padding:9px 12px; font-size:12px; }
.ib-b2-support-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--ib-b2-line); border-left:1px solid var(--ib-b2-line); }
.ib-b2-support-grid > div { min-height:230px; border-right:1px solid var(--ib-b2-line); border-bottom:1px solid var(--ib-b2-line); padding:24px; }
.ib-b2-support-grid span { color:var(--ib-b2-accent); font-size:12px; font-weight:850; letter-spacing:.1em; }
.ib-b2-support-grid h3 { margin:38px 0 10px; color:var(--ib-b2-deep); font-size:21px; line-height:1.15; }
.ib-b2-support-grid p { margin:0; color:var(--ib-b2-muted); font-size:14px; line-height:1.65; }
.ib-b2-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ib-b2-resource-link { display:block; min-height:265px; border:1px solid var(--ib-b2-line); border-radius:14px; background:#fff; padding:26px; color:var(--ib-b2-ink); text-decoration:none; transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.ib-b2-resource-link:hover { border-color:rgba(0,174,181,.55); box-shadow:0 18px 38px rgba(1,53,68,.08); transform:translateY(-3px); }
.ib-b2-resource-link span { color:var(--ib-b2-accent); font-size:12px; font-weight:850; letter-spacing:.1em; }
.ib-b2-resource-link strong { display:block; margin-top:46px; color:var(--ib-b2-deep); font-size:23px; line-height:1.1; }
.ib-b2-resource-link p { min-height:74px; margin:12px 0 18px; color:var(--ib-b2-muted); font-size:14px; line-height:1.6; }
.ib-b2-resource-link em { color:#007d84; font-size:12px; font-style:normal; font-weight:850; }
.ib-b2-family-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--ib-b2-line); border-left:1px solid var(--ib-b2-line); }
.ib-b2-family-list article { min-height:355px; display:flex; flex-direction:column; border-right:1px solid var(--ib-b2-line); border-bottom:1px solid var(--ib-b2-line); padding:27px; }
.ib-b2-family-list h3 { margin:0; color:var(--ib-b2-deep); font-size:25px; letter-spacing:-.02em; line-height:1.08; }
.ib-b2-family-list article > div:first-child > p:last-child { margin:13px 0 0; color:var(--ib-b2-muted); font-size:14px; line-height:1.6; }
.ib-b2-model-links { display:flex; flex-wrap:wrap; gap:8px 12px; margin-top:auto; padding-top:28px; }
.ib-b2-model-links a { color:#007d84; font-size:13px; font-weight:800; text-decoration:none; }
.ib-b2-family-list .ib-b2-text-link { margin-top:24px; font-size:13px; }
.ib-b2-inline-links { display:flex; flex-wrap:wrap; gap:10px; align-content:start; }
.ib-b2-inline-links a { border:1px solid rgba(0,174,181,.35); border-radius:8px; padding:12px 14px; color:#007d84; font-size:13px; font-weight:800; text-decoration:none; }
@media (max-width:1199px) { .ib-b2-shell{width:min(100% - 64px,1480px)} .ib-b2-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ib-b2-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ib-b2-hero-grid{gap:50px} }
@media (max-width:839px) { .ib-b2-shell{width:calc(100% - 40px)} .ib-b2-hero{padding:54px 0 70px}.ib-b2-hero-grid,.ib-b2-two-column{grid-template-columns:1fr;gap:38px}.ib-b2-hero h1{font-size:clamp(40px,11vw,64px)}.ib-b2-hero-aside{max-width:520px}.ib-b2-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ib-b2-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.ib-b2-flow>div:nth-child(2){border-right:0}.ib-b2-flow>div:nth-child(n+3){border-top:1px solid var(--ib-b2-line)}.ib-b2-family-list,.ib-b2-resource-grid{grid-template-columns:1fr}.ib-b2-cta-row{align-items:flex-start;flex-direction:column}.ib-b2-support-grid{grid-template-columns:1fr 1fr} }
@media (max-width:559px) { .ib-b2-shell{width:calc(100% - 32px)}.ib-b2-section{padding:62px 0}.ib-b2-product-grid{grid-template-columns:1fr}.ib-b2-product-card-media{aspect-ratio:1.4/1}.ib-b2-rule-list p{grid-template-columns:1fr;gap:7px}.ib-b2-flow{grid-template-columns:1fr}.ib-b2-flow>div,.ib-b2-flow>div:not(:first-child){border-right:0;border-bottom:1px solid var(--ib-b2-line);padding:18px 0}.ib-b2-flow>div:last-child{border-bottom:0}.ib-b2-flow span{margin-bottom:18px}.ib-b2-support-grid{grid-template-columns:1fr}.ib-b2-support-grid>div{min-height:0}.ib-b2-family-list article{min-height:300px}.ib-b2-button{width:100%}.ib-b2-faq-trigger{font-size:16px}.ib-b2-faq-panel p{padding-right:0} }
@media (prefers-reduced-motion:reduce) { .ib-b2-button,.ib-b2-product-card,.ib-b2-resource-link,.ib-b2-faq-icon,.ib-b2-faq-panel{transition-duration:.01ms!important}.ib-b2-button:hover,.ib-b2-product-card:hover,.ib-b2-resource-link:hover{transform:none} }

.ib-b2-photo{margin:0}.ib-b2-photo img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 14px 38px rgba(1,53,68,.12)}.ib-b2-photo figcaption{max-width:72ch;margin:18px auto 0;color:var(--ib-b2-muted);font-size:15px;line-height:1.7;text-align:center}
.ib-b2-epd-table{min-width:1180px}.ib-b2-epd-table tbody th span{display:block;margin-top:5px;color:var(--ib-b2-muted);font-size:12px;font-weight:500}
.ib-b2-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.ib-b2-photo-card{border:1px solid var(--ib-b2-line);background:#fff}.ib-b2-photo-card figure{margin:0;overflow:hidden;background:var(--ib-b2-paper)}.ib-b2-photo-card img{display:block;width:100%;height:190px;object-fit:cover}.ib-b2-photo-card-copy{padding:16px 18px 20px}.ib-b2-photo-card-copy strong{display:block;color:var(--ib-b2-deep);font-size:15px}.ib-b2-photo-card-copy span{display:block;margin-top:6px;color:var(--ib-b2-muted);font-size:13px;line-height:1.55}