.shelf-page{background:#fff}
.shelf-hero{padding:clamp(62px,8vw,130px) clamp(30px,5vw,80px) clamp(48px,6vw,86px);border-bottom:5px solid #111;background:#fff}
.shelf-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.55fr);gap:clamp(44px,8vw,140px);align-items:end}
.shelf-hero h1{margin:24px 0 0;font:800 clamp(72px,8vw,136px)/.79 Arial,sans-serif;letter-spacing:-.085em}
.shelf-hero h1 em{color:#de3847;font-style:normal}
.shelf-hero p{margin:0;font-size:clamp(16px,1.2vw,20px);font-weight:700;line-height:1.45}
.shelf-note{display:block;margin-top:26px;padding-top:18px;border-top:2px solid #111;color:#de3847;font-size:11px;font-weight:800;text-transform:uppercase;line-height:1.35}
.shelf-index{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid #111;background:#de3847;color:#fff}
.shelf-index>div,.shelf-index>p{margin:0;padding:24px clamp(30px,5vw,80px)}
.shelf-index>div{display:flex;justify-content:space-between;gap:20px;border-right:2px solid #111;text-transform:uppercase;font-size:11px;font-weight:800}
.shelf-index>p{font-size:12px;font-weight:700;line-height:1.4}
.asset-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;padding:clamp(38px,5vw,74px) clamp(30px,5vw,80px) clamp(76px,8vw,124px)}
.asset-card{grid-column:span 4;display:flex;flex-direction:column;min-width:0;border:2px solid #111;border-radius:18px;overflow:hidden;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.asset-card:hover{transform:translateY(-5px);box-shadow:6px 6px 0 #de3847}
.asset-cover{position:relative;display:flex;aspect-ratio:1/1;overflow:hidden;background:#de3847;color:#fff;border-bottom:2px solid #111}
.asset-cover img{width:100%;height:100%;object-fit:cover}
.asset-cover--generated{padding:24px;flex-direction:column;justify-content:space-between}
.asset-cover--generated:before,.asset-cover--generated:after{content:"";position:absolute;border:2px solid currentColor;border-radius:50%}
.asset-cover--generated:before{width:48%;aspect-ratio:1;right:-10%;top:-12%}
.asset-cover--generated:after{width:28%;aspect-ratio:1;right:16%;top:16%}
.asset-cover small{position:relative;z-index:1;font-size:11px;font-weight:800;text-transform:uppercase}
.asset-monogram{position:relative;z-index:1;font-size:clamp(64px,7vw,118px);font-weight:800;line-height:.72;letter-spacing:-.09em}
.asset-monogram b{color:#111}
.asset-card:nth-child(3n+2) .asset-cover--generated{background:#fff;color:#de3847}
.asset-card:nth-child(3n+3) .asset-cover--generated{background:#111;color:#fff}
.asset-card-copy{display:flex;flex:1;flex-direction:column;padding:22px}
.asset-kicker{display:flex;justify-content:space-between;gap:14px;color:#de3847;font-size:10px;font-weight:800;text-transform:uppercase}
.asset-card h2{margin:22px 0 12px;font-size:clamp(34px,3vw,52px);line-height:.88;letter-spacing:-.065em}
.asset-card p{margin:0 0 24px;font-size:13px;font-weight:600;line-height:1.45}
.asset-compatibility{margin-top:auto;padding-top:16px;border-top:2px solid #111;font-size:10px;font-weight:800;text-transform:uppercase}
.asset-button{width:100%;margin-top:18px;padding:16px 18px;border:0;border-radius:999px;background:#de3847;color:#fff;display:flex;justify-content:space-between;font:800 12px Arial,sans-serif;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease}
.asset-button:hover{background:#111}
.asset-empty{grid-column:1/-1;padding:70px 24px;border:2px dashed #111;border-radius:18px;text-align:center;font-size:18px;font-weight:800}
.download-dialog{width:min(920px,calc(100vw - 32px));padding:0;border:2px solid #111;border-radius:20px;background:#fff;color:#111;overflow:hidden;box-shadow:12px 12px 0 #de3847}
.download-dialog::backdrop{background:rgba(17,17,17,.68);backdrop-filter:blur(4px)}
.download-dialog[open]{display:grid;grid-template-columns:.72fr 1.28fr}
.dialog-mark{min-height:600px;padding:26px;background:#de3847;color:#fff;display:flex;flex-direction:column;justify-content:space-between;font-weight:800}
.dialog-mark span{font-size:12px}.dialog-mark b{font-size:clamp(150px,24vw,330px);line-height:.58;letter-spacing:-.12em}
.dialog-copy{padding:clamp(34px,5vw,66px)}
.dialog-copy h2{margin:18px 0 14px;font-size:clamp(50px,6vw,82px);line-height:.82;letter-spacing:-.075em}
.dialog-copy>p{font-size:14px;font-weight:600;line-height:1.45}
.download-dialog label:not(.consent){display:block;margin:18px 0 7px;color:#de3847;font-size:10px;font-weight:800;text-transform:uppercase}
.download-dialog input:not([type=checkbox]){width:100%;border:0;border-bottom:2px solid #111;background:#fff;padding:10px 0;font:700 17px Arial,sans-serif;outline:none}
.download-dialog input:focus{border-color:#de3847}
.consent{display:flex;gap:10px;align-items:flex-start;margin:22px 0;font-size:11px;font-weight:700;line-height:1.35}
.consent input{accent-color:#de3847;margin-top:1px}
.download-dialog form>button,.dialog-done{width:100%;padding:16px 18px;border:2px solid #111;border-radius:999px;background:#de3847;color:#fff;display:flex;justify-content:space-between;font:800 12px Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.download-dialog form>small{display:block;margin-top:12px;font-size:9px;line-height:1.4}
.dialog-close{position:absolute;z-index:2;right:15px;top:15px;width:38px;height:38px;border:2px solid #111;border-radius:50%;background:#fff;color:#111;font-size:23px;line-height:1;cursor:pointer}
.download-success{padding-top:34px;border-top:2px solid #111}
.download-success b{font-size:44px;letter-spacing:-.05em}.download-success p{font-weight:700;line-height:1.45}.dialog-done{margin-top:26px;justify-content:center}
@media(max-width:1100px){.asset-card{grid-column:span 6}.shelf-hero-grid{grid-template-columns:1fr}.shelf-index{grid-template-columns:1fr}.shelf-index>div{border-right:0;border-bottom:2px solid #111}}
@media(max-width:760px){.shelf-hero{padding:48px 22px 42px}.shelf-hero h1{font-size:clamp(62px,19vw,88px)}.shelf-hero-grid{gap:30px}.shelf-index>div,.shelf-index>p{padding:20px 22px}.asset-grid{display:block;padding:26px 16px 70px}.asset-card{margin-bottom:18px}.download-dialog[open]{display:block}.dialog-mark{min-height:150px;padding:20px}.dialog-mark b{font-size:118px;align-self:flex-end}.dialog-copy{padding:30px 22px 28px}.dialog-copy h2{font-size:50px}.dialog-close{right:12px;top:12px}.download-dialog{max-height:calc(100vh - 24px);overflow-y:auto;box-shadow:6px 6px 0 #de3847}}
