/* PUB-001 · selected Figma R3. The shared header/footer remain the current site shell. */
.do-legacy-page:has(.do-publications){width:100%!important;max-width:none!important;padding:0!important;margin:0!important;overflow:visible}
.do-legacy-page:has(.do-publications)>.do-legacy-crumbs{display:none}
.do-publications{--pub-red:#ba0f26;--pub-dark:#171615;--pub-text:#2c2b2a;--pub-sticky-top:0px;font-family:Montserrat,Arial,sans-serif;color:var(--pub-text);background:#fff;min-width:0}
.do-publications *{box-sizing:border-box}
.do-publications a{color:inherit;text-decoration:none}
.do-publications a:focus-visible,.do-publications button:focus-visible,.do-publications [tabindex="0"]:focus-visible{outline:3px solid var(--pub-red);outline-offset:4px}
.do-pub-shell{width:100%;max-width:1264px;margin-inline:auto;padding-inline:24px;min-width:0}
.do-pub-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--pub-dark);color:#fff;padding-block:112px}
.do-pub-hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;background:url('./assets/o-hero.svg') no-repeat; background-size:contain;width:1740px;aspect-ratio:1740/1725.501;left:calc(50% + 250px);top:-550px}
.do-pub-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px;font-size:12px;line-height:1.6}
.do-pub-crumbs a:hover{text-decoration:underline}
.do-publications .do-pub-hero h1{max-width:840px;font-size:60px;line-height:1.12;font-weight:800;margin:0 0 32px;letter-spacing:-1.2px;overflow-wrap:break-word;color:#fff}
.do-publications .do-pub-hero:not(.do-pub-hero--listing) h1{min-height:210px}
.do-pub-photo{display:block;width:100%;height:400px;object-fit:cover;border-radius:24px;background:#fff}
.do-pub-hero--contain>.do-pub-shell>.do-pub-photo{object-fit:contain}
.do-publications .do-pub-hero--listing h1{font-size:52px;max-width:none}
.do-pub-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.do-pub-feature__copy{display:flex;flex-direction:column;gap:24px;min-width:0}
.do-pub-feature__copy p{margin:0;font-size:16px;line-height:1.6}
.do-publications .do-pub-feature h2{font-size:42px;line-height:1.12;font-weight:600;color:#fff;margin:0}
.do-pub-feature .do-pub-photo{height:360px}
.do-publications .do-pub-eyebrow{font-size:12px;line-height:1.6;font-weight:500;margin:0}
.do-pub-read{font-size:14px;line-height:1.6;font-weight:600}
.do-pub-read:hover{text-decoration:underline}
.do-pub-content{padding-block:48px 64px}
.do-pub-reading{display:grid;grid-template-columns:240px minmax(0,720px);gap:64px;align-items:start;margin-bottom:64px}
.do-pub-aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:32px;min-width:0}
.do-pub-toc--desktop>p{font-size:14px;line-height:1.6;font-weight:600;margin:0 0 20px}
.do-pub-toc__links{display:flex;flex-direction:column;gap:16px}
.do-pub-toc a{font-size:13px;line-height:1.6;color:#707070}
.do-pub-toc a[aria-current]{color:var(--pub-red);font-weight:600}
.do-pub-toc a:hover{color:var(--pub-red)}
.do-pub-toc--mobile{display:none}
.do-pub-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:361px;border-radius:20px;padding:20px;color:#fff!important;background:var(--pub-dark);gap:16px}
.do-pub-banner::before{content:"";position:absolute;z-index:-1;pointer-events:none;background:url('./assets/o-banner.svg') no-repeat;background-size:contain;width:636px;aspect-ratio:636/630.701;left:85.86px;top:-148.63px;transform:translate(-50%,-50%) rotate(-10deg)}
.do-pub-banner strong{font-size:24px;line-height:1.25;font-weight:600;margin-top:auto}
.do-pub-banner .do-pub-read{font-size:12px}
.do-pub-banner:not(.do-pub-banner--red){gap:13.427px;padding:20.14px}
.do-pub-banner:not(.do-pub-banner--red) strong{font-size:20.14px}
.do-pub-banner:not(.do-pub-banner--red) .do-pub-eyebrow{font-size:10.07px}
.do-pub-banner:not(.do-pub-banner--red) .do-pub-read{font-size:10.91px}
.do-pub-banner--red{background:var(--pub-red)}
.do-pub-banner--red::before{background:url('./assets/o-card.svg') no-repeat center/contain;width:600px;aspect-ratio:600/595;top:-388.53px;left:-182.1px;transform:none}
.do-pub-body{min-width:0;font-size:18px;line-height:1.6;overflow-wrap:break-word}
.do-pub-body p{margin:0 0 24px}
.do-pub-body>p:first-child{font-size:20px;line-height:1.25;font-weight:500}
.do-pub-body p:empty{display:none}
.do-pub-body h2,.do-pub-body h3{font-size:32px;line-height:1.12;font-weight:600;margin:32px 0 20px;color:var(--pub-text)}
.do-pub-body h2:first-child{margin-top:0}
.do-pub-body [id]{scroll-margin-top:calc(var(--pub-sticky-top) + 76px)}
.do-pub-body img{max-width:100%;height:auto;border-radius:16px}
.do-pub-body a{color:var(--pub-red);text-decoration:underline;text-underline-offset:3px}
.do-pub-body iframe,.do-pub-body video{max-width:100%;aspect-ratio:16/9;height:auto}
.do-pub-body ul,.do-pub-body ol{padding-left:24px;margin-block:24px}
.do-pub-table{max-width:100%;overflow-x:auto;margin-block:24px;overscroll-behavior-inline:contain}
.do-pub-table table{border-collapse:collapse;width:100%;min-width:640px;font-size:12px;line-height:1.5}
.do-pub-table td,.do-pub-table th{padding:10px;border:0;border-bottom:1px solid #eee;text-align:left;vertical-align:top}
.do-pub-table tr:first-child{font-weight:600;background:#f3f3f3}
.do-pub-table tr:nth-child(even){background:#fafafa}
.do-pub-table p{font-size:inherit;line-height:inherit;margin:0}
.do-pub-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}
.do-publications .do-pub-section-head h2,.do-publications .do-pub-related>h2{font-size:36px;line-height:1.12;font-weight:600;margin:0}
.do-pub-all{font-size:14px;line-height:1.6;font-weight:600;color:var(--pub-red)!important;flex-shrink:0}
.do-pub-products{margin-bottom:64px;min-width:0}
.do-pub-product-viewport{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;padding:2px;margin:-2px}
.do-pub-product-viewport::-webkit-scrollbar{display:none}
.do-pub-products .do-card-r5-grid{display:flex!important;gap:24px;align-items:stretch}
.do-pub-products .do-card-r5-grid>.do-card-r5{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start;min-height:480px}
.do-pub-products .do-card-r5 h2{font-size:15px;line-height:22px;font-weight:500;margin:0}
.do-pub-carousel-controls{display:flex;gap:12px;margin-top:24px}
.do-pub-carousel-controls button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #e0e0e0;background:#fff;color:var(--pub-text);font:400 28px/1 Montserrat,Arial,sans-serif;cursor:pointer}
.do-pub-carousel-controls button:disabled{opacity:.35;cursor:default}
.do-pub-carousel-controls img{display:block;width:12px;height:12px;object-fit:contain}
.do-pub-carousel-controls [data-carousel-prev] img{transform:rotate(180deg)}
.do-pub-related>h2{margin-bottom:24px!important}
.do-pub-editorial{display:grid;grid-template-columns:minmax(0,736fr) minmax(0,456fr);grid-template-rows:repeat(2,minmax(238px,auto));gap:24px;min-width:0}
.do-pub-story{display:flex;gap:20px;min-width:0;padding:20px;background:#fafafa;border-radius:24px;transition:background .2s}
.do-pub-story:hover{background:#f1f1f1}
.do-pub-story>.do-pub-photo{width:150px;height:100%;min-height:198px;object-fit:cover;flex-shrink:0}
.do-pub-story__copy{display:flex;flex-direction:column;gap:12px;min-width:0}
.do-pub-story .do-pub-eyebrow{color:var(--pub-red)}
.do-publications .do-pub-story h3{font-size:22px;line-height:1.25;font-weight:600;margin:0;color:inherit;overflow-wrap:break-word}
.do-pub-story .do-pub-read{margin-top:auto;color:var(--pub-red);font-size:13px}
.do-pub-story--feature{grid-row:span 2;display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--pub-dark);color:#fff!important}
.do-pub-story--feature:hover{background:#292827}
.do-pub-story--feature>.do-pub-photo{width:100%;height:260px;min-height:0}
.do-pub-story--feature .do-pub-story__copy{flex:1}
.do-pub-story--feature .do-pub-eyebrow,.do-pub-story--feature .do-pub-read{color:#fff}
.do-publications .do-pub-story--feature h3{font-size:30px;line-height:1.12}
.do-pub-story--contain>.do-pub-photo{object-fit:contain}
.do-pub-archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}
.do-pub-archive .do-pub-story{flex-direction:column}
.do-pub-archive .do-pub-photo{width:100%;height:220px;min-height:0}
.do-pub-pagination{margin-top:32px}
@media(max-width:1100px){
 .do-pub-hero{padding-block:64px}.do-pub-reading{grid-template-columns:220px minmax(0,1fr);gap:40px}
 .do-pub-products .do-card-r5-grid>.do-card-r5{flex-basis:calc((100% - 48px)/3)}
 .do-pub-editorial{grid-template-columns:1.2fr 1fr}.do-pub-story>.do-pub-photo{width:110px}.do-pub-story--feature>.do-pub-photo{width:100%}
}
@media(max-width:760px){
 .do-pub-shell{padding-inline:16px}.do-pub-hero{padding-block:16px 48px}.do-pub-hero::before{width:900px;left:calc(100% - 150px);top:calc(-100px + var(--pub-hero-shift,0px))}
 .do-pub-crumbs{margin-bottom:32px;font-size:12px}
 .do-publications .do-pub-hero h1{font-size:36px;line-height:1.12;letter-spacing:-.6px;max-width:min(300px,calc(100% - 10px));margin-bottom:32px}
 .do-publications .do-pub-hero:not(.do-pub-hero--listing) h1{min-height:0}
 .do-pub-hero>.do-pub-shell>.do-pub-photo{height:230px}
 .do-publications .do-pub-hero--listing h1{font-size:36px}
 .do-pub-hero--listing::before{top:100px}
 .do-pub-feature{display:flex;flex-direction:column;gap:24px}.do-pub-feature__copy{gap:16px}.do-publications .do-pub-feature h2{font-size:30px;max-width:310px}
 .do-pub-feature__copy p{font-size:14px}.do-pub-feature__image{width:100%}.do-pub-feature .do-pub-photo{height:230px}
 .do-pub-content{padding-block:24px 48px}.do-pub-reading{display:block;margin-bottom:64px}.do-pub-aside{display:none}
 .do-pub-toc--mobile{display:block;position:sticky;top:var(--pub-sticky-top);z-index:20;margin:0 -16px 24px;background:#fff;border-block:1px solid #f2f2f2;box-shadow:0 2px 4px #00000005}
 .do-pub-toc--mobile .do-pub-toc__links{height:52px;display:flex;flex-direction:row;gap:4px;padding-inline:4px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
 .do-pub-toc--mobile .do-pub-toc__links::-webkit-scrollbar{display:none}
 .do-pub-toc--mobile a{position:relative;display:flex;align-items:center;min-height:50px;flex:none;padding-inline:12px;white-space:nowrap}
 .do-pub-toc--mobile a[aria-current]::after{content:"";position:absolute;bottom:0;left:12px;right:12px;height:2px;background:var(--pub-red)}
 .do-pub-body{font-size:18px;line-height:1.6}.do-pub-body h2,.do-pub-body h3{font-size:26px;line-height:1.25}
 .do-pub-section-head{flex-direction:column;align-items:start;gap:12px}.do-publications .do-pub-section-head h2,.do-publications .do-pub-related>h2{font-size:28px;line-height:1.12}
 .do-pub-products .do-card-r5-grid{gap:24px}.do-pub-products .do-card-r5-grid>.do-card-r5{flex-basis:min(304px,86vw);min-height:480px;padding:16px}
 .do-pub-products .do-card-r5 .do-sections__image{height:160px;padding-top:24px}.do-pub-products .do-card-r5 .do-sections__actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
 .do-pub-products .do-card-r5__body{min-height:146px}.do-pub-products .do-card-r5 .do-sections__description{font-size:13px;line-height:19px}.do-pub-products .do-card-r5__maker,.do-pub-products .do-card-r5__article{font-size:12px;line-height:18px}
 .do-pub-editorial{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:2px;margin:-2px;scrollbar-width:none}
 .do-pub-editorial::-webkit-scrollbar{display:none}.do-pub-editorial .do-pub-story{flex:0 0 min(304px,86vw);min-height:390px;display:flex;flex-direction:column;padding:20px;gap:16px;scroll-snap-align:start}
 .do-pub-editorial .do-pub-photo{width:100%;height:190px;min-height:0}.do-pub-editorial .do-pub-story__copy{flex:1}
 .do-publications .do-pub-editorial .do-pub-story h3{font-size:22px;line-height:1.25}.do-pub-archive{grid-template-columns:1fr;gap:16px}.do-pub-archive .do-pub-story{padding:20px}.do-pub-archive .do-pub-photo{height:210px}
}
@media(prefers-reduced-motion:reduce){.do-pub-story{transition:none}}

/* Mobile archive cards stack photo above copy; do not inherit the tablet 110px thumbnail. */
@media(max-width:760px){
 .do-pub-archive .do-pub-story>.do-pub-photo{width:100%;max-width:100%;height:210px;min-height:0;align-self:stretch}
}
