@font-face{font-family:'Josefin Sans';font-style:normal;font-weight:400;font-display:swap;src:url('josefin-400.ttf') format('truetype')}
@font-face{font-family:'Josefin Sans';font-style:normal;font-weight:600;font-display:swap;src:url('josefin-600.ttf') format('truetype')}
@font-face{font-family:'Josefin Sans';font-style:normal;font-weight:700;font-display:swap;src:url('josefin-700.ttf') format('truetype')}
@font-face{font-family:'Limelight';font-style:normal;font-weight:400;font-display:swap;src:url('limelight.ttf') format('truetype')}

/* ============ Tokens: exactly six colours ============ */
:root{
  --ink:#141A3C;
  --bg:#EEF1F8;
  --white:#FFFFFF;
  --red:#E03A2E;
  --gold:#B8903A;
  --blue:#DCE3F5;
  --ink-70:rgba(20,26,60,.72);
  --font-head:'Limelight',Georgia,serif;
  --font-body:'Josefin Sans',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.55;overflow-x:hidden;position:relative}
a{color:inherit}
h1,h2,h3{font-family:var(--font-head);font-weight:400;margin:0;line-height:1.14}
p{margin:0}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* sunburst behind the top of the page, fades out */
.rays{position:absolute;left:0;right:0;top:0;height:780px;z-index:0;pointer-events:none;
  background:repeating-conic-gradient(from -90deg at 50% 100%,var(--blue) 0 4.09deg,transparent 4.09deg 8.18deg);
  opacity:.6;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 58%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0,#000 58%,transparent 100%)}
.page{position:relative;z-index:1}

/* header */
.topbar{background:var(--bg);border-bottom:1.5px solid var(--ink)}
.topbar-in{border-bottom:1.5px solid var(--gold);margin-bottom:3px}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:22px;padding-bottom:20px}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:var(--font-head);font-size:28px}
.nav{display:flex;gap:34px;font-size:18px;font-weight:600}
.nav a{text-decoration:none;padding-bottom:3px}
.nav a[aria-current]{border-bottom:3px solid var(--red)}
.nav a:not([aria-current]):hover{text-decoration:underline;text-underline-offset:5px}

/* cut-corner buttons */
.cut{display:inline-block;text-decoration:none;font-weight:700;font-size:18px;padding:14px 30px;min-height:44px;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);transition:opacity .15s}
.cut:hover{opacity:.88}
.cut-red{background:var(--red);color:var(--white)}
.cut-ink{background:var(--ink);color:var(--white)}
.cut-white{background:var(--white);color:var(--ink)}

/* hero */
.hero{position:relative;padding:30px 40px 0}
.arch{position:relative;width:min(880px,100%);margin:0 auto;background:var(--white);
  border:3px solid var(--ink);border-bottom:0;border-radius:440px 440px 0 0;padding:150px 130px 130px;text-align:center}
.arch::before,.arch::after{content:"";position:absolute;border:solid var(--gold);border-bottom:0;pointer-events:none}
.arch::before{inset:12px 12px 0;border-width:2px;border-radius:428px 428px 0 0}
.arch::after{inset:20px 20px 0;border-width:1px;border-radius:420px 420px 0 0}
.chip{display:inline-block;background:var(--white);border:1.5px solid var(--gold);padding:5px 18px;font-weight:600;font-size:16px;margin-bottom:18px}
h1{font-size:45px;margin-bottom:18px}
.lede{font-size:19px;line-height:1.55;color:var(--ink-70);max-width:480px;margin:0 auto 24px}
.actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* crossing ribbons: the one bold element, used once under the hero */
.ribbons{position:relative;height:190px;margin-top:-34px;overflow:hidden;z-index:2}
.band{position:absolute;left:-40px;right:-40px;height:62px;display:flex;align-items:center;gap:30px;overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);white-space:nowrap}
.band span{font-family:var(--font-head);font-size:30px;letter-spacing:.02em}
.band i{flex:0 0 14px;height:14px;transform:rotate(45deg) scale(.75)}
.band-a{top:64px;transform:rotate(1.6deg);background:var(--blue);color:var(--ink)}
.band-a i{background:var(--red)}
.band-b{top:54px;transform:rotate(-1.6deg);background:var(--red);color:var(--white)}
.band-b i{background:var(--white)}

