/* Revision of the supplied visual system. No framework or runtime dependency. */
:root{--table-label:#5a5e63}
.home-cover{padding-top:clamp(48px,5.5vw,88px)}
.home-cover .display{font-size:clamp(2.8rem,7vw,6.8rem)}
.home-cover .cover-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(30px,6vw,90px);margin-top:44px}
.home-intro .lede{margin-top:0;font-size:clamp(1rem,1.3vw,1.18rem)}
.hero-photo{margin:0;min-width:0}
.hero-photo .photo-frame{aspect-ratio:1.7;overflow:hidden;background:#c9cbcb}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 51%;transition:transform .8s var(--ease)}
.hero-photo:hover img{transform:scale(1.035)}
.hero-photo figcaption{border:0;padding:0;margin-top:11px;font-size:.68rem;max-width:none}
.scope-drawing{height:100px;display:flex;align-items:center;margin-bottom:28px;opacity:.7;padding-right:24px}
.scope-drawing svg{height:100%;width:100%;object-fit:contain}
.home-cover .meta-strip{margin-top:34px}
.reading-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:20px;padding-bottom:22px;font-size:.76rem}
.text-button{font:inherit;background:transparent;color:inherit;padding:8px 0;cursor:pointer;border:0;border-bottom:1px solid var(--rule-strong)}
.technology-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px;border-top:1px solid var(--rule)}
.technology-grid article{padding:28px 24px 28px 0;border-bottom:1px solid var(--rule)}
.technology-grid article:nth-child(even){padding-left:24px;border-left:1px solid var(--rule)}
.technology-grid .col-n{font-family:var(--serif);font-size:1.5rem;display:block;margin-bottom:10px}
.technology-grid h3{margin-bottom:10px}
.technology-grid p{font-size:.9rem;color:var(--fg-muted);line-height:1.65}
.technology-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);gap:24px 38px;margin-top:36px;padding:36px;background:var(--paper-alt);scroll-margin-top:0}
.technology-copy .display-s{font-size:clamp(1.7rem,3vw,2.8rem);margin:12px 0 24px;overflow-wrap:normal}
.technology-copy p{font-size:.92rem;line-height:1.65}
.technology-copy .source-note{font-size:.72rem;line-height:1.6;margin-top:20px}
.technology-photo{margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0}
.technology-photo img{height:285px;width:100%;object-fit:contain;mix-blend-mode:multiply}
.technology-photo figcaption{font-size:.64rem;line-height:1.5;width:100%;max-width:none}
.technical-figure{grid-column:1/-1;margin-top:20px;width:100%;max-width:100%}
.technical-figure .drawing{background:var(--paper-alt);padding:14px 20px;border:1px solid var(--rule)}
.technology-feature .drawing{background:white}
.technical-figure svg{max-height:290px}
.technical-figure figcaption{max-width:none;font-size:.74rem}
.figure-legend{counter-reset:legend;list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:14px 32px;font-size:.75rem}
.figure-legend li{counter-increment:legend;display:flex;gap:8px}
.figure-legend li:before{content:counter(legend,decimal-leading-zero);font-family:var(--serif);color:var(--fg-muted)}
.item--visual{grid-template-columns:minmax(150px,.65fr) minmax(0,1.55fr) minmax(150px,.7fr);gap:28px;align-items:start}
.product-figure{margin:0;min-width:0}
.product-photo{background:white;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:16px}
.product-photo img{width:100%;height:100%;object-fit:contain;transition:transform .45s ease}
.product-photo:hover img{transform:scale(1.05)}
.product-figure figcaption{font-size:.65rem;line-height:1.5;padding-top:9px;margin-top:8px;border:0}
.product-figure figcaption a{text-decoration:underline;text-underline-offset:3px}
.wash-photo .product-photo img{transform:scale(1.45) translateY(-6%)}
.schematic-photo .product-photo{padding:0;background:var(--paper-alt)}
.item--visual .i-price{text-align:left}
.item--visual .price{font-size:clamp(1.4rem,2vw,1.85rem)}
.item--visual .i-copy{min-width:0}
.item--visual h3{font-size:clamp(1.5rem,2.2vw,1.95rem)}
/* Correct grid placement of the sequence title and paragraph. */
.steps>li{row-gap:6px}
.steps>li:before{grid-column:1;grid-row:1 / span 2}
.steps>li>h3,.steps>li>h4,.steps>li>p,.steps>li>div{grid-column:2}
.steps>li>p{margin:0}
.cols>*{padding-right:clamp(16px,1.6vw,26px);min-width:0}
.cols>*:last-child{padding-right:0}
.cols-3,.cols-4{row-gap:32px}
.cols-3>:nth-child(3n+1){padding-left:0;border-left:0}
.cols-4>:nth-child(4n+1){padding-left:0;border-left:0}
/* Tables respond to their available space, including a sidebar or accordion. */
.table-wrap{overflow:visible;container-type:inline-size;width:100%;min-width:0}
table.data{min-width:0;table-layout:fixed;width:100%;font-size:.86rem}
table.data th,table.data td{padding:16px 16px 16px 0;overflow-wrap:anywhere;word-break:normal}
table.data th{white-space:normal;font-size:.65rem;line-height:1.65;letter-spacing:.075em;vertical-align:bottom}
table.data td:first-child{padding-right:18px}
table.data thead{background:var(--paper-alt)}
table.data th:first-child{padding-left:12px}
table.data th:first-child,table.data td:first-child{width:22%}
table.data[data-cols="3"] th:first-child{width:22%}
table.data .n{white-space:normal;font-family:var(--sans);font-size:.87rem}
table.data .cell-note{display:block;font-size:.73rem;line-height:1.55;color:var(--fg-muted);margin-top:8px}
table.data .th-note{display:block;font-weight:400;text-transform:none;letter-spacing:0;font-size:.72rem;line-height:1.5;margin-top:7px}
table.material-table th:nth-child(2),table.material-table th:nth-child(3){width:14%}
table.material-table th:nth-child(4){width:23%}
table.material-table th:nth-child(5){width:27%}
table.data tbody tr:hover{background:var(--paper-alt)}
table.data .row-title{font-weight:600}
.band--ink table.data thead,.band--ink table.data tbody tr:hover{background:var(--ink-raised)}
.band--ink{--table-label:var(--on-ink-muted)}
/* Also supported by a viewport fallback in browsers without container queries. */
@container (max-width:760px){
 table.data{display:block;width:100%}
 table.data thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);clip:rect(0 0 0 0)}
 table.data tbody{display:block}
 table.data tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding:22px 0;border-bottom:1px solid var(--rule-strong)}
 table.data td,table.data td:first-child{display:block;width:auto;border:0;padding:0;font-size:.88rem}
 table.data td:first-child{grid-column:1/-1;font-size:1.06rem;padding-bottom:4px}
 table.data td:last-child:nth-child(even){grid-column:1/-1}
 table.data td:before{content:attr(data-l);display:block;margin-bottom:5px;font-size:.62rem;line-height:1.5;font-weight:500;color:var(--table-label);text-transform:uppercase;letter-spacing:.09em}
 table.data td:first-child:before{color:var(--table-label)}
 table.data tbody tr:hover{background:none}
 table.data colgroup{display:none}
}
@container (max-width:450px){
 table.data tr{grid-template-columns:1fr;gap:16px}
 table.data td{grid-column:1/-1}
 table.material-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}
 table.material-table td:nth-child(2){grid-column:1}
 table.material-table td:nth-child(3){grid-column:2}
}
@media(min-width:721px) and (max-width:900px){
 .cols-3>:nth-child(n),.cols-4>:nth-child(n){border-left:1px solid var(--rule);padding-left:24px}
 .cols-3>:nth-child(odd),.cols-4>:nth-child(odd){border-left:0;padding-left:0}
}
@media(max-width:1100px){
 .item--visual{grid-template-columns:170px minmax(0,1fr)}
 .item--visual .i-price{grid-column:2;border-top:1px solid var(--rule);padding-top:18px}
 .technology-feature{padding:24px;gap:24px}
}
@media(max-width:1000px){
 .rail-sticky:has(.toc){flex-wrap:wrap;width:100%}
 .rail-sticky .toc{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}
 .acc-body{padding-left:0}
}
@media(max-width:760px){
 .home-cover .cover-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}
 .hero-photo .photo-frame{aspect-ratio:1.65}
 .home-cover .display{font-size:clamp(2.7rem,8.6vw,4.4rem);line-height:1}
 .home-cover .btn{font-size:.66rem;letter-spacing:.09em;padding:13px 16px}
 .technology-feature{grid-template-columns:minmax(0,1fr) 145px;padding:24px 18px}
 .technology-photo img{height:230px}
 .item--visual{grid-template-columns:130px minmax(0,1fr);gap:22px}
 .item--visual .i-price{grid-column:1/-1}
 .rail-sticky .toc{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 .technology-grid{grid-template-columns:1fr}
 .technology-grid article:nth-child(n){padding:24px 0;border-left:0}
 .technology-feature{grid-template-columns:1fr;padding:26px 18px}
 .technology-photo{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;background:white;padding:14px}
 .technology-photo img{height:190px}
 .technology-photo figcaption{border:0;padding:0}
 .technical-figure .drawing{padding:8px}
 .figure-legend{gap:10px 20px}
 .item--visual{grid-template-columns:1fr}
 .item--visual .product-figure{max-width:100%;display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:18px;align-items:end}
 .item--visual .product-figure figcaption{padding:0;margin:0 0 12px}
 .item--visual .i-price{grid-column:1}
 .cols>*:nth-child(n){padding-left:0;padding-right:0;border-left:0}
 .scope-drawing{height:120px;padding-right:0}
 .meta-strip span{letter-spacing:.08em}
}
@media(prefers-reduced-motion:reduce){.hero-photo img,.product-photo img{transition:none;transform:none!important}}
@media print{.reading-tools,.hero-photo{display:none}.technology-feature{break-inside:avoid}.table-wrap{container-type:normal}table.data{font-size:9pt}table.data tr{display:table-row}table.data td{display:table-cell}table.data td:before{display:none}}

/* Long sections must remain visible when reached through a deep link. */
.track>div[data-r]{opacity:1;transform:none}
@container (max-width:760px){table.data caption{display:block;width:100%;max-width:none}}
