/* Jorge Veloso visual language for the DROM home page */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
.home-page {
  --jv-bg:#06070b; --jv-bg-2:#0a0c12; --jv-surface:#0e1118;
  --jv-line:rgba(255,255,255,.09); --jv-text:#f3f5f9;
  --jv-muted:#a3acbd; --jv-dim:#687184; --jv-blue:#6d8bff;
  --jv-violet:#a78bfa; --jv-cyan:#5eead4;
  --jv-gradient:linear-gradient(120deg,#6d8bff 0%,#a78bfa 50%,#f0abfc 100%);
  color:var(--jv-text); background:var(--jv-bg);
  font-family:'Inter',system-ui,sans-serif; font-size:16px; line-height:1.65;
}
.home-page :not(i):not(svg) { font-family:'Inter',system-ui,sans-serif; }
.home-page h1,.home-page h2,.home-page h3,.home-page .brand,
.home-page .home-stat strong,.home-page .home-project-body h3,
.home-page .home-product-body h3 { font-family:'Inter Tight','Inter',sans-serif; letter-spacing:-.04em; }
.home-navbar,.home-navbar.scrolled { background:rgba(6,7,11,.82); border-bottom:1px solid var(--jv-line); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.home-navbar .nav-link,.home-page .company-mobile-menu .mobile-nav-link { color:var(--jv-muted); font-size:.875rem; font-weight:500; }
.home-navbar .nav-link:hover { color:var(--jv-text); }
.home-navbar .nav-actions .btn-primary { color:#fff!important; background:#6538ed; border-color:#6538ed; box-shadow:0 8px 24px rgba(101,56,237,.26); }
.home-navbar .nav-actions .btn-primary:hover { background:#542bd4; border-color:#542bd4; }
.home-navbar .nav-actions .btn-primary::after { display:none; }
.home-page .company-mobile-menu { background:rgba(10,12,18,.98); }
.home-navbar .mobile-menu-toggle { color:var(--jv-text); border-color:var(--jv-line); }
.home-hero { background:var(--jv-bg-2); }
.home-hero-photo { filter:brightness(.44) saturate(.72); }
.home-hero-wash { background:linear-gradient(90deg,rgba(6,7,11,.94),rgba(6,7,11,.72) 48%,rgba(6,7,11,.16)),linear-gradient(0deg,rgba(6,7,11,.56),transparent 60%); }
.home-hero-copy h1 { color:var(--jv-text); font-size:clamp(3rem,7.2vw,6rem); font-weight:600; line-height:.99; letter-spacing:-.065em; }
.home-hero-copy h1 span,.home-section-heading h2 span,.home-process-lead h2 span,.home-cta h2 span { color:#6538ed; background:none; -webkit-background-clip:border-box; background-clip:border-box; -webkit-text-fill-color:#6538ed; }
.home-eyebrow,.home-kicker { color:var(--jv-blue); font-family:'JetBrains Mono',monospace!important; font-size:.75rem; letter-spacing:.14em; }
.home-hero-copy > p:not(.home-eyebrow) { color:var(--jv-muted); font-size:1.05rem; line-height:1.7; }
.home-hero-aside { color:var(--jv-muted); font-family:'JetBrains Mono',monospace!important; font-size:.7rem; }
.home-button { min-height:48px; padding:12px 22px; font-size:.875rem; font-weight:600; }
.home-button-primary { color:#fff; background:#6538ed; border-color:#6538ed; box-shadow:0 8px 24px rgba(101,56,237,.26); }
.home-button-primary:hover { color:#fff; background:#542bd4; border-color:#542bd4; }
.home-button-outline { color:var(--jv-text); border-color:var(--jv-line); background:rgba(255,255,255,.04); }
.home-button-outline:hover { background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.24); }
.home-stats { border-color:var(--jv-line); border-radius:20px; background:rgba(14,17,24,.94); box-shadow:0 24px 80px rgba(0,0,0,.25); }
.home-stats article { border-color:var(--jv-line); }
.home-stat-icon,.home-service-grid > a > i,.home-service-grid b,.home-product-body > a,.home-project-body > a,.home-project-mark { color:var(--jv-blue); background:rgba(109,139,255,.12); }
.home-stats strong,.home-problem-grid h3,.home-service-grid h3,.home-product-body h3,.home-project-body h3 { color:var(--jv-text); font-size:1rem; }
.home-stats article div > span { color:var(--jv-muted); font-size:.8125rem; }
.home-section { border-color:var(--jv-line); }
.home-section-heading h2,.home-process-lead h2 { color:var(--jv-text); font-size:clamp(2rem,4vw,3rem); font-weight:600; line-height:1.08; }
.home-section-heading > p,.home-problem-grid p,.home-service-grid p,.home-product-body p,.home-project-body p { color:var(--jv-muted); font-size:.9375rem; line-height:1.65; }
.home-text-link { color:var(--jv-blue); font-size:.875rem; }
.home-problem-grid article,.home-service-grid > a,.home-product-card,.home-project-card { border:1px solid var(--jv-line); border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); box-shadow:0 12px 40px rgba(0,0,0,.12); }
.home-problem-grid article { min-height:150px; padding:20px; }
.home-service-grid > a { min-height:190px; padding:20px; }
.home-problem-grid article > i,.home-service-grid > a > i { background:rgba(109,139,255,.12); }
.home-problem-grid h3,.home-service-grid h3 { font-size:1.125rem; }
.home-product-image,.home-project-image { background:#111620; }
.home-product-image span,.home-project-image span { border-color:var(--jv-line); background:rgba(10,12,18,.88); color:var(--jv-text); font-size:.75rem; }
.home-product-body,.home-project-body { padding-top:14px; padding-bottom:14px; }
.home-product-body h3,.home-project-body h3 { font-size:1rem; }
.home-project-body strong { color:var(--jv-violet); font-size:.8125rem; }
.home-process,.home-cta { background:var(--jv-bg-2); }
.home-page footer,.home-footer { border-color:var(--jv-line); background:#06070b; color:var(--jv-muted); }
.home-page main > section:not([class*="-hero"]) { padding-block:clamp(56px,8vw,104px); }
@media(max-width:760px) {
 .home-page { font-size:15px; }
 .home-hero-copy h1 { font-size:clamp(2.8rem,12vw,4.2rem); }
 .home-hero-copy > p:not(.home-eyebrow) { font-size:1rem; }
 .home-section-heading { grid-template-columns:1fr; gap:14px; }
 .home-problem-grid,.home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.home-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }

@media(max-width:760px) { .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

.home-product-image { height:200px; }
@media(max-width:760px) { .home-product-image { height:170px; } }

.home-project-image { height:200px; }
@media(max-width:760px) { .home-project-image { height:170px; } }


/* Rebalanced home contact CTA */
.home-cta { margin:20px 18px 24px; padding:clamp(44px,6vw,78px) 0; border:1px solid var(--jv-line); border-radius:24px; background:linear-gradient(90deg,rgba(6,7,11,.94),rgba(6,7,11,.78)),url('img/hero-bg.jpg') center 72% / cover no-repeat; }
.home-cta-inner { max-width:1180px; grid-template-columns:minmax(0,1.2fr) auto; gap:48px; }
.home-cta h2 { max-width:660px; color:var(--jv-text); font-size:clamp(2.25rem,4vw,3.5rem); line-height:1.02; font-weight:600; letter-spacing:-.055em; }
.home-cta .home-actions { flex-wrap:nowrap; gap:12px; }
.home-cta .home-button { min-height:48px; padding:12px 20px; font-size:.875rem; }
@media(max-width:900px) {
 .home-cta-inner { grid-template-columns:1fr; gap:24px; }
 .home-cta h2 { max-width:760px; }
 .home-cta .home-actions { flex-wrap:wrap; }
}
@media(max-width:640px) {
 .home-cta { margin:12px 10px 16px; padding:38px 0; }
 .home-cta h2 { font-size:clamp(2rem,9vw,2.8rem); }
 .home-cta .home-actions { align-items:stretch; flex-direction:column; }
 .home-cta .home-button { width:100%; }
}
