/* Shared site shell owns its own styles; resource styles stay within the page. */
html,body{margin:0;padding:0;background:var(--edison-white);color:var(--edison-ink)}
.resource-page,.resource-page *{box-sizing:border-box}
.resource-page{width:min(1136px,calc(100% - 64px));margin:auto;font-size:18px;line-height:1.6}
.resource-page [hidden]{display:none!important}
.resource-page h1,.resource-page h2{font-weight:500;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
.resource-page h1{font-size:clamp(42px,4.5vw,64px);margin:0 0 24px}
.resource-page h2{font-size:36px;margin:0 0 22px}
.resource-page p{margin:0 0 20px;text-wrap:pretty}
.resource-page .resource-eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:500;color:var(--edison-color-text-muted);margin:0 0 20px}
.resource-intro{font-size:21px;line-height:1.5;max-width:620px}
.resource-page .resource-fine{font-size:14px;line-height:1.55;color:var(--edison-color-text-muted)}
.resource-hero{padding:80px 0 64px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:center}
.resource-hero>div,.resource-overview>div{min-width:0}
.resource-cover{min-width:0;width:100%}
.resource-cover{margin:0;background:var(--edison-color-surface-subtle);padding:36px 44px 28px;border:1px solid var(--edison-border)}
.resource-cover img{display:block;width:100%;height:auto;border:1px solid var(--edison-border);box-shadow:0 12px 30px #15140f12}
.resource-cover figcaption{font-size:12px;color:var(--edison-color-text-muted);margin-top:16px;text-align:center;line-height:1.5}
.resource-overview{padding:64px 0;display:grid;grid-template-columns:1fr 1.3fr;gap:80px;border-top:1px solid var(--edison-border)}
.resource-contents{list-style:none;padding:0;margin:0;counter-reset:chapter}
.resource-contents li{border-top:1px solid var(--edison-border);padding:16px 0;display:flex;gap:24px;align-items:baseline}
.resource-contents li:before{counter-increment:chapter;content:counter(chapter,decimal-leading-zero);font-size:12px;color:var(--edison-color-text-muted);font-variant-numeric:tabular-nums}
.resource-capture{padding-top:28px;scroll-margin-top:48px}
.capture-surface{position:relative;width:228px;max-width:100%;height:52px;transition:width .2s ease,height .2s ease;margin-bottom:14px}
.resource-capture[data-state=email] .capture-surface,.resource-capture[data-state=pending] .capture-surface{width:560px}
.resource-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;border:1px solid var(--edison-color-action-border);border-radius:8px;background:var(--edison-color-action);color:var(--edison-color-on-action);text-decoration:none;font-size:15px;font-weight:500;line-height:1.3;min-height:52px;white-space:nowrap;cursor:pointer}
.resource-button:hover{background:var(--edison-color-action-hover)}
.resource-button:disabled{cursor:wait;opacity:.65}
.capture-surface>[data-resource-open],.capture-surface>[data-resource-direct]{width:100%;height:100%}
.resource-capture form{width:100%;animation:capture-appear .2s ease both}
.resource-capture fieldset{border:0;padding:0;margin:0;min-width:0;display:flex;gap:8px;align-items:stretch}
.capture-email{flex:1;min-width:0;position:relative}
.capture-email label{position:absolute;left:0;top:-24px;font-size:13px;line-height:20px;font-weight:500}
.capture-email input{width:100%;height:52px;min-width:0;padding:12px;border:1px solid var(--edison-color-control-border);border-radius:8px;background:var(--edison-white);color:var(--edison-ink);font-size:16px;line-height:1.5}
.capture-email input:focus-visible{outline:2px solid var(--edison-color-focus-ring);outline-offset:2px}
.capture-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.resource-page .capture-error{color:#a32924;font-size:14px;line-height:1.5;margin:0 0 12px}
.resource-page .capture-unavailable{font-size:16px;line-height:1.5}
.resource-capture[data-state=unavailable] .capture-surface,.resource-capture[data-state=success] .capture-surface{display:none}
.capture-success{min-height:52px;margin-bottom:14px;animation:capture-appear .2s ease both}
.resource-page .capture-success p{margin:0;font-weight:500}
.capture-success a{font-size:15px;display:inline-flex;min-height:44px;align-items:center}
.resource-privacy{max-width:760px;padding-top:64px;padding-bottom:64px}
.resource-privacy h2{font-size:28px;margin-top:40px}
@keyframes capture-appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.resource-hero{gap:36px}.resource-cover{padding:25px}.resource-overview{gap:40px}.resource-capture fieldset{flex-direction:column}.resource-capture[data-state=email] .capture-surface,.resource-capture[data-state=pending] .capture-surface{height:112px}.resource-capture .resource-button{width:100%}}
@media(max-width:680px){.resource-page{width:calc(100% - 48px)}.resource-hero{grid-template-columns:minmax(0,1fr);padding:44px 0;gap:36px}.resource-intro{font-size:19px}.resource-cover{max-width:360px;margin:auto;padding:28px 38px}.resource-overview{grid-template-columns:minmax(0,1fr);padding:40px 0;gap:24px}.resource-page h2{font-size:30px}.resource-capture .resource-fine{font-size:13px}.resource-privacy{padding-top:40px;padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.resource-page *{transition:none!important;animation:none!important}}