/* sections: whitespace only, no rules or bands */
.section{padding-top:84px}
.section-head{text-align:center;margin-bottom:40px}
h2{font-size:44px;margin-bottom:12px}
.note{font-size:15px;color:var(--ink-70);margin-top:6px}
.intro{font-size:20px;color:var(--ink-70);max-width:600px;margin:10px auto 0}

/* toplist */
.toplist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.row{display:flex;align-items:center;gap:26px;padding:18px 34px;background:var(--white);border:1.5px solid var(--ink);
  box-shadow:inset 0 0 0 5px var(--white),inset 0 0 0 6.5px var(--gold)}
.row:first-child{background:var(--blue);box-shadow:inset 0 0 0 5px var(--blue),inset 0 0 0 6.5px var(--gold)}
.badge{position:relative;flex:0 0 58px;width:58px;height:58px}
.badge::before{content:"";position:absolute;left:8px;top:8px;width:42px;height:42px;transform:rotate(45deg);border:2px solid var(--ink);background:var(--white)}
.badge b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:400;font-size:24px}
.row:first-child .badge::before{background:var(--red)}
.row:first-child .badge b{color:var(--white)}
.logo-ph{width:120px;height:50px;flex:0 0 120px;border:1.5px dashed var(--gold);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-70);background:var(--white)}
.who{flex:1.2}
.who strong{display:block;font-family:var(--font-head);font-weight:400;font-size:23px;line-height:1.2}
.who small{font-size:14px;color:var(--ink-70)}
.bonus{flex:1;font-weight:600;font-size:18px}

