/* Denim Dispatch, article template styles. Extracted verbatim from the article mockup.
   Loaded after components.css, so page-scoped overrides (subscribe/footer width) apply here only. */

/* reading progress */
.progress{position:fixed;top:0;left:0;height:3px;background:var(--rust);z-index:50;width:0%}

/* ---------- COMPACT MASTHEAD ---------- */
header.bar{background:var(--indigo);border-bottom:3px solid var(--rust);position:relative;z-index:4}
.bar-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:16px 40px}
.bar-inner .wm{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;color:var(--ecru);letter-spacing:-.01em;text-decoration:none}
.bar-nav{display:flex;gap:24px;font-family:'Archivo Narrow',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.bar-nav a{color:var(--ecru-dim);text-decoration:none;opacity:.82;transition:opacity .2s}
.bar-nav a:hover{opacity:1}
@media(max-width:760px){.bar-nav a:not(.sub){display:none}}
.bar-nav .sub{border:1px solid var(--gold);color:var(--gold);padding:5px 14px;border-radius:2px}

/* ---------- ARTICLE HEAD ---------- */
.art-head{max-width:820px;margin:0 auto;padding:60px 40px 0;position:relative;z-index:3}
.crumbs{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:11.5px;color:var(--rust);margin-bottom:30px;display:flex;gap:12px;align-items:center}
.crumbs a{color:var(--rust);text-decoration:none}
.crumbs .sep{color:var(--line)}
.kicker-row{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.kicker-tag{background:var(--rust);color:var(--ecru);font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;padding:5px 12px;border-radius:2px}
.kicker-meta{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;color:var(--slate)}
.art-head h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(2.6rem,6vw,4.6rem);line-height:.98;letter-spacing:-.02em;color:var(--indigo-ink);margin-bottom:26px}
.dek{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:clamp(1.25rem,2.6vw,1.7rem);line-height:1.38;color:#33404f;max-width:34ch;margin-bottom:34px}
.byline-row{display:flex;align-items:center;gap:16px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.byline-row .seal{width:42px;height:42px;border-radius:50%;background:var(--indigo);color:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;font-size:1.1rem;flex-shrink:0}
.byline-row .who{font-size:13.5px;line-height:1.5}
.byline-row .who b{font-family:'Archivo',sans-serif;font-weight:600;color:var(--indigo-ink)}
.byline-row .who span{color:var(--slate)}
.byline-row .share{margin-left:auto;font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--rust)}

/* ---------- HERO BAND (woven) ---------- */
.art-hero{max-width:1180px;margin:44px auto 0;padding:0 40px;position:relative;z-index:3}
.art-hero-inner{height:340px;position:relative;overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(20,31,54,.6),rgba(20,31,54,.15)),repeating-linear-gradient(58deg,#243559 0 2px,#1c2a47 2px 5px),var(--indigo)}
.art-hero-inner::before{content:"";position:absolute;top:0;bottom:0;left:0;width:11px;background:repeating-linear-gradient(180deg,var(--rust) 0 16px,#d9d2c0 16px 20px)}
.art-hero-inner .cap{position:absolute;bottom:22px;left:34px;right:34px;color:var(--ecru-dim);font-family:'Archivo Narrow',sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;opacity:.8}
.art-hero-inner .watermark{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.4rem,3vw,2.2rem);color:rgba(243,236,221,.16);white-space:nowrap;letter-spacing:.02em}

/* ---------- SCOREBOARD ---------- */
.scoreboard{max-width:1180px;margin:48px auto 0;padding:0 40px;position:relative;z-index:3}
.sb-label{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.26em;font-size:12px;color:var(--indigo);font-weight:700;margin-bottom:18px;display:flex;align-items:center;gap:14px}
.sb-label::after{content:"";flex:1;height:1px;background:var(--line)}
.sb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.sb-cell{background:var(--indigo);color:var(--ecru);padding:26px 24px;position:relative;overflow:hidden}
.sb-cell:nth-child(even){background:var(--indigo-deep)}
.sb-cell.rust{background:var(--rust)}
.sb-cell .num{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(2rem,4vw,2.9rem);line-height:1;margin-bottom:10px;letter-spacing:-.02em}
.sb-cell.rust .num,.sb-cell:nth-child(3) .num{color:var(--gold)}
.sb-cell .lab{font-family:'Archivo',sans-serif;font-size:12.5px;line-height:1.45;color:var(--ecru-dim)}
.sb-foot{font-family:'Fraunces',serif;font-style:italic;font-size:12.5px;color:var(--slate);margin-top:14px}
@media(max-width:720px){.sb-grid{grid-template-columns:1fr}}

/* ---------- BODY ---------- */
article{max-width:680px;margin:0 auto;padding:56px 40px 0;position:relative;z-index:3}
article .lead-cap::first-letter{font-family:'Fraunces',serif;font-weight:600;float:left;font-size:5.4rem;line-height:.72;padding:8px 12px 0 0;color:var(--rust)}
article h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.12;letter-spacing:-.01em;color:var(--indigo-ink);margin:48px 0 8px}
article h2 + .sub{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11.5px;color:var(--rust);margin-bottom:20px}
article h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.3rem;color:var(--indigo);margin:34px 0 10px}
article p{font-family:'Fraunces',serif;font-weight:400;font-size:18.5px;line-height:1.72;color:#26313f;margin-bottom:22px;letter-spacing:.002em}
article p b{font-weight:600;color:var(--indigo-ink)}
article .section-rule{display:flex;align-items:center;gap:16px;margin:8px 0 0}
article .section-rule .n{font-family:'Archivo Narrow',sans-serif;font-size:12px;letter-spacing:.2em;color:var(--gold);font-weight:700}
article .section-rule .l{flex:1;height:2px;background:var(--rust);max-width:60px}

.pull{font-family:'Fraunces',serif;font-weight:500;font-style:italic;font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.28;color:var(--indigo);margin:40px 0;padding:6px 0 6px 28px;border-left:3px solid var(--rust);letter-spacing:-.005em}

.principle{background:var(--canvas);border:1px solid var(--line);padding:32px 34px;margin:40px 0;position:relative;overflow:hidden}
.principle::before{content:"";position:absolute;top:0;left:0;width:7px;height:100%;background:repeating-linear-gradient(180deg,var(--indigo) 0 12px,#d9d2c0 12px 15px)}
.principle .pt{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:11.5px;color:var(--rust);margin-bottom:14px;padding-left:14px}
.principle p{font-size:18px;margin-bottom:0;padding-left:14px}
.principle p b{color:var(--indigo-ink)}

.watchlist{background:var(--indigo-deep);color:var(--ecru);padding:38px 38px 32px;margin:44px 0;border:1px solid var(--indigo-ink)}
.watchlist h4{font-family:'Fraunces',serif;font-weight:500;font-size:1.5rem;color:var(--ecru);margin-bottom:6px}
.watchlist .wl-sub{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--gold);margin-bottom:24px}
.watchlist ul{list-style:none}
.watchlist li{font-family:'Fraunces',serif;font-size:16.5px;line-height:1.55;color:var(--ecru-dim);padding:14px 0 14px 28px;border-top:1px solid rgba(243,236,221,.13);position:relative}
.watchlist li:first-of-type{border-top:none}
.watchlist li::before{content:"";position:absolute;left:0;top:21px;width:9px;height:9px;background:var(--gold)}
.watchlist li b{color:var(--ecru);font-weight:600;font-family:'Fraunces',serif}

.bottomline{border-top:2px solid var(--rust);border-bottom:2px solid var(--rust);padding:34px 0;margin:46px 0}
.bottomline p{font-family:'Fraunces',serif;font-size:21px;line-height:1.5;color:var(--indigo-ink);margin-bottom:0;font-weight:400}
.bottomline p b{font-weight:600}

.endnote{font-family:'Archivo',sans-serif;font-size:13.5px;line-height:1.62;color:var(--slate);font-style:normal;background:var(--ecru-dim);padding:24px 26px;margin:40px 0;border-radius:2px}
.endnote b{color:var(--indigo);font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;display:block;margin-bottom:8px}

.endmark{text-align:center;margin:50px 0 10px;color:var(--rust);font-size:1.4rem;letter-spacing:.4em}

/* ---------- MAKER PROFILE ADDITIONS: figures, video, chain, further ---------- */
article figure{margin:38px 0}
article figure img{display:block;width:100%;height:auto;border:1px solid var(--line)}
article figure figcaption{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--slate);margin-top:10px;line-height:1.5}
article figure figcaption a{color:var(--rust);text-decoration:none;border-bottom:1px solid var(--rust)}

/* responsive 16:9 video embed */
.video-embed{position:relative;width:100%;padding-bottom:56.25%;height:0;margin:38px 0 12px;border:1px solid var(--line);background:var(--indigo-deep)}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.video-cap{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--slate);margin:0 0 38px}

/* podcast (Spotify) embed */
.podcast-embed{margin:38px 0 10px}
.podcast-embed iframe{width:100%;height:232px;border:0;border-radius:12px;display:block}

/* the maker's supply chain, mapped inline */
.makerchain{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);margin:34px 0}
.makerchain .step{flex:1 1 30%;min-width:120px;background:var(--paper);padding:14px 16px}
.makerchain .lab{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--slate);display:block;margin-bottom:4px}
.makerchain .val{font-family:'Archivo',sans-serif;font-size:13px;font-weight:700;color:#2e6b3e}
.makerchain .val.foreign{color:var(--indigo)}
.makerchain-note{font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--slate);margin:-22px 0 34px}

