/* ═══ Silo / article pages — extends site.css (same tokens as homepage) ═══ */
.page-banner { height:auto; min-height:260px; padding:56px 20px; }
.page-banner-content { max-width:900px; }
.page-banner-content h1 { line-height:1.25; }
.breadcrumb { flex-wrap:wrap; }

.silo-wrap {
  max-width:1200px; margin:0 auto; padding:56px 40px 64px;
  display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:48px; align-items:start;
}
.silo-article { min-width:0; }

.quick-answer {
  background:#fbf7ee; border-left:4px solid var(--gold);
  border-radius:var(--radius); padding:20px 24px; margin-bottom:18px;
}
.quick-answer .qa-label { font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--orange-dk); margin-bottom:6px; }
.quick-answer p { font-size:16px; line-height:1.75; color:#222; }

.byline { font-size:13px; color:#666; margin-bottom:28px; }
.byline a { color:var(--purple); font-weight:700; }

.toc { background:#f6f5fb; border-radius:var(--radius); padding:18px 24px; margin-bottom:36px; }
.toc-title { font-weight:800; font-size:14px; color:#111; margin-bottom:8px; }
.toc ol { padding-left:20px; }
.toc li { font-size:14px; line-height:1.9; }
.toc a { color:var(--purple); }
.toc a:hover { text-decoration:underline; }

.silo-body h2, .child-grid-wrap h2, .faq-block h2 {
  font-size:clamp(20px,2.2vw,26px); font-weight:800; color:#111;
  margin:40px 0 14px; line-height:1.35; scroll-margin-top:96px;
}
.silo-body h3 { font-size:18px; font-weight:800; color:#222; margin:26px 0 10px; }
.silo-body p { font-size:15.5px; line-height:1.85; color:#333; margin-bottom:16px; }
.silo-body ul, .silo-body ol { margin:0 0 18px 22px; }
.silo-body li { font-size:15.5px; line-height:1.8; color:#333; margin-bottom:6px; }
.silo-body a { color:var(--purple); font-weight:600; border-bottom:1px solid rgba(61,46,124,.25); }
.silo-body a:hover { border-bottom-color:var(--purple); }
.silo-body strong { color:#111; }
.silo-body table { width:100%; border-collapse:collapse; margin:10px 0 22px; font-size:14.5px; }
.silo-body th, .silo-body td { border:1px solid #e3e0ea; padding:10px 12px; text-align:left; vertical-align:top; line-height:1.6; }
.silo-body th { background:#f6f5fb; font-weight:800; }
.table-wrap { overflow-x:auto; }
.silo-body .note {
  background:#eef6f9; border-left:4px solid var(--teal); border-radius:8px;
  padding:14px 18px; margin:18px 0; font-size:14.5px; line-height:1.75;
}
.silo-body dl dt { font-weight:800; font-size:16px; color:#111; margin-top:22px; scroll-margin-top:96px; }
.silo-body dl dd { font-size:15.5px; line-height:1.8; color:#333; margin:6px 0 0; }

.child-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.child-card {
  display:flex; flex-direction:column; gap:8px; padding:20px; border:1px solid #ebe7f2;
  border-radius:var(--radius); background:#fff; transition:transform .2s, box-shadow .2s, border-color .2s;
}
.child-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--orange); }
.child-card img { width:40px; height:40px; }
.child-card strong { color:#111; font-size:15.5px; }
.child-card span { color:#555; font-size:13.5px; line-height:1.6; }

.faq-block details { border:1px solid #ebe7f2; border-radius:var(--radius); margin-bottom:10px; background:#fff; }
.faq-block summary { cursor:pointer; padding:16px 20px; font-weight:700; font-size:15px; color:#111; list-style:none; position:relative; padding-right:44px; }
.faq-block summary::-webkit-details-marker { display:none; }
.faq-block summary::after { content:'+'; position:absolute; right:20px; top:50%; transform:translateY(-50%); font-size:20px; color:var(--orange); }
.faq-block details[open] summary::after { content:'–'; }
.faq-ans { padding:0 20px 16px; }
.faq-ans p { font-size:15px; line-height:1.8; color:#444; }
.faq-ans a { color:var(--purple); font-weight:600; }

.disclaimer { margin-top:36px; font-size:13px; color:#666; line-height:1.7; background:#f7f7f7; border-radius:8px; padding:14px 18px; }

.silo-side { position:sticky; top:100px; display:flex; flex-direction:column; gap:18px; }
.side-card { border:1px solid #ebe7f2; border-radius:var(--radius); padding:20px; background:#fff; }
.side-cta { background:var(--navy); border:none; color:#fff; }
.side-cta p { font-size:14px; line-height:1.7; color:rgba(255,255,255,.85); margin-bottom:12px; }
.side-cta strong { color:var(--gold); }
.side-title { font-weight:800; font-size:16px; margin-bottom:10px; color:inherit; }
.side-cta .side-title { color:#fff; }
.side-btn { display:block; text-align:center; padding:11px 14px; border-radius:30px; font-weight:700; font-size:14px; margin-bottom:10px; background:var(--orange); color:#fff; transition:background .2s; }
.side-btn:hover { background:var(--orange-dk); }
.side-btn-alt { background:transparent; border:1px solid rgba(255,255,255,.5); }
.side-btn-alt:hover { background:rgba(255,255,255,.1); }
.side-btn-wa { background:#1fa855; }
.side-btn-wa:hover { background:#178a45; }
.side-small { font-size:12px !important; color:rgba(255,255,255,.6) !important; margin:4px 0 0 !important; }
.side-link { display:block; font-size:14px; color:#333; padding:7px 0; border-bottom:1px dashed #eee; }
.side-link:last-child { border-bottom:none; }
.side-link:hover { color:var(--orange-dk); }
.side-parent { font-weight:700; color:var(--purple); }

.cta-section h2.cta-main { margin-top:0; }

@media (max-width:980px) {
  .silo-wrap { grid-template-columns:1fr; padding:40px 24px 48px; gap:32px; }
  .silo-side { position:static; }
}
@media (max-width:600px) {
  .silo-wrap { padding:32px 16px 40px; }
  .page-banner { min-height:200px; padding:40px 16px; }
  .quick-answer { padding:16px 18px; }
  .silo-body p, .silo-body li { font-size:15px; }
}
