
:root {
  --color-bg: #f2f2f3;
  --color-surface: #e9e9ea;
  --color-text: #1d1f20;
  --color-accent: #5980a6;
  --color-accent-2: #728fab;
  --color-divider: color-mix(in srgb, #1d1f20 16%, transparent);

  
  --color-neutral-100: #f5f5f8;
  --color-neutral-200: #e7e7ea;
  --color-neutral-300: #d4d4d7;
  --color-neutral-400: #b7b7ba;
  --color-neutral-500: #98989b;
  --color-neutral-600: #7a7a7d;
  --color-neutral-700: #5d5d60;
  --color-neutral-800: #424244;
  --color-neutral-900: #2b2b2d;

  --color-accent-100: #eef6ff;
  --color-accent-200: #d6ebff;
  --color-accent-300: #b5d9fd;
  --color-accent-400: #94bce3;
  --color-accent-500: #749dc4;
  --color-accent-600: #597ea3;
  --color-accent-700: #416180;
  --color-accent-800: #2c455d;
  --color-accent-900: #1d2d3d;

  --color-accent-2-100: #eef6ff;
  --color-accent-2-200: #d6ebff;
  --color-accent-2-300: #bdd8f2;
  --color-accent-2-400: #9ebbd8;
  --color-accent-2-500: #7e9cb8;
  --color-accent-2-600: #627d98;
  --color-accent-2-700: #486077;
  --color-accent-2-800: #314457;
  --color-accent-2-900: #1f2d3a;

  --font-heading: "Barlow Condensed", system-ui, sans-serif;
  --font-heading-weight: 600;
  --font-body: "Barlow", system-ui, sans-serif;

  --space-1: 3.4px;
  --space-2: 6.8px;
  --space-3: 10.2px;
  --space-4: 13.6px;
  --space-6: 20.4px;
  --space-8: 27.2px;

  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 7px;

  
  --shadow-sm: 0 1px 2px color-mix(in srgb, #2b2b2d 14%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #2b2b2d 16%, transparent);
  --shadow-lg: 0 12px 32px color-mix(in srgb, #2b2b2d 22%, transparent);
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
}
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); }

.blueprint {
  position: relative;
  border: 1px solid var(--color-divider);
  border-radius: 0;
}

.blueprint.halftone, .blueprint.plate, .blueprint.duotone { overflow: visible; }
.blueprint > .corner {
  position: absolute; width: 11px; height: 11px;
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
}
.blueprint > .corner::before, .blueprint > .corner::after {
  content: ""; position: absolute; background: currentColor;
}
.blueprint > .corner::before { left: 5px; top: 0; width: 1px; height: 100%; }
.blueprint > .corner::after  { top: 5px; left: 0; width: 100%; height: 1px; }
.blueprint > .corner.tl { top: -6px; left: -6px; }
.blueprint > .corner.tr { top: -6px; right: -6px; }
.blueprint > .corner.bl { bottom: -6px; left: -6px; }
.blueprint > .corner.br { bottom: -6px; right: -6px; }

.duotone{position:relative;overflow:hidden}
.duotone::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:var(--color-accent);mix-blend-mode:color}



*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-size: 15px; line-height: 1.55; font-weight: 400; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2);
}
h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
h5 { font-size: 16px; }
h6 { font-size: 13px; }
h6 { letter-spacing: 0.08em; text-transform: uppercase; }
p { margin: 0 0 var(--space-3); }
a { color: var(--color-accent); text-underline-offset: 3px; }
img { display: block; max-width: 100%; }
figure { margin: 0; }
figcaption {
  font-size: 11px; margin-top: var(--space-1);
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
}
.text-muted { color: color-mix(in srgb, var(--color-text) 55%, transparent); }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }


.hr {
  height: 1px; border: 0; margin: var(--space-4) 0;
  background: var(--color-divider);
}


.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  cursor: pointer; text-decoration: none;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 14px; line-height: 1.2; color: var(--color-text); 
  background: transparent; border: 1px solid transparent;
  padding: var(--space-2) calc(var(--space-3) * 1.2);
  border-radius: var(--radius-md);
}
.btn svg { display: block; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }
.btn-primary { background: var(--color-accent); color: var(--color-bg); }
.btn-primary:hover { background: var(--color-accent-600); }
.btn-primary:active { background: var(--color-accent-700); }
.btn-secondary { border-color: var(--color-divider); }
.btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.btn-secondary:active { background: color-mix(in srgb, var(--color-text) 14%, transparent); }
.btn-ghost { color: var(--color-accent); padding-inline: var(--space-1); }
.btn-ghost:hover { background: color-mix(in srgb, var(--color-accent) 10%, transparent); }
.btn-ghost:active { background: color-mix(in srgb, var(--color-accent) 18%, transparent); }
.btn-icon { width: 36px; height: 36px; padding: 0; }
.btn-block { width: 100%; margin-top: var(--space-2); }


.field > label {
  display: block; font-size: 12px; margin-bottom: 5px;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
}
.input {
  width: 100%; min-height: 36px; padding: 6px 10px; font: inherit;
  font-size: 14px; color: var(--color-text); caret-color: var(--color-accent);
  background: var(--color-surface);
  border: 1px solid var(--color-divider); border-radius: var(--radius-md);
}
.input:hover { border-color: color-mix(in srgb, var(--color-text) 45%, transparent); }
.input:focus-visible { border-color: var(--color-accent); outline-offset: 0; }
textarea.input { min-height: 90px; resize: vertical; }
.radio { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; }
.radio input, .seg-opt input {
  position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;
}
.radio .dot {
  width: 16px; height: 16px; flex: none; border-radius: 50%;
  border: 1.5px solid var(--color-divider);
}
.radio:hover .dot { border-color: var(--color-accent); }
.radio input:checked + .dot {
  border-color: var(--color-accent); background: var(--color-accent);
  box-shadow: inset 0 0 0 4px var(--color-bg);
}
.radio input:focus-visible + .dot { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.seg {
  display: inline-flex; overflow: hidden;
  border: 1px solid var(--color-divider); border-radius: var(--radius-md);
}
.seg-opt {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; font-size: 13px; cursor: pointer;
}
.seg-opt + .seg-opt { border-left: 1px solid var(--color-divider); }
.seg-opt:has(input:checked) { background: var(--color-accent); color: var(--color-bg); }
.seg-opt:not(:has(input:checked)):hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.seg-opt:has(input:focus-visible) { outline: 2px solid var(--color-accent); outline-offset: -2px; }


.card {
  display: flex; flex-direction: column; gap: var(--space-2);
  padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-surface);
}
.card-kicker { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-accent); }
.card-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 17px; line-height: 1.2;
}
.card-body { margin: 0; font-size: 13px; opacity: 0.8; flex: 1; }
.card-meta {
  display: flex; align-items: center; gap: 6px; font-size: 11px;
  color: color-mix(in srgb, var(--color-text) 50%, transparent);
}
.elev-sm { box-shadow: var(--shadow-sm); }
.elev-md { box-shadow: var(--shadow-md); }
.elev-lg { box-shadow: var(--shadow-lg); }


.tag {
  display: inline-flex; align-items: center; font-size: 11px;
  letter-spacing: 0.02em; padding: 3px 10px;
  border-radius: calc(var(--radius-md) * 0.75);
}
.tag-accent { background: var(--color-accent-100); color: var(--color-accent-800); }
.tag-accent-2 { background: var(--color-accent-2-100); color: var(--color-accent-2-800); }
.tag-neutral { background: var(--color-neutral-100); color: var(--color-neutral-800); }
.tag-outline { border: 1px solid var(--color-accent); color: var(--color-accent); }


.nav {
  display: flex; align-items: center; gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-bottom: none;
}
.nav-brand {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 18px; margin-right: auto;
}
.nav a { color: inherit; text-decoration: none; font-size: 14px; }
.nav a:hover, .nav a[aria-current='page'] { color: var(--color-accent); }


.table { width: 100%; border-collapse: collapse; font-size: 14px; }
.table th {
  text-align: left; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 60%, transparent);
  padding: var(--space-2); border-bottom: 1px solid var(--color-divider);
}
.table td {
  padding: var(--space-2);
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
}
.table tbody tr:hover { background: color-mix(in srgb, var(--color-text) 4%, transparent); }


.dialog-backdrop {
  position: fixed; inset: 0; display: grid; place-items: center;
  padding: var(--space-4);
  background: color-mix(in srgb, var(--color-neutral-900) 50%, transparent);
}
.dialog {
  width: min(440px, 100%); display: flex; flex-direction: column; gap: var(--space-3);
  padding: var(--space-4); border-radius: var(--radius-lg);
  background: var(--color-surface); box-shadow: var(--shadow-lg);
}
.dialog-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 20px;
}
.dialog-body { font-size: 14px; opacity: 0.85; }
.dialog-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-2); }


.card, .btn, .input, .tag, .seg, .dialog { border-radius: 0; }
.card, .dialog { background: transparent; border: 1px solid var(--color-divider); }
.btn { border: 1px solid var(--color-divider); }
.btn-primary { border-color: var(--color-accent); }
.btn-ghost { border-color: transparent; }


body{background:var(--color-bg);margin:0}

@font-face { font-family:"IBM Plex Sans"; font-style:normal; font-weight:100 700;
             font-display:swap; src:url("/static/fonts/ibm-plex-sans-latin.woff2") format("woff2");
             unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,
             U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"IBM Plex Sans"; font-style:normal; font-weight:100 700;
             font-display:swap; src:url("/static/fonts/ibm-plex-sans-latin-ext.woff2") format("woff2");
             unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,
             U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,
             U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Source Serif 4"; font-style:normal; font-weight:200 900;
             font-display:swap; src:url("/static/fonts/source-serif-4-latin.woff2") format("woff2");
             unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,
             U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"Source Serif 4"; font-style:normal; font-weight:200 900;
             font-display:swap; src:url("/static/fonts/source-serif-4-latin-ext.woff2") format("woff2");
             unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,
             U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,
             U+2113,U+2C60-2C7F,U+A720-A7FF; }



:root {
  
  --brand-ink: var(--color-accent-700);          
  --brand-ink-strong: var(--color-accent-900);   
  --brand-wordmark: var(--color-text);           
  --brand-tile: var(--color-accent-700);         
  --brand-tile-mark: var(--color-bg);            

  
  --type-brand: 13px;        
  --type-identity: 27px;     
  --type-headline: 33px;     
  --type-section: 19px;      
  --type-body: 12.5px;
  --type-meta: 11.5px;
  --type-micro: 10px;        
  --track-brand: .09em;
  --track-micro: .11em;

  
  --chart-base: var(--color-accent-200);      
  --chart-notable: var(--color-accent-900);   
  --chart-risk: var(--attention);             
  --chart-unresolved: var(--color-accent-700); 
  --chart-axis: var(--color-text);
  --chart-today: var(--color-accent-900);

  
  --tier-high: var(--color-text);
  --tier-medium: var(--color-accent-800);
  --tier-low: var(--color-neutral-700);

  
  --chip-verified-tick-bg: var(--color-accent-300);   
  --chip-verified-tick-ink: var(--color-accent-900);
  --chip-verified-word-bg: var(--color-accent-900);   
  --chip-verified-word-ink: var(--color-bg);
  --chip-verified-border: var(--color-accent-900);

  
  --attention: #c07a26;         
  --attention-ink: #8a5514;     
  --attention-on: #2e1a04;      
  --runway-end: #a63a1f;        
  --runway-end-ink: #8f2f16;    
  --runway-flag-ink: var(--color-bg);          
  --runway-expired: var(--color-text);         
  --runway-elapsed: var(--color-neutral-500);  
  --runway-dead: var(--color-neutral-400);     

  
  --seam: 1px solid var(--color-text);
  --rail-width: 330px;
}


a { color: var(--brand-ink); }
a:hover { color: var(--color-accent-800); }


.page { background: var(--color-neutral-100); border: 1px solid var(--color-divider);
        max-width: 1180px; margin: 0 auto; }
.topbar { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-4);
          padding: var(--space-2) var(--space-4); border-bottom: 1px solid var(--color-divider); }

.topbar form { flex:1 1 200px; min-width:200px; }
.brandmark { display:flex; align-items:center; gap:7px; font-size:13px;
             font-family: var(--font-heading); font-weight: var(--font-heading-weight); }

.brandmark .name { text-transform:uppercase; letter-spacing: var(--track-brand); }
.identity { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-3);
            padding: var(--space-3) var(--space-4); border-bottom: var(--seam); }
.identity .sq { width:32px; height:32px; flex:none; display:grid; place-items:center;
                font-family: var(--font-heading); font-size:13px; line-height:1; }

.identity h1 { margin:0; font-size: var(--type-identity); line-height:1.05;
               overflow-wrap:break-word; min-width:0; }

.identity h1.name-md { font-size: var(--type-section); white-space:normal; overflow-wrap:break-word; }
.identity h1.name-lg { font-size: var(--type-body); white-space:normal; overflow-wrap:break-word; }

.identity .meta { font-size:11.5px; color: var(--color-neutral-700);
                  overflow-wrap:break-word; min-width:0; }
