/* Reading scale and original content groups, shared by every locale. */
.source-composition { margin-block:64px; }
.source-topic-grid > *, .source-article-cards > *, .source-feature-grid > * { min-width:0;overflow-wrap:anywhere; }
.source-topic-grid p, .source-topic-grid h3 { overflow-wrap:anywhere; }
.source-scene-group { margin-block:48px; }
.source-scene-detail > summary { min-height:44px;padding:12px 16px;font-size:14px;border:1px solid #c9dce5;border-radius:6px;cursor:pointer; }
.source-scene-tabs { display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:4px 2px 14px;scrollbar-width:thin; }
.source-scene-tabs button { flex:0 0 auto;max-width:260px;min-height:44px;border:1px solid #c9dce5;border-radius:6px;padding:10px 16px;background:#fff;color:#17394c;font:inherit;font-size:14px;white-space:normal;cursor:pointer; }
.source-scene-tabs button[aria-selected=true] { color:#007d9c;background:#e6f5fa;border-color:#039abc; }
.source-scene-group [role=tabpanel][hidden] { display:none; }
.source-scene-group [role=tabpanel] .source-figure { margin-top:12px; }
.source-composition:first-child { margin-top:0; }
.source-editorial-row { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:48px; }
.source-editorial-copy, .source-editorial-media { min-width:0;max-width:100%; }
.source-editorial-copy > :first-child { margin-top:0; }
.source-editorial-copy > h2,.source-editorial-copy > h3,.source-editorial-copy > h4,.source-editorial-copy > p { margin-inline:0; }
.source-editorial-media .source-figure { margin:0; }
.source-editorial-media .source-photo-framed img { display:block;width:100%;height:auto;object-fit:cover;max-height:none; }
.source-section-product-editorial { margin-block:28px;padding-block:24px;border-top:1px solid #dce7ed;gap:clamp(24px,3vw,40px); }
.source-section-product-editorial.source-editorial-row { grid-template-columns:minmax(0,340px) minmax(0,1fr); }
.source-section-product-editorial .source-editorial-media { width:100%;max-width:340px;justify-self:center; }
.source-section-product-editorial .source-editorial-media img { width:auto;max-width:100%;height:auto;max-height:340px;object-fit:contain;margin-inline:auto; }
.source-section-product-editorial .source-editorial-copy > h3 { font-size:var(--type-h3,22px);line-height:1.4;margin:0 0 14px;max-width:36ch; }
.source-section-product-editorial .source-editorial-copy > p { max-width:60ch; }
.source-section-product-editorial .source-editorial-copy > :last-child { margin-bottom:0; }
.source-section-product-editorial .source-editorial-copy > .source-action { margin:20px 0 0; }
.source-chapter .source-action { font-size:var(--type-ui,14px);font-weight:500; }
.source-action a { display:inline-flex;align-items:center;gap:12px;min-height:44px;max-width:100%; }
.source-benefits-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px; }
.source-benefit-card { min-width:0;padding:26px 28px;border:1px solid #dce7ed;border-top:2px solid #0088a9;border-radius:6px;background:#f8fbfc; }
.source-benefit-card:last-child:nth-child(odd) { grid-column:1/-1; }
.source-benefit-card .source-benefit-title,.source-benefit-card > h3 { font-size:var(--type-card,18px);line-height:1.45;margin:0 0 10px;max-width:none; }
.source-benefit-card .source-benefit-body,.source-benefit-card .source-paragraph { font-size:var(--type-body,16px);line-height:var(--type-copy-leading,1.65);margin:0;max-width:72ch; }
.source-benefit-card .source-paragraph + .source-paragraph { margin-top:12px; }
.source-section-benefits-grid > h2 { margin-top:0;max-width:none;margin-inline:0; }
.source-section-benefits-grid > .source-paragraph { margin-inline:0; }
.source-testimonial-copy { margin:0;padding:0;border:0; }
.source-testimonial-copy .source-paragraph[data-source-role=quote] { font-size:var(--type-h3,22px);line-height:1.6;margin:0 0 24px; }
.source-testimonial-copy .source-paragraph[data-source-role=attribution] { font-size:var(--type-caption,13px);line-height:1.6;margin:4px 0;color:#526b7d; }
.source-section-actions { display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;margin-top:24px;padding-top:16px;border-top:1px solid #dce7ed; }
.source-section-actions .source-action { margin:0; }
.source-chapter .source-photo-gallery { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:center;gap:32px;margin-block:36px; }
.source-photo-gallery .source-figure { margin:0; }
.source-photo-gallery .source-figure img { max-height:640px;object-fit:contain; }
.source-chapter .source-quote { max-width:880px;margin-inline:auto;padding:36px 40px;border-left:3px solid var(--cyan,#00b5db);background:#f3f8fb; }
.source-quote p { max-width:none; }
.source-quote [data-source-role=quote] { font-size:var(--type-h3,22px);line-height:1.6; }
.source-quote [data-source-role=attribution] { font-size:var(--type-caption,13px); }
.source-logo-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:center;gap:40px; }
.source-logo-grid .source-figure { margin:0; }
.source-logo-grid .source-figure img { max-height:100px;max-width:190px; }
.source-feature-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px; }
.source-feature-grid h3 { margin-top:0; }
.source-floorplan { position:relative;display:grid;grid-template-columns:1fr 1fr;isolation:isolate;min-height:480px;background:#e4e9e8;overflow:hidden;border-radius:8px; }
.source-floorplan-stage { margin:0;position:absolute;inset:0;z-index:-1; }
.source-floorplan-stage video { width:100%;height:100%;object-fit:cover;object-position:35% center; }
.source-floorplan-label { position:absolute;left:29%;top:67%;color:#fff;font-weight:700;text-shadow:0 1px 4px #263b38;letter-spacing:.08em; }
.source-floorplan-copy { grid-column:2;padding:40px 32px;background:linear-gradient(90deg,rgba(34,46,43,.55),rgba(34,46,43,.8));color:#fff;align-self:stretch;display:flex;align-items:center; }
.source-floorplan-copy p { color:inherit;font-size:var(--type-body,16px);line-height:1.8; }
.source-carousel { margin-block:48px; }
.source-carousel-controls { display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-bottom:20px; }
.source-carousel-controls button { display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid #cbdde5;border-radius:50%;background:#fff;color:#007fa0;cursor:pointer; }
.source-carousel-controls button:disabled { opacity:.35;cursor:default; }
.source-carousel-controls button:first-child svg { transform:rotate(180deg); }
.source-carousel-controls span { font-size:13px;min-width:58px;text-align:center; }
.source-carousel-track { display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 28px)/2);gap:28px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:2px 2px 18px;scrollbar-width:thin; }
.source-hero-carousel .source-carousel-track { grid-auto-columns:100%; }
.source-hero-carousel .source-hero-slide { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:40px;padding:32px; }
.source-hero-media { position:relative;min-width:0;padding-bottom:28px; }
.source-hero-media .source-figure { margin:0; }
.source-hero-context-photo img { display:block;width:100%;height:auto; }
.source-hero-product-cutout { position:absolute;right:16px;bottom:0;width:25%; }
.source-hero-product-cutout img { display:block;max-width:100%;max-height:240px;object-fit:contain; }
.source-hero-slide .source-editorial-copy > h3 { font-size:var(--type-h3,22px);line-height:1.4;margin:0 0 18px; }
.source-hero-slide .source-editorial-copy > .source-paragraph { margin:0 0 20px; }
.source-hero-slide .source-bullet-list { margin-bottom:0; }
.source-product-carousel .source-slide .source-slide-title { font-size:var(--type-card,18px); }
.source-product-carousel .source-carousel-track { grid-auto-columns:calc((100% - 48px)/3);gap:24px; }
.source-product-carousel .source-slide { padding:20px; }
.source-product-carousel .source-slide-media { margin-bottom:16px; }
.source-product-carousel .source-slide-media img { width:auto;max-width:min(100%,240px);height:150px;aspect-ratio:auto;object-fit:contain;margin-inline:auto;background:transparent; }
.source-slide .source-paragraph[data-source-role=attribution] { font-size:var(--type-caption,13px);color:#526b7d;margin-bottom:6px; }
.source-faq { max-width:880px;margin-inline:auto; }
.source-faq details { padding-block:16px;border-bottom:1px solid #dce7ed; }
.source-faq summary { min-height:44px;align-content:center;font-size:var(--type-body,16px);font-weight:600;cursor:pointer;line-height:1.6; }
.source-faq details > div { padding-top:12px; }
.source-faq .source-paragraph { margin-inline:0; }
.source-comparison > h2 { max-width:none;margin-inline:0; }
.source-comparison-scroll { max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain; }
.source-comparison-sheet { min-width:760px; }
.source-comparison-products { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center; }
.source-comparison-products .source-figure { min-width:0;margin:16px;padding:16px; }
.source-comparison-products img { max-height:180px;object-fit:contain; }
.source-comparison-sheet .source-table-scroll { margin:0;overflow:visible; }
.source-comparison-sheet .spec-table { min-width:0;width:100%;table-layout:fixed; }
.source-comparison-sheet .spec-table th,.source-comparison-sheet .spec-table td { width:25%;min-width:0;overflow-wrap:anywhere; }
.source-slide { min-width:0;scroll-snap-align:start;border:1px solid #dfe9ee;background:#fff;border-radius:10px;padding:24px;display:flex;flex-direction:column; }
.source-slide .source-slide-media { margin:0 0 24px; }
.source-slide-media img { display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:5px; }
.source-slide p,.source-slide h3 { max-width:none; }
.source-slide .source-slide-title { font-size:22px;line-height:1.35;margin:0 0 10px; }
.source-slide .source-slide-subtitle { color:#0085a5;font-size:18px;line-height:1.5;margin:0 0 12px; }
.source-slide .source-slide-kicker { font-size:16px;font-weight:600;margin:0 0 12px; }
.source-slide .source-paragraph { font-size:16px;margin:0 0 20px; }
.source-slide .source-slide-action { margin-top:auto;padding-top:12px;font-size:14px; }
.source-slide-action a { display:inline-flex;align-items:center;gap:12px;min-height:44px; }
.source-article-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:48px; }
.source-article-cards .source-slide-title { font-size:18px; }
.source-bullet-list { padding-left:24px;max-width:72ch; }
.source-bullet-list li { padding-left:4px;margin-bottom:12px; }
.source-action .btn { min-height:44px;white-space:normal;text-align:left; }
.source-section-download,.source-section-cta { padding:32px;background:#edf7fb;border-radius:8px; }
@media(max-width:900px){
 .source-editorial-row { grid-template-columns:minmax(0,1fr);gap:24px; }
 .source-section-product-editorial.source-editorial-row { grid-template-columns:minmax(0,220px) minmax(0,1fr); }
 .source-section-product-editorial .source-editorial-media { max-width:220px; }
 .source-section-product-editorial .source-editorial-media img { max-height:220px; }
 .source-product-carousel .source-carousel-track { grid-auto-columns:calc((100% - 24px)/2); }
 .source-hero-carousel .source-hero-slide { grid-template-columns:minmax(0,1fr);gap:24px;padding:22px; }
 .source-article-cards { grid-template-columns:1fr; }
 .source-floorplan { display:flex;flex-direction:column;min-height:0; }
 .source-floorplan-stage { position:relative;inset:auto;z-index:auto;aspect-ratio:16/9; }
 .source-floorplan-stage video { object-position:26% center; }
 .source-floorplan-label { left:48%;top:64%; }
 .source-floorplan-copy { padding:24px;background:#43534f; }
 .source-composition { margin-block:40px; }
}
@media(max-width:820px){.source-topic-grid { grid-template-columns:minmax(0,1fr); }}
@media(max-width:600px){
 .source-benefits-grid { grid-template-columns:minmax(0,1fr);gap:16px; }
 .source-benefit-card { padding:22px; }
 .source-section-product-editorial { margin-block:24px;padding-block:20px; }
 .source-section-product-editorial.source-editorial-row { grid-template-columns:minmax(0,1fr);gap:20px; }
 .source-section-product-editorial .source-editorial-media { max-width:180px; }
 .source-section-product-editorial .source-editorial-media img { max-height:180px; }
 .source-carousel-track { grid-auto-columns:100%;gap:18px; }
 .source-product-carousel .source-carousel-track { grid-auto-columns:100%;gap:18px; }
 .source-product-carousel .source-slide-media img { max-width:min(100%,200px);height:140px; }
 .source-slide { padding:18px; }
 .source-slide .source-slide-title { font-size:20px; }
 .source-feature-grid { grid-template-columns:1fr;gap:20px; }
 .source-chapter .source-quote { padding:24px; }
 .source-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px; }
 .source-logo-grid .source-figure img { max-width:130px; }
}
.source-cell-notes { margin-top:8px;text-align:left;font-size:var(--type-body,16px);font-weight:400;white-space:normal; }
.source-cell-notes summary { width:fit-content;min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#007f9e;font-size:var(--type-caption,13px); }
.source-cell-notes summary::after { content:'+';font-size:18px; }
.source-cell-notes[open] summary::after { content:'−'; }
.source-cell-notes p { max-width:48ch;margin:8px 0 12px;line-height:1.65; }
/* Reviewed purpose wins over a surrounding reading/gallery/card template.
   Keep original bytes and proportions; a large SVG canvas is not a display size. */
.source-chapter .source-figure[data-source-media-role="feature-icon"],
.source-chapter .source-figure[data-source-media-role="app-icon"] { width:48px;max-width:48px;margin:18px 0; }
.source-chapter .source-figure[data-source-media-role="feature-icon"] img,
.source-chapter .source-figure[data-source-media-role="app-icon"] img { width:auto;max-width:48px;height:auto;max-height:48px;aspect-ratio:auto;object-fit:contain;margin:0; }
.source-chapter .source-figure[data-source-media-role="logo"] { width:fit-content;max-width:160px;margin:20px 0; }
.source-chapter .source-figure[data-source-media-role="logo"] img { width:auto;max-width:160px;height:auto;max-height:80px;aspect-ratio:auto;object-fit:contain; }
.source-chapter .source-figure[data-source-media-role="badge"] { width:fit-content;max-width:120px;margin:16px 0; }
.source-chapter .source-figure[data-source-media-role="badge"] img { width:auto;max-width:120px;height:auto;max-height:64px;aspect-ratio:auto;object-fit:contain; }
.source-chapter .source-figure:is([data-source-media-role="feature-icon"],[data-source-media-role="app-icon"],[data-source-media-role="logo"],[data-source-media-role="badge"]) > a { display:inline-flex;align-items:center;min-height:44px; }
.source-chapter .source-slide-media:is([data-source-media-role="technical-diagram"],[data-source-media-role="product-cutout"],[data-source-media-role="scenario-illustration"]) img { width:auto;height:auto;max-height:360px;aspect-ratio:auto;object-fit:contain; }
/* A specification DL without a media column uses the full content width. */
.source-chapter .source-section-technical-editorial:not(:has(> .source-editorial-media)) { grid-template-columns:minmax(0,1fr);grid-template-areas:"copy"; }
.source-chapter .source-section-technical-editorial:not(:has(> .source-editorial-media)) > .source-editorial-copy { max-width:none; }
.source-chapter .source-product-downloads { padding:16px 24px; }
.source-product-download-details > summary { min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#007e9f;font-size:16px;font-weight:600;line-height:1.5;cursor:pointer; }
.source-product-download-details > summary::after { content:'+';font-size:22px;font-weight:400; }
.source-product-download-details[open] > summary::after { content:'−'; }
.source-product-download-details > .source-reading-body { margin-top:20px; }
.source-product-download-details .source-resource-item:has(.source-table-scroll) { border:0;padding:0; }
.source-product-download-details .source-table-scroll { max-width:100%; }
.source-chapter .source-related-products .source-resource-items { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.source-chapter .source-related-products .source-resource-item { padding:20px;border:1px solid #d7e7ed;border-radius:8px;background:#f7fbfc; }
.source-chapter .source-related-products .source-resource-item .source-paragraph { margin:0;max-width:none; }
.source-chapter .source-related-products .source-resource-item a { display:block;line-height:1.65;color:#244c61; }
@media(max-width:700px){.source-chapter .source-related-products .source-resource-items { grid-template-columns:minmax(0,1fr); }.source-chapter .source-product-downloads { padding-inline:18px; }}
@media(max-width:600px){
 .source-chapter .source-figure[data-source-media-role="feature-icon"],.source-chapter .source-figure[data-source-media-role="app-icon"] { width:40px;max-width:40px; }
 .source-chapter .source-figure[data-source-media-role="feature-icon"] img,.source-chapter .source-figure[data-source-media-role="app-icon"] img { max-width:40px;max-height:40px; }
}
