/* Sycamore Analytical — shared styling for the three policy pages.
   One file rather than three inlined copies, because these pages have to look
   identical and near-identical copies drift. */

:root{
  --ground:#F6F4F9;
  --surface:#FFFFFF;
  --surface-2:#EFEAF6;
  --ink:#16121F;
  --ink-2:#4C4459;
  --ink-3:#7C7389;
  --line:#E2DBEE;
  --line-2:#CFC5E2;
  --brand:#D9165F;
  --brand-hi:#FF2E88;
  --brand-ink:#FFFFFF;
  --brand-wash:#FDECF3;
  --amber:#B96A00;
  --good:#04735A;
  --shadow:0 1px 2px rgba(22,18,31,.05), 0 12px 32px -18px rgba(22,18,31,.35);
  --panel:#120E1C;
  --panel-ink:#F6F2FC;
  --panel-ink-2:rgba(246,242,252,.62);
  --panel-ink-3:rgba(246,242,252,.38);

  --maxw:1180px;
  /* nav.js injects a 59px sticky bar at the top of every page. Anything that
     sticks or scrolls into view has to clear it, or it lands underneath. */
  --bar:59px;
  --r-sm:6px;
  --r-md:12px;
  --r-lg:20px;
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#0D0A14;
    --surface:#16121F;
    --surface-2:#1F1A2C;
    --ink:#F4F0FA;
    --ink-2:#BAB1CC;
    --ink-3:#8C82A1;
    --line:#2B2440;
    --line-2:#3A3154;
    --brand:#FF3D86;
    --brand-hi:#FF74AA;
    --brand-ink:#1A0410;
    --brand-wash:#2A1024;
    --amber:#FFB020;
    --good:#2FD09B;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 16px 40px -20px rgba(0,0,0,.8);
  }
}
:root[data-theme="dark"]{
  --ground:#0D0A14;
  --surface:#16121F;
  --surface-2:#1F1A2C;
  --ink:#F4F0FA;
  --ink-2:#BAB1CC;
  --ink-3:#8C82A1;
  --line:#2B2440;
  --line-2:#3A3154;
  --brand:#FF3D86;
  --brand-hi:#FF74AA;
  --brand-ink:#1A0410;
  --brand-wash:#2A1024;
  --amber:#FFB020;
  --good:#2FD09B;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 16px 40px -20px rgba(0,0,0,.8);
}

*{box-sizing:border-box}
[hidden]{display:none !important}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--body);font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
@media (max-width:600px){.wrap{padding:0 20px}}

/* ---------- masthead ---------- */
.phead{background:var(--panel);color:var(--panel-ink);padding:54px 0 46px}
.phead .eyebrow{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--panel-ink-3);margin-bottom:14px
}
.phead h1{
  font-family:var(--display);font-variation-settings:"wdth" 104;font-weight:800;
  font-size:clamp(30px,5vw,46px);letter-spacing:-.028em;line-height:1.08;margin:0
}
.phead p{color:var(--panel-ink-2);font-size:16px;margin:14px 0 0;max-width:62ch}
.phead .dates{
  display:flex;gap:26px;flex-wrap:wrap;margin-top:24px;
  font-family:var(--mono);font-size:11.5px;color:var(--panel-ink-3)
}
.phead .dates b{color:var(--panel-ink-2);font-weight:500}

/* ---------- the three policies, cross-linked ---------- */
.ptabs{position:sticky;top:var(--bar);z-index:40;border-bottom:1px solid var(--line);background:var(--surface)}
.ptabs-in{display:flex;gap:4px;overflow-x:auto}
.ptabs a{
  padding:14px 16px;font-size:14.5px;font-weight:600;color:var(--ink-3);
  text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap
}
.ptabs a:hover{color:var(--ink)}
.ptabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--brand)}

/* ---------- body ---------- */
.pbody{display:grid;grid-template-columns:230px minmax(0,1fr);gap:56px;padding:48px 0 20px}
@media (max-width:900px){.pbody{grid-template-columns:1fr;gap:0}}

