:root {
            --primary-color: #0d6efd;
            --secondary-color: #6f42c1;
            --dark-color: #343a40;
            --success-color: #198754;
        }
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            background-color: #f8f9fa;
            overflow-x: hidden;
        }
        
        /* Animações */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        @keyframes float {
            0%, 100% {
                transform: translateY(0px);
            }
            50% {
                transform: translateY(-20px);
            }
        }
        
        @keyframes slideIn {
            from {
                opacity: 0;
                transform: translateX(-30px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }
        
        .fade-in-up {
            animation: fadeInUp 0.8s ease-out forwards;
            opacity: 0;
        }
        
        .delay-1 { animation-delay: 0.1s; }
        .delay-2 { animation-delay: 0.2s; }
        .delay-3 { animation-delay: 0.3s; }
        .delay-4 { animation-delay: 0.4s; }
        
        /* Navbar */
        .navbar {
            transition: all 0.3s ease;
            padding: 1rem 0;
            background: white !important;
        }
        
        .navbar.scrolled {
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        
        .navbar-brand img {
            height: 40px;
            transition: transform 0.3s ease;
        }
        
        .navbar-brand:hover img {
            transform: scale(1.05);
        }
        
        .navbar-toggler {
            border: none;
            padding: 0.5rem;
        }
        
        .navbar-toggler:focus {
            box-shadow: none;
        }
        
        /* Hero Section */
        .hero-section {
            padding: 140px 0 100px;
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
            color: white;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        
        .hero-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.05)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
            opacity: 0.3;
        }
        
        .hero-content {
            position: relative;
            z-index: 1;
        }
        
        .hero-section h1 {
            font-weight: 700;
            font-size: 3.5rem;
            margin-bottom: 1.5rem;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
        }
        
        .hero-section p {
            font-size: 1.3rem;
            opacity: 0.95;
            margin-bottom: 2.5rem;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }
        
        .btn-hero {
            background-color: white;
            color: var(--primary-color);
            font-weight: 600;
            padding: 15px 40px;
            border-radius: 50px;
            transition: all 0.3s ease;
            border: none;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }
        
        .btn-hero:hover {
            background-color: #e9ecef;
            color: var(--secondary-color);
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(0,0,0,0.3);
        }
        
        /* Statistics Section */
        .stats-section {
            background: white;
            padding: 60px 0;
            box-shadow: 0 -5px 15px rgba(0,0,0,0.05);
        }
        
        .stat-item {
            text-align: center;
            padding: 20px;
        }
        
        .stat-number {
            font-size: 3rem;
            font-weight: 700;
            color: var(--primary-color);
            display: block;
        }
        
        .stat-label {
            font-size: 1.1rem;
            color: #6c757d;
            margin-top: 10px;
        }
        
        /* How It Works Section */
        .how-it-works-section {
            padding: 100px 0;
            background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        }
        
        .how-it-works-section h2 {
            color: var(--dark-color);
            font-weight: 700;
            margin-bottom: 1rem;
        }
        
        .step-accordion {
            max-width: 900px;
            margin: 0 auto;
        }
        
        .step-item {
            background: white;
            border-radius: 15px;
            margin-bottom: 20px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0,0,0,0.08);
            transition: all 0.3s ease;
        }
        
        .step-item:hover {
            box-shadow: 0 8px 25px rgba(0,0,0,0.12);
        }
        
        .step-header {
            padding: 25px 30px;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 20px;
            transition: all 0.3s ease;
            position: relative;
        }
        
        .step-header:hover {
            background: linear-gradient(135deg, rgba(13, 110, 253, 0.05) 0%, rgba(111, 66, 193, 0.05) 100%);
        }
        
        .step-number {
            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
            color: white;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 1.3rem;
            flex-shrink: 0;
            box-shadow: 0 4px 10px rgba(0,0,0,0.15);
        }
        
        .step-title-wrapper {
            flex: 1;
        }
        
        .step-title {
            font-size: 1.3rem;
            font-weight: 600;
            color: var(--dark-color);
            margin: 0;
        }
        
        .step-icon {
            font-size: 1.5rem;
            color: var(--primary-color);
            transition: transform 0.3s ease;
        }
        
        .step-item.active .step-icon {
            transform: rotate(180deg);
        }
        
        .step-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease, padding 0.4s ease;
            padding: 0 30px;
        }
        
        .step-item.active .step-content {
            max-height: 500px;
            padding: 0 30px 25px 30px;
        }
        
        .step-description {
            color: #6c757d;
            line-height: 1.8;
            font-size: 1.05rem;
            padding-left: 70px;
        }
        
        /* Features Section */
        .features-section {
            padding: 100px 0;
        }
        
        .features-section h2 {
            color: var(--dark-color);
            font-weight: 700;
            margin-bottom: 1rem;
        }
        
        .section-subtitle {
            color: #6c757d;
            font-size: 1.2rem;
            margin-bottom: 4rem;
        }
        
        .feature-card {
            border: none;
            border-radius: 20px;
            transition: all 0.4s ease;
            padding: 30px;
            text-align: center;
            height: 100%;
            background: white;
            box-shadow: 0 5px 15px rgba(0,0,0,0.08);
        }
        
        .feature-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 35px rgba(0,0,0,0.15);
        }
        
        .feature-icon {
            font-size: 4rem;
            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 20px;
            display: inline-block;
        }
        
        .feature-card h3 {
            font-size: 1.4rem;
            font-weight: 600;
            margin-bottom: 15px;
            color: var(--dark-color);
        }
        
        .feature-card p {
            color: #6c757d;
            line-height: 1.7;
        }
        
        /* Benefits Section */
        .benefits-section {
            padding: 80px 0;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        }
        
        .benefit-item {
            display: flex;
            align-items: start;
            margin-bottom: 30px;
            padding: 20px;
            background: white;
            border-radius: 15px;
            transition: all 0.3s ease;
        }
        
        .benefit-item:hover {
            transform: translateX(10px);
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
        }
        
        .benefit-icon {
            font-size: 2.5rem;
            color: var(--success-color);
            margin-right: 20px;
            min-width: 60px;
        }
        
        .benefit-content h4 {
            font-weight: 600;
            margin-bottom: 10px;
            color: var(--dark-color);
        }
        
        /* Footer */
        .footer {
            background: linear-gradient(135deg, var(--dark-color) 0%, #212529 100%);
            color: white;
            padding: 40px 0 20px;
        }
        
        .footer-content {
            text-align: center;
        }
        
        .footer a {
            color: #adb5bd;
            text-decoration: none;
            transition: color 0.3s;
            margin: 0 15px;
        }
        
        .footer a:hover {
            color: white;
        }
        
        .social-links {
            margin: 20px 0;
        }
        
        .social-links a {
            display: inline-block;
            width: 40px;
            height: 40px;
            line-height: 40px;
            border-radius: 50%;
            background: rgba(255,255,255,0.1);
            margin: 0 5px;
            transition: all 0.3s ease;
        }
        
        .social-links a:hover {
            background: var(--primary-color);
            transform: translateY(-3px);
        }
        
        /* Scroll to top button */
        #scrollToTop {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background: var(--primary-color);
            color: white;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            border: none;
            cursor: pointer;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
            z-index: 1000;
            box-shadow: 0 4px 15px rgba(0,0,0,0.3);
        }
        
        #scrollToTop.show {
            opacity: 1;
            visibility: visible;
        }
        
        #scrollToTop:hover {
            background: var(--secondary-color);
            transform: translateY(-5px);
        }
        
        /* Mobile Optimizations */
        @media (max-width: 768px) {
            .hero-section {
                padding: 120px 0 80px;
            }
            
            .hero-section h1 {
                font-size: 2rem;
                margin-bottom: 1rem;
            }
            
            .hero-section p {
                font-size: 1rem;
                margin-bottom: 2rem;
            }
            
            .btn-hero {
                padding: 12px 30px;
                font-size: 0.95rem;
            }
            
            .stat-number {
                font-size: 2.5rem;
            }
            
            .stat-label {
                font-size: 0.9rem;
            }
            
            .stats-section {
                padding: 40px 0;
            }
            
            .stat-item {
                padding: 15px 5px;
            }
            
            .how-it-works-section {
                padding: 60px 0;
            }
            
            .how-it-works-section h2 {
                font-size: 1.8rem;
            }
            
            .section-subtitle {
                font-size: 1rem;
                margin-bottom: 2rem;
            }
            
            .step-header {
                padding: 20px 15px;
                gap: 15px;
            }
            
            .step-number {
                width: 40px;
                height: 40px;
                font-size: 1.1rem;
            }
            
            .step-title {
                font-size: 1.1rem;
            }
            
            .step-icon {
                font-size: 1.2rem;
            }
            
            .step-description {
                padding-left: 0;
                font-size: 0.95rem;
            }
            
            .step-item.active .step-content {
                padding: 0 15px 20px 15px;
            }
            
            .features-section {
                padding: 60px 0;
            }
            
            .features-section h2 {
                font-size: 1.8rem;
            }
            
            .feature-card {
                margin-bottom: 20px;
                padding: 25px 20px;
            }
            
            .feature-icon {
                font-size: 3rem;
            }
            
            .feature-card h3 {
                font-size: 1.2rem;
            }
            
            .feature-card p {
                font-size: 0.95rem;
            }
            
            .benefits-section {
                padding: 60px 0;
            }
            
            .benefit-item {
                flex-direction: column;
                text-align: center;
                padding: 20px 15px;
            }
            
            .benefit-icon {
                margin-right: 0;
                margin-bottom: 15px;
                font-size: 2rem;
            }
            
            .benefit-content h4 {
                font-size: 1.1rem;
            }
            
            .benefit-content p {
                font-size: 0.95rem;
            }
            
            .footer {
                padding: 30px 0 15px;
            }
            
            .footer a {
                margin: 0 10px;
                font-size: 0.9rem;
                display: inline-block;
                margin-bottom: 5px;
            }
            
            #scrollToTop {
                bottom: 20px;
                right: 20px;
                width: 45px;
                height: 45px;
            }
            
            .navbar-brand span {
                font-size: 0.9rem;
            }
        }
        
        @media (max-width: 576px) {
            .hero-section h1 {
                font-size: 1.75rem;
            }
            
            .stat-number {
                font-size: 2rem;
            }
            
            .footer p {
                font-size: 0.85rem;
            }
        }

