:root{
  --indigo:#1F3883; --blue:#3175B1; --cyan:#47C8E3; --sage:#83B895; --peri:#8B8ECF;
  --ink:#1B2233; --bg:#F4F7FB; --border:#D8E0EC; --muted:#4A5568; --white:#FFFFFF;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto;}
a{color:var(--blue);}
a:hover{color:var(--indigo);}
.wrap{max-width:900px;margin:0 auto;padding:0 32px;}
p{margin:0 0 16px;}
strong{color:var(--indigo);}

/* citations and tags */
.cite{font-size:0.78em;color:var(--muted);}
.cite sup{font-size:0.82em;line-height:0;}
.cite sup a{text-decoration:none;font-weight:700;color:var(--blue);padding:0 1px;}
.tag{display:inline-block;font-size:0.68em;font-weight:700;letter-spacing:0.06em;padding:1px 6px;border-radius:4px;vertical-align:1px;white-space:nowrap;line-height:1.5;}
.tag.unc{background:#FFF3DC;color:#8A5A0B;border:1px solid #EACB8E;}
.tag.est{background:#EEF0FB;color:#3E4296;border:1px solid #C9CCEE;}
.tag.gv{background:#E9F5EE;color:#2F6B45;border:1px solid #BFDFCB;}
.tag.wd{background:#F0F2F6;color:#4A5568;border:1px solid #D8E0EC;}
q{font-style:italic;}

/* cover (no caption, no figure number) */
.cv{
  --cv-deep:#0E1A3D; --cv-indigo:#1F3883; --cv-soil:#08090F; --cv-cyan:#47C8E3; --cv-soft:#C9D6EE;
  --cv-pad:clamp(16px,6vw,88px);
  position:relative;margin:0;color:#fff;overflow:hidden;
  background:var(--cv-soil);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.cv *{box-sizing:border-box;}

/* full-bleed image; its bottom dissolves into the dark gradient that carries the title */
.cv-media{position:relative;margin:0;width:100%;aspect-ratio:16/9;max-height:880px;overflow:hidden;}
.cv-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--cv-x,50%) var(--cv-y,100%);max-width:none;}
.cv-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(8,9,15,.50) 0%, rgba(8,9,15,0) 16%),
    linear-gradient(180deg, rgba(8,9,15,0) 58%, rgba(8,9,15,.72) 86%, var(--cv-soil) 99%);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.72) 80%,rgba(0,0,0,.72) 100%);
          mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.72) 80%,rgba(0,0,0,.72) 100%);}
.cv-media::before{content:"";position:absolute;left:0;right:0;bottom:0;height:7%;z-index:1;pointer-events:none;
  background:linear-gradient(180deg, rgba(8,9,15,0) 0%, var(--cv-soil) 92%);}
.cv-logo{position:absolute;z-index:2;top:clamp(20px,3vw,44px);left:var(--cv-pad);
  width:clamp(160px,18vw,250px);height:auto;display:block;max-width:none;}

/* title block, bottom-left, rising into the image's dark soil */
.cv-body{--cv-ov:clamp(60px,11.5vw,150px);position:relative;z-index:2;margin-top:calc(-1 * var(--cv-ov));padding:0 var(--cv-pad) clamp(30px,3.8vw,56px);}
/* gradient under the text starts exactly at the image's bottom edge, in the soil color, so there is no seam */
.cv-body::before{content:"";position:absolute;left:0;right:0;top:var(--cv-ov);bottom:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(900px 420px at 88% 100%, rgba(71,200,227,.10), transparent 65%),
    linear-gradient(180deg,var(--cv-soil) 0%,var(--cv-deep) 55%,#172C6C 100%);}
.cv-kicker{margin:0 0 clamp(14px,1.5vw,22px);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cv-cyan);}
.cv-title{margin:0;font-weight:700;color:#fff;font-size:clamp(34px,4.9vw,68px);line-height:1.03;letter-spacing:-.028em;max-width:15.5em;text-wrap:balance;}
.cv-row{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:start;margin-top:clamp(22px,2.6vw,36px);max-width:1000px;}
.cv-sub{margin:0;font-size:clamp(17px,1.5vw,21px);line-height:1.35;font-weight:500;color:#fff;text-wrap:balance;}
.cv-meta span{display:block;text-wrap:balance;}
.cv-meta{margin:0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.66);border-left:1px solid rgba(255,255,255,.24);padding-left:clamp(16px,1.6vw,24px);text-wrap:balance;}

/* phone */
@media screen and (max-width:640px){
  .cv-media{aspect-ratio:4/3;}
  .cv-photo{object-position:var(--cv-xm,90%) var(--cv-y,100%);}
  .cv-body{--cv-ov:64px;}
  .cv-kicker{font-size:11px;letter-spacing:.15em;}
  .cv-title{font-size:34px;line-height:1.06;}
  .cv-row{grid-template-columns:1fr;gap:14px;margin-top:20px;}
  .cv-meta{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.24);padding-top:12px;}
}

/* print: page 1 of a Letter PDF, full-bleed, no margins */
@media print{
  @page :first{margin:0;}
  .cv{-webkit-print-color-adjust:exact;print-color-adjust:exact;height:11in;display:flex;flex-direction:column;
      break-after:page;page-break-after:always;}
  .cv-media{aspect-ratio:auto;height:6.4in;max-height:none;flex:0 0 auto;}
  .cv-photo{object-position:var(--cv-xp,86%) var(--cv-yp,100%);}
  .cv-logo{top:.5in;left:.6in;width:2.3in;}
  .cv-body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;--cv-ov:1.0in;padding:0 .6in .55in;}
  .cv-kicker{font-size:9.5pt;margin-bottom:.16in;}
  .cv-title{font-size:52pt;line-height:1.0;max-width:7.3in;}
  .cv-row{grid-template-columns:auto 1fr;gap:.3in;margin-top:.3in;max-width:none;}
  .cv-sub{font-size:14pt;}
  .cv-meta{font-size:10pt;padding-left:.2in;}
}

