/* Brevan Howard · Bengaluru Office Strategy · HunTR design system v2 (Fioneer chrome) */
:root{
  --navy:#1B3A6B;--deep:#122A4F;--ink:#152334;--ivory:#FBF9F4;--paper:#fff;--gold:#AD8440;--gold-soft:#F3EAD8;
  --red:#A34D40;--green:#3D6F4F;--muted:#6B7786;--line:#E6E2D8;--soft:#F4F1EA;--slate:#496B8D;--mist:#EEF2F6;
  --font:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--display:'Playfair Display',Georgia,serif;
  --r:12px;--sh:0 1px 2px rgba(18,42,79,.06),0 8px 24px -12px rgba(18,42,79,.18)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;padding:0}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4,p{margin:0}
h1{font-family:var(--display);font-weight:500;font-size:clamp(28px,3.2vw,44px);line-height:1.1;letter-spacing:-.5px}
h2{font-family:var(--display);font-weight:500;font-size:22px;line-height:1.2}
h3{font-size:15px;font-weight:600;letter-spacing:-.2px}
.num{font-variant-numeric:tabular-nums}
.eyebrow{font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold);font-weight:600}
.muted{color:var(--muted)}
.tbc{color:var(--red);font-weight:600}
.assumed{color:var(--red)}
.ov{color:var(--navy);font-weight:600}
img{max-width:100%;display:block}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:40;background:var(--deep);color:#fff;height:66px;display:flex;align-items:center;gap:22px;padding:0 max(20px,3.5vw);box-shadow:0 2px 12px rgba(0,0,0,.18)}
header .logo img{height:34px}
header .div{width:1px;height:30px;background:#ffffff33}
header .client{display:flex;align-items:center;gap:12px}
header .client img{height:14px}
header .client span{font-size:11px;color:#c9d3e3;letter-spacing:.3px}
header .util{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:11px}
.seg{display:inline-flex;border:1px solid #ffffff40;border-radius:999px;overflow:hidden}
.seg button{padding:6px 12px;font-size:11px;color:#dfe6f0;background:transparent}
.seg button.active{background:#fff;color:var(--deep);font-weight:600}
.util .fxin{display:flex;align-items:center;gap:6px;color:#c9d3e3}
.util .fxin input{width:66px;background:#ffffff14;border:1px solid #ffffff33;border-radius:6px;color:#fff;padding:5px 6px;font-size:11px}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 11px;font-size:11px;border:1px solid #ffffff40;color:#dfe6f0;white-space:nowrap}
.pill i{width:7px;height:7px;border-radius:50%;background:#79c49b;display:inline-block}
.pill.warn i{background:#e9c98f}.pill.err i{background:#e07a6b}.pill.off i{background:#9aa6b6}.pill.busy i{background:#8fb3ff}
.util .btn{border:1px solid #ffffff40;border-radius:8px;padding:7px 12px;color:#fff;font-size:11px;white-space:nowrap}
.util .btn.gold{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600}
.util .btn:hover{background:#ffffff14}

/* ---------- tab rail ---------- */
.rail{position:sticky;top:66px;z-index:30;background:var(--ivory);border-bottom:1px solid var(--line)}
.rail nav{max-width:1480px;margin:auto;display:flex;gap:8px;padding:10px max(20px,3.5vw);overflow-x:auto;scrollbar-width:none}
.rail nav::-webkit-scrollbar{display:none}
.rail nav button{display:inline-flex;align-items:center;gap:9px;padding:8px 16px 8px 8px;border-radius:999px;font-size:12.5px;color:var(--muted);white-space:nowrap;border:1px solid transparent;transition:background .18s,color .18s}
.rail nav button i{width:22px;height:22px;border-radius:50%;background:#e4e8ee;color:var(--muted);font-style:normal;font-size:10.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.rail nav button:hover{background:#fff;border-color:var(--line)}
.rail nav button.active{background:var(--navy);color:#fff;font-weight:600}
.rail nav button.active i{background:#fff;color:var(--navy)}

/* ---------- layout ---------- */
.shell{max-width:1480px;margin:auto;padding:26px max(20px,3.5vw) 60px}
main>section.tab{display:none}main>section.tab.on{display:block}
.hero{position:relative;overflow:hidden;background:linear-gradient(118deg,var(--deep) 0%,#1F4A87 60%,#2a5aa0 100%);color:#fff;border-radius:16px;padding:34px 38px;margin-bottom:22px;box-shadow:var(--sh)}
.hero:after{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),rgba(255,255,255,0) 65%)}
.hero .eyebrow{color:#E9D5A8;margin-bottom:10px}
.hero h1{color:#fff}
.hero .sub{margin-top:10px;font-size:13.5px;color:#dbe4f1;max-width:760px}
.hero .hlogo{position:absolute;right:38px;top:34px;height:16px;opacity:.95;z-index:2}
.hero.img{min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(18,42,79,.25) 0%,rgba(18,42,79,.78) 55%,rgba(18,42,79,.96) 100%),var(--img) center/cover}
.hero.img:after{display:none}
.hero .hchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.hero .hchips span{font-size:11.5px;padding:6px 12px;border-radius:999px;border:1px solid #ffffff55;background:#ffffff14;color:#fff}
.hero .hchips span:first-child{background:var(--gold);border-color:var(--gold)}
.inline-sel{font:inherit;font-family:var(--display);font-size:19px;border:0;border-bottom:2px solid var(--gold);background:transparent;padding:2px 0;max-width:100%;cursor:pointer}
.hero.pad{padding-bottom:30px}
.band{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;margin-bottom:18px;box-shadow:var(--sh)}
.band.flat{box-shadow:none}
.band-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.band-head h2{display:flex;align-items:center;gap:12px;font-size:18px}
.band-head h2:before{content:"";width:4px;height:20px;background:var(--gold);border-radius:2px}
.band-head .note{font-size:11px;color:var(--muted)}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
.foot{font-size:11px;color:var(--muted);text-align:center;padding:14px 0 0}

/* ---------- tiles ---------- */
.tile{border-radius:var(--r);padding:16px 18px;min-height:98px;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper);border:1px solid var(--line);position:relative;overflow:hidden}
.tile .k{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:600}
.tile .v{font-family:var(--display);font-size:28px;line-height:1.05;margin:8px 0 4px;letter-spacing:-.4px}
.tile .s{font-size:11px;color:var(--muted)}
.tile.navy{background:var(--navy);color:#fff;border-color:var(--navy)}.tile.navy .k,.tile.navy .s{color:#c9d3e3}
.tile.deep{background:var(--deep);color:#fff;border-color:var(--deep)}.tile.deep .k,.tile.deep .s{color:#c9d3e3}
.tile.slate{background:var(--slate);color:#fff;border-color:var(--slate)}.tile.slate .k,.tile.slate .s{color:#dbe4f1}
.tile.goldtxt{background:var(--deep);color:#fff;border-color:var(--deep)}.tile.goldtxt .v{color:#E9C98F}.tile.goldtxt .k,.tile.goldtxt .s{color:#c9d3e3}
.tile.link{cursor:pointer;transition:transform .18s,box-shadow .18s}.tile.link:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.tile.ivory{background:var(--soft)}
.tile.green{background:#2F5C41;color:#fff;border-color:#2F5C41}.tile.green .k,.tile.green .s{color:#cfe2d6}
.tile.red{background:#8E4337;color:#fff;border-color:#8E4337}.tile.red .k,.tile.red .s{color:#f1d8d3}


/* ---------- exec ---------- */
.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.journey>div{padding:14px 18px 14px 0;position:relative}
.journey>div+div{padding-left:18px;border-left:1px solid var(--line)}
.journey .d{font-family:var(--display);font-size:20px;margin:6px 0 2px}
.journey .k{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:600}
.journey .s{font-size:11.5px;color:var(--muted)}
.journey>div.key .d{color:var(--gold)}
.journey>div.key .k{color:var(--gold)}
.duo{display:grid;grid-template-columns:1fr 56px 1fr;gap:0;align-items:stretch}
.duo .arrow{display:flex;align-items:center;justify-content:center}
.duo .arrow span{width:40px;height:40px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:var(--sh)}
.card{border-radius:var(--r);padding:22px 24px;border:1px solid var(--line);background:var(--paper)}
.card.navy{background:var(--deep);color:#fff;border-color:var(--deep)}
.card .tag{display:inline-block;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px;background:#ffffff1f;color:#E9D5A8;margin-bottom:12px}
.card.ivory .tag{background:var(--gold-soft);color:var(--gold)}
.card .ttl{font-family:var(--display);font-size:19px;margin-bottom:4px}
.card .big{font-family:var(--display);font-size:34px;line-height:1;margin:6px 0 4px}
.card .big small{font-family:var(--font);font-size:13px;margin-left:4px;opacity:.8}
.card .line{font-size:12px;opacity:.85}
.card ul{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid #ffffff2b;display:grid;gap:7px;font-size:12.5px}
.card.ivory ul{border-top-color:var(--line)}
.card ul li{display:flex;gap:9px;align-items:flex-start}
.card ul li:before{content:"✕";color:#e7a399;font-size:11px;margin-top:2px}
.card.ivory ul li:before{content:"✓";color:var(--green)}
.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.three .card{min-height:170px}
.three .card h3{font-size:13px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.three .card p{font-size:13px;line-height:1.55}
.three .card p+p{margin-top:5px}
.lines{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lines>div{padding:14px 16px;border-radius:10px;background:var(--soft)}
.lines h3{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.lines p{font-size:12.5px;line-height:1.55}
.ladder-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:var(--display);font-size:20px}
.ladder-line span{display:inline-flex;align-items:center;gap:10px}
.ladder-line i{font-style:normal;color:var(--gold);font-size:16px}

/* ---------- market ---------- */
.thesis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.th{border-radius:var(--r);padding:20px 22px;background:var(--paper);border:1px solid var(--line);position:relative;overflow:hidden;box-shadow:var(--sh)}
.th .k{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:600}
.th .row{display:flex;align-items:center;gap:14px;margin:12px 0 6px}
.th .from,.th .to{font-family:var(--display);line-height:1}
.th .from{font-size:22px;color:var(--muted)}
.th .to{font-size:40px}
.th .yr{display:block;font-family:var(--font);font-size:10px;color:var(--muted);letter-spacing:1px;margin-top:5px}
.th .arr{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;flex:none}
.th.up .arr{background:#2F6F4A}.th.down .arr{background:var(--red)}
.th.up .to{color:#2F6F4A}.th.down .to{color:var(--red)}
.th .u{font-size:11px;color:var(--muted)}
.th .n{margin-top:10px;font-size:12px;border-top:1px solid var(--line);padding-top:10px}
.th .pct{position:absolute;right:16px;top:16px;font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px}
.th.up .pct{background:#E5F1EA;color:#2F6F4A}.th.down .pct{background:#F6E3E0;color:var(--red)}
table.dt{width:100%;border-collapse:collapse;font-size:12.5px}
table.dt th{background:var(--deep);color:#fff;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;text-align:left;padding:10px 12px}
table.dt th.r,table.dt td.r{text-align:right}
table.dt td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
table.dt tr.hl td{background:var(--gold-soft);font-weight:600}
table.dt tr.sec td{background:var(--soft);font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:700;padding:8px 12px}
table.dt tr.total td{font-weight:700;border-top:2px solid var(--deep)}
table.dt td.pos{color:var(--green);font-weight:600}table.dt td.neg{color:var(--red);font-weight:600}
.tablewrap{overflow-x:auto}
.tracker .cell-t{font-weight:600}
.cell-sub{display:block;font-size:11px;color:var(--muted)}
.chipx{display:inline-block;font-size:10px;padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--muted);white-space:nowrap}
.chipx.q{background:#E5F1EA;color:var(--green)}.chipx.a{background:#F6E3E0;color:var(--red)}.chipx.g{background:var(--gold-soft);color:var(--gold)}.chipx.n{background:var(--mist);color:var(--navy)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
.split.mk{grid-template-columns:.95fr 1.05fr}
.split.mk>div .band:last-child{margin-bottom:0}
.mapbox{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff}
.mapbox svg{width:100%;height:auto;display:block}
details.more{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);margin-bottom:18px}
details.more summary{cursor:pointer;padding:14px 22px;font-weight:600;font-size:13px;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.more summary:after{content:"+";font-size:18px;color:var(--muted)}
details.more[open] summary:after{content:"−"}
details.more .inner{padding:0 22px 22px}
details.more.flat{box-shadow:none;background:var(--soft);border-color:transparent}
.deal-chart svg{width:100%;height:auto}
.deal-chart .ax{font-size:11px;fill:var(--muted)}.deal-chart .dn{font-size:13px;font-weight:600;fill:var(--ink)}.deal-chart .ds{font-size:10.5px;fill:var(--muted)}.deal-chart .dv{font-size:12px;font-weight:700;fill:var(--ink)}.deal-chart .qt{font-size:10.5px;fill:var(--red);font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:16px;font-size:11px;color:var(--muted);margin-top:10px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.legend i.dash{width:14px;height:0;border-top:2px dashed var(--red)}
.metro{display:grid;gap:8px}
.metro div{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:8px 0;border-bottom:1px solid var(--line)}
.metro i{width:9px;height:9px;border-radius:50%;background:#9aa6b6}.metro i.ok{background:var(--green)}.metro i.late{background:var(--red)}.metro i.wip{background:var(--gold)}
.metro span:last-child{margin-left:auto;color:var(--muted);font-size:11px}

/* ---------- strategy ---------- */
.ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.ladder>div{border-radius:var(--r);padding:20px 18px;background:var(--paper);border:1px solid var(--line);position:relative;min-height:150px;box-shadow:var(--sh)}
.ladder>div:nth-child(1){background:var(--deep);color:#fff;border-color:var(--deep)}

.ladder .n{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700}
.ladder>div:nth-child(1) .n{color:#E9D5A8}
.ladder>div:not(:first-child):before{content:"";position:absolute;left:18px;top:18px;width:28px;height:3px;background:var(--gold);border-radius:2px}
.ladder>div:not(:first-child) .n{margin-top:10px}
.ladder h3{font-family:var(--display);font-weight:500;font-size:21px;margin:8px 0 8px}
.ladder p{font-size:12px;line-height:1.5;opacity:.9}
.ladder .ar{position:absolute;right:-13px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--gold);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;z-index:2}
.ladder>div:last-child .ar{display:none}
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:st}
.proc>div{position:relative;padding:18px 20px 18px 0}
.proc>div+div{padding-left:22px;border-left:1px solid var(--line)}
.proc .no{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;margin-bottom:12px}
.proc>div:last-child .no{background:var(--gold)}
.proc h3{font-size:15px;margin-bottom:6px}
.proc p{font-size:12px;color:var(--muted);line-height:1.5}
.proc .bar{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--navy),var(--slate));margin-top:14px}
.proc>div:last-child .bar{background:linear-gradient(90deg,var(--gold),#C9A362)}
.vs-wrap{overflow-x:auto}
.vs{min-width:640px;display:grid;grid-template-columns:1.1fr 1fr 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.vs>div{padding:12px 16px;border-bottom:1px solid var(--line);font-size:12.5px;display:flex;align-items:center;gap:10px}
.vs .h{background:var(--deep);color:#fff;font-weight:600;padding:14px 16px;font-size:12px;letter-spacing:.3px}
.vs .h.ws{background:var(--navy)}
.vs .h small{display:block;font-weight:400;color:#c9d3e3;font-size:10.5px}
.vs .l{background:var(--soft);font-weight:600;color:var(--ink)}
.vs .mk{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none}
.vs .mk.g{background:#E5F1EA;color:var(--green)}.vs .mk.x{background:#F6E3E0;color:var(--red)}.vs .mk.p{background:var(--gold-soft);color:var(--gold)}
.vs .ws{background:#F7FAFD}
.terms4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.terms4>div{border-radius:var(--r);padding:16px 18px;background:var(--soft);border:1px solid var(--line)}
.terms4 .k{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:600}
.terms4 .v{font-family:var(--display);font-size:28px;margin:6px 0 2px}
.terms4 .s{font-size:11px;color:var(--muted)}

/* ---------- options ---------- */
.cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cmp.n4{grid-template-columns:repeat(4,1fr)}.cmp.n5{grid-template-columns:repeat(5,1fr)}
.noimg{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#E6EAF0,#D7DEE8);color:var(--muted);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;text-align:center;padding:10px}.heroes .noimg{height:120px}.big-ph.noimg{height:300px}
.cmp>div{border-radius:var(--r);border:1px solid var(--line);background:var(--paper);overflow:hidden;box-shadow:var(--sh);cursor:pointer;transition:transform .18s,box-shadow .18s}
.cmp>div:hover{transform:translateY(-2px)}
.cmp>div.on{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy),var(--sh)}
.cmp .ph{height:150px;background:var(--mist) center/cover;position:relative;display:flex;align-items:flex-end}
.cmp .ph.empty{background:linear-gradient(135deg,#E6EAF0,#D7DEE8);align-items:center;justify-content:center;color:var(--muted);font-size:12px;letter-spacing:1.4px;text-transform:uppercase}
.cmp .ph .tg{position:absolute;left:12px;top:12px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;padding:4px 9px;border-radius:999px;background:#fff;color:var(--navy)}
.cmp .ph .tg.cur{background:var(--gold);color:#fff}
.cmp .bd{padding:14px 16px}
.cmp h3{font-family:var(--display);font-weight:500;font-size:18px;margin-bottom:2px}
.cmp .s{font-size:11.5px;color:var(--muted)}
.cmp dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:12px 0 0;font-size:11.5px}
.cmp dt{color:var(--muted)}.cmp dd{margin:0;font-weight:600;text-align:right}
.cmp .st{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:11px}
.heroes{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.heroes button{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--paper);text-align:left;position:relative;box-shadow:var(--sh);transition:transform .18s}
.heroes button:hover{transform:translateY(-2px)}
.heroes button.on{box-shadow:0 0 0 2px var(--gold),var(--sh)}
.heroes img{height:120px;width:100%;object-fit:cover}
.heroes .cap{padding:10px 12px}
.heroes .cap b{display:block;font-size:13px}
.heroes .cap span{font-size:11px;color:var(--muted)}
.heroes .ll{position:absolute;left:10px;top:10px;font-size:9.5px;letter-spacing:1.3px;text-transform:uppercase;font-weight:700;padding:3px 8px;border-radius:999px;background:#fff;color:var(--navy)}
.heroes .ll.bf{color:var(--gold)}
.heroes .sel{position:absolute;right:10px;top:10px;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#fff;font-size:12px;display:none;align-items:center;justify-content:center}
.heroes button.on .sel{display:flex}
.hier{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:14px;flex-wrap:wrap}
.hier span{padding:5px 11px;border-radius:999px;background:var(--soft);font-weight:600;color:var(--ink)}
.hier i{font-style:normal}
.hier span.on{background:var(--navy);color:#fff}
.detail{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.detail .big-ph{border-radius:var(--r);overflow:hidden;height:300px;position:relative}
.detail .big-ph img{height:100%;width:100%;object-fit:cover}
.kv{width:100%;border-collapse:collapse;font-size:12.5px}
.kv td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top}
.kv td:first-child{color:var(--muted);width:42%}
.kv td:last-child{font-weight:600}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.facts>div{background:var(--soft);border-radius:10px;padding:12px 14px;font-size:12px}
.facts b{display:block;font-size:14px;margin-bottom:2px}
.facts span{color:var(--muted);font-size:11px}
.stack{display:grid;gap:4px}
.stack .row{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:center;font-size:11px}
.stack .fl{color:var(--muted);text-align:right}
.stack .bar{height:24px;border-radius:5px;display:flex;align-items:center;padding:0 10px;color:#fff;font-size:10.5px;font-weight:600}
.stack .bar.ls{background:#E3E7ED;color:var(--muted);font-weight:500}.stack .bar.of{background:var(--gold)}.stack .bar.av{background:var(--navy)}.stack .bar.dc{background:#8B9DB0}.stack .bar.am{background:#EFEAE0;color:var(--muted);font-weight:500}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gal figure{margin:0;border-radius:10px;overflow:hidden;cursor:zoom-in}
.gal img{height:120px;width:100%;object-fit:cover}
.gal figcaption{font-size:10.5px;color:var(--muted);padding:6px 2px 0}
.gal.six{grid-template-columns:repeat(6,1fr)}.gal.six img{height:100px}
.amen{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.amen>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:12px 8px;border:1px solid var(--line);border-radius:10px;font-size:11.5px;background:var(--paper)}
.amen b{font-size:12px}.amen span{color:var(--muted);font-size:10.5px}
.campus-map{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:780/1450;max-height:680px;margin:auto}
.campus-map>img{width:100%;height:100%;object-fit:fill}
.split.eco{grid-template-columns:380px 1fr}
.campus-map svg{position:absolute;inset:0;width:100%;height:100%}
.campus-map .ptxt{fill:#fff;font-size:17px;font-weight:600}
.campus-map .pin{cursor:pointer}
.map-legend{display:flex;gap:16px;font-size:11px;color:var(--muted);padding:10px 2px 0;justify-content:center}
.map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.unitsel{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.unitsel button{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:12px}
.unitsel button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pickrow{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--gold-soft);border-radius:var(--r);padding:14px 18px;margin-bottom:18px}
.pickrow strong{font-family:var(--display);font-weight:500;font-size:17px}
.pickrow .sm{font-size:11px;color:var(--muted)}
.pickrow select{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12.5px;min-width:260px}
.btnrow{display:flex;gap:10px;flex-wrap:wrap}
.btn2{padding:9px 16px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:12.5px;font-weight:600}
.btn2.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn2.gold{background:var(--gold);color:#fff;border-color:var(--gold)}
.status{display:inline-block;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;padding:3px 9px;border-radius:999px}
.status.q{background:#E5F1EA;color:var(--green)}.status.r{background:var(--mist);color:var(--navy)}.status.n{background:var(--gold-soft);color:var(--gold)}.status.a{background:#F6E3E0;color:var(--red)}

/* ---------- cash flow ---------- */
.cf-tool{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}
.cf-tool .left,.cf-tool .right{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.seg2{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.seg2 button{padding:8px 14px;font-size:12px;color:var(--muted)}
.seg2 button.active{background:var(--navy);color:#fff;font-weight:600}
.seg2.gold button.active{background:var(--gold)}
label.chk{display:inline-flex;align-items:center;gap:7px;font-size:12px;background:#fff;border:1px solid var(--line);padding:7px 12px;border-radius:999px}
.inl{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 6px 4px 12px}
.inl input{width:70px;border:0;border-bottom:2px solid var(--gold);background:transparent;padding:3px 4px;font-weight:600;text-align:right}
.inl input[type=date]{width:150px;text-align:left}
.tiles5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}
table.fin{width:100%;border-collapse:collapse;font-size:12.5px}
table.fin th{background:var(--deep);color:#fff;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;text-align:right;padding:10px 12px}
table.fin th:first-child{text-align:left}
table.fin th.pick{background:var(--navy)}
table.fin td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}
table.fin td:first-child{text-align:left}
table.fin td small{display:block;font-size:10.5px;color:var(--muted);font-weight:400}
table.fin tr.sec td{background:var(--soft);text-align:left;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:700;padding:8px 12px}
table.fin tr.total td{font-weight:700;background:#FBF7EE}
table.fin tr.grand td{font-weight:700;background:var(--deep);color:#fff;font-size:13.5px}
table.fin td.pos{color:var(--green);font-weight:600}table.fin td.neg{color:var(--red);font-weight:600}
table.fin tr.grand td.pos{color:#9fd8b4}table.fin tr.grand td.neg{color:#f0a89c}
table.fin .cf-in{width:110px;text-align:right;border:1px solid var(--line);border-radius:6px;padding:5px 8px;background:#fff}
table.fin .cf-in.assumed{border-color:#E7B5AE;color:var(--red)}
table.fin .cf-in.ov{border-color:var(--navy);color:var(--navy);font-weight:600}
table.fin td.unit{color:var(--muted);font-size:11px}
.chart svg{width:100%;height:auto;display:block}
.chart .cc{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.chart .cc h3{font-size:14px}.chart .cc span{font-size:11px;color:var(--muted)}
.fund{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.fund>div{border-radius:var(--r);border:1px solid var(--line);padding:16px 18px;background:var(--paper);cursor:pointer;position:relative}
.fund>div.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.fund>div.cur{background:var(--soft);cursor:default}
.fund .k{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:600}
.fund h3{font-size:14px;margin:8px 0 2px}
.fund .v{font-family:var(--display);font-size:26px;margin:8px 0 2px}
.fund .s{font-size:11px;color:var(--muted)}
.fund ul{margin:10px 0 0;padding:0;list-style:none;font-size:11.5px;display:grid;gap:4px}
.fund li:before{content:"·";margin-right:6px;color:var(--gold)}
.notebar{font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}
.notebar button{color:var(--navy);font-weight:600;text-decoration:underline}

/* ---------- timeline ---------- */
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.steps4>div{border-radius:var(--r);padding:16px 18px;background:var(--paper);border:1px solid var(--line);position:relative;box-shadow:var(--sh)}
.steps4>div:after{content:"➞";position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:16px;z-index:2}
.steps4>div:last-child:after{display:none}
.steps4>div.last{background:var(--navy);color:#fff;border-color:var(--navy)}.steps4>div.last .d{color:#E9C98F}
.steps4>div.key{background:var(--deep);color:#fff;border-color:var(--deep)}
.steps4 .k{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:600}
.steps4>div.key .k,.steps4>div.last .k{color:#E9D5A8}
.steps4 .d{font-family:var(--display);font-size:24px;margin:8px 0 2px}
.steps4 .s{font-size:11px;color:var(--muted)}
.steps4>div.key .s,.steps4>div.last .s{color:#f1e6cf}
.eng{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.eng label{display:flex;flex-direction:column;gap:6px;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:600;background:var(--soft);padding:12px 14px;border-radius:10px}
.eng input{border:0;border-bottom:2px solid var(--gold);background:transparent;font-size:16px;font-weight:600;padding:4px 0;letter-spacing:0;text-transform:none;color:var(--ink)}
.gantt{display:grid;gap:4px}
.gantt{min-width:760px}
.gantt-wrap{overflow-x:auto}
.gantt .hd{display:grid;grid-template-columns:260px 1fr;font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}
.gantt .months{display:grid;position:relative;height:22px;border-bottom:1px solid var(--line)}
.gantt .months span{font-size:10px;color:var(--muted);text-align:center;border-left:1px solid var(--line);line-height:22px;overflow:hidden;white-space:nowrap}
.gantt .ph{display:grid;grid-template-columns:260px 1fr;align-items:center;background:var(--soft);border-radius:6px;margin-top:8px}
.gantt .ph b{padding:7px 12px;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:var(--navy)}
.gantt .ph small{padding:0 12px;font-size:10.5px;color:var(--muted)}
.gantt .r{display:grid;grid-template-columns:260px 1fr;align-items:center;min-height:36px}
.gantt .r .n{font-size:12px;padding:0 12px 0 6px;display:flex;flex-direction:column;line-height:1.3}
.gantt .r .n b{font-weight:600;display:flex;justify-content:space-between;gap:8px;align-items:center}
.gantt .r .n small{font-size:10px;color:var(--muted)}
.gantt .trk{position:relative;height:26px;background:repeating-linear-gradient(90deg,transparent,transparent calc(100%/var(--m) - 1px),var(--line) calc(100%/var(--m) - 1px),var(--line) calc(100%/var(--m)))}
.gantt .bar{position:absolute;top:4px;height:18px;border-radius:5px;background:var(--navy);color:#fff;font-size:10px;line-height:18px;padding:0 8px;white-space:nowrap;overflow:hidden}
.gantt .bar.fit{background:var(--slate)}.gantt .bar.key{background:var(--gold)}.gantt .bar.cur{background:#C9D3E0;color:var(--ink)}.gantt .bar.ov{background:repeating-linear-gradient(135deg,#E7B5AE,#E7B5AE 4px,#F6E3E0 4px,#F6E3E0 8px);color:var(--red)}
.gantt .ml{position:absolute;top:0;bottom:0;width:2px;background:var(--red)}
.gantt .ml b{position:absolute;top:-18px;left:4px;font-size:9.5px;color:var(--red);white-space:nowrap}
.gantt .wk{width:52px;border:0;border-bottom:1px solid var(--gold);background:transparent;text-align:right;font-weight:600;font-size:11px}
.dates5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.dates5>div{border-radius:var(--r);padding:14px 16px;background:var(--paper);border:1px solid var(--line)}
.dates5 .k{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:600}
.dates5 .d{font-family:var(--display);font-size:21px;margin:6px 0 2px}
.dates5 .s{font-size:11px;color:var(--muted)}
.dates5>div.key{background:var(--gold-soft);border-color:#E7D4AE}.dates5>div.key .d{color:var(--gold)}
.dates5>div.risk{background:#F6E3E0;border-color:#E7B5AE}.dates5>div.risk .d{color:var(--red)}
.warn{background:#F6E3E0;color:var(--red);border-radius:10px;padding:10px 14px;font-size:12px;margin-bottom:14px;font-weight:600}

/* ---------- modal / zoom ---------- */
dialog{border:0;border-radius:16px;padding:0;max-width:1100px;width:94vw;box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(18,42,79,.55);backdrop-filter:blur(2px)}
.dh{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}
.dh h2{font-size:20px}
.dh button{font-size:22px;color:var(--muted);width:34px;height:34px;border-radius:50%}
.dh button:hover{background:var(--soft)}
.dc{padding:22px 24px;max-height:76vh;overflow:auto}
.zoom{position:fixed;inset:0;background:rgba(10,20,40,.9);z-index:100;display:none;align-items:center;justify-content:center;padding:30px;cursor:zoom-out}
.zoom.open{display:flex}
.zoom img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--deep);color:#fff;padding:10px 18px;border-radius:999px;font-size:12px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:120}
.stamp{font-size:10.5px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;justify-content:center;padding-top:16px;border-top:1px solid var(--line);margin-top:22px}

/* ---------- responsive ---------- */
@media screen and (max-width:1100px){
  .ladder,.heroes,.g5,.tiles5,.dates5,.eng,.cmp.n4,.cmp.n5{grid-template-columns:repeat(3,1fr)}
  .journey,.proc,.steps4,.fund,.terms4,.g4,.amen,.gal{grid-template-columns:repeat(2,1fr)}
  .detail,.split,.split.mk{grid-template-columns:1fr}
  .gal.six{grid-template-columns:repeat(3,1fr)}
  header .client span{display:none}
}
@media screen and (max-width:760px){
  header{height:58px;gap:12px;padding:0 14px}
  header .logo img{height:28px}header .client{display:none}
  .util .fxin,.util .btn.ref,.util .btn.print,.util .hide-m,.hide-m{display:none}
  #syncPill span{display:none}#syncPill{padding:6px 7px}
  .split.eco{grid-template-columns:1fr}.campus-map{max-height:520px}
  .rail{top:58px}.rail nav{padding:8px 14px}
  .shell{padding:16px 16px 50px}
  .hero{padding:22px 20px;border-radius:12px}.hero .hlogo{display:none}
  .band{padding:16px}.band-head{flex-wrap:wrap}.band-head .note{width:100%}
  .ladder,.heroes,.g5,.tiles5,.dates5,.eng,.journey,.proc,.steps4,.fund,.terms4,.g4,.g3,.g2,.three,.lines,.thesis,.cmp,.facts,.amen,.gal,.gal.six{grid-template-columns:1fr 1fr}
  .three,.lines,.thesis,.cmp,.cmp.n4,.cmp.n5,.duo,.journey,.proc,.steps4{grid-template-columns:1fr}
  .duo .arrow{transform:rotate(90deg);height:44px}
  .journey>div+div,.proc>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .steps4>div:after{display:none}
  .ladder .ar{display:none}
  .gantt .hd,.gantt .ph,.gantt .r{grid-template-columns:120px 1fr}
  .tile .v{font-size:22px}.th .to{font-size:30px}
  h1{font-size:26px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- print ---------- */
@page{size:A4 landscape;margin:9mm}
body.printing header,body.printing .rail,body.printing #stamp{display:none}
body.printing main>section.tab{display:block}
body.printing .print-page{width:1400px;page-break-after:always;break-after:page;padding-bottom:6px}
body.printing .print-page .pfoot{display:flex}
body.printing .hero{margin-bottom:16px}
@media print{
  body{background:#fff}
  header,.rail,#toast,.zoom,dialog,.no-print,#stamp{display:none!important}
  .shell{max-width:none;padding:0}
  main>section.tab{display:block!important}
  .band,.tile,.card,.th,.cmp>div,.ladder>div,.steps4>div,.dates5>div,.fund>div{box-shadow:none!important;break-inside:avoid}
  details.more{display:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.pfoot{display:none;justify-content:space-between;font-size:10px;color:var(--muted);padding-top:8px;border-top:1px solid var(--line);margin-top:10px}
