/* OHH Holdings v3 — site chrome (.ohh-*) + home page (.hv3). All rules are scoped. */
:root{--o-navy:#0B1F33;--o-deep:#07172A;--o-ink:#101828;--o-body:#3A4458;--o-muted:#5A6478;--o-line:#E3E6EC;--o-soft:#F5F6F8;--o-gold:#C9A96A;--o-accent:#7A5C24}
.ohh-util,.ohh-hdr,.ohh-ftr,.hv3{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.ohh-util *,.ohh-hdr *,.ohh-ftr *,.hv3 *{box-sizing:border-box}
.ohh-wrap{max-width:1180px;margin:0 auto;padding:0 32px}
@media (max-width:880px){.ohh-wrap{padding:0 20px}}
.ohh-util a,.ohh-hdr a,.ohh-ftr a,.hv3 a{text-decoration:none;color:inherit}
/* utility bar */
.ohh-util{background:var(--o-deep);color:#9FB0C6;font-size:12px}
.ohh-util .ohh-wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.ohh-util b{color:#D7DEE8;font-weight:500}
/* header */
.ohh-hdr{background:var(--o-navy);border-bottom:1px solid rgba(255,255,255,.08);color:#fff;position:sticky;top:0;z-index:50}
.ohh-hdr .ohh-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;height:84px}
.ohh-logo{display:flex;align-items:baseline;gap:10px}
.ohh-logo .w{font-family:"Fraunces",Georgia,serif;font-size:30px;font-weight:500;letter-spacing:.04em;color:#fff}
.ohh-logo .s{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.3em;color:var(--o-gold)}
.ohh-nav{display:flex;gap:34px;font-size:14px;color:#D7DEE8}
.ohh-nav a:hover,.ohh-nav a[aria-current="page"]{color:#fff}
.ohh-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:16px 28px;font-size:15px;font-weight:500;border-radius:0;line-height:1}
.ohh-btn-gold{background:var(--o-gold);color:var(--o-navy)!important}
.ohh-nav .nav-quote{display:none}
.ohh-menu{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;min-height:44px;min-width:44px;font-size:14px;cursor:pointer}
@media (max-width:1080px){.ohh-nav{display:none;position:absolute;left:0;right:0;top:84px;background:var(--o-navy);flex-direction:column;gap:0;padding:8px 16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.ohh-nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px}.ohh-hdr.open .ohh-nav{display:flex}.ohh-menu{display:inline-flex;align-items:center;justify-content:center}.ohh-hdr .ohh-btn-gold{display:none}.ohh-nav .nav-quote{display:block;color:var(--o-gold);font-weight:500}}
/* footer */
.ohh-ftr{background:var(--o-deep);color:#9FB0C6;font-size:14px}
.ohh-ftr .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;padding-top:80px;padding-bottom:56px}
.ohh-ftr .fh{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:11px;line-height:1.4;letter-spacing:.18em;color:var(--o-gold);text-transform:uppercase;margin:0 0 18px}
.ohh-ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ohh-ftr p{margin:0;line-height:1.7}
.ohh-ftr a:hover{color:#fff}
.ohh-ftr .legal{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;padding-bottom:30px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#7D8DA3}
@media (max-width:760px){.ohh-ftr .cols{grid-template-columns:minmax(0,1fr);gap:32px}.ohh-util .u2{display:none}}
/* ---------- HOME (.hv3) ---------- */
.hv3{color:var(--o-ink);background:#fff}
.hv3 .mono{font-family:"IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;font-size:12px}
.hv3 .eyebrow{color:var(--o-accent)}
.hv3 .dark .eyebrow{color:var(--o-gold)}
.hv3 h1,.hv3 h2,.hv3 h3{font-family:"Fraunces",Georgia,serif;font-weight:300;margin:0;color:inherit;max-width:none;letter-spacing:normal}
.hv3 h2{font-size:56px;line-height:1.05;letter-spacing:-.015em}
.hv3 em{font-style:italic}
.hv3 p{margin:0}
.hv3 .btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:16px 28px;font-size:15px;font-weight:500;border-radius:0;line-height:1}
.hv3 .btn-gold{background:var(--o-gold);color:var(--o-navy)}
.hv3 .btn-ghost{border:1px solid rgba(255,255,255,.45);color:#fff}
.hv3 .btn-dark{background:var(--o-navy);color:#fff}
.hv3 .btn-line{border:1px solid var(--o-navy);color:var(--o-navy)}
.hv3 .arrow::after{content:"\2192"}
.hv3 .row{display:flex;gap:14px;flex-wrap:wrap}
.hv3 .sec{padding:128px 0}
.hv3 .head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:64px}
.hv3 .head p{font-size:18px;line-height:1.65;color:var(--o-body)}
/* hero */
.hv3 .hero{position:relative;background:var(--o-navy);color:#fff;overflow:hidden;margin:0;padding:0}
.hv3 .hero::before,.hv3 .hero::after{content:none}
.hv3 .hero .bg{position:absolute;inset:0;background:radial-gradient(1200px 600px at 78% 40%,rgba(201,169,106,.10),transparent 60%),linear-gradient(180deg,#0B1F33,#081828)}
.hv3 .hero .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.hv3 .hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,51,.96) 0%,rgba(11,31,51,.82) 45%,rgba(11,31,51,.45) 100%)}
.hv3 .iso{position:absolute;right:-60px;top:0;width:62%;height:100%}
.hv3 .hero.has-photo .iso{display:none}
.hv3 .iso .g{stroke:rgba(201,169,106,.10);stroke-width:1}
.hv3 .iso .l{fill:rgba(255,255,255,.02);stroke:rgba(201,169,106,.55);stroke-width:1}
.hv3 .iso .r{fill:rgba(255,255,255,.045);stroke:rgba(201,169,106,.55);stroke-width:1}
.hv3 .iso .t{fill:rgba(201,169,106,.10);stroke:rgba(201,169,106,.8);stroke-width:1}
.hv3 .iso .f{stroke:rgba(201,169,106,.18);stroke-width:1}
.hv3 .hero .ohh-wrap{position:relative;padding-top:140px;padding-bottom:120px;min-height:720px;display:flex;flex-direction:column;justify-content:center;gap:34px}
.hv3 .hero h1{font-size:96px;line-height:.98;letter-spacing:-.025em;max-width:900px;color:#fff}
.hv3 .hero h1 em{color:var(--o-gold)}
.hv3 .hero .lede{font-size:21px;line-height:1.6;color:#C3CDDA;max-width:660px}
/* stats */
.hv3 .stats{background:#fff;border-bottom:1px solid var(--o-line)}
.hv3 .stats .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.hv3 .stat{padding:44px 32px 40px 0;border-right:1px solid var(--o-line);margin:0 32px 0 0}
.hv3 .stat:last-child{border-right:0}
.hv3 .stat .n{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:64px;line-height:1;color:var(--o-navy)}
.hv3 .stat .l{margin-top:12px;font-size:14px;color:var(--o-muted);letter-spacing:normal;text-transform:none}
.hv3 .attr{font-size:12px;color:var(--o-muted);padding:0 0 28px}
/* capabilities index */
.hv3 .index{border-top:1px solid var(--o-ink)}
.hv3 .irow{display:grid;grid-template-columns:90px 1fr 1fr 40px;gap:24px;align-items:center;padding:30px 0;border-bottom:1px solid var(--o-line);transition:background .2s,padding .2s}
.hv3 .irow:hover{background:var(--o-soft);padding-left:16px;padding-right:16px}
.hv3 .irow .num{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--o-accent)}
.hv3 .irow .t{font-family:"Fraunces",Georgia,serif;font-size:32px;font-weight:300;letter-spacing:-.01em}
.hv3 .irow .d{font-size:15px;color:var(--o-muted);line-height:1.55}
.hv3 .irow .a{font-size:22px;color:var(--o-accent);text-align:right}
/* markets */
.hv3 .markets{background:var(--o-soft);border-top:1px solid var(--o-line);border-bottom:1px solid var(--o-line)}
.hv3 .mgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--o-line);border:1px solid var(--o-line)}
.hv3 .m{background:#fff;display:flex;flex-direction:column}
.hv3 .m .mimg{aspect-ratio:4/3;overflow:hidden;background:var(--o-navy)}
.hv3 .m .mimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.hv3 .m:hover .mimg img{transform:scale(1.04)}
.hv3 .m .mbody{padding:28px 28px 34px;display:flex;flex-direction:column;gap:14px}
.hv3 .m svg{width:36px;height:36px;stroke:var(--o-accent);fill:none;stroke-width:1.2}
.hv3 .m h3{font-size:26px;font-weight:400}
.hv3 .m p{font-size:14px;color:var(--o-muted);line-height:1.55}
/* feature */
.hv3 .feature{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--o-line)}
.hv3 .feature .big{background:var(--o-navy);color:#fff;padding:64px;min-height:440px;display:flex;flex-direction:column;justify-content:space-between}
.hv3 .feature .big .n{font-family:"Fraunces",Georgia,serif;font-size:120px;font-weight:300;line-height:.9;color:var(--o-gold)}
.hv3 .feature .big h3{font-size:38px;font-weight:300}
.hv3 .feature .big p{font-size:15px;color:#C3CDDA}
.hv3 .feature .side{display:grid;grid-template-rows:1fr 1fr}
.hv3 .feature .side>div{padding:44px;border-bottom:1px solid var(--o-line);display:flex;flex-direction:column;justify-content:center;gap:10px}
.hv3 .feature .side>div:last-child{border-bottom:0}
.hv3 .feature .side h3{font-size:28px;font-weight:400}
.hv3 .feature .side p{font-size:15px;color:var(--o-muted)}
/* process */
.hv3 .dark{background:var(--o-navy);color:#fff}
.hv3 .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.hv3 .step{border-top:1px solid rgba(201,169,106,.5);padding-top:24px;display:flex;flex-direction:column;gap:14px}
.hv3 .step .num{font-family:"Fraunces",Georgia,serif;font-size:48px;font-weight:300;color:var(--o-gold);line-height:1}
.hv3 .step h3{font-size:24px;font-weight:400}
.hv3 .step p{font-size:15px;line-height:1.6;color:#C3CDDA}
/* quickshower */
.hv3 .qs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--o-line)}
.hv3 .qs .panel{background:linear-gradient(135deg,#0F2740,#0B1F33);color:#fff;padding:64px;display:flex;flex-direction:column;justify-content:space-between;min-height:420px;gap:32px}
.hv3 .qs .mark{font-family:"Fraunces",Georgia,serif;font-size:72px;font-weight:300;letter-spacing:-.02em;line-height:1}
.hv3 .qs .mark sup{font-size:22px;color:var(--o-gold)}
.hv3 .qs .copy{padding:64px;display:flex;flex-direction:column;justify-content:center;gap:24px}
.hv3 .qs .copy p{font-size:18px;line-height:1.65;color:var(--o-body)}
.hv3 .chips{display:flex;gap:10px;flex-wrap:wrap}
.hv3 .chip{border:1px solid rgba(255,255,255,.3);padding:8px 14px;font-size:12px;letter-spacing:.08em;color:#D7DEE8}
/* federal */
.hv3 .fed{display:grid;grid-template-columns:1fr 2fr;gap:64px;align-items:start}
.hv3 .fedgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--o-ink)}
.hv3 .fedgrid>div{padding:24px 24px 24px 0;border-bottom:1px solid var(--o-line)}
.hv3 .fedgrid .k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.14em;color:var(--o-muted);text-transform:uppercase}
.hv3 .fedgrid .v{font-family:"Fraunces",Georgia,serif;font-size:24px;margin-top:8px;color:var(--o-navy)}
/* md note */
.hv3 .md .ohh-wrap{max-width:980px}
.hv3 .md blockquote{margin:28px 0;padding:0;border:0;font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:300;font-size:38px;line-height:1.38;color:var(--o-navy)}
.hv3 .md .sig{font-size:15px;color:var(--o-body)}
.hv3 .md .sig b{color:var(--o-navy);font-weight:600}
/* cta */
.hv3 .cta{display:block;width:100%;padding:0;margin:0;border:0;font-size:inherit;font-weight:inherit;letter-spacing:normal;cursor:auto;transform:none}
.hv3 .cta:hover{transform:none}
.hv3 .cta .ohh-wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;padding-top:110px;padding-bottom:110px}
.hv3 .cta h2{font-size:64px;max-width:760px;color:#fff}
.hv3 .cta h2 em{color:var(--o-gold)}
.hv3 .cta p{color:#C3CDDA;margin-top:18px}
@media (max-width:1080px){.hv3 .hero h1{font-size:72px}.hv3 .mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.hv3 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.hv3 .iso{width:90%;opacity:.35}}
@media (max-width:760px){.hv3 .hero h1{font-size:46px}.hv3 .hero .ohh-wrap{min-height:600px;padding-top:96px;padding-bottom:80px}.hv3 .hero .lede{font-size:18px}.hv3 h2{font-size:38px}.hv3 .stats .grid,.hv3 .head,.hv3 .feature,.hv3 .qs,.hv3 .fed{grid-template-columns:minmax(0,1fr)}.hv3 .stat{border-right:0;border-bottom:1px solid var(--o-line);margin-right:0}.hv3 .irow{grid-template-columns:48px 1fr 24px}.hv3 .irow .d{display:none}.hv3 .irow .t{font-size:24px}.hv3 .mgrid,.hv3 .steps{grid-template-columns:minmax(0,1fr)}.hv3 .fedgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hv3 .fedgrid .v{font-size:18px;overflow-wrap:anywhere}.hv3 .sec{padding:84px 0}.hv3 .cta h2{font-size:40px}.hv3 .md blockquote{font-size:26px}.hv3 .feature .big .n{font-size:84px}.hv3 .qs .panel,.hv3 .qs .copy,.hv3 .feature .big,.hv3 .feature .side>div{padding:36px 24px}.hv3 .qs .mark{font-size:48px}.hv3 .qs .copy h2{font-size:34px}.hv3 .feature .big{min-height:360px}}
/* hero fit fix */
.hv3 .hero h1{font-size:80px;max-width:700px}
.hv3 .hero .lede{max-width:600px}
.hv3 .iso{width:50%;right:-120px;opacity:.8}
@media (max-width:1280px){.hv3 .iso{opacity:.35}}
@media (max-width:1080px){.hv3 .hero h1{font-size:64px}}
@media (max-width:760px){.hv3 .hero h1{font-size:44px}}
@media (max-width:760px){.hv3 .iso{display:none}}
/* ===== v4: plain, specific, less decorative ===== */
.hv4 .hero{background:var(--o-navy)}
.hv4 .hero .bg,.hv4 .hero .iso,.hv4 .hero .photo,.hv4 .hero .shade{display:none}
.hv4 .hero .ohh-wrap.h4grid{min-height:0;padding-top:88px;padding-bottom:88px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:64px;align-items:center}
.hv4 .h4main{display:flex;flex-direction:column;gap:28px}
.hv4 .hero h1{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:56px;line-height:1.1;letter-spacing:-.01em;max-width:680px;color:#fff}
.hv4 .hero .lede{font-size:18px;line-height:1.65;color:#C3CDDA;max-width:620px}
.hv4 .h4facts{border-left:1px solid rgba(255,255,255,.18);padding-left:32px}
.hv4 .h4facts dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:14px 20px;font-size:14px;line-height:1.5}
.hv4 .h4facts dt{color:#9FB0C6;font-weight:500}
.hv4 .h4facts dd{margin:0;color:#fff}
.hv4 .h4facts a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}
.hv4 .btn{font-size:15px;padding:14px 24px;min-height:46px}
.hv4 .btn-ghost{border-color:rgba(255,255,255,.5)}
.hv4 .sec{padding:80px 0}
.hv4 .soft{background:var(--o-soft);border-top:1px solid var(--o-line);border-bottom:1px solid var(--o-line)}
.hv4 h2{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:34px;line-height:1.2;letter-spacing:-.005em;color:var(--o-ink)}
.hv4 .h4head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.hv4 .h4head .link{font-size:15px;font-weight:500;color:var(--o-navy);text-decoration:underline;text-underline-offset:3px}
.hv4 .h4sub{margin:-14px 0 24px;font-size:14px;color:var(--o-muted)}
.hv4 .irow{padding:20px 0;grid-template-columns:56px 1.1fr 1fr 28px}
.hv4 .irow:hover{padding-left:0;padding-right:0;background:none}
.hv4 .irow:hover .t{text-decoration:underline;text-underline-offset:4px}
.hv4 .irow .t{font-family:"Inter",sans-serif;font-size:18px;font-weight:500;letter-spacing:0}
.hv4 .irow .num{font-family:"Inter",sans-serif;font-size:14px;color:var(--o-muted);letter-spacing:0}
.hv4 .irow .a{font-size:18px;color:var(--o-muted)}
.hv4 .stat .n{font-size:48px}
.hv4 .stat{padding:32px 24px 28px 0}
.hv4 .ptable,.hv4 .ftable{width:100%;border-collapse:collapse;font-size:15px;background:#fff}
.hv4 .ptable th{text-align:left;font-weight:600;font-size:13px;color:var(--o-muted);padding:12px 16px;border-bottom:2px solid var(--o-ink)}
.hv4 .ptable td{padding:16px;border-bottom:1px solid var(--o-line);vertical-align:top;color:var(--o-body)}
.hv4 .ptable td:first-child{color:var(--o-ink);font-weight:500}
.hv4 .h4two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.hv4 .h4two h2{margin-bottom:18px}
.hv4 .h4p{font-size:16px;line-height:1.65;color:var(--o-body);margin-bottom:24px;max-width:520px}
.hv4 .ftable th{text-align:left;font-weight:500;color:var(--o-muted);padding:12px 16px 12px 0;border-bottom:1px solid var(--o-line);width:42%;font-size:14px}
.hv4 .ftable td{padding:12px 0;border-bottom:1px solid var(--o-line);color:var(--o-ink)}
.hv4 .md .ohh-wrap{max-width:820px}
.hv4 .md blockquote{font-style:normal;font-size:22px;line-height:1.6;margin:20px 0;color:var(--o-ink);font-weight:400}
.hv4 .cta4{background:#fff}
.hv4 .h4contact p{margin:0 0 10px;font-size:17px;color:var(--o-ink)}
.hv4 .h4contact a:not(.btn){color:var(--o-navy);text-decoration:underline;text-underline-offset:3px}
.hv4 .h4contact .btn{margin-top:14px}
@media (max-width:980px){.hv4 .hero .ohh-wrap.h4grid,.hv4 .h4two{grid-template-columns:minmax(0,1fr);gap:40px}.hv4 .h4facts{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:28px 0 0}}
@media (max-width:760px){.hv4 .hero h1{font-size:36px}.hv4 .hero .ohh-wrap.h4grid{padding-top:56px;padding-bottom:56px}.hv4 h2{font-size:28px}.hv4 .sec{padding:56px 0}.hv4 .irow{grid-template-columns:36px 1fr 20px}.hv4 .irow .t{font-size:16px}.hv4 .ptable thead{display:none}.hv4 .ptable tr{display:block;padding:14px 0;border-bottom:1px solid var(--o-line)}.hv4 .ptable td{display:block;padding:2px 0;border:0}.hv4 .md blockquote{font-size:18px}}
.hv4 .klfig{margin:0 0 28px;max-width:520px}
.hv4 .klfig img{width:100%;height:auto;display:block;border:1px solid var(--o-line)}
.hv4 .klfig figcaption{font-size:13px;color:var(--o-muted);margin-top:8px}