/* connect-further media block */
.further{background:var(--indigo-deep);color:var(--ecru);padding:34px 36px 30px;margin:46px 0;border:1px solid var(--indigo-ink)}
.further h4{font-family:'Fraunces',serif;font-weight:500;font-size:1.5rem;color:var(--ecru);margin-bottom:6px}
.further .fsub{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--gold);margin-bottom:22px}
.further a{display:block;color:var(--ecru-dim);text-decoration:none;padding:14px 0 14px 24px;border-top:1px solid rgba(243,236,221,.13);position:relative;font-family:'Fraunces',serif;font-size:16.5px;line-height:1.4}
.further a:first-of-type{border-top:none}
.further a::before{content:"\2192";position:absolute;left:0;top:14px;color:var(--gold);font-family:'Archivo',sans-serif}
.further a:hover{color:#fff}
.further a .meta{display:block;font-family:'Archivo Narrow',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-top:4px}

/* where-to-start shopping guide */
.shopguide{margin:46px 0}
.shopguide .sg-head{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.12;color:var(--indigo-ink);margin:0 0 6px}
.shopguide .sg-sub{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11.5px;color:var(--rust);margin-bottom:22px}
.sg-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:560px){.sg-grid{grid-template-columns:1fr}}
.sg-card{background:var(--paper);padding:22px 24px 24px;display:flex;flex-direction:column}
.sg-card .for{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:10.5px;color:var(--rust);margin-bottom:10px}
.sg-card h4{font-family:'Fraunces',serif;font-weight:600;font-size:1.3rem;line-height:1.1;color:var(--indigo-ink);margin-bottom:8px}
.sg-card p{font-family:'Archivo',sans-serif;font-size:13px;line-height:1.55;color:#3c4756;margin:0 0 14px;flex:1}
.sg-card .price{font-family:'Archivo',sans-serif;font-size:13px;font-weight:700;color:var(--indigo);margin-bottom:12px}
.sg-card a{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;font-weight:700;color:var(--rust);text-decoration:none;align-self:flex-start;border-bottom:2px solid var(--rust);padding-bottom:3px}
.sg-note{font-family:'Fraunces',serif;font-style:italic;font-size:12.5px;color:var(--slate);margin-top:14px}

/* page-scoped width overrides (article columns are 1180, not the home 1240) */
.subscribe{max-width:1180px}
footer .foot-bottom{max-width:1180px;border-top:none;padding:26px 40px}
