/* ---------- legacy font names: old pages ask for Playfair Display, DM Sans and Source Serif 4, which the sim7 shell
   no longer loads; alias them to the sim7 faces so their own components fall into the house type instead of Times */
@font-face{font-family:"Playfair Display";src:url("../fonts/dm-serif-display.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url("../fonts/dm-serif-display-italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/inter-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/inter-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Reskinned articles: the old page's own content classes, restyled in the sim7 article language.
   Loaded after article.css on every reskinned article. Page-specific component rules from each page's
   old <style> block are inlined separately in <style data-legacy-components>. */
:root{--light:#f4f6fa}

/* ---------- layout without a contents rail ---------- */
.art-main{min-width:0}
.art-head{display:grid;grid-template-columns:minmax(0,1fr);gap:0 clamp(28px,4vw,56px)}
.art-head>.crumbs,.art-head>.art-head-main{grid-column:1}
.art-hero{margin-top:clamp(24px,3vw,36px);min-width:0}
@media (min-width:900px){
  .art-head:has(.art-hero){grid-template-columns:minmax(0,1fr) clamp(240px,24vw,320px)}
  .art-head>.crumbs{grid-column:1/-1}
  .art-head>.art-hero{grid-column:2;grid-row:2;margin-top:0;align-self:start}
}
@media (min-width:1100px){
  .art-grid--solo{grid-template-columns:minmax(0,46rem);justify-content:center}
  .art-grid--solo>.art-head{grid-column:1;max-width:none}
  .art-grid--solo>.art-main{grid-column:1}
}
@media (min-width:1280px){
  .art-grid--solo{grid-template-columns:minmax(0,46rem) 236px;column-gap:64px}
  .art-grid--solo>.art-head{grid-column:1/-1}
  .art-grid--solo>.rail{grid-column:2}
  .art-grid--solo>.art-head{max-width:calc(46rem + 64px + 236px);margin-inline:auto;width:100%}
}
.art-hero .article-header-image{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--paper-2,#eef1f6)}
.art-hero .article-header-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.art-hero .article-header-image .img-placeholder{display:none}
@media (max-width:899px){.art-hero .article-header-image{aspect-ratio:4/3;max-height:340px}}
.art-hero .article-header-caption{margin-top:8px;font-size:var(--fs-label);line-height:1.5;color:var(--slate)}

/* ---------- header furniture the old pages carry ---------- */
.art-head .article-category{display:inline-block;margin-bottom:14px;font:600 var(--fs-label)/1.3 var(--sans);letter-spacing:.02em;color:var(--gold-ink,var(--slate));text-decoration:none}
.art-head .article-category:hover{text-decoration:underline}
.art .article-deck{max-width:40em;margin-top:clamp(18px,2.2vw,26px);font-size:clamp(1.1875rem,1.1rem + .4vw,1.375rem);line-height:1.5;color:var(--slate)}
.art-head .article-meta{display:flex;align-items:center;gap:14px;margin-top:clamp(22px,3vw,30px)}
.art-head .meta-avatar{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}
.art-head .meta-avatar img{width:100%;height:100%;object-fit:cover;object-position:top}
.art-head .meta-name{font-weight:600;color:var(--ink);font-size:.9375rem}
.art-head .meta-detail{color:var(--slate);font-size:var(--fs-label);margin-top:2px}
.art-head .header-cta-row,.art-head .header-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* ---------- body devices from the old template ---------- */
.article-body>*+*{margin-top:1.15em}
.article-body ul,.article-body ol{padding-left:1.4em;max-width:66ch}
.article-body li+li{margin-top:.5em}
.article-body figure{margin:1.8em 0}
.article-body img{max-width:100%;height:auto}
.article-body .article-byline{max-width:none}
.article-pullquote{margin:2.4em 0;padding:0;max-width:24em;font:italic 400 clamp(1.45rem,1.15rem + 1.2vw,1.95rem)/1.3 var(--serif);letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.article-pullquote::before{content:"";display:block;width:48px;height:3px;margin-bottom:18px;background:var(--gold)}
.article-callout{margin:2.2em 0;padding:1.3em 0;border-block:1px solid var(--ink);max-width:66ch}
.article-callout .callout-label{margin-bottom:.4em;font:600 var(--fs-label)/1.3 var(--sans);color:var(--amber-ink,var(--ink))}
.article-callout p{max-width:none;color:var(--ink)}
.article-body .ds-table-wrap{margin:1.8em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.article-body table{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.45}
.article-body th,.article-body td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.article-body th{font-weight:600;color:var(--ink);border-bottom:2px solid var(--ink);background:transparent}
.article-body .article-video{max-width:100%}
.article-body .article-updated{margin:0 0 1.4em;font-size:var(--fs-label);color:var(--slate)}
.article-body .btn-primary,.art-main .btn-primary{display:inline-block;padding:14px 26px;background:var(--gold);color:var(--navy-dark);font-weight:700;text-decoration:none;border-radius:var(--radius)}
.article-body a.btn-primary{color:var(--navy-dark)}

/* ---------- rail, author, related, footer strip ---------- */
.rail-cta h3{margin:0 0 .5em;font-size:1.45rem;line-height:1.15}
.rail-cta .eyebrow{margin-bottom:8px}
.rail-cta a:not(.btn){color:var(--gold)}
.sidebar-author .author-name{margin:0 0 .5em;padding:0;border:0;font:400 1.4rem/1.15 var(--serif)}
.sidebar-author p{margin:0 0 .6em}
.related .rel>li>a span{min-width:0}
.art-extras{margin-top:3em}
.article-footer-strip{margin-top:2.4em;padding:22px 0;border-top:1px solid var(--line)}
.article-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px}
.article-footer-copy{flex:1 1 320px;max-width:62ch;font-size:var(--fs-small,.9375rem);line-height:1.6;color:var(--slate)}
.article-footer-copy strong{color:var(--ink)}
.art-close .container{display:block}
.art-main>.art-faq .faq-list{margin-top:0}

/* ---------- checklist and gear-guide pages (hero, sections, picks) ---------- */
@media (min-width:1100px){
  .art-grid--guide{grid-template-columns:minmax(0,64rem);justify-content:center}
  .art-grid--guide>.art-head,.art-grid--guide>.art-main{grid-column:1}
}
.art-grid--guide .art-main{font-size:1rem;line-height:1.65;margin-top:clamp(20px,3vw,36px)}
.art-grid--prose .art-main{font-size:1.1875rem;line-height:1.72}
.art-grid--prose .art-main p{max-width:66ch}
.art-grid--guide .container,.art-grid--guide .container.narrow{max-width:none;padding:0;margin:0}
.art-grid--guide .body-section{padding:clamp(18px,2.4vw,32px) 0}
.art-grid--guide .art-main section.cta,.art-grid--guide .art-main section.keep-reading{margin-top:2em}
.art-head .eyebrow{display:inline-block;margin-bottom:14px;font:600 var(--fs-label)/1.3 var(--sans);letter-spacing:.02em;color:var(--gold-ink,var(--slate))}
.art-head .subhead{max-width:40em;margin-top:clamp(18px,2.2vw,26px);font-size:clamp(1.1875rem,1.1rem + .4vw,1.375rem);line-height:1.5;color:var(--slate)}
.art-head .hero-meta{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:clamp(20px,3vw,28px);color:var(--slate);font-size:var(--fs-label)}
.art-hero .hero-img{aspect-ratio:3/4;overflow:hidden;background:var(--paper-2,#eef1f6)}
.art-hero .hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
@media (max-width:899px){.art-hero .hero-img{aspect-ratio:4/3;max-height:340px}}
.art-main .on-dark,.art-main section.cta{color:var(--white)}
@media print{.topbar,.site-header,.site-footer,.mobile-cta,.mobile-call,.rail{display:none!important}}

/* ---------- gear guides: "Keep reading" and "The rest of the set" in the sim7 rundown-row look ---------- */
.art-main .keep-reading{max-width:none;margin:3em 0 0;padding:0}
.art-main .keep-reading h2,.art-grid--guide .art-main .related h2{margin:0 0 .6em;padding:0;border:0;font:400 clamp(1.5rem,1.2rem + 1vw,1.9rem)/1.2 var(--serif);letter-spacing:0;text-transform:none;color:var(--ink)}
.art-main .keep-reading ul,.art-grid--guide .related-links{list-style:none;margin:0;padding:0;gap:0;border-top:1px solid var(--line)}
.art-main .keep-reading li{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:baseline;gap:16px;margin:0;padding:18px 4px;border-top:0;border-bottom:1px solid var(--line)}
.art-grid--guide .related-links li{margin:0;border-bottom:1px solid var(--line)}
.art-main .keep-reading a,.art-grid--guide .related-links a{display:block;font:400 clamp(1.15rem,1.05rem + .5vw,1.4rem)/1.25 var(--serif);color:var(--ink);text-decoration:none}
.art-grid--guide .related-links a{padding:18px 4px}
.art-main .keep-reading a:hover,.art-grid--guide .related-links a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.art-main .keep-reading .kr-cat{flex:none;font:500 var(--fs-label)/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--slate)}
.art-grid--guide .related{margin-top:2.4em;padding:0;border:0}
@media print{.skip,.art-grid--guide .art-head,.art-grid--guide .rail,.art-close{display:none!important}.art-grid--guide{display:block}.art-grid--guide .art-main{max-width:none;margin:0}}
