/* /agencies/ — product-window components for the agency page, on the v7 tokens.
   Everything is scoped under .ag so nothing leaks into other pages. */
.ag { --paper:#fff; --muted:#6b6558; --warn:#8f5d14; }

/* sections */
.ag-hero { padding:150px 0 96px; }
.ag-sec { padding:96px 0; border-top:1px solid var(--line); }
.ag-sec.dark { background:var(--navy-card); color:#e9eef3; border-top:none; }
.ag-sec.dark .sect-lab { border-top-color:rgba(255,255,255,.16); color:#93a5b4; }
.ag .big { font-size:clamp(30px,3.5vw,48px); max-width:24ch; text-wrap:balance; }
.ag .ul { white-space:nowrap; }
.ag-sec.dark .ul { text-decoration-color:var(--blue-soft); }
@media (max-width:560px) { .ag .ul { white-space:normal; } }
.ag-lede { font-size:16.5px; color:var(--ink-soft); max-width:58ch; margin-top:16px; }
.ag-sec.dark .ag-lede { color:#b7c4d0; }

/* hero */
.ag-mh { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:center; }
@media (max-width:960px) { .ag-mh { grid-template-columns:1fr; gap:40px; } }
.ag-hero h1 { font-family:var(--serif); font-weight:500; font-size:clamp(40px,4.8vw,66px); line-height:1.03; letter-spacing:-.012em; margin:16px 0 20px; text-wrap:balance; }
.ag-sub { font-size:17px; color:var(--ink-soft); max-width:40ch; }
.ag-ctas { display:flex; gap:10px; margin-top:28px; flex-wrap:wrap; }

/* product window */
.ag .win { background:var(--paper); border:1px solid var(--line); border-radius:10px; overflow:hidden; box-shadow:0 30px 70px rgba(18,30,40,.13); min-width:0; color:var(--ink); }
.ag .fl { display:flex; gap:10px; align-items:center; padding:11px 16px; background:#f3f0e9; border-bottom:1px solid var(--line); font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.ag .fl .dots { display:flex; gap:5px; }
.ag .fl .dots i { width:8px; height:8px; border-radius:50%; background:#d6cfbf; display:block; }
.ag .fl .right { margin-left:auto; letter-spacing:.08em; }
@media (max-width:520px) { .ag .fl .right { display:none; } }
.ag .appg { display:grid; grid-template-columns:150px minmax(0,1fr); }
@media (max-width:620px) { .ag .appg { grid-template-columns:1fr; } .ag .appg .side { display:none; } }
.ag .side { background:#f7f5f0; border-right:1px solid #ece7dc; padding:14px 10px; display:flex; flex-direction:column; gap:2px; font-size:12.5px; color:var(--ink-soft); }
.ag .side .brand { display:flex; align-items:center; gap:7px; font-weight:700; color:var(--ink); font-size:13px; padding:2px 8px 14px; }
.ag .side .brand i { width:16px; height:16px; border-radius:4px; background:#0f5c4d; display:block; }
.ag .side span { padding:6px 8px; border-radius:5px; }
.ag .side span.on { background:var(--paper); color:var(--ink); font-weight:700; box-shadow:inset 0 0 0 1px #e6e0d3; }
.ag .side .sidefoot { margin-top:auto; padding:14px 8px 0; font-size:11px; color:var(--muted); }
.ag .main { padding:16px 18px; min-width:0; }
.ag .mhd { display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap; }
.ag .mhd b { font-size:15px; }
.ag .mhd span { font-size:11.5px; color:var(--muted); }
.ag .tabs { display:flex; gap:16px; border-bottom:1px solid #ece7dc; margin:12px 0 2px; font-size:12px; color:var(--muted); flex-wrap:wrap; }
.ag .tabs span { padding-bottom:8px; }
.ag .tabs .on { color:var(--ink); font-weight:700; box-shadow:inset 0 -2px 0 var(--ink); }
.ag .row { display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:12px; align-items:start; padding:12px 0; border-bottom:1px solid #f0ece3; font-size:12.5px; }
.ag .row:last-of-type { border-bottom:none; }
.ag .dir { font-size:9px; line-height:1; margin-top:5px; color:#b5ad9c; text-align:center; }
.ag .dir.dn { color:var(--bad); }
.ag .dir.up { color:var(--blue); }
.ag .row .who { font-weight:700; }
.ag .row .who small { font-weight:400; color:var(--muted); margin-left:6px; }
.ag .row .f { margin-top:2px; }
.ag .row .a { color:var(--ink-soft); margin-top:2px; }
.ag .row .a b { color:var(--ink); font-weight:700; }
.ag .act { font-size:11.5px; font-weight:700; padding:6px 11px; border-radius:5px; background:var(--ink); color:#fff; white-space:nowrap; align-self:center; }
.ag .act.o { background:transparent; color:var(--ink); box-shadow:inset 0 0 0 1px #cfc8b8; }
.ag .mfoot { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:10px; margin-top:4px; font-size:11.5px; color:var(--muted); }
.ag .mfoot .lg { display:flex; gap:12px; }
.ag .mfoot .lg span { display:flex; align-items:center; gap:5px; }
.ag .mfoot .lg i { font-style:normal; font-size:9px; }

/* limits */
.ag .limits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:40px; }
@media (max-width:900px) { .ag .limits { grid-template-columns:1fr; gap:26px; } }
.ag .limit .k { font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); font-weight:500; }
.ag .limit h3 { font-family:var(--serif); font-weight:500; font-size:23px; line-height:1.18; margin:10px 0 8px; }
.ag .limit p { font-size:14.5px; color:var(--ink-soft); }

/* autonomy */
.ag .mxg { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:40px; margin-top:36px; align-items:start; }
@media (max-width:900px) { .ag .mxg { grid-template-columns:1fr; } }
.ag .mx-wrap { overflow-x:auto; }
.ag table.mx { border-collapse:collapse; width:100%; min-width:520px; font-size:13px; }
.ag table.mx th, .ag table.mx td { padding:12px 10px 12px 0; text-align:left; border-bottom:1px solid rgba(255,255,255,.12); }
.ag table.mx thead th { font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:#93a5b4; font-weight:500; }
.ag table.mx tbody th { font-weight:700; color:#fff; }
.ag table.mx tbody th small { display:block; font-weight:400; color:#93a5b4; font-size:11px; }
.ag .l3 { color:#fff; font-weight:700; } .ag .l2 { color:#c9d6ee; } .ag .l1 { color:#94a7b8; }
.ag .lvi { display:inline-block; width:9px; height:9px; border-radius:50%; border:1.5px solid currentColor; margin-right:7px; vertical-align:-1px; box-sizing:border-box; }
.ag .lvi.f { background:currentColor; }
.ag .lvi.h { background:linear-gradient(90deg,currentColor 50%,transparent 50%); }
.ag .lvl { display:grid; gap:6px; margin-top:16px; font-size:12.5px; color:#b7c4d0; }
.ag .lvl span { font-weight:400; }
.ag .lvl b { color:#fff; font-weight:700; }
.ag .guards h3 { font-family:var(--serif); font-weight:500; font-size:22px; color:#fff; margin-bottom:6px; }
.ag .guards p { font-size:14px; color:#b7c4d0; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.12); margin:0; }

/* built around your agency */
.ag .split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:44px; margin-top:40px; align-items:start; }
@media (max-width:960px) { .ag .split { grid-template-columns:1fr; } }
.ag .feat { display:grid; grid-template-columns:1fr 1fr; gap:26px 28px; }
@media (max-width:520px) { .ag .feat { grid-template-columns:1fr; } }
.ag .feat h3 { font-family:var(--serif); font-weight:500; font-size:19px; line-height:1.2; margin-bottom:5px; }
.ag .feat p { font-size:13.5px; color:var(--ink-soft); margin:0; }
.ag .prof { padding:6px 18px 12px; }
.ag .pg { display:grid; grid-template-columns:96px minmax(0,1fr); gap:12px; padding:11px 0; border-bottom:1px solid #f0ece3; font-size:12.5px; }
.ag .pg:last-child { border-bottom:none; }
.ag .pk { font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); padding-top:2px; }
.ag .pg ul { margin:0; padding:0; list-style:none; display:grid; gap:4px; }
.ag .wfoot { border-top:1px solid #ece7dc; padding:11px 18px; font-size:11.5px; color:var(--muted); background:#faf9f6; }

/* call: transcript, then the product */
.ag .callg { display:grid; grid-template-columns:minmax(0,1fr) 112px minmax(0,1.1fr); align-items:center; margin-top:36px; }
@media (max-width:960px) { .ag .callg { grid-template-columns:1fr; } }
.ag .trn { background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; box-shadow:0 18px 44px rgba(18,30,40,.08); min-width:0; }
.ag .trh { display:flex; gap:8px; align-items:center; padding:10px 14px; background:var(--ink); color:#fff; font-size:12px; font-weight:700; }
.ag .trh .right { margin-left:auto; font-weight:400; color:#b7c4d0; font-size:11.5px; }
.ag .rec { width:8px; height:8px; border-radius:50%; background:#e5484d; display:block; }
.ag .trb { padding:14px 16px 16px; display:grid; gap:13px; font-size:13px; }
.ag .trm { display:flex; justify-content:space-between; gap:8px; font-size:11.5px; color:var(--muted); }
.ag .trm b { color:var(--ink); font-size:12.5px; }
.ag .ln { display:grid; grid-template-columns:34px 22px minmax(0,1fr); gap:8px; align-items:start; }
.ag .ts { font-family:var(--mono); font-size:10.5px; color:var(--muted); padding-top:3px; }
.ag .tav { width:22px; height:22px; border-radius:50%; background:#e9e4d8; color:var(--ink-soft); font-size:10.5px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.ag .tav.m { background:#0f5c4d; color:#fff; }
.ag .ln p { line-height:1.5; margin:0; }
.ag .ln .who { display:block; font-size:11.5px; font-weight:700; color:var(--ink); }
.ag .trb mark { background:transparent; color:var(--ink); box-shadow:inset 0 -2px 0 var(--blue); }
.ag .mk { display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; border-radius:50%; background:var(--blue); color:#fff; font-size:9.5px; font-weight:700; font-family:var(--sans); margin-left:4px; vertical-align:1px; }
.ag .conn { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; font-size:11.5px; line-height:1.35; color:var(--muted); padding:0 12px; }
.ag .conn .arr { font-size:24px; color:var(--blue); line-height:1; }
@media (max-width:960px) { .ag .conn { flex-direction:row; justify-content:center; padding:14px 0; } .ag .conn .arr { transform:rotate(90deg); } }
.ag .dr { padding:18px; display:grid; gap:12px; align-content:start; font-size:12.5px; }
.ag .ph { font-size:11.5px; color:var(--muted); display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.ag .ph b { color:var(--ink); font-size:12.5px; }
.ag .kv { display:grid; grid-template-columns:82px minmax(0,1fr); gap:8px 12px; margin:0; }
.ag .kv dt { font-family:var(--mono); font-size:10.5px; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; padding-top:2px; }
.ag .kv dd { margin:0; }
.ag .btns { display:flex; gap:8px; flex-wrap:wrap; }
.ag .works { font-size:13.5px; color:var(--ink-soft); margin-top:18px; max-width:70ch; }

/* shared dashboard */
.ag .dg { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); margin-top:14px; border-top:1px solid #ece7dc; }
@media (max-width:900px) { .ag .dg { grid-template-columns:1fr; } }
.ag .dl { padding:16px 18px 6px 0; border-right:1px solid #ece7dc; min-width:0; }
@media (max-width:900px) { .ag .dl { border-right:none; border-bottom:1px solid #ece7dc; padding-right:0; } }
.ag .kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
@media (max-width:520px) { .ag .kpis { grid-template-columns:1fr; } }
.ag .kpi small { display:block; font-size:11px; color:var(--muted); }
.ag .kpi b { display:block; font-family:var(--serif); font-weight:500; font-size:26px; line-height:1.15; }
.ag .kpi span { font-size:11px; color:var(--ink-soft); }
.ag .ct { font-size:12px; font-weight:700; margin-bottom:4px; }
@media (max-width:520px) { .ag .dl svg text { font-size:13px; } .ag .dl svg .vlab { display:none; } }
.ag .thr { padding:16px 0 12px 18px; display:grid; gap:12px; align-content:start; font-size:12.5px; min-width:0; }
@media (max-width:900px) { .ag .thr { padding-left:0; } }
.ag .thr .t { font-size:12px; font-weight:700; }
.ag .msg .by { font-size:11px; color:var(--muted); margin-bottom:2px; }
.ag .msg .by b { color:var(--ink); }
.ag .msg p { line-height:1.5; margin:0; }
.ag .msg.ag-bot p { padding-left:10px; border-left:2px solid var(--blue); }
.ag .msg.dft p { border-left-style:dashed; color:var(--ink-soft); background:#faf9f6; padding:6px 10px; }
.ag .composer { border:1px solid #e6e0d3; border-radius:6px; padding:8px 10px; color:var(--muted); font-size:12px; }

/* measurement */
.ag .bars { display:grid; gap:22px; margin-top:34px; max-width:680px; }
.ag .barrow .bl { display:flex; justify-content:space-between; font-size:13.5px; margin-bottom:8px; gap:10px; flex-wrap:wrap; }
.ag .barrow .bl b { font-weight:700; }
.ag .barrow .bl span { color:var(--muted); }
.ag .bar-l { display:grid; grid-template-columns:108px minmax(0,1fr) 36px; gap:12px; align-items:center; font-size:12px; color:var(--ink-soft); margin-top:5px; }
.ag .bar { height:12px; border-radius:1px; }
.ag .bar.pf { background:#d6cfbf; }
.ag .bar.inc { background:var(--blue); }
.ag .bar-l .v { font-family:var(--mono); text-align:right; color:var(--ink); }
.ag .bnote { font-size:12px; color:var(--muted); margin-top:14px; }

/* change log */
.ag .log { display:grid; }
.ag .lr { display:grid; grid-template-columns:62px minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,.9fr); gap:16px; padding:13px 18px; border-bottom:1px solid #f0ece3; font-size:12.5px; align-items:start; }
.ag .lr:last-child { border-bottom:none; }
.ag .lr.h { font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); background:#faf9f6; }
.ag .lr .res { display:block; font-weight:700; margin-top:2px; }
.ag .lr .res.ok { color:var(--ok); }
.ag .lr .res.run { color:var(--warn); }
.ag .lr .res.miss { color:var(--bad); }
@media (max-width:760px) { .ag .lr { grid-template-columns:1fr; gap:4px; } .ag .lr.h { display:none; } }

/* pilot, questions, closing */
.ag .pilot { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:44px; align-items:start; }
@media (max-width:900px) { .ag .pilot { grid-template-columns:1fr; } }
.ag .ag-steps { display:grid; border-top:1.5px solid var(--line); }
.ag .ag-steps div { display:grid; grid-template-columns:76px minmax(0,1fr); gap:12px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
.ag .ag-steps b { font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); font-weight:500; padding-top:3px; }
.ag h2.ag-h2lab { margin-top:0; }
.ag .ag-faq { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; margin-top:8px; }
@media (max-width:900px) { .ag .ag-faq { grid-template-columns:1fr; } }
.ag .ag-faq > div { border-top:1px solid var(--line); padding:18px 0; }
.ag .ag-faq h3 { font-family:var(--serif); font-weight:500; font-size:21px; margin:0 0 6px; line-height:1.2; }
.ag .ag-faq p { font-size:14.5px; color:var(--ink-soft); margin:0; }
.ag .ag-closing { text-align:center; }
.ag .ag-closing .big { margin:0 auto; max-width:none; }
.ag .ag-closing .ag-ctas { justify-content:center; }
