/* ==========================================================================
   The Wire Desk — publication design family (advertorial + about)
   Pico.css classless base is loaded first; this file overrides/extends it.
   ========================================================================== */

:root{
  --wd-navy:#132049;
  --wd-navy-deep:#0b1530;
  --wd-red:#c8102e;
  --wd-red-deep:#9c0c24;
  --wd-green:#1f7a3f;
  --wd-green-deep:#155c2e;
  --wd-ink:#1c1c1c;
  --wd-paper:#ffffff;
  --wd-paper-muted:#f6f5f1;
  --wd-border:#e3ded2;
  --wd-lime:#c9f26c;
  --wd-max:780px;
  --wd-max-wide:1080px;
}

*{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  background:var(--wd-paper-muted);
  color:var(--wd-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  margin:0;
  overflow-x:hidden;
}

h1,h2,h3,.wd-dek{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--wd-navy);
}

a{color:var(--wd-red-deep);}
a:hover, a:focus-visible{color:var(--wd-red);}

img,video{max-width:100%;height:auto;display:block;}

/* ---------- masthead ---------- */
.wd-masthead{
  background:var(--wd-navy);
  color:#fff;
  padding:14px 16px;
}
.wd-masthead__inner{
  max-width:var(--wd-max-wide);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.wd-masthead__brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  letter-spacing:0.04em;
  font-size:clamp(1rem,3vw,1.3rem);
  text-transform:uppercase;
  color:#fff;
  text-decoration:none;
}
.wd-masthead__brand svg{flex:none;}
.wd-masthead__date{
  font-size:0.85rem;
  opacity:0.85;
  white-space:nowrap;
}
.wd-masthead__nav{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  gap:4px 16px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,0.15);
}
.wd-masthead__nav a{
  color:#dbe1ef;
  text-decoration:none;
  font-size:0.85rem;
  padding:6px 2px;
}
.wd-masthead__nav a:hover, .wd-masthead__nav a:focus-visible{color:#fff;text-decoration:underline;}

/* ---------- disclosure ribbon ---------- */
.wd-ribbon{
  background:var(--wd-red);
  color:#fff;
}
.wd-ribbon__inner{
  max-width:var(--wd-max-wide);
  margin:0 auto;
  padding:10px 16px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.wd-ribbon__tag{
  background:#fff;
  color:var(--wd-red-deep);
  font-weight:700;
  font-size:0.7rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:3px 8px;
  border-radius:3px;
  flex:none;
}
.wd-ribbon__text{
  font-size:0.9rem;
  font-weight:600;
}

/* ---------- article shell ---------- */
.wd-article{
  max-width:var(--wd-max);
  margin:0 auto;
  padding:24px 16px 0;
}
.wd-category{
  display:inline-block;
  background:#fdeaee;
  color:var(--wd-red-deep);
  border:1px solid #f3c3cd;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:5px 10px;
  border-radius:3px;
  margin-bottom:14px;
}
.wd-article h1{
  font-size:clamp(1.7rem,5.5vw,2.7rem);
  line-height:1.16;
  margin:0 0 16px;
  font-weight:800;
}
.wd-dek{
  font-style:italic;
  font-size:clamp(1.05rem,3vw,1.25rem);
  color:#3a3a3a;
  font-family:Georgia,"Times New Roman",serif;
  margin:0 0 20px;
  line-height:1.5;
}
.wd-byline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 16px;
  padding:14px 0;
  border-top:1px solid var(--wd-border);
  border-bottom:1px solid var(--wd-border);
  font-size:0.88rem;
  color:#555;
  margin-bottom:22px;
}
.wd-byline strong{color:var(--wd-ink);}
.wd-byline__icons{
  display:flex;
  gap:8px;
  margin-left:auto;
}
.wd-byline__icons span{
  width:32px;height:32px;
  border-radius:50%;
  background:var(--wd-paper-muted);
  border:1px solid var(--wd-border);
  display:flex;align-items:center;justify-content:center;
  font-size:0.9rem;
}

.wd-hero-figure{margin:0 0 26px;}
.wd-hero-figure img, .wd-hero-figure video{
  width:100%;
  border-radius:6px;
  border:1px solid var(--wd-border);
}
.wd-hero-figure figcaption{
  font-size:0.82rem;
  color:#666;
  margin-top:8px;
  text-align:center;
}

.wd-body{max-width:var(--wd-max);margin:0 auto;padding:0 16px 8px;}
.wd-body p{margin:0 0 18px;}
.wd-body h2{
  font-size:clamp(1.35rem,4.2vw,1.9rem);
  margin:40px 0 16px;
  line-height:1.25;
}
.wd-body h3{
  font-size:clamp(1.1rem,3.2vw,1.35rem);
  margin:26px 0 12px;
}

.wd-kicker{
  display:block;
  color:var(--wd-red-deep);
  font-weight:800;
  font-size:0.78rem;
  letter-spacing:0.09em;
  text-transform:uppercase;
  margin-bottom:8px;
}

/* ---------- rate table ---------- */
.wd-rate-wrap{
  overflow-x:auto;
  margin:0 0 22px;
  border:2px solid var(--wd-navy);
  border-radius:6px;
}
table.wd-rate-table{
  width:100%;
  border-collapse:collapse;
  min-width:420px;
  background:#fff;
  font-size:0.95rem;
}
table.wd-rate-table caption{
  text-align:left;
  font-weight:700;
  padding:10px 14px;
  background:var(--wd-navy);
  color:#fff;
  caption-side:top;
  font-size:0.9rem;
}
table.wd-rate-table th, table.wd-rate-table td{
  padding:12px 14px;
  text-align:left;
  border-top:1px solid var(--wd-border);
}
table.wd-rate-table thead th{
  border-top:none;
  background:var(--wd-paper-muted);
  font-size:0.78rem;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:#555;
}
table.wd-rate-table td.wd-amount{font-weight:700;color:var(--wd-navy);white-space:nowrap;}
.wd-rate-note{font-size:0.8rem;color:#666;margin:-8px 0 24px;}

/* ---------- steps ---------- */
.wd-steps{
  list-style:none;
  margin:0 0 24px;
  padding:0;
  display:grid;
  gap:12px;
  counter-reset:wd-step;
}
.wd-steps li{
  background:#fff;
  border:1px solid var(--wd-border);
  border-radius:8px;
  padding:14px 16px 14px 54px;
  position:relative;
  font-size:0.95rem;
}
.wd-steps li::before{
  counter-increment:wd-step;
  content:counter(wd-step);
  position:absolute;
  left:14px;top:14px;
  width:26px;height:26px;
  border-radius:50%;
  background:var(--wd-navy);
  color:#fff;
  font-weight:700;
  font-size:0.85rem;
  display:flex;align-items:center;justify-content:center;
}

/* ---------- offer list ---------- */
.wd-offer-list{
  margin:0 0 24px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.wd-offer-list li{
  padding:12px 14px 12px 40px;
  background:#eef8f0;
  border:1px solid #cdeada;
  border-radius:6px;
  position:relative;
  font-size:0.95rem;
}
.wd-offer-list li::before{
  content:"✓";
  position:absolute;left:14px;top:11px;
  color:var(--wd-green-deep);
  font-weight:800;
}

/* ---------- callout box ---------- */
.wd-callout{
  background:#fff;
  border-left:5px solid var(--wd-red);
  border-radius:4px;
  padding:18px 18px 18px 20px;
  margin:0 0 26px;
  box-shadow:0 1px 3px rgba(0,0,0,0.06);
}
.wd-callout h3{margin-top:0;}
.wd-callout p:last-child{margin-bottom:0;}

/* ---------- video ---------- */
.wd-video-wrap{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-radius:6px;
  overflow:hidden;
  border:1px solid var(--wd-border);
  background:#000;
  margin:0 0 10px;
}
.wd-video-wrap video{width:100%;height:100%;object-fit:cover;}

/* ---------- CTA blocks ---------- */
.wd-cta-block{
  background:var(--wd-navy);
  color:#fff;
  border-radius:10px;
  padding:26px 22px;
  text-align:center;
  margin:0 0 30px;
}
.wd-cta-block p{color:#dbe1ef;margin:0 0 16px;}
.wd-cta-block h3{color:#fff;margin:0 0 10px;font-size:clamp(1.2rem,4vw,1.5rem);}
.wd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--wd-green);
  color:#fff !important;
  font-weight:700;
  text-decoration:none !important;
  padding:14px 26px;
  border-radius:6px;
  font-size:1rem;
  min-height:48px;
  border:none;
  transition:background 0.15s ease, transform 0.1s ease;
}
.wd-btn:hover, .wd-btn:focus-visible{background:var(--wd-green-deep);transform:translateY(-1px);}
.wd-btn:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.wd-btn--ghost{
  background:transparent;
  border:2px solid #fff;
  color:#fff !important;
}
.wd-btn--ghost:hover, .wd-btn--ghost:focus-visible{background:rgba(255,255,255,0.12);}

/* ---------- inline figure ---------- */
.wd-figure-inline{margin:0 0 26px;}
.wd-figure-inline img{border-radius:6px;border:1px solid var(--wd-border);}
.wd-figure-inline figcaption{font-size:0.82rem;color:#666;margin-top:8px;}

/* ---------- disclaimer + footer (shared shape, publication theme) ---------- */
.site-disclaimer{
  max-width:var(--wd-max-wide);
  margin:36px auto 0;
  padding:18px 16px;
  background:#fff3ec;
  border:1px solid #f0d4bd;
  border-radius:6px;
  font-size:0.86rem;
  color:#5a4634;
  display:block;
}
.site-disclaimer p{margin:0 0 8px;}
.site-disclaimer p:last-child{margin-bottom:0;}
.site-disclaimer a{font-weight:700;}

.site-footer{
  background:var(--wd-navy-deep);
  color:#c7cede;
  margin-top:28px;
  padding:26px 16px 32px;
  font-size:0.88rem;
}
.site-footer__company{
  max-width:var(--wd-max-wide);
  margin:0 auto 18px;
  white-space:pre-line;
  line-height:1.6;
}
.site-footer__links{
  max-width:var(--wd-max-wide);
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,0.15);
}
.site-footer__links a{
  color:#dbe1ef;
  text-decoration:none;
  padding:6px 0;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.site-footer__links a:hover, .site-footer__links a:focus-visible{text-decoration:underline;color:#fff;}

/* ---------- sticky CTA rail / bar (accent borrow) ---------- */
.wd-sticky-cta{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:40;
  background:var(--wd-navy);
  color:#fff;
  padding:10px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  box-shadow:0 -4px 14px rgba(0,0,0,0.25);
  transform:translateY(0);
  transition:transform 0.2s ease;
}
.wd-sticky-cta.is-hidden{transform:translateY(100%);}
.wd-sticky-cta span{font-size:0.82rem;line-height:1.3;}
.wd-sticky-cta .wd-btn{padding:10px 16px;font-size:0.9rem;min-height:44px;flex:none;}
body.wd-has-sticky{padding-bottom:76px;}

/* ---------- about page extras ---------- */
.wd-mission{
  background:#fff;
  border:1px solid var(--wd-border);
  border-radius:8px;
  padding:20px;
  margin:0 0 24px;
}

/* ---------- responsive ---------- */
@media (min-width:480px){
  .wd-article, .wd-body{padding-left:20px;padding-right:20px;}
}

@media (min-width:768px){
  .wd-masthead__nav{
    width:auto;
    margin-top:0;
    padding-top:0;
    border-top:none;
  }
  .wd-masthead__inner{flex-wrap:nowrap;}
  .wd-steps{grid-template-columns:repeat(2,1fr);}
  .wd-sticky-cta{
    left:auto;
    right:20px;
    bottom:20px;
    max-width:340px;
    border-radius:10px;
    flex-direction:column;
    align-items:stretch;
    text-align:left;
  }
  body.wd-has-sticky{padding-bottom:0;}
}

@media (min-width:1024px){
  .wd-article, .wd-body{padding-left:0;padding-right:0;}
}
