/* =========================================================
   ITF — Infinity Technologies Fund
   Modern corporate design system · dark premium fintech
   ========================================================= */

:root{
  --bg:#080A0F;              /* base */
  --bg-2:#0D1017;           /* elevated */
  --panel:#11151E;
  --glass:rgba(255,255,255,.035);
  --glass-2:rgba(255,255,255,.055);
  --border:rgba(255,255,255,.09);
  --border-2:rgba(255,255,255,.14);
  --text:#EEF1F6;
  --muted:#9AA2B1;
  --muted-2:#6C7484;
  --gold:#E6C079;
  --gold-2:#C79A46;
  --gold-soft:rgba(230,192,121,.14);
  --gold-line:rgba(230,192,121,.35);
  --grad-gold:linear-gradient(120deg,#F3D79A 0%,#E6C079 40%,#C79A46 100%);
  --grad-text:linear-gradient(120deg,#FBE8C4 0%,#E6C079 55%,#B98B37 100%);
  --sapph:#4D9BFF;
  --sapph-2:#2C6BD6;
  --sapph-soft:rgba(77,155,255,.12);
  --sapph-line:rgba(77,155,255,.34);
  --grad-blue:linear-gradient(120deg,#8FC4FF 0%,#4D9BFF 55%,#2C6BD6 100%);
  --cyan:#3AD6C2;
  --maxw:1220px;
  --r:18px;
  --r-lg:26px;
  --disp:"Space Grotesk","Inter",system-ui,sans-serif;
  --sans:"Inter",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --shadow:0 30px 70px -30px rgba(0,0,0,.85);
  --glow:0 0 60px -12px rgba(230,192,121,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);
  font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;
}
/* Ambient aurora / mesh glow + grid */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(60% 55% at 78% -5%, rgba(230,192,121,.16), transparent 60%),
    radial-gradient(45% 40% at 8% 8%, rgba(84,120,255,.10), transparent 60%),
    radial-gradient(50% 45% at 50% 108%, rgba(230,192,121,.08), transparent 60%),
    var(--bg);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(120% 80% at 50% 0%,#000 30%,transparent 75%);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:var(--disp);color:#fff;font-weight:600;margin:0;line-height:1.08;letter-spacing:-.02em}
.display{font-size:clamp(44px,6.4vw,88px);font-weight:600;line-height:1.02;letter-spacing:-.035em}
.h-page{font-size:clamp(38px,5vw,66px);font-weight:600;letter-spacing:-.03em}
.h-sec{font-size:clamp(30px,3.6vw,46px);font-weight:600;letter-spacing:-.025em}
.h-card{font-family:var(--disp);font-weight:600;font-size:20px;letter-spacing:-.01em;color:#fff}
p{margin:0 0 1.1em}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.65;color:var(--muted)}
.grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;
  padding:7px 14px 7px 12px;border:1px solid var(--gold-line);border-radius:100px;background:var(--gold-soft)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 10px 1px var(--gold)}
.eyebrow.on-dark{color:var(--gold)}
.eyebrow.blue{color:var(--sapph);border-color:var(--sapph-line);background:var(--sapph-soft)}
.eyebrow.blue::before{background:var(--sapph);box-shadow:0 0 10px 1px var(--sapph)}
.grad-blue{background:var(--grad-blue);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-head{max-width:680px;margin-bottom:60px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head .lead{margin-top:18px}

/* ---------- Buttons / links ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:15px;font-weight:600;
  letter-spacing:.01em;padding:15px 28px;border-radius:100px;border:1px solid transparent;cursor:pointer;
  transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s,background .25s,color .25s;white-space:nowrap}
.btn.gold,.btn.primary{background:var(--grad-gold);color:#231A08;box-shadow:0 10px 30px -10px rgba(230,192,121,.55)}
.btn.gold:hover,.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(230,192,121,.7)}
.btn.on-dark,.btn.ghost{border-color:var(--border-2);color:#fff;background:var(--glass)}
.btn.on-dark:hover,.btn.ghost:hover{transform:translateY(-2px);border-color:var(--gold-line);background:var(--glass-2)}
.arrow-link{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--gold);
  display:inline-flex;align-items:center;gap:9px;transition:.25s}
.arrow-link .a{transition:transform .25s}
.arrow-link:hover .a{transform:translateX(6px)}

/* ---------- Header (glass) ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;transition:.35s}
.site-header .wrap{display:flex;align-items:center;height:76px;gap:20px}
.site-header::after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:.35s;
  background:rgba(10,12,17,.72);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--border)}
.site-header.solid::after{opacity:1}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:44px;height:28px;display:flex;align-items:center}
.brand .mark img{width:100%;height:100%;object-fit:contain;object-position:left center;
  filter:drop-shadow(0 0 12px rgba(230,192,121,.35))}
.brand .word{font-family:var(--disp);font-size:19px;font-weight:600;color:#fff;line-height:1;letter-spacing:.01em}
.brand .word small{display:block;font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin-top:4px}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.main-nav a{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--muted);padding:9px 12px;
  border-radius:100px;transition:.2s;position:relative;white-space:nowrap}
.main-nav a:hover{color:#fff;background:var(--glass)}
.main-nav a.active{color:#fff}
.main-nav a.active::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;
  background:var(--grad-gold);border-radius:2px}
.main-nav .lang{color:var(--muted-2);margin-left:6px}
.main-nav .cta{margin-left:8px;background:var(--grad-gold);color:#231A08;font-weight:600}
.main-nav .cta:hover{background:var(--grad-gold);color:#231A08;transform:translateY(-1px)}
.nav-toggle{display:none}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:120px 0 80px}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:100px;
  border:1px solid var(--border-2);background:var(--glass);font-size:13px;color:var(--muted);margin-bottom:30px}
.hero-badge b{color:#fff;font-weight:600}
.hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px 1px var(--gold)}
.hero .display{max-width:15ch}
.hero .lead{max-width:56ch;margin-top:28px}
.hero-cta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-figure{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:min(42vw,540px);
  z-index:1;opacity:.9;pointer-events:none}
.hero-figure img{filter:drop-shadow(0 0 90px rgba(230,192,121,.45));animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(-8px)}50%{transform:translateY(8px)}}
.hero-strip{margin-top:64px;display:flex;gap:40px;flex-wrap:wrap;align-items:center;
  padding-top:30px;border-top:1px solid var(--border)}
.hero-strip .s{display:flex;flex-direction:column}
.hero-strip .s b{font-family:var(--mono);font-size:28px;font-weight:500;color:#fff;letter-spacing:-.02em}
.hero-strip .s b .u{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-strip .s span{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}

/* ---------- Page hero (inner) ---------- */
.page-hero{position:relative;padding:170px 0 84px;overflow:hidden}
.page-hero .wrap{position:relative;z-index:2}
.page-hero .h-page{max-width:18ch}
.page-hero .lead{max-width:62ch;margin-top:20px}

/* ---------- Sections ---------- */
section{padding:clamp(80px,9vw,140px) 0;position:relative}
.band-white,.band-cream,.band-sand{background:transparent}
.band-cream{background:linear-gradient(180deg,transparent,rgba(255,255,255,.012),transparent)}

/* ---------- Bento / cards ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{position:relative;background:var(--glass);border:1px solid var(--border);border-radius:var(--r);
  padding:34px 30px;transition:transform .3s cubic-bezier(.2,.7,.3,1),border-color .3s,background .3s;overflow:hidden}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;opacity:0;transition:.3s;
  background:linear-gradient(140deg,var(--gold-line),transparent 45%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.card:hover{transform:translateY(-5px);background:var(--glass-2);border-color:var(--border-2)}
.card:hover::before{opacity:1}
.card .ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  margin-bottom:22px;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold)}
.card .ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6}
.card .h-card{margin-bottom:12px}
.card p{font-size:15.5px;margin:0;color:var(--muted)}
.card .idx{position:absolute;top:24px;right:26px;font-family:var(--disp);font-size:14px;color:var(--muted-2)}

/* ---------- Stats bento ---------- */
.stats{padding-top:0}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stats .cell{background:var(--glass);border:1px solid var(--border);border-radius:var(--r);padding:36px 30px;
  transition:.3s}
.stats .cell:hover{border-color:var(--gold-line);background:var(--glass-2)}
.stats .num{font-family:var(--mono);font-size:clamp(38px,3.8vw,50px);font-weight:500;color:#fff;line-height:1;letter-spacing:-.03em}
.stats .num .u{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats .cap{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:14px;letter-spacing:.06em;text-transform:uppercase}

/* ---------- Feature ---------- */
.feature{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(40px,6vw,84px)}
.feature.reverse .media{order:2}
.feature .media{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);
  box-shadow:var(--shadow)}
.feature .media::after{content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(180deg,transparent 55%,rgba(8,10,15,.5));pointer-events:none}
.feature .media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .6s}
.feature:hover .media img{transform:scale(1.04)}
.feature .body p{max-width:48ch;color:var(--muted)}
.feature .body .arrow-link{margin-top:26px}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;position:relative;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:56px;width:max-content;animation:scroll 34s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.marquee .m{font-family:var(--disp);font-size:22px;font-weight:500;color:var(--muted-2);white-space:nowrap;
  transition:.25s;letter-spacing:-.01em}
.marquee .m:hover{color:var(--gold)}

/* ---------- Definition list (fund terms) ---------- */
.terms{border-top:1px solid var(--border)}
.terms .row{display:flex;justify-content:space-between;gap:24px;padding:18px 4px;border-bottom:1px solid var(--border)}
.terms .row dt{font-family:var(--sans);font-weight:500;color:var(--muted);font-size:15.5px}
.terms .row dd{margin:0;text-align:right;color:#fff;font-weight:600;font-size:15.5px;font-family:var(--disp);letter-spacing:-.01em}

/* ---------- Industries ---------- */
.industries{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.industries .item{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--border);
  border-radius:14px;background:var(--glass);transition:.25s}
.industries .item:hover{border-color:var(--gold-line);background:var(--glass-2);transform:translateY(-2px)}
.industries .item .ico{width:24px;height:24px;color:var(--gold);flex:0 0 24px}
.industries .item .ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6}
.industries .item span{font-family:var(--sans);font-size:16px;color:#fff;font-weight:500}

/* ---------- Timeline ---------- */
.timeline{position:relative;display:grid;gap:0;max-width:920px;margin:0 auto}
.timeline::before{content:"";position:absolute;left:calc(50% - .5px);top:6px;bottom:6px;width:1px;
  background:linear-gradient(var(--gold-line),transparent)}
.tl{display:grid;grid-template-columns:1fr 56px 1fr;align-items:center}
.tl .left{grid-column:1}.tl .dot{grid-column:2}.tl .right{grid-column:3}
.tl .yr{font-family:var(--disp);font-size:32px;color:var(--gold);font-weight:600;letter-spacing:-.02em}
.tl .dot{justify-self:center;width:13px;height:13px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 5px rgba(230,192,121,.14),0 0 16px 2px rgba(230,192,121,.5)}
.tl .content{padding:26px 34px}
.tl:nth-child(odd) .left{text-align:right}
.tl:nth-child(odd) .right{display:none}
.tl:nth-child(even) .left{display:none}
.tl .desc{color:var(--muted);font-size:15.5px}

/* ---------- Partners grid ---------- */
.partners{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.partners .p{height:70px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);
  border-radius:14px;background:var(--glass);color:var(--muted);font-family:var(--disp);font-size:15px;
  font-weight:500;transition:.25s;text-align:center;padding:0 8px}
.partners .p:hover{color:var(--gold);border-color:var(--gold-line);background:var(--glass-2);transform:translateY(-3px)}

/* ---------- Portfolio / press name cards ---------- */
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.name-card{position:relative;background:var(--glass);border:1px solid var(--border);border-radius:var(--r);
  padding:28px 26px;transition:.3s;min-height:130px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.name-card::after{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--grad-gold);
  opacity:0;transition:.3s}
.name-card:hover{border-color:var(--border-2);background:var(--glass-2);transform:translateY(-4px)}
.name-card:hover::after{opacity:1}
.name-card .nm{font-family:var(--disp);font-weight:600;font-size:18px;color:#fff;line-height:1.3;letter-spacing:-.01em}
.name-card .tag{font-family:var(--mono);font-size:11.5px;color:var(--sapph);letter-spacing:.06em;margin-top:10px;text-transform:uppercase}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:0 auto}
.member{position:relative;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;
  background:var(--glass);transition:.3s}
.member:hover{border-color:var(--gold-line);transform:translateY(-5px)}
.member .photo{aspect-ratio:4/5;position:relative;overflow:hidden;background:linear-gradient(160deg,#1a2130,#0b0e14)}
.member .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;
  transition:transform .5s}
.member:hover .photo img{transform:scale(1.05)}
.member .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,10,15,.85))}
.member .info{padding:22px 24px 26px}
.member h4{font-family:var(--disp);font-size:19px;color:#fff}
.member .role{font-size:13px;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.member .bio{font-size:14px;color:var(--muted);margin-top:14px;line-height:1.6}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.info .row{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--border)}
.info .row .ico{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:flex;align-items:center;
  justify-content:center;background:var(--gold-soft);border:1px solid var(--gold-line);color:var(--gold)}
.info .row .ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}
.info .row h4{font-family:var(--sans);font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-weight:600}
.info .row p{margin:0;font-size:16px;color:#fff}
.map{width:100%;aspect-ratio:16/10;border:1px solid var(--border);border-radius:var(--r);filter:invert(.92) hue-rotate(180deg) contrast(.95)}
.form-card{background:var(--glass);border:1px solid var(--border);border-radius:var(--r-lg);padding:38px}
form.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:18px}
form.enquiry .full{grid-column:span 2}
form.enquiry label{display:block;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px}
form.enquiry input,form.enquiry textarea{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;
  background:rgba(0,0,0,.25);font-family:var(--sans);font-size:15px;color:#fff;transition:.2s}
form.enquiry input::placeholder,form.enquiry textarea::placeholder{color:var(--muted-2)}
form.enquiry input:focus,form.enquiry textarea:focus{outline:none;border-color:var(--gold-line);background:rgba(0,0,0,.4)}
form.enquiry textarea{resize:vertical;min-height:130px}

/* ---------- CTA band ---------- */
.cta-band .wrap{position:relative;border-radius:var(--r-lg);border:1px solid var(--border-2);overflow:hidden;
  padding:clamp(56px,7vw,90px) 40px;text-align:center;
  background:radial-gradient(90% 130% at 50% 0%,rgba(230,192,121,.14),transparent 60%),var(--panel)}
.cta-band h2{margin-bottom:18px}
.cta-band p{color:var(--muted);max-width:54ch;margin:0 auto 34px}
.cta-band .btnrow{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- Footer ---------- */
.site-footer{padding:80px 0 40px;border-top:1px solid var(--border);margin-top:40px;position:relative}
.site-footer .top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--border)}
.site-footer .brand{margin-bottom:20px}
.site-footer p{color:var(--muted);margin:0 0 6px;line-height:1.7;font-size:15px}
.site-footer h4{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;margin-bottom:18px}
.site-footer a{display:block;color:var(--muted);padding:6px 0;transition:.2s;font-size:15px}
.site-footer a:hover{color:var(--gold)}
.site-footer .bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;
  color:var(--muted-2);font-size:13px;flex-wrap:wrap;gap:12px}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .stats .grid,.grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .site-footer .top{grid-template-columns:1fr 1fr}
  .hero-figure{display:none}
}
@media(max-width:720px){
  .wrap{padding:0 20px}
  .main-nav{position:fixed;inset:0 0 0 auto;width:min(84vw,340px);background:rgba(12,15,22,.96);
    backdrop-filter:blur(20px);flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;
    padding:40px;transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.7,.3,1);border-left:1px solid var(--border)}
  .main-nav.open{transform:none}
  .main-nav a{font-size:19px;width:100%}
  .main-nav .cta{margin:8px 0 0}
  .nav-toggle{display:flex;flex-direction:column;gap:5px;margin-left:auto;background:none;border:0;cursor:pointer;z-index:70;padding:8px}
  .nav-toggle span{width:26px;height:2px;background:#fff;border-radius:2px;transition:.3s}
  .grid-2,.grid-3,.grid-4,.stats .grid,.team-grid,.pf-grid,.industries,.contact-grid,form.enquiry,.feature{grid-template-columns:1fr}
  .feature.reverse .media{order:0}
  .hero-strip{gap:26px}
  .timeline::before{left:7px}
  .tl{grid-template-columns:28px 1fr}
  .tl .dot{grid-column:1}.tl .left,.tl .right{grid-column:2}
  .tl:nth-child(odd) .left,.tl:nth-child(even) .left{display:block;text-align:left}
  .tl:nth-child(odd) .right{display:block}
  .tl .content{padding:12px 0 22px 14px}
  .tl .yr{font-size:24px}
  .site-footer .top{grid-template-columns:1fr}
}

/* ================= NEW DIRECTION — components ================= */
.terms .row dd{font-family:var(--mono);font-weight:500}
.card .idx{font-family:var(--mono)}

/* Image art-direction slots (blank, to be generated) */
.img-slot{position:relative;border:1px dashed var(--sapph-line);border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(160deg,rgba(77,155,255,.06),rgba(230,192,121,.035)),var(--panel);
  display:flex;flex-direction:column;justify-content:flex-end;padding:26px;min-height:300px}
.img-slot::before{content:"◍ IMAGE";position:absolute;top:16px;left:20px;font-family:var(--mono);
  font-size:11px;letter-spacing:.2em;color:var(--sapph)}
.img-slot::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(-38deg,transparent 0 22px,rgba(255,255,255,.02) 22px 23px)}
.img-slot .brief{position:relative;font-family:var(--mono);font-size:12.5px;line-height:1.7;color:var(--muted);max-width:52ch}
.img-slot .brief b{color:#fff;font-weight:500}
.img-slot.wide{aspect-ratio:16/9;min-height:0}
.img-slot.tall{aspect-ratio:4/5;min-height:0}

/* Platform cards */
.plat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.plat{position:relative;border:1px solid var(--border);border-radius:var(--r-lg);padding:38px 34px;
  background:var(--glass);overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.3,1),border-color .3s;
  min-height:280px;display:flex;flex-direction:column}
.plat::after{content:"";position:absolute;inset:0;opacity:0;transition:.35s;pointer-events:none;
  background:radial-gradient(90% 70% at 100% 0,var(--sapph-soft),transparent 60%)}
.plat:hover{transform:translateY(-6px);border-color:var(--sapph-line)}
.plat:hover::after{opacity:1}
.plat .pnum{font-family:var(--mono);font-size:12px;color:var(--sapph);letter-spacing:.14em}
.plat h3{font-family:var(--disp);font-size:25px;margin:18px 0 12px;letter-spacing:-.02em}
.plat p{color:var(--muted);font-size:15.5px;flex:1;margin:0 0 18px}
.plat .tagrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.plat .chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--border);border-radius:100px;padding:5px 10px}

