:root { --communication-ink:#151622; --communication-muted:#606574; --communication-purple:#5845e8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--communication-ink); font-family:Inter,system-ui,sans-serif; background:linear-gradient(145deg,#f3efff,#f7f8fc 50%,#edf5ff); }
.communication-shell { max-width:1160px; margin:0 auto; padding:32px 28px 64px; }
.communication-crumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:13px; color:var(--communication-muted); margin-bottom:26px; }
.communication-crumbs a { color:inherit; text-decoration:none; }
.communication-heading { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); align-items:center; gap:38px; padding:32px; background:rgba(255,255,255,.83); border:1px solid #fff; border-radius:26px; }
.communication-eyebrow { margin:0 0 14px; color:var(--communication-purple); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.communication-heading h1 { margin:0 0 16px; font-size:clamp(1.9rem,3.2vw,2.9rem); line-height:1.16; letter-spacing:-.035em; }
.communication-lede { margin:0 0 16px; color:#555a69; font-size:17px; line-height:1.65; }
.communication-byline { color:var(--communication-muted); font-size:12px; line-height:1.8; margin:0 0 20px; }
.communication-byline a { color:inherit; text-underline-offset:3px; }
.communication-action { display:inline-flex; gap:10px; align-items:center; justify-content:center; min-height:44px; padding:11px 19px; border-radius:999px; background:var(--communication-purple); color:#fff!important; font-size:14px; font-weight:700; text-decoration:none; line-height:1.4; }
.communication-action:hover { background:#4333cb; }
.communication-heading figure { margin:0; min-width:0; }
.communication-heading img { display:block; width:100%; height:220px; object-fit:cover; border-radius:18px; }
.communication-heading figcaption { margin-top:8px; color:#737786; font-size:10px; line-height:1.5; }
.communication-heading figcaption a { color:inherit; }
.communication-layout { display:grid; grid-template-columns:210px minmax(0,1fr); align-items:start; gap:42px; margin-top:36px; }
.communication-toc { position:sticky; top:20px; border:1px solid #e4e1f0; border-radius:18px; background:rgba(255,255,255,.8); padding:18px; }
.communication-toc summary { font-weight:700; font-size:13px; cursor:pointer; }
.communication-toc ol { list-style:none; margin:14px 0 0; padding:0; }
.communication-toc li + li { margin-top:13px; }
.communication-toc a { display:block; color:#626777; font-size:12px; line-height:1.6; text-decoration:none; }
.communication-toc a:hover { color:var(--communication-purple); }
.communication-copy { min-width:0; max-width:760px; }
.communication-copy > p:first-child { margin-top:0; font-size:18px; color:#343948; }
.communication-copy p,.communication-copy li { color:#505664; font-size:16px; line-height:1.85; }
.communication-copy li { margin:8px 0; }
.communication-copy h2 { font-size:clamp(1.5rem,2vw,1.85rem); line-height:1.3; letter-spacing:-.025em; margin:38px 0 14px; scroll-margin-top:24px; }
.communication-copy h3 { font-size:19px; line-height:1.4; margin:24px 0 8px; scroll-margin-top:24px; }
.communication-copy a { color:#5142d0; text-underline-offset:3px; overflow-wrap:anywhere; }
.communication-copy ul { padding-left:23px; }
.communication-copy blockquote { margin:22px 0; padding:16px 22px; border-left:3px solid #8c7bf6; background:#efedff; border-radius:0 14px 14px 0; }
.communication-copy blockquote p { margin:0; }
.communication-callout { margin-top:32px; padding:25px; border-radius:20px; background:#201f3b; }
.communication-callout h2 { color:#fff; margin:0 0 12px; font-size:23px; }
.communication-callout p { color:#d5d3e6; margin:0 0 18px; }
.communication-note { margin-top:28px; padding-top:20px; border-top:1px solid #deddeb; font-size:12px!important; color:#747887!important; }
.communication-related h2 { font-size:20px; }
.communication-related a { display:block; margin:12px 0; font-size:14px; }
.communication-footer { max-width:1104px; margin:0 auto; padding:22px 28px 36px; color:#707585; border-top:1px solid #deddeb; font-size:12px; line-height:1.8; }
.communication-footer a { color:inherit; }
a:focus-visible,summary:focus-visible { outline:3px solid #8f80ed; outline-offset:4px; }
@media(max-width:800px) {
  .communication-shell { padding:24px 20px 48px; }
  .communication-heading { grid-template-columns:1fr; gap:22px; padding:24px; }
  .communication-heading img { height:170px; }
  .communication-layout { grid-template-columns:1fr; gap:25px; margin-top:25px; }
  .communication-toc { position:static; padding:16px; }
  .communication-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; }
  .communication-toc li + li { margin-top:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