.main { padding: var(--space-6) var(--space-6) var(--space-4); }
.heroline { display:flex; align-items:baseline; gap:var(--space-4); margin-bottom:var(--space-4); }
.heroline h2 { margin:0; font-size: var(--type-headline); line-height:1.06; }
.herocap { display:flex; align-items:baseline; gap:9px; margin-bottom:var(--space-4);
           font-size:11px; letter-spacing:.1em; text-transform:uppercase;
           color: var(--color-accent-800); }
.herocap .rule { flex:1; height:1px; background: var(--color-accent-400); }
.legend { display:flex; gap:var(--space-6); margin-top:var(--space-3);
          font-size:11.5px; color: var(--color-neutral-700); }
.legend .key { display:flex; align-items:center; gap:7px; }
.legend .sw { width:10px; height:10px; }
.legend .prov { margin-left:auto; }
.body2 { display:grid; grid-template-columns: 1fr var(--rail-width); gap:var(--space-8);
         margin-top:var(--space-6); border-top: var(--seam); padding-top:var(--space-4); }

.stats { display:flex; flex-wrap:wrap; gap:var(--space-4) var(--space-8);
         margin-bottom:var(--space-4); }
.stat .l { white-space:nowrap; }

.week.stamp { font-size:10.5px; color:var(--color-neutral-700); margin:0 0 var(--space-4); }
.stat .n { font-family: var(--font-heading); font-size:34px; line-height:1;
           font-variant-numeric: tabular-nums; }
.stat .l { font-size: var(--type-micro); letter-spacing: var(--track-micro);
           text-transform:uppercase; color: var(--color-neutral-700); }
.stat.alarm .n, .stat.alarm .l { color: var(--color-accent-800); }

.facts { display:grid; grid-template-columns:repeat(auto-fit, minmax(132px, 1fr));
         gap:var(--space-4); margin:0 0 var(--space-6); }
.fact { border-top:1px solid var(--color-accent-400); padding-top:var(--space-2);
        min-width:0; }
.fact .v { font-family: var(--font-heading); font-size:19px; line-height:1.15;
           overflow-wrap:break-word; }
.fact .l { font-size: var(--type-micro); letter-spacing: var(--track-micro);
           text-transform:uppercase; color: var(--color-neutral-700); margin-top:5px; }
.fact .n { font-size:11.5px; line-height:1.35; color: var(--color-neutral-700);
           margin-top:6px; }

.pfacts { font-size:12.5px; color: var(--color-neutral-700); margin:0 0 var(--space-4); }
.pfacts b { color: var(--color-text); font-weight:600; }
.pfacts > div + div { margin-top:4px; }
.thesis { font-size: var(--type-section); line-height:1.42;
          margin:0 0 var(--space-6); max-width:620px; }
.sec { font-size: var(--type-section); margin:0 0 var(--space-3); }
.rail { display:flex; flex-direction:column; gap:var(--space-4); }
.rail .agenda { border-top: var(--seam); padding-top:var(--space-3); }

@media (min-width: 721px) {
  .body2 > .rail-follow { position: sticky; top: var(--space-4); align-self: start; }
}
.agenda .row { display:flex; gap:var(--space-3); padding:var(--space-3) 0;
               border-bottom:1px solid var(--color-divider); }
.agenda .row:last-child { border-bottom:0; }
.agenda .when { font-family: var(--font-heading); font-size:15px; min-width:50px; }
.agenda .row.next .when { color: var(--color-accent-800); }
.agenda .what { font-size:12.5px; }
.notable { display:flex; flex-direction:column; gap:var(--space-2); margin-bottom:var(--space-6); }
.notable .item { padding: var(--space-3); display:flex; gap:var(--space-4); align-items:baseline; }

.notable .item .body { flex:1; min-width:0; }

.notable .item.linked { position: relative; }
.notable .item.linked .cardlink::after { content: ""; position: absolute; inset: 0; }
.notable .item.linked .work a { position: relative; z-index: 1; }
.notable .ttl { font-family: var(--font-heading); font-size:16px; }
.notable .pn { font-family: var(--font-body); font-size:11px; color: var(--brand-ink);
               font-variant-numeric: tabular-nums; }
.notable .imp { font-size:12.5px; color: var(--color-neutral-800); }
.record { padding: var(--space-3); }
.record .hd { display:flex; align-items:baseline; gap:var(--space-3); }
.record .ttl { font-family: var(--font-heading); font-size:16px; flex:1; }
.record .pn { font-size:11px; color: var(--brand-ink); font-variant-numeric: tabular-nums;
              white-space: nowrap; }

@media (max-width: 720px) {
  .record .hd { flex-wrap: wrap; }
  .record .ttl { flex-basis: 100%; }
}

@media (max-width: 720px) { .barrule { display: none; } }

.understamp { text-align: right; }
@media (max-width: 720px) { .understamp { text-align: left; } }
.record .work { font-size:11.5px; color: var(--color-neutral-800); margin-top:6px;
                line-height:1.5; font-variant-numeric: tabular-nums; }
.record.pending { border:1px dashed var(--color-divider); }
.record.pending .ttl, .record.pending .work { color: var(--color-neutral-700); }
.foot { border-top: var(--seam); padding: var(--space-3) var(--space-4); display:flex;
        gap:var(--space-6); flex-wrap:wrap; font-size:11px; color: var(--color-neutral-700); }

.foot .row { display:flex; gap:var(--space-4); flex-wrap:wrap; }
.foot .last { margin-left:auto; }
.finepr { font-size:10.5px; color: var(--color-neutral-700); line-height:1.5;
          border-top:1px solid var(--color-divider); padding-top: var(--space-3); }
.tier-high { color: var(--tier-high); }
.tier-medium { color: var(--tier-medium); }
.tier-low { color: var(--tier-low); }
.num { font-variant-numeric: tabular-nums; }

a.seg-opt { text-decoration: none; color: inherit; }
a.seg-opt:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
a.seg-opt.on, a.seg-opt.on:hover { background: var(--color-accent); color: var(--color-bg); }
a.seg-opt:focus-visible { outline: 2px solid var(--color-accent); outline-offset: -2px; }

[id^="tab-"] { scroll-margin-top: var(--space-4); }

.hscroll { overflow-x: auto; }

@media (max-width: 720px) {
  .body2 { grid-template-columns: 1fr; }
  .heroline { flex-wrap: wrap; }
  
  .notable .item { flex-wrap: wrap; row-gap: var(--space-2); }
  .notable .item .body { order: 3; flex-basis: 100%; }
  .notable .item .ends { margin-left: auto; }
}


.rowfacts { display: none; }
@media (max-width: 720px) {
  .rowfacts { display: block; font-size: 11px; color: var(--color-neutral-700);
              white-space: normal; }
  .table td.rowaside, .table th.rowaside { display: none; }
  
  table.dir th.nw { white-space: normal; }
  
  table.listrow td.num > div { white-space: normal; }
}


.gantt { display: flex; flex-direction: column; }
.gantt-row {
  display: grid;
  grid-template-columns: max-content minmax(0, 13rem) 1fr max-content;
  align-items: center; gap: var(--space-3);
  height: 24px; font-size: 11.5px;
}
.gantt-id { white-space: nowrap; color: var(--brand-ink); text-decoration: none; }
.gantt-id:hover { text-decoration: underline; }
.gantt-title {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  color: var(--color-neutral-800);
}
.gantt-track { position: relative; height: 100%; }

.gantt-track::before {
  content: ""; position: absolute; left: 0; right: 0; top: 50%;
  height: 1px; background: color-mix(in srgb, var(--color-text) 12%, transparent);
}
.gantt-bar {
  position: absolute; top: 50%; transform: translateY(-50%);
  height: 9px; min-width: 2px;
}
.gantt-end { white-space: nowrap; color: var(--color-neutral-700); }

.gantt-bounded { font-style: italic; }
.gantt-today {
  position: absolute; top: -2px; bottom: -2px; width: 1px;
  background: var(--color-text); opacity: .45;
}
.gantt-axis { height: 18px; color: var(--color-neutral-700); }
.gantt-axis .gantt-track > span { position: absolute; top: 0; transform: translateX(-50%); }
.gantt-axis .gantt-today { top: -6px; bottom: auto; height: 6px; }

@media (max-width: 720px) { .gantt-axis .gaminor { display: none; } }

@media (max-width: 720px) {
  .gantt-row { grid-template-columns: max-content 1fr max-content; gap: var(--space-2); }
  .gantt-title { display: none; }
}


.table .nw { white-space: nowrap; width: 1%; }

table.derive td:nth-child(3) { white-space: normal; min-width: 8.5em; }
.table .col-title { width: auto; }


table.plist td.col-holder, table.plist th.col-holder { width: 1%; min-width: 7.5em; }
table.plist td.col-runway, table.plist th.col-runway { width: 1%; }
table.plist .statusword { white-space: nowrap; }
table.plist td.col-term [data-tpf-rel] { display: block; }

table.plist td.col-term [data-tpf-sep] { display: none; }

@media (max-width: 720px) {
  table.derive thead, table.stack thead { display: none; }
  table.derive, table.derive tbody, table.derive tr, table.derive td,
  table.stack, table.stack tbody, table.stack tr, table.stack td { display: block; }
  table.derive tr, table.stack tr { padding: var(--space-2) 0; border-bottom: var(--seam); }
  table.derive td, table.stack td { border: 0; padding: 2px 0; width: auto; min-width: 0;
                    white-space: normal; text-align: left !important; }
  
  table.derive td.nw, table.derive td:nth-child(3) { width: auto; min-width: 0;
                    white-space: normal; }
  table.derive td:first-child { font-weight: 600; }
  table.derive td[data-label]::before, table.stack td[data-label]::before {
                    content: attr(data-label) ": ";
                    color: var(--color-neutral-600); font-size: var(--type-meta); }
}


.body2 > * { min-width: 0; }
.hscroll { max-width: 100%; }


.tlgrid { display: grid; gap: var(--gap);
          grid-template-columns: repeat(var(--cols), minmax(var(--colmin), 1fr)); }
.tlgrid.tlc { text-align: center; }
@media (max-width: 720px) {
  .tlgrid { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 2px; }
  .tlgrid.tlc { text-align: left; }
  .tlgrid > .tlminor { visibility: hidden; overflow: hidden; }
  
  .tlgrid .tlsep { display: none; }
  .tlgrid .tlcount { display: block; }
}


:root {
  --color-bg: #f6f1e7;
  --color-surface: #fffcf7;
  --color-text: #173d32;
  --color-accent: #a74728;
  --color-accent-2: #173d32;
  --color-divider: #d8cec0;
  --forest: #173d32;
  --forest-hover: #0f2d24;
  --muted: #53615b;
  --soft: #efe7db;
  --peach: #f5e5d7;
  --sage: #e6ede5;

  
  --color-neutral-100: #fffcf7;
  --color-neutral-200: #f6f1e7;
  --color-neutral-300: #efe7db;
  --color-neutral-400: #d8cec0;
  --color-neutral-500: #bfb3a3;
  --color-neutral-600: #66716b;
  --color-neutral-700: #53615b;
  --color-neutral-800: #2e4a40;
  --color-neutral-900: #173d32;

  
  --color-accent-100: #f5e5d7;
  --color-accent-200: #efd3c0;
  --color-accent-300: #e2b39a;
  --color-accent-400: #cf8c6c;
  --color-accent-500: #bb6745;
  --color-accent-600: #a74728;
  --color-accent-700: #a74728;
  --color-accent-800: #87371f;
  --color-accent-900: #6a2b18;
  
  --color-accent-2-100: #e6ede5;
  --color-accent-2-200: #cfddd2;
  --color-accent-2-300: #a9c1b0;
  --color-accent-2-400: #7b9c87;
  --color-accent-2-500: #4f7663;
  --color-accent-2-600: #2f5a4a;
  --color-accent-2-700: #173d32;
  --color-accent-2-800: #0f2d24;
  --color-accent-2-900: #0a2019;

  --font-body: "IBM Plex Sans", system-ui, sans-serif;
  --font-heading: "Source Serif 4", Georgia, serif;
  --font-heading-weight: 600;

  
  --type-chart: 11px;
  --type-micro: 12px;
  --type-meta: 14px;
  --type-body: 16px;
  --type-prose: 17px;
  --type-lede: 20px;
  --type-section: 22px;
  --type-card: 22px;
  --type-module: 30px;
  --type-identity: 44px;
  --type-headline: 38px;
  --type-brand: 28px;
  --track-brand: -.015em;
  --track-micro: 0;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;

  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-pill: 999px;

  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: 0 12px 32px rgba(23,61,50,.08);

  --seam: 1px solid #d8cec0;
  --rule: #d8cec0;
  --row-rule: #e7ded1;
  --row-hover: #efe7db;
  --rail-width: 340px;

  --status-live-bg: #e6ede5;   --status-live-ink: #1f4d3a;   --status-live-dot: #2f7a55;
  --status-soon-bg: #fbefdc;   --status-soon-ink: #7a4a10;   --status-soon-dot: #c07a26;
  --status-ended-bg: #f7e8e3;  --status-ended-ink: #8f2f16;  --status-ended-dot: #a63a1f;
  --status-none-bg: #ece9e2;   --status-none-ink: #3f4a45;   --status-none-dot: #7a817c;

  --tier-high: var(--color-text);
  --tier-medium: var(--color-neutral-800);
  --tier-low: var(--color-neutral-700);

  
  --chart-base: #9fb3a7;
  --chart-notable: var(--forest);
  --chart-risk: var(--attention);
  --chart-unresolved: var(--color-accent-2-500);
  --runway-elapsed: var(--color-neutral-500);
  --runway-dead: var(--color-neutral-400);
}


