/* IMBT.tech — premium B2B technology homepage */
:root {
    --imbt-ink: #07111f;
    --imbt-ink-soft: #0c1a2d;
    --imbt-panel: #102239;
    --imbt-cyan: #22d3ee;
    --imbt-blue: #38bdf8;
    --imbt-mint: #6ee7b7;
    --imbt-paper: #f5f8fb;
    --imbt-white: #ffffff;
    --imbt-copy: #485b70;
    --imbt-line: #dce5ee;
}

.imbt-home { background: var(--imbt-paper); color: var(--imbt-ink); overflow: hidden; }
.imbt-container { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.imbt-section { position: relative; padding: 112px 0; background: var(--section-custom-bg, var(--imbt-paper)); }

.imbt-kicker {
    display: inline-flex; align-items: center; gap: 10px; color: #9edcf1;
    font-size: 12px; line-height: 1; font-weight: 700; letter-spacing: .19em;
}
.imbt-kicker span { width: 24px; height: 1px; background: currentColor; }
.imbt-kicker-dark { color: #087f9c; }

.imbt-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; margin-bottom: 48px; }
.imbt-section-heading-wide { align-items: flex-start; }
.imbt-section-heading h2 {
    max-width: 780px; margin-top: 18px; color: var(--imbt-ink); font-size: clamp(34px, 4.1vw, 60px);
    line-height: 1.06; letter-spacing: -.045em; font-weight: 650;
}
.imbt-section-heading p { max-width: 590px; margin-top: 18px; color: var(--imbt-copy); font-size: 17px; line-height: 1.75; }
.imbt-heading-side { max-width: 470px; padding-top: 28px; }
.imbt-heading-side p { margin: 0 0 22px; }
.imbt-text-link { display: inline-flex; align-items: center; gap: 10px; color: #087f9c; font-size: 14px; font-weight: 700; }
.imbt-text-link span { transition: transform .25s ease; }
.imbt-text-link:hover span { transform: translate(3px,-3px); }
.imbt-text-link-light { color: #8cecff; }

.imbt-button {
    min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 12px;
    padding: 0 24px; border: 1px solid transparent; border-radius: 12px; font-size: 14px; font-weight: 700;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.imbt-button:hover { transform: translateY(-2px); }
.imbt-button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.imbt-button-primary { color: #05121e; background: linear-gradient(135deg,#7ee9fa,#35c6ec); box-shadow: 0 18px 38px rgba(34,211,238,.18); }
.imbt-button-primary:hover { box-shadow: 0 22px 48px rgba(34,211,238,.28); }
.imbt-button-secondary { color: #e8f4fa; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.04); }
.imbt-button-secondary:hover { border-color: rgba(126,233,250,.7); background: rgba(255,255,255,.08); }
.imbt-button-dark { margin-top: 32px; color: #fff; background: var(--imbt-ink); }
.imbt-button-white { color: var(--imbt-ink); background: #fff; }
.imbt-button-outline { color: #fff; border-color: rgba(255,255,255,.45); }

/* Hero */
.imbt-hero {
    position: relative; isolation: isolate; min-height: 760px; color: #fff;
    background: var(--section-custom-bg, linear-gradient(135deg,#07111f 0%,#09182a 52%,#0b2236 100%));
    border-bottom: 1px solid rgba(148,163,184,.16);
}
.imbt-hero-grid, .imbt-cta-grid {
    position: absolute; inset: 0; z-index: -1; opacity: .2;
    background-image: linear-gradient(rgba(148,163,184,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.12) 1px,transparent 1px);
    background-size: 56px 56px; mask-image: linear-gradient(to bottom,black,transparent 90%);
}
.imbt-orb { position: absolute; z-index: -1; border-radius: 50%; filter: blur(3px); pointer-events: none; }
.imbt-orb-one { width: 500px; height: 500px; right: -180px; top: -210px; background: radial-gradient(circle,rgba(34,211,238,.17),transparent 70%); }
.imbt-orb-two { width: 420px; height: 420px; left: -210px; bottom: 20px; background: radial-gradient(circle,rgba(56,189,248,.12),transparent 70%); }
.imbt-hero-shell { padding: 86px 0 52px; }
.imbt-slider { position: relative; }
.imbt-slider-viewport { overflow: hidden; }
.imbt-slider-track { display: flex; transition: transform .8s cubic-bezier(.22,.7,.3,1); }
.imbt-hero-slide { min-width: 100%; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 80px; }
.imbt-hero-copy h1 {
    max-width: 720px; margin: 23px 0 24px; color: #fff; font-size: clamp(48px,5.5vw,78px);
    line-height: .99; letter-spacing: -.055em; font-weight: 650;
}
.imbt-hero-lead { max-width: 630px; color: #aebed0; font-size: clamp(17px,1.5vw,20px); line-height: 1.75; }
.imbt-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.imbt-hero-stats { display: flex; align-items: stretch; gap: 0; margin-top: 54px; }
.imbt-stat { min-width: 138px; padding-right: 30px; margin-right: 30px; border-right: 1px solid rgba(148,163,184,.2); }
.imbt-stat:last-child { border: 0; margin: 0; padding: 0; }
.imbt-stat strong { display: block; color: #fff; font-size: 30px; line-height: 1; letter-spacing: -.04em; }
.imbt-stat strong span { color: var(--imbt-cyan); }
.imbt-stat small { display: block; margin-top: 9px; color: #8295aa; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.imbt-hero-media { position: relative; min-width: 0; padding: 18px 16px 28px 0; }
.imbt-media-frame { position: relative; overflow: hidden; border-radius: 28px 8px 28px 8px; border: 1px solid rgba(148,163,184,.2); box-shadow: 0 42px 80px rgba(0,0,0,.38); }
.imbt-media-frame::after { content:""; position:absolute; inset:0; background: linear-gradient(140deg,transparent 50%,rgba(6,18,31,.36)); pointer-events:none; }
.imbt-media-frame img { width: 100%; min-height: 430px; max-height: 500px; object-fit: cover; display: block; }
.imbt-status-card {
    position: absolute; display: flex; align-items: center; gap: 12px; min-width: 205px; padding: 14px 16px;
    background: rgba(7,17,31,.84); border: 1px solid rgba(148,163,184,.22); border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0,0,0,.32); backdrop-filter: blur(16px);
}
.imbt-status-card small, .imbt-status-card strong { display:block; }
.imbt-status-card small { color:#7890a9; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.imbt-status-card strong { margin-top:3px; color:#edfaff; font-size:13px; }
.imbt-status-card svg { width:26px; fill:none; stroke:#65dff5; stroke-width:1.6; }
.imbt-status-top { right: -12px; top: 54px; }
.imbt-status-bottom { left: -38px; bottom: 0; }
.imbt-live-dot { width: 10px; height: 10px; border-radius: 50%; background: #34d399; box-shadow: 0 0 0 6px rgba(52,211,153,.12); }
.imbt-slider-nav { position: absolute; left: 0; bottom: -4px; display: flex; gap: 8px; }
.imbt-slider-nav button { width: 28px; height: 3px; border: 0; border-radius: 5px; background: rgba(148,163,184,.3); transition: width .2s,background .2s; }
.imbt-slider-nav button.is-active { width: 56px; background: var(--imbt-cyan); }
.imbt-trust-row {
    display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 24px; align-items: center;
    min-height: 88px; padding: 22px 0; border-top: 1px solid rgba(148,163,184,.15);
    color: #8da2b7; font-size: 12px; text-transform: uppercase; letter-spacing: .11em;
}
.imbt-trust-row > span { color: #dbeaf2; font-weight: 650; }
.imbt-trust-row b { margin-right: 10px; color: #41d0ec; font-size: 11px; }

/* Solution architecture */
.imbt-solutions { background: var(--section-custom-bg, #f7fafc); }
.imbt-solution-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--imbt-line); border-radius: 24px; overflow: hidden; background:#fff; box-shadow: 0 24px 60px rgba(28,52,78,.07); }
.imbt-solution-card { position:relative; min-height: 410px; padding: 34px 28px; border-right: 1px solid var(--imbt-line); transition: background .3s, transform .3s; }
.imbt-solution-card:last-child { border-right:0; }
.imbt-solution-card::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:var(--card-accent); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.imbt-solution-card:hover { background:#f3f8fb; }
.imbt-solution-card:hover::before { transform:scaleX(1); }
.imbt-solution-number { color:#9aacbd; font-size:11px; font-weight:700; letter-spacing:.14em; }
.imbt-solution-icon { width:50px; height:50px; display:grid; place-items:center; margin:46px 0 28px; border-radius:14px; color:#087f9c; background:#e6f7fb; }
.imbt-solution-icon svg { width:25px; fill:none; stroke:currentColor; stroke-width:1.5; }
.imbt-solution-card h3 { min-height:52px; color:var(--imbt-ink); font-size:21px; line-height:1.25; font-weight:700; letter-spacing:-.02em; }
.imbt-solution-card > p { min-height:68px; margin-top:14px; color:var(--imbt-copy); font-size:13px; line-height:1.65; }
.imbt-solution-links { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }
.imbt-solution-links a { padding:6px 9px; border:1px solid #d7e3ec; border-radius:7px; color:#50667a; font-size:10px; font-weight:650; }
.imbt-solution-links a:hover { color:#087f9c; border-color:#8bd7e7; }

/* Capabilities */
.imbt-capabilities { color:#fff; background:var(--section-custom-bg, #081522); }
.imbt-capabilities::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 90% 15%,rgba(34,211,238,.1),transparent 30%); }
.imbt-capabilities .imbt-section-heading { position:relative; }
.imbt-capabilities .imbt-section-heading h2 { color:#fff; }
.imbt-service-grid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(148,163,184,.2); border-left:1px solid rgba(148,163,184,.2); }
.imbt-service-card { position:relative; min-height:300px; padding:30px 26px; color:#fff; border-right:1px solid rgba(148,163,184,.2); border-bottom:1px solid rgba(148,163,184,.2); transition:background .3s; }
.imbt-service-card:hover { background:rgba(34,211,238,.07); }
.imbt-service-index { color:#637a91; font-size:10px; letter-spacing:.14em; }
.imbt-service-icon { width:38px; height:38px; margin:46px 0 24px; display:grid; place-items:center; color:#65dff5; font-size:24px; }
.imbt-service-icon svg { width:30px; height:30px; }
.imbt-service-card h3 { max-width:240px; font-size:18px; line-height:1.3; font-weight:650; }
.imbt-service-card p { margin-top:11px; color:#8499ae; font-size:12px; line-height:1.65; }
.imbt-service-arrow { position:absolute; right:24px; top:26px; color:#6edff3; font-size:18px; opacity:0; transform:translate(-4px,4px); transition:.25s; }
.imbt-service-card:hover .imbt-service-arrow { opacity:1; transform:none; }

/* Value */
.imbt-value { background:var(--section-custom-bg,#eef4f7); }
.imbt-value-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:start; }
.imbt-value-copy { position:sticky; top:140px; }
.imbt-value-copy h2 { margin-top:20px; color:var(--imbt-ink); font-size:clamp(36px,4.2vw,58px); line-height:1.05; letter-spacing:-.045em; font-weight:650; }
.imbt-value-copy > p { margin-top:24px; color:var(--imbt-copy); font-size:17px; line-height:1.75; }
.imbt-value-list { border-top:1px solid #cbd8e2; }
.imbt-value-item { display:grid; grid-template-columns:50px 1fr; gap:22px; padding:34px 0; border-bottom:1px solid #cbd8e2; }
.imbt-value-item > span { color:#08819e; font-size:11px; font-weight:700; }
.imbt-value-item h3 { color:var(--imbt-ink); font-size:22px; font-weight:700; letter-spacing:-.02em; }
.imbt-value-item p { margin-top:9px; color:var(--imbt-copy); font-size:14px; line-height:1.7; }

/* Projects */
.imbt-projects { background:var(--section-custom-bg,#fff); }
.imbt-project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.imbt-project-card { overflow:hidden; border-radius:18px; background:#f2f6f9; border:1px solid #dbe5ed; transition:transform .3s,box-shadow .3s; }
.imbt-project-card:hover { transform:translateY(-5px); box-shadow:0 24px 50px rgba(25,50,75,.14); }
.imbt-project-media { overflow:hidden; aspect-ratio:16/11; background:#dce5ed; }
.imbt-project-media img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.imbt-project-card:hover img { transform:scale(1.04); }
.imbt-project-content { padding:24px; }
.imbt-project-content > span { color:#718497; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.imbt-project-content h3 { min-height:52px; margin:10px 0 20px; color:var(--imbt-ink); font-size:21px; line-height:1.25; font-weight:700; }
.imbt-project-content b { color:#087f9c; font-size:12px; }

/* Partners */
.imbt-partners { padding:90px 0; background:var(--section-custom-bg,#edf3f6); border-block:1px solid #d8e2ea; }
.imbt-partner-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:40px; }
.imbt-partner-heading span,.imbt-social-inner > div > span { color:#087f9c; font-size:10px; font-weight:750; letter-spacing:.18em; }
.imbt-partner-heading h2 { margin-top:10px; color:var(--imbt-ink); font-size:32px; font-weight:700; letter-spacing:-.03em; }
.imbt-partner-heading p { max-width:460px; color:var(--imbt-copy); font-size:14px; line-height:1.7; }
.imbt-logo-cloud { display:grid; grid-template-columns:repeat(7,1fr); border:1px solid #1b3042; border-radius:18px; overflow:hidden; margin-bottom:28px; background:#091725; box-shadow:0 22px 55px rgba(24,52,75,.12); }
.imbt-logo-cloud img { width:100%; height:86px; padding:25px; object-fit:contain; filter:grayscale(1) brightness(1.8); opacity:.68; border-right:1px solid rgba(148,163,184,.13); border-bottom:1px solid rgba(148,163,184,.13); transition:filter .25s,opacity .25s,background .25s; }
.imbt-logo-cloud img:hover { filter:none; opacity:1; background:rgba(255,255,255,.96); }

/* Social and CTA */
.imbt-social-strip { padding:38px 0; background:var(--section-custom-bg,#fff); }
.imbt-social-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.imbt-social-inner strong { display:block; margin-top:8px; color:var(--imbt-ink); font-size:20px; }
.imbt-social-links { display:flex; flex-wrap:wrap; gap:10px; }
.imbt-social-links a { padding:10px 14px; border:1px solid #d7e2ea; border-radius:9px; color:#40566b; font-size:12px; font-weight:700; }
.imbt-social-links a:hover { color:#087f9c; border-color:#83d5e6; }
.imbt-cta { padding:28px 0 90px; background:var(--section-custom-bg,#fff); }
.imbt-cta-card { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:flex-end; justify-content:space-between; gap:48px; min-height:390px; padding:64px; border-radius:28px; background:linear-gradient(120deg,#087f9c,#0b6d91 55%,#12405e); box-shadow:0 32px 70px rgba(8,72,100,.22); }
.imbt-cta-grid { z-index:-1; opacity:.28; }
.imbt-cta-card::after { content:""; position:absolute; z-index:-1; width:460px; height:460px; right:-140px; top:-250px; border:1px solid rgba(255,255,255,.22); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); }
.imbt-cta-copy { max-width:760px; }
.imbt-cta-copy > span { color:#baf4ff; font-size:11px; font-weight:750; letter-spacing:.18em; }
.imbt-cta-copy h2 { margin-top:16px; color:#fff; font-size:clamp(38px,4.5vw,64px); line-height:1.03; letter-spacing:-.05em; font-weight:650; }
.imbt-cta-copy p { max-width:650px; margin-top:20px; color:#d1edf4; font-size:16px; line-height:1.7; }
.imbt-cta-actions { display:flex; flex-direction:column; min-width:220px; gap:10px; }

.imbt-home + .footer-root { margin-top:0; }

@media (max-width:1100px) {
    .imbt-hero-slide { gap:44px; }
    .imbt-solution-grid { grid-template-columns:repeat(2,1fr); }
    .imbt-solution-card:nth-child(2) { border-right:0; }
    .imbt-solution-card:nth-child(-n+2) { border-bottom:1px solid var(--imbt-line); }
    .imbt-service-grid { grid-template-columns:repeat(2,1fr); }
    .imbt-value-layout { gap:60px; }
    .imbt-logo-cloud { grid-template-columns:repeat(5,1fr); }
}

@media (max-width:820px) {
    .imbt-container { width:min(100% - 36px,720px); }
    .imbt-section { padding:80px 0; }
    .imbt-section-heading,.imbt-section-heading-wide,.imbt-partner-heading { align-items:flex-start; flex-direction:column; gap:20px; }
    .imbt-heading-side { max-width:none; padding:0; }
    .imbt-hero-shell { padding:60px 0 48px; }
    .imbt-hero-slide { grid-template-columns:1fr; gap:52px; }
    .imbt-hero-media { max-width:620px; }
    .imbt-trust-row { grid-template-columns:1fr 1fr; }
    .imbt-trust-row > span { grid-column:1/-1; }
    .imbt-value-layout { grid-template-columns:1fr; gap:50px; }
    .imbt-value-copy { position:static; }
    .imbt-project-grid { grid-template-columns:1fr 1fr; }
    .imbt-project-card:last-child { grid-column:1/-1; }
    .imbt-logo-cloud { grid-template-columns:repeat(4,1fr); }
    .imbt-social-inner { align-items:flex-start; flex-direction:column; }
    .imbt-cta-card { align-items:flex-start; flex-direction:column; min-height:0; padding:48px; }
    .imbt-cta-actions { flex-direction:row; min-width:0; }
}

@media (max-width:580px) {
    .imbt-container { width:calc(100% - 28px); }
    .imbt-section { padding:68px 0; }
    .imbt-section-heading { margin-bottom:34px; }
    .imbt-section-heading h2 { font-size:36px; }
    .imbt-hero { min-height:0; }
    .imbt-hero-shell { padding:44px 0 38px; }
    .imbt-hero-copy h1 { margin-top:18px; font-size:44px; }
    .imbt-hero-lead { font-size:16px; line-height:1.65; }
    .imbt-hero-actions { flex-direction:column; }
    .imbt-button { width:100%; }
    .imbt-hero-stats { display:grid; grid-template-columns:repeat(3,1fr); margin-top:38px; }
    .imbt-stat { min-width:0; margin:0; padding:0 12px; text-align:center; }
    .imbt-stat:first-child { padding-left:0; }
    .imbt-stat strong { font-size:24px; }
    .imbt-stat small { font-size:9px; line-height:1.4; }
    .imbt-media-frame img { min-height:280px; }
    .imbt-status-card { min-width:0; padding:11px 12px; }
    .imbt-status-top { right:-4px; top:30px; }
    .imbt-status-bottom { left:-4px; bottom:4px; }
    .imbt-status-card strong { font-size:11px; }
    .imbt-status-card small { font-size:8px; }
    .imbt-slider-nav { position:static; justify-content:center; margin-top:24px; }
    .imbt-trust-row { grid-template-columns:1fr; padding:24px 0; }
    .imbt-trust-row > span { grid-column:auto; }
    .imbt-solution-grid { grid-template-columns:1fr; border-radius:18px; }
    .imbt-solution-card { min-height:0; border-right:0; border-bottom:1px solid var(--imbt-line); }
    .imbt-solution-card:nth-child(2) { border-bottom:1px solid var(--imbt-line); }
    .imbt-solution-card:last-child { border-bottom:0; }
    .imbt-solution-icon { margin:30px 0 22px; }
    .imbt-service-grid { grid-template-columns:1fr; }
    .imbt-service-card { min-height:250px; }
    .imbt-service-icon { margin:32px 0 20px; }
    .imbt-value-copy h2 { font-size:40px; }
    .imbt-project-grid { grid-template-columns:1fr; }
    .imbt-project-card:last-child { grid-column:auto; }
    .imbt-logo-cloud { grid-template-columns:repeat(2,1fr); }
    .imbt-logo-cloud img { height:76px; padding:22px; }
    .imbt-cta { padding-bottom:68px; }
    .imbt-cta-card { padding:36px 24px; border-radius:20px; }
    .imbt-cta-copy h2 { font-size:40px; }
    .imbt-cta-actions { width:100%; flex-direction:column; }
}

@media (prefers-reduced-motion:reduce) {
    .imbt-slider-track,.imbt-project-card,.imbt-service-card,.imbt-button { transition:none; }
}
