/* TWV Media — shared chrome.
   Header, footer, buttons and brand tokens. Loaded by every static page and by
   the WordPress blog so both share one source of truth. Edit here, nowhere else. */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&display=swap');

.site-head,.site-head *,.site-foot,.site-foot *{box-sizing:border-box}
.site-head,.site-foot{font-family:var(--sans);line-height:1.6}

:root{
  --ink:#14161A;
  --red:#D11A2A;
  --red-dark:#A5121F;
  --paper:#F6F4F1;
  --stone:#EDEAE4;
  --grey:#6E6E73;
  --line:#E3E0DA;
  --white:#FFFFFF;
  --sans:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Newsreader',Georgia,serif;
  --hand:'Caveat','Segoe Script',cursive;
  --wrap:1180px;
}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 18px;z-index:100}
.skip:focus{left:12px;top:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:-.01em;padding:15px 26px;border-radius:4px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-dark)}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-light{border-color:rgba(255,255,255,.45);color:#fff}
.btn-light:hover{background:#fff;color:var(--ink)}
.btn-sm{padding:11px 20px;font-size:.86rem}
/* ---------- header + wordmark ---------- */
.site-head{position:sticky;top:0;z-index:60;background:rgba(246,244,241,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:74px}
.mark{display:flex;align-items:center;gap:13px;text-decoration:none;flex:none}
.mark .m-box{overflow:hidden}
.mark .m-rule{width:2px;height:24px;background:var(--red);flex:none;transform-origin:center;transform:scaleY(0);animation:ruleIn .26s ease-out forwards}
.mark .m-twv{display:block;font-size:1.6rem;font-weight:700;letter-spacing:-.035em;line-height:1;transform:translateX(102%);animation:fanLeft .48s cubic-bezier(.22,1,.36,1) .15s forwards}
.mark .m-media{display:block;font-size:1.06rem;font-weight:400;letter-spacing:.05em;line-height:1;transform:translateX(-102%);animation:fanRight .48s cubic-bezier(.22,1,.36,1) .15s forwards}
@keyframes ruleIn{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes fanLeft{from{transform:translateX(102%);letter-spacing:-.06em}to{transform:translateX(0);letter-spacing:-.035em}}
@keyframes fanRight{from{transform:translateX(-102%);letter-spacing:.02em}to{transform:translateX(0);letter-spacing:.22em}}
.nav{display:flex;align-items:center;gap:28px}
.nav a{font-size:.94rem;font-weight:500;text-decoration:none;color:#3A3C41;transition:color .15s}
.nav a:hover{color:var(--red)}
.head-cta{display:flex;align-items:center;gap:14px}
.burger{display:none;background:none;border:1.5px solid var(--line);border-radius:4px;width:44px;height:40px;align-items:center;justify-content:center;cursor:pointer}
.burger span{display:block;width:18px;height:1.5px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--ink)}
.burger span::before{top:-6px}
.burger span::after{top:6px}
/* ---------- footer ---------- */
.site-foot{background:#0E1013;color:#9A9BA0;padding:64px 0 34px;font-size:.93rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.13)}
.site-foot h4{color:var(--paper);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin-bottom:10px}
.site-foot a{text-decoration:none;transition:color .15s}
.site-foot a:hover{color:var(--red)}
.foot-mark{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.foot-mark .r{width:2px;height:22px;background:var(--red)}
.foot-mark .a{font-size:1.45rem;font-weight:700;letter-spacing:-.035em;color:var(--paper)}
.foot-mark .b{font-size:1rem;letter-spacing:.22em;color:var(--paper)}
.foot-bottom{display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;padding-top:26px;font-size:.85rem}
.foot-bottom a[aria-current]{color:var(--paper)}

@media (max-width:960px){
  .nav{display:none}
  .nav.open{display:flex;position:absolute;left:0;right:0;top:74px;flex-direction:column;align-items:flex-start;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 28px 20px}
  .nav.open a{padding:14px 0;width:100%;border-bottom:1px solid var(--line)}
  .burger{display:inline-flex}
  .head-cta .btn{padding:10px 15px;font-size:.84rem}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .wrap{padding:0 20px}
  .mark{gap:10px}
  .mark .m-twv{font-size:1.36rem}
  .mark .m-media{font-size:.92rem}
  .head-cta{gap:10px}
  .head-cta .btn{padding:9px 12px;font-size:.78rem;white-space:nowrap}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .mark .m-rule{transform:scaleY(1)}
  .mark .m-twv,.mark .m-media{transform:none}
  .site-head *,.site-foot *{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}
}