html { background: var(--color-bg); }
body { font-family: var(--font-body); font-size: var(--type-body); line-height: 1.5;
       padding: 0; background: var(--color-bg); color: var(--color-text);
       font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading);
                         font-weight: var(--font-heading-weight); color: var(--forest);
                         letter-spacing: -.015em; line-height: 1.15;
                         text-transform: none; }
h1 { font-size: var(--type-identity); line-height: 1.12; }
h2 { font-size: var(--type-module); line-height: 1.2; }
h3 { font-size: var(--type-card); line-height: 1.25; }
h4 { font-size: var(--type-section); }
h5 { font-size: var(--type-lede); }
h6 { font-size: var(--type-body); letter-spacing: -.01em; }
a { text-underline-offset: 3px; transition: color 150ms ease-out; }
a:hover { color: var(--color-accent-800); }
::selection { background: color-mix(in srgb, var(--color-accent) 22%, transparent); }
:focus-visible { outline: 2px solid var(--forest); outline-offset: 3px; }
input[type=radio], input[type=checkbox] { accent-color: var(--color-accent); }
.text-muted { color: var(--muted); }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }


.page { background: transparent; border: 0; max-width: 1416px;
        padding: 0 48px 48px; container-type: inline-size; }
.main { padding: var(--space-6) 0 var(--space-4); }

.blueprint > .corner { display: none; }
.blueprint { border-radius: var(--radius-lg); background: var(--color-surface);
             border: 1px solid var(--color-divider); }




.topbar { gap: var(--space-4) var(--space-6); padding: 0; min-height: 80px;
          align-items: center; border-bottom: 1px solid var(--rule); }
.brandmark { gap: 12px; font-family: var(--font-heading); font-size: var(--type-brand);
             font-weight: var(--font-heading-weight); letter-spacing: var(--track-brand);
             color: var(--forest) !important; align-items: center; }
.brandmark svg { color: var(--forest) !important; }
.brandmark .name { text-transform: none; letter-spacing: var(--track-brand);
                   white-space: nowrap; }
.topbar form { flex: 1 1 240px; min-width: 200px; max-width: 420px; }
.topbar .input { min-height: 44px; }
.topnav { display: flex; gap: 8px 24px; flex-wrap: wrap; font-size: var(--type-meta); }
.topbar a { color: var(--forest); text-decoration: none; }

.navmenu { display: contents; }
.menubtn { display: none; }
.topbar a:hover { color: var(--color-accent); text-decoration: underline; }


.identity { gap: var(--space-3) var(--space-4); padding: 32px 0 var(--space-4);
            border-bottom: 0; align-items: baseline; }
.identity .sq { width: 56px; height: 56px; font-family: var(--font-heading);
                font-size: var(--type-lede); border-radius: var(--radius-md);
                align-self: center; background: var(--sage); color: var(--forest);
                border: 0; display: inline-flex; align-items: center; justify-content: center; }
.identity h1 { font-size: var(--type-identity); line-height: 1.12; }
.identity h1.name-md { font-size: 36px; }
.identity h1.name-lg { font-size: var(--type-module); }
.identity .meta { font-size: var(--type-meta); color: var(--muted); }

.identity:has(> .num) .sq { display: none; }
.identity .num { color: var(--muted) !important; }


.identity:has(> .meta):not(:has(> svg)) { background: var(--forest); border-radius: var(--radius-lg);
                         padding: var(--space-6); min-height: 112px; align-items: center;
                         margin-top: var(--space-6); }
