/* RLC Article Layout: article template for posts with the "RLC article" template.
   GENERATED by rlc-article-layout-src/build-css.js from article.css of the approved template
   plus extra-before.css and extra-after.css. Do not edit by hand: edit the sources and rebuild.
   Every rule is scoped to .rlc-article; header and footer come from the theme. Light theme only. */

/* ---------- plugin: before the template rules ---------- */
/* Text icons are drawn by CSS, the post content carries no svg. Size and colour come from the template rules
   below (.warn-icon, .cta-line .icon, .checks .icon, .toc-inline a .icon are mapped onto these pseudo-elements),
   the mask image from extra-after.css. */
.rlc-article .cta-line::before, .rlc-article .warn::before, .rlc-article .checks li::before,
.rlc-article .toc-inline a::after, .rlc-article .cta-block .rlc-btn::after{
  content:""; display:block; flex:none; width:1.1em; height:1.1em; background-color:currentColor;
  -webkit-mask:var(--rlc-icon) center / contain no-repeat; mask:var(--rlc-icon) center / contain no-repeat}

/* ---------- from the approved template ---------- */
@font-face{font-family:"RLC Gemola"; src:url("fonts/gemola.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap}
@font-face{font-family:"RLC Gemola fallback"; src:local("Georgia"); size-adjust:92.4%}
@font-face{font-family:"RLC Digits"; src:url("fonts/rlc-digits.woff2") format("woff2"); font-weight:300; font-style:normal; font-display:swap}
@font-face{font-family:"RLC Display Digits"; src:url("fonts/rlc-digits.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+0030-0039, U+0025, U+00A3, U+20AC; size-adjust:90%}
@font-face{font-family:"RLC Montserrat fallback"; src:local("Arial"), local("Helvetica"); size-adjust:113.3%}
.rlc-article{--page:#FBFEFF; --tint:#EFF6FC; --ink:#001635; --text:#1E2A3A; --muted:#4F5E72; --accent:#001635; --accent-hover:#031F48; --on-accent:#FFFFFF; --rule:#D6E0EB; --field:#001635; --field-text:#FFFFFF; --field-attr:#B9C6D6; --urgent:#8A4F18; --urgent-tint:#FAF1E6; --emergency:#9E2A1F; --emergency-tint:#F9E9E5; --photo-ground:#E9F3FB; --underline:color-mix(in srgb, var(--accent) 45%, transparent); --select:color-mix(in srgb, var(--accent) 22%, transparent); --display:"RLC Display Digits", "RLC Gemola", "RLC Gemola fallback", Georgia, serif; --figures:"RLC Digits", "Montserrat", "RLC Montserrat fallback", system-ui, sans-serif; --sans:"Montserrat", "RLC Montserrat fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --ui-xs:13px; --ui-s:14px; --ui-m:16px; --ui-l:18px; --ui-btn:15px; --r-s:8px; --r-m:16px; --r-l:20px; --ease-out:cubic-bezier(.23,1,.32,1); --ease-sheet:cubic-bezier(.32,.72,0,1); --t-press:100ms; --t-colour:140ms; --t-open:220ms; --t-close:160ms; --t-bar-in:260ms; --t-bar-out:180ms; --gutter:16px; --bar-h:72px; --body-size:1.0625rem; --body-lh:1.7; --col:33.75em; color-scheme:light}
@media (min-width:600px){
  .rlc-article{--gutter:32px}
}
@media (min-width:900px){
  .rlc-article{--body-size:1.125rem; --body-lh:1.72; --r-l:24px}
}
.rlc-article{color-scheme:light only}
.rlc-article, .rlc-article *, .rlc-article *::before, .rlc-article *::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:24px; scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px) + 16px)}
@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth}
}
.rlc-article{background:var(--page); color:var(--text); font:450 var(--body-size)/var(--body-lh) var(--sans); -webkit-font-smoothing:antialiased; overflow-x:clip}
.rlc-article ::selection{background:var(--select); color:inherit}
.rlc-article img{max-width:100%; height:auto; display:block}
.rlc-article h1, .rlc-article h2, .rlc-article h3, .rlc-article h4, .rlc-article p, .rlc-article ul, .rlc-article ol, .rlc-article figure, .rlc-article blockquote{margin:0}
.rlc-article ul, .rlc-article ol{padding:0}
.rlc-article button{font:inherit; color:inherit}
.rlc-article .hero h1, .rlc-article .prose > h2, .rlc-article .short h2, .rlc-article .pull, .rlc-article .field p, .rlc-article .stat-num, .rlc-article .cta-end h2{font-family:var(--display); font-weight:400; font-style:normal; font-synthesis:none; color:var(--ink); letter-spacing:0}
.rlc-article a{color:var(--accent); text-decoration-line:underline; text-decoration-thickness:1px; text-underline-offset:.24em; text-decoration-color:var(--underline); text-decoration-skip-ink:auto; transition:text-decoration-color var(--t-colour) ease, color var(--t-colour) ease}
.rlc-article a:hover{text-decoration-color:currentColor}
.rlc-article :focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:4px}
.rlc-article .prose > p:not(.cta-line) a, .rlc-article .step p a, .rlc-article .faq a, .rlc-article .sources a{color:var(--text); text-decoration-color:var(--accent)}
.rlc-article .prose > p:not(.cta-line) a:hover, .rlc-article .step p a:hover, .rlc-article .faq a:hover{color:var(--accent)}
.rlc-article .skip{position:absolute; left:var(--gutter); top:-100px; z-index:20; background:var(--ink); color:var(--page); font:600 var(--ui-s)/1 var(--sans); padding:15px 16px; border-radius:var(--r-s); text-decoration:none}
.rlc-article .skip:focus{top:12px}
.rlc-article .wrap{max-width:calc(1200px + 2 * var(--gutter)); margin-inline:auto; padding-inline:var(--gutter)}
.rlc-article .icon{width:1.1em; height:1.1em; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.rlc-article .crumbs{font:500 var(--ui-xs)/1.4 var(--sans); color:var(--muted); padding-top:28px}
.rlc-article .crumbs ol{list-style:none; display:flex; flex-wrap:wrap; gap:6px}
.rlc-article .crumbs li+li::before{content:"/"; margin-right:6px; color:var(--rule)}
.rlc-article .crumbs a{color:var(--muted); text-decoration:none; display:inline-flex; min-height:24px; align-items:center}
.rlc-article .crumbs a:hover{color:var(--accent)}
.rlc-article .hero{padding-block:16px 40px}
.rlc-article .hero h1{font-size:2.125rem; line-height:1.06; text-wrap:balance; max-width:20em}
.rlc-article .hero-row{display:grid; gap:24px}
.rlc-article .hero-text{display:grid; gap:20px}
.rlc-article .dek{font:400 1.125rem/1.6 var(--sans); color:var(--text); text-wrap:pretty; max-width:32em}
.rlc-article .hero-cover{margin:0 calc(-1 * var(--gutter))}
.rlc-article .hero-cover .cover-img{aspect-ratio:5/4}
@media (min-width:600px) and (max-width:899px){
  .rlc-article .hero-cover{margin-inline:0}
  .rlc-article .hero-cover .cover-img{border-radius:var(--r-l)}
}
@media (max-width:360px){
  .rlc-article .hero h1{font-size:1.875rem}
}
@media (min-width:600px){
  .rlc-article .hero h1{font-size:2.75rem; line-height:1.04}
}
@media (min-width:900px){
  .rlc-article .crumbs{padding-top:40px}
  .rlc-article .hero{padding-block:24px 72px}
  .rlc-article .hero h1{font-size:3rem}
  .rlc-article .hero-row{grid-template-columns:repeat(12, minmax(0,1fr)); gap:48px; align-items:stretch}
  .rlc-article .hero-text{grid-column:1 / span 6; display:flex; flex-direction:column; gap:24px}
  .rlc-article .hero-text .byline{margin-top:auto; padding-top:8px}
  .rlc-article .dek{font-size:1.25rem; line-height:1.55}
  .rlc-article .hero-cover{display:block; grid-column:7 / -1; margin:0; position:relative; aspect-ratio:5/4}
  .rlc-article .hero-cover .cover-img{position:absolute; inset:0; height:100%; aspect-ratio:auto; border-radius:var(--r-l)}
}
@media (min-width:1200px){
  .rlc-article .hero h1{font-size:3.5rem; line-height:1.03}
}
.rlc-article .cover-img{width:100%; aspect-ratio:5/4; object-fit:cover; background:var(--photo-ground)}
.rlc-article .byline{font:400 var(--ui-s)/1.45 var(--sans); color:var(--muted); display:grid; gap:14px}
.rlc-article .byline-people{display:flex; flex-wrap:wrap; gap:10px 28px}
.rlc-article .person{display:flex; align-items:center; gap:12px}
.rlc-article .avatar{width:36px; height:36px; border-radius:50%; flex:none; display:grid; place-items:center; object-fit:cover; background:var(--tint); color:var(--accent)}
@media (min-width:600px){
  .rlc-article .avatar{width:40px; height:40px}
}
.rlc-article .mark-svg{width:62%; height:62%; display:block}
.rlc-article .person b{display:block; font-weight:600; color:var(--ink)}
.rlc-article .byline-meta{display:flex; flex-wrap:wrap; gap:4px 16px; font-variant-numeric:tabular-nums}
.rlc-article .byline-meta a{color:var(--muted)}
.rlc-article .byline-meta a:hover{color:var(--accent)}
.rlc-article .byline-meta .updated{color:var(--ink); font-weight:600}
.rlc-article .article-grid{display:block; padding-bottom:64px}
.rlc-article .rail{display:none}
@media (min-width:900px){
  .rlc-article .article-grid{display:grid; grid-template-columns:200px minmax(0,1fr); column-gap:40px; align-items:start; padding-bottom:96px}
  .rlc-article .rail{display:block; grid-column:1; position:sticky; top:32px; max-height:calc(100dvh - 64px); overflow-y:auto; overscroll-behavior:contain; padding-bottom:8px; scrollbar-width:thin; scrollbar-color:var(--rule) transparent}
  .rlc-article .prose{grid-column:2; justify-self:center; width:100%}
  .rlc-article .toc-inline, .rlc-article .cover-phone{display:none}
}
@media (min-width:1200px){
  .rlc-article .article-grid{grid-template-columns:220px 72px var(--col) 48px 252px; column-gap:0}
  .rlc-article .prose{grid-column:3; justify-self:auto}
}
.rlc-article .prose{max-width:var(--col); min-width:0}
.rlc-article .prose > * + *{margin-top:.8em}
.rlc-article .prose > p{text-wrap:pretty; hyphens:manual}
.rlc-article .prose strong{font-weight:600; color:var(--ink)}
.rlc-article .prose > h2{font-size:1.875rem; line-height:1.1; text-wrap:balance; margin-top:64px; scroll-margin-top:24px}
.rlc-article .prose > h2 + *{margin-top:16px}
@media (min-width:900px){
  .rlc-article .prose > * + *{margin-top:24px}
  .rlc-article .prose > h2{font-size:2.5rem; line-height:1.08; margin-top:96px}
  .rlc-article .prose > h2 + *{margin-top:20px}
}
@media (min-width:1200px){
  .rlc-article .prose > h2{margin-right:-120px}
}
.rlc-article .prose > :first-child{margin-top:0}
.rlc-article .rail-title, .rlc-article .toc-title{font:600 var(--ui-xs)/1.4 var(--sans); color:var(--muted)}
.rlc-article .rail ol{list-style:none; margin-top:12px; display:grid}
.rlc-article .rail a{display:block; padding:12px 0 12px 14px; border-left:2px solid var(--rule); color:var(--muted); font:500 var(--ui-s)/1.45 var(--sans); text-decoration:none; transition:color var(--t-colour) ease, border-color var(--t-colour) ease}
.rlc-article .rail a:hover{color:var(--ink)}
.rlc-article .rail a[aria-current]{color:var(--ink); border-left-color:var(--accent); font-weight:600}
.rlc-article .rail a.rail-cta{display:inline-flex; align-items:center; gap:8px; margin-top:24px; min-height:44px; padding:0 0 0 16px; border-left:0; font:600 var(--ui-s)/1.3 var(--sans); color:var(--accent)}
.rlc-article .rail a.rail-cta:hover{color:var(--accent-hover)}
.rlc-article .toc-inline{padding-top:8px}
.rlc-article .toc-inline ol{list-style:none; margin-top:8px; border-top:1px solid var(--rule)}
.rlc-article .toc-inline a{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding-block:11px; border-bottom:1px solid var(--rule); color:var(--ink); font:500 var(--ui-m)/1.4 var(--sans); text-decoration:none}
.rlc-article .toc-inline a::after{color:var(--muted)}
.rlc-article .cover-phone{display:none}
.rlc-article .short{padding-bottom:28px; border-bottom:1px solid var(--rule)}
.rlc-article .short h2{font-size:1.75rem; line-height:1.1}
.rlc-article .short ul{list-style:none; margin-top:16px; display:grid; gap:16px}
.rlc-article .short li{font:400 var(--ui-m)/1.65 var(--sans); color:var(--text)}
.rlc-article .short li + li{border-top:1px solid var(--rule); padding-top:16px}
.rlc-article .short li b{font:600 var(--ui-m)/1.45 var(--sans); color:var(--accent); display:block; margin-bottom:4px}
@media (min-width:900px){
  .rlc-article .short h2{font-size:2rem}
  .rlc-article .short{padding-bottom:32px}
  .rlc-article .short li{font-size:17px}
}
.rlc-article .cta-line{font:400 var(--ui-m)/1.6 var(--sans); color:var(--muted); display:flex; gap:10px; align-items:flex-start}
.rlc-article .cta-line::before{color:var(--accent); margin-top:.25em}
.rlc-article .cta-line a{color:var(--accent); font-weight:600}
.rlc-article .warns{display:grid; gap:12px; margin-block:40px !important}
@media (min-width:900px){
  .rlc-article .warns{margin-block:48px !important}
}
.rlc-article .warn{font-family:var(--sans); display:grid; grid-template-columns:24px minmax(0,1fr); column-gap:12px; padding:18px 18px 20px 14px; border-radius:var(--r-m); background:var(--tint)}
@media (min-width:600px){
  .rlc-article .warn{column-gap:14px; padding:22px 24px 24px 20px}
}
.rlc-article .warn::before{width:24px; height:24px; margin-top:1px; color:var(--accent)}
.rlc-article .warn h3{font:600 var(--ui-l)/1.4 var(--sans); color:var(--ink); text-wrap:pretty}
.rlc-article .warn .level{display:inline}
.rlc-article .warn ul{list-style:none; margin-top:10px; display:grid; gap:6px}
.rlc-article .warn li{font-size:var(--ui-m); line-height:1.55; padding-left:18px; position:relative; color:var(--text)}
.rlc-article .warn li::before{content:""; position:absolute; left:2px; top:.68em; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.55}
.rlc-article .warn .after{margin-top:12px; font-size:var(--ui-s); color:var(--muted)}
.rlc-article .warn--routine .level{color:var(--accent)}
.rlc-article .warn--emergency{background:var(--emergency-tint)}
.rlc-article .warn--emergency::before, .rlc-article .warn--emergency h3{color:var(--emergency)}
.rlc-article .pull{font-size:1.75rem; line-height:1.14; padding-block:18px; margin-block:32px !important; text-wrap:balance}
.rlc-article .pull::before, .rlc-article .pull::after{content:""; display:block; width:48px; height:2px; border-radius:2px; background:var(--accent)}
.rlc-article .pull::before{margin-bottom:16px}
.rlc-article .pull::after{margin-top:16px}
.rlc-article .pull p{text-indent:-.36em}
@media (min-width:1200px){
  .rlc-article .pull{float:right; clear:right; width:252px; margin:8px -300px 12px 48px !important; font-size:1.875rem; line-height:1.12; padding-block:0}
}
.rlc-article .block{margin-block:40px !important}
@media (min-width:900px){
  .rlc-article .block{margin-block:48px !important}
}
.rlc-article .block-title{font:600 var(--ui-l)/1.4 var(--sans); color:var(--ink)}
.rlc-article .timeline{list-style:none; margin-top:20px; display:grid; gap:6px}
.rlc-article .stage{display:grid; grid-template-columns:18px 1fr; grid-template-areas:"mark time" "mark body"; column-gap:16px; font-family:var(--sans)}
.rlc-article .stage > time{grid-area:time}
.rlc-article .stage-mark{grid-area:mark; position:relative}
.rlc-article .stage-body{grid-area:body}
.rlc-article .stage-mark::before{content:""; position:absolute; left:6px; top:7px; width:8px; height:8px; border-radius:50%; background:var(--accent)}
.rlc-article .stage-mark::after{content:""; position:absolute; left:9px; top:24px; bottom:4px; width:2px; border-radius:2px; background:var(--rule)}
.rlc-article .stage:last-child .stage-mark::after{display:none}
.rlc-article .stage-body{padding-bottom:24px}
.rlc-article .stage time{font:600 var(--ui-s)/1.5 var(--sans); color:var(--accent); font-variant-numeric:tabular-nums lining-nums; display:block}
.rlc-article .stage h3{font:600 var(--ui-l)/1.35 var(--sans); color:var(--ink); margin:2px 0 6px}
.rlc-article .stage p{font-size:var(--ui-m); line-height:1.6; color:var(--text)}
.rlc-article .stage p + p{margin-top:8px}
.rlc-article .stage .note{font-size:var(--ui-s); color:var(--muted)}
.rlc-article .stage .flag{display:inline-block; margin-top:10px; font:600 var(--ui-xs)/1.3 var(--sans); color:var(--urgent); background:var(--urgent-tint); padding:5px 12px; border-radius:999px}
.rlc-article .stage.is-risk .stage-mark::before{background:var(--urgent); width:12px; height:12px; left:4px; top:5px}
@media (min-width:600px){
  .rlc-article .stage{grid-template-columns:132px 18px 1fr; grid-template-areas:"time mark body"}
  .rlc-article .stage > time{text-align:right; padding-top:2px}
  .rlc-article .stage h3{margin-top:0}
}
.rlc-article .stat{border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding-block:24px 22px; font-family:var(--sans)}
.rlc-article .stat-pair{display:flex; align-items:flex-end; gap:12px 28px; flex-wrap:wrap}
.rlc-article .stat-item{display:grid; gap:4px; min-width:0}
.rlc-article .stat-num{font-size:3.75rem; line-height:1; font-variant-numeric:lining-nums tabular-nums}
.rlc-article .rlc-figures, .rlc-article .stat .stat-num{font-family:var(--figures); font-weight:300; letter-spacing:-.02em}
.rlc-article .stat-then .stat-num{color:var(--muted)}
.rlc-article .stat-now .stat-num{color:var(--accent)}
.rlc-article .stat-lead{font:600 var(--ui-xs)/1.3 var(--sans); color:var(--muted)}
.rlc-article .stat-arrow{color:var(--muted); width:28px; height:28px; margin-bottom:16px}
.rlc-article .stat--long .stat-num{font-size:2.4rem}
.rlc-article .stat--long .stat-pair{column-gap:16px}
.rlc-article .stat--long .stat-arrow{margin-bottom:6px}
@media (min-width:600px){
  .rlc-article .stat--long .stat-num{font-size:3.25rem}
}
@media (min-width:900px){
  .rlc-article .stat.stat--long .stat-num{font-size:4rem}
  .rlc-article .stat--long .stat-pair{column-gap:24px}
  .rlc-article .stat--long .stat-arrow{margin-bottom:14px}
}
.rlc-article .stat-cap{margin-top:14px; font-size:var(--ui-m); line-height:1.55; color:var(--text)}
.rlc-article .stat-src{margin-top:6px; font-size:var(--ui-xs); color:var(--muted)}
.rlc-article .stat-src a{color:var(--muted)}
@media (min-width:900px){
  .rlc-article .stat-num{font-size:5.5rem}
  .rlc-article .stat{padding-block:28px 26px}
  .rlc-article .stat-arrow{width:36px; height:36px; margin-bottom:26px}
}
.rlc-article .cta-block{border-top:1px solid var(--rule); padding-top:24px; font-family:var(--sans); display:grid; gap:12px}
.rlc-article .cta-block h3{font:600 var(--ui-l)/1.35 var(--sans); color:var(--ink)}
.rlc-article .cta-block p{font-size:var(--ui-m); line-height:1.55; color:var(--text)}
.rlc-article .cta-actions{display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center}
.rlc-article .cta-block .cta-actions{margin-top:4px}
.rlc-article .rlc-btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 24px; border-radius:999px; background:var(--accent); color:var(--on-accent); font:600 var(--ui-btn)/1.2 var(--sans); text-decoration:none; -webkit-tap-highlight-color:transparent; touch-action:manipulation; transition:background-color var(--t-colour) ease, transform var(--t-press) var(--ease-out)}
.rlc-article .rlc-btn:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){
  .rlc-article .rlc-btn:hover{background:var(--accent-hover); color:var(--on-accent)}
}
.rlc-article .rlc-btn-quiet{display:inline-flex; align-items:center; gap:8px; min-height:44px; font:600 var(--ui-btn)/1.3 var(--sans); color:var(--accent)}
.rlc-article .reply{font-size:var(--ui-s) !important; line-height:1.5; color:var(--muted) !important}
.rlc-article .table-wrap{font-family:var(--sans)}
.rlc-article .compare{width:100%; border-collapse:collapse; font-size:var(--ui-m); line-height:1.5; table-layout:fixed}
.rlc-article .compare caption{text-align:left; font:600 var(--ui-l)/1.4 var(--sans); color:var(--ink); padding-bottom:14px}
.rlc-article .compare thead th{text-align:left; font-weight:600; color:var(--ink); padding:0 16px 10px 0; border-bottom:2px solid var(--accent)}
.rlc-article .compare tbody th{text-align:left; font:600 var(--ui-xs)/1.3 var(--sans); color:var(--muted); padding:16px 0 4px}
.rlc-article .compare td{vertical-align:top; padding:0 16px 14px 0; color:var(--text); border-bottom:1px solid var(--rule)}
.rlc-article .compare td + td{padding-left:16px; border-left:1px solid var(--rule)}
.rlc-article .compare thead th + th{padding-left:16px}
.rlc-article .table-note{margin-top:10px; font-size:var(--ui-xs); color:var(--muted)}
.rlc-article .field{background:var(--field); padding:36px 24px 40px; border-radius:var(--r-l); margin-block:56px !important}
.rlc-article .field p{color:var(--field-text); font-size:2.375rem; line-height:1.04; text-wrap:balance; max-width:14em; text-indent:-.34em}
.rlc-article .field .mark{color:var(--field-attr)}
@media (min-width:900px){
  .rlc-article .field{padding:64px 48px 68px; margin-block:72px !important}
  .rlc-article .field p{font-size:3.5rem}
}
@media (min-width:1200px){
  .rlc-article .field{margin-inline:-48px -300px; padding:72px 48px 80px}
  .rlc-article .field p{font-size:4.75rem; line-height:1; max-width:13em}
}
.rlc-article .photo{margin-block:48px !important}
.rlc-article .prose > h2 + .photo{margin-top:24px !important}
.rlc-article .photo img{width:100%; aspect-ratio:3/2; object-fit:cover; background:var(--photo-ground)}
.rlc-article .photo figcaption{font:400 var(--ui-s)/1.45 var(--sans); color:var(--muted); margin-top:10px; max-width:var(--col)}
@media (max-width:599px){
  .rlc-article .photo img{aspect-ratio:4/5}
}
@media (min-width:600px){
  .rlc-article .photo img{border-radius:var(--r-l)}
}
@media (min-width:1200px){
  .rlc-article .photo{margin-inline:-48px -300px !important; margin-block:72px !important}
  .rlc-article .photo figcaption{padding-left:48px}
}
.rlc-article .checks{list-style:none; margin-top:16px; display:grid; gap:12px; font-family:var(--sans)}
.rlc-article .checks li{display:flex; gap:12px; font-size:var(--ui-m); line-height:1.55; color:var(--text)}
.rlc-article .checks li::before{color:var(--accent); width:20px; height:20px; margin-top:2px}
.rlc-article .checks b{color:var(--ink); font-weight:600}
.rlc-article .steps{list-style:none; margin-top:20px; counter-reset:step; display:grid; gap:28px}
.rlc-article .step{padding-top:20px; border-top:1px solid var(--rule)}
.rlc-article .step h4{display:flex; gap:.6em; font:600 var(--ui-l)/1.4 var(--sans); color:var(--ink); text-wrap:pretty}
.rlc-article .step h4::before{counter-increment:step; content:counter(step); flex:none; min-width:.8em; color:var(--accent); font-variant-numeric:tabular-nums}
.rlc-article .step p{margin-top:10px}
.rlc-article .step p + p{margin-top:12px}
.rlc-article .faq{margin-top:20px; border-top:1px solid var(--rule)}
.rlc-article .faq-item{border-bottom:1px solid var(--rule)}
.rlc-article .faq-item h3{margin:0}
.rlc-article .faq-q{all:unset; box-sizing:border-box; display:flex; width:100%; min-height:60px; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; cursor:pointer; font:600 var(--ui-m)/1.45 var(--sans); color:var(--ink); border-radius:4px; -webkit-tap-highlight-color:transparent; transition:color var(--t-colour) ease}
.rlc-article .faq-q:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.rlc-article .faq-q .icon{width:20px; height:20px; color:var(--accent); transition:transform var(--t-open) var(--ease-out)}
.rlc-article .faq-q[aria-expanded="true"] .icon{transform:rotate(45deg)}
@media (hover:hover) and (pointer:fine){
  .rlc-article .faq-q:hover{color:var(--accent)}
}
.rlc-article .panel{display:grid; grid-template-rows:1fr}
.rlc-article .panel-inner{min-height:0; overflow:hidden}
.rlc-article .panel-inner > div{padding:0 32px 22px 0; font-size:var(--ui-m); line-height:1.65}
.rlc-js .rlc-article .panel{grid-template-rows:0fr; transition:grid-template-rows var(--t-close) var(--ease-out)}
.rlc-js .rlc-article .panel.is-open{grid-template-rows:1fr; transition-duration:var(--t-open)}
.rlc-article .panel[hidden]:not([hidden="until-found"]){display:none}
.rlc-article .disclaimer{font:italic 400 var(--ui-s)/1.5 var(--sans); color:var(--muted); margin-top:40px !important}
.rlc-article .related{margin-top:48px !important; font-family:var(--sans)}
.rlc-article .related h2{font:600 var(--ui-xs)/1.4 var(--sans); color:var(--muted)}
.rlc-article .related ul{list-style:none; margin-top:10px}
.rlc-article .related li + li{border-top:1px solid var(--rule)}
.rlc-article .related a{display:grid; grid-template-columns:1fr 96px; gap:16px; align-items:center; padding-block:14px; text-decoration:none; color:var(--ink); font:600 var(--ui-m)/1.4 var(--sans)}
.rlc-article .related a:hover span{color:var(--accent)}
.rlc-article .related img{width:96px; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r-s); background:var(--photo-ground)}
.rlc-article .sources{margin-top:32px !important; font-family:var(--sans); border-top:1px solid var(--rule)}
.rlc-article .sources summary{display:flex; align-items:center; justify-content:space-between; min-height:56px; cursor:pointer; font:600 var(--ui-m)/1.4 var(--sans); color:var(--ink); list-style:none; border-radius:4px}
.rlc-article .sources summary::-webkit-details-marker{display:none}
.rlc-article .sources summary .icon{width:20px; height:20px; color:var(--accent); transition:transform var(--t-open) var(--ease-out)}
.rlc-article .sources[open] summary .icon{transform:rotate(45deg)}
.rlc-article .sources ol{padding-left:1.4em; display:grid; gap:10px; padding-bottom:20px; font-size:var(--ui-s); line-height:1.5; color:var(--text)}
.rlc-article .sources li::marker{color:var(--muted); font-variant-numeric:tabular-nums}
.rlc-article .cta-end{display:flex; flex-direction:column; background:var(--tint); font-family:var(--sans); border-radius:var(--r-l); overflow:hidden; margin-bottom:48px}
.rlc-article .cta-end-copy{display:grid; gap:14px; align-content:center; padding:24px 20px 32px}
.rlc-article .cta-end h2{font-size:2.125rem; line-height:1.06; text-wrap:balance; margin-bottom:4px}
.rlc-article .cta-end p{font-size:var(--ui-m); line-height:1.6; color:var(--text); text-wrap:pretty}
.rlc-article .cta-end .cta-actions{margin-top:6px}
.rlc-article .cta-end-photo{order:-1; margin:0}
.rlc-article .cta-end-photo img{width:100%; aspect-ratio:3/2; object-fit:cover; background:var(--photo-ground)}
@media (min-width:600px){
  .rlc-article .cta-end-copy{padding:36px 40px 44px}
  .rlc-article .cta-end h2{font-size:2.5rem}
}
@media (min-width:900px){
  .rlc-article .cta-end{display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); column-gap:48px; margin-bottom:96px}
  .rlc-article .cta-end-copy{grid-column:1 / span 6; padding:64px 8px 64px 56px}
  .rlc-article .cta-end-photo{grid-column:7 / -1; order:0; position:relative; min-height:360px}
  .rlc-article .cta-end-photo img{position:absolute; inset:0; height:100%; aspect-ratio:auto}
  .rlc-article .cta-end h2{font-size:3rem; line-height:1.04}
}
.rlc-article .bar{position:fixed; inset-inline:0; bottom:0; z-index:10; background:var(--page); border-top:1px solid var(--rule); padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom, 0px)); display:flex; align-items:center; justify-content:space-between; gap:12px; font-family:var(--sans); transform:translateY(100%); opacity:0; visibility:hidden; transition:transform var(--t-bar-out) var(--ease-out), opacity var(--t-bar-out) var(--ease-out), visibility 0s linear var(--t-bar-out)}
.rlc-article .bar.is-on{transform:none; opacity:1; visibility:visible; transition:transform var(--t-bar-in) var(--ease-sheet), opacity var(--t-bar-in) var(--ease-sheet), visibility 0s}
.rlc-article .bar-text{font-size:var(--ui-xs); line-height:1.35; color:var(--muted); min-width:0; text-wrap:balance}
.rlc-article .bar-text b{display:block; color:var(--ink); font-weight:600; font-size:var(--ui-s)}
.rlc-article .bar .rlc-btn{min-height:44px; padding:10px 18px; font-size:var(--ui-s); white-space:nowrap}
.rlc-article .bar::before{content:""; position:absolute; left:0; right:0; top:-1px; height:2px; background:var(--accent); transform-origin:left; transform:scaleX(0)}
@supports (animation-timeline: scroll()){
  .rlc-article .bar::before{animation:rlc-read-progress linear both; animation-timeline:scroll(root)}
}
@keyframes rlc-read-progress{
  to{transform:scaleX(1)}
}
@media (min-width:900px){
  .rlc-article .bar{display:none}
}
@media (max-width:899px){
  html.rlc-js body{padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px))}
}
@media (max-height:500px){
  .rlc-article .bar{display:none}
}
@media (prefers-reduced-motion: reduce){
  .rlc-article{--t-open:0ms; --t-close:0ms; --t-press:0ms}
  .rlc-article .rlc-btn:active{transform:none}
  .rlc-article .bar{transform:none; transition:opacity 150ms ease, visibility 0s linear 150ms}
  .rlc-article .bar.is-on{transition:opacity 150ms ease, visibility 0s}
}
@media print{
  .rlc-article .rail, .rlc-article .bar, .rlc-article .toc-inline, .rlc-article .cta-line, .rlc-article .cta-block, .rlc-article .cta-end, .rlc-article .related, .rlc-article .skip{display:none !important}
  .rlc-article{background:#fff; color:#000; padding:0 !important}
  .rlc-article .article-grid{display:block}
  .rlc-js .rlc-article .panel{grid-template-rows:1fr}
  .rlc-article .panel[hidden]{display:grid !important; content-visibility:visible}
  .rlc-article .field{background:none; padding:0; margin:24px 0 !important}
  .rlc-article .field p, .rlc-article .field .mark{color:#000}
}

/* ---------- plugin: after the template rules ---------- */

/* the theme styles <main> as a full-screen flex hero: main{height:calc(100vh - 113px); display:flex; ...} */
.rlc-article{display:block; height:auto; align-items:normal; padding:0; margin:0; border-radius:0;
  letter-spacing:normal; text-align:left}
/* the theme stretches every image (img{width:100%; object-fit:cover}) and sets h1{uppercase; white; centred on phones} */
.rlc-article img{width:auto; object-fit:initial}
.rlc-article h1{text-transform:none; text-align:left; letter-spacing:0}
.rlc-article .rlc-sprite{position:absolute; width:0; height:0; overflow:hidden}
/* template fix: from 900 to about 1300px the text column is taller than a 5:4 cover, the stretched height then
   widened the cover through aspect-ratio past the page edge (1098px at 1024). The cover keeps its column width. */
@media (min-width:900px){ .rlc-article .hero-cover{width:100%; min-width:0} }
.rlc-article .bar[hidden]{display:none}

/* the theme footer is white on the older articles (single-default.php: footer{background:#fff !important});
   keep it white on article pages only. The "renewed" theme prints a bare <body>, so :has() does the matching;
   the body class is there for themes that call body_class(). */
body.rlc-article-page > footer, body:has(> main.rlc-article) > footer{background-color:#fff}

/* the request form heading speaks in the display voice too */
.rlc-article .request h2{font-family:var(--display); font-weight:400; font-style:normal; font-synthesis:none; color:var(--ink); letter-spacing:0}

/* ---------- plain text blocks the template does not cover: sub-headings, lists, rules, quotes ---------- */
.rlc-article .prose > ul a, .rlc-article .prose > ol a{color:var(--text); text-decoration-color:var(--accent)}
.rlc-article .prose > ul a:hover, .rlc-article .prose > ol a:hover{color:var(--accent)}
.rlc-article .prose > h3{font:600 1.25rem/1.35 var(--sans); color:var(--ink); text-wrap:balance; margin-top:40px; scroll-margin-top:24px}
.rlc-article .prose > h3 + *{margin-top:12px}
.rlc-article .prose > ul, .rlc-article .prose > ol{padding-left:1.4em; display:grid; gap:.45em}
.rlc-article .prose > ul{list-style:disc outside}
.rlc-article .prose > ol{list-style:decimal outside}
.rlc-article .prose > ul > li::marker, .rlc-article .prose > ol > li::marker{color:var(--accent); font-variant-numeric:tabular-nums}
.rlc-article .prose > ol > li::marker{font-weight:600}
.rlc-article .prose > ul li > ul, .rlc-article .prose > ul li > ol,
.rlc-article .prose > ol li > ul, .rlc-article .prose > ol li > ol{margin-top:.45em; padding-left:1.4em; display:grid; gap:.3em}
.rlc-article .prose > hr{height:0; border:0; border-top:1px solid var(--rule); margin-block:40px !important}
.rlc-article .prose > blockquote:not(.pull):not(.field){padding-left:20px; border-left:2px solid var(--accent); color:var(--ink)}
.rlc-article .panel-inner > div > * + *{margin-top:.8em}

/* reading-depth markers added by rlc-article.js (analytics); they take no space */
.rlc-article .prose{position:relative}
.rlc-article .rlc-depth{position:absolute; left:0; width:1px; height:1px; margin:0 !important; pointer-events:none; visibility:hidden}
.rlc-article .rlc-depth--50{top:50%}
.rlc-article .rlc-depth--90{top:90%}
@media (min-width:900px){
  .rlc-article .prose > h3{margin-top:48px}
  .rlc-article .prose > h3 + *{margin-top:14px}
  .rlc-article .prose > hr{margin-block:48px !important}
}

/* ---------- text icons: mask images (base rule in extra-before.css) ---------- */
.rlc-article .cta-line::before{
  --rlc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.rlc-article .toc-inline a::after{
  --rlc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.05' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E")}
.rlc-article .cta-block .rlc-btn::after{
  --rlc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.rlc-article .checks li::before{
  --rlc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.rlc-article .warn::before{grid-column:1;
  --rlc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4H7a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2M9 3h6v3H9zM9 12.5l2 2 4-4'/%3E%3C/svg%3E")}
.rlc-article .warn--emergency::before{
  --rlc-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.86 2h8.28L22 7.86v8.28L16.14 22H7.86L2 16.14V7.86zM12 7.5v5.5'/%3E%3Ccircle cx='12' cy='16.4' r='1.05' fill='%23000' stroke='none'/%3E%3C/svg%3E")}
.rlc-article .warn-body{grid-column:2; min-width:0}

/* ---------- photo break: a media-library <img>, no <picture>; it bleeds on phones ---------- */
@media (max-width:599px){
  .rlc-article .photo img{width:calc(100% + 2 * var(--gutter)); max-width:none; margin-inline:calc(-1 * var(--gutter))}
}

/* ---------- request form (Contact Form 7 "Pr Form") under the closing band ---------- */
.rlc-article .request{display:grid; gap:24px; padding-bottom:64px; font-family:var(--sans); scroll-margin-top:24px}
.rlc-article .request-copy{display:grid; gap:12px; align-content:start}
.rlc-article .request h2{font-size:2.125rem; line-height:1.06; text-wrap:balance}
.rlc-article .request-copy p{font-size:var(--ui-m); line-height:1.6; color:var(--text); max-width:28em; text-wrap:pretty}
@media (min-width:600px){ .rlc-article .request h2{font-size:2.5rem} }
@media (min-width:900px){
  .rlc-article .request{grid-template-columns:repeat(12, minmax(0,1fr)); column-gap:48px; padding-bottom:96px}
  .rlc-article .request-copy{grid-column:1 / span 5; padding-left:56px}
  .rlc-article .request-form{grid-column:7 / -1}
  .rlc-article .request h2{font-size:3rem; line-height:1.04}
}
.rlc-article .wpcf7{margin:0; font:450 var(--ui-m)/1.5 var(--sans); color:var(--text)}
.rlc-article .wpcf7 form{display:block}
.rlc-article .wpcf7 form p{margin:0 0 18px; font-size:inherit; text-align:left}
.rlc-article .wpcf7 label{display:block; font:600 var(--ui-s)/1.4 var(--sans); color:var(--ink); cursor:default}
.rlc-article .wpcf7 label br{display:none}
.rlc-article .wpcf7 .wpcf7-form-control-wrap{display:block; margin-top:6px}
.rlc-article .dualinp{display:grid; grid-template-columns:minmax(0,1fr); column-gap:16px}
@media (min-width:600px){ .rlc-article .dualinp{grid-template-columns:repeat(2, minmax(0,1fr))} }
/* (0,5,0): beats the theme's input:not(...):not(...):not(...), textarea and [type=submit] rules */
.rlc-article .wpcf7 .wpcf7-form-control:not(.wpcf7-submit):not([type="hidden"]){
  -webkit-appearance:none; appearance:none; display:block; width:100%; max-width:none; height:auto; min-height:48px; margin:0;
  padding:12px 14px; border:1px solid #7D8A9B; border-radius:12px; /* 3.5:1 on white (WCAG 1.4.11) */
  background:#fff; box-shadow:none; color:var(--ink); font:450 var(--ui-m)/1.4 var(--sans); letter-spacing:normal;
  transition:border-color var(--t-colour) ease}
.rlc-article .wpcf7 textarea.wpcf7-form-control:not(.wpcf7-submit){min-height:120px; height:120px; resize:vertical}
.rlc-article .wpcf7 .wpcf7-form-control:not(.wpcf7-submit)::placeholder{color:#6B7888; opacity:1} /* 4.5:1 on white */
.rlc-article .wpcf7 .wpcf7-form-control:not(.wpcf7-submit):hover{border-color:var(--muted)}
.rlc-article .wpcf7 .wpcf7-form-control.wpcf7-not-valid:not(.wpcf7-submit){border-color:var(--emergency)}
.rlc-article .wpcf7 .wpcf7-form-control:not(.wpcf7-submit):focus{outline:2px solid var(--accent); outline-offset:0; border-color:var(--accent)}
.rlc-article .wpcf7 .wpcf7-submit{
  -webkit-appearance:none; appearance:none; display:inline-flex; align-items:center; justify-content:center; width:100%; max-width:none; height:auto;
  min-height:48px; margin:6px 0 0; padding:12px 24px; border:0; border-radius:999px; background:var(--accent); color:var(--on-accent);
  font:600 var(--ui-btn)/1.2 var(--sans); cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  transition:background-color var(--t-colour) ease, transform var(--t-press) var(--ease-out)}
@media (min-width:600px){ .rlc-article .wpcf7 .wpcf7-submit{width:auto} }
.rlc-article .wpcf7 .wpcf7-submit:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){ .rlc-article .wpcf7 .wpcf7-submit:hover{background:var(--accent-hover)} }
.rlc-article .wpcf7 .wpcf7-submit:disabled{opacity:.6; cursor:progress}
.rlc-article .wpcf7 .wpcf7-spinner{margin:0 12px; vertical-align:middle}
/* the form's own inline style centres this note */
.rlc-article .wpcf7 .bysend{text-align:left !important; font-size:var(--ui-xs) !important; line-height:1.5; color:var(--muted)}
.rlc-article .wpcf7 .bysend p{margin:4px 0 0; font-size:inherit; color:inherit; opacity:1; text-align:left}
.rlc-article .wpcf7 .wpcf7-not-valid-tip{margin-top:6px; color:var(--emergency); font:500 var(--ui-s)/1.4 var(--sans)}
.rlc-article .wpcf7 form .wpcf7-response-output{margin:16px 0 0; padding:12px 16px; border:0; border-radius:12px; background:var(--tint);
  color:var(--ink); font:500 var(--ui-s)/1.5 var(--sans)}
.rlc-article .wpcf7 form.invalid .wpcf7-response-output, .rlc-article .wpcf7 form.unaccepted .wpcf7-response-output,
.rlc-article .wpcf7 form.failed .wpcf7-response-output, .rlc-article .wpcf7 form.aborted .wpcf7-response-output,
.rlc-article .wpcf7 form.spam .wpcf7-response-output{background:var(--emergency-tint); color:var(--emergency)}
.rlc-article .wpcf7 form.init .wpcf7-response-output, .rlc-article .wpcf7 form.resetting .wpcf7-response-output,
.rlc-article .wpcf7 form.submitting .wpcf7-response-output{display:none}

@media (prefers-reduced-motion: reduce){
  .rlc-article .wpcf7 .wpcf7-submit:active{transform:none}
}

@media print{
  .rlc-article .request, .rlc-article .rlc-depth{display:none !important}
  html.rlc-js body{padding:0 !important}
}