/* licence plaques */
.plaques{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.plaque{background:var(--white);border:1.5px solid var(--ink);border-radius:170px 170px 0 0;padding:64px 30px 34px;text-align:center;
  box-shadow:inset 0 0 0 6px var(--white),inset 0 0 0 7.5px var(--gold)}
.plaque svg{display:block;width:64px;height:64px;margin:0 auto 14px}
.plaque h3{font-size:34px;margin-bottom:4px}
.plaque .tag{font-weight:700;color:var(--red);margin-bottom:10px}
.plaque p{font-size:17px;line-height:1.6}

/* table */
.table-wrap{background:var(--white);border:1.5px solid var(--ink);box-shadow:inset 0 0 0 5px var(--white),inset 0 0 0 6.5px var(--gold);overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:19px;min-width:640px}
th,td{padding:16px 30px;text-align:left}
thead th{padding:26px 30px 20px;font-family:var(--font-head);font-weight:400;font-size:24px}
thead th.hl{color:var(--red)}
thead th:first-child{width:24%}
tbody th{font-weight:700}
tbody tr{border-top:1px solid var(--blue)}
tbody tr:first-child{border-top:1.5px solid var(--gold)}
tbody tr:last-child th,tbody tr:last-child td{padding-bottom:28px}

/* tax panel: contained, art deco corner rays */
.tax{position:relative;overflow:hidden;background:var(--ink);color:var(--white);text-align:center;padding:62px 30px 66px;border-top:3px solid var(--gold)}
.tax::before,.tax::after{content:"";position:absolute;inset:0;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle 760px at var(--ox) 100%,#000 0,#000 45%,transparent 100%);mask-image:radial-gradient(circle 760px at var(--ox) 100%,#000 0,#000 45%,transparent 100%)}
.tax::before{--ox:0%;background:repeating-conic-gradient(from 0deg at 0% 100%,rgba(220,227,245,.13) 0 5.625deg,transparent 5.625deg 11.25deg)}
.tax::after{--ox:100%;background:repeating-conic-gradient(from 270deg at 100% 100%,rgba(220,227,245,.13) 0 5.625deg,transparent 5.625deg 11.25deg)}
.tax > *:not(.frame){position:relative;z-index:1}
.tax h2{font-size:50px;color:var(--white);margin-bottom:12px}
.tax p{font-size:21px;line-height:1.55;max-width:600px;margin:0 auto 26px}

/* footer */
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:70px;padding-bottom:36px;font-size:16px;color:var(--ink-70)}
.site-footer .l{display:flex;align-items:center;gap:12px}
.age{color:var(--ink);font-weight:700}
.site-footer a{color:var(--ink);font-weight:700}

/* responsive */
@media (max-width:1100px){
  .arch{padding:140px 80px 120px}
  h1{font-size:40px}
  h2{font-size:38px}
}
@media (max-width:860px){
  .wrap{padding-left:20px;padding-right:20px}
  .nav{display:none}
  .hero{padding:20px 20px 0}
  .arch{border-radius:150px 150px 0 0;padding:90px 22px 110px}
  .arch::before{border-radius:138px 138px 0 0}
  .arch::after{border-radius:130px 130px 0 0}
  h1{font-size:32px}
  h2{font-size:30px}
  .lede{font-size:17px}
  .ribbons{height:130px;margin-top:-20px}
  .band{height:46px}
  .band span{font-size:22px}
  .band-a{top:44px}.band-b{top:36px}
  .section{padding-top:60px}
  .row{flex-wrap:wrap;gap:12px 16px;padding:16px 20px}
  .logo-ph{flex:0 0 100px;width:100px}
  .who{flex:1 1 140px}
  .bonus{flex:1 1 100%;order:5}
  .row .cut{order:6;width:100%;text-align:center}
  .plaques{grid-template-columns:1fr}
  .tax h2{font-size:34px}
  th,td{padding:14px 18px}
  thead th{font-size:19px;padding:20px 18px 14px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Shared components across all routes. Reference: homepage-deco.html. */
/* Optically align the sun artwork with the Limelight wordmark. */
.logo svg{display:block;flex-shrink:0;transform:translateY(-.35em)}
/* User-requested page-width, shorter hero; shared by all routes. */
:root{--content-max:1200px;--header-height:94px}
.topbar{position:fixed;top:0;left:0;right:0;z-index:10}
.page{padding-top:var(--header-height)}
.wrap,.hero{max-width:var(--content-max)}
.hero{margin-inline:auto;padding-top:24px}
.arch{width:100%;border-radius:50% 50% 0 0 / 160px 160px 0 0;padding:88px 64px 40px}
.arch::before{border-radius:50% 50% 0 0 / 148px 148px 0 0}
.arch::after{border-radius:50% 50% 0 0 / 140px 140px 0 0}
.arch .lede{max-width:none}
/* Overlap the arch base so the crossed bands cover the background gap. */
.ribbons{margin-top:-68px;height:calc(128px + 1.4vw)}
.ribbons + .section,.ribbons + .guide-layout{padding-top:24px}
:root{--section-gap:84px;--body-size:18px;--heading-small:27px}
button{font:inherit;cursor:pointer;border:0}a,button{touch-action:manipulation}
[id]{scroll-margin-top:calc(var(--header-height) + 24px)}.cut:focus-visible{outline:0;box-shadow:inset 0 0 0 4px var(--ink),inset 0 0 0 7px var(--white)}
.skip{position:fixed;top:8px;left:8px;background:var(--white);padding:12px 20px;z-index:20;transform:translateY(-150%)}.skip:focus{transform:none}
.menu-toggle{display:none;background:none;color:var(--ink);border:1.5px solid var(--ink);padding:10px 14px;min-height:44px}
.toplist-section{padding-top:40px}.demo-note{margin:18px auto 0;max-width:600px;font-size:15px;color:var(--ink-70)}
.demo-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);display:block;margin-bottom:4px}
.row button{flex-shrink:0}.row .who small{display:block;margin-top:4px}
.editorial{display:grid;grid-template-columns:1fr 1fr;gap:40px}.editorial h3,.steps h3{font-size:var(--heading-small);margin-bottom:12px}.editorial p+p,.prose p+p{margin-top:18px}
.editorial a,.prose a,.faq a,.caption a,.plaque a{font-weight:600;text-underline-offset:4px}
.eyebrow{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:700;margin-bottom:14px;color:var(--ink-70)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;counter-reset:steps}.steps li{border-top:1.5px solid var(--gold);padding-top:22px;counter-increment:steps}.steps li::before{content:'0' counter(steps);display:block;font-family:var(--font-head);font-size:34px;color:var(--red);margin-bottom:16px}
.caption{font-size:15px;color:var(--ink-70);margin-top:18px}.section .tax{border:1.5px solid var(--ink);border-top:3px solid var(--gold)}
.faq{border-top:1.5px solid var(--gold)}.faq details{border-bottom:1px solid var(--gold)}.faq summary{font-size:21px;font-weight:600;cursor:pointer;list-style:none;padding:24px 44px 24px 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:4px;top:20px;font-size:28px}.faq details[open] summary::after{content:'−'}.faq details p{padding:0 0 24px;max-width:none}.faq summary:focus-visible{outline-offset:-3px}
.jump-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;padding-top:8px}.jump-links a{min-height:44px;display:flex;align-items:center;text-underline-offset:5px}
.footer-links{width:100%;display:flex;gap:12px 26px;flex-wrap:wrap;border-top:1px solid var(--gold);padding-top:24px}.footer-links a{min-height:44px;display:flex;align-items:center}.site-footer .l{align-items:flex-start}.age{border:1.5px solid var(--ink);padding:4px 8px;flex-shrink:0}
.dialog{color:var(--ink);background:var(--white);width:min(540px,calc(100% - 40px));border:2px solid var(--ink);padding:38px;box-shadow:inset 0 0 0 6px var(--white),inset 0 0 0 7px var(--gold)}.dialog::backdrop{background:rgba(20,26,60,.65)}.dialog h2{font-size:30px;margin:22px 0 16px}.dialog p{margin-bottom:24px}.dialog-close{float:right;background:none;min-height:44px;padding:5px 12px;text-decoration:underline;text-underline-offset:4px}.dialog .cut{width:100%;text-align:center}
@media(max-width:1100px){.logo{font-size:23px;gap:8px}.nav{gap:20px;font-size:17px}}
@media(max-width:860px){.ribbons{margin-top:-48px;height:calc(92px + 1.4vw)}:root{--section-gap:60px;--heading-small:25px}.site-header{position:relative;flex-wrap:wrap;gap:16px}.logo{font-size:21px}.logo svg{width:38px}.menu-toggle{display:block;font-size:0;width:44px;padding:8px}.menu-toggle span{font-size:20px}.arch{padding:64px 24px 32px;border-radius:50% 50% 0 0 / 100px 100px 0 0}.arch::before{border-radius:50% 50% 0 0 / 88px 88px 0 0}.arch::after{border-radius:50% 50% 0 0 / 80px 80px 0 0}.nav.is-open{display:flex;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--gold);padding-top:10px}.nav a{padding:12px 4px;align-self:flex-start}.editorial,.steps{grid-template-columns:1fr;gap:30px}.section-head{margin-bottom:28px}.site-footer{padding-top:50px}.dialog{padding:28px}.tax p{font-size:19px}.row .logo-ph{width:72px;flex-basis:72px}.row .who{flex:1 1 115px}.row .badge{flex-basis:48px;width:48px}.badge::before{left:3px}.arch .chip{font-size:14px;padding:5px 12px}.table-wrap{position:relative}.jump-links{gap:4px 20px}}
@media(max-width:380px){.logo{font-size:18px}.logo svg{width:30px}.hero{padding-left:20px;padding-right:20px}.arch{padding-left:22px;padding-right:22px}h1{font-size:29px}.row{gap:12px}.row .who{flex-basis:100px}.cut{padding:14px 22px}}