.identity:has(> .meta):not(:has(> svg)) h1 { color: #fffcf7; }
.identity:has(> .meta):not(:has(> svg)) .meta { color: #e6ede5; letter-spacing: .12em; text-transform: uppercase;
                               font-size: var(--type-micro); flex-basis: 100%; margin-top: -6px; }

.identity:has(> .sq):has(> .meta):not(:has(> svg)) .meta { margin-left: 72px; }
.identity:has(> .meta):not(:has(> svg)) .sq { background: #e6ede5; }
.identity:has(> .meta):not(:has(> svg)) a { color: #fffcf7; }

.identity:has(> .meta):not(:has(> svg)) + .finepr { border-top: 0; }

.heroline { gap: var(--space-4); margin-bottom: var(--space-4); }
.heroline h2 { font-size: var(--type-module); line-height: 1.15; }


.heroline:has(#hl-pt-computed) { background: var(--forest); border-radius: var(--radius-lg);
                                 padding: var(--space-6); align-items: center; flex-wrap: wrap; }
.heroline:has(#hl-pt-computed) h2 { color: #fffcf7; font-size: 36px; line-height: 1.12; }
.heroline:has(#hl-pt-computed) .seg { background: transparent; border-color: rgba(255,252,247,.35); }
.heroline:has(#hl-pt-computed) .seg-opt { color: #fffcf7; background: transparent;
                                           border: 1px solid rgba(255,252,247,.45); }
.heroline:has(#hl-pt-computed) .seg-opt:has(input:checked) { background: var(--color-accent);
                                                             color: #fff; font-weight: 600; }
.heroline:has(#hl-pt-computed) a { color: #fffcf7; }

.herocap { font-size: var(--type-meta); letter-spacing: 0; text-transform: none;
           color: var(--muted); }
.herocap .rule { background: var(--color-neutral-500); }
.thesis { font-size: var(--type-lede); line-height: 1.5; color: var(--color-neutral-800);
          max-width: 68ch; }
.sec { font-size: var(--type-module); margin: var(--space-8) 0 var(--space-3); }
.legend { font-size: var(--type-meta); color: var(--muted);
          gap: var(--space-4) var(--space-6); flex-wrap: wrap; }
.finepr { font-size: var(--type-meta); color: var(--muted); line-height: 1.5;
          border-top: 1px solid var(--color-divider); padding-top: var(--space-3); }


.table { font-size: var(--type-meta); }
.table th { text-transform: none; letter-spacing: 0; font-size: var(--type-micro);
            font-weight: 600; color: var(--forest); background: var(--soft);
            padding: 10px var(--space-3) 10px var(--space-3);
            border-bottom: 1px solid var(--color-divider); }
.table td { padding: 14px var(--space-3) 14px var(--space-3); border-bottom: 1px solid var(--row-rule); }
.table th:first-child, .table td:first-child { padding-left: var(--space-4); }
.table th:last-child, .table td:last-child { padding-right: var(--space-4); }
.table tbody tr:hover { background: var(--row-hover); }


.btn { font-family: var(--font-body); font-weight: 600; font-size: var(--type-meta);
       height: 44px; padding: 0 16px; border-radius: var(--radius-md); gap: 8px;
       border: 1px solid var(--color-divider); line-height: 1.2;
       transition: background 150ms ease-out, border-color 150ms ease-out; }
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }
.btn-primary:hover { background: #87371f; border-color: #87371f; color: #fff; }
.btn-primary:active { background: var(--color-accent-900); border-color: var(--color-accent-900); }
.btn-secondary { border-color: var(--forest); color: var(--forest); background: transparent; }
.btn-secondary:hover { background: var(--soft); color: var(--forest); }
.btn-secondary:active { background: var(--color-neutral-400); }
.btn-ghost { border-color: transparent; color: var(--color-accent); }
.btn-block { width: 100%; max-width: 420px; }


.input { background: var(--color-surface); border: 1px solid var(--color-divider);
         border-radius: var(--radius-md); min-height: 44px; padding: 10px 12px;
         font-size: var(--type-body); color: var(--color-text); }
.input:hover { border-color: var(--color-neutral-600); }
.input:focus-visible { border-color: var(--forest); }
.input::placeholder { color: var(--color-neutral-600); }
.field { margin-bottom: var(--space-4); }
.field label, .field > label { display: block; font-size: var(--type-meta); letter-spacing: 0;
                               text-transform: none; color: var(--muted);
                               margin-bottom: 6px; }
.banner { padding: var(--space-3) var(--space-4); margin-bottom: var(--space-4);
          font-size: var(--type-body); background: var(--color-surface);
          border-radius: var(--radius-md); border: 1px solid var(--color-divider);
          border-left: 3px solid var(--forest); }
.banner.error { border-left-color: #a92e2e; }


.card { background: var(--color-surface); border: 1px solid var(--color-divider);
        border-radius: var(--radius-lg); padding: var(--space-6);
        gap: var(--space-2); }
.card-kicker { font-size: var(--type-micro); letter-spacing: .12em; text-transform: uppercase;
               font-weight: 600; color: var(--color-accent); }
.card-title { font-family: var(--font-heading); font-size: var(--type-card); color: var(--forest); }
.card-body { font-size: var(--type-body); opacity: 1; color: var(--color-neutral-800); }
.card-meta { font-size: var(--type-meta); color: var(--muted); }


.tag { font-size: var(--type-micro); font-weight: 600; letter-spacing: 0;
       padding: 6px 10px; border-radius: var(--radius-pill); }
.tag-accent { background: var(--sage); color: var(--status-live-ink); }
.tag-accent-2 { background: var(--sage); color: var(--status-live-ink); }
.tag-neutral { background: var(--soft); color: var(--color-neutral-800); }
.tag-outline { border: 1px solid var(--color-neutral-500); color: var(--color-neutral-800); }
.chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px;
        font-size: var(--type-micro); font-weight: 600; border-radius: var(--radius-pill);
        white-space: nowrap; }
.chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; flex: none;
                background: currentColor; }
.chip-live { background: var(--status-live-bg); color: var(--status-live-ink); }
.chip-live::before { background: var(--status-live-dot); }
.chip-soon { background: var(--status-soon-bg); color: var(--status-soon-ink); }
.chip-soon::before { background: var(--status-soon-dot); }
.chip-ended { background: var(--status-ended-bg); color: var(--status-ended-ink); }
.chip-ended::before { background: var(--status-ended-dot); }
.chip-unknown { background: var(--status-none-bg); color: var(--status-none-ink); }
.chip-unknown::before { background: var(--status-none-dot); }


.seg { border: 0; border-radius: 0; padding: 0; gap: 8px; overflow: visible;
       background: transparent; flex-wrap: wrap; max-width: 100%; }
.seg-opt { padding: 8px 16px; font-size: var(--type-meta); border-radius: var(--radius-pill);
           white-space: nowrap; background: var(--soft); color: var(--forest);
           min-height: 36px; display: inline-flex; align-items: center; }
.seg-opt + .seg-opt { border-left: 0; }
a.seg-opt.on, a.seg-opt.on:hover, label.seg-opt:has(input:checked) { background: var(--color-accent);
                                   color: #fff; font-weight: 600; }
a.seg-opt:hover { background: var(--color-neutral-400); }

.seg:has(> a.seg-opt) { gap: 0 var(--space-6); border-bottom: 1px solid var(--rule);
                        min-height: 48px; align-items: stretch; width: 100%; }
.seg > a.seg-opt { background: transparent; border-radius: 0; padding: 12px 2px;
                   color: var(--forest); text-decoration: none; min-height: 48px;
                   border-bottom: 2px solid transparent; margin-bottom: -1px; }
.seg > a.seg-opt.on, .seg > a.seg-opt.on:hover { background: transparent; color: var(--forest);
                                                 border-bottom-color: var(--color-accent); }
.seg > a.seg-opt:hover { background: transparent; border-bottom-color: var(--color-neutral-500); }


.stats { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
         gap: 0; margin-bottom: var(--space-6); padding: var(--space-6) 0;
         border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.stats > .stat { padding: 0 var(--space-6); border-left: 1px solid var(--rule); text-align: center; }
.stats > .stat:first-child { border-left: 0; }
.stat .n { font-family: var(--font-heading); font-size: var(--type-headline);
           line-height: 1.1; color: var(--forest); }
.stat .l { font-size: var(--type-micro); letter-spacing: .12em; text-transform: uppercase;
           color: var(--muted); margin-top: 6px; }
.stat .d { display: block; font-size: var(--type-meta); color: var(--muted);
           text-transform: none; letter-spacing: 0; }
.stat.alarm .n, .stat.alarm .l { color: var(--forest); }


.barrule { color: var(--forest); }

.barrule { position: relative; z-index: 1; background: var(--chart-base); padding: 0 3px; }
.mstone { font-size: var(--type-chart); line-height: 15px; }

.mstone { z-index: 1; }
.mstone b, .mstone .num { background: var(--color-surface); padding: 0 2px; }


.facts { background: var(--color-surface); border: 1px solid var(--color-divider);
         border-radius: var(--radius-lg); padding: var(--space-6) 0; gap: 0 !important; }
.fact { border-top: 0; border-left: 1px solid var(--rule); padding: 0 var(--space-6); }
.fact:first-child { border-left: 0; }
.fact .v { font-family: var(--font-heading); font-size: 30px; line-height: 1.15; color: var(--forest); }
.fact .l { font-size: var(--type-micro); letter-spacing: .12em; text-transform: uppercase;
           color: var(--muted); margin-top: 6px; }
.fact .n { font-size: var(--type-meta); color: var(--muted); margin-top: 6px; }
.pfacts { font-size: var(--type-body); color: var(--color-neutral-800); }
.pfacts b { font-weight: 600; color: var(--forest); }


.rail { gap: var(--space-6); }
.rail .agenda { border-top: 1px solid var(--rule); padding-top: var(--space-3); }
.agenda .when { font-family: var(--font-body); font-weight: 600; font-size: var(--type-micro);
                min-width: 64px; color: var(--muted); letter-spacing: .08em; text-transform: uppercase; }
.agenda .row.next .when { color: var(--color-accent); }
.agenda .what { font-size: var(--type-body); }
.body2 { gap: var(--space-8); border-top: 0; }

.week.stamp { font-size: var(--type-meta); color: var(--muted);
              margin: var(--space-3) 0 0; }
.rowfacts { font-size: var(--type-meta) !important; color: var(--muted); }
.notable .ttl { font-family: var(--font-heading); font-size: var(--type-section); color: var(--forest); }
.notable .pn { font-size: var(--type-meta); }
.notable .imp { font-size: var(--type-body); color: var(--color-neutral-800); }
.record { padding: var(--space-4); }
.record .ttl { font-family: var(--font-heading); font-size: var(--type-section); color: var(--forest); }
.record .pn { font-size: var(--type-meta); }
.record .work { font-size: var(--type-meta); }
.gantt-row { font-size: var(--type-meta); }
.gantt-title { color: var(--color-neutral-800); }


.foot { border-top: 1px solid var(--rule); padding: 64px 0 32px; margin-top: 64px;
        gap: var(--space-3) var(--space-8);
        font-size: var(--type-meta); color: var(--color-neutral-800); align-items: baseline; }
.foot a { color: var(--forest); }
.foot a:hover { color: var(--color-accent); }
.foot .row { gap: var(--space-3) var(--space-6); }
.footmark { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
            font-size: 24px; color: var(--forest); flex: none; }
.foot .last { flex-basis: 100%; margin-left: 0; border-top: 1px solid var(--rule);
              padding-top: var(--space-4); color: var(--muted); }


.legalindex .thesis { max-width: 760px; }
.legalcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px;
              max-width: 760px; margin-top: 24px; }
.legalcard { display: block; background: var(--color-surface); border: 1px solid var(--color-divider);
             border-radius: var(--radius-lg); padding: 24px; font-family: var(--font-heading);
             font-size: var(--type-lede); font-weight: 600; color: var(--forest); text-decoration: none; }
.legalcard:hover { border-color: var(--forest); color: var(--forest); }
@media (max-width: 767px) { .legalcards { grid-template-columns: minmax(0, 1fr); } }


.homehead { gap: 14px 26px; min-height: 80px; align-items: center; }
.homehead .trust { font-size: var(--type-meta); color: var(--muted);
                   border-left: 1px solid var(--rule); padding-left: 18px;
                   white-space: nowrap; flex: none; }
.homenav { display: flex; gap: var(--space-3) 24px; flex-wrap: wrap;
           margin-left: auto; justify-content: flex-end; min-width: 0; }
.homenav a { color: var(--forest); text-decoration: none; font-size: var(--type-meta); }
.homenav a:hover { color: var(--color-accent); text-decoration: underline; }
.homehead .btn { flex: none; }

.hero { padding: 64px 0 36px; max-width: 900px; }
.hero h1 { font-size: clamp(40px, 5vw, 64px); line-height: 1.04;
           letter-spacing: -.025em; margin: 0 0 var(--space-4); text-wrap: pretty; }
.hero h1 em { font-style: italic; font-weight: 500; }
.hero .sub { font-size: var(--type-lede); color: var(--color-neutral-800);
             margin: 0 0 24px; max-width: 58ch; }

.vh { position: absolute; width: 1px; height: 1px; overflow: hidden;
      clip-path: inset(50%); white-space: nowrap; }
.herosearch { display: flex; flex-wrap: wrap; max-width: 780px; margin: 0;
              border: 1px solid var(--color-divider); border-radius: var(--radius-md);
              overflow: hidden; background: var(--color-surface); }
.herosearch .input { flex: 1 1 260px; min-width: 0; height: 60px; border: 0;
                     border-radius: 0; font-size: var(--type-prose); padding: 0 18px; }
.herosearch .btn { height: 60px; border-radius: 0; border: 0; flex: 0 0 140px;
                   font-size: var(--type-body); font-weight: 600; }
.tryrow { display: flex; gap: var(--space-2) var(--space-3); margin-top: var(--space-4);
          font-size: var(--type-meta); flex-wrap: wrap; align-items: center; }

.prov-strip { display: flex; gap: 10px 28px; flex-wrap: wrap; margin-top: 28px;
              font-size: var(--type-meta); color: var(--color-neutral-800); }
.prov-strip b { font-weight: 600; }

.tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
         gap: var(--space-2) var(--space-8); padding: var(--space-2) 0 var(--space-6); }
.tile { display: flex; gap: var(--space-4); padding: 6px 0; min-width: 0; }
.tile svg { flex: none; margin-top: 6px; }
.tile .n { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
           font-size: var(--type-headline); line-height: 1.1; color: var(--forest); }
.tile .l { font-size: var(--type-body); margin-top: 2px; }
.tile .d { font-size: var(--type-meta); color: var(--muted); }

.benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 28px 40px; padding: 20px 0 48px; }
.benefits > div { border-top: 1px solid var(--rule); padding-top: var(--space-4);
                  color: var(--color-neutral-800); }
.benefits .t { font-family: var(--font-heading); font-weight: var(--font-heading-weight);
               font-size: var(--type-lede); color: var(--forest); margin-bottom: 4px; }

.homerow { display: flex; flex-wrap: wrap; gap: var(--space-6); align-items: stretch;
           margin-bottom: var(--space-6); }
.homerow > .module { flex: 1000 1 700px; min-width: 0; }
.homerow > .module.fit { align-self: flex-start; }
.homerow > .rail { flex: 1 1 320px; min-width: 0; flex-direction: row; flex-wrap: wrap;
                   align-content: stretch; }
.homerow > .rail > * { flex: 1 1 280px; min-width: 0; }
.module { background: var(--color-surface); border: 1px solid var(--color-divider);
          border-radius: var(--radius-lg); padding: var(--space-6);
          display: flex; flex-direction: column; }
.module > p { font-size: var(--type-body); color: var(--color-neutral-800);
              margin: 0 0 var(--space-4); }
.module .kicker { font-size: var(--type-micro); color: var(--color-accent); font-weight: 600;
                  letter-spacing: .12em; text-transform: uppercase; margin-bottom: 6px; }
.module .modtitle { font-size: var(--type-card); margin: 0 0 var(--space-3); }
.module .btn { align-self: flex-start; margin-top: auto; text-decoration: none; }
.module .fine { font-size: var(--type-meta); color: var(--muted);
                margin: var(--space-4) 0 0; }
.modhead { display: flex; align-items: center; gap: var(--space-3) 22px;
           flex-wrap: wrap; margin-bottom: var(--space-2); }
.modhead h2 { font-size: var(--type-module); margin: 0; }
.modhead .more { margin-left: auto; }
.module .more { font-size: var(--type-meta); margin: var(--space-3) 0 0; }
.module .win { font-size: var(--type-meta); color: var(--muted);
               margin: 0 0 var(--space-2); }
.module .agenda { border-top: 0; padding-top: 0; }

.weekcard .kicker { margin: 0 0 var(--space-3); font-family: var(--font-body); line-height: 1.5; }
.weekcard .weekline { display: flex; align-items: baseline; gap: var(--space-3);
                      margin: 0 0 var(--space-2); font-size: var(--type-body); }
.weekcard .weekline .n { font-family: var(--font-heading); font-size: var(--type-card);
                         color: var(--forest); min-width: 4.5ch; }

.weekcard .fine { margin-top: auto; padding-top: var(--space-2); }

.tabs { align-self: center; }
.tabs .seg-opt { cursor: pointer; }
.tabinput { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.tabpanel { display: none; }
#live-expiring-soon:checked ~ [data-tab="expiring-soon"],
#live-just-lapsed:checked ~ [data-tab="just-lapsed"],
#live-newest-additions:checked ~ [data-tab="newest-additions"] { display: block; }
.tabs-body:has(#live-expiring-soon:checked) ~ * .seg-opt[for="live-expiring-soon"],
.tabs-body:has(#live-just-lapsed:checked) ~ * .seg-opt[for="live-just-lapsed"],
.tabs-body:has(#live-newest-additions:checked) ~ * .seg-opt[for="live-newest-additions"] {
  background: var(--color-accent); color: #fff; font-weight: 600; }
.module:has(#live-expiring-soon:checked) .seg-opt[for="live-expiring-soon"],
.module:has(#live-just-lapsed:checked) .seg-opt[for="live-just-lapsed"],
.module:has(#live-newest-additions:checked) .seg-opt[for="live-newest-additions"] {
  background: var(--color-accent); color: #fff; font-weight: 600; }
.tabinput:focus-visible + .tabinput + .tabinput ~ * .seg-opt,
.module:has(.tabinput:focus-visible) .seg { outline: 2px solid var(--forest);
                                            outline-offset: 3px; }


.table td.bar { width: 38%; padding-left: var(--space-4); }
.table .track { height: 14px; background: var(--sage); border-radius: 2px; }
.table .track > div { height: 14px; background: var(--color-accent-2-500); border-radius: 2px; }

.tierrow { display: grid; grid-template-columns: 84px minmax(0, 1fr);
           gap: var(--space-2) var(--space-3); align-items: start;
           font-size: var(--type-body); margin-bottom: var(--space-3); }
.tierrow .tag { justify-content: center; }

table.liverow { min-width: 0; }
table.liverow td.col-holder, table.liverow th.col-holder { width: 18%; }
table.liverow td.col-term, table.liverow th.col-term { width: 1%; white-space: nowrap;
                                                       text-align: right; }
table.liverow td.col-title, table.liverow th.col-title { width: auto; }
table.liverow .chip { align-items: flex-start; text-align: right; border-radius: var(--radius-md); }
table.liverow .chip::before { margin-top: .42em; }
table.liverow .chip [data-tpf-rel], table.listrow td.num > time > [data-tpf-rel] { display: block; }

table.liverow .chip [data-tpf-sep],
table.listrow td.num > time > [data-tpf-rel] > [data-tpf-sep] { display: none; }
table.liverow td.rowaside, table.liverow th.rowaside { display: table-cell; }
@media (max-width: 720px) {
  table.liverow td.rowaside, table.liverow th.rowaside { display: none; }
}


.hero2 { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px;
         max-width: none; align-items: start; padding: 64px 0 48px; }
.hero2 h1 { font-size: clamp(40px, 4.1vw, 64px); }
.hero2 h1 em { display: inline; font-style: italic; font-weight: 500; }
.herotext { min-width: 0; }
.tryrow a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 16px;
            border-radius: var(--radius-pill); background: var(--soft); color: var(--forest);
            text-decoration: none; font-size: var(--type-meta); }
.tryrow a:hover { background: var(--color-neutral-400); color: var(--forest); }
.tryrow .text-muted { font-size: var(--type-micro); letter-spacing: .12em; text-transform: uppercase;
                      margin-right: 4px; }
.herovis { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 24px;
           align-items: start; min-width: 0; }
.herofig { margin: 0; }

.herofig-stage { height: 280px; display: flex; align-items: center; justify-content: center; }
.herofig-stage img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
@media (max-width: 1199px) { .herofig-stage { height: 240px; } }
@media (max-width: 999px) { .herofig-stage { height: 220px; } }
@media (max-width: 599px) { .herofig-stage { height: 180px; } }
.herofig figcaption { margin-top: 12px; font-size: var(--type-meta); color: var(--muted); }
.herofig figcaption b { display: block; font-family: var(--font-heading); font-size: var(--type-body);
                        color: var(--forest); font-weight: 600; }
.herofig figcaption a { color: var(--muted); }
.preview { background: var(--color-surface); border: 1px solid var(--color-divider);
           border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg);
           container-type: inline-size; }
@container (max-width: 330px) { .pv-n { visibility: hidden; } }
.pv-head { background: var(--forest); color: #fffcf7; display: flex; align-items: center;
           gap: 12px; padding: 16px 20px; flex-wrap: wrap; }
.pv-mono { display: inline-flex; align-items: center; justify-content: center; flex: none;
           width: 40px; height: 40px; border-radius: var(--radius-md); background: var(--sage);
           color: var(--forest); font-family: var(--font-heading); font-size: var(--type-body); }
.pv-name { font-family: var(--font-heading); font-size: var(--type-lede); font-weight: 600;
           color: #fffcf7 !important; text-decoration: none; flex: 1 1 auto; min-width: 0; }

.pv-count { text-align: right; font-size: var(--type-micro); letter-spacing: .08em;
            text-transform: uppercase; color: #e6ede5; margin-left: auto; }
.pv-count b { display: block; font-family: var(--font-heading); font-size: 24px; letter-spacing: 0;
              text-transform: none; color: #fffcf7; font-weight: 600; }
.pv-body { padding: 16px 20px 20px; }
.pv-title { font-size: var(--type-meta); font-weight: 600; color: var(--forest); margin-bottom: 8px; }
.pv-chart { list-style: none; margin: 0; padding: 0; display: grid;
            grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; height: 150px;
            border-bottom: 1px solid var(--rule); }
.pv-chart li { display: flex; flex-direction: column; justify-content: flex-end; align-items: center;
               min-width: 0; height: 100%; }

.pv-bar { display: block; width: 70%; background: var(--color-accent-2-500); border-radius: 2px 2px 0 0;
          flex: none; height: calc((100% - 30px) * var(--h, 0) / 100); }
.pv-n { font-size: 10px; color: var(--muted); margin-bottom: 2px; white-space: nowrap; }
.pv-y { font-size: 10px; color: var(--muted); margin-top: 4px; position: relative; top: 18px; }
.pv-next { margin: 26px 0 8px; font-size: var(--type-meta); color: var(--muted); }
.pv-next b { color: var(--forest); }

.features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
            border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
            padding: 24px 0; margin: 16px 0 64px; }
.feat { display: flex; gap: 16px; padding: 0 24px; border-left: 1px solid var(--rule);
        color: var(--muted); font-size: var(--type-meta); line-height: 1.5; }
.feat:first-child { border-left: 0; padding-left: 0; }
.feat .t { font-family: var(--font-heading); font-weight: 600; font-size: var(--type-lede);
           color: var(--forest); margin-bottom: 4px; }
.feat-ic { flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--soft);
           color: var(--forest); display: inline-flex; align-items: center; justify-content: center; }

.discover { margin: 0 0 64px; }
.discover .modhead { align-items: flex-end; margin-bottom: 16px; }
.discover h2 { font-size: 44px; line-height: 1.1; }
.eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
           color: var(--color-accent); margin-bottom: 8px; }
.disc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.disc-card { background: var(--color-surface); border: 1px solid var(--color-divider);
             border-radius: var(--radius-lg); padding: 22px; display: flex; flex-direction: column; }
.disc-top { display: flex; gap: 12px; align-items: flex-start; }
.disc-top h3 { font-size: var(--type-card); margin: 0; }
.disc-top h3 a { color: var(--forest); text-decoration: none; }
.disc-top h3 a:hover { color: var(--color-accent); text-decoration: underline; }
.disc-sub { font-size: var(--type-micro); color: var(--muted); margin-top: 4px; line-height: 1.4; }
.disc-stage { aspect-ratio: 376 / 244; margin: 16px 0; display: flex; align-items: center;
              justify-content: center; }
.disc-stage img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.disc-foot { margin-top: auto; border-top: 1px solid var(--rule); padding-top: 14px; display: flex;
             gap: 8px 16px; flex-wrap: wrap; justify-content: space-between; font-size: var(--type-meta); }
.disc-foot a:first-child { color: var(--muted); }

@media (max-width: 1199px) {
  .hero2 { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .herovis { max-width: 640px; }
  .disc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


:root {
  --tier-high-color: #2e7d32;  --tier-high-ink: #286e2c;  --tier-high-tint: #e4ebdd;  --tier-high-line: #abc9a8;
  --tier-medium-color: #e39a12; --tier-medium-ink: #885c0b; --tier-medium-tint: #fbefd9; --tier-medium-line: #f4d59b;
  --tier-medium-icon: #b1780e;
  --tier-low-color: #d33a2c;   --tier-low-ink: #b13125;   --tier-low-tint: #f9e3dd;   --tier-low-line: #edaea6;
  --space-6: 20px;
  --space-8: 26px;
}
.tier-high:not(.gantt-bar), .tier-medium:not(.gantt-bar), .tier-low:not(.gantt-bar) {
  display: inline-flex; align-items: center; gap: 4px; padding: 0 8px 0 5px;
  border: 1px solid; border-radius: var(--radius-pill); font-weight: 600;
  font-size: .86em; line-height: 1.55; white-space: nowrap; vertical-align: baseline; }
.tier-high:not(.gantt-bar)::before, .tier-medium:not(.gantt-bar)::before,
.tier-low:not(.gantt-bar)::before {
  content: ""; flex: none; width: 12px; height: 12px;
  -webkit-mask: var(--tier-icon) center / contain no-repeat; mask: var(--tier-icon) center / contain no-repeat; }
.tier-high:not(.gantt-bar) { color: var(--tier-high-ink); background: var(--tier-high-tint); border-color: var(--tier-high-line);
  --tier-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.7 5.3-4.5 5.5a1 1 0 0 1-1.5.1L3.3 8.6l1.4-1.4 1.6 1.6 3.8-4.6z'/%3E%3C/svg%3E"); }
.tier-high:not(.gantt-bar)::before { background: var(--tier-high-color); }
.tier-medium:not(.gantt-bar) { color: var(--tier-medium-ink); background: var(--tier-medium-tint); border-color: var(--tier-medium-line);
  --tier-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm0 2a6 6 0 0 1 0 12z'/%3E%3C/svg%3E"); }
.tier-medium:not(.gantt-bar)::before { background: var(--tier-medium-icon); }
.tier-low:not(.gantt-bar) { color: var(--tier-low-ink); background: var(--tier-low-tint); border-color: var(--tier-low-line);
  --tier-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 .8 0 15h16zm-1 5h2v4.5H7zm0 5.7h2v2H7z'/%3E%3C/svg%3E"); }
.tier-low:not(.gantt-bar)::before { background: var(--tier-low-color); }
.hero2 { padding: 36px 0 28px; }
.hero2 h1 em { font-style: normal; font-weight: inherit; color: var(--color-accent); }


@media (max-width: 1199px) {
  .page { padding: 0 32px 40px; }
}
@media (max-width: 767px) {
  .page { padding: 0 20px 32px; }
  :root { --type-identity: 32px; --type-module: 26px; --type-card: 20px; --type-headline: 30px; }
  .topbar { min-height: 64px; padding: 10px 0 12px; }
  .brandmark { font-size: 22px; }
  .topbar form { max-width: none; flex-basis: 100%; order: 3; }
  .hero { padding: 32px 0 24px; }
  .hero .sub { font-size: var(--type-prose); margin-bottom: 20px; }
  .herosearch .input, .herosearch .btn { height: 52px; flex-basis: 100%; }
  .herosearch .btn { border-top: 1px solid var(--color-divider); }
  .homehead .trust { display: none; }
  .homenav { flex-basis: 100%; justify-content: flex-start; order: 3;
             margin-left: 0; gap: var(--space-2) 20px; }
  .homehead .brandmark { margin-right: auto; }
  .modhead .more { margin-left: 0; flex-basis: 100%; }
  .tabs { align-self: flex-start; }
  .module { padding: 20px; }
  .identity { padding: 24px 0 var(--space-3); }
  .identity:has(> .meta):not(:has(> svg)) { padding: 20px; }
  .identity:has(> .meta):not(:has(> svg)) .meta { margin-left: 0; margin-top: 0; }
  .identity:has(> .sq):has(> .meta):not(:has(> svg)) .meta { margin-left: 0; }
  .identity .sq { width: 44px; height: 44px; font-size: var(--type-body); }
  .identity h1, .identity h1.name-md { font-size: var(--type-identity); }
  .identity h1.name-lg { font-size: var(--type-section); }
  .heroline:has(#hl-pt-computed) h2 { font-size: 28px; }
  .heroline h2, .sec { font-size: var(--type-module); }
  .thesis { font-size: var(--type-prose); }
  .seg > a.seg-opt { padding: 12px 0; }
  
  .seg:has(> a.seg-opt) { gap: 0 var(--space-4); flex-wrap: wrap; }
  
  .seg:has(> a.seg-opt) { gap: 0; border-bottom: 0; }
  .seg > a.seg-opt { flex: 1 0 auto; padding-right: var(--space-4); margin-bottom: 0;
                     border-bottom: 1px solid var(--rule); }
  .seg > a.seg-opt.on, .seg > a.seg-opt.on:hover { border-bottom: 2px solid var(--color-accent); }
  
  .stats { display: grid !important; grid-template-columns: 1fr 1fr; padding: 0; }
  .stats > .stat { padding: var(--space-4) var(--space-3); border-left: 0;
                   border-bottom: 1px solid var(--rule); }
  .stats > .stat:nth-child(even) { border-left: 1px solid var(--rule); }
  .facts { padding: 0; }
  .fact { border-left: 0; border-bottom: 1px solid var(--rule); padding: var(--space-4); }
  .fact:last-child, .fact:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
  
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fact:last-child:nth-child(odd), .stats > .stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .fact .v { font-size: 22px; }
  .table th, .table td { padding-left: 8px; padding-right: 8px; }
  .table th:first-child, .table td:first-child { padding-left: 10px; }
  .table th:last-child, .table td:last-child { padding-right: 10px; }
  .topbar .navmenu > span:last-child { margin-left: 0 !important; }
  .foot { padding: 40px 0 24px; margin-top: 40px; }
  .hero2 { padding: 32px 0 24px; }
  .herovis { grid-template-columns: minmax(0, 1fr); }
  .features { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .feat { border-left: 0; padding: 0; }
  .discover h2 { font-size: 32px; }
  .disc-grid { grid-template-columns: minmax(0, 1fr); }
}


@media (min-width: 600px) {
  .hero2 { padding: 40px 0 32px; }
  .herovis { align-items: stretch; }
  .herofig { display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; }
  .herofig-stage { flex: 1 1 0; height: auto !important; min-height: 200px; position: relative; }
  .herofig-stage img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none;
                       max-height: none; object-fit: contain; object-position: center bottom; }
  .herofig figcaption { margin-top: 10px; margin-bottom: -2px; }
  .herofig figcaption b { line-height: 1.3; }
  .prov-strip { margin-top: 18px; gap: 6px 24px; }
  .tiles { padding: 0 0 20px; }
  .features { margin: 4px 0 40px; padding: 20px 0; }
  .discover { margin: 0 0 40px; }
  .discover h2 { font-size: 36px; }
  .disc-card { padding: 18px; }
  .disc-stage { margin: 10px 0; }
  .homerow { margin-bottom: 20px; gap: 20px; }
  .rail { gap: 20px; }
  .homerow > .rail .module .btn { margin-top: 16px; }
  
  .homerow + .homerow > .module, .homerow + .homerow > .rail { flex: 1 1 100%; }
  .homerow + .homerow > .rail > * { flex: 1 1 300px; }
  .foot { margin-top: 24px; padding-top: 32px; }
}

@media (min-width: 1200px) {
  .hero2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: stretch; }
  .hero2 h1 { font-size: 48px; }
  .herotext { display: flex; flex-direction: column; }
  .herotext .prov-strip { margin-top: auto; padding-top: 18px; row-gap: 6px; }
  .herofig figcaption a, .prov-strip > span { line-height: 1.3; }
  .herovis { grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr); gap: 20px; }
  .herovis .preview { align-self: end; }
  
  .homerow:not(.homerow + .homerow) > .rail { flex-direction: column; flex-wrap: nowrap; }
  .homerow:not(.homerow + .homerow) > .rail > * { flex: 0 0 auto; }
  .homerow:not(.homerow + .homerow) > .rail > .weekcard { flex: 1 1 0; min-height: 0;
                                                         flex-wrap: wrap; overflow: hidden;
                                                         column-gap: calc(var(--space-6) + 1px); }
  .homerow:not(.homerow + .homerow) > .rail > .weekcard > * { width: 100%; }
}

@media (min-width: 600px) and (max-width: 1199px) {
  .hero2 { gap: 24px; }
  .herovis { max-width: none; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
  .hero2 .prov-strip { display: block; font-size: 13px; line-height: 1.6; color: var(--muted); }
  .hero2 .prov-strip > span { display: inline; }
  .hero2 .prov-strip > span + span::before { content: "\00a0·\00a0"; }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
}
@media (min-width: 900px) and (max-width: 1199px) {
  .tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .tile .n { font-size: 28px; }
}
@media (min-width: 720px) {
  .disc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px; }
}
@media (min-width: 600px) and (max-width: 1023px) {
  .disc-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 14px; }
  .disc-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
               grid-template-areas: "top stage" "foot stage"; gap: 0 24px; align-items: start; }
  .disc-top { grid-area: top; }
  .disc-stage { grid-area: stage; margin: 0; aspect-ratio: auto; height: 200px; }
  .disc-foot { grid-area: foot; align-self: end; }
  .features { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .feat { border-left: 0; padding: 0; }
}


.home2 { --ink2: #1d2420; --band2: #efe7db; color: var(--ink2); font-size: 14.5px; line-height: 1.45; }
.home2 a { color: var(--forest); }
.home2 a:hover { color: var(--forest); text-decoration-thickness: 2px; }
.home2 h1, .home2 h2, .home2 h3 { color: var(--ink2); }
.home2 .sm { font-size: 12.5px; color: var(--muted); font-family: var(--font-body); font-weight: 400; }
.home2 .sec { font-size: 19px; margin: 0 0 6px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.home2 .sec a { font-family: var(--font-body); font-size: 12.5px; font-weight: 400; }
.home2 .smallprint { font-size: 12.5px; color: var(--muted); margin: 6px 0 0; }


.homehead { min-height: 0; padding: 12px 0; gap: 6px 22px; }
.homehead .trust { display: none; }
.homehead .homenav { margin-left: 0; flex: 1; justify-content: flex-start; gap: 4px 18px; }
.homehead .homenav a { color: var(--ink2, #1d2420); font-size: 14px; }
.homehead .homenav a:hover { color: var(--forest); text-decoration: underline; }
.homehead .btn { font-size: 13.5px; padding: 4px 12px; min-height: 0; height: auto; border-radius: 4px; }


.home2 .hero3 { display: grid; grid-template-columns: minmax(0, 1fr) 190px minmax(0, 300px); gap: 24px;
                align-items: center; max-width: none; padding: 18px 0 14px; }
.home2 .herotext { min-width: 0; }
.home2 .herolbl { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);
                  font-weight: 600; }
.home2 .hero3 h1 { font-size: clamp(34px, 4.6vw, 50px); line-height: 1.03; margin: 4px 0 0;
                   color: var(--ink2); font-weight: 600; }
.home2 .hero3 h1 em { display: inline; font-style: normal; font-weight: inherit; color: var(--color-accent); }
.home2 .hero3 .sub { font-size: 17px; color: var(--muted); margin: 8px 0 12px; }
.home2 .herosearch { max-width: 520px; border-radius: 4px; }
.home2 .herosearch .input { height: 38px; font-size: 14.5px; padding: 0 12px; }
.home2 .herosearch .btn { height: 38px; flex: 0 0 auto; padding: 0 18px; background: var(--forest);
                          border-color: var(--forest); color: var(--color-surface); }
.home2 .tryrow { display: block; font-size: 12.5px; color: var(--muted); margin-top: 6px; }

.keep { white-space: nowrap; }

.tkp { display: inline-flex; align-items: center; gap: 6px; }
.home2 .tryrow a { display: inline; min-height: 0; padding: 0; border-radius: 0; background: none;
                   color: var(--forest); font-size: inherit; text-decoration: underline; }
.home2 .herovis { display: block; min-width: 0; }
.home2 .herofig { margin: 0; display: block; }
.home2 .herofig-stage { height: 190px; position: static; display: flex; align-items: center; justify-content: center; }
.home2 .herofig-stage img { position: static; max-height: 190px; max-width: 100%; width: auto; height: auto; }
.home2 .herofig figcaption { font-size: 11.5px; line-height: 1.4; color: var(--muted); margin: 4px 0 0; }
.home2 .herofig figcaption b { display: inline; font-family: inherit; font-size: inherit; font-weight: 400;
                               color: inherit; }
.home2 .herofig figcaption a { color: var(--muted); }



.home2 .weekcard { background: var(--color-surface); border: 1px solid var(--rule); border-radius: 0;
                   padding: 12px 14px; display: grid; grid-template-columns: max-content minmax(0, 1fr);
                   column-gap: 10px; align-items: baseline; box-shadow: none; }
.home2 .weekcard > .kicker, .home2 .weekcard > .fine { grid-column: 1 / -1; }
.home2 .weekcard .kicker { font-family: var(--font-body); font-size: 11px; letter-spacing: .08em;
                           text-transform: uppercase; color: var(--muted); font-weight: 600; margin: 0 0 4px; }
.home2 .weekcard .weekline { display: contents; font-size: 14.5px; }
.home2 .weekcard .weekline > * { margin: 2px 0; }
.home2 .weekcard .weekline .n { font-family: var(--font-heading); font-size: 26px; font-weight: 600;
                                color: var(--ink2); text-align: right; min-width: 0;
                                font-variant-numeric: tabular-nums; }
.home2 .weekcard .weekline a { color: var(--ink2); text-decoration: none; }
.home2 .weekcard .weekline a:hover { text-decoration: underline; }
.home2 .weekcard .fine { font-size: 12.5px; color: var(--muted); margin: 4px 0 0; padding: 0; }


.home2 .hero3.heroband { display: block; background: var(--forest); color: #f6f1e7;
                         box-shadow: 0 0 0 100vmax var(--forest); clip-path: inset(0 -100vmax);
                         padding: 34px 0 30px; margin: 0 0 14px; }
.home2 .heroband-in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
                      gap: 28px 44px; align-items: center; }
.home2 .heroband .herolbl { color: #d9b58a; }
.home2 .heroband h1 { color: #f6f1e7; font-size: clamp(38px, 5.2vw, 62px); line-height: 1.02; margin: 8px 0 0; }
.home2 .heroband h1 em { color: #f6f1e7; font-style: italic; font-weight: 500; }
.home2 .heroband .sub { color: rgba(246, 241, 231, .82); font-size: 17.5px; margin: 14px 0 18px; }
.home2 .heroband .herosearch { max-width: 560px; border: 0; background: transparent; gap: 10px; overflow: visible; }
.home2 .heroband .herosearch .input { height: 46px; font-size: 15px; padding: 0 14px; background: #fffcf7;
                                      border-radius: 4px; color: var(--ink2); }
.home2 .heroband .herosearch .btn { height: 46px; padding: 0 24px; background: var(--color-accent);
                                    border-color: var(--color-accent); color: #fffcf7; border-radius: 4px;
                                    font-size: 15px; }
.home2 .heroband .herosearch .btn:hover { background: var(--color-accent-500); border-color: var(--color-accent-500); }
.home2 .heroband .tryrow { color: rgba(246, 241, 231, .75); margin-top: 10px; }
.home2 .heroband .tryrow a { color: #f6f1e7; }
.home2 .heroband .herovis { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px;
                            min-width: 0; max-width: none; }
.home2 .herochart { margin: 0; padding: 14px 16px 12px; border: 1px solid rgba(246, 241, 231, .28);
                    border-radius: 4px; }
.home2 .herochart figcaption { display: grid; gap: 2px; margin: 0 0 12px; }
.home2 .herochart .hb-k { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #d9b58a;
                          font-weight: 600; }
.home2 .herochart .hb-t { font-family: var(--font-heading); font-size: 17px; line-height: 1.25; color: #f6f1e7; }
.home2 .hb-chart { list-style: none; margin: 0; padding: 0; display: grid;
                   grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 0 5px; align-items: end;
                   border-bottom: 1px solid rgba(246, 241, 231, .45); }
.home2 .hb-chart li { position: relative; display: flex; flex-direction: column; align-items: center;
                      justify-content: flex-end; min-width: 0; height: 132px; }
.home2 .hb-chart .hb-n { font-size: 10.5px; color: rgba(246, 241, 231, .85); font-variant-numeric: tabular-nums;
                         white-space: nowrap; margin-bottom: 3px; }
.home2 .hb-chart .hb-bar { display: block; width: 100%; background: #f6f1e7;
                           height: calc(var(--h, 1) * 1.1px); border-radius: 2px 2px 0 0; }
.home2 .hb-chart .hb-y { position: absolute; top: 100%; left: 0; right: 0; text-align: center;
                         font-size: 10.5px; color: #d9b58a; margin-top: 5px; }
.home2 .herochart .hb-note { font-size: 12px; line-height: 1.4; color: rgba(246, 241, 231, .72);
                             margin: 24px 0 0; }
@media (max-width: 899px) {
  .home2 .heroband-in { grid-template-columns: minmax(0, 1fr); }
  .home2 .hero3.heroband { padding: 24px 0 22px; }
  .home2 .heroband h1 { font-size: clamp(32px, 9vw, 44px); }
}
@media (max-width: 599px) {
  .home2 .hb-chart li { height: 120px; }
  .home2 .hb-chart .hb-n { display: none; }
  .home2 .hb-chart .hb-bar { height: calc(var(--h, 1) * 1px); }
  .home2 .hb-chart .hb-y { font-size: 9.5px; }
  .home2 .hb-chart li:nth-child(even) .hb-y { visibility: hidden; }
}


.home2 .ledger { border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: 7px 0; }
.home2 .ledger .tiles { display: flex; flex-wrap: wrap; gap: 2px 18px; align-items: baseline; padding: 0;
                        font-size: 13px; }
.home2 .ledger .tile { display: flex; flex-wrap: wrap; gap: 0 4px; align-items: baseline; padding: 0;
                       flex-direction: row; }
.home2 .ledger .tile .n { font-family: var(--font-heading); font-size: 17px; font-weight: 600;
                          line-height: 1.3; color: var(--ink2); margin: 0; }
.home2 .ledger .tile .l { font-size: 13px; margin: 0; color: var(--ink2); }
.home2 .ledger .tile.cadence .l::after { content: ":"; }
.home2 .ledger .prov-strip { display: inline; margin: 0; padding: 0; font-size: 13px; color: var(--muted); }


.home2 .homecols { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 22px;
                   margin-top: 16px; align-items: start; }
.home2 .board, .home2 .rail { min-width: 0; }

.home2 .rail { display: flex; flex-direction: column; gap: 18px; }
.home2 .rail > .weekcard { margin-top: auto; }

.home2 .seg.tabs { display: flex; gap: 0 4px; flex-wrap: wrap; font-size: 13.5px; margin: 0 0 8px;
                   background: none; border: 0; border-bottom: 1px solid var(--rule); padding: 0;
                   border-radius: 0; align-self: auto; }
.home2 .seg.tabs .seg-opt { background: var(--soft) !important; color: var(--forest) !important;
                            padding: 6px 14px; border: 1px solid var(--rule); border-bottom: 0;
                            border-radius: 4px 4px 0 0; font-weight: 500 !important; min-height: 34px;
                            margin-bottom: 0; cursor: pointer; }
.home2 .seg.tabs .seg-opt:hover { text-decoration: underline; }
.home2 .board:has(#live-expiring-soon:checked) .seg-opt[for="live-expiring-soon"],
.home2 .board:has(#live-just-lapsed:checked) .seg-opt[for="live-just-lapsed"],
.home2 .board:has(#live-newest-additions:checked) .seg-opt[for="live-newest-additions"] {
  background: var(--color-bg) !important; color: var(--ink2) !important; font-weight: 600 !important;
  box-shadow: inset 0 2px 0 var(--color-accent); margin-bottom: -1px; padding-bottom: 7px;
  text-decoration: none; cursor: default; }
@media (max-width: 599px) {
  .home2 .seg.tabs .seg-opt { min-height: 44px; padding: 6px 10px; flex: 1 1 auto; justify-content: center; }
}
.home2 .board:has(.tabinput:focus-visible) .seg { outline: 2px solid var(--forest); outline-offset: 3px; }
.home2 .tierkey { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; font-size: 12px;
                  color: var(--muted); margin: 0 0 6px; }
.home2 .tierkey > a { color: var(--muted); text-decoration: none; }
.home2 .tierkey .tk { margin-right: 4px; }
.home2 .board .win { font-size: 12px; color: var(--muted); margin: 0 0 2px; }
.home2 table.liverow { width: 100%; border-collapse: collapse; font-size: 13.5px; background: none; border: 0; }
.home2 table.liverow th { text-align: left; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase;
                          color: var(--muted); font-weight: 600; padding: 4px 6px; background: none;
                          border-bottom: 2px solid var(--ink2); }
.home2 table.liverow td { padding: 5px 6px; border-bottom: 1px solid var(--rule); vertical-align: top;
                          background: none; }
.home2 table.liverow tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--band2) 65%, transparent); }
.home2 table.liverow td.col-title .rownum { display: block; font-weight: 400; }
.home2 table.liverow td.col-title .rowtitle { font-size: 12.5px; color: var(--muted); line-height: 1.35; }
.home2 table.liverow td.col-holder a { color: var(--ink2); text-decoration: none; }
.home2 table.liverow td.col-holder a:hover { text-decoration: underline; }
.home2 table.liverow td.col-holder, .home2 table.liverow th.col-holder { width: 25%; }
.home2 table.liverow th.col-term, .home2 table.liverow td.col-term { text-align: right; white-space: nowrap; width: 1%; }
.home2 table.liverow td.col-term .chip { background: none; padding: 0; border: 0; border-radius: 0; gap: 0;
                                         color: var(--ink2); font-size: 13.5px; font-weight: 400; display: inline; }
.home2 table.liverow td.col-term .chip::before { display: none; }
.home2 table.liverow [data-tpf-rel] { display: none !important; }
.home2 table.liverow td.col-tier { width: 1%; white-space: nowrap; }
.home2 table.liverow td.num { text-align: right; font-variant-numeric: tabular-nums; }
.home2 .board .week.stamp { font-size: 12.5px; color: var(--muted); margin: 6px 0 0; }
.home2 .board .more, .home2 .rail .more { font-size: 12.5px; margin: 4px 0 0; }
.home2 .portfolios table.liverow td { padding: 5px 6px; }
.home2 .portfolios table.liverow td.col-title a { color: var(--ink2); text-decoration: none; }
.home2 .portfolios table.liverow td.col-title a:hover { text-decoration: underline; }
.home2 .portfolios table.liverow tbody tr:nth-child(odd) td { background: color-mix(in srgb, var(--band2) 65%, transparent); }
.home2 .portfolios table.liverow tbody tr:nth-child(even) td { background: none; }
.home2 .changes .agenda { border: 0; padding: 0; }
.home2 .changes .agenda h2 { font-size: 19px !important; margin: 0 0 6px !important; }
.home2 .changes .agenda > div:first-child { margin-bottom: 0 !important; }
.home2 .changes .agenda .row { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 6px 10px;
                               padding: 2px 0; border: 0; font-size: 13px; }
.home2 .changes .agenda .when { font-family: var(--font-body); font-weight: 600; font-size: 13px;
                                letter-spacing: 0; text-transform: none; color: var(--ink2); min-width: 0; }
.home2 .changes .agenda .what { font-size: 13px; }
.home2 .changes .agenda .what b { font-weight: 400; }


.home2 .discover { margin: 20px 0 0; }
.home2 .disc-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px; }
.home2 .disc-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; align-items: stretch;
                    grid-template-areas: none; background: var(--color-surface); border: 1px solid var(--rule);
                    border-radius: 0; padding: 12px 14px; box-shadow: none; }
.home2 .disc-stage { grid-area: auto; display: flex; align-items: flex-start; justify-content: center; height: auto;
                     aspect-ratio: auto; margin: 0; }
.home2 .disc-stage img { max-height: 96px; max-width: 100%; width: auto; height: auto; }

.home2 .disc-body { min-width: 0; display: flex; flex-direction: column; }
.home2 .disc-body .pv-chart { margin-top: auto; }
.home2 .disc-body h3 { font-size: 16px; line-height: 1.25; margin: 0; }
.home2 .disc-body h3 a { color: var(--ink2); text-decoration: none; }
.home2 .disc-body h3 a:hover { text-decoration: underline; }
.home2 .disc-sub { font-size: 12.5px; color: var(--muted); margin: 2px 0 0; line-height: 1.4; }

.home2 .disc-sub { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home2 .disc-text { min-height: calc(2 * 1.25 * 16px + 2px + 2 * 1.4 * 12.5px); }
.home2 .disc-body .pv-chart { display: flex; align-items: flex-end; gap: 3px; height: 34px; margin: 6px 0 2px;
                              padding: 0; border: 0; list-style: none; grid-template-columns: none; }
.home2 .disc-body .pv-chart li { flex: 1; height: 100%; display: flex; align-items: flex-end; min-width: 0; }
.home2 .disc-body .pv-chart .pv-n, .home2 .disc-body .pv-chart .pv-y { display: none; }
.home2 .disc-body .pv-chart .pv-bar { width: 100%; border-radius: 0; background: var(--forest);
                                      height: calc(100% * var(--h, 0) / 100); }
.home2 .disc-held { font-size: 12.5px; color: var(--muted); }
.home2 .disc-held b { color: var(--ink2); font-weight: 600; font-variant-numeric: tabular-nums; }
.home2 .discover .smallprint { margin-top: 4px; }


.home2 .toolrow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.home2 .tool { background: var(--color-surface); border: 1px solid var(--rule); padding: 12px 14px;
               display: flex; flex-direction: column; align-items: flex-start; }
.home2 .tool h3 { font-size: 16px; margin: 0 0 4px; }
.home2 .tool p { margin: 0 0 8px; font-size: 13.5px; color: var(--ink2); }
.home2 .tool .btn { margin-top: auto; font-size: 13.5px; padding: 4px 12px; border-radius: 4px; min-height: 0;
                    height: auto; border: 1px solid var(--rule); background: var(--color-surface);
                    color: var(--ink2); text-decoration: none; }
.home2 .tool .btn.go { background: var(--forest); border-color: var(--forest); color: var(--color-surface); }
.home2 > .smallprint { margin: 14px 0 0; }

@media (max-width: 860px) {
  .home2 .hero3 { grid-template-columns: minmax(0, 1fr) 150px; }
  .home2 .weekcard { grid-column: 1 / -1; }
  .home2 .disc-grid, .home2 .toolrow { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 640px) {
  .home2 .hero3, .home2 .homecols { grid-template-columns: minmax(0, 1fr); }
  .home2 .herovis { display: none; }
  .home2 .herosearch .input, .home2 .herosearch .btn { height: 44px; flex-basis: 100%; }
  .home2 .tryrow a { display: inline-flex; align-items: center; min-height: 44px; margin-right: 14px; }
  
  .home2 .tryrow .sep { display: none; }
}

.tiersuf { white-space: nowrap; }
@media (max-width: 640px) {
  .tiersuf { display: block; }
  .tiersuf .tiersep { display: none; }
}


:root {
  --ink: #1d2420; --band: #efe7db;
  --color-text: #1d2420;
  --type-micro: 11px; --type-meta: 12.5px; --type-body: 14.5px; --type-prose: 15px;
  --type-lede: 16px; --type-section: 16px; --type-card: 16px; --type-module: 19px;
  --type-identity: clamp(30px, 4.2vw, 42px); --type-headline: 25px; --type-brand: 19px;
  --space-6: 16px; --space-8: 22px;
  --radius-lg: 0; --radius-md: 4px;
  --rail-width: 320px;
}
body { font-size: 14.5px; line-height: 1.45; color: var(--ink); }
h1, h2, h3, h4, h5, h6 { color: var(--ink); letter-spacing: 0; }
a { color: var(--forest); }
a:hover { color: var(--forest); text-decoration-thickness: 2px; }
.page { max-width: 1192px; padding: 0 16px 26px; }

.page { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; }
.page > * { flex-shrink: 0; }
.page > .pushfoot { flex-grow: 1; }
.main { padding: 14px 0 6px; }


.topbar { min-height: 0; padding: 9px 0; gap: 4px 22px; background: var(--color-surface);
          box-shadow: 0 0 0 100vmax var(--color-surface); clip-path: inset(0 -100vmax);
          border-bottom: 1px solid var(--rule); }
.brandmark { font-size: 19px; color: var(--ink) !important; gap: 9px; }
.brandmark svg { height: 28px; width: auto; color: var(--forest) !important; }
.brandmark .name::after { content: "."; color: var(--color-accent); }
.topbar form { flex: 0 1 260px; min-width: 180px; }
.topbar .input { min-height: 32px; height: 32px; padding: 4px 10px; font-size: 13.5px; border-radius: 4px; }
.topnav, .homenav { gap: 2px 18px; font-size: 14px; }
.topbar a { color: var(--ink); }
.topbar a:hover { color: var(--forest); }
.topbar .btn { font-size: 13.5px; padding: 4px 12px; min-height: 0; height: auto; border-radius: 4px; }
.homehead { padding: 9px 0; }


.identity { padding: 16px 0 6px; gap: 4px 12px; }
.identity .sq { display: none; }
.identity h1 { font-size: var(--type-identity); line-height: 1.08; color: var(--ink); }
.identity h1.name-md { font-size: clamp(28px, 3.8vw, 36px); }
.identity h1.name-lg { font-size: clamp(24px, 3.2vw, 30px); }
.identity:has(> .num) h1 { font-size: clamp(24px, 3.4vw, 34px); }
.identity .meta { font-size: 12.5px; }
.identity:has(> .meta):not(:has(> svg)) { background: none; border-radius: 0; padding: 16px 0 4px;
                                          min-height: 0; margin-top: 0; align-items: baseline; }
.identity:has(> .meta):not(:has(> svg)) h1 { color: var(--ink); }
.identity:has(> .meta):not(:has(> svg)) .meta { color: var(--muted); letter-spacing: 0; text-transform: none;
                                                font-size: 12.5px; margin: 0; }
.identity:has(> .sq):has(> .meta):not(:has(> svg)) .meta { margin-left: 0; }
.identity:has(> .meta):not(:has(> svg)) a { color: var(--forest); }


.heroline { gap: 6px 12px; margin: 6px 0 4px; }
.heroline h2 { font-size: clamp(24px, 3.4vw, 34px); line-height: 1.1; }
.heroline:has(#hl-pt-computed) { background: none; border-radius: 0; padding: 0; }
.heroline:has(#hl-pt-computed) h2 { color: var(--ink); font-size: clamp(26px, 3.8vw, 36px); }
.heroline:has(#hl-pt-computed) .seg-opt { color: var(--muted); background: none;
                                          border: 1px solid var(--rule); }
.heroline:has(#hl-pt-computed) .seg-opt:has(input:checked) { background: var(--forest);
                                                             color: var(--color-surface); border-color: var(--forest); }
.heroline:has(#hl-pt-computed) a { color: var(--forest); }
.herocap { font-size: 12.5px; }
.thesis { font-size: 14.5px; line-height: 1.5; color: var(--muted); max-width: 76ch; margin: 8px 0; }
.pfacts { font-size: 13.5px; color: var(--ink); display: flex; flex-wrap: wrap; gap: 2px 22px; margin: 4px 0 8px; }
.pfacts b { color: var(--ink); }
.sec { font-size: 19px; margin: 20px 0 6px; }
.legend { font-size: 12px; gap: 4px 12px; }
.finepr { font-size: 12.5px; border-top: 0; padding-top: 2px; }
.prov { font-size: 12px; }


.blueprint { border-radius: 0; }
.card { border-radius: 0; padding: 12px 14px; }
.record { padding: 10px 12px; }


.table { font-size: 13.5px; background: none; }
.table th { font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
            background: none; padding: 4px 6px; border-bottom: 2px solid var(--ink); }
.table td { padding: 5px 6px; border-bottom: 1px solid var(--rule); }
.table th:first-child, .table td:first-child { padding-left: 6px; }
.table th:last-child, .table td:last-child { padding-right: 6px; }
.table tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--band) 65%, transparent); }
.table tbody tr:hover { background: none; }
.table tbody tr:hover td { background: color-mix(in srgb, var(--band) 100%, transparent); }


.btn { font-size: 13.5px; height: auto; min-height: 32px; padding: 5px 14px; border-radius: 4px; }
.btn-primary { background: var(--forest); border-color: var(--forest); color: var(--color-surface); }
.btn-primary:hover { background: var(--forest-hover); border-color: var(--forest-hover); color: var(--color-surface); }
.btn-primary:active { background: var(--forest-hover); border-color: var(--forest-hover); }
.btn-secondary { border-color: var(--rule); color: var(--ink); background: var(--color-surface); }
.btn-block { width: auto; max-width: none; }
.rail .btn-block { width: 100%; }
.input { min-height: 34px; padding: 6px 10px; font-size: 14px; border-radius: 4px; }


.tag, .chip { padding: 1px 8px; font-size: 11.5px; }
.seg-opt { padding: 2px 10px; min-height: 26px; font-size: 12.5px; background: none;
           border: 1px solid var(--rule); color: var(--muted); }
a.seg-opt.on, a.seg-opt.on:hover, label.seg-opt:has(input:checked) { background: var(--forest);
                                   border-color: var(--forest); color: var(--color-surface); }

.seg:has(> a.seg-opt) { gap: 2px 16px; min-height: 0; padding-bottom: 4px; margin: 4px 0 0; }
.seg > a.seg-opt { padding: 0 0 2px; min-height: 0; font-size: 13px; border: 0; color: var(--muted);
                   border-bottom: 2px solid transparent; margin-bottom: 0; }
.seg > a.seg-opt.on, .seg > a.seg-opt.on:hover { color: var(--ink); font-weight: 600;
                                                 border-bottom-color: var(--color-accent); }
.seg > a.seg-opt:hover { color: var(--ink); }


.stats { grid-template-columns: repeat(auto-fit, minmax(120px, max-content)); gap: 4px 30px;
         padding: 6px 0 8px; margin: 4px 0 8px; border-top: 0; border-bottom: 0; }
.stats > .stat { padding: 0; border-left: 0; text-align: left; }
.stat .n { font-size: 25px; line-height: 1.1; color: var(--ink); }
.stat .l { font-size: 12px; letter-spacing: 0; text-transform: none; color: var(--muted); margin-top: 0; }
.stat.alarm .n, .stat.alarm .l { color: var(--ink); }


.facts { background: var(--color-surface); border: 1px solid var(--rule); border-radius: 0;
         padding: 10px 0; margin: 8px 0; }
.fact { padding: 0 12px; }
.fact .v { font-size: 20px; color: var(--ink); }
.fact .l { font-size: 10.5px; letter-spacing: .06em; margin-top: 2px; }
.fact .n { font-size: 12px; margin-top: 2px; line-height: 1.35; }


.rail { gap: 18px; }
.rail .agenda { border-top: 0; padding-top: 0; }
.agenda .row { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 4px 10px; padding: 3px 0;
               border: 0; font-size: 13px; }
.agenda .when { font-size: 11px; min-width: 0; }
.agenda .what { font-size: 13px; }
.body2 { gap: 22px; }
.notable .ttl, .record .ttl { font-size: 16px; color: var(--ink); }
.notable .imp { font-size: 13px; }
.notable .pn, .record .pn { font-size: 12px; }
.record .work { font-size: 13px; }
.gantt-row { font-size: 13px; }
.rowfacts { font-size: 12px !important; }


.foot { padding: 10px 0 0; margin-top: 22px; gap: 4px 20px; font-size: 12px; color: var(--muted);
        justify-content: space-between; }
.foot a { color: var(--muted); }
.foot a:hover { color: var(--forest); }
.footmark { display: none; }
.foot .row { gap: 2px 14px; }
.foot .last { flex-basis: auto; border-top: 0; padding-top: 0; margin-left: 0; }

.foot .row + .row { margin-right: auto; }


.cohead { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 0 26px; align-items: start; }
.cohead-text { min-width: 0; }
.cohead-top { padding-top: 14px; min-width: 0; }
.cohead > .cofig { margin-top: 18px; }
.cofig { margin: 0; }
.cofig-stage { display: flex; align-items: flex-start; justify-content: center; }
.cofig img { display: block; max-width: 100%; max-height: 200px; width: auto; height: auto; }
.cofig figcaption { font-size: 11.5px; line-height: 1.4; color: var(--muted); margin-top: 4px; }
.cofig figcaption a { color: var(--muted); }
@media (max-width: 640px) {
  .cohead { grid-template-columns: minmax(0, 1fr) 116px; gap: 0 12px;
            grid-template-areas: "id fig" "tabs tabs" "top top"; }
  .cohead-text { display: contents; }
  .cohead-text > .identity { grid-area: id; min-width: 0; }
  .cohead-text > div:has(> .seg) { grid-area: tabs; }
  .cohead-top { grid-area: top; }
  .cohead > .cofig { grid-area: fig; margin-top: 16px; }
  .cofig-stage { justify-content: flex-end; }
  .cofig img { max-height: 150px; }
  .cofig figcaption { text-align: right; font-size: 11px; }
  .cofig .cotitle { display: none; }
}


.cocols { column-count: 2; column-gap: 26px; margin-top: 4px; }
.co-part { break-inside: auto; padding-top: 18px; }

.co-part .sec, .co-part h2, .co-part h3 { break-after: avoid; }
.co-part .blueprint, .co-part tr, .co-part li, .co-part p { break-inside: avoid; }

.co-part:has(> #tab-notable) { break-inside: avoid; }

.co-part:has(> #tab-fees) { break-inside: avoid; }
.co-part > :first-child, .co-part > :first-child > :first-child { margin-top: 0 !important; }
@media (max-width: 999px) {
  .cocols { column-count: 1; }
}


.identity .numtag { flex-basis: 100%; }
.pmain { min-width: 0; }
.pmain > .heroline:first-child { margin-top: 0; }
.body2:has(> .pmain) { margin-top: 4px; padding-top: 0; }
.col-tier, .tier-high, .tier-medium, .tier-low { white-space: nowrap; }
@media (max-width: 640px) {
  .home2 .tierkey { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 8px; }
  .home2 .tierkey > span:first-child { grid-column: 1 / -1; }
  .home2 .tierkey .tkp { display: contents; }   
}

.main > [data-tpf-watch], .cohead-top > [data-tpf-watch] {
  flex-direction: row !important; flex-wrap: wrap; align-items: center !important;
  gap: 2px 12px !important; margin: 6px 0 4px; }
.main > [data-tpf-watch] > div, .cohead-top > [data-tpf-watch] > div { font-size: 12px !important; }
.main > [data-tpf-watch] .btn-block, .cohead-top > [data-tpf-watch] .btn-block { width: auto; }

.heroline:has(.seg):not(:has(#hl-pt-computed)) { margin-top: 18px; }
.heroline:has(.seg):not(:has(#hl-pt-computed)) h2 { font-size: 19px; }

.cocols .co-part ul, .cocols .co-part li { font-size: 13.5px !important; }
.cocols .co-part li { margin-bottom: 4px !important; }

@media (max-width: 860px) {
  .body2 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
  .page { padding: 0 16px 24px; }
  .topbar.menu-js { min-height: 52px; padding: 6px 0; }
  .topbar.menu-js .brandmark { font-size: 19px; }
  .thesis { font-size: 14.5px; }
  .identity:has(> .num) h1 { font-size: 24px; }
  .heroline:has(#hl-pt-computed) h2 { font-size: 26px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
  .stats > .stat:nth-child(even) { border-left: 0; }
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px 0 !important; }
  .fact:nth-child(odd) { border-left: 0; }
  .foot { display: block; }
  .foot .row { display: flex; flex-wrap: wrap; }
  
  .foot .last { display: block; margin-top: 6px; }
  
  .seg:has(> a.seg-opt) { gap: 0 18px; justify-content: flex-start; }
  .seg > a.seg-opt { flex: 0 0 auto; padding-right: 0; }
}


:root { --muted: #3f4a45; --color-neutral-700: #3f4a45; --type-note: 13.5px; }
.herocap, .finepr, .card-meta, .identity .meta, .module .fine, .module .win, .week.stamp,
.tile .d, .pv-next, .stat .d, .home2 .smallprint, .home2 .sm, .home2 .disc-sub,
.home2 .disc-held { font-size: var(--type-note); }
.legend, .prov, .stat .l { font-size: 13px; }
.cofig figcaption, .home2 .herofig figcaption { font-size: 12.5px; }
.home2 .disc-text { min-height: calc(2 * 1.25 * 16px + 2px + 2 * 1.4 * 13.5px); }

.cohead { grid-template-columns: minmax(0, 1fr) 300px; }
.cofig img { max-height: 400px; }
.home2 .disc-card { grid-template-columns: 144px minmax(0, 1fr); }
.home2 .disc-stage img { max-height: 144px; }
@media (max-width: 999px) {
  .cohead { grid-template-columns: minmax(0, 1fr) 240px; }
  .cofig img { max-height: 320px; }
}
@media (max-width: 640px) {
  .cohead { grid-template-columns: minmax(0, 1fr) 150px; }
  .cofig img { max-height: 260px; }
  .cofig figcaption { font-size: 12px; }
}


@media (max-width: 599px) {
  .page { padding: 0 16px 32px; }
  
  .topbar.menu-js { flex-wrap: wrap; min-height: 60px; padding: 8px 0; gap: 0 12px; }
  .topbar.menu-js .brandmark { margin-right: auto; font-size: 21px; }
  .topbar.menu-js .menubtn { display: inline-flex; flex-direction: column; justify-content: center;
    align-items: center; gap: 5px; width: 44px; height: 44px; padding: 0; margin-right: -8px;
    background: transparent; border: 0; border-radius: var(--radius-md); cursor: pointer; }
  .menubtn span { display: block; width: 22px; height: 2px; background: var(--forest);
                  border-radius: 1px; transition: transform .15s, opacity .15s; }
  .menubtn[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menubtn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menubtn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .topbar.menu-js .navmenu { display: none; }
  .topbar.menu-js .menubtn[aria-expanded="true"] ~ .navmenu {
    display: flex; flex-direction: column; align-items: stretch; flex-basis: 100%;
    padding: 8px 0 12px; border-top: 1px solid var(--rule); margin-top: 8px; }
  
  .navmenu form { max-width: none !important; margin: 4px 0 8px !important; order: 0; flex: none; }
  .navmenu .input { max-width: none !important; width: 100%; min-height: 44px; font-size: 16px !important; }
  .navmenu .topnav, .navmenu .homenav { display: flex; flex-direction: column; gap: 0;
    flex-basis: auto; margin: 0; }
  .navmenu .topnav a, .navmenu .homenav a, .navmenu > span > a {
    display: flex; align-items: center; min-height: 44px; font-size: 16px !important;
    margin-left: 0 !important; border-bottom: 1px solid var(--rule); }
  .navmenu > span { display: flex; flex-direction: column; white-space: normal !important;
                    margin-left: 0 !important; }
  .navmenu > span > a:last-child { border-bottom: 0; }
  .topbar.menu-js:has(.menubtn[aria-expanded="true"]) { padding-bottom: 0; }
  .navmenu > .btn { margin-top: 12px; align-self: flex-start; }

  
  .hero2 { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 0 16px;
           grid-template-areas: "h h" "s f" "q q" "t t" "p p" "v v";
           padding: 20px 0 24px; align-items: center; }
  .hero2 .herotext, .hero2 .herovis { display: contents; }
  .hero2 h1 { grid-area: h; font-size: 32px; line-height: 1.06; margin: 0 0 12px; }
  .hero2 .sub { grid-area: s; font-size: 16px; line-height: 1.5; margin: 0; }
  .hero2 .herofig { grid-area: f; }
  .hero2 .herofig-stage { height: 150px; }
  .hero2 .herofig figcaption { margin-top: 6px; font-size: 11px; line-height: 1.35; }
  .hero2 .herofig figcaption b { font-size: 12px; line-height: 1.3; }
  .hero2 .herosearch { grid-area: q; margin-top: 16px; max-width: none; }
  .hero2 .tryrow { grid-area: t; margin-top: 12px; gap: 8px; }
  .tryrow a { min-height: 44px; }
  .hero2 .prov-strip { grid-area: p; display: block; margin-top: 14px; font-size: 12px;
                       line-height: 1.5; color: var(--muted); }
  .hero2 .prov-strip > span { display: inline; }
  .hero2 .prov-strip > span + span::before { content: "\00a0·\00a0"; color: var(--muted); }
  .hero2 .preview { grid-area: v; margin-top: 24px; }

  
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 16px; padding: 0 0 24px; }
  .tile { flex-direction: column; gap: 6px; }
  .tile svg { margin-top: 0; width: 24px; height: 24px; }
  .tile .n { font-size: 26px; }
  .tile .l { font-size: 15px; }
  .features { gap: 14px; padding: 16px 0; margin: 8px 0 40px; }
  .feat { gap: 12px; }
  .feat-ic { width: 36px; height: 36px; }
  .feat .t { font-size: 18px; }
  .discover { margin-bottom: 40px; }
  .disc-card { padding: 18px; }
  .disc-stage { aspect-ratio: auto; height: 180px; }

  
  .thesis, .module p, .sub { font-size: 16px; }
  .foot a { display: inline-flex; align-items: center; min-height: 44px; }
  
  .brandmark, .more, .disc-foot a, .disc-top h3 a, .pv-name, .herofig figcaption a,
  .seg-opt {
    display: inline-flex; align-items: center; min-height: 44px; }
  
  .letterbar { gap: 0 var(--space-3) !important; }
  .letterbar > a, .letterbar > span { display: inline-flex; align-items: center;
    gap: 0.3em; min-height: 44px; }
  .hscroll { max-width: 100%; overflow-x: auto; }
  img { max-width: 100%; height: auto; }
}


@media (max-width: 359px) {
  .brandmark { font-size: 18px; gap: 8px; }
  .brandmark .name { white-space: normal; }
  .tiles, .stats, .facts { grid-template-columns: minmax(0, 1fr) !important; }
  .stats > .stat:nth-child(even) { border-left: 0; }
  h1, h2, h3, .n, .v, .name, .tag, .numtag, .disc-sub, .foot { overflow-wrap: anywhere; }
  .tag, .numtag, .foot .row, .foot span { white-space: normal !important; }
  .footmark { flex: 0 1 auto; font-size: 20px; }
  .numtag { flex-wrap: wrap; flex: 0 1 auto !important; gap: var(--space-2) !important; }
  .numtag > *, .identity > * { min-width: 0; flex-shrink: 1 !important; }
  .agenda .row { display: block !important; }
  .agenda .what, .agenda .what b { overflow-wrap: anywhere; }
}


@media (max-width: 599px) {
  .hero2 { grid-template-columns: 150px minmax(0, 1fr); gap: 0 16px;
           grid-template-areas: "h h" "f c" "s s" "q q" "t t" "p p" "v v"; }
  .hero2 .herofig { display: contents; }
  .hero2 .herofig-stage { grid-area: f; height: 150px; }
  .hero2 .herofig figcaption { grid-area: c; align-self: end; margin: 0; font-size: 12px; }
  .hero2 .herofig figcaption b { font-size: 14px; margin-bottom: 2px; }
  .hero2 .sub { grid-area: s; margin-top: 14px; align-self: start; }
}

@media (max-width: 359px) {
  .hero2 { grid-template-columns: minmax(0, 1fr);
           grid-template-areas: "h" "f" "c" "s" "q" "t" "p" "v"; }
  .hero2 .herofig figcaption { margin-top: 8px; }
}
html { overflow-x: hidden; } body { margin: 0; padding: 0; background: var(--color-bg); overflow-x: hidden; }
