/* ELK Custom Homes — Resources (extends /assets/style.css) */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:960px){.res-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.res-grid{grid-template-columns:1fr}}
.res-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.res-card:hover,.res-card:focus-visible{border-color:var(--sec,var(--accent));transform:translateY(-3px);box-shadow:0 10px 30px rgba(15,20,23,.07)}
.res-card .tag{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sec,var(--accent));font-weight:600;margin-bottom:14px}
.res-card h3{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.2;margin:0 0 12px}
.res-card p{color:var(--muted);font-size:.96rem;margin:0 0 20px;flex:1}
.res-card .more{font-size:.9rem;font-weight:600;display:flex;justify-content:space-between;color:var(--text)}
.res-card .more small{font-weight:400;color:var(--muted)}

.article-hero{padding:72px 0 40px;border-bottom:1px solid var(--line)}
.article-hero h1{font-size:clamp(2.1rem,5vw,3.6rem);max-width:20ch}
.article-hero .meta{color:var(--muted);font-size:.92rem;margin-top:18px}
.article-hero .meta span+span::before{content:"·";margin:0 10px}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:72px;padding-top:56px;padding-bottom:88px}
@media (max-width:960px){.article-layout{grid-template-columns:1fr;gap:40px}}
.prose{max-width:70ch}
.prose .intro{font-size:1.18rem;line-height:1.65;color:var(--text);margin-bottom:1.6em}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:1.8em 0 .5em}
.prose h3{font-size:1.12rem;margin:1.5em 0 .4em}
.prose p,.prose li{color:#33393d}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1.2em}
.prose li{margin:.35em 0}
.prose a{color:var(--text);text-decoration-color:var(--sec,var(--accent));text-underline-offset:3px;text-decoration-thickness:2px}
.prose ul.ticks{list-style:none;padding:0}
.prose ul.ticks li{position:relative;padding-left:30px}
.prose ul.ticks li::before{content:"";position:absolute;left:2px;top:.5em;width:14px;height:8px;border-left:2px solid var(--sec,var(--accent));border-bottom:2px solid var(--sec,var(--accent));transform:rotate(-45deg)}
.callout{background:var(--paper-2);border-left:3px solid var(--sec,var(--accent));padding:18px 22px;margin:1.6em 0;border-radius:0 var(--radius) var(--radius) 0;font-size:.97rem}
.aside{position:sticky;top:96px;align-self:start;display:grid;gap:20px}
@media (max-width:960px){.aside{position:static}}
.aside .box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.aside h4{margin:0 0 12px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.aside ul{list-style:none;margin:0;padding:0}
.aside li{padding:8px 0;border-top:1px solid var(--line);font-size:.94rem}
.aside li:first-child{border-top:0}
.aside a{text-decoration:none}
.aside a:hover{color:var(--sec,var(--accent))}
.aside .box.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.aside .box.dark p{color:var(--muted-dark);font-size:.94rem;margin:0 0 16px}
.disclaimer{font-size:.84rem;color:var(--muted);border-top:1px solid var(--line);margin-top:3em;padding-top:1.4em}
