@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700;6..12,800&display=swap');

:root { --ink:#28233b; --purple:#4e3b75; --violet:#75649b; --gold:#f4bc52; --mist:#f5f3f8; --paper:#fffefd; --line:#ddd7e8; --muted:#6e687b; --max:1160px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 18px/1.68 'Nunito Sans',Arial,sans-serif; }
a { color:#4e3b75; text-decoration-thickness:1px; text-underline-offset:.18em; }
.shell { width:min(var(--max),calc(100% - 48px)); margin:auto; }
.site-header { background:var(--paper); border-top:7px solid var(--gold); border-bottom:1px solid var(--line); }
.header-inner { min-height:98px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:11px; text-decoration:none; color:var(--ink); font-weight:800; line-height:1.05; }
.brand svg { width:43px; height:43px; flex:none; }
.brand strong { display:block; color:var(--purple); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; }
.site-menu { display:flex; align-items:center; gap:27px; font-size:15px; font-weight:800; }
.menu-home { text-decoration:none; white-space:nowrap; }
.menu-cluster { position:relative; }
.menu-cluster summary { display:flex; gap:8px; align-items:center; cursor:pointer; list-style:none; white-space:nowrap; }
.menu-cluster summary::-webkit-details-marker { display:none; }
.chevron { width:7px; height:7px; border-right:2px solid var(--purple); border-bottom:2px solid var(--purple); transform:rotate(45deg); margin-top:-4px; transition:transform .15s ease; }
.menu-cluster[open] .chevron { transform:rotate(225deg); margin-top:4px; }
.menu-cluster > div { position:absolute; z-index:5; top:calc(100% + 18px); right:0; min-width:225px; padding:10px 16px; display:grid; gap:2px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 16px 28px rgba(40,35,59,.13); }
.menu-cluster:not([open]) > div { display:none; }
.menu-cluster > div a { padding:8px 0; text-decoration:none; }
.menu-cluster > div a:hover, .site-menu a[aria-current=page] { color:#9a6717; }
.menu-toggle { display:none; }
.content-grid { max-width:900px; padding:68px 0 90px; }
.article-kicker { margin:0 0 12px; color:var(--violet); font-size:12px; letter-spacing:.16em; font-weight:800; text-transform:uppercase; }
.article h1 { max-width:850px; margin:0 0 34px; font-size:clamp(42px,5.7vw,73px); line-height:1.02; letter-spacing:-.05em; }
.article h2 { margin:66px 0 17px; font-size:clamp(28px,3.2vw,42px); line-height:1.13; letter-spacing:-.025em; scroll-margin-top:24px; }
.article p { margin:0 0 23px; }
.editorial-note { margin:0 0 34px; padding:21px 23px; display:grid; grid-template-columns:190px 1fr; gap:25px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(90deg,#f9f6ff,#fff); }
.editorial-note div { display:grid; align-content:start; gap:2px; }
.editorial-note span { color:var(--purple); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.editorial-note b { font-size:19px; }
.editorial-note small { color:var(--muted); line-height:1.35; }
.editorial-note blockquote { margin:0; padding-left:24px; border-left:4px solid var(--gold); font-weight:700; line-height:1.48; }
.article-image { width:min(100%,760px); margin:46px auto; padding:0 0 13px; background:var(--mist); border-radius:18px; overflow:hidden; }
.article-image::before, .article-image .image-index { display:none; }
.article-image img { display:block; width:100%; height:auto; max-height:500px; object-fit:contain; background:#fff; }
.article-image figcaption { padding:12px 17px 0; color:var(--muted); font-size:14px; line-height:1.4; }
.table-wrap { overflow:auto; margin:35px 0; border:1px solid var(--line); border-radius:12px; }
table { width:100%; min-width:650px; border-collapse:collapse; font-size:16px; line-height:1.42; }
th,td { padding:13px 14px; vertical-align:top; text-align:left; border-bottom:1px solid var(--line); }
th { background:var(--purple); color:#fff; }
tr:last-child td { border-bottom:0; }
.process-list { padding:0; list-style:none; counter-reset:item; display:grid; gap:10px; }
.process-list li { counter-increment:item; display:grid; grid-template-columns:34px 1fr; gap:9px; }
.process-list li::before { content:counter(item,decimal-leading-zero); color:var(--purple); font-size:13px; font-weight:800; padding-top:4px; }
.faq-item { padding:18px 0; border-top:1px solid var(--line); }
.faq-item:last-child { border-bottom:1px solid var(--line); }
.faq-item summary { cursor:pointer; font-weight:800; }
.faq-item p { margin:12px 0 0; color:var(--muted); }
footer { padding:36px 0; background:var(--purple); color:#fff; }
footer .shell { display:flex; justify-content:space-between; align-items:center; gap:30px; }
footer .brand { color:#fff; }
footer .brand strong { color:var(--gold); }
footer p { margin:0; color:#e4dff0; font-size:14px; }
.legal b { color:var(--gold); }
@media (max-width:750px) {
 body { font-size:17px; } .shell { width:calc(100% - 32px); } .header-inner { min-height:74px; } .brand { font-size:14px; } .brand svg { width:36px; height:36px; }
 .site-menu { display:none; position:absolute; z-index:6; top:72px; left:0; right:0; padding:15px 16px; background:#fff; border:1px solid var(--line); border-radius:0 0 12px 12px; box-shadow:0 14px 26px rgba(40,35,59,.15); }
 .site-menu.open { display:grid; gap:7px; } .site-menu .menu-cluster>div { position:static; padding:4px 0 8px; border:0; box-shadow:none; } .site-menu .menu-cluster summary { padding:8px 0; }
 .menu-toggle { display:flex; align-items:center; gap:7px; border:0; background:transparent; color:var(--purple); font:800 14px 'Nunito Sans'; } .menu-toggle span { font-size:22px; }
 .content-grid { padding:42px 0 60px; } .article h1 { font-size:40px; } .article h2 { margin-top:50px; } .editorial-note { grid-template-columns:1fr; gap:13px; padding:18px; } .editorial-note blockquote { padding:12px 0 0; border-left:0; border-top:3px solid var(--gold); } .article-image { margin:32px auto; border-radius:13px; } footer .shell { display:block; } footer p { margin-top:16px; }
}

/* Preserve readable source lists and make wide tables scroll instead of overflow. */
.table-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
th, td { overflow-wrap:anywhere; }
.process-list, .article-list { margin:0 0 27px; }
.process-list li { grid-template-columns:34px minmax(0,1fr); }
.article-list { display:grid; gap:9px; padding-left:1.35em; list-style:disc; }
.article-list li { padding-left:4px; }
.article-list li::marker { color:var(--purple); }
@media (max-width:750px) {
  .table-wrap { margin:29px 0; }
  .table-wrap table { min-width:560px; font-size:14px; }
  .table-wrap th, .table-wrap td { padding:11px 12px; }
  .process-list, .article-list { margin-bottom:23px; }
}
