/* advertising strategy tree: one real tree, root -> branch -> items. Wide screens flow right-to-left with connector lines; phones stack with an indent guide. */
.ad{width:min(1180px,100%);margin:0 auto;padding:18px 16px 56px;display:grid;gap:16px}
.ad-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.ad-head h1{margin:0;color:var(--ms-navy);font-size:clamp(22px,3vw,30px)}
.ad-head p{margin:2px 0 0;color:var(--ms-muted);font-size:13px}
.ad-tools{display:flex;align-items:center;gap:8px}
.ad-seg{display:inline-flex;padding:3px;border-radius:14px;background:#edf1f7}
.ad-seg button{min-height:40px;padding:0 16px;border:0;border-radius:11px;background:transparent;color:#51627a;font:800 13px/1 Estedad,Tahoma,sans-serif;cursor:pointer}
.ad-seg button[aria-selected=true]{background:var(--ms-navy);color:#fff}
.ad-ico-btn{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ms-line);border-radius:12px;background:#fff;color:var(--ms-navy);cursor:pointer;text-decoration:none}
.ad-ico-btn svg{width:20px;height:20px}
.ad-view[hidden]{display:none}
.ad-view{display:grid;gap:14px}

/* goals strip */
.ad-goals{padding:14px 16px;border:1px solid var(--ms-line);border-radius:20px;background:#fff;box-shadow:var(--ms-shadow)}
.ad-goals h2{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--ms-navy);font-size:15px}
.ad-i{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--ms-blue-soft);color:var(--ms-blue)}
.ad-i svg{width:19px;height:19px}
.ad-goals ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ad-goals li{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:999px;background:#f6f8fb;color:var(--ms-navy);font-weight:700;font-size:13px}
.ad-goal-n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ms-gold);color:var(--ms-navy);font-size:11px;font-weight:900;flex:none}

/* picker and search */
.ad-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.ad-picks{display:flex;flex-wrap:wrap;gap:8px}
.ad-chipbtn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 15px;border:1px solid var(--ms-line);border-radius:999px;background:#fff;color:var(--ms-navy);font:800 13px/1 Estedad,Tahoma,sans-serif;cursor:pointer}
.ad-chipbtn[aria-pressed=true]{background:var(--ms-navy);border-color:var(--ms-navy);color:#fff}
.ad-dot{width:10px;height:10px;border-radius:50%;background:var(--bc,#999)}
.c-print{--bc:#c98a00}.c-gift{--bc:#14804a}.c-online{--bc:#2456d8}.c-mk{--bc:#6b3fc0}
.ad-search{position:relative;display:block;flex:1 1 220px;max-width:340px}
.ad-search svg{position:absolute;top:50%;inset-inline-start:13px;width:18px;height:18px;color:var(--ms-muted);transform:translateY(-50%);pointer-events:none}
.ad-search input{width:100%;min-height:42px;padding:6px 12px;padding-inline-start:40px;border:1px solid var(--ms-line);border-radius:999px;background:#fff;color:var(--ms-navy);font:inherit;font-size:14px}
.ad-search input:focus-visible{outline:3px solid #90adff;outline-offset:1px}

/* the tree */
.ad-treewrap{padding:18px;border:1px solid var(--ms-line);border-radius:22px;background:#fff;box-shadow:var(--ms-shadow);overflow-x:auto}
.t-top,.t-kids{list-style:none;margin:0;padding:0}
.t{position:relative}
.t[hidden],.t-rootli[hidden]{display:none}
.t-n{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;max-width:100%;padding:8px 13px;border:1px solid var(--ms-line);border-radius:12px;background:#fff;color:var(--ms-navy);font-size:14px;font-weight:700;line-height:1.5}
.t-n small{flex:1 1 100%;color:var(--ms-muted);font-size:12px;font-weight:600;line-height:1.7}
.t-n b{padding:1px 8px;border-radius:999px;background:rgba(0,0,0,.07);font-size:12px}
.t-i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.18);flex:none}
.t-i svg{width:18px;height:18px}
.t-n.root{padding:12px 18px;border-color:var(--ms-navy);background:var(--ms-navy);color:#fff;font-size:18px;font-weight:900}
.t-n.root .t-i{background:var(--ms-gold);color:var(--ms-navy)}
.t-n.branch{border-color:var(--tc);background:var(--tc);color:#fff;font-size:15px;font-weight:900}
.t-n.branch b{background:rgba(255,255,255,.22)}
.t-n.mid{border-color:var(--tc);background:color-mix(in srgb,var(--tc) 11%,#fff);font-weight:800}
.t-n.leaf{background:#fff}
.t-n.meta{border-style:dashed;background:#fafbfd;color:var(--ms-muted);font-size:13px}
.t-n.chip{padding:4px 11px;border-radius:999px;background:var(--tc);border-color:var(--tc);color:#fff;font-size:12px}
.b-print{--tc:#c98a00}.b-gift{--tc:#14804a}.b-online{--tc:#2456d8}.b-mk{--tc:#6b3fc0}
.t-n.hit{box-shadow:0 0 0 3px #ffd75a;background:#fff3c4;color:var(--ms-navy)}

/* connectors: soft elbows. Every item draws its own piece so the corners are rounded and nothing is cut off. */
.ad-treewrap{--lc:#cfd8e6;--r:14px;position:relative}
.ad-wires{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.ad-wires path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.b-print,.b-gift,.b-online,.b-mk{--lc:var(--tc)}
.t-kids>.t{padding-block:5px}
.t-top>.t-rootli>.t-n{margin-bottom:6px}
/* phones: vertical outline, the guide runs down the start edge and each item turns off it with a curve */
.t-kids{margin-inline-start:14px;padding-inline-start:22px}
.t-kids>.t{position:relative}
.t-kids>.t::before{content:"";position:absolute;inset-inline-start:-22px;top:0;width:22px;height:25px;border-inline-start:2px solid var(--lc);border-bottom:2px solid var(--lc);border-end-start-radius:var(--r)}
.t-kids>.t:not(:last-child)::after{content:"";position:absolute;inset-inline-start:-22px;top:25px;bottom:0;border-inline-start:2px solid var(--lc)}
.t-n.meta+.t-kids{display:flex;flex-wrap:wrap;gap:6px;margin-inline-start:0;padding:8px 0 0}
.t-n.meta+.t-kids>.t{padding:0}
.t-n.meta+.t-kids>.t::before,.t-n.meta+.t-kids>.t::after{display:none}

/* the root is a title bar; branches are the first level, each flowing sideways */
.t-rootli{display:block}
.t-rootli>.t-n.root{display:flex;justify-content:center;margin-bottom:12px}
.t-rootli>.t-kids{margin:0;padding:0}
.t-rootli>.t-kids::before{display:none}
.t-rootli>.t-kids>.t::before,.t-rootli>.t-kids>.t::after{display:none!important}
.t-rootli>.t-kids>.t{padding-block:14px;border-top:1px dashed var(--ms-line)}
.t-rootli>.t-kids>.t:first-child{border-top:0}

/* wide screens: the tree flows sideways; the stub leaves the parent, the spine joins the items with rounded ends */
@media(min-width:900px){
  /* the sideways tree is wired by assets/advertising.js from the real positions of the nodes */
  .t-kids::before,.t-kids>.t::before,.t-kids>.t::after{display:none!important}
  .t{display:flex;align-items:center}
  .t-n{font-size:15px}
  .t-kids{margin:0;display:flex;flex-direction:column;position:relative;padding-inline-start:36px}
  .t-kids::before{content:"";position:absolute;inset-inline-start:0;top:50%;width:18px;border-top:2px solid var(--lc)}
  .t-kids>.t{padding-block:6px}
  .t-kids>.t::before,.t-kids>.t::after{inset-inline-start:-18px;width:18px;border:0;border-radius:0;height:auto}
  /* middle items: a straight branch off the spine */
  .t-kids>.t::before{top:50%;height:0;border-top:2px solid var(--lc)}
  .t-kids>.t:not(:last-child)::after,.t-kids>.t::after{content:"";position:absolute;top:0;bottom:0;border-inline-start:2px solid var(--lc)}
  /* first item: the spine begins at its centre with a rounded corner */
  .t-kids>.t:first-child::before{top:50%;bottom:0;height:auto;border-top:2px solid var(--lc);border-inline-start:2px solid var(--lc);border-start-start-radius:var(--r)}
  .t-kids>.t:first-child::after{display:none}
  /* last item: the spine ends at its centre with a rounded corner */
  .t-kids>.t:last-child::before{top:0;bottom:50%;height:auto;border-bottom:2px solid var(--lc);border-top:0;border-inline-start:2px solid var(--lc);border-end-start-radius:var(--r)}
  .t-kids>.t:last-child::after{display:none}
  /* a lone item continues the stub in a straight line */
  .t-kids>.t:only-child::before{top:50%;bottom:auto;height:0;border-inline-start:0;border-radius:0;border-top:2px solid var(--lc)}
  .t-n.meta+.t-kids{flex-direction:row;flex-wrap:wrap;gap:6px;max-width:300px;padding:0;padding-inline-start:26px}
  .t-n.meta+.t-kids::before{width:13px}
  .t-rootli>.t-kids>.t{display:flex;align-items:center}
}
.ad-empty{margin:0;padding:18px;border-radius:14px;background:#fff;color:var(--ms-muted);text-align:center}
.ad-map{margin:0;padding:12px;border:1px solid var(--ms-line);border-radius:20px;background:#fff;box-shadow:var(--ms-shadow)}
.ad-map img{display:block;width:100%;height:auto;border-radius:12px}
.ad-map figcaption{margin-top:8px;color:var(--ms-muted);font-size:12px;text-align:center}
@media print{.ms-sitebar,.ms-site-footer,.ad-tools,.ad-bar{display:none!important}}