/* Shared long-form editorial components use the site's existing width and type tokens. */
.prose h3,.prose h4{font-size:var(--heading-small);margin:32px 0 14px}
.prose h4{font-family:var(--font-head);font-weight:400;line-height:1.14}
.prose > :first-child{margin-top:0}.prose p{margin:0 0 18px}.prose ul,.prose ol{padding-left:24px;margin:18px 0 28px}.prose li+li{margin-top:10px}
.prose .table-wrap{margin:22px 0 26px}
/* One compact treatment for every editorial table, including the sidebar guides. */
.table-wrap table{font-size:15px;line-height:1.4}
.table-wrap th,.table-wrap td{padding:12px;vertical-align:middle}
.table-wrap thead th{font-size:17px;line-height:1.35;padding:14px 12px}
.table-wrap thead th:first-child{width:auto}
.table-wrap tbody tr:last-child th,.table-wrap tbody tr:last-child td{padding-bottom:16px}
@media(min-width:861px){
 .table-wrap table{min-width:0;width:100%}
 .table-wrap th,.table-wrap td{white-space:normal;overflow-wrap:anywhere}
}
.article-intro{padding-top:40px}.article-toc{padding-top:32px}.article-toc .jump-links{justify-content:flex-start;border-top:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);padding:18px 0;gap:4px 28px}
.article-figure{margin:28px 0}.article-figure img{display:block;width:100%;height:auto}.hero-meta{margin-top:22px}.hero-meta a{text-underline-offset:4px}
.section:focus{outline:none}.prose h3:focus{outline:none}
.information-page :is(h1,h2,h3){hyphens:auto;overflow-wrap:anywhere}
@media(max-width:860px){.article-toc .jump-links{gap:2px 20px}.prose h3,.prose h4{margin-top:28px}.article-diagram{overflow-x:auto}.article-diagram img{min-width:600px}}
@media(max-width:860px){
 .hero-mobile-compact{padding-top:16px}
 .hero-mobile-compact .actions{display:none}
 .hero-mobile-compact .arch{padding-top:48px;padding-bottom:20px}
 .hero-mobile-compact .lede{margin-bottom:16px}
 .hero-mobile-compact .hero-meta{margin-top:0}
}

