/* /publishing/: static, script-free. Square corners only; link colours pinned for visited/hover. */
.slate-publishing-page { --pub-ground:#191a1a; --pub-panel:#202724; --pub-text:#eef1ef; --pub-muted:#b5c2bb; --pub-accent:#8ac8a8; --pub-line:#3e5147; box-sizing:border-box; margin:0; min-height:100vh; color:var(--pub-text); background:var(--pub-ground); font-family:Inter,"Helvetica Neue",sans-serif; }
.slate-publishing-page * { box-sizing:border-box; border-radius:0; }
.slate-publishing-page a, .slate-publishing-page a:visited { color:var(--pub-accent); text-decoration:none; }
.slate-publishing-page a:hover { text-decoration:underline; text-underline-offset:5px; }
.slate-publishing-page a:focus-visible { outline:2px solid var(--pub-accent); outline-offset:4px; }
.pub-skip { position:absolute; left:16px; top:-100px; padding:12px 18px; background:var(--pub-panel); z-index:10; }
.pub-skip:focus { top:12px; }
.pub-header, .pub-footer { width:min(1160px,100%); margin:auto; padding:24px 32px; display:flex; justify-content:space-between; align-items:center; gap:32px; }
.slate-publishing-page .pub-brand { display:flex; align-items:center; gap:10px; color:var(--pub-text); font-size:30px; font-weight:600; letter-spacing:-1px; }
.pub-header nav { display:flex; flex-wrap:wrap; align-items:center; gap:24px; font-size:14px; }
.slate-publishing-page .pub-button { display:inline-block; padding:13px 22px; border:1px solid var(--pub-line); color:var(--pub-text); font-size:15px; font-weight:500; }
.slate-publishing-page .pub-button:visited { color:var(--pub-text); }
.slate-publishing-page .pub-button:hover { text-decoration:none; border-color:var(--pub-accent); }
.slate-publishing-page .pub-button-primary, .slate-publishing-page .pub-button-primary:visited { background:var(--pub-accent); border-color:var(--pub-accent); color:#10201a; }
.pub-main { width:min(1080px,calc(100% - 64px)); margin:48px auto 88px; }
.pub-hero { max-width:820px; margin-bottom:72px; }
.pub-eyebrow { margin:0 0 16px; font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--pub-muted); }
.slate-publishing-page h1 { font:600 clamp(38px,6.4vw,68px)/1.08 Inter,sans-serif; letter-spacing:-.045em; margin:0 0 24px; text-wrap:balance; }
.pub-lede { font-size:20px; line-height:1.6; color:var(--pub-muted); max-width:62ch; margin:0 0 32px; }
.pub-actions { display:flex; flex-wrap:wrap; gap:14px; }
.pub-section { margin-bottom:80px; }
.slate-publishing-page h2 { font-size:clamp(26px,3.4vw,36px); line-height:1.2; letter-spacing:-.03em; font-weight:500; margin:0 0 14px; }
.pub-intro { color:var(--pub-muted); line-height:1.7; max-width:66ch; margin:0 0 32px; }
.pub-themes { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin:0; padding:0; list-style:none; }
.pub-theme { margin:0; border:1px solid var(--pub-line); background:var(--pub-panel); }
.pub-theme img { display:block; width:100%; height:auto; aspect-ratio:768/540; object-fit:cover; border-bottom:1px solid var(--pub-line); }
.pub-theme figcaption { padding:14px 18px; display:flex; justify-content:space-between; gap:16px; font-size:14px; }
.pub-theme figcaption span { color:var(--pub-muted); }
.pub-note { margin:20px 0 0; font-size:13px; line-height:1.6; color:var(--pub-muted); }
.pub-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:0; padding:0; list-style:none; counter-reset:step; }
.pub-steps li { counter-increment:step; border-top:1px solid var(--pub-line); padding-top:20px; }
.pub-steps li::before { content:counter(step); display:block; margin-bottom:12px; font-size:14px; color:var(--pub-accent); }
.pub-steps h3, .pub-feature h3 { font-size:19px; font-weight:500; margin:0 0 8px; letter-spacing:-.01em; }
.pub-steps p, .pub-feature p { margin:0; color:var(--pub-muted); line-height:1.65; font-size:16px; }
.pub-features { display:grid; grid-template-columns:repeat(2,1fr); gap:0 48px; margin:0; padding:0; list-style:none; }
.pub-feature { border-top:1px solid var(--pub-line); padding:22px 0 26px; }
.pub-sites { margin:0; padding:0; list-style:none; }
.pub-site { display:flex; align-items:flex-start; gap:24px; border-top:1px solid var(--pub-line); padding:28px 0; }
.pub-site-mark { flex:none; width:56px; height:56px; border:1px solid var(--pub-line); background:var(--pub-panel); display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:600; color:var(--pub-accent); }
.pub-site-mark img { width:36px; height:36px; object-fit:contain; }
.pub-site-kind { margin:0 0 6px; font-size:13px; color:var(--pub-muted); }
.pub-site h3 { font-size:24px; font-weight:500; letter-spacing:-.02em; margin:0 0 8px; }
.pub-site p:not(.pub-site-kind) { margin:0; color:var(--pub-muted); line-height:1.65; max-width:60ch; }
.pub-disclosure { margin:20px 0 0; font-size:13px; line-height:1.6; color:var(--pub-muted); max-width:72ch; }
.pub-closing { border:1px solid var(--pub-line); padding:40px; max-width:880px; }
.pub-closing p { color:var(--pub-muted); line-height:1.7; max-width:58ch; margin:0 0 24px; }
.pub-footer { border-top:1px solid var(--pub-line); padding-block:28px; font-size:14px; }
@media(max-width:760px) {
 .pub-header { align-items:flex-start; flex-direction:column; padding:20px 24px; gap:20px; }
 .pub-main { width:calc(100% - 48px); margin-top:28px; }
 .pub-themes, .pub-steps, .pub-features { grid-template-columns:1fr; }
 .pub-lede { font-size:18px; }
 .pub-closing { padding:24px; }
 .pub-footer { flex-wrap:wrap; padding-inline:24px; }
}
@media(prefers-reduced-motion:reduce) { .slate-publishing-page * { scroll-behavior:auto; transition:none; } }
