@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Public+Sans:wght@400;500;600;700&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
:root{--p:#0f4c4f;--a:#ac632a;--bg:#f8f5ef;--ink:#23231f;--muted:#5d5b53;--line:#e2dccf;--card:#fff;--soft:#e7efee;
  --r:14px;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.2rem;--fs-xl:1.6rem;--fs-2xl:clamp(1.9rem,3vw,2.6rem)}
body[data-site=fd]{--p:#0F2C4C;--a:#a87b22;--soft:#e9eef5}
body[data-site=mkt]{--p:#0a1930;--a:#9a7224;--soft:#f3ecdc}
body{font-family:'Public Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;font-size:var(--fs-base)}
h1,h2,h3,.disp{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-.01em}
a{color:var(--p)}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--a);outline-offset:2px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
header.top{background:var(--p);color:#fff;transition:background .3s}
.top .wrap{display:flex;align-items:center;gap:16px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand svg{flex:none}
.brand b{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:600;display:block}
.brand span{font-size:.8rem;opacity:.8}
.tabs{display:flex;gap:6px;background:rgba(255,255,255,.1);padding:5px;border-radius:999px;flex-wrap:wrap}
.tabs button{border:0;background:transparent;color:#fff;padding:8px 16px;border-radius:999px;font-weight:600;font-size:var(--fs-sm)}
.tabs button[aria-selected=true]{background:#fff;color:var(--p)}
nav.views{border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:5}
nav.views .wrap{display:flex;gap:4px;overflow-x:auto}
nav.views button{border:0;background:none;padding:14px 16px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}
nav.views button[aria-selected=true]{color:var(--p);border-bottom-color:var(--a)}
main{padding:36px 0 80px}
.intro{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:end;margin-bottom:28px}
.intro h1{font-size:var(--fs-2xl);color:var(--p)}
.intro p{color:var(--muted);max-width:62ch;margin-top:10px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.kpi b{display:block;font-family:'Fraunces',serif;font-size:1.5rem;color:var(--p)}
.kpi span{font-size:.78rem;color:var(--muted)}
.grid12{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-align:left;display:flex;flex-direction:column;padding:0;color:inherit;transition:transform .15s,box-shadow .15s}
.mcard:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.mcard img{width:100%;aspect-ratio:1200/630;object-fit:cover;display:block}
.mcard .b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.mcard .mo{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--a)}
.mcard h3{font-size:1.1rem;color:var(--p)}
.mcard .th{font-size:var(--fs-sm);color:var(--muted)}
.mcard .dates{margin-top:auto;padding-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.72rem;font-weight:600;background:var(--soft);color:var(--p);border-radius:999px;padding:3px 9px}
/* timeline */
.tl{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.tl table{border-collapse:collapse;width:100%;min-width:980px;font-size:var(--fs-sm)}
.tl th,.tl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tl thead th{background:var(--p);color:#fff;font-weight:600;position:sticky;top:0}
.tl td:first-child{font-weight:700;color:var(--p);white-space:nowrap}
.tl tr:hover td{background:var(--soft)}
/* detail */
.detail-head{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin-bottom:24px}
.detail-head img{width:100%;border-radius:var(--r);display:block}
.detail-head h1{font-size:var(--fs-2xl);color:var(--p);margin:6px 0 10px}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--a)}
.monthnav{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.monthnav button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600;color:var(--muted)}
.monthnav button[aria-current=true]{background:var(--p);color:#fff;border-color:var(--p)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:18px}
.panel h2{font-size:var(--fs-xl);color:var(--p);margin-bottom:4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.panel .nm{font-size:.82rem;color:var(--muted);margin-bottom:14px;font-family:ui-monospace,Menlo,monospace;word-break:break-word}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.copy{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px;font-size:.93rem;position:relative}
.copybtn{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:600;color:var(--p)}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 6px}
.row h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.gfx img{width:100%;border-radius:10px;border:1px solid var(--line);display:block}
.dl{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;margin-top:8px;text-decoration:none;background:var(--soft);padding:6px 12px;border-radius:999px}
dl.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;font-size:.92rem}
dl.kv dt{font-weight:700;color:var(--muted)}
ul.tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
ul.tags li{background:var(--soft);color:var(--p);border-radius:8px;padding:4px 9px;font-size:.84rem}
ul.tags.neg li{background:#f6e7e3;color:#8a2e1c}
.adlist{list-style:none;font-size:.9rem}
.adlist li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding:5px 0}
.adlist li span:last-child{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}
.serp{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff;font-family:Arial,sans-serif}
.serp .sp{font-size:.75rem;font-weight:700}
.serp .u{font-size:.8rem;color:#202124}
.serp .h{color:#1a0dab;font-size:1.15rem;margin:4px 0}
.serp .d{color:#4d5156;font-size:.88rem}
.email{max-width:600px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.email img{width:100%;display:block}
.email .eb{padding:22px}
.email h3{color:var(--p);font-size:1.35rem;margin-bottom:10px}
.email p{margin-bottom:10px;font-size:.95rem}
.email .btn{display:inline-block;background:var(--a);color:#fff;padding:11px 20px;border-radius:8px;text-decoration:none;font-weight:700}
.dates-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.dates-list li{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.85rem}
.dates-list b{display:block;color:var(--p);font-size:1rem}
.strategy h2{font-size:var(--fs-xl);color:var(--p);margin:6px 0 10px}
.strategy p,.strategy li{max-width:78ch}
.strategy ul,.strategy ol{padding-left:20px;margin:8px 0}
.strategy li{margin:6px 0}
.flag{border-left:4px solid #b4442b;background:#fbefeb}
.note{font-size:.85rem;color:var(--muted)}
.dlgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.dlgrid a{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;color:var(--ink)}
.dlgrid a b{display:block;color:var(--p);font-family:'Fraunces',serif;font-size:1.1rem;margin-bottom:4px}
table.simple{border-collapse:collapse;width:100%;font-size:.9rem}
table.simple th,table.simple td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
@media (max-width:860px){.intro,.detail-head,.cols,.cols3{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(3,1fr)}dl.kv{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
img{max-width:100%;height:auto}
.mcard img{height:auto;aspect-ratio:1200/630}
@media (max-width:620px){.tabs{border-radius:16px;width:100%}.tabs button{flex:1 1 auto;padding:7px 10px;font-size:.8rem}.brand b{font-size:1rem}}

.top .wrap{padding-top:22px;padding-bottom:22px}
.panel.ta{border-left:4px solid var(--a)}
.ta-grid{display:grid;grid-template-columns:1.2fr 1.3fr .6fr;gap:14px;align-items:start;margin-top:14px}
@media (max-width:860px){.ta-grid{grid-template-columns:1fr}}
.copy{overflow-wrap:anywhere}
.cols>*,.detail-head>*,dl.kv dd{min-width:0}
dl.kv dd,dl.kv code,.nm,.adlist li span:first-child{overflow-wrap:anywhere}
.monthnav a{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600;color:var(--muted);text-decoration:none}
.monthnav a[aria-current=true]{background:var(--p);color:#fff;border-color:var(--p)}
main.wrap{padding-top:28px;padding-bottom:56px}
footer.foot{text-align:center;color:var(--muted);font-size:.82rem;padding:0 24px 40px}