/* Shared footer: references/footer.original.html. */

.site-footer{display:block;padding:0;
  --ink:#141A3C;--bg:#EEF1F8;--gold:#B8903A;--blue:#DCE3F5;
  --ink-70:rgba(20,26,60,.72);
  --font-head:'Limelight',Georgia,serif;
  --font-body:'Josefin Sans',system-ui,sans-serif;
  margin-top:90px;border-top:1.5px solid var(--ink);
  background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.55}
.site-footer *{box-sizing:border-box}
.site-footer a{color:inherit;font-weight:inherit}
.site-footer .sf-in{border-top:1.5px solid var(--gold);margin-top:3px}

.site-footer .sf-grid{display:grid;grid-template-columns:1.7fr .9fr .9fr 1.3fr;gap:40px;padding-top:46px;padding-bottom:34px}
.site-footer .sf-logo{display:flex;align-items:center;gap:14px;font-family:var(--font-head);font-size:25px;white-space:nowrap;text-decoration:none}
.site-footer .sf-about{margin:16px 0 0;color:var(--ink-70)}
.site-footer h2{font-family:var(--font-head);font-weight:400;font-size:20px;line-height:1.2;margin:0 0 14px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:8px}
.site-footer li a{text-decoration:none}
.site-footer li a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .sf-rg{display:flex;gap:14px;align-items:flex-start}
.site-footer .sf-badge{position:relative;flex:0 0 46px;height:46px}
.site-footer .sf-badge::before{content:"";position:absolute;left:6px;top:6px;width:34px;height:34px;transform:rotate(45deg);border:2px solid var(--gold)}
.site-footer .sf-badge b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:400;font-size:15px}
.site-footer .sf-rg p{margin:0;font-size:15.5px;line-height:1.55}
.site-footer .sf-rg a{font-weight:700;color:var(--ink)}
.site-footer .sf-bottom{border-top:1px solid var(--blue);padding-top:18px;padding-bottom:30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:15px;color:var(--ink-70)}
.site-footer :focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media (max-width:860px){
  
  .site-footer .sf-grid{grid-template-columns:1fr 1fr;gap:30px}
  .site-footer .sf-grid>div:first-child,.site-footer .sf-grid>div:last-child{grid-column:1/-1}
}