/* sections */
section.sec{padding:64px 0 40px;}
section.sec.alt{background:var(--bg);}
.kicker{display:block;font-size:0.74rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--blue);font-weight:700;margin:0 0 8px;}
h2{font-size:clamp(1.6rem,3.6vw,2.2rem);line-height:1.12;letter-spacing:-0.022em;color:var(--indigo);margin:0 0 12px;font-weight:800;}
.gradrule{height:4px;width:120px;border-radius:4px;background:linear-gradient(90deg,var(--cyan),var(--sage));margin:0 0 20px;}
h3{font-size:1.2rem;line-height:1.3;color:var(--indigo);margin:34px 0 10px;font-weight:700;letter-spacing:-0.01em;}
.basis{background:#fff;border:1px solid var(--border);border-left:4px solid var(--peri);border-radius:10px;padding:12px 16px;margin:0 0 24px;font-size:0.92rem;color:var(--muted);}
.basis b{color:var(--indigo);}
ul,ol{margin:0 0 18px;padding-left:24px;}
li{margin:0 0 8px;}

/* goal */
.goal{background:var(--bg);border-bottom:1px solid var(--border);padding:44px 0;}
.goal p.big{font-size:clamp(1.12rem,2.3vw,1.32rem);line-height:1.55;color:var(--ink);margin:0;}
.goal p.big strong{color:var(--indigo);}

/* takeaways */
.tk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:8px 0 10px;}
.tk{background:#fff;border:1px solid var(--border);border-left:4px solid var(--cyan);border-radius:12px;padding:16px 18px 14px;box-shadow:0 3px 14px rgba(31,56,131,.05);}
.tk:nth-child(3n+2){border-left-color:var(--sage);}
.tk:nth-child(3n){border-left-color:var(--indigo);}
.tk .n{font-size:0.72rem;font-weight:800;letter-spacing:0.14em;color:var(--blue);margin:0 0 4px;}
.tk p{margin:0 0 6px;font-size:0.98rem;line-height:1.5;}
.tk p b{color:var(--indigo);}
.tk .h{font-size:1.18rem;font-weight:800;line-height:1.25;color:var(--indigo);margin:0 0 8px;}
.tk ul{list-style:none;margin:0;padding:0;}
.tk li{position:relative;padding:3px 0 3px 16px;font-size:1rem;line-height:1.35;color:var(--ink,#1B2233);}
.tk li::before{content:"";position:absolute;left:0;top:0.72em;width:7px;height:7px;border-radius:50%;background:var(--cyan);}
.tk .src{font-size:0.78rem;color:var(--muted);margin:0;}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0 8px;}
.stat{background:linear-gradient(135deg,#1F3883 0%,#142759 100%);border-radius:12px;padding:16px 16px 12px;color:#fff;}
.stat .big{font-size:1.9rem;font-weight:800;letter-spacing:-0.03em;line-height:1.05;color:var(--cyan);}
.stat .lbl{font-size:0.84rem;line-height:1.4;margin-top:6px;color:#E6EEF8;}
.stat .cite{color:#B8C7E6;}
.stat .cite sup a{color:var(--cyan);}

/* contents */
.toc{columns:2;column-gap:36px;padding:0;list-style:none;margin:0;}
.toc li{break-inside:avoid;margin:0 0 8px;font-size:0.98rem;}
.toc a{text-decoration:none;color:var(--indigo);font-weight:600;}
.toc span{color:var(--blue);font-weight:800;margin-right:8px;}

/* callouts */
.view{background:#F1F8F3;border:1px solid #CFE6D7;border-left:4px solid var(--sage);border-radius:10px;padding:14px 18px;margin:22px 0;}
.view .vh{font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;color:#2F6B45;margin:0 0 6px;}
.view p:last-child,.view ul:last-child{margin-bottom:0;}
.lesson{background:#EEF7FB;border:1px solid #C8E9F3;border-left:4px solid var(--cyan);border-radius:10px;padding:14px 18px;margin:22px 0;}
.lesson p:last-child{margin:0;}

/* figures */
figure{margin:30px 0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 16px 12px;box-shadow:0 6px 24px rgba(31,56,131,.07);}
figure .img{border-radius:10px;overflow:hidden;background:var(--bg);}
figure .img img{width:100%;height:auto;}
a.figlink{display:block;cursor:zoom-in;}
figcaption{font-size:0.88rem;line-height:1.5;color:var(--muted);margin-top:10px;border-top:1px solid var(--border);padding-top:10px;}
figcaption .fn{font-weight:800;color:var(--indigo);margin-right:4px;}
.key{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:0.86rem;color:var(--ink);}
.key li{display:flex;align-items:center;gap:8px;margin:0;}
.key .k{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:11px;font-size:0.74rem;font-weight:800;color:#fff;}
.k.sage{background:#5E9B72;} .k.cyan{background:#1FA9C7;} .k.indigo{background:var(--indigo);} .k.blue{background:var(--blue);} .k.white{background:#fff;color:var(--ink);border:1px solid #9AA6B8;}
.tap{display:none;font-size:0.8rem;color:var(--muted);margin:6px 0 0;}

/* tables */
.tablewrap{overflow-x:auto;margin:22px 0;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 3px 14px rgba(31,56,131,.05);-webkit-overflow-scrolling:touch;}
.scrollhint{display:none;font-size:0.8rem;color:var(--blue);font-weight:600;margin:14px 0 -14px;}
table{border-collapse:collapse;width:100%;font-size:0.9rem;line-height:1.45;}
th,td{text-align:center;vertical-align:middle;padding:11px 12px;border-bottom:1px solid var(--border);}
thead th{background:var(--indigo);color:#fff;font-size:0.76rem;letter-spacing:0.06em;text-transform:uppercase;border-bottom:none;}
tbody tr:nth-child(even){background:#F8FAFD;}
tbody tr:last-child td{border-bottom:none;}
td.l,th.l{text-align:left;}
td b{color:var(--indigo);}
table.wide{min-width:720px;}
table.mid{min-width:600px;}
.check{font-size:1.2rem;color:var(--blue);}
table.laws th:nth-child(1){width:14%;} table.laws th:nth-child(2){width:26%;} table.laws th:nth-child(3){width:34%;} table.laws th:nth-child(4){width:26%;}
tr.grp td{background:#EEF3FA;font-weight:800;color:var(--indigo);text-align:left;font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;}

/* acronyms */
.acr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.acr-grid .tablewrap{margin:0;}
.acr-grid table{font-size:0.86rem;}
.acr-grid td,.acr-grid th{padding:6px 10px;}
.acr-grid td:first-child{font-weight:800;color:var(--indigo);white-space:nowrap;}

.facts td.l:first-child{font-weight:700;color:var(--indigo);width:26%;}

/* sources */
ol.sources{font-size:0.86rem;line-height:1.55;padding-left:30px;}
ol.sources li{margin:0 0 9px;word-break:break-word;}
ol.sources li:target{background:#EAF7FB;border-radius:6px;}
ol.sources a{word-break:break-all;}

footer{border-top:1px solid var(--border);padding:34px 0 46px;background:#fff;}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;}
footer img{width:220px;height:auto;}
footer p{margin:0;font-size:0.86rem;color:var(--muted);}

@media screen and (max-width:760px){
  body{font-size:16px;}
  .wrap{padding:0 16px;}
  section.sec{padding:46px 0 28px;}
  .tk-grid,.acr-grid{grid-template-columns:1fr;}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .toc{columns:1;}
  figure{padding:10px 10px 8px;}
  .scrollhint,.tap{display:block;}
}

@media print{
  @page{size:Letter;margin:0.55in 0.5in;}
  body{font-size:10.5pt;line-height:1.5;}
  .wrap{max-width:none;padding:0;}
  section.sec{padding:0 0 10px;background:#fff !important;}
  section.sec.pb{break-before:page;page-break-before:always;}
  .goal{padding:16px 0;background:#fff;}
  figure{padding:8px 8px 6px;}
  figure,.tk,.stat,.view,.lesson,.basis,tr,.toc,.key{break-inside:avoid;page-break-inside:avoid;}
  .tablewrap.small{break-inside:avoid;page-break-inside:avoid;}
  figure .img img{max-height:5.4in;width:auto;max-width:100%;margin:0 auto;object-fit:contain;}
  h2,h3,.kicker,.gradrule{break-after:avoid;page-break-after:avoid;}
  figure,.tablewrap{box-shadow:none;}
  .tablewrap{overflow:visible;}
  table,table.wide,table.mid{min-width:0 !important;table-layout:auto;}
  thead th,.stat,.k,.gradrule,tr.grp td{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  thead{display:table-header-group;}
  a{color:var(--blue);text-decoration:none;}
  .tk-grid,.acr-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats{grid-template-columns:repeat(4,minmax(0,1fr));}
  #acronyms .acr-grid table{font-size:9pt;line-height:1.28;}
  #acronyms .acr-grid td,#acronyms .acr-grid th{padding:2.5px 7px;}
  #acronyms h2{margin-bottom:4px;}
  .scrollhint,.tap{display:none !important;}
  tr.grp{break-after:avoid;page-break-after:avoid;}
  figure.mapfig .img img{max-height:4.2in;}
}

/* E1 layer overlay */
.e1fig { position: relative; margin: 0; container-type: inline-size; line-height: 0; }
  .e1fig img { width: 100%; height: auto; display: block; }
  .e1fig svg.e1lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
  .e1fig .e1lab { position: absolute; left: 69.5%; width: 28%; transform: translateY(-50%); line-height: 1.15; }
  .e1fig .e1lab h4 { margin: 0 0 0.55cqw 0; font-size: 2.05cqw; font-weight: 650; color: #FFFFFF; letter-spacing: 0.01em;
                     text-shadow: 0 0.1cqw 0.5cqw rgba(0,0,0,0.6); }
  .e1fig .e1lab h4 i { display: inline-block; width: 1.25cqw; height: 1.25cqw; border-radius: 50%; margin-right: 0.8cqw;
                       vertical-align: 0.05cqw; box-shadow: 0 0 0 0.18cqw rgba(255,255,255,0.85); }
  .e1fig .e1lab span { display: inline-block; font-size: 1.3cqw; font-weight: 600; padding: 0.35cqw 0.9cqw; border-radius: 99px; letter-spacing: 0.02em; }
  .e1fig .bld i { background: #1F3883; }  .e1fig .bld span { background: #1F3883; color: #FFFFFF; box-shadow: 0 0 0 0.12cqw #8B8ECF inset; }
  .e1fig .net i { background: #47C8E3; }  .e1fig .net span { background: #47C8E3; color: #0B1A2A; }
  .e1fig .ctr i { background: #8B8ECF; }  .e1fig .ctr span { background: #8B8ECF; color: #0B1A2A; }
  .e1fig .wel i { background: #83B895; }  .e1fig .wel span { background: #83B895; color: #0B1A2A; }

/* Section 2 owner gallery */
.og{--og-pub:#1F3883;--og-priv:#83B895;--og-ok:#2F7A4F;--og-warn:#B7791F;
  width:min(1160px,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%);
  margin:30px 0 34px;}
.og *{box-sizing:border-box;}
/* spectrum bar */
.og-spec{margin:0 auto 18px;max-width:100%;}
.og-ends{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 7px;}
.og-ends span{font-size:0.8rem;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;line-height:1;}
.og-ends .pub{color:var(--og-pub);}
.og-ends .priv{color:#4E8A62;}
.og-ends .mid{font-size:0.72rem;letter-spacing:0.08em;color:var(--muted,#4A5568);font-weight:600;text-transform:none;}
.og-bar{position:relative;height:12px;border-radius:99px;
  background:linear-gradient(90deg,#1F3883 0%,#3175B1 38%,#47C8E3 58%,#83B895 100%);}
.og-bar::before,.og-bar::after{content:"";position:absolute;top:50%;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;transform:translateY(-50%);}
.og-bar::before{left:-9px;border-right:10px solid #1F3883;}
.og-bar::after{right:-9px;border-left:10px solid #83B895;}
.og-ticks{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,1fr);}
.og-ticks i{justify-self:center;align-self:center;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--c);
  font:800 0.66rem/14px Inter,-apple-system,"Segoe UI",Arial,sans-serif;font-style:normal;color:var(--c);text-align:center;box-shadow:0 1px 3px rgba(27,34,51,.18);}
.og-why{margin:10px 0 0;font-size:0.84rem;line-height:1.45;color:var(--muted,#4A5568);text-align:center;}
/* grid */
.og-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.og-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border,#D8E0EC);
  border-top:5px solid var(--c);border-radius:14px;padding:10px 14px 14px;box-shadow:0 6px 22px rgba(31,56,131,.08);break-inside:avoid;}
.og-num{position:absolute;top:10px;left:12px;width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff;
  font-size:0.74rem;font-weight:800;line-height:24px;text-align:center;z-index:1;}
.og-card img{width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 auto 4px;}
.og-card h4{margin:0 0 8px;font-size:1.06rem;line-height:1.2;font-weight:800;color:var(--indigo,#1F3883);letter-spacing:-0.01em;}
.og-card p{display:flex;gap:7px;align-items:flex-start;margin:0 0 6px;font-size:0.86rem;line-height:1.32;color:var(--ink,#1B2233);}
.og-card p svg{flex:0 0 17px;width:17px;height:17px;margin-top:1px;}
.og-ex{margin-top:auto;padding-top:8px;}
.og-ex span.chip{display:inline-block;background:#F4F7FB;border:1px solid var(--border,#D8E0EC);border-radius:8px;padding:4px 9px;
  font-size:0.76rem;line-height:1.35;color:var(--ink,#1B2233);font-weight:600;}
.og-ex .cite{font-weight:400;}
.og-note{margin:14px 0 0;font-size:0.84rem;color:var(--muted,#4A5568);text-align:center;}
.og-note svg{width:14px;height:14px;vertical-align:-2px;margin:0 3px 0 8px;}
@media screen and (max-width:760px){
  .og{width:auto;left:auto;transform:none;margin:24px 0 28px;}
  .og-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .og-card{padding:8px 10px 11px;border-radius:12px;}
  .og-num{top:8px;left:8px;width:21px;height:21px;line-height:21px;font-size:0.68rem;}
  .og-card h4{font-size:0.95rem;margin-bottom:6px;}
  .og-card p{font-size:0.8rem;gap:5px;}
  .og-card p svg{flex-basis:15px;width:15px;height:15px;}
  .og-ex span.chip{font-size:0.7rem;padding:3px 7px;}
  .og-ends .mid{display:none;}
  .og-ticks i{width:17px;height:17px;font-size:0.6rem;line-height:11px;}
}
@media print{
  .og{width:auto;left:auto;transform:none;}
  .og-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
  .og-card{box-shadow:none;padding:6px 8px 8px;}
  .og-card p{font-size:0.72rem;}
}

/* Section 3 state cards */
.s3{width:min(1160px,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%);margin:26px 0 30px;}
.s3 *{box-sizing:border-box;}
.s3-gh{display:flex;align-items:center;gap:10px;margin:0 0 12px;}
.s3-gh h4{margin:0;font-size:0.8rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--indigo,#1F3883);}
.s3-gh i{flex:0 0 26px;height:12px;border-radius:3px;}
.s3-gh .n{white-space:nowrap;font-size:0.8rem;font-weight:700;color:var(--muted,#4A5568);}
.s3-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px;}
.s3-grid.fund{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;}
.s3-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border,#D8E0EC);border-top:5px solid #1F3883;border-radius:14px;padding:12px 14px 13px;box-shadow:0 6px 22px rgba(31,56,131,.08);break-inside:avoid;}
.s3-card.s3-fund{border-top-color:#47C8E3;}
.s3-top{display:flex;align-items:center;gap:12px;margin:0 0 8px;}
.s3-sil{flex:0 0 64px;width:64px;height:64px;}
.s3-top h4{margin:0;font-size:1.12rem;line-height:1.15;font-weight:800;color:var(--indigo,#1F3883);letter-spacing:-0.01em;}
.s3-city{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:0.7rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:#1B2233;background:#E9F5EE;border:1px solid #BFDFCB;border-radius:99px;padding:1px 8px 1px 5px;}
.s3-city svg{width:13px;height:13px;}
.s3-law{margin:0 0 8px;background:#F4F7FB;border:1px solid var(--border,#D8E0EC);border-radius:8px;padding:4px 9px;font-size:0.76rem;line-height:1.38;font-weight:600;color:var(--ink,#1B2233);}
.s3-law .cite{font-weight:400;}
.s3-allows{list-style:none;margin:0 0 10px;padding:0;}
.s3-allows li{position:relative;margin:0 0 4px;padding-left:15px;font-size:0.86rem;line-height:1.33;color:var(--ink,#1B2233);}
.s3-allows li::before{content:"";position:absolute;left:1px;top:0.5em;width:7px;height:7px;border-radius:50%;background:#47C8E3;}
.s3-who{margin-top:auto;border-top:1px dashed var(--border,#D8E0EC);padding-top:8px;}
.s3-lbl{display:block;font-size:0.66rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted,#4A5568);margin:0 0 5px;}
.s3-owns{display:flex;flex-wrap:wrap;gap:6px 10px;}
.s3-own{display:inline-flex;align-items:center;gap:6px;font-size:0.8rem;line-height:1.2;font-weight:700;color:var(--indigo,#1F3883);}
.s3-own img,.s3-own svg{flex:0 0 48px;width:48px;height:48px;border-radius:8px;}
.s3-note{margin:6px 0 0;font-size:0.76rem;line-height:1.35;color:var(--muted,#4A5568);}
.s3-key{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;margin:6px 0 0;font-size:0.8rem;color:var(--muted,#4A5568);}
.s3-key span{display:inline-flex;align-items:center;gap:6px;}
.s3-key img,.s3-key svg{width:38px;height:38px;border-radius:6px;}
@media screen and (max-width:1000px){.s3-grid,.s3-grid.fund{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media screen and (max-width:760px){
  .s3{width:auto;left:auto;transform:none;margin:22px 0 26px;}
  .s3-grid,.s3-grid.fund{grid-template-columns:1fr;gap:10px;}
  .s3-card{padding:10px 12px 11px;}
  .s3-sil{flex-basis:54px;width:54px;height:54px;}
}
@media print{
  .s3{width:auto;left:auto;transform:none;}
  .s3-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .s3-grid.fund{grid-template-columns:repeat(4,minmax(0,1fr));}
  .s3-card{box-shadow:none;padding:7px 9px;}
  .s3-allows li{font-size:0.74rem;}
}

/* E2 property line overlay */
.e2fig { position: relative; margin: 0; container-type: inline-size; line-height: 0; }
  .e2fig img { width: 100%; height: auto; display: block; }
  .e2fig svg.e2lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
  .e2fig .e2lab { position: absolute; transform: translate(-50%, -50%); line-height: 1.2; white-space: nowrap;
                  background: rgba(11,16,34,0.80); border: 0.08cqw solid rgba(255,255,255,0.28); border-radius: 0.6cqw;
                  padding: 0.55cqw 1.2cqw; font-size: 1.55cqw; font-weight: 600; color: #FFFFFF; letter-spacing: 0.01em; }
  .e2fig .e2lab b { font-weight: 700; }
  .e2fig .e2lab.sys b { color: #83B895; }
  .e2fig .e2lab.utl b { color: #47C8E3; }
  .e2fig .e2key { position: absolute; right: 3.2%; top: 6.3%; transform: translateY(-50%); line-height: 1; display: flex; align-items: center; gap: 0.7cqw;
                  font-size: 1.15cqw; font-weight: 600; color: rgba(255,255,255,0.92); background: rgba(11,16,34,0.72);
                  padding: 0.45cqw 0.9cqw; border-radius: 0.5cqw; }
  .e2fig .e2key svg { width: 3.2cqw; height: 0.6cqw; }
  .e2fig .e2key span { display: inline-flex; align-items: center; gap: 0.7cqw; }
  .e2fig .e2key { gap: 1.6cqw; }

/* Section 5 contract cards */
.s5{width:min(1160px,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%);margin:26px 0 30px;}
.s5 *{box-sizing:border-box;}
.s5-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.s5-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border,#D8E0EC);border-top:5px solid var(--c);border-radius:14px;padding:10px 13px 14px;box-shadow:0 6px 22px rgba(31,56,131,.08);break-inside:avoid;}
.s5-card img{width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 auto 4px;}
.s5-card h4{margin:0 0 9px;font-size:1rem;line-height:1.22;font-weight:800;color:var(--indigo,#1F3883);letter-spacing:-0.01em;min-height:2.44em;}
.s5-lbl{display:block;font-size:0.64rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted,#4A5568);margin:0 0 4px;}
.s5-chip{display:inline-block;margin:0 0 10px;background:var(--c);color:#fff;border-radius:9px;padding:6px 11px;font-size:0.95rem;line-height:1.2;font-weight:800;letter-spacing:-0.005em;}
.s5-why{margin:0;padding-top:8px;border-top:1px dashed var(--border,#D8E0EC);font-size:0.86rem;line-height:1.35;color:var(--ink,#1B2233);}
.s5-body{display:flex;flex-direction:column;flex:1;}
.s5-why{margin-top:auto;}
.s5-note{margin:14px 0 0;font-size:0.84rem;color:var(--muted,#4A5568);text-align:center;}
@media screen and (max-width:1000px){.s5-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media screen and (max-width:760px){
  .s5{width:auto;left:auto;transform:none;margin:22px 0 26px;}
  .s5-grid{grid-template-columns:1fr;gap:10px;}
  .s5-card{flex-direction:row;align-items:center;gap:10px;padding:8px 12px 10px 8px;}
  .s5-card img{flex:0 0 112px;width:112px;margin:0;}
  .s5-card h4{min-height:0;font-size:0.98rem;margin-bottom:6px;}
  .s5-chip{font-size:0.88rem;padding:5px 9px;margin-bottom:7px;}
  .s5-why{font-size:0.82rem;padding-top:6px;}
}
@media print{
  .s5{width:auto;left:auto;transform:none;}
  .s5-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
  .s5-card{box-shadow:none;padding:6px 8px 8px;}
  .s5-chip,.s5-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}

/* Section 6 issuer cards */
.s6{width:min(1160px,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%);margin:26px 0 30px;}
.s6 *{box-sizing:border-box;}
.s6-state{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:stretch;margin:0 0 14px;}
.s6-head{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(160deg,#EEF3FA,#F4F7FB);border:1px solid var(--border,#D8E0EC);border-radius:14px;padding:10px;}
.s6-head svg,.s6-head img.s6-sil{width:96px;height:96px;}
.s6-head h4{margin:4px 0 0;font-size:1.02rem;font-weight:800;color:var(--indigo,#1F3883);}
.s6-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.s6-card{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--border,#D8E0EC);border-left:5px solid var(--c);border-radius:14px;padding:8px 12px 10px 6px;box-shadow:0 6px 22px rgba(31,56,131,.08);break-inside:avoid;}
.s6-card img{flex:0 0 108px;width:108px;height:108px;object-fit:contain;}
.s6-card h5{margin:0;font-size:1.02rem;line-height:1.2;font-weight:800;color:var(--indigo,#1F3883);}
.s6-full{margin:1px 0 6px;font-size:0.74rem;line-height:1.3;color:var(--muted,#4A5568);}
.s6-form{display:inline-block;margin:0 0 5px;background:var(--c);color:#fff;border-radius:7px;padding:3px 8px;font-size:0.76rem;line-height:1.3;font-weight:800;}
.s6-form .cite{color:rgba(255,255,255,.88);font-weight:500;}
.s6-form .cite sup a{color:#fff;}
.s6-form .tag{margin-left:2px;}
.s6-fact{margin:0;font-size:0.82rem;line-height:1.33;color:var(--ink,#1B2233);}
.s6-key{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:4px 0 0;font-size:0.82rem;color:var(--muted,#4A5568);}
.s6-key span{display:inline-flex;align-items:center;gap:6px;}
.s6-key i{width:14px;height:14px;border-radius:4px;display:inline-block;}
@media screen and (max-width:1000px){.s6-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media screen and (max-width:760px){
  .s6{width:auto;left:auto;transform:none;margin:22px 0 26px;}
  .s6-state{grid-template-columns:1fr;gap:8px;}
  .s6-head{flex-direction:row;gap:10px;justify-content:flex-start;padding:6px 10px;}
  .s6-head svg,.s6-head img.s6-sil{width:48px;height:48px;}
  .s6-head h4{margin:0;}
  .s6-cards{grid-template-columns:1fr;gap:8px;}
  .s6-card img{flex-basis:92px;width:92px;height:92px;}
}
@media print{
  .s6{width:auto;left:auto;transform:none;}
  .s6-card{box-shadow:none;}
  .s6-form,.s6-card,.s6-head{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}

/* Section 9 city cards */
.s8{margin:18px 0 34px;}
.s8 *{box-sizing:border-box;}
.s8-card{background:#fff;border:1px solid var(--border,#D8E0EC);border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(31,56,131,.08);margin:0 0 14px;}
.s8 figure.s8-hero{position:relative;margin:0;background:#F4F7FB;border:none;border-radius:0;padding:0;box-shadow:none;}
.s8-hero img{width:100%;height:auto;display:block;}
.s8-hero h3{position:absolute;left:14px;top:12px;margin:0;background:rgba(31,56,131,.92);color:#fff;font-size:1.12rem;line-height:1.2;font-weight:800;padding:6px 12px;border-radius:9px;letter-spacing:-0.01em;}
.s8-cap{margin:0;padding:8px 16px 0;font-size:0.8rem;line-height:1.45;color:var(--muted,#4A5568);}
.s8-cap b{color:var(--indigo,#1F3883);margin-right:4px;}
.s8-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px;padding:10px 16px 14px;}
.s8-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--border,#D8E0EC);break-inside:avoid;}
.s8-ic{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#EEF3FA;display:flex;align-items:center;justify-content:center;}
.s8-ic svg{width:24px;height:24px;}
.s8-row h5{margin:1px 0 3px;font-size:0.72rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--indigo,#1F3883);}
.s8-row ul{list-style:none;margin:0;padding:0;}
.s8-row li{position:relative;margin:0 0 3px;padding-left:13px;font-size:0.85rem;line-height:1.36;color:var(--ink,#1B2233);}
.s8-row li::before{content:"";position:absolute;left:0;top:0.52em;width:6px;height:6px;border-radius:50%;background:#47C8E3;}
.s8 .view{margin:0 0 30px;}
@media screen and (max-width:760px){
  .s8-rows{grid-template-columns:1fr;padding:6px 12px 10px;}
  .s8-hero h3{font-size:0.98rem;left:8px;top:8px;padding:4px 9px;}
  .s8-cap{padding:6px 12px 0;}
  .s8-row li{font-size:0.84rem;}
}
@media print{
  .s8-card{box-shadow:none;break-inside:auto;}
  .s8-hero img{max-height:3.4in;width:auto;margin:0 auto;}
  .s8-hero h3,.s8-ic{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .s8-row li{font-size:0.78rem;}
}

/* Section 10 checklist path */
.s9{width:min(1160px,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%);margin:22px 0 30px;padding:0 46px;}
.s9 *{box-sizing:border-box;}
.s9-intro{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;margin:0 0 12px;font-size:0.84rem;color:var(--muted,#4A5568);}
.s9-intro span{display:inline-flex;align-items:center;gap:6px;}
.s9-intro .box{width:16px;height:16px;border:2px solid var(--blue,#3175B1);border-radius:4px;background:#fff;}
.s9-lane{position:relative;padding:0 0 22px;}
.s9-ph{display:flex;align-items:center;gap:10px;height:70px;margin:0 0 6px;}
.s9-lane.rev .s9-ph{flex-direction:row-reverse;text-align:right;}
.s9-ph img{width:70px;height:70px;object-fit:contain;}
.s9-ph h4{margin:0;font-size:0.9rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--t);line-height:1.2;}
.s9-ph .rng{font-size:0.78rem;color:var(--muted,#4A5568);font-weight:600;}
.s9-road{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start;}
.s9-road::before{content:"";position:absolute;left:-24px;right:-24px;top:26px;height:10px;border-radius:0;background:var(--c);opacity:.85;}
.s9-lane.first .s9-road::before{left:0;border-radius:6px 0 0 6px;}
.s9-lane.last.fwd .s9-road::before{right:0;border-radius:0 6px 6px 0;}
.s9-lane.last.rev .s9-road::before{left:calc(3 * ((100% - 48px) / 5 + 12px) + (100% - 48px) / 10);border-radius:6px 0 0 6px;}
.s9-lane.last .s9-end{position:absolute;top:12px;left:calc(3 * ((100% - 48px) / 5 + 12px) + (100% - 48px) / 10 - 12px);transform:translateX(-100%);margin:0;direction:ltr;}
.s9-lane.rev .s9-road{direction:rtl;}
.s9-lane.rev .s9-road>*{direction:ltr;}
/* U-turn from this lane's road to the next lane's road */
.s9-lane::after{content:"";box-sizing:border-box;position:absolute;top:102px;height:calc(100% + 10px);width:44px;border:10px solid var(--c);opacity:.85;}
.s9-lane.fwd::after{right:-44px;border-left:none;border-radius:0 44px 44px 0;}
.s9-lane.rev::after{left:-44px;border-right:none;border-radius:44px 0 0 44px;}
.s9-lane.last::after{display:none;}
.s9-g{position:relative;display:flex;flex-direction:column;align-items:center;z-index:1;}
.s9-gate{width:64px;height:56px;}
.s9-num{position:absolute;top:19px;left:50%;transform:translateX(-50%);font-size:0.95rem;font-weight:800;color:var(--indigo,#1F3883);width:30px;text-align:center;line-height:24px;}
.s9-q{margin:6px 0 0;width:100%;background:#fff;border:1px solid var(--border,#D8E0EC);border-top:4px solid var(--c);border-radius:12px;padding:8px 10px 9px;box-shadow:0 5px 18px rgba(31,56,131,.07);}
.s9-q p{margin:0;}
.s9-q .qt{display:flex;gap:7px;align-items:flex-start;font-size:0.86rem;line-height:1.3;font-weight:700;color:var(--ink,#1B2233);}
.s9-q .qt .box{flex:0 0 17px;width:17px;height:17px;margin-top:1px;border:2px solid var(--blue,#3175B1);border-radius:4px;background:#fff;}
.s9-q .why{margin-top:6px;padding-top:5px;border-top:1px dashed var(--border,#D8E0EC);font-size:0.76rem;line-height:1.35;color:var(--muted,#4A5568);}
.s9-end{display:flex;justify-content:flex-start;margin:-8px 0 0;}
.s9-end span{display:inline-flex;align-items:center;gap:8px;background:#E9F5EE;border:1px solid #BFDFCB;color:#2F6B45;border-radius:99px;padding:5px 14px;font-size:0.84rem;font-weight:800;}
@media screen and (max-width:1000px){
  .s9{padding:0;}
  .s9-road{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px;}
  .s9-road::before,.s9-lane::after{display:none;}
  .s9-lane{padding-bottom:14px;border-bottom:1px solid var(--border,#D8E0EC);margin-bottom:10px;}
  .s9-lane.rev .s9-road{direction:ltr;}
  .s9-lane.rev .s9-ph{flex-direction:row;text-align:left;}
  .s9-lane.last .s9-end{position:static;transform:none;justify-content:center;margin:12px 0 0;grid-column:1/-1;}
}
@media screen and (max-width:760px){
  .s9{width:auto;left:auto;transform:none;margin:20px 0 26px;}
  .s9-lane{border:none;margin:0 0 4px;padding:0 0 8px;}
  .s9-ph{height:auto;}
  .s9-ph img{width:58px;height:58px;}
  .s9-road{grid-template-columns:1fr;row-gap:8px;}
  .s9-road::before{display:block;left:21px;right:auto;top:0;bottom:0;width:6px;height:auto;border-radius:3px;background:var(--c);opacity:.45;}
  .s9-lane.first .s9-road::before,.s9-lane.last .s9-road::before,.s9-lane.last.rev .s9-road::before,.s9-lane.last.fwd .s9-road::before{left:21px;right:auto;border-radius:3px;}
  .s9-g{flex-direction:row;align-items:flex-start;gap:6px;}
  .s9-gate{flex:0 0 48px;width:48px;height:42px;}
  .s9-num{top:12px;left:24px;font-size:0.82rem;width:24px;line-height:20px;}
  .s9-q{margin:0;}
}
@media print{
  .s9{width:auto;left:auto;transform:none;}
  .s9-q{box-shadow:none;}
  .s9-lane{break-inside:avoid;}
  .s9-road::before,.s9-lane::after,.s9-gate{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}

/* overlay figures (E1, E2): labels are HTML over the image, so the image keeps full container width */
figure.ovfig .img{background:#0B1022;}
@media print{
  figure.ovfig .img{max-width:6.9in;margin:0 auto;}
  figure.ovfig .img img{max-height:none !important;width:100% !important;}
}
/* titles too long to sit beside their icon go under it, same size */
.s3-stack .s3-top{flex-direction:column;align-items:flex-start;gap:4px;}
.s6-stack{flex-direction:column;align-items:flex-start;gap:4px;padding-left:12px;}
.s6-stack img{margin-left:-6px;}

/* Section 6 GO vs revenue bonds */
.gr{width:min(1160px,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%);margin:22px 0 28px;}
.gr *{box-sizing:border-box;}
.gr-grid{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1fr);gap:8px 12px;align-items:stretch;}
.gr-colh{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border,#D8E0EC);border-top:5px solid var(--c);border-radius:14px;padding:8px 12px;box-shadow:0 6px 22px rgba(31,56,131,.08);}
.gr-colh svg{flex:0 0 52px;width:52px;height:52px;}
.gr-colh h4{margin:0;font-size:1.08rem;line-height:1.2;font-weight:800;color:var(--c);}
.gr-colh span{display:block;font-size:0.8rem;font-weight:600;color:var(--muted,#4A5568);}
.gr-lab{display:flex;gap:9px;align-items:center;padding:6px 4px;border-bottom:1px dashed var(--border,#D8E0EC);}
.gr-lab svg{flex:0 0 34px;width:34px;height:34px;}
.gr-lab p{margin:0;font-size:0.8rem;line-height:1.3;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--indigo,#1F3883);}
.gr-lab .cite{display:block;margin-top:2px;font-size:0.7rem;letter-spacing:0;text-transform:none;font-weight:500;}
.gr-lab .tag{margin-top:3px;font-size:0.6rem;}
.gr-cell{background:#fff;border:1px solid var(--border,#D8E0EC);border-left:5px solid var(--c);border-radius:12px;padding:8px 12px;break-inside:avoid;}
.gr-cell b{display:block;font-size:0.98rem;line-height:1.25;font-weight:800;color:var(--ink,#1B2233);}
.gr-cell span{display:block;margin-top:2px;font-size:0.84rem;line-height:1.3;color:var(--muted,#4A5568);}
.gr-cell.warn{background:#FFF8F1;}
.gr-hidden{visibility:hidden;}
@media screen and (max-width:760px){
  .gr{width:auto;left:auto;transform:none;margin:18px 0 24px;}
  .gr-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 8px;}
  .gr-hidden{display:none;}
  .gr-lab{grid-column:1 / -1;border-bottom:none;padding:10px 2px 0;}
  .gr-lab svg{flex-basis:28px;width:28px;height:28px;}
  .gr-colh{flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;}
  .gr-colh svg{width:40px;height:40px;flex-basis:40px;}
  .gr-colh h4{font-size:0.98rem;}
  .gr-cell{padding:7px 9px;}
  .gr-cell b{font-size:0.9rem;}
  .gr-cell span{font-size:0.78rem;}
}
@media print{
  .gr{width:auto;left:auto;transform:none;}
  .gr-colh{box-shadow:none;}
  .gr-colh,.gr-cell{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}

/* Section 7 long-term financing */
/* Section 7 long-term precedent cards (same family as the Section 2 owner gallery) */
.tag.ill{background:#FBF1DF;color:#8A5A0B;border:1px solid #E2C48E;}
.lt{--lt-ok:#2F7A4F;width:min(1160px,calc(100vw - 32px));position:relative;left:50%;transform:translateX(-50%);margin:26px 0 30px;}
.lt *{box-sizing:border-box;}
.lt-scale{margin:0 auto 16px;}
.lt-ends{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 7px;font-size:0.8rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;}
.lt-ends .a{color:#1F3883;} .lt-ends .b{color:#4E8A62;}
.lt-ends .mid{font-size:0.72rem;letter-spacing:0.06em;color:var(--muted,#4A5568);font-weight:600;text-transform:none;}
.lt-bar{position:relative;height:12px;border-radius:99px;background:linear-gradient(90deg,#1F3883 0%,#3175B1 38%,#47C8E3 62%,#83B895 100%);}
.lt-bar i{position:absolute;top:50%;width:2px;height:20px;background:#fff;transform:translate(-1px,-50%);box-shadow:0 0 0 1px rgba(27,34,51,.25);}
.lt-bar b{position:absolute;top:18px;transform:translateX(-50%);font-size:0.72rem;font-weight:800;color:var(--muted,#4A5568);white-space:nowrap;}
.lt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px;}
.lt-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border,#D8E0EC);border-top:5px solid var(--c);
  border-radius:14px;padding:10px 14px 14px;box-shadow:0 6px 22px rgba(31,56,131,.08);break-inside:avoid;}
.lt-kind{position:absolute;top:10px;left:12px;z-index:1;font-size:0.66rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;
  color:#fff;background:var(--c);border-radius:99px;padding:3px 9px;}
.lt-term{position:absolute;top:10px;right:12px;z-index:1;font-size:0.92rem;font-weight:800;color:var(--c);background:#fff;border:2px solid var(--c);
  border-radius:99px;padding:2px 10px;white-space:nowrap;}
.lt-card img{width:100%;aspect-ratio:1/1;object-fit:contain;margin:6px auto 2px;}
.lt-card h4{margin:0 0 8px;font-size:1.04rem;line-height:1.2;font-weight:800;color:var(--indigo,#1F3883);letter-spacing:-0.01em;}
.lt-card p{display:flex;gap:7px;align-items:flex-start;margin:0 0 6px;font-size:0.86rem;line-height:1.32;color:var(--ink,#1B2233);}
.lt-card p svg{flex:0 0 17px;width:17px;height:17px;margin-top:1px;}
.lt-ex{margin-top:auto;padding-top:8px;}
.lt-ex span.chip{display:inline-block;background:#F4F7FB;border:1px solid var(--border,#D8E0EC);border-radius:8px;padding:4px 9px;font-size:0.76rem;line-height:1.35;color:var(--ink,#1B2233);font-weight:600;}
.lt-ex .cite{font-weight:400;}
.lt-note{margin:14px 0 0;font-size:0.84rem;color:var(--muted,#4A5568);text-align:center;}
.lt-note svg{width:14px;height:14px;vertical-align:-2px;margin:0 3px 0 0;}
.lt-steps{list-style:none;padding:0;margin:18px 0 20px;counter-reset:st;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.lt-steps li{counter-increment:st;position:relative;background:#fff;border:1px solid var(--border,#D8E0EC);border-radius:12px;padding:14px 14px 12px 50px;margin:0;font-size:0.92rem;line-height:1.45;}
.lt-steps li::before{content:counter(st);position:absolute;left:14px;top:13px;width:26px;height:26px;border-radius:50%;background:var(--indigo,#1F3883);color:#fff;font-weight:800;font-size:0.8rem;line-height:26px;text-align:center;}
.lt-steps li b{color:var(--indigo,#1F3883);}
.lt-limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 20px;}
.lt-limit{background:#fff;border:1px solid var(--border,#D8E0EC);border-left:4px solid #B7791F;border-radius:10px;padding:12px 14px;font-size:0.92rem;line-height:1.45;}
.lt-limit .lh{display:flex;align-items:center;gap:8px;font-weight:800;color:#8A5A0B;margin:0 0 4px;}
.lt-limit .lh svg{width:18px;height:18px;flex:0 0 18px;}
.lt-limit p{margin:0;}
.lt-math{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 6px;}
.lt-math > div{background:#fff;border:1px solid var(--border,#D8E0EC);border-top:4px solid var(--c);border-radius:10px;padding:10px 12px;text-align:center;}
.lt-math .y{font-size:0.8rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--c);}
.lt-math .v{font-size:1.35rem;font-weight:800;color:var(--ink,#1B2233);line-height:1.15;margin:2px 0;}
.lt-math .s{font-size:0.8rem;color:var(--muted,#4A5568);line-height:1.35;}
@media (max-width:760px){
  .lt{width:auto;left:auto;transform:none;margin:22px 0 26px;}
  .lt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .lt-card{padding:8px 10px 11px;border-radius:12px;}
  .lt-kind{top:8px;left:8px;font-size:0.56rem;padding:2px 6px;letter-spacing:0.08em;}
  .lt-term{position:static;align-self:flex-start;margin:24px 0 0;font-size:0.74rem;padding:1px 7px;}
  .lt-card img{margin-top:4px;}
  .lt-card h4{font-size:0.93rem;margin-bottom:6px;}
  .lt-card p{font-size:0.8rem;gap:5px;}
  .lt-card p svg{flex-basis:15px;width:15px;height:15px;}
  .lt-ex span.chip{font-size:0.7rem;padding:3px 7px;}
  .lt-ends .mid{display:none;}
  .lt-bar b{font-size:0.62rem;}
  .lt-steps{grid-template-columns:1fr;}
  .lt-limits{grid-template-columns:1fr;}
  .lt-math{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media print{
  .lt{width:auto;left:auto;transform:none;}
  .lt-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
  .lt-card{box-shadow:none;padding:6px 8px 8px;}
  .lt-card p{font-size:0.72rem;}
}

/* v6 merge fixes: cover figure is not a report figure; print layout of snippets */
.cv figure.cv-media{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;}
.s9-print{display:none;}
@media print{
  .cv figure.cv-media{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;}
  .goal{padding:6px 0 10px;}
  .tk-grid{gap:8px;}
  .tk{padding:9px 14px 7px;}
  .tk .h{font-size:1.04rem;margin-bottom:3px;}
  .tk li{font-size:0.9rem;padding:1px 0 1px 14px;}
  .stats{margin-top:12px;}
  .stat{padding:10px 12px 8px;}
  .stat .big{font-size:1.5rem;}
  figure.ovfig .img{max-width:6.0in;}
  .s6-state{grid-template-columns:122px minmax(0,1fr);gap:8px;margin-bottom:8px;}
  .s6-head h4{font-size:0.8rem;}
  .s6-head svg,.s6-head img.s6-sil{width:64px;height:64px;}
  .s6-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .s6-card{padding:6px 8px 7px 4px;gap:6px;}
  .s6-card img{flex:0 0 54px;width:54px;height:54px;}
  .s5-card h4{font-size:0.86rem;}
  .s5-chip{font-size:0.8rem;padding:4px 7px;}
  .s5-why{font-size:0.76rem;}
  .s8-hero img{max-height:2.9in;}
  .s9{display:none !important;}
  .s9-print{display:block;width:100%;max-height:7.2in;object-fit:contain;margin:6px auto 0;}
  footer{break-inside:avoid;page-break-inside:avoid;padding:18px 0 0;}
  .og-spec{padding:0 12px;}
  .lt-scale{padding:0 16px;}
  .lt{width:auto;left:auto;transform:none;}
  .lt-card{box-shadow:none;}
  .screen-only{display:none;}
  .og,.og *{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .e1fig .e1lab h4{white-space:nowrap;font-size:1.8cqw;}
  .tk-grid{margin-bottom:4px;}
  @page{@bottom-right{content:counter(page);font:600 8pt Inter,-apple-system,Helvetica,Arial,sans-serif;color:#1F3883;}
        @bottom-left{content:"Gaiergy Corp | Governance and Operations of Thermal Energy Networks";font:8pt Inter,-apple-system,Helvetica,Arial,sans-serif;color:#4A5568;}}
  @page :first{@bottom-right{content:none;}@bottom-left{content:none;}}
  .og{break-inside:auto;}
  .og-card{break-inside:avoid;page-break-inside:avoid;}
  .og-spec{break-after:avoid;page-break-after:avoid;}
  .s3-fundgrp{break-inside:avoid;page-break-inside:avoid;}
  .s3-key{break-before:avoid;page-break-before:avoid;}
  figure.fig-compact .img img{max-height:4.0in;}
  figure.fig-tight .img img{max-height:3.2in;}
  .s6-state{display:flex !important;gap:8px;break-inside:avoid;page-break-inside:avoid;}
  .s6-head{flex:0 0 122px;}
  .s6-cards{flex:1 1 auto;}
  .keep-block > h3,.keep-block > p{break-after:avoid;page-break-after:avoid;}
  .keep-block .s6{break-before:avoid;page-break-before:avoid;}
  .keep-block .s6-state:first-child{break-before:avoid;}
  /* v8: larger figures in print */
  @page landscape{size:Letter landscape;margin:0.45in 0.5in 0.55in;}
  figure.fig-land{page:landscape;break-before:page;break-after:page;margin:0;border:0;padding:0;}
  figure.fig-land .img img{max-height:6.55in !important;width:100% !important;max-width:none;}
  figure.mapfig.fig-page .img img{max-height:8.6in !important;width:100% !important;}
  .s9-print{max-height:none !important;width:100% !important;}
  .s9-print-b{break-before:page;page-break-before:always;}
  /* v8: city snapshots split at natural boundaries, no open frames */
  .s8-card{border:0 !important;border-radius:0 !important;overflow:visible !important;background:transparent;}
  .s8-hero{break-inside:avoid;break-after:avoid;}
  .s8-cap{break-before:avoid;break-after:avoid;padding-left:0;}
  .s8-rows{padding-left:0;padding-right:0;}
  .s8-row{break-inside:avoid;page-break-inside:avoid;}
  .s8-hero img{max-height:2.3in !important;}
  #acronyms .acr-grid table{font-size:8.4pt !important;line-height:1.18 !important;}
  #acronyms .acr-grid td,#acronyms .acr-grid th{padding:1.6px 6px !important;}
}

/* web copy: PDF download link */
.cv-dl{margin:clamp(20px,2.4vw,32px) 0 0;}
.cv-dl a{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;
  border:1px solid rgba(71,200,227,.55);color:#fff;text-decoration:none;font-size:14px;font-weight:600;
  letter-spacing:.02em;background:rgba(71,200,227,.10);}
.cv-dl a:hover{background:rgba(71,200,227,.22);color:#fff;}
.cv-dl a svg{width:16px;height:16px;flex:0 0 16px;}
.cv-dl small{font-weight:400;color:rgba(255,255,255,.66);font-size:13px;}
.ft-dl{margin-top:8px;}
.s3-sil{object-fit:contain;}
@media print{.cv-dl,.ft-dl{display:none !important;}}