/* ===== Home visual refresh: Hero + Product Showcase ===== */
.hero-modern { text-align: left; padding: 145px 0 95px; }
.hero-modern::after { content:''; position:absolute; width:520px; height:520px; border-radius:50%; background:rgba(255,255,255,.08); right:-180px; top:30px; filter:blur(2px); }
.hero-modern .hero-content { position:relative; z-index:2; }
.hero-eyebrow { display:inline-flex; align-items:center; padding:8px 14px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.12); border-radius:999px; font-size:.9rem; font-weight:600; margin-bottom:22px; }
.hero-modern h1 { font-size:clamp(2.6rem,5vw,4.4rem); line-height:1.04; letter-spacing:-.04em; }
.hero-modern p { margin-left:0; max-width:650px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.btn-hero-outline { border:1px solid rgba(255,255,255,.7); color:#fff; padding:15px 28px; border-radius:50px; font-weight:600; }
.btn-hero-outline:hover { background:#fff; color:var(--primary-color); transform:translateY(-3px); }
.hero-trust { display:flex; flex-wrap:wrap; gap:18px; margin-top:28px; font-size:.88rem; color:rgba(255,255,255,.9); }
.hero-trust i { margin-right:5px; }
.browser-mockup { background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 28px 65px rgba(15,23,42,.28); border:1px solid rgba(255,255,255,.4); }
.hero-browser { transform:perspective(1200px) rotateY(-4deg) rotateX(1deg); transition:.45s ease; }
.hero-browser:hover { transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-5px); }
.browser-bar { height:42px; display:flex; align-items:center; gap:7px; padding:0 14px; background:#f1f5f9; border-bottom:1px solid #e2e8f0; }
.browser-bar > span { width:10px; height:10px; border-radius:50%; background:#cbd5e1; }
.browser-address { margin-left:10px; flex:1; background:#fff; border:1px solid #e2e8f0; color:#64748b; border-radius:8px; padding:4px 12px; font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.browser-screen { overflow:hidden; background:#f8fafc; }
.browser-screen img { width:100%; height:auto; display:block; }
.hero-screen { height:430px; }
.hero-screen img { height:100%; object-fit:cover; object-position:center 21%; }
.product-showcase { padding:105px 0; background:#fff; }
.showcase-heading { max-width:820px; margin:0 auto 65px; }
.section-kicker { display:inline-block; color:var(--primary-color); font-weight:700; letter-spacing:.12em; font-size:.78rem; margin-bottom:12px; }
.showcase-heading h2 { font-weight:750; color:var(--dark-color); letter-spacing:-.025em; }
.showcase-heading .section-subtitle { margin-bottom:0; }
.showcase-row { padding:30px 0; }
.showcase-icon { width:58px; height:58px; display:inline-flex; align-items:center; justify-content:center; border-radius:16px; background:linear-gradient(135deg,rgba(13,110,253,.12),rgba(111,66,193,.12)); color:var(--primary-color); font-size:1.45rem; margin-bottom:20px; }
.showcase-copy h3 { font-size:2rem; font-weight:700; color:var(--dark-color); margin-bottom:16px; }
.showcase-copy > p { color:#6c757d; line-height:1.8; font-size:1.05rem; }
.showcase-points { display:grid; gap:12px; margin-top:24px; }
.showcase-points span { color:#495057; font-weight:500; }
.showcase-points i { width:25px; height:25px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#e8f5ee; color:var(--success-color); font-size:.72rem; margin-right:8px; }
.showcase-browser { box-shadow:0 24px 60px rgba(15,23,42,.16); }
.task-screen { height:390px; }
.task-screen img { height:100%; object-fit:cover; object-position:center 13%; }
@media (max-width: 991px) {
  .hero-modern { text-align:center; padding-top:125px; }
  .hero-modern p { margin-left:auto; margin-right:auto; }
  .hero-actions,.hero-trust { justify-content:center; }
  .hero-browser { transform:none; margin-top:15px; }
  .hero-screen { height:360px; }
  .product-showcase { padding:75px 0; }
}
@media (max-width: 576px) {
  .hero-modern h1 { font-size:2.35rem; }
  .hero-actions { display:grid; }
  .hero-actions .btn { width:100%; }
  .hero-trust { gap:10px; font-size:.8rem; }
  .browser-bar { height:36px; }
  .hero-screen { height:265px; }
  .showcase-heading { margin-bottom:38px; }
  .showcase-copy h3 { font-size:1.55rem; }
  .task-screen { height:270px; }
}
/* Floating contact stays visible independently of JavaScript and icon fonts. */
.whatsapp-float {
  position: fixed;
  right: 30px;
  bottom: 30px;
  right: max(30px, env(safe-area-inset-right, 0px));
  bottom: calc(30px + env(safe-area-inset-bottom, 0px));
  z-index: 1080;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(0,0,0,.3);
  transition: background .2s ease, transform .2s ease;
}
.whatsapp-float svg { display: block; width: 34px; height: 34px; fill: currentColor; }
.whatsapp-float:hover { background: #128c7e; color: #fff; transform: translateY(-3px); }
.whatsapp-float:focus-visible, #scrollToTop:focus-visible { outline: 3px solid #0b2340; outline-offset: 4px; }
#scrollToTop {
  right: max(35px, env(safe-area-inset-right, 0px));
  bottom: calc(104px + env(safe-area-inset-bottom, 0px));
  z-index: 1080;
}
#scrollToTop svg { width: 22px; height: 22px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 2.5; }
@media (max-width: 576px) {
  .whatsapp-float {
    width: 56px; height: 56px;
    right: max(16px, env(safe-area-inset-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
  #scrollToTop {
    right: max(19px, env(safe-area-inset-right, 0px));
    bottom: calc(86px + env(safe-area-inset-bottom, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .whatsapp-float { transition: none; }
}

/* Home v3: institutional opening and separate product presentation. */
:root { --primary-color:#1262cb; --secondary-color:#174b8d; --dark-color:#132a48; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { color:#132a48; background:#fff; }
.container { max-width:1240px; }
h1,h2,h3 { letter-spacing:-.035em; }
h2 { font-weight:700; font-size:clamp(1.9rem,3.3vw,2.8rem); line-height:1.18; }
.section-kicker { display:block; color:#1262cb; font-size:.76rem; font-weight:700; letter-spacing:.16em; margin-bottom:18px; }
.section-subtitle { max-width:700px; margin:20px auto 0; font-size:1.05rem; line-height:1.7; color:#64758a; }
.btn { font-weight:600; border-radius:8px; padding:13px 22px; }
.btn-primary { background:#1262cb; border-color:#1262cb; }
.btn-primary:hover { background:#0c4d9f; border-color:#0c4d9f; }
.btn-outline-primary { color:#174b8d; border-color:#aec5e1; }
.btn-outline-primary:hover { background:#174b8d; border-color:#174b8d; }
a:focus-visible { outline:3px solid #1262cb; outline-offset:4px; }
.navbar { min-height:86px; padding:16px 0; border-bottom:1px solid #e9eef5; }
.gc-nav { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; }
.navbar-brand { display:flex; align-items:center; gap:10px; margin:0; color:#132a48!important; font-size:1.25rem; font-weight:750; }
.navbar-brand img { width:40px; height:40px; object-fit:contain; }
.gc-nav-links { display:flex; gap:28px; }
.gc-nav-links a { text-decoration:none; color:#4a5c73; font-size:.95rem; font-weight:600; }
.gc-nav-links a:hover { color:#1262cb; }
.hero-institutional { margin-top:86px; padding:0; min-height:615px; background:#eef5fc; color:#132a48; text-align:left; isolation:isolate; overflow:hidden; }
.hero-institutional::before { display:none; }
.hero-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.hero-institutional::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(245,249,254,.98) 0%,rgba(245,249,254,.94) 27%,rgba(245,249,254,.78) 39%,rgba(245,249,254,0) 61%); z-index:-1; }
.hero-institutional .hero-content { padding-top:95px; padding-bottom:75px; }
.hero-copy { max-width:570px; }
.hero-institutional h1 { font-size:clamp(2.3rem,3.8vw,3.55rem); line-height:1.1; font-weight:750; text-shadow:none; margin-bottom:24px; }
.hero-institutional h1 span { color:#1262cb; }
.hero-institutional p { font-size:1.1rem; line-height:1.75; max-width:490px; margin:0; color:#4b6079; }
.hero-actions { margin-top:30px; gap:12px; }
.hero-institutional .hero-caption { font-size:.8rem; margin-top:30px; color:#637890; }
.capability-strip { background:#fff; color:#132a48; padding:30px 0; border-bottom:1px solid #e9eef5; }
.capability-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; }
.capability-grid>div { display:flex; gap:13px; align-items:center; }
.capability-grid>div>span { color:#1262cb; font-weight:700; font-size:.9rem; padding:10px; border-radius:9px; background:#eef5ff; }
.capability-grid p { font-size:.85rem; color:#65758a; margin:0; }
.capability-grid strong { display:block; font-size:.92rem; color:#132a48; margin-top:5px; font-weight:600; }
.features-section { padding:90px 0; background:#fff; }
.features-section .section-subtitle { margin-bottom:45px; }
.feature-card { border:1px solid #e2eaf4; border-radius:16px; box-shadow:none; background:#fff; padding:32px; text-align:left; }
.feature-card:hover { border-color:#b3cbee; box-shadow:0 12px 35px rgba(19,42,72,.06); }
.feature-icon { background:#eef5ff; color:#1262cb; width:54px; height:54px; font-size:1.4rem; margin:0 0 24px; border-radius:12px; }
.feature-card h3 { font-size:1.2rem; font-weight:700; }
.feature-card p { font-size:.96rem; line-height:1.75; }
.product-showcase { background:#f1f6fc; padding:90px 0; }
.showcase-heading { margin-bottom:65px; }
.showcase-number { display:block; color:#1262cb; letter-spacing:.12em; font-size:.75rem; font-weight:700; margin-bottom:20px; }
.showcase-copy h3 { font-size:2rem; line-height:1.18; }
.showcase-copy>p { font-size:1rem; line-height:1.8; color:#61728a; }
.showcase-points span { font-size:.9rem; color:#3e5570; }
.showcase-points span::before { content:'✓'; color:#1262cb; font-weight:700; margin-right:10px; }
.showcase-row-secondary { margin-top:90px; }
.browser-mockup { border-radius:12px; overflow:hidden; border:1px solid #dce5f0; background:#fff; margin:0; }
.showcase-browser { box-shadow:0 20px 45px rgba(19,42,72,.1); }
.browser-bar { background:#fff; border-bottom:1px solid #e2eaf4; }
.browser-address { color:#6c7b90; }
.product-screen { height:auto; background:#fff; }
.product-screen a { display:block; }
.product-screen img { display:block; width:100%; height:auto; object-fit:contain; }
.browser-mockup figcaption { padding:12px 18px; color:#64758a; font-size:.75rem; border-top:1px solid #e2eaf4; }
.how-it-works-section { padding:90px 0; background:#fff; }
.benefits-section { padding:90px 0; background:#f6f9fd; }
.contact-banner { padding:70px 0; background:#123b71; color:#fff; }
.contact-banner-inner { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.contact-banner .section-kicker { color:#9bc6ff; }
.contact-banner h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
.contact-banner p { color:#c5d8ef; margin:18px 0 0; max-width:600px; line-height:1.7; }
.contact-banner .btn { flex-shrink:0; color:#123b71; }
.footer { background:#0e2645; padding:55px 0; }
@media(min-width:1600px) { .hero-institutional { min-height:670px; } .hero-institutional .hero-content { padding-top:120px; } }
@media(max-width:991px) {
  .gc-nav-links { gap:16px; }
  .hero-institutional { min-height:570px; }
  .hero-copy { max-width:490px; }
  .hero-institutional::after { background:linear-gradient(90deg,rgba(245,249,254,.98) 0%,rgba(245,249,254,.94) 40%,rgba(245,249,254,.28) 100%); }
  .capability-grid { grid-template-columns:repeat(2,1fr); }
  .showcase-row-secondary { margin-top:60px; }
  .contact-banner-inner { flex-direction:column; align-items:flex-start; }
}
@media(max-width:767px) {
  html { scroll-padding-top:140px; }
  .navbar { min-height:120px; padding:12px 0; }
  .gc-nav { gap:10px; }
  .navbar-brand { font-size:1rem; }
  .navbar-brand img { width:32px; height:32px; }
  .gc-login { padding:10px 12px; font-size:.8rem; }
  .gc-nav-links { order:3; width:100%; justify-content:center; gap:30px; padding-top:10px; border-top:1px solid #e9eef5; }
  .gc-nav-links a { font-size:.82rem; }
  .hero-institutional { margin-top:120px; min-height:0; display:flex; flex-direction:column; }
  .hero-institutional::after { display:none; }
  .hero-institutional .hero-content { padding:45px 22px 30px; order:0; }
  .hero-copy { max-width:560px; }
  .hero-institutional h1 { font-size:clamp(2.1rem,7vw,3.2rem); }
  .hero-institutional p { font-size:1rem; }
  .hero-institutional .hero-caption { margin-top:22px; }
  .hero-art { position:relative; order:1; width:100%; height:auto; z-index:0; object-fit:contain; }
  .hero-actions { display:flex; justify-content:flex-start; }
  .hero-actions .btn { width:auto; font-size:.87rem; }
  .section-kicker { font-size:.68rem; }
  .features-section,.product-showcase,.how-it-works-section,.benefits-section { padding:60px 0; }
  .showcase-heading { margin-bottom:45px; }
  .showcase-copy h3 { font-size:1.7rem; }
  .feature-card { padding:26px; }
  .contact-banner { padding:50px 0; }
}
@media(max-width:420px) {
  .hero-actions { display:grid; }
  .hero-actions .btn { width:100%; }
  .capability-grid { gap:22px 12px; }
  .capability-grid>div { gap:8px; align-items:flex-start; }
  .capability-grid>div>span { padding:7px; font-size:.75rem; }
  .capability-grid p { font-size:.75rem; }
  .capability-grid strong { font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .fade-in-up { animation:none; opacity:1; } }
/* Preserve the proportions of the original horizontal brand. */
.navbar-brand img { width:220px; height:55px; object-fit:contain; }
@media(max-width:767px) { .navbar-brand img { width:170px; height:43px; } .hero-actions { grid-template-columns:1fr; } }
@media(max-width:420px) { .hero-actions .btn { justify-self:stretch; } }