.site-footer .sf-logo svg{display:block;flex-shrink:0;transform:translateY(-.35em)}
@media(max-width:380px){.site-footer .sf-logo{font-size:21px;gap:8px}.site-footer .sf-logo svg{width:38px}}

.site-footer .sf-harm-note{display:none}
/* Mobile layout reference: https://sistersblog.co.uk/ (16 October 2026).
   Stacked groups, inline links, divider headings and prominent support panel.
   Keep this site's navy/gold palette and fonts. Desktop retains its existing grid. */
@media(max-width:860px){
 .site-footer{background:var(--ink);color:var(--white);font-size:16px}
 .site-footer .sf-grid{grid-template-columns:1fr;gap:32px;padding-top:32px;padding-bottom:32px}
 .site-footer .sf-grid>*{grid-column:1!important;min-width:0}
 .site-footer .sf-brand{grid-row:1}
 .site-footer .sf-responsible{grid-row:2}
 .site-footer .sf-about,.site-footer .sf-bottom{color:var(--white)}
 .site-footer .sf-logo{font-size:23px;gap:10px;white-space:normal}
 .site-footer .sf-logo svg{width:38px}
 .site-footer h2{display:flex;align-items:center;gap:12px;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin-bottom:12px}
 .site-footer h2::after{content:"";height:1px;flex:1;background:var(--gold);opacity:.6}
 .site-footer nav ul{display:flex;flex-wrap:wrap;gap:4px 24px}
 .site-footer nav li{margin:0;max-width:100%}
 .site-footer nav li a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
 .site-footer .sf-rg{display:grid;grid-template-columns:46px 1fr;gap:16px 12px;align-items:center}
 .site-footer .sf-rg p{grid-column:1/-1;grid-row:1;border:1px solid var(--gold);padding:12px;font-size:15px;color:var(--white)}
 .site-footer .sf-rg a{color:inherit}
 .site-footer .sf-badge{grid-column:1;grid-row:2;height:40px}
 .site-footer .sf-badge::before{inset:0;width:auto;height:auto;transform:none;border-width:1px}
 .site-footer .sf-harm-note{display:block;grid-column:2;grid-row:2;font-size:14px;line-height:1.5}
 .site-footer .sf-bottom{border-color:var(--gold);display:grid;gap:12px;font-size:14px;padding-top:24px;padding-bottom:32px}
 .site-footer :focus-visible{outline-color:var(--gold)}
}
@media(max-width:380px){.site-footer .sf-logo{font-size:21px;gap:8px}}

/* Author cards: references/author-card.original.html. */

.author-card{
  position:relative;max-width:1000px;margin:34px auto 0;
  display:flex;gap:30px;align-items:center;
  background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.55;
  border:3px solid var(--ink);border-radius:22px;box-shadow:6px 6px 0 var(--ink);padding:34px 40px}
.author-card *{box-sizing:border-box}
.author-card .ac-tag{position:absolute;left:34px;top:-24px;background:var(--red);color:var(--white);border:3px solid var(--ink);border-radius:12px;padding:3px 16px;font-family:var(--font-head);font-size:17px;line-height:1.4;transform:rotate(-3deg)}
.author-card .ac-photo{flex:0 0 130px;width:130px;height:130px;background:var(--blue);border:3px solid var(--ink);border-radius:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-70)}
.author-card .ac-photo img{display:block;width:100%;height:100%;object-fit:cover}
.author-card .ac-body{flex:1;min-width:0}
.author-card .ac-name{font-family:var(--font-head);font-weight:400;font-size:30px;line-height:1.15;margin:0}
.author-card .ac-role{font-weight:700;color:var(--red);margin:2px 0 10px}
.author-card .ac-bio{margin:0;color:var(--ink-70)}
.author-card .ac-meta{margin:14px 0 0;font-size:14.5px;color:var(--ink-70)}
.author-card .ac-meta a{font-weight:700;color:var(--ink)}
.author-card .ac-meta a:hover{text-underline-offset:4px}
.author-card :focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media (max-width:640px){
  .author-card{flex-direction:column;align-items:flex-start;padding:38px 24px 28px;gap:20px}
  .author-card .ac-tag{left:22px}
  .author-card .ac-name{font-size:26px}
}

