.resource-dialog { width:min(860px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #e1e7dc; border-radius:22px; color:#244954; background:#fcfcf7; box-shadow:0 30px 100px #102c3c25; overflow:auto; }
.resource-dialog::backdrop { background:#18313766; backdrop-filter:blur(4px); }
.resource-dialog-open { overflow:hidden; }
.resource-popup-layout { display:grid; grid-template-columns:.9fr 1.1fr; }
.resource-close { position:absolute; top:14px; right:14px; width:36px; height:36px; border:1px solid #dce4db; border-radius:50%; background:#fcfcf7e8; color:#31515a; cursor:pointer; font-size:24px; line-height:1; z-index:2; }
.resource-cover-scene { display:flex; align-items:center; justify-content:center; min-height:470px; padding:44px 32px; background:radial-gradient(ellipse at 20% 10%,#e7ebd2,transparent 65%),#e3ece6; overflow:hidden; }
.resource-book { position:relative; width:230px; min-height:325px; padding:24px 22px 22px 30px; border:1px solid #c9cbbb; border-radius:2px 8px 8px 2px; background:linear-gradient(90deg,#d9dfcf 0,#f6f4e7 6%,#f8f6eb 94%,#e0e3d5 100%); box-shadow:16px 20px 35px #294b4630,4px 3px 0 #c8cfbc; transform:rotate(-6deg); box-sizing:border-box; }
.resource-book::before { content:''; position:absolute; top:0; bottom:0; left:12px; width:1px; background:#c4cbb867; }
.resource-book-brand { font-family:var(--sans); font-style:normal; font-size:.68rem; letter-spacing:.08em; }
.resource-book-number { display:block; font-family:var(--serif); font-style:italic; font-size:6.8rem; font-weight:500; line-height:1; margin:24px 0 4px; color:#355649; }
.resource-book-title { display:block; font-family:var(--serif); font-style:italic; font-size:1.9rem; font-weight:600; line-height:1.05; }
.resource-book-rule { display:block; width:35px; height:1px; margin:24px 0 12px; background:#8b9b7d; }
.resource-book-foot { font-family:var(--sans); font-style:normal; font-size:.54rem; letter-spacing:.1em; line-height:1.7; text-transform:uppercase; }
.resource-popup-copy { align-self:center; padding:58px 40px 42px; }
.resource-free-badge { display:inline-block; background:#e8efdf; color:#4a6448; padding:5px 12px; border-radius:30px; font-family:var(--sans); font-style:normal; font-size:.67rem; }
.resource-popup-copy h2 { font-size:clamp(2.3rem,4vw,3.25rem); margin:20px 0; line-height:1.03; }
.resource-popup-copy > p { font-family:var(--sans); font-style:normal; font-size:.84rem; line-height:1.8; color:#5b7074; }
.resource-popup-copy .button { margin-top:14px; width:100%; justify-content:center; font-size:.77rem; padding:15px; }
.resource-popup-copy .resource-fineprint { font-size:.64rem; margin:16px 0 0; }
.resource-trigger { font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; text-align:left; }
.resource-member-link { display:block; margin:20px 0; }
.resource-library { padding-top:150px; padding-bottom:80px; max-width:1000px; }
.resource-library h1 { font-size:clamp(2.8rem,6vw,4.5rem); }
.resource-library-card { display:grid; grid-template-columns:300px 1fr; background:#fcfcf7; border:1px solid #dfe7db; border-radius:20px; overflow:hidden; margin-top:35px; }
.resource-library-card .resource-cover-scene { min-height:400px; }
.resource-library-copy { padding:36px; align-self:center; }
.resource-library-copy p { font-family:var(--sans); font-size:.9rem; line-height:1.8; }
.resource-library [hidden] { display:none!important; }
@media(max-width:650px) { .resource-popup-layout { grid-template-columns:1fr; } .resource-cover-scene { min-height:210px; padding:24px; } .resource-dialog .resource-book { width:145px; min-height:200px; padding:14px 14px 14px 22px; transform:rotate(-5deg); } .resource-dialog .resource-book-number { font-size:3.5rem; margin:10px 0 3px; } .resource-dialog .resource-book-title { font-size:1.22rem; } .resource-dialog .resource-book-rule { margin:12px 0 8px; } .resource-dialog .resource-book-brand { font-size:.5rem; } .resource-dialog .resource-book-foot { font-size:.4rem; } .resource-popup-copy { padding:24px 26px 28px; } .resource-popup-copy h2 { font-size:2.3rem; margin:14px 0; } .resource-library-card { grid-template-columns:1fr; } .resource-library-copy { padding:26px; } }
@media(prefers-reduced-motion:no-preference) { .resource-dialog[open] { animation:resource-arrive .3s ease-out; } @keyframes resource-arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } } }
