/* New drawing blocks + compact spacing (spacing only: no wording, image, colour or font changes). Scoped by body.compact-products. */
body.compact-products .pc-notice,body.compact-products .drawing-dimensions-notice{margin:2px 0 8px;font-size:.84rem;line-height:1.45;color:var(--muted,#666c65)}
body.compact-products .drawing-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:3px 14px;margin:2px 0 6px;font-size:.9rem}
body.compact-products .drawing-dimensions dt,body.compact-products .drawing-dimensions dd{margin:0}
body.compact-products details.source-drawing{display:block;margin:8px 0 0;border-top:1px solid var(--line,#d8dcd5);padding-top:2px;font-size:.92rem;overflow-wrap:anywhere}
body.compact-products details.source-drawing>summary,body.compact-products details.source-drawing details>summary{cursor:pointer;font-weight:650;line-height:1.35;padding:7px 0}
body.compact-products details.source-drawing>p{margin:2px 0 8px;line-height:1.45}
body.compact-products details.source-drawing details{border-top:1px solid var(--line,#d8dcd5);margin:0;padding:0}
body.compact-products details.source-drawing figure{margin:6px 0 10px;background:#fff}
body.compact-products details.source-drawing figure img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}
body.compact-products details.source-drawing figcaption{margin-top:6px;font-size:.82rem;line-height:1.4}
body.compact-products .profile-card details.source-drawing{margin-top:6px}
body.compact-products .additional-drawings ul{margin:6px 0 0;padding-left:1.1rem;columns:2;column-gap:28px}
body.compact-products .additional-drawings li{margin:3px 0;break-inside:avoid}
body.compact-products .additional-drawings details{border:1px solid var(--line,#d8dcd5);border-radius:8px;background:rgba(255,255,255,.55);padding:4px 12px;margin:6px 0}
body.compact-products .additional-drawings details>summary{cursor:pointer;font-weight:650;padding:6px 0}
body.compact-products .additional-drawings figure{margin:6px 0 10px;max-width:640px}
body.compact-products .additional-drawings figure img{display:block;width:100%;height:auto}
/* spacing */
body.compact-products .block{padding-top:44px;padding-bottom:44px}
body.compact-products .page-intro{padding-top:24px;padding-bottom:32px}
body.compact-products .hero-heading{padding:64px 65px 48px}
body.compact-products .cta-panel{margin:34px 0;padding:28px 34px}
body.compact-products h1,body.compact-products h2,body.compact-products h3,body.compact-products p{margin-bottom:.65rem}
body.compact-products main p,body.compact-products .block p{line-height:1.5}
body.compact-products .profile-cards-section{margin:22px 0 6px}
body.compact-products .pc-intro{margin:0 0 12px}
body.compact-products .profile-cards{gap:14px}
body.compact-products .profile-card .pc-body{gap:5px;padding:12px 14px 14px}
body.compact-products .profile-card h3,body.compact-products .pc-size,body.compact-products .pc-desc{margin:0}
body.compact-products .card-content{padding:16px 18px}
body.compact-products .card-content .eyebrow{margin-bottom:8px}
body.compact-products .card .actions{margin-top:12px}
body.compact-products .actions{margin-top:16px}
body.compact-products .profile-layout{gap:40px;margin:18px 20px 40px}
body.compact-products .profile-layout h2{margin-top:22px}
body.compact-products .eyebrow{margin-bottom:10px}
body.compact-products .profile-dimensions-notice{margin:2px 0 10px}
@media(max-width:760px){
body.compact-products .block{padding-top:26px;padding-bottom:26px}
body.compact-products .page-intro{padding-top:16px;padding-bottom:22px}
body.compact-products .hero-heading{padding:36px 22px 30px}
body.compact-products .cta-panel{margin:22px 0;padding:20px 20px;gap:16px}
body.compact-products .profile-cards{gap:12px}
body.compact-products .profile-layout{gap:20px;margin:12px 16px 26px}
body.compact-products .additional-drawings ul{columns:1}
}
/* Drawings inside drop-downs must show in full: undo the 3:2 crop that the profile-picture rules apply to every figure in a card */
body.compact-products .profile-card details.source-drawing figure,
body.compact-products .card details.source-drawing figure{aspect-ratio:auto;height:auto;max-height:none;overflow:visible;background:#fff}
body.compact-products .profile-card details.source-drawing figure>a,
body.compact-products .profile-card details.source-drawing figure>.zoom-frame,
body.compact-products .card details.source-drawing figure>a{display:block;height:auto;max-height:none;overflow:visible}
/* caption links stay inline on one line: Enlarge drawing · Open PDF · Download PDF */
body.compact-products details.source-drawing figcaption a{display:inline;height:auto}
body.compact-products .profile-card details.source-drawing figure img,
body.compact-products .card details.source-drawing figure img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
body.compact-products .profile-card details.source-drawing figcaption,
body.compact-products .card details.source-drawing figcaption{position:static;display:block;overflow:visible}
/* each caption link stays in one piece; wrapping happens between links */
body.compact-products details.source-drawing figcaption a{white-space:nowrap}

/* Hero banner card: a quiet, light card with an outline button. Plain CSS, no images, no layout shift. On desktop it stretches to the full height of the intro text. */
.hero-card{display:flex;flex-direction:column;gap:10px;margin:20px 0 0;padding:14px 18px;background:rgba(255,255,255,.55);border:1px solid var(--line,#d8dcd5);border-radius:12px}
.hero-card .hero-card__main{flex:1 1 auto;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:3px;align-content:center;align-items:start}
.hero-card .hero-card__icon{grid-column:1;grid-row:1 / span 3;box-sizing:content-box;width:20px;height:20px;padding:8px;border-radius:10px;background:#f2e3cb;fill:none;stroke:var(--dark,#192520);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hero-card .hero-card__title{grid-column:2;margin:0;font-size:1.1rem;line-height:1.25;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.hero-card .hero-card__text{grid-column:2;margin:0;font-size:.9rem;line-height:1.5;color:var(--muted,#666c65)}
.hero-card .hero-card__button{grid-column:2;justify-self:start;margin-top:8px;min-height:40px;padding:6px 16px;font-size:.88rem;background:transparent;color:var(--ink);border:1px solid #aeb7ad}
.hero-card .hero-card__button:hover{background:#e4e9e0}
.hero-card .hero-card__points{list-style:none;margin:0;padding:10px 0 0;border-top:1px solid var(--line,#d8dcd5);display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.8rem;line-height:1.4;color:var(--muted,#666c65)}
.hero-card .hero-card__points li{position:relative;margin:0;padding:0 0 0 16px}
.hero-card .hero-card__points li::before{content:"";position:absolute;left:2px;top:.28em;width:4px;height:8px;border:solid var(--dark,#192520);border-width:0 1.6px 1.6px 0;transform:rotate(45deg);opacity:.65}
@media(min-width:801px){
.page-intro--card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);column-gap:48px;align-items:stretch;max-width:none}
.page-intro--card>*:not(.hero-card){grid-column:1}
.page-intro--card>.hero-card{grid-column:2;grid-row:1 / span 3;margin:0;align-self:stretch}
.page-intro--card>.eyebrow{margin-top:0}
.page-intro--card>.lead{margin-bottom:0}
}
@media(max-width:800px){.hero-card{padding:14px;gap:8px}.hero-card .hero-card__main{column-gap:12px}.hero-card .hero-card__button{grid-column:1 / -1;justify-self:stretch;width:100%;margin-top:10px}.hero-card .hero-card__points{padding-top:8px;gap:3px 14px;font-size:.78rem}}