.ptoc{position:sticky;top:calc(var(--bar) + 72px);align-self:start}
@media (max-width:900px){.ptoc{position:static;margin-bottom:34px}}
.ptoc h2{
  font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);margin:0 0 12px
}
.ptoc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;counter-reset:t}
.ptoc a{
  display:block;padding:5px 0 5px 26px;font-size:13.5px;color:var(--ink-2);
  text-decoration:none;position:relative;line-height:1.4
}
.ptoc a::before{
  counter-increment:t;content:counter(t);position:absolute;left:0;top:5px;
  font-family:var(--mono);font-size:11px;color:var(--ink-3)
}
.ptoc a:hover{color:var(--brand)}

.pmain h2{
  font-family:var(--display);font-variation-settings:"wdth" 100;font-weight:800;
  font-size:22px;letter-spacing:-.018em;margin:44px 0 12px;
  scroll-margin-top:calc(var(--bar) + 72px)
}
.pmain h2:first-child{margin-top:0}
.pmain h3{font-size:16px;font-weight:600;margin:26px 0 8px}
.pmain p{color:var(--ink-2);margin:0 0 14px;max-width:70ch}
.pmain ul,.pmain ol{color:var(--ink-2);margin:0 0 16px;padding-left:22px;max-width:70ch}
.pmain li{margin-bottom:7px}
.pmain li::marker{color:var(--ink-3)}
.pmain b,.pmain strong{color:var(--ink);font-weight:600}
.pmain a{color:var(--brand);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--brand) 35%,transparent)}
.pmain a:hover{border-bottom-color:var(--brand)}
.pmain code{font-family:var(--mono);font-size:.9em;background:var(--surface-2);padding:1px 5px;border-radius:4px}

.pnum{
  font-family:var(--mono);font-size:12px;color:var(--ink-3);
  margin-right:10px;font-weight:500
}

/* a definition-style block for addresses, hours, limits */
.pfacts{
  border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);
  padding:20px 22px;margin:0 0 18px;box-shadow:var(--shadow)
}
.pfacts dl{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:0;align-items:baseline}
@media (max-width:560px){.pfacts dl{grid-template-columns:1fr;gap:3px 0}}
.pfacts dt{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);white-space:nowrap
}
.pfacts dd{margin:0;color:var(--ink-2)}
@media (max-width:560px){.pfacts dd{margin-bottom:12px}}
.pfacts dd b{color:var(--ink)}

/* a called-out qualification */
.pnote{
  border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber) 7%,transparent);
  border-radius:0 var(--r-md) var(--r-md) 0;padding:14px 18px;margin:0 0 18px;
  font-size:14.5px;color:var(--ink-2);max-width:70ch
}
.pnote b{color:var(--ink)}
.pnote p{margin:0 0 10px;font-size:14.5px}
.pnote p:last-child{margin:0}

.pgood{border-left-color:var(--good);background:color-mix(in srgb,var(--good) 7%,transparent)}
.pbrand{border-left-color:var(--brand);background:var(--brand-wash)}

/* a simple two-column comparison */
.ptable{
  border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;
  margin:0 0 18px;background:var(--surface);max-width:70ch
}
.ptable .scroll{overflow-x:auto}
.ptable table{width:100%;border-collapse:collapse;font-size:14.5px}
.ptable th{
  text-align:left;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);padding:11px 16px;
  border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap
}
.ptable td{padding:11px 16px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.ptable tr:last-child td{border-bottom:0}

/* ---------- footer ---------- */
.pfoot{border-top:1px solid var(--line);margin-top:70px;padding:34px 0 60px}
.pfoot-in{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start}
.pfoot p{
  font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin:0;line-height:1.8
}
.pfoot nav{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto}
.pfoot nav a{font-size:13.5px;color:var(--ink-2);text-decoration:none}
.pfoot nav a:hover{color:var(--brand)}

@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
@media print{
  .sitebar,.ptabs,.ptoc,.pfoot nav{display:none}
  .phead{background:none;color:#000;padding:0 0 20px}
  .phead h1,.phead p,.phead .dates{color:#000}
  .pbody{grid-template-columns:1fr;padding-top:0}
  body{font-size:11pt}
}
