:root{--purple:#502f90;--teal:#00a79d;--gold:#c5922c;--grey:#b2b2b2;--light:#e5e5e5;--ink:#1d1b23;--paper:#fff;--sand:#faf9fc}*{box-sizing:border-box}body{background:var(--sand);color:var(--ink);margin:0;font-family:Josefin Slab,Georgia,serif;font-size:16px;line-height:1.5}h1,h2,h3,h4,.metric-value,.pill,.campaign-eyebrow,.metric-label{font-family:Josefin Sans,Helvetica Neue,Arial,sans-serif}.wrap{max-width:1180px;margin:0 auto;padding:0 24px 72px}.masthead{background:linear-gradient(135deg, var(--purple) 0%, #3b2270 100%);color:#fff;margin-bottom:32px;padding:44px 24px 40px}.masthead-inner{max-width:1180px;margin:0 auto}.nai-mark{align-items:center;gap:10px;margin-bottom:26px;display:flex}.nai-badge{border:2px solid var(--gold);width:38px;height:38px;color:var(--gold);letter-spacing:.5px;border-radius:50%;justify-content:center;align-items:center;font-family:Josefin Sans,sans-serif;font-size:14px;font-weight:700;display:flex}.nai-name{letter-spacing:2.5px;text-transform:uppercase;color:#ffffffd9;font-family:Josefin Sans,sans-serif;font-size:13px;font-weight:600}.masthead-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-family:Josefin Sans,sans-serif;font-size:12px;font-weight:600}.masthead h1{letter-spacing:-.01em;margin:8px 0 0;font-size:40px;font-weight:700}.month-picker{flex-direction:column;gap:6px;display:flex}.month-picker-label{text-transform:uppercase;letter-spacing:.12em;color:#ffffffbf;font-family:Josefin Sans,sans-serif;font-size:11px;font-weight:600}.month-picker select{color:var(--ink);cursor:pointer;background:#fff;border:none;border-radius:8px;min-width:200px;padding:10px 14px;font-family:Josefin Sans,sans-serif;font-size:15px;font-weight:600}.month-picker-busy{color:#fffc;font-size:12px}.summary{background:#ffffff1a;border-radius:10px;flex-wrap:wrap;margin-top:28px;display:flex;overflow:hidden}.summary .metric{border-bottom:1px solid #ffffff2e;border-right:1px solid #ffffff2e;flex:150px;padding:16px 18px}.summary .metric-label{color:#ffffffc7}.summary .metric-value{color:#fff;font-size:24px}.summary .metric-accent .metric-value{color:var(--gold)}.metric-label{text-transform:uppercase;letter-spacing:.08em;color:#6c6878;font-size:11px;font-weight:600;line-height:1.25}.metric-value{margin-top:3px;font-size:20px;font-weight:600}.metric-grid{background:var(--paper);border:1px solid var(--light);border-radius:8px;flex-wrap:wrap;margin-top:16px;display:flex;overflow:hidden}.metric-grid .metric{border-right:1px solid var(--light);border-bottom:1px solid var(--light);padding:12px 14px}.metric-grid.primary .metric{flex:128px}.metric-grid.primary .metric-accent{background:#f7f2e6}.metric-grid.primary .metric-accent .metric-value{color:var(--gold)}.metric-grid.secondary .metric{flex:112px}.metric-grid.secondary .metric-value{color:#3f3b4a;font-size:16px}.campaign{margin:0 0 56px}.campaign-head{border-bottom:3px solid var(--purple);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:28px;padding-bottom:12px;display:flex}.campaign-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-size:11px;font-weight:600}.campaign-head h2{margin:4px 0 0;font-size:27px;font-weight:700}.campaign-stats{color:#55515f;font-size:14px}.truncation{color:#7a7686;margin:4px 0 0;padding-left:2px;font-size:13px}.creative-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:18px;display:grid}.tile{background:var(--paper);border:1px solid var(--light);border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 3px #1d1b230d}.tile-media{background:#f2f0f6;position:relative}.tile-hero{aspect-ratio:4/5;object-fit:contain;background:#f2f0f6;width:100%;display:block}video.tile-hero{background:#000}.tile-empty{color:#8b839c;justify-content:center;align-items:center;font-size:13px;display:flex}.pill{text-transform:uppercase;letter-spacing:.1em;color:#fff;background:var(--grey);border-radius:999px;padding:3px 9px;font-family:Josefin Sans,sans-serif;font-size:10px;font-weight:600}.pill-video{background:var(--purple)}.pill-carousel{background:var(--teal)}.pill-image{background:var(--gold)}.tile-media .pill{position:absolute;top:10px;left:10px;box-shadow:0 1px 4px #00000040}.card-count{color:#fff;letter-spacing:.06em;background:#1d1b23b8;border-radius:999px;padding:3px 8px;font-family:Josefin Sans,sans-serif;font-size:10.5px;font-weight:600;position:absolute;bottom:10px;right:10px}.tile-body{flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.tile-body h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:0;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.tile-headline{background:var(--light);border:1px solid var(--light);border-radius:8px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.tile-metric{background:var(--paper);padding:9px 11px}.tile-metric.accent{background:#f7f2e6}.tile-metric.accent .tile-value{color:var(--gold)}.tile-label{text-transform:uppercase;letter-spacing:.09em;color:#6c6878;font-family:Josefin Sans,sans-serif;font-size:10px;font-weight:600;display:block}.tile-value{margin-top:2px;font-family:Josefin Sans,sans-serif;font-size:18px;font-weight:600;display:block}.tile-rows{flex-direction:column;gap:3px;margin:0;display:flex}.tile-rows>div{justify-content:space-between;gap:10px;font-size:13.5px;display:flex}.tile-rows dt{color:#6c6878}.tile-rows dd{color:#3f3b4a;margin:0;font-family:Josefin Sans,sans-serif;font-weight:600}.tile-foot{border-top:1px solid var(--light);color:#7a7686;margin:0;padding-top:9px;font-size:12px;line-height:1.45}.empty,.error{border:1px solid var(--light);color:#55515f;background:#fff;border-radius:10px;padding:32px}.error{border-left:4px solid #b3261e}.error h2{margin:0 0 8px;font-size:20px}.foot{color:#7a7686;border-top:1px solid var(--light);max-width:1180px;margin:0 auto;padding:24px;font-size:13px}@media (max-width:820px){.masthead h1{font-size:30px}.masthead-top{align-items:flex-start}}@media print{body{background:#fff}.month-picker{display:none}.tile{break-inside:avoid;box-shadow:none}.creative-grid{grid-template-columns:repeat(3,1fr)}.debug{display:none}}.holding{text-align:center;background:linear-gradient(135deg, var(--purple) 0%, #3b2270 100%);color:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.holding .nai-mark{margin-bottom:28px}.holding h1{margin:0 0 10px;font-size:32px;font-weight:600}.holding p{color:#ffffffbf;max-width:380px;margin:0}.debug{border:1px solid var(--light);border-left:4px solid var(--teal);color:#3f3b4a;background:#fff;border-radius:8px;margin-bottom:28px;padding:16px 20px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.debug summary{cursor:pointer;text-transform:uppercase;letter-spacing:.1em;font-family:Josefin Sans,sans-serif;font-size:12px;font-weight:600}.debug dl{grid-template-columns:auto auto;justify-content:start;gap:2px 16px;margin:12px 0 0;display:grid}.debug dt{color:#6c6878}.debug dd{margin:0;font-weight:600}.debug h4{text-transform:uppercase;letter-spacing:.08em;margin:14px 0 4px;font-size:12px}.debug ul{color:#b3261e;margin:0;padding-left:18px}.debug pre{white-space:pre-wrap;word-break:break-all;background:var(--sand);border-radius:6px;margin:4px 0 0;padding:10px}.hero-wrap{display:block;position:relative}.play-badge{color:#fff;pointer-events:none;background:#1d1b2399;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding-left:3px;font-size:18px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play-badge-link{pointer-events:auto;text-decoration:none;transition:background .12s}.play-badge-link:hover{background:#502f90d9}.unlock{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;display:flex}.unlock input{min-width:220px;color:var(--ink);border:none;border-radius:8px;padding:11px 14px;font-family:Josefin Sans,sans-serif;font-size:15px}.unlock button{background:var(--gold);color:#201a2e;cursor:pointer;border:none;border-radius:8px;padding:11px 20px;font-family:Josefin Sans,sans-serif;font-size:15px;font-weight:600}.unlock button:hover{filter:brightness(1.07)}.unlock-error{color:#ffd7d7;margin-top:14px;font-size:14px}
