:root{
  /* extenteam.com brand: blue #2762EA, light tint #F2F4FF, navy text #11192B / #353F4D, white surfaces.
     All text pairs >= WCAG AA 4.5:1 (links #1D4FD1 >= 6.2:1). */
  --paper:#F7F8FC; --surface:#FFFFFF; --ink:#11192B; --ink-2:#353F4D; --muted:#5B6472;
  --accent:#2762EA; --accent-ink:#1D4FD1; --line:#E4E7F0; --line-2:#D3D8E6; --hover:#F2F4FF; --tint:#F2F4FF;
  --display:"Segoe UI Variable Display","Segoe UI Variable","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --sans:"Segoe UI Variable Text","Segoe UI Variable",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  /* ONE column for header, content and footer: every left AND right edge (logo, crumbs, titles, list rows,
     search bar, footer) sits on the same two lines. */
  --wrap:960px; --measure:720px; --gutter:24px;
  --search-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px;scrollbar-gutter:stable}  /* short pages (home) don't shift sideways vs long ones */
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent-ink);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:10px;background:#fff;padding:8px 12px;z-index:40;border:1px solid var(--line);border-radius:8px}
h1,h2,h3,h4{font-family:var(--display);font-weight:650;letter-spacing:-.018em;line-height:1.22;color:var(--ink)}

/* header: content aligned to the page column */
.top{background:var(--surface);border-bottom:1px solid var(--line)}
.top-in{max-width:var(--wrap);margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;gap:24px;min-height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:650;letter-spacing:-.015em;font-size:18px;color:var(--ink);white-space:nowrap}
.brand:hover{text-decoration:none}
.brand img{display:block;height:26px;width:auto;flex:none}
.bar-search{margin-left:auto;flex:1;max-width:400px}

/* search (16px+ input text: stops iOS zooming the page on focus) */
.search{position:relative;margin:0}
.search input{width:100%;height:42px;padding:0 14px 0 40px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface) var(--search-icon) no-repeat 13px 50%;font:inherit;font-size:16px;color:var(--ink);-webkit-appearance:none;appearance:none}
.search input::placeholder{color:var(--muted)}
.search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(39,98,234,.18)}
.search input::-webkit-search-cancel-button{cursor:pointer}
#results{position:absolute;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(17,25,43,.12);max-height:min(70vh,520px);overflow:auto;z-index:30;text-align:left}
#results li a{display:block;padding:10px 12px;border-radius:8px;color:var(--ink);font-size:15.5px;line-height:1.4}
#results li a:hover,#results li a.active{background:var(--hover);text-decoration:none}
#results .r-crumb{display:block;font-size:13px;color:var(--muted);margin-top:3px}
#results .r-empty{padding:12px;color:var(--muted);font-size:15px}

/* hero (home) */
.hero{border-bottom:1px solid var(--line);background:var(--tint)}
.hero-in{max-width:var(--wrap);margin:0 auto;padding:60px var(--gutter) 52px;text-align:center}
.hero h1{font-size:clamp(28px,5vw,44px);margin:0 0 10px}
.hero-sub{color:var(--muted);font-size:18px;margin:0 auto 26px;max-width:46ch}
.hero-search{max-width:580px;margin:0 auto}
.hero-search input{height:52px;font-size:17px;border-radius:12px;padding-left:44px;background-position:15px 50%}

main{max-width:var(--wrap);margin:0 auto;padding:28px var(--gutter) 72px}

/* breadcrumb */
.crumbs{font-size:14px;color:var(--muted);margin:0 0 24px;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;line-height:1.4}
.crumbs i{color:var(--line-2);font-style:normal}
.crumbs span{color:var(--ink-2)}

