:root{--navy:#0c2340;--navy2:#132f54;--navy3:#1b3d6b;--gold:#b8955a;--gold-l:#d9c29a;--ink:#1f2937;--muted:#5f6b7a;--line:#e3e0d8;--cream:#f7f5f0;--white:#fff}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Source Sans 3','Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--white);font-size:17px;line-height:1.65}
a{color:inherit;text-decoration:none}
h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:600}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px}
.notice{background:var(--gold);color:var(--navy);text-align:center;font-size:13px;font-weight:600;padding:7px 16px;letter-spacing:.04em}
.util{background:var(--navy);color:#aab6c8;font-size:12.5px;letter-spacing:.04em}
.util .wrap{display:flex;justify-content:space-between;height:36px;align-items:center}
.util span+span{margin-left:22px}
header.main{background:#fff;border-bottom:1px solid var(--line)}
header.main .wrap{display:flex;align-items:center;justify-content:space-between;height:92px}
.brand{display:flex;align-items:center;gap:16px}
.mono{width:48px;height:48px;border:1.5px solid var(--gold);display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:24px;color:var(--navy);position:relative}
.mono::after{content:"";position:absolute;inset:3px;border:1px solid var(--gold-l)}
.brand .nm{font-family:'Playfair Display',serif;font-size:25px;color:var(--navy);letter-spacing:.01em;line-height:1.1}
.brand .nm small{display:block;font-family:'Source Sans 3',sans-serif;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-top:5px;font-weight:600}
nav.primary{display:flex;gap:34px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
nav.primary a{padding:6px 0;border-bottom:2px solid transparent}
nav.primary a.on,nav.primary a:hover{border-bottom-color:var(--gold)}
.btn{display:inline-block;padding:13px 26px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);transition:.2s}
.btn.solid{background:var(--gold);color:var(--navy)}
.btn:hover{background:var(--gold);color:var(--navy)}
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;border:1px solid rgba(184,149,90,.25);border-radius:50%}
.hero::after{content:"";position:absolute;right:-40px;top:-40px;width:360px;height:360px;border:1px solid rgba(184,149,90,.18);border-radius:50%}
.hero .wrap{padding-top:96px;padding-bottom:100px;position:relative;z-index:1}
.kicker{font-size:12.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:600;display:flex;align-items:center;gap:14px}
.kicker::before{content:"";width:40px;height:1px;background:var(--gold)}
.hero h1{font-size:56px;line-height:1.12;margin:22px 0 22px;max-width:760px;font-weight:500}
.hero h1 em{color:var(--gold-l);font-style:italic}
.hero p{font-size:19px;color:#c3cddb;max-width:600px;margin-bottom:36px}
.hero .actions{display:flex;gap:16px;flex-wrap:wrap}
.hero .btn:not(.solid){color:#fff;border-color:rgba(255,255,255,.4)}
.stats{background:var(--navy2);color:#fff;border-top:1px solid rgba(184,149,90,.3)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stats div.s{padding:28px 0 28px 28px;border-left:1px solid rgba(255,255,255,.08)}
.stats div.s:first-child{border-left:0;padding-left:0}
.stats b{font-family:'Playfair Display',serif;font-size:32px;color:var(--gold-l);font-weight:500;display:block;line-height:1.1}
.stats small{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9fb0c6}
.section{padding:96px 0}
.section.cream{background:var(--cream)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:24px;flex-wrap:wrap}
.sec-head h2{font-size:40px;color:var(--navy);font-weight:500;line-height:1.15}
.sec-head p{color:var(--muted);max-width:420px}
.rule{width:56px;height:2px;background:var(--gold);margin:18px 0 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);padding:30px 30px 26px;display:flex;flex-direction:column;transition:.25s;position:relative}
.card:hover{border-top-color:var(--gold);box-shadow:0 18px 40px -18px rgba(12,35,64,.28);transform:translateY(-3px)}
.card .row{display:flex;justify-content:space-between;align-items:flex-start}
.card .tk{font-family:'Playfair Display',serif;font-size:30px;color:var(--navy);line-height:1}
.card .ex{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:8px;font-weight:600}
.pill{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:5px 10px;border:1px solid var(--gold);color:#8a6a33;background:#fbf7ef}
.pill.navy{border-color:var(--navy);color:var(--navy);background:#eef2f8}
.card h3{font-size:20px;color:var(--ink);margin:22px 0 8px;font-weight:600}
.card p{color:var(--muted);font-size:15.5px;flex:1}
.card dl{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:22px;padding-top:16px}
.card dt{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.card dd{font-family:'Playfair Display',serif;font-size:19px;color:var(--navy)}
.card .more{margin-top:20px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.approach{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.approach .n{font-family:'Playfair Display',serif;font-size:44px;color:var(--gold);line-height:1;font-style:italic}
.approach h3{font-size:22px;color:var(--navy);margin:14px 0 10px;font-weight:600}
.approach p{color:var(--muted)}
footer{background:var(--navy);color:#9fb0c6;font-size:14px}
footer .top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding:64px 0 44px;border-bottom:1px solid rgba(255,255,255,.08)}
footer .brand .nm{color:#fff}
footer .mono{color:#fff}
footer h4{color:var(--gold);font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px}
footer li{list-style:none;margin-bottom:8px}
footer .bot{display:flex;justify-content:space-between;padding:22px 0 28px;font-size:12.5px;flex-wrap:wrap;gap:12px}
footer .disc{color:var(--gold-l)}
/* stock page */
.phead{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.phead::after{content:"";position:absolute;right:-160px;bottom:-260px;width:560px;height:560px;border:1px solid rgba(184,149,90,.22);border-radius:50%}
.phead .wrap{padding-top:44px;padding-bottom:52px;position:relative;z-index:1}
.crumbs{font-size:13px;color:#9fb0c6;letter-spacing:.04em;margin-bottom:26px}
.crumbs a:hover{color:var(--gold-l)}
.phead-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.phead h1{font-size:50px;font-weight:500;line-height:1.1}
.phead h1 span{color:var(--gold-l);font-style:italic}
.phead .meta{color:#9fb0c6;font-size:14px;margin-top:12px;display:flex;gap:22px;flex-wrap:wrap}
.quote{display:flex;border:1px solid rgba(184,149,90,.4)}
.quote div{padding:16px 26px;border-left:1px solid rgba(184,149,90,.4)}
.quote div:first-child{border-left:0}
.quote small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9fb0c6;font-weight:600}
.quote b{font-family:'Playfair Display',serif;font-size:28px;font-weight:500;color:#fff}
.quote b.g{color:var(--gold-l)}
.body-grid{display:grid;grid-template-columns:1fr 330px;gap:64px;padding:64px 0 96px}
.report h2{font-size:30px;color:var(--navy);font-weight:500;margin:56px 0 6px;display:flex;align-items:baseline;gap:14px}
.report h2 .num{font-size:15px;color:var(--gold);font-family:'Source Sans 3',sans-serif;font-weight:700;letter-spacing:.14em}
.report h2:first-child{margin-top:0}
.report .rule{margin:10px 0 22px}
.report p{margin-bottom:16px}
.report ul{margin:0 0 16px 20px}
.report li{margin-bottom:8px}
.report li::marker{color:var(--gold)}
.chartcard{border:1px solid var(--line);background:var(--cream);padding:24px 24px 14px;margin:6px 0 10px}
.chartcard .hd{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:12px;letter-spacing:.04em}
.chartcard .hd b{font-family:'Playfair Display',serif;color:var(--navy);font-size:17px;font-weight:600;letter-spacing:0}
.chartcard .tabs span{margin-left:12px;padding-bottom:2px}
.chartcard .tabs span.on{color:var(--navy);border-bottom:2px solid var(--gold);font-weight:700}
.chartcard svg{display:block;width:100%;height:auto}
.cap{font-size:13px;color:var(--muted);font-style:italic}
table.fin{width:100%;border-collapse:collapse;font-size:15.5px;margin:6px 0 14px}
table.fin thead th{background:var(--navy);color:#fff;font-weight:600;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;padding:12px 16px;text-align:right}
table.fin th:first-child,table.fin td:first-child{text-align:left}
table.fin td{padding:11px 16px;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}
table.fin tbody tr:nth-child(even){background:var(--cream)}
table.fin tr.hl td{font-weight:700;color:var(--navy);border-top:2px solid var(--gold)}
blockquote{border-left:3px solid var(--gold);background:var(--cream);padding:20px 26px;margin:22px 0;font-family:'Playfair Display',serif;font-style:italic;font-size:21px;color:var(--navy);line-height:1.5}
.risk{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.risk .i{width:44px;height:44px;border:1px solid var(--gold);display:grid;place-items:center;font-family:'Playfair Display',serif;color:var(--gold);font-size:20px}
.risk h4{font-family:'Playfair Display',serif;color:var(--navy);font-size:18px;font-weight:600}
.risk p{margin:2px 0 0;color:var(--muted);font-size:15.5px}
.side .box{border:1px solid var(--line);border-top:3px solid var(--gold);padding:26px;margin-bottom:28px;background:#fff}
.side h3{font-size:20px;color:var(--navy);margin-bottom:14px;font-weight:600}
.side dl{display:grid;grid-template-columns:1fr auto;font-size:15px}
.side dt,.side dd{padding:9px 0;border-bottom:1px solid var(--line)}
.side dt{color:var(--muted)}
.side dd{font-weight:700;color:var(--navy);text-align:right}
.rating{text-align:center;padding:10px 0 4px}
.rating .big{font-family:'Playfair Display',serif;font-size:42px;color:var(--navy);line-height:1}
.rating small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:8px;font-weight:600}
.side .navy{background:var(--navy);color:#c3cddb;border-top-color:var(--gold)}
.side .navy h3{color:#fff}
.side .navy p{font-size:14.5px}
.side ol{list-style:none;counter-reset:c;font-size:15px}
.side ol li{counter-increment:c;padding:8px 0;border-bottom:1px solid var(--line)}
.side ol li::before{content:counter(c,upper-roman) ".";color:var(--gold);font-family:'Playfair Display',serif;display:inline-block;width:34px}
.fine{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:40px}
@media (max-width:980px){
 .cards{grid-template-columns:repeat(2,1fr)}
 .body-grid{grid-template-columns:1fr}
 nav.primary{display:none}
 .approach{grid-template-columns:1fr;gap:32px}
 footer .top{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 .wrap{padding:0 20px}
 .cards{grid-template-columns:1fr}
 .hero h1{font-size:38px}
 .phead h1{font-size:36px}
 .stats .wrap{grid-template-columns:repeat(2,1fr)}
 .stats div.s:nth-child(3){border-left:0;padding-left:0}
 .util .r{display:none}
 .quote{flex-wrap:wrap}
 .sec-head h2{font-size:32px}
 header.main .btn{display:none}
}
.body-grid>*{min-width:0}
@media (max-width:640px){table.fin{font-size:13.5px;display:block;overflow-x:auto;white-space:nowrap}table.fin td,table.fin thead th{padding:10px 10px}.quote div{padding:12px 16px}.quote b{font-size:22px}}

/* ===== Pathos production additions ===== */
.notice a{text-decoration:underline}
.report h3.sub{font-family:'Playfair Display',Georgia,serif;font-size:20px;color:var(--navy);margin:28px 0 10px;font-weight:600}
.report a,.fine a,.src a{color:#1b4f8a;text-decoration:underline;text-decoration-color:rgba(27,79,138,.35);text-underline-offset:2px}
.report a:hover{text-decoration-color:var(--gold)}
.tblwrap{width:100%;overflow-x:auto;margin:6px 0 14px}
.tblwrap table.fin{margin:0}
table.fin caption{caption-side:bottom;text-align:left;font-size:13px;color:var(--muted);font-style:italic;padding-top:8px}
table.fin td.l,table.fin th.l{text-align:left}
table.fin td small{color:var(--muted);font-size:12.5px}
table.fin.compact td{padding:9px 14px}
table.fin tr.sub td{color:var(--muted);font-size:14px}
.neg{color:#9b2c2c}
.pos{color:#1f6b45}
.callout{border:1px solid var(--line);border-left:3px solid var(--navy);background:#fff;padding:18px 22px;margin:18px 0;font-size:15.5px}
.callout b.t{display:block;font-family:'Playfair Display',Georgia,serif;color:var(--navy);font-size:17px;margin-bottom:4px}
.callout.gold{border-left-color:var(--gold);background:#fbf7ef}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:8px 0 22px}
.kpis div{padding:16px 18px;border-left:1px solid var(--line)}
.kpis div:first-child{border-left:0}
.kpis small{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.kpis b{font-family:'Playfair Display',Georgia,serif;font-size:24px;color:var(--navy);font-weight:500;line-height:1.3}
.kpis span{display:block;font-size:12.5px;color:var(--muted)}
.timeline{border-left:2px solid var(--gold-l);margin:8px 0 18px 6px;padding-left:22px}
.timeline li{list-style:none;position:relative;margin-bottom:12px;font-size:15.5px}
.timeline li::before{content:"";position:absolute;left:-29px;top:8px;width:10px;height:10px;border:2px solid var(--gold);background:#fff;border-radius:50%}
.timeline li b{color:var(--navy)}
.report .timeline{margin-left:6px}
.valbar{margin:20px 0 8px;padding:22px 20px 12px;border:1px solid var(--line);background:var(--cream)}
.valbar svg{display:block;width:100%;height:auto}
ol.src{margin:0 0 16px 22px;font-size:14.5px}
ol.src li{margin-bottom:9px}
ol.src li::marker{color:var(--gold);font-weight:700}
.asof{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#8a6a33;border:1px solid var(--gold);background:#fbf7ef;padding:3px 8px;margin-bottom:10px}
.side .box .note{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.5}
.side .navy a{color:var(--gold-l);text-decoration:underline}
.rating .big.sm{font-size:30px}
.rating p{font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.5}
.disc-block{background:var(--cream);border:1px solid var(--line);padding:22px 26px;font-size:14px;color:var(--muted);margin-top:36px}
.disc-block b{color:var(--navy)}
.card .asof-line{font-size:12px;color:var(--muted);margin-top:10px}
.cards.one{grid-template-columns:minmax(0,560px)}
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px}
.about-grid p{color:var(--muted);margin-bottom:14px}
.about-grid .disc-block{margin-top:0}
footer a:hover{color:var(--gold-l)}
footer p.legal{font-size:12.5px;line-height:1.6;color:#8797ad;padding:0 0 22px;max-width:980px}
@media (max-width:980px){.about-grid{grid-template-columns:1fr;gap:28px}}
@media (max-width:640px){
 .kpis{grid-template-columns:repeat(2,1fr)}
 .kpis div:nth-child(3){border-left:0}
 .kpis div:nth-child(n+3){border-top:1px solid var(--line)}
 .report h2{font-size:25px;flex-wrap:wrap;gap:4px 12px}
 .phead .meta{gap:6px 16px}
 .quote{width:100%}
 .quote div{flex:1 1 30%;min-width:0}
 footer .top{grid-template-columns:1fr;gap:28px}
 .tblwrap table.fin{display:table;white-space:nowrap}
 .timeline{padding-left:18px}
 .brand .nm{font-size:21px}
 header.main .wrap{height:78px}
}
table.fin td:not(:first-child):not(.l){white-space:nowrap}
table.fin.dates td:first-child{white-space:nowrap}
@media (max-width:640px){
 .tblwrap table.fin td:first-child{white-space:normal;min-width:150px}
 .tblwrap table.fin.dates td:first-child{white-space:nowrap;min-width:0}
 .tblwrap table.fin td.l,.tblwrap table.fin th.l{white-space:normal;min-width:200px}
 .tblwrap table.fin caption{white-space:normal}
 .chartcard,.valbar{overflow-x:auto;padding:18px 14px 10px}
 .chartcard svg,.valbar svg{min-width:520px}
 .chartcard .hd{flex-direction:column;gap:2px;min-width:0}
}
.rating .big.neg{color:#9b2c2c}
table.fin.dense{font-size:13.5px}
table.fin.dense thead th{padding:10px 8px;font-size:11px;letter-spacing:.06em}
table.fin.dense td{padding:8px 8px}
table.fin.wrapcells td:not(:first-child){white-space:normal;font-size:14px}
table.fin.wrapcells tr.sub td:not(:first-child){font-size:12.5px;line-height:1.4}
@media (max-width:640px){.tblwrap table.fin.wrapcells td:not(:first-child){white-space:normal;min-width:130px}}
