/* Denim Dispatch, shared chrome: ribbon, masthead, subscribe, section header, footer.
   Extracted verbatim from the home mockup so the production chrome is pixel-faithful. */

/* ---------- TOP RIBBON ---------- */
.ribbon{
  background:var(--indigo-ink);color:var(--ecru-dim);
  font-family:'Archivo Narrow',sans-serif;
  font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;
  display:flex;justify-content:center;gap:2.5rem;align-items:center;
  padding:8px 24px;position:relative;z-index:5;
}
.ribbon span{opacity:.7}
.ribbon .live{color:var(--gold);opacity:1;display:flex;align-items:center;gap:7px}
.ribbon .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(201,162,75,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(201,162,75,.55)}70%{box-shadow:0 0 0 7px rgba(201,162,75,0)}100%{box-shadow:0 0 0 0 rgba(201,162,75,0)}}
@media(max-width:680px){.ribbon span:nth-child(3){display:none}}

/* ---------- MASTHEAD ---------- */
header.masthead{
  background:var(--indigo);
  color:var(--ecru);
  position:relative;z-index:4;
  border-bottom:3px solid var(--rust);
  overflow:hidden;
}
header.masthead::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% -40%, rgba(201,162,75,.14), transparent 60%);
}
.nav{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 40px;font-family:'Archivo Narrow',sans-serif;
  font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;
  border-bottom:1px solid rgba(243,236,221,.13);position:relative;z-index:2;
}
.nav a{color:var(--ecru-dim);text-decoration:none;opacity:.82;transition:opacity .2s,color .2s}
.nav a:hover{opacity:1;color:#fff}
.nav .nav-left,.nav .nav-right{display:flex;gap:26px;align-items:center}
.nav .sub-btn{
  border:1px solid var(--gold);color:var(--gold);
  padding:6px 16px;border-radius:2px;letter-spacing:.16em;
  transition:all .25s;
}
.nav .sub-btn:hover{background:var(--gold);color:var(--indigo-ink);opacity:1}
@media(max-width:900px){.nav .nav-left a:not(:first-child){display:none}}

.wordmark{
  text-align:center;padding:46px 24px 30px;position:relative;z-index:2;
}
.wordmark .est{
  font-family:'Archivo Narrow',sans-serif;font-size:12px;letter-spacing:.42em;
  text-transform:uppercase;color:var(--gold);margin-bottom:14px;
  display:flex;align-items:center;justify-content:center;gap:16px;
}
.wordmark .est::before,.wordmark .est::after{
  content:"";height:1px;width:46px;background:linear-gradient(90deg,transparent,var(--gold))
}
.wordmark .est::after{background:linear-gradient(90deg,var(--gold),transparent)}
.wordmark h1{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:clamp(3.4rem,9.5vw,8rem);
  line-height:.84;letter-spacing:-.02em;
  color:var(--ecru);
  font-optical-sizing:auto;
}
.wordmark .tag{
  margin-top:20px;font-family:'Fraunces',serif;font-style:italic;
  font-weight:300;font-size:clamp(1rem,2vw,1.32rem);color:var(--ecru-dim);
  letter-spacing:.01em;
}

/* ---------- SUBSCRIBE (dignified, woven in) ---------- */
.subscribe{
  max-width:1240px;margin:64px auto 0;padding:0 40px;position:relative;z-index:3;
}
.sub-inner{
  background:var(--indigo-deep);color:var(--ecru);
  border:1px solid var(--indigo-ink);
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
  padding:40px 48px;position:relative;overflow:hidden;
}
.sub-inner::before{
  content:"";position:absolute;top:0;right:0;bottom:0;width:200px;
  background:radial-gradient(circle at 100% 50%, rgba(201,162,75,.12), transparent 70%);
}
.sub-inner .st{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.24em;font-size:11.5px;color:var(--gold);margin-bottom:10px}
.sub-inner h4{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.15;max-width:24ch}
.sub-inner h4 em{color:var(--ecru-dim)}
.sub-form{display:flex;gap:10px;position:relative;z-index:2}
.sub-form input{
  background:rgba(243,236,221,.07);border:1px solid rgba(243,236,221,.25);
  color:var(--ecru);padding:13px 16px;font-family:'Archivo',sans-serif;font-size:14px;
  min-width:240px;border-radius:2px;outline:none;transition:border .2s,background .2s;
}
.sub-form input::placeholder{color:rgba(243,236,221,.45)}
.sub-form input:focus{border-color:var(--gold);background:rgba(243,236,221,.12)}
.sub-form button{
  background:var(--rust);color:var(--ecru);border:none;padding:13px 24px;
  font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.16em;
  font-size:12.5px;font-weight:600;cursor:pointer;border-radius:2px;transition:background .2s;white-space:nowrap;
}
.sub-form button:hover{background:var(--rust-bright)}
.sub-note{grid-column:1/-1;font-size:12px;color:rgba(243,236,221,.5);font-style:italic;font-family:'Fraunces',serif;margin-top:4px}
@media(max-width:760px){.sub-inner{grid-template-columns:1fr;gap:22px}.sub-form{flex-direction:column}.sub-form input{min-width:0;width:100%}}

/* ---------- SECTION HEADER ---------- */
.sec-head{
  max-width:1240px;margin:80px auto 0;padding:0 40px;position:relative;z-index:3;
  display:flex;align-items:baseline;gap:20px;
}
.sec-head h5{
  font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.26em;
  font-size:13px;color:var(--indigo);font-weight:700;white-space:nowrap;
}
.sec-head .rule{flex:1;height:1px;background:var(--line)}
.sec-head .more{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11.5px;color:var(--rust);text-decoration:none}

/* ---------- FOOTER ---------- */
footer{
  background:var(--indigo-ink);color:var(--ecru-dim);margin-top:90px;
  position:relative;z-index:3;border-top:3px solid var(--rust);
}
.foot-top{
  max-width:1240px;margin:0 auto;padding:56px 40px 40px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
}
.foot-brand .fw{font-family:'Fraunces',serif;font-weight:600;font-size:1.8rem;color:var(--ecru);letter-spacing:-.01em}
.foot-brand .est{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.3em;font-size:10.5px;color:var(--gold);margin-top:6px}
.foot-brand p{font-family:'Fraunces',serif;font-style:italic;font-size:14px;color:rgba(243,236,221,.6);margin-top:18px;max-width:30ch;line-height:1.5}
.foot-col h6{font-family:'Archivo Narrow',sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--gold);margin-bottom:16px}
.foot-col a{display:block;color:var(--ecru-dim);text-decoration:none;font-size:13.5px;margin-bottom:10px;opacity:.78;transition:opacity .2s}
.foot-col a:hover{opacity:1}
.foot-bottom{
  border-top:1px solid rgba(243,236,221,.12);max-width:1240px;margin:0 auto;
  padding:18px 40px;display:flex;justify-content:space-between;
  font-family:'Archivo Narrow',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,236,221,.45);
}
@media(max-width:820px){.foot-top{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media(max-width:520px){.foot-top{grid-template-columns:1fr}.foot-bottom{flex-direction:column;gap:8px}}