/* The card reference sits inside the shared editorial container. */
.author-cards{--author-card-gap:34px;padding-top:var(--author-card-gap);padding-bottom:var(--author-card-gap)}
.author-cards .author-card{width:100%;max-width:none;margin:0}
.site-footer.author-footer{margin-top:0}
.author-card .ac-role{overflow-wrap:anywhere}
.author-card .ac-meta{display:flex;flex-wrap:wrap;gap:4px 14px}
.author-card .ac-meta span{display:block}
@media(max-width:640px){
 .author-card{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:14px;row-gap:0;padding:28px 20px 22px;align-items:start}
 .author-card .ac-photo{grid-column:1;grid-row:1 / 3;width:72px;height:72px;border-radius:14px;align-self:center}
 .author-card .ac-body{display:contents}
 .author-card .ac-name{grid-column:2;grid-row:1;font-size:22px;align-self:end}
 .author-card .ac-role{grid-column:2;grid-row:2;margin:2px 0 0;line-height:1.35}
 .author-card .ac-bio{grid-column:1 / -1;grid-row:3;margin-top:14px}
}

/* Shared two-column guide template; all article components retain their tokens. */
body.guide-with-toc{overflow-x:clip}
.guide-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding-top:40px}
.guide-content{min-width:0}
.guide-content>.wrap{max-width:none;padding-left:0;padding-right:0}
.guide-content>.article-intro{padding-top:0}
.guide-sidebar{min-width:0;grid-row:1}
.guide-toc{background:var(--white);border:1.5px solid var(--ink);box-shadow:inset 0 0 0 5px var(--white),inset 0 0 0 6.5px var(--gold)}
.guide-toc>summary{padding:20px 22px;font-family:var(--font-head);font-size:var(--heading-small);line-height:1.2;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.guide-toc>summary::-webkit-details-marker{display:none}
.guide-toc>summary::after{content:'+';font-family:var(--font-body);font-size:24px;color:var(--red)}
.guide-toc[open]>summary::after{content:'−'}
.guide-toc .article-toc{padding:0 14px 14px}
.guide-toc .jump-links{display:grid;gap:0;border:0;padding:0}
.guide-toc .jump-links a{padding:10px 12px;min-height:44px;font-size:16px;line-height:1.4;text-decoration:none;border-left:2px solid transparent;overflow-wrap:anywhere}
.guide-toc .jump-links a+a{border-top:1px solid var(--blue)}
.guide-toc .jump-links a:hover{background:var(--bg);border-left-color:var(--gold)}
.guide-toc .jump-links a:focus-visible,.guide-toc>summary:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;background:var(--bg)}
@media(min-width:1180px){
 .guide-toc>summary::after{display:none}
 .guide-layout{grid-template-columns:minmax(0,1fr) 260px;column-gap:40px;align-items:start}
 .guide-content{grid-column:1;grid-row:1}
 .guide-sidebar{grid-column:2;grid-row:1;position:sticky;top:calc(var(--header-height) + 24px)}
 .guide-toc .jump-links a{padding:4px 12px;min-height:32px}
 .guide-toc>summary{padding-top:14px;padding-bottom:14px}
}
@media(min-width:1180px) and (max-height:760px){
 .guide-toc .jump-links a{padding-top:2px;padding-bottom:2px;min-height:28px}
}
/* Short windows retain every link through normal page scrolling. */
@media(min-width:1180px) and (max-height:660px){
 .guide-sidebar{position:static}
}
