/* IBBC Capital — institutional page system (home, investor & owner gateways, governance).
   Layout: editorial single column at 1200px, full-bleed bands alternating paper / white / ink,
   data figures in tabular numerals with source footnotes. */
:root{
  --i-ink:#0b182b; --i-ink2:#13263f; --i-paper:#f5f2ec; --i-white:#ffffff; --i-rule:#ddd6c8;
  --i-muted:#4d5b6b; --i-red:#e60000; --i-red-text:#c40000; --i-gold:#b89a4b; --i-ok:#0d5a36; --i-okbg:#e3f1e8; --i-warn:#7a4b00; --i-warnbg:#fdf1d8; --i-no:#5a6472; --i-nobg:#eceff2;
  --i-serif:'Cormorant Garamond','EB Garamond',Georgia,'Times New Roman',serif; --i-sans:'Inter',system-ui,Arial,Helvetica,sans-serif;
}
.inst{font-family:var(--i-sans);color:var(--i-ink);background:var(--i-white)}
.inst *{box-sizing:border-box}
.inst-w{max-width:1200px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.inst section{padding-block:72px}
.inst .band-paper{background:var(--i-paper)}
.inst .band-ink{background:var(--i-ink);color:#e8edf4}
.inst .band-ink h2,.inst .band-ink h3{color:#fff}
.inst .band-ink p{color:#c7d1de}
.inst-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--i-red-text,#c40000);margin:0 0 14px}
.band-ink .inst-eyebrow{color:#e8c766}
.inst h1,.inst h2{font-family:var(--i-serif);font-weight:600;letter-spacing:-.01em;text-wrap:balance;margin:0}
.inst h1{font-size:clamp(34px,5vw,60px);line-height:1.06}
.inst h2{font-size:clamp(28px,3.4vw,42px);line-height:1.12;margin-bottom:16px}
.inst h3{font-size:19px;line-height:1.3;margin:0 0 8px;font-weight:700}
.inst p{line-height:1.65;margin:0 0 14px}
.inst-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--i-muted);max-width:68ch}
.band-ink .inst-lead{color:#c7d1de}
.inst a{color:inherit}

/* hero */
.inst-hero{position:relative;color:#fff;background:var(--i-ink);overflow:hidden;padding-block:0!important}
.inst-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.inst-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,24,43,.96) 0%,rgba(11,24,43,.82) 45%,rgba(11,24,43,.35) 100%)}
.inst-hero .inst-w{position:relative;z-index:1;padding-block:clamp(72px,11vw,140px)}
.inst-hero h1{color:#fff;max-width:18ch}
.inst-hero .inst-lead{color:#d5dde8;margin-top:22px;max-width:60ch}
.inst-hero .inst-eyebrow{color:#e8c766}
.inst-status{margin-top:26px;font-size:13px;color:#b8c3d2;max-width:70ch}
.inst-status a{color:#e8c766}

/* buttons */
.inst-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.inst-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:13px 22px;font-weight:700;font-size:15px;text-decoration:none;border:1px solid var(--i-red);background:var(--i-red);color:#fff!important;border-radius:2px}
.inst-btn:hover{background:#b80000;border-color:#b80000}
.inst-btn.ghost{background:transparent;border-color:currentColor;color:inherit!important}
.inst-hero .inst-btn.ghost,.band-ink .inst-btn.ghost{color:#fff!important}
.inst-btn.ghost:hover{background:rgba(127,127,127,.12)}
.inst-link{font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--i-gold)}

/* grids */
.inst-grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.inst-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 64px;align-items:start}
.inst-card{background:var(--i-white);border:1px solid var(--i-rule);padding:28px;min-width:0;display:flex;flex-direction:column;gap:6px}
.band-paper .inst-card{background:#fff}
.inst-card .tag{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--i-muted)}
.inst-card ul{margin:6px 0 10px;padding-left:18px;line-height:1.6}
.inst-card .more{margin-top:auto;padding-top:10px}
.inst-door{border-top:4px solid var(--i-ink);padding:34px}
.inst-door.red{border-top-color:var(--i-red)}
.inst-door h3{font-family:var(--i-serif);font-size:28px;font-weight:600}

/* figures */
.inst-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #2a3d5a}
.inst-fig{padding:26px 22px 8px 0;border-right:1px solid #2a3d5a;min-width:0}
.inst-fig:last-child{border-right:0}
.inst-fig b{display:block;font-family:var(--i-serif);font-size:clamp(32px,3.6vw,46px);font-weight:600;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.inst-fig span{display:block;margin-top:10px;font-size:14px;line-height:1.45;color:#c7d1de}
.inst-fig small{display:block;margin-top:8px;font-size:12px;color:#8fa0b6}
.inst-fig + .inst-fig{padding-left:22px}

/* process */
.inst-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:s;list-style:none;padding:0;margin:28px 0 0}
.inst-steps li{counter-increment:s;padding:22px 18px 0 0;border-top:2px solid var(--i-ink);min-width:0}
.inst-steps li::before{content:counter(s,decimal-leading-zero);display:block;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--i-red-text,#c40000);margin-bottom:10px}
.inst-steps li p{font-size:14.5px;color:var(--i-muted)}

/* tables */
.inst-table{overflow-x:auto;margin-top:20px;border:1px solid var(--i-rule);background:#fff}
.inst-table table{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.inst-table th,.inst-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--i-rule);line-height:1.5}
.inst-table thead th{background:var(--i-ink);color:#fff;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.inst-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}
.pill.ok{background:var(--i-okbg);color:var(--i-ok)}.pill.warn{background:var(--i-warnbg);color:var(--i-warn)}.pill.no{background:var(--i-nobg);color:var(--i-no)}

/* product cards */
.inst-prod .price{font-family:var(--i-serif);font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;margin:6px 0 2px}
.inst-prod .unit{font-size:13px;color:var(--i-muted)}

/* standards row */
.inst-stds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--i-rule);border:1px solid var(--i-rule);margin-top:24px}
.inst-stds div{background:#fff;padding:20px;min-width:0}
.inst-stds b{display:block;font-size:15px;margin-bottom:4px}
.inst-stds span{font-size:13.5px;color:var(--i-muted);line-height:1.5;display:block}

/* leader */
.inst-leader{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 56px;align-items:center}
.inst-leader img{width:100%;height:auto;display:block;border:1px solid var(--i-rule)}

/* notes & sources */
.inst-note{font-size:13px;color:var(--i-muted);line-height:1.6}
.band-ink .inst-note{color:#8fa0b6}
.inst-sources{font-size:12.5px;line-height:1.7;color:var(--i-muted);padding-block:28px!important;border-top:1px solid var(--i-rule)}
.inst-sources ol{margin:8px 0 0;padding-left:20px}
.inst-sources a{word-break:break-word}
.inst sup a{text-decoration:none;color:inherit;font-size:.75em}

/* CTA band */
.inst-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.inst-cta h2{margin:0}

@media (max-width:1024px){.g4,.inst-stds{grid-template-columns:repeat(2,minmax(0,1fr))}.inst-figs{grid-template-columns:repeat(2,minmax(0,1fr))}.inst-fig:nth-child(2){border-right:0}.inst-fig:nth-child(3){padding-left:0}.inst-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}}
@media (max-width:760px){.inst section{padding-block:52px}.g2,.g3,.g4,.inst-split,.inst-leader,.inst-stds{grid-template-columns:1fr}.inst-steps{grid-template-columns:1fr}.inst-door{padding:26px}.inst-actions .inst-btn{flex:1 1 100%;justify-content:center}}
@media (max-width:480px){.inst-figs{grid-template-columns:1fr}.inst-fig{border-right:0;padding-left:0!important;border-bottom:1px solid #2a3d5a}}
@media print{.inst-hero img.bg,.inst-hero::after{display:none}.inst-hero{background:#fff;color:#000}.inst-hero h1{color:#000}}
.inst-split>*,.inst-grid>*,.inst-leader>*{min-width:0}
.inst .inst-status{margin-top:26px}
.inst-hero h1{max-width:21ch}
@media (max-width:760px){.inst-table table{min-width:520px}.inst-table.compact table{min-width:0}.inst-table.compact td{font-size:14px}}
.inst h1 + .inst-lead{margin-top:20px}
.inst .inst-w > h2:not(:first-child){margin-top:52px}
.inst-prod .inst-btn{width:100%;justify-content:center;font-size:14px;padding-inline:14px}
.inst-card > form.frm{border:0;padding:0;background:none;box-shadow:none;margin:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.band-paper .inst-status,.inst-status.inst-note,section:not(.inst-hero):not(.band-ink) .inst-status{color:var(--i-muted)}
.band-paper .inst-status a,.inst-status.inst-note a,section:not(.inst-hero):not(.band-ink) .inst-status a{color:var(--i-ink)}
.inst a:focus-visible,.inst button:focus-visible,.inst input:focus-visible,.inst select:focus-visible,.inst textarea:focus-visible{outline:3px solid #b89a4b;outline-offset:2px}
/* V27: plain hero (legal pages, 404) and long-form prose */
.inst-hero.plain .inst-w{padding-block:clamp(56px,8vw,104px)}
.inst-hero .inst-status{color:#d5dde8;border-color:rgba(255,255,255,.25);background:transparent}
.inst-prose p,.inst-prose ul{max-width:70ch;font-size:16px;line-height:1.7;color:#24364d}
.inst-prose p+p,.inst-prose ul+p,.inst-prose p+ul{margin-top:14px}
.inst-prose ul{padding-left:20px;margin:0}.inst-prose li{margin:6px 0}
.inst-prose a{color:var(--i-red-text,#c40000);text-underline-offset:2px}

.inst-table+p{margin-top:16px}
/* V28: brighter hero imagery, text side kept dark for AA contrast */
.inst-hero img.bg{opacity:.92;filter:brightness(1.1) saturate(1.08)}
.inst-hero::after{background:linear-gradient(90deg,rgba(11,24,43,.93) 0%,rgba(11,24,43,.82) 46%,rgba(11,24,43,.32) 76%,rgba(11,24,43,.05) 100%)}
@media (max-width:760px){.inst-hero::after{background:linear-gradient(180deg,rgba(11,24,43,.80) 0%,rgba(11,24,43,.88) 100%)}}

/* V29 — IBBC Capital: six lines of business (homepage) */
.ibbc-lines-band{background:#fff;border-top:1px solid #e7e2da;border-bottom:1px solid #e7e2da}
.ibbc-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.ibbc-line{position:relative;border:1px solid #e3ded6;border-top:3px solid #A51C30;background:#fffdfa;padding:24px 24px 22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.ibbc-line-mark{width:56px;height:56px;display:block}
.ibbc-line h3{margin:4px 0 0;font-size:1.35rem}
.ibbc-line p{margin:0;color:#3d3d3d;line-height:1.55;flex:1}
.ibbc-status{align-self:flex-start;font:600 .74rem/1.2 Inter,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border:1px solid #bdbdbd;color:#555;background:#fff}
.ibbc-status.live{border-color:#A51C30;background:#A51C30;color:#fff}
.ibbc-line .inst-link{margin-top:2px}
.ibbc-lines-note{margin:20px 0 0;font-size:.92rem;color:#555}
@media(max-width:980px){.ibbc-lines{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ibbc-lines{grid-template-columns:1fr}.ibbc-line{padding:20px}}
.ibbc-line-mark{width:64px;height:64px}
.ibbc-lines-band .ibbc-lines-note{margin-top:26px}

/* V32 — homepage hero: brighter international skyline, lighter veil */
.inst-hero.home-bright img.bg{opacity:1;filter:brightness(1.04) saturate(1.1) contrast(1.04);object-position:45% 62%}
.inst-hero.home-bright::after{background:linear-gradient(90deg,rgba(9,20,38,.86) 0%,rgba(9,20,38,.70) 38%,rgba(9,20,38,.28) 62%,rgba(9,20,38,0) 80%)}
.inst-hero.home-bright .inst-w{padding-block:clamp(84px,12vw,160px)}
.inst-hero.home-bright h1{text-shadow:0 2px 18px rgba(0,0,0,.25)}
@media (max-width:760px){.inst-hero.home-bright::after{background:linear-gradient(180deg,rgba(9,20,38,.70) 0%,rgba(9,20,38,.80) 100%)}.inst-hero.home-bright img.bg{object-position:65% 50%}}

/* V34 schools of thought (leadership) */
.mentors-band{background:#f6f3ee;border-top:1px solid #e6e0d6}
.mentors-band h2{margin:.2em 0 .35em}
.mentors-intro{max-width:760px;font-size:17.5px;line-height:1.7;color:#333;margin:0 0 28px}
.mentors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.mentor{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;background:#fffdfa;border:1px solid #e3ded6;border-left:3px solid #A51C30;padding:24px}
.mentor-mono{width:72px;height:72px;border-radius:50%;border:1.5px solid #A51C30;display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:26px;letter-spacing:.06em;color:#A51C30;background:#fff}
.mentor h3{margin:2px 0 2px;font-size:1.3rem}
.mentor-yrs{font-size:.8em;font-weight:400;color:#777}
.mentor-firm{margin:0 0 10px;color:#6b6b6b;font-size:15px;font-style:italic}
.mentor p{line-height:1.6}
.mentor-tag{margin:0;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#A51C30}
.mentors-note{margin:28px 0 0!important;padding-top:4px;font-size:14px;line-height:1.6;color:#6b6b6b;max-width:860px}
@media(max-width:760px){.mentors{grid-template-columns:1fr}.mentor{grid-template-columns:56px minmax(0,1fr);gap:16px;padding:20px}.mentor-mono{width:56px;height:56px;font-size:20px}}
