/* Two compact collections. Shared gutters, typography, cards and motion remain
   owned by design-system.css; no alternate color or product-card system. */
.compact-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(40px,5vw,88px);padding-block:clamp(64px,6vw,104px)}
.compact-hero-copy{min-width:0}
.compact-hero h1{font-size:clamp(48px,4.8vw,84px);line-height:1.07;margin:28px 0 32px;letter-spacing:-.052em;font-weight:400}
.compact-hero h1 span{color:var(--muted)}
.compact-hero .eyebrow{display:flex;gap:16px;align-items:center}
.compact-hero .hero-description{max-width:40ch}
.compact-hero .button{margin-top:32px}
.compact-hero .hero-secondary{display:flex;width:fit-content;margin-top:24px;gap:18px;align-items:center}
.compact-hero-photo{position:relative;isolation:isolate;margin:0;min-width:0;overflow:hidden;border-radius:var(--radius-image);box-shadow:0 18px 44px rgba(0,0,0,.24);background:#111}
.compact-hero-photo img{display:block;width:100%;height:auto;object-fit:contain}
.compact-hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06) 30%,rgba(0,0,0,.14) 64%,rgba(0,0,0,.58));pointer-events:none;z-index:1}
.compact-hero-photo figcaption{position:absolute;z-index:2;bottom:22px;left:24px;right:24px;color:var(--text);font-size:10px;letter-spacing:.05em;text-shadow:0 1px 8px #000}
.compact-material{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,104px);align-items:start}
.compact-material .character-visual{height:auto;aspect-ratio:1;margin:0;position:sticky;top:112px}
.compact-material .character-visual img{width:100%;height:100%;object-fit:contain;padding:0}
.compact-material .image-label{left:24px;bottom:24px;top:auto}
.compact-material-copy h2{margin:24px 0 40px}
.compact-choices,.compact-guidance-steps{display:flex;flex-direction:column;gap:32px}
.compact-choice{display:grid;grid-template-columns:24px minmax(0,1fr);gap:20px;min-width:0}
.compact-choice>.eyebrow{padding-top:5px;margin:0}
.compact-choice h3{font-size:clamp(19px,1.8vw,26px);line-height:1.35;margin:0 0 14px;font-weight:400;letter-spacing:-.025em}
.compact-choice p{font-size:14px;line-height:1.9;margin:0 0 16px}
.compact-choice .text-link{font-size:12px;gap:20px;padding-block:8px}
.compact-connection{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.compact-connection p{font-size:14px;margin:0 0 18px}
.compact-stock{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(48px,6vw,104px)}
.compact-stock-heading{max-width:550px}
.compact-stock-heading h2{margin:24px 0 32px}
.compact-stock-heading>p:not(.eyebrow){font-size:14px;line-height:1.9;margin-bottom:28px}
.compact-stock .work-grid{grid-template-columns:1fr}
.compact-stock-products{min-width:0;max-width:620px;width:100%}
.compact-stock:has(.work-card:nth-child(2)){display:block}
.compact-stock:has(.work-card:nth-child(2)) .compact-stock-heading{max-width:760px;margin-bottom:var(--heading-space)}
.compact-stock:has(.work-card:nth-child(2)) .compact-stock-products{max-width:none}
.compact-stock:has(.work-card:nth-child(2)) .work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.compact-heading-note{max-width:430px}
.compact-guidance{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(48px,8vw,128px);align-items:start}
.compact-guidance-heading h2{margin:24px 0 32px}
.compact-guidance-heading>p:not(.eyebrow){font-size:14px;line-height:1.9;margin-bottom:28px;max-width:40ch}
.compact-related{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
/* Keep full Poppins glyphs visible once the line entrance has finished. */
.compact-page [data-motion-heading][data-motion-state="done"] .uwf-line-mask{overflow:visible!important}
/* Editorial table links reuse the existing photo-card component unchanged. */
.table-paths-grid.has-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.table-path-card .work-content h3{min-height:0;margin-bottom:12px}
.table-path-description{color:var(--text);font-size:14px;line-height:1.8;max-width:32ch;margin:0 0 22px}
.table-path-card .work-link{min-height:44px}
.base-material-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0;min-width:0}
.base-material-list>div{padding:24px;background:var(--surface);border-radius:var(--radius-image);box-shadow:var(--shadow-soft);min-width:0}
.base-material-list dt{font-size:19px;line-height:1.4;letter-spacing:-.025em;color:var(--text);margin:0 0 12px}
.base-material-list dd{font-size:13px;line-height:1.85;color:var(--muted);margin:0}
/* A missing source photo stays explicitly absent; never borrow a different model. */
.base-card.no-photo .work-photo{background:radial-gradient(ellipse at 30% 10%,#393832,#171717 72%)}
.base-photo-missing{position:absolute;top:12%;left:28px;right:28px;color:var(--muted);font-size:12px;line-height:1.7;letter-spacing:.03em;z-index:2}
.base-card .work-meta>span:last-child{max-width:48%;text-align:right;letter-spacing:.035em}
/* The legacy Spider image is landscape: preserve every end of the actual frame. */
.base-card.landscape-photo .work-photo img{object-fit:contain;object-position:center 18%;background:var(--bg)}
.compact-page #project-choice{margin-top:12px;margin-bottom:24px}
.compact-page .request-copy>p{max-width:42ch}
@media(min-width:761px) and (max-width:1100px){
 .compact-hero{grid-template-columns:1fr;gap:40px;padding-block:56px 64px}
 .compact-hero h1{font-size:clamp(52px,7.3vw,76px)}
 .compact-hero-photo{width:100%;max-width:900px}
 .compact-material{gap:40px}
 .compact-material .character-visual{top:90px}
 .compact-stock{gap:40px}
 .compact-stock:has(.work-card:nth-child(2)) .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .compact-guidance{gap:48px}
 .bases-materials{grid-template-columns:1fr}
}
@media(max-width:760px){
 .compact-hero{display:flex;flex-direction:column;align-items:stretch;gap:36px;padding-block:40px 48px}
 .compact-hero h1{font-size:clamp(40px,9.6vw,64px);margin:24px 0 28px}
 .compact-hero .hero-description{font-size:14px;max-width:35ch}
 .compact-hero .button{margin-top:28px;max-width:100%}
 .compact-hero-photo figcaption{bottom:16px;left:16px;right:16px;font-size:9px}
 .compact-material,.compact-guidance,.compact-stock{grid-template-columns:1fr;gap:40px}
 .compact-material .character-visual{position:relative;top:auto}
 .compact-material .image-label{left:18px;bottom:18px;font-size:9px}
 .compact-material-copy h2{margin-bottom:32px}
 .compact-choices,.compact-guidance-steps{gap:32px}
 .compact-choice{gap:16px;grid-template-columns:20px minmax(0,1fr)}
 .compact-choice p{font-size:13px}
 .compact-stock-products{max-width:none}
 .compact-stock:has(.work-card:nth-child(2)) .work-grid{grid-template-columns:1fr}
 .compact-stock.is-mobile-slider:not(.is-expanded) .epoxy-stock-grid{grid-template-columns:none}
 .compact-connection{margin-top:32px}
 .table-paths-grid.has-two{grid-template-columns:1fr}
 .table-path-description{font-size:13px;margin-bottom:16px}
 .base-material-list{gap:16px}
 .base-material-list>div{padding:20px 18px}
 .base-material-list dt{font-size:17px}
 .base-photo-missing{left:22px;right:22px}
}
@media(prefers-reduced-motion:reduce){.compact-hero-photo img{transform:none!important}}