/* home collection cards (left keyline, hairline border; no shadow stack) */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ccard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:24px 26px 22px;transition:border-color .15s ease,background-color .15s ease}
.ccard:hover{text-decoration:none;border-color:var(--line-2);border-left-color:var(--accent-ink);background:#FAFBFF}
.ccard h2{font-size:22px;margin:0 0 6px}
.ccard .desc{color:var(--muted);margin:0 0 18px;font-size:16px}
.ccard .count{margin-top:auto;color:var(--accent-ink);font-weight:600;font-size:15px}

/* collection / section pages */
.page-head{margin:0 0 22px}
.page-head h1{font-size:32px;margin:0 0 6px}
.page-head .lede{color:var(--muted);margin:0;font-size:16.5px}
.block{padding:22px 0 8px;border-top:1px solid var(--line)}
.block:first-of-type{border-top:none;padding-top:4px}
.block h2{font-size:19px;margin:0 0 4px}
.block h2 a{color:var(--ink)}
ul.arts,ul.subs{list-style:none;margin:0;padding:0}
ul.arts li,ul.subs li{border-bottom:1px solid var(--line)}
ul.arts li:last-child,ul.subs li:last-child{border-bottom:none}
ul.arts a,ul.subs a{position:relative;display:flex;align-items:baseline;gap:16px;min-height:46px;padding:11px 28px 11px 0;color:var(--ink);font-size:16.5px;line-height:1.45}
ul.arts a::after,ul.subs a::after{content:"";position:absolute;right:6px;top:50%;width:7px;height:7px;margin-top:-4px;border-top:1.75px solid var(--muted);border-right:1.75px solid var(--muted);transform:rotate(45deg)}
ul.arts a::after,ul.subs a::after{right:2px}  /* rotated tip lands on the column's right edge */
ul.arts a:hover,ul.subs a:hover{text-decoration:none;color:var(--accent-ink)}
ul.arts a:hover::after,ul.subs a:hover::after{border-color:var(--accent-ink)}
ul.subs a{justify-content:space-between}
ul.subs .t{font-weight:600}
ul.subs .n{color:var(--muted);font-size:14.5px;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:400}

/* article */
main.wide{max-width:var(--wrap)}
.art-layout{display:block}
.article{max-width:var(--measure);min-width:0}
.article>h1{font-size:clamp(26px,4vw,34px);margin:0 0 22px}
.article .body{font-size:17px;line-height:1.72;color:var(--ink);overflow-wrap:break-word}
.article .body h2{font-size:22px;margin:34px 0 10px}
.article .body h3{font-size:18.5px;margin:26px 0 8px}
.article .body h4{font-size:17px;margin:22px 0 6px}
.article .body p{margin:0 0 16px}
.article .body ul,.article .body ol{padding-left:24px;margin:0 0 16px}
.article .body li{margin:6px 0}
.article .body li>p{margin:0 0 8px}
.article .body a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}
.article .body a.zoom{display:block;cursor:zoom-in;text-decoration:none}
.article .body img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px;margin:14px 0;display:block;background:#fff}
.article .body blockquote{margin:16px 0;padding:6px 16px;border-left:3px solid var(--line-2);color:var(--ink-2);background:var(--surface);border-radius:0 8px 8px 0}
.article .body code{background:#EEF1F8;padding:.1em .35em;border-radius:4px;font-size:.9em}
.article .body pre{background:#11192B;color:#E9EEF5;padding:14px;border-radius:10px;overflow:auto}
.article .body pre code{background:none;padding:0}
.article .body hr{border:0;border-top:1px solid var(--line);margin:28px 0}
.article .body .table-wrap{overflow-x:auto;margin:14px 0;-webkit-overflow-scrolling:touch}
.article .body table{border-collapse:collapse;width:100%;font-size:15.5px}
.article .body th,.article .body td{border:1px solid var(--line);padding:8px 11px;text-align:left;vertical-align:top}
.article .body th{background:var(--hover)}

/* end of article: previous / next + back to section */
.art-foot{margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
.pn-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pn{display:flex;flex-direction:column;gap:3px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);transition:border-color .15s ease}
.pn:hover{text-decoration:none;border-color:var(--accent)}
.pn.next{grid-column:2;text-align:right}
.pn-l{font-size:13px;color:var(--muted)}
.pn-t{font-size:15.5px;font-weight:600;line-height:1.35}
.back{display:inline-block;margin-top:16px;font-size:15.5px;font-weight:600;padding:6px 0}

/* 'In this section' sidebar (wide screens only) */
.side{display:none}
@media (min-width:1024px){
  /* article + sidebar fill the column exactly: sidebar's right edge = search bar / footer right edge */
  .art-layout.has-side{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:48px;align-items:start}
  .art-layout.has-side .article{max-width:none}
  .side{display:block;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding:2px 2px 8px 0;font-size:14.5px;line-height:1.4}
  .side-h{margin:0 0 4px;font-size:13px;color:var(--muted)}
  .side-sec{display:block;font-weight:650;color:var(--ink);margin:0 0 10px;font-size:15px}
  .side ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
  .side li a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-2)}
  .side li a:hover{color:var(--accent-ink);text-decoration:none}
  .side li a[aria-current="page"]{border-left-color:var(--accent);color:var(--accent-ink);font-weight:600}
}

.foot{border-top:1px solid var(--line)}
.foot-in{max-width:var(--wrap);margin:0 auto;padding:22px var(--gutter) 28px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.foot-brand{color:var(--ink-2);font-weight:600}

/* phones */
@media (max-width:720px){
  :root{--gutter:16px}
  body{font-size:16.5px}
  .top-in{flex-wrap:wrap;gap:10px;padding:10px var(--gutter) 12px;min-height:0}
  .brand{font-size:16.5px}.brand img{height:24px}
  .bar-search{flex-basis:100%;max-width:none;margin-left:0}
  .search input{height:44px}   /* >=44px tap target on phones (desktop stays 42) */
  .hero-in{padding:36px var(--gutter) 30px}
  .hero-sub{font-size:16.5px;margin-bottom:20px}
  .cards{grid-template-columns:1fr;gap:14px}
  .ccard{padding:20px 20px 18px}
  .ccard h2{font-size:20px}
  main{padding:18px var(--gutter) 56px}
  /* breadcrumb -> one '‹ Parent' back link (don't wrap a long trail on a phone) */
  .crumbs{margin-bottom:16px}
  .crumbs > *:not(.up){display:none}
  .crumbs .up{display:inline-flex;align-items:center;gap:6px;padding:8px 0;font-weight:600}
  .crumbs .up::before{content:"";width:7px;height:7px;border-left:1.75px solid currentColor;border-bottom:1.75px solid currentColor;transform:rotate(45deg)}
  .page-head h1{font-size:26px}
  .article>h1{margin-bottom:16px}
  .article .body{font-size:16.5px;line-height:1.7}
  .article .body h2{font-size:20px;margin-top:28px}
  .article .body img{margin:12px 0}
  .pn-row{grid-template-columns:1fr}
  .pn.next{grid-column:auto;text-align:left}
  .foot-in{flex-direction:column;gap:4px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{
  .top,.hero,.crumbs,.side,.art-foot,.foot,.skip{display:none!important}
  body{background:#fff;font-size:12pt}
  main{padding:0;max-width:none}
  .article .body a{color:inherit}
}
