/* The Royal Wire — web styles. Everything is scoped under .rw so it does not clash with the WordPress theme. */
.rw{--mast:#000000;--mast-rule:#FFFFFF;--ink:#111111;--paper:#FFFFFF;--tint:#F0F0EE;--rule:#D4D4D0;--accent:#4A4A4A;--muted:#55554F;--onink:#FFFFFF;
  --display:'Fraunces',Georgia,'Times New Roman',serif;--body:'Work Sans','Helvetica Neue',Arial,sans-serif;
  background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;text-align:left}
.rw.theme-vermilion{--mast:#161616;--mast-rule:#FF7A5C;--ink:#161616;--tint:#F6F3EE;--rule:#D9D6D0;--accent:#B42D1A}
.rw.theme-navy{--mast:#0F1C36;--mast-rule:#F2C94C;--ink:#0F1C36;--tint:#EEF1F6;--rule:#D3D9E3;--accent:#2D4F8E;--muted:#4A5568}
.rw.theme-forest{--mast:#15281F;--mast-rule:#F3B07C;--ink:#15281F;--tint:#F1F0E8;--rule:#D6D9CE;--accent:#9C4A1C;--muted:#4B544D}
.rw *,.rw *::before,.rw *::after{box-sizing:border-box}
.rw h1,.rw h2,.rw h3,.rw h4{font-family:var(--display);font-weight:600;color:var(--ink);margin:0;line-height:1.15;text-wrap:balance;letter-spacing:normal;text-transform:none}
.rw p{margin:0 0 1em;text-wrap:pretty}
.rw a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.rw a:hover{color:var(--accent)}
.rw a:focus-visible,.rw .btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.rw img{max-width:100%;height:auto}
.rw .k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--accent);margin:0}
.rw .num{font-family:var(--display);font-weight:800;line-height:1;letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums}
.rw .wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.rw .col{max-width:720px;margin:0 auto}

/* masthead */
.rw .mast{background:var(--mast);color:#FFFFFF;padding:28px 0 36px}
.rw .mast .top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:3px solid var(--mast-rule);padding-bottom:10px}
.rw .mast .k{color:#FFFFFF}
.rw .mast .name{font-family:var(--display);font-weight:800;font-size:clamp(44px,8vw,92px);line-height:.95;letter-spacing:-.02em;color:#FFFFFF;margin:20px 0 6px}
.rw .mast .name a{color:#FFFFFF;text-decoration:none}
.rw .mast .tag{color:#C8C8C8;margin:0;font-size:16px}
.rw .issuehead{border-top:1px solid #FFFFFF;margin-top:24px;padding-top:18px}
.rw .issuehead .k{color:#C8C8C8}
.rw .issuehead h1{color:#FFFFFF;font-weight:800;font-size:clamp(36px,6vw,64px);margin:8px 0 10px}
.rw .issuehead p.hook{font-size:20px;color:#FFFFFF;max-width:640px;margin:0 0 20px}
.rw .actions{display:flex;flex-wrap:wrap;gap:12px}
.rw .btn{display:inline-flex;align-items:center;min-height:46px;padding:10px 20px;border-radius:4px;font-weight:600;font-size:16px;text-decoration:none;border:2px solid currentColor}
.rw .btn.solid{background:#FFFFFF;color:var(--mast);border-color:#FFFFFF}
.rw .btn.ghost{color:#FFFFFF}
.rw .btn.dark{background:var(--ink);color:var(--onink);border-color:var(--ink)}
.rw .btn.line{color:var(--ink);border-color:var(--ink);background:transparent}
.rw .btn:hover{opacity:.85;color:inherit}
.rw .btn.dark:hover{color:var(--onink)}
.rw .cover{margin:28px 0 0}

/* section nav */
.rw .secnav{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--rule)}
.rw .secnav ul{display:flex;gap:6px;list-style:none;margin:0 auto;padding:10px 20px;max-width:1080px;overflow-x:auto;scrollbar-width:thin}
.rw .secnav a{display:inline-block;white-space:nowrap;padding:8px 14px;border-radius:999px;background:var(--tint);text-decoration:none;font-size:15px;font-weight:600;min-height:40px}
.rw .secnav a:hover{background:var(--ink);color:var(--onink)}

/* sections */
.rw .sec{padding:56px 0 8px;scroll-margin-top:64px}
.rw .sec-head{border-top:6px solid var(--ink);padding-top:12px;margin-bottom:28px}
.rw .sec-head h2{font-weight:800;font-size:clamp(36px,5vw,52px);margin-top:6px}
.rw .headline{font-size:30px;margin:0 0 20px}
.rw .lede{font-size:21px;line-height:1.55}
.rw h3{font-size:24px;margin:36px 0 12px;padding-top:12px;border-top:2px solid var(--ink)}
.rw .group{display:flex;align-items:center;gap:14px;margin:36px 0 18px}
.rw .group h3{border:0;padding:0;margin:0;font-size:28px;color:var(--accent)}
.rw .group i{flex:1;height:3px;background:var(--accent)}
.rw ul{margin:0 0 1em;padding-left:1.3em}
.rw li{margin-bottom:.35em}

.rw .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:8px 0 28px}
.rw .stats>div{background:var(--ink);color:var(--onink);padding:18px 20px;border-radius:4px}
.rw .stats .num{font-size:40px;color:var(--onink)}
.rw .stats p{font-size:15px;line-height:1.4;margin:8px 0 0;color:var(--onink)}

.rw .tbl{overflow-x:auto;margin:8px 0 6px;-webkit-overflow-scrolling:touch}
.rw table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px;line-height:1.45;margin:0}
.rw caption{caption-side:top;text-align:left;font-weight:600;padding-bottom:8px}
.rw th{background:var(--ink);color:var(--onink);text-align:left;font-weight:600;padding:10px 12px;font-size:14px;border:0}
.rw td{padding:10px 12px;border:0;border-bottom:1px solid var(--rule);vertical-align:top;background:var(--paper)}
.rw tbody tr:nth-child(even) td{background:var(--tint)}
.rw td.r,.rw th.r{text-align:right;font-variant-numeric:tabular-nums}
.rw .tsrc{font-size:14px;color:var(--muted);margin:0 0 24px}
.rw .chip{display:inline-block;font-size:13px;font-weight:600;padding:2px 9px;border-radius:3px;background:var(--tint);border:1px solid var(--rule)}
.rw .chip.yes{background:var(--accent);border-color:var(--accent);color:#FFFFFF}
.rw .todo{color:var(--muted);font-style:italic}

.rw .signoff{margin:8px 0 40px}
.rw .signoff b{display:block}
.rw .signoff span{font-size:15px;color:var(--muted)}
.rw .brief{border-top:4px solid var(--ink);padding-top:12px}
.rw .brief h3{border:0;padding:0;margin:6px 0 10px;font-size:28px}
.rw .brief .row{display:grid;grid-template-columns:130px 1fr;gap:16px;border-top:1px solid var(--rule);padding:14px 0}
.rw .brief .row b{font-family:var(--display);font-weight:600;font-size:20px;color:var(--accent)}
.rw .brief .row p{margin:0;font-size:16px}
.rw .brief .row a{text-decoration:none}

.rw .program{border:1px solid var(--rule);border-top:5px solid var(--accent);border-radius:4px;padding:20px 22px 6px;margin:0 0 22px}
.rw .program .ph{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.rw .program h4{font-size:22px}
.rw .program .link{font-size:15px;font-weight:600;white-space:nowrap}
.rw .program .status{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--onink);padding:3px 8px;border-radius:3px;vertical-align:4px}
.rw .elig{background:var(--tint);border-radius:3px;padding:14px 18px 4px;margin:6px 0 16px}
.rw .elig .k{color:var(--ink);margin-bottom:8px}

.rw .photo{margin:0 0 28px}
.rw .photo img{display:block;width:100%;border-radius:2px}
.rw .image{border:2px dashed var(--muted);background:var(--tint);aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:20px;color:var(--ink)}
.rw .image p{margin:0;font-size:15px;color:var(--muted)}
.rw .mast .image{background:#1A1A1A;border-color:#8A8A8A;color:#FFFFFF}
.rw .mast .image p{color:#C8C8C8}
.rw figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.rw .placeholder{border:2px dashed var(--ink);padding:20px;font-style:italic;margin:0 0 24px}
.rw .quote{margin:20px 0 32px;padding:0}
.rw .quote p{font-family:var(--display);font-weight:600;font-size:30px;line-height:1.25;margin:0 0 8px}
.rw .quote footer{font-size:15px;color:var(--muted)}
/* Some WordPress themes draw their own quote mark on blockquotes; the pull quote already has quotation marks. */
.rw blockquote.quote,.rw .quote{border:0;background:none;box-shadow:none;quotes:none;font-style:normal;padding:0;position:relative}
.rw blockquote.quote::before,.rw blockquote.quote::after,.rw .quote p::before,.rw .quote p::after,.rw .quote footer::before{content:none!important;display:none!important}

.rw .bignum{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;background:var(--ink);color:var(--onink);padding:24px 28px;border-radius:4px;margin-bottom:28px}
.rw .bignum .num{font-size:clamp(72px,12vw,120px);color:var(--onink)}
.rw .bignum>div:last-child{flex:1;min-width:220px}
.rw .bignum .k{color:var(--onink);opacity:.85;margin-bottom:6px}
.rw .bignum p{margin:0}
.rw .ladder,.rw .bars{margin:0 0 32px}
.rw .ladder .row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:6px 14px;align-items:center;margin-top:14px}
.rw .ladder .row>span:last-child{grid-column:2;font-size:15px;line-height:1.4;color:var(--muted)}
.rw .ladder .num{font-size:24px}
.rw .track{height:16px;background:var(--tint);border:1px solid var(--rule);border-radius:3px;overflow:hidden}
.rw .track i{display:block;height:100%;background:var(--accent)}
.rw .bars .row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) 70px;gap:12px;align-items:center;margin-top:10px;font-size:15px}
.rw .bars .row b{text-align:right;font-variant-numeric:tabular-nums}
.rw .kpiwrap{margin:0 0 28px}
.rw .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:10px}
.rw .kpis>div{border-top:3px solid var(--ink);padding-top:10px}
.rw .kpis .num{font-size:28px}
.rw .kpis p{font-size:14px;line-height:1.4;margin:6px 0 0}
.rw .compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:0 0 20px}
.rw .compare>div{background:var(--tint);border-radius:4px;padding:18px 20px}
.rw .compare .num{font-size:36px;margin:6px 0 10px}
.rw .compare p{font-size:15px;line-height:1.5;margin:0}
.rw .src{font-size:14px;color:var(--muted);border-top:1px solid var(--rule);padding-top:10px}

/* end matter */
.rw .endbox{border-top:6px solid var(--ink);margin-top:56px;padding:20px 0 0}
.rw .endbox dl{display:grid;grid-template-columns:140px 1fr;gap:8px 18px;margin:14px 0 0;font-size:16px}
.rw .endbox dt{font-weight:600}
.rw .endbox dd{margin:0}
.rw .fine{font-size:14px;color:var(--muted);margin-top:28px}
.rw .pager{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--rule);margin-top:40px;padding:18px 0 48px}

/* archive */
.rw .intro{font-size:20px;color:#FFFFFF;max-width:640px;margin:22px 0 0}
.rw .issues{list-style:none;padding:0;margin:40px 0;display:grid;gap:18px}
.rw .card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;border-top:4px solid var(--ink);padding:18px 0 6px}
.rw .card .no{font-family:var(--display);font-weight:800;font-size:56px;line-height:1}
.rw .card h2{font-size:32px;margin:6px 0 8px}
.rw .card h2 a{text-decoration:none}
.rw .card .hook{font-size:18px;margin:0 0 6px}
.rw .card .sum{font-size:16px;color:var(--muted);margin:0 0 14px}
.rw .card .actions .btn{min-height:42px;padding:8px 16px;font-size:15px}
.rw .latest{display:inline-block;margin-left:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;background:var(--accent);color:#FFFFFF;padding:3px 8px;border-radius:3px;vertical-align:3px}
.rw .subscribe{background:var(--tint);border-radius:4px;padding:24px;margin:0 0 48px}
.rw .subscribe h2{font-size:28px;margin-bottom:8px}

@media (max-width:640px){
  .rw{font-size:17px}
  .rw .brief .row,.rw .endbox dl{grid-template-columns:1fr;gap:4px}
  .rw .card{grid-template-columns:1fr;gap:4px}
  .rw .card .no{font-size:40px}
  .rw .bars .row{grid-template-columns:1fr 60px}
  .rw .bars .row .track{grid-column:1/-1;grid-row:2}
}
@media (prefers-reduced-motion:no-preference){.rw html{scroll-behavior:smooth}}

.rw .photo.float-right{float:right;width:40%;margin:6px 0 16px 28px}
.rw .photo.float-left{float:left;width:40%;margin:6px 28px 16px 0}
.rw .photo.float-right .image,.rw .photo.float-left .image{aspect-ratio:4/3;padding:12px}
.rw h3{clear:both}
.rw .sec::after{content:"";display:block;clear:both}
@media (max-width:640px){.rw .photo.float-right,.rw .photo.float-left{float:none;width:100%;margin:0 0 24px}}

/* Lever tool cards: the parts of side-by-side cards line up on shared rows (subgrid), with one spacing value throughout */
.rw .tools{--g:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--g);margin:var(--g) 0 32px}
.rw .tool{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:12px;border:1px solid var(--rule);border-top:4px solid var(--ink);border-radius:3px;padding:18px;background:var(--paper)}
.rw .tool > *{margin:0}
.rw .tool-top{display:flex;flex-direction:column;gap:4px}
.rw .tool h4{font-size:21px;line-height:1.2}
.rw .tool h4 a{text-decoration:none}
.rw .tool-city{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.rw .tool-what{font-size:15px;line-height:1.5}
.rw .tool-why{background:var(--tint);border-left:3px solid var(--accent);padding:12px 14px}
.rw .tool-why .k{font-size:11px;color:var(--ink);margin:0 0 4px}
.rw .tool-why p{font-size:14.5px;line-height:1.5;margin:0}
.rw .tool-link{font-size:14px;font-weight:600;text-decoration:none;justify-self:start;align-self:end}
.rw .tool:last-child:nth-child(odd){grid-column:1/-1}
@media (max-width:640px){.rw .tools{grid-template-columns:1fr}}
