/* Article pages extend the existing Resin Manual editorial direction. */
/* Structured facts stay compact; optional missing values are not rendered. */
.review-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.review-facts>div{min-width:0;overflow-wrap:anywhere}
.review-facts .fact-wide{grid-column:1/-1}
.metadata-provenance{margin-top:20px}
.metadata-provenance summary{cursor:pointer}
@media(max-width:380px){.review-facts .fact-wide{grid-column:auto}}

.review-nav{display:flex;gap:24px;padding:12px 0;align-items:center;flex-wrap:wrap;font-size:12px}.review-nav a{padding:3px 0}.review-nav a[aria-current]{font-weight:700}.review-page{padding-bottom:65px}.article-heading{padding:58px 0 38px;max-width:1060px}.article-heading .kicker{margin-bottom:16px}.article-product{font-size:14px;color:var(--muted);margin-bottom:16px}.article-heading h1{font-family:var(--serif);font-size:clamp(40px,5.1vw,70px);line-height:1.05;letter-spacing:-1.6px;max-width:1000px;text-wrap:balance}.article-deck{font-size:19px;line-height:1.5;max-width:760px;margin-top:22px}.article-byline{font-size:12px;color:var(--muted);margin-top:20px}.article-layout{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:65px;align-items:start;border-top:1px solid var(--line);padding-top:30px}.article-photo{position:sticky;top:25px;min-width:0}.article-photo>a{display:block;background:#eef0ed;padding:18px}.article-photo img{width:100%;height:auto;max-height:660px;object-fit:contain}.article-photo figcaption{font-size:11px;color:var(--muted);line-height:1.55;margin-top:12px}.article-body{min-width:0;max-width:610px}.review-facts{padding:0 0 20px;margin:0 0 30px;border-bottom:1px solid var(--line);display:grid;gap:16px}.review-facts dt{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.review-facts dd{margin:3px 0 0;font-size:17px;line-height:1.4}.review-facts .fact-note{font-size:12px;color:var(--muted);display:block;margin-top:4px}.review-facts .verdict-value{color:var(--blue);font-weight:650}.article-body section{margin:0 0 32px}.article-body h2{font-family:var(--serif);font-size:29px;line-height:1.2;margin:0 0 15px;letter-spacing:-.5px}.article-body p{font-size:16px;line-height:1.75;margin-bottom:17px}.article-body p:last-child{margin-bottom:0}.research-context{border-top:2px solid var(--blue);padding-top:26px;margin-top:36px!important}.research-context>.micro{display:block;color:var(--blue);margin-bottom:9px}.research-context p{font-size:15px}.article-body a:not(.citation):not(:has(img)){color:var(--blue);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.article-body a:not(.citation):not(:has(img)):hover{text-decoration-thickness:2px}.citation{color:var(--blue);font-size:11px;font-weight:650;vertical-align:super;white-space:nowrap;padding:2px}.review-limits{color:var(--muted);font-size:12px!important;line-height:1.6!important;border-left:2px solid var(--line);padding-left:14px;margin:28px 0}.source-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px;padding:15px 0;font-size:13px}.source-details summary{font-weight:600;padding:5px 0}.source-details h3{font-family:var(--sans);font-size:13px;font-weight:650;margin:24px 0 10px}.source-details ul{list-style:none;padding:0;margin:0}.source-details li{padding:12px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.source-details li:last-child{border:0}.source-details a{text-decoration:underline;text-underline-offset:3px}.source-details p,.source-details .source-meta{font-size:12px;line-height:1.6;color:var(--muted);margin:5px 0}.source-details .source-name{font-weight:600}.source-meta{display:block}.next-review{margin-top:45px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:13px}.next-review>a{max-width:70%}.library-heading{padding:55px 0 35px;max-width:820px}.library-heading h1{font:clamp(44px,6vw,76px)/1 var(--serif);letter-spacing:-1.6px;margin:14px 0 22px}.library-heading p{font-size:17px;line-height:1.7}.library-group{margin:20px 0 55px}.library-group>h2{font-family:var(--serif);font-size:32px;border-top:2px solid var(--ink);padding:18px 0}.library-list{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.library-entry{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:27px 0;border-top:1px solid var(--line);align-items:start}.library-photo{display:block;background:#eef0ed;height:155px;padding:8px}.library-photo img{width:100%;height:100%;object-fit:contain}.library-entry h3{font-family:var(--serif);font-size:26px;line-height:1.12;margin:10px 0}.library-entry .micro{font-size:9px;line-height:1.6;display:block}.library-entry p{font-size:13px;color:var(--muted);line-height:1.55;margin:8px 0}.library-entry .entry-verdict{color:var(--blue);font-size:12px;font-weight:600}.library-entry a:focus-visible{outline-offset:4px}.article-footer{padding:20px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.article-footer a{text-decoration:underline}.review-library-link{padding-block:15px 25px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:13px}.review-library-link p{color:var(--muted);font-size:12px}.review-library-link a{font-weight:650;color:var(--blue)}.review-inline-link{display:inline-block;color:var(--blue);font-size:12px;margin-top:10px;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1550px){.article-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:85px}.article-body{max-width:600px}}
@media(max-width:1000px){.article-layout{gap:35px}.article-heading{padding-top:40px}.article-deck{font-size:18px}.library-list{column-gap:25px}.library-entry{grid-template-columns:95px minmax(0,1fr);gap:14px}.library-photo{height:130px}.library-entry h3{font-size:24px}.article-photo{position:static}}
@media(max-width:760px){.article-heading{padding:32px 0 26px}.article-heading h1{font-size:43px;letter-spacing:-1px}.article-deck{font-size:17px;line-height:1.55;margin-top:18px}.article-product{font-size:12px}.article-layout{display:flex;flex-direction:column;gap:28px;padding-top:22px}.article-photo{width:100%;max-width:100%;position:static}.article-photo>a{padding:12px}.article-photo img{max-height:60vh;min-height:0}.article-body{max-width:none;width:100%}.review-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-facts .format-fact{grid-column:1/-1}.review-facts dd{font-size:16px}.article-body p{font-size:16px;line-height:1.72}.article-body h2{font-size:28px}.research-context p{font-size:15px}.library-list{grid-template-columns:1fr}.library-heading{padding-top:32px}.library-heading h1{font-size:50px}.library-entry{grid-template-columns:100px minmax(0,1fr);gap:18px;padding:23px 0}.library-photo{height:135px}.library-entry h3{font-size:25px}.review-library-link{align-items:flex-start;flex-direction:column;gap:7px}.article-footer{flex-direction:column;gap:8px}.review-nav{gap:20px}.article-page .edition{display:none}.article-page .masthead{padding-block:22px}.article-page .header-price{font-size:11px}}
@media(max-width:380px){.article-heading h1{font-size:37px}.library-entry{grid-template-columns:85px minmax(0,1fr);gap:14px}.library-entry h3{font-size:23px}.review-facts{grid-template-columns:1fr}.review-facts .format-fact{grid-column:auto}}
.article-page .study-strip span:last-child{display:inline}.article-page .study-strip{flex-wrap:wrap;font-size:9px;gap:4px 16px}
@media print{.study-strip,.nav-bar,.next-review{display:none}.article-photo{position:static}.article-layout{display:block}.article-photo{max-width:400px;margin:0 0 25px}.article-body{max-width:none}.source-details{break-inside:avoid}.article-heading h1{font-size:38px}.review-page{padding-bottom:0}}
.photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.photo-strip a{display:block;background:#eef0ed;padding:6px}.photo-strip img{display:block;width:100%;height:190px;max-height:none;object-fit:contain}.photo-strip a:hover{outline:1px solid var(--line)}@media(max-width:760px){.photo-strip img{height:110px}}
