/* Majoc v11 — standalone static site, no third-party image or font requests. */
:root { --navy:#02557b; --blue:#0094d9; --cyan:#00c7de; --lime:#7ee513; --mist:#dce1e4; --ink:#123747; --white:#fff; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Poppins,"Avenir Next","Century Gothic","Trebuchet MS",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
a:focus-visible,.logo-marquee:focus-visible { outline:3px solid var(--lime); outline-offset:5px; }
img { display:block; max-width:100%; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { letter-spacing:-.055em; }
.container { width:min(1320px,calc(100% - 112px)); margin-inline:auto; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position:absolute; z-index:100; top:-100px; left:24px; padding:10px 20px; background:var(--lime); color:var(--ink); }
.skip-link:focus { top:16px; }
.site-header { position:absolute; z-index:10; inset:0 0 auto; color:var(--white); }
.header-inner { min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:28px; border-bottom:1px solid rgba(255,255,255,.2); }
.brand-link { display:inline-flex; align-items:center; text-decoration:none; }
.brand-link img { width:75px; height:75px; object-fit:contain; }
.header-nav { display:flex; align-items:center; gap:clamp(20px,3vw,48px); }
.header-nav a { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; transition:color .2s; }
.header-nav a:hover,.header-nav a span { color:var(--lime); }
.header-nav a span { margin-left:3px; }
.hero { position:relative; isolation:isolate; min-height:min(820px,100svh); background:var(--navy); color:white; overflow:hidden; }
.hero-grid { position:absolute; z-index:-1; inset:0; opacity:.24; background-image:linear-gradient(to right,rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.11) 1px,transparent 1px); background-size:118px 118px; mask-image:linear-gradient(to bottom,transparent 0%,black 25%,transparent 100%); }
.hero::after { content:""; position:absolute; z-index:-1; width:620px; height:620px; border-radius:50%; border:1px solid rgba(0,199,222,.15); top:25%; right:-480px; box-shadow:0 0 0 140px rgba(0,199,222,.025),0 0 0 290px rgba(0,199,222,.018); }
.hero-inner { min-height:min(820px,100svh); padding-block:128px 84px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.hero-logo { width:clamp(280px,34vw,440px); height:auto; margin:0 0 12px; }
.hero h1 { font-size:clamp(18px,2.25vw,29px); letter-spacing:-.02em; font-weight:500; line-height:1.45; color:white; margin:0 0 14px; }
.hero-intro { max-width:550px; font-size:clamp(13px,1.15vw,16px); line-height:1.85; color:#cce2ea; margin-bottom:31px; }
.hero-scroll { display:inline-flex; align-items:center; gap:17px; text-transform:uppercase; letter-spacing:.18em; font-size:10px; text-decoration:none; font-weight:700; color:white; border-bottom:1px solid rgba(255,255,255,.38); padding-bottom:12px; transition:border-color .2s,color .2s; }
.hero-scroll:hover { border-color:var(--lime); color:var(--lime); }
.hero-scroll span { font-size:20px; font-weight:400; }
.hero-bottom-line { position:absolute; bottom:0; width:100%; height:4px; background:rgba(255,255,255,.09); }
.hero-bottom-line span { display:block; height:100%; width:18%; background:var(--lime); }
.section-pad { padding:127px 0 135px; }
.section-meta { color:var(--navy); text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.18em; display:flex; align-items:center; gap:18px; }
.section-number { color:var(--blue); }
.section-heading-row { display:flex; justify-content:space-between; align-items:end; gap:70px; padding:26px 0 55px; }
h2 { font-weight:700; font-size:clamp(46px,5.4vw,75px); line-height:1.09; margin-bottom:0; }
h2 em { font-style:normal; color:var(--blue); }
.section-heading-row p { color:#687981; max-width:390px; line-height:1.95; font-size:15px; margin:0 0 7px; }
.venture-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.venture-card { position:relative; min-height:405px; border-radius:3px; overflow:hidden; padding:34px 39px 30px; display:flex; flex-direction:column; justify-content:space-between; isolation:isolate; transition:transform .25s ease,box-shadow .25s ease; }
.venture-card:hover { transform:translateY(-4px); box-shadow:0 16px 38px rgba(2,85,123,.14); }
.card-top,.card-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; position:relative; z-index:1; }
.card-top { font-size:11px; letter-spacing:.13em; font-weight:600; }
.card-mini-label { font-size:9px; text-transform:uppercase; letter-spacing:.15em; opacity:.8; text-align:right; }
.venture-card-content { position:relative; z-index:1; padding-top:3px; }
.venture-card h3 { font-size:clamp(27px,2.7vw,40px); line-height:1.15; font-weight:700; margin:0 0 13px; }
.venture-card p { line-height:1.8; font-size:13px; max-width:340px; margin-bottom:0; }
.card-bottom { font-size:9px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; padding-top:24px; border-top:1px solid currentColor; }
.tiny-orb { height:9px; width:9px; border-radius:50%; background:currentColor; opacity:.55; }
.venture-gain { background:var(--navy); color:white; }
.venture-gain::before { content:""; width:240px; height:240px; border:50px solid rgba(0,199,222,.13); position:absolute; right:-78px; top:80px; border-radius:50%; }
.venture-gain .card-bottom { border-color:rgba(255,255,255,.22); }
.venture-lbn { background:var(--mist); color:var(--navy); }
.venture-lbn::before { content:""; position:absolute; background:rgba(255,255,255,.45); height:280px; width:280px; border-radius:50%; right:-120px; top:36px; }
.venture-lbn .card-bottom { border-color:rgba(2,85,123,.2); }
.venture-forge { background:#07bdd2; color:#003f55; }
.venture-forge::before { content:""; position:absolute; height:240px; width:240px; border:1px solid rgba(0,63,85,.24); border-radius:50%; top:-110px; right:-60px; box-shadow:0 0 0 60px rgba(255,255,255,.09); }
.venture-forge .card-bottom { border-color:rgba(0,63,85,.25); }
.venture-opportunity { background:#f2f6f8; color:var(--navy); border:1px solid #dfe8ec; }
.venture-opportunity::before { content:""; position:absolute; width:300px; height:300px; top:55px; right:-145px; border:1px solid rgba(0,148,217,.22); border-radius:50%; box-shadow:0 0 0 38px rgba(0,148,217,.04),0 0 0 84px rgba(0,148,217,.025); }
.venture-opportunity .venture-card-content { padding-top:20px; }
.venture-opportunity h3 { font-size:clamp(32px,3.4vw,52px); }
.venture-opportunity .card-bottom { border-color:rgba(2,85,123,.2); }
.venture-opportunity .card-bottom a { font-size:11px; text-decoration:none; letter-spacing:.08em; text-transform:none; }
.venture-opportunity .card-bottom a:hover { text-decoration:underline; }
.venture-logo-stage { display:flex; align-items:center; justify-content:flex-start; width:min(100%,340px); height:175px; margin-bottom:16px; }
.venture-logo { display:block; object-fit:contain; object-position:left center; width:auto; height:auto; max-width:100%; max-height:100%; }
.logo-gain { width:270px; max-width:90%; max-height:168px; }
.logo-lbn { height:164px; max-height:100%; width:auto; }
.logo-forge { height:161px; max-height:100%; width:auto; }
/* Experience strip: equal-height, non-shrinking slots, source art with alpha trim. */
.experience-section { background:#f4f7f8; padding:45px 0 54px; overflow:hidden; }
.logo-marquee { width:100%; overflow:hidden; background:#fff; border-block:1px solid #dce5e8; mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent); }
.logo-marquee-track { display:flex; width:max-content; animation:ticker 120s linear infinite; }
.logo-marquee:is(:hover,:focus,:focus-within) .logo-marquee-track { animation-play-state:paused; }
.logo-set { flex:0 0 auto; display:flex; align-items:center; gap:40px; padding:20px; }
.logo-item { flex:0 0 var(--slot-width); inline-size:var(--slot-width); block-size:136px; display:flex; align-items:center; justify-content:center; }
.logo-item img { display:block; width:auto; height:auto; max-width:100%; max-height:var(--logo-max-height); object-fit:contain; object-position:center; opacity:.96; }
@keyframes ticker { to { transform:translateX(-50%); } }
.contact-section { background:var(--navy); color:white; padding:115px 0 0; overflow:hidden; }
.contact-section .section-meta { color:white; }
.contact-section .section-number { color:var(--lime); }
.contact-content { padding-top:26px; padding-bottom:2px; }
.contact-section h2 { font-size:clamp(54px,6vw,86px); margin:16px 0; }
.contact-section h2 em { color:var(--cyan); }
.contact-content p { font-size:16px; color:#d4e5eb; margin:0 0 33px; line-height:1.75; }
.contact-button { display:inline-flex; justify-content:space-between; align-items:center; gap:28px; padding:18px 25px; min-width:248px; background:var(--lime); color:#113844; font-size:13px; font-weight:700; border-radius:3px; text-decoration:none; transition:background .2s,transform .2s; }
.contact-button span { font-size:21px; line-height:1; font-weight:400; }
.contact-button:hover { background:white; transform:translateY(-2px); }
.contact-button:focus-visible { outline-color:white; }
.contact-rule { height:1px; background:rgba(255,255,255,.21); margin-top:110px; }
.site-footer { background:var(--navy); color:white; }
.footer-row { display:flex; align-items:end; justify-content:space-between; gap:40px; padding:32px 0 35px; }
.footer-identity { display:flex; align-items:center; }
.footer-identity img { width:70px; height:auto; }
.footer-side { display:flex; gap:clamp(20px,3vw,45px); align-items:center; flex-wrap:wrap; font-size:10px; letter-spacing:.03em; color:rgba(255,255,255,.64); }
.footer-side a { color:white; text-decoration:none; }
.footer-side a:hover { color:var(--lime); }
@media (max-width:900px) {
 .container { width:min(100% - 64px,1320px); }
 .section-heading-row { flex-direction:column; align-items:start; gap:25px; }
 .section-heading-row p { max-width:600px; }
 .venture-card { padding:28px; min-height:370px; }
 .hero,.hero-inner { min-height:720px; }
 .hero-logo { width:clamp(275px,39vw,395px); }
 .footer-row { align-items:start; }
 .footer-side { flex-direction:column; align-items:end; gap:10px; }
}
@media (max-width:620px) {
 .container { width:min(100% - 38px,1320px); }
 .header-inner { min-height:76px; }
 .brand-link img { width:64px; height:64px; }
 .header-nav { gap:18px; }
 .header-nav a { font-size:9px; }
 .header-nav a:nth-child(2) { display:none; }
 .hero,.hero-inner { min-height:660px; }
 .hero-inner { padding-top:110px; padding-bottom:68px; }
 .hero-logo { width:min(320px,78vw); margin-bottom:9px; }
 .hero h1 { font-size:clamp(17px,4.5vw,23px); margin-bottom:12px; }
 .hero-intro { max-width:335px; font-size:12px; }
 .section-pad { padding:79px 0 92px; }
 .section-heading-row { padding:22px 0 32px; }
 h2 { font-size:47px; }
 .section-heading-row p { font-size:13px; }
 .venture-grid { grid-template-columns:1fr; gap:12px; }
 .venture-card { min-height:342px; }
 .venture-card h3 { font-size:35px; }
 .venture-card p { font-size:12px; }
 .venture-card-content { padding-top:3px; }
 .venture-logo-stage { height:158px; }
 .logo-gain { width:245px; }
 .logo-lbn,.logo-forge { height:145px; }
 .experience-section { padding:33px 0 39px; }
 .logo-set { padding:22px 12px; gap:26px; }
 .logo-item { flex-basis:calc(var(--slot-width) * .76); inline-size:calc(var(--slot-width) * .76); block-size:112px; }
 .logo-item img { max-height:calc(var(--logo-max-height) * .78); }
 .contact-section { padding-top:85px; }
 .contact-section h2 { font-size:54px; }
 .contact-content p { font-size:13px; }
 .contact-rule { margin-top:86px; }
 .footer-row { align-items:start; flex-direction:column; gap:25px; }
 .footer-side { flex-direction:row; justify-content:space-between; align-items:start; width:100%; gap:14px; }
 .footer-identity img { width:64px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition:none!important; animation:none!important; }
 .logo-marquee { overflow-x:auto; mask-image:none; }
 .logo-set[aria-hidden="true"] { display:none; }
}