/* Lead statement block */
.statement{max-width:24ch;font-family:var(--disp);font-weight:500;letter-spacing:-.02em;
  font-size:clamp(26px,3.4vw,42px);line-height:1.15;color:#fff}
.statement .grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}

@media(max-width:820px){.plat-grid{grid-template-columns:1fr}}

/* "to confirm" fact markers (from copy [Ber: ...] notes) */
.tc{font-family:var(--mono);font-size:.82em;color:var(--sapph);background:var(--sapph-soft);
  border:1px solid var(--sapph-line);border-radius:6px;padding:1px 8px;letter-spacing:.01em;white-space:nowrap}
.member .photo .ph-note{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:4px;font-family:var(--mono);font-size:12px;color:var(--sapph);letter-spacing:.08em;
  text-align:center;padding:20px;z-index:2}
.member .photo .ph-note b{color:#fff;font-weight:500;font-size:13px}
.member .photo .ph-note span{color:var(--muted-2)}
.team-5{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.team-5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.team-5{grid-template-columns:1fr}}

/* Platform detail hero (full-bleed image) */
.plat-hero{position:relative;padding:170px 0 90px;overflow:hidden;min-height:64vh;display:flex;align-items:flex-end}
.plat-hero .bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat}
.plat-hero .scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg,rgba(8,10,15,.97),rgba(8,10,15,.55) 55%,rgba(8,10,15,.32)),
             linear-gradient(90deg,rgba(8,10,15,.72),transparent 62%)}
.plat-hero .wrap{position:relative;z-index:2}

/* ================= ARTICLES / INSIGHTS ================= */
.article-hero{position:relative;padding:150px 0 0}
.article-hero .wrap{position:relative;z-index:2}
.article-hero .head{max-width:820px}
.article-hero h1{font-size:clamp(30px,4vw,50px);letter-spacing:-.025em;line-height:1.1;margin:14px 0 16px}
.post-meta{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.article-media{max-width:1040px;margin:44px auto 0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}
.article-media img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.entry{max-width:730px;margin:0 auto}
.entry .lead{font-size:clamp(19px,2vw,22px);line-height:1.6;color:#fff;margin:0 0 1.4em}
.entry p{color:var(--muted);font-size:17.5px;line-height:1.85;margin:0 0 1.35em}
.entry h2{font-family:var(--disp);color:#fff;font-size:clamp(23px,2.4vw,30px);letter-spacing:-.02em;margin:1.9em 0 .55em}
.entry h3{font-family:var(--disp);color:#fff;font-size:20px;margin:1.6em 0 .4em}
.entry strong{color:#fff;font-weight:600}
.entry a{color:var(--sapph);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--sapph-line)}
.entry a:hover{text-decoration-color:var(--sapph)}
.entry blockquote{margin:1.6em 0;padding:6px 0 6px 24px;border-left:2px solid var(--gold);color:#fff;font-size:20px;font-family:var(--disp)}
.entry .src{font-size:13px;color:var(--muted-2);border-top:1px solid var(--border);margin-top:44px;padding-top:22px;line-height:1.7}
.entry .src a{color:var(--muted);text-decoration-color:var(--border-2)}

/* Insights post cards */
.post-thumb{margin:-34px -30px 22px;aspect-ratio:16/9;overflow:hidden;border-radius:var(--r) var(--r) 0 0;border-bottom:1px solid var(--sapph-line)}
.post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .post-thumb img{transform:scale(1.05)}

/* ================= BENTO (Energy & Resources) ================= */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.bento .col{display:flex;flex-direction:column;gap:22px}
.bento .bimg{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);position:relative;flex:1;min-height:240px}
.bento .bimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bento .bimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,10,15,.5))}
.bento .card{flex:1}
.bento .card .k>span,.bento .card .outcome{font-family:var(--mono);font-size:12px;color:var(--sapph);letter-spacing:.04em}
.bento .card .outcome{display:block;margin-top:14px;color:var(--muted);text-transform:none}
@media(max-width:820px){.bento{grid-template-columns:1fr}.bento .bimg{min-height:200px}}
