.accent-img,.btn-primary,.cta-panel,.gallery-grid img,.glass-card,.pill-list li {
    box-shadow:var(--shadow)
}
.accent-img,.hero-img,.main-img,.post-card img,.post-cover img {
    object-fit:cover
}
.call-float,a {
    text-decoration:none
}
:root {
    --primary:#4457b6;
    --primary-dark:#24336e;
    --secondary:#7a4df4;
    --accent:#21c7ff;
    --accent-2:#ff7b54;
    --ink:#16213f;
    --muted:#667085;
    --soft:#f4f7ff;
    --line:#dbe4ff;
    --shadow:0 18px 45px rgba(26,38,89,.14);
    --radius:1.4rem
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    font-family:"Source Sans 3",system-ui,sans-serif;
    color:var(--ink);
    background:#fff;
    line-height:1.65
}
.btn,.eyebrow,.navbar-brand,h1,h2,h3,h4,h5,h6 {
    font-family:Montserrat,system-ui,sans-serif
}
.brand-box,.metric-card strong,.mini-stat strong,.stat-box strong {
    font-family:Montserrat
}
img {
    max-width:100%;
    display:block
}
.topbar {
    background:linear-gradient(90deg,var(--primary-dark),#3f4fa9);
    color:#fff;
    font-size:.93rem
}
.topbar-inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:.72rem 0
}
.social-links {
    display:flex;
    align-items:center;
    gap:.55rem
}
.social-links a {
    width:36px;
    height:36px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.12);
    color:#fff;
    transition:.25s
}
.social-links a:hover {
    background:#fff;
    color:var(--primary-dark);
    transform:translateY(-2px)
}
.topbar-contact {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:1rem 1.25rem
}
.topbar-contact span {
    display:inline-flex;
    align-items:center;
    gap:.4rem
}
.navbar {
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);
    padding:0
}
.brand-logo {
    height:70px;
    width:auto
}
.brand-text {
    font-weight:800;
    font-size:1.08rem;
    color:var(--primary-dark);
    line-height:1
}
.btn,.nav-link {
    border-radius:999px;
    font-weight:700
}
.brand-text small {
    display:block;
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.22em;
    color:var(--primary)
}
.eyebrow,.hero-points span {
    display:inline-flex;
    align-items:center
}
.nav-link {
    color:var(--ink)!important;
    padding:.7rem .9rem!important
}
.nav-link.active,.nav-link:hover {
    color:var(--primary)!important;
    background:rgba(68,87,182,.08)
}
.btn {
    padding:.9rem 1.5rem
}
.btn-sm {
    padding:.7rem 1.15rem
}
.btn-primary {
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    border:none
}
.btn-primary:hover {
    background:linear-gradient(135deg,#3b4aa0,#6d44db)
}
.btn-outline-primary {
    border-color:var(--primary);
    color:var(--primary)
}
.btn-outline-primary:hover {
    background:var(--primary);
    color:#fff;
    border-color:var(--primary)
}
.btn-outline-light:hover {
    color:var(--primary-dark)
}
.eyebrow {
    gap:.5rem;
    background:rgba(68,87,182,.08);
    color:var(--primary);
    border:1px solid rgba(68,87,182,.12);
    padding:.55rem .92rem;
    border-radius:999px;
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase
}
.hero-points,.info-pill {
    display:flex;
    font-weight:700
}
.eyebrow.light {
    color:#fff;
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.18)
}
.hero-home,.page-hero,.section-banner {
    position:relative;
    background-size:cover;
    background-position:center;
    overflow:hidden
}
.hero-home {
    padding:7rem 0 6rem;
    background-image:url('../images/hero2-Eday-Copy.png')
}
.page-hero {
    padding:5.5rem 0 4.25rem
}
.bg-one {
    background-image:url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1600&q=80')
}
.bg-two {
    background-image:url('https://images.unsplash.com/photo-1497366412874-3415097a27e7?auto=format&fit=crop&w=1600&q=80')
}
.bg-three {
    background-image:url('../images/hero1-Eday-Copy.png')
}
.bg-four {
    background-image:url('https://images.unsplash.com/photo-1587614382346-4ec70e388b28?auto=format&fit=crop&w=1600&q=80')
}
.hero-overlay,.overlay-dark,.overlay-soft {
    position:absolute;
    inset:0
}
.hero-overlay {
    background:linear-gradient(90deg,rgba(17,29,73,.87) 0,rgba(44,62,140,.68) 45%,rgba(44,62,140,.25) 100%)
}
.overlay-dark {
    background:linear-gradient(90deg,rgba(20,31,76,.85),rgba(54,65,153,.72))
}
.overlay-soft {
    background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.78))
}
.glass-card,.icon-wrap.alt {
    background:rgba(255,255,255,.14)
}
.hero-home h1,.page-hero h1 {
    font-size:40px;
    font-weight:800;
    line-height:1.05;
    color:var(--primary-dark)
}
.hero-home h1,.light-list i,.light-list li,.section-banner h2,.text-white h2 {
    color:#fff
}
.lead {
    font-size:1.15rem;
    color:rgba(255,255,255,.92);
    max-width:780px
}
.content-block p,.page-hero p,.section-heading p {
    font-size:1.06rem;
    color:var(--muted)
}
.hero-points {
    flex-wrap:wrap;
    gap:.75rem 1.2rem;
    color:#fff
}
.hero-points span {
    gap:.45rem
}
.hero-points i {
    color:#97f1ff
}
.glass-card {
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(14px);
    border-radius:1.8rem;
    padding:1.15rem
}
.advice-card,.brand-box,.contact-card,.form-panel,.info-pill,.mini-stat,.sector-card,.service-card,.service-detail-card,.stat-box,.team-card {
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow)
}
.mini-stat {
    height:100%;
    padding:1rem;
    background:rgba(255,255,255,.9)
}
.mini-stat strong {
    display:block;
    color:var(--primary-dark);
    font-size:1rem
}
.mini-stat span {
    display:block;
    margin-top:.25rem;
    color:#53617d;
    font-size:.95rem
}
.info-strip {
    background:linear-gradient(180deg,#edf3ff,#fff);
    padding:1.25rem 0;
    border-bottom:1px solid var(--line)
}
.info-pill {
    height:100%;
    padding:1rem 1.1rem;
    align-items:center;
    justify-content:center;
    gap:.7rem
}
.info-pill i {
    color:var(--primary);
    font-size:1.2rem
}
.content-block,.section-banner,.section-padding {
    padding:5rem 0
}
.section-heading {
    max-width:760px
}
.content-block h2,.section-banner h2,.section-heading h2 {
    font-size:clamp(2rem,3vw,3rem);
    font-weight:800;
    line-height:1.12;
    color:var(--primary-dark)
}
.advice-card,.service-card,.service-detail-card {
    padding:2rem;
    height:100%
}
.team-card {
    border:1px solid rgba(255,255,255,.16)
}
.advice-card h3,.contact-card h3,.service-card h3,.service-detail-card h3,.team-card h3 {
    font-size:1.15rem;
    font-weight:800;
    color:var(--primary-dark)
}
.transparent-card,.transparent-card .brand-box,.transparent-card h3,.transparent-card p {
    color:#fff!important
}
.icon-wrap {
    width:68px;
    height:68px;
    border-radius:1.15rem;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,rgba(122,77,244,.12),rgba(33,199,255,.14));
    color:var(--primary);
    font-size:1.55rem;
    margin-bottom:1rem
}
.icon-wrap.alt {
    color:#fff
}
.link-arrow {
    display:inline-flex;
    gap:.45rem;
    align-items:center;
    font-weight:800;
    color:var(--primary)
}
.metric-grid,.stat-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem
}
.metric-card {
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.16);
    color:#fff;
    padding:1.25rem;
    border-radius:1.25rem;
    backdrop-filter:blur(10px)
}
.brand-box,.sector-card {
    color:var(--primary-dark);
    font-weight:800
}
.metric-card strong {
    display:block;
    color:#9feeff;
    margin-bottom:.35rem
}
.bg-soft {
    background:linear-gradient(180deg,#f7f9ff,#eef4ff)
}
.image-stack {
    position:relative;
    padding-right:4rem;
    padding-bottom:4.5rem
}
.main-img {
    min-height:470px
}
.accent-img {
    position:absolute;
    right:0;
    bottom:0;
    width:56%;
    border:8px solid #fff
}
.sector-card {
    padding:1rem 1.1rem;
    display:flex;
    align-items:center;
    gap:.8rem
}
.sector-card i {
    color:var(--accent)
}
.brand-box {
    text-align:center;
    font-size:1.05rem
}
.transparent-card {
    background:rgba(255,255,255,.1)!important;
    border-color:rgba(255,255,255,.15)!important;
    backdrop-filter:blur(12px)
}
.site-footer {
    background:linear-gradient(204deg,#13204b,#191919);
    color:#fff;
    padding:4rem 0 0
}
.site-footer h3 {
    font-size:1rem;
    font-weight:800;
    color:#fff;
    margin-bottom:1rem
}
.footer-logo {
    height:76px;
    width:auto
}
.category-list,.check-list,.footer-contact,.footer-links,.recent-posts {
    list-style:none;
    padding:0;
    margin:0
}
.footer-contact li,.footer-links li {
    margin-bottom:.75rem
}
.footer-contact a,.footer-links a {
    color:#dfe5ff
}
.breadcrumbs a,.category-list a:hover,.recent-posts a:hover,.stat-box strong {
    color:var(--primary)
}
.footer-contact li {
    display:flex;
    gap:.7rem;
    align-items:flex-start
}
.footer-bottom {
    border-top:1px solid rgba(255,255,255,.08);
    margin-top:2rem;
    padding:1.15rem 0;
    color:#aeb9e9
}
.breadcrumbs {
    font-size:.95rem;
    color:#5d6883
}
.stat-box {
    padding:1.2rem
}
.stat-box strong {
    display:block;
    font-size:1.1rem
}
.stat-box span {
    display:block;
    font-weight:700;
    color:var(--primary-dark)
}
.pill-list {
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    gap:.8rem
}
.pill-list li {
    padding:.7rem 1rem;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--line);
    font-weight:800;
    color:var(--primary-dark)
}
.check-list li {
    display:flex;
    gap:.75rem;
    align-items:flex-start;
    margin-bottom:.9rem
}
.check-list i {
    color:var(--accent);
    font-size:1.15rem
}
.note-box {
    padding:1.15rem 1.25rem;
    border-left:5px solid var(--accent-2);
    background:#fff7f2;
    border-radius:1rem
}
.form-panel {
    padding:2rem
}
.form-control,.form-select {
    padding:.95rem 1rem;
    border-radius:1rem;
    border:1px solid #cfd8ee
}
.form-control:focus,.form-select:focus {
    border-color:var(--accent);
    box-shadow:0 0 0 .2rem rgba(33,199,255,.16)
}
.contact-card {
    padding:1.6rem;
    height:100%
}
.contact-card i {
    font-size:1.4rem;
    color:var(--primary)
}
.gallery-grid {
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:1rem
}
.gallery-grid .big {
    grid-column:span 7
}
.gallery-grid .small {
    grid-column:span 5
}
.gallery-grid img {
    width:100%;
    height:100%;
    min-height:260px;
    object-fit:cover;
    border-radius:1.4rem
}
.section-cta {
    padding:0 0 5rem
}
.cta-panel {
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    border-radius:2rem;
    padding:3rem;
    color:#fff
}
.cta-panel h2 {
    font-size:clamp(1.8rem,3vw,2.8rem);
    font-weight:800;
    color:#fff
}
.whatsapp-float {
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:1080;
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    background:#25d366;
    color:#fff;
    padding:.95rem 1.15rem;
    border-radius:999px;
    box-shadow:0 16px 34px rgba(0,0,0,.2);
    font-weight:800
}
.accordion-button,.hero-slider,.hero-slider .carousel,.hero-slider .carousel-inner,.hero-slider .carousel-item,.post-hero {
    position:relative
}
.whatsapp-float i {
    font-size:1.4rem
}
.whatsapp-float:hover {
    color:#fff;
    transform:translateY(-2px)
}
.reviews-section {
    background:#f8f9fa
}
.rating-box {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px
}
.rating-number {
    font-size:32px;
    font-weight:700
}
.stars {
    color:#ffc107;
    font-size:18px
}
.reviews-count {
    font-size:14px;
    color:#595959
}
.reviews-wrapper {
    display:flex;
    gap:20px;
    overflow-x:auto;
    padding-bottom:10px
}
.review-card {
    min-width:280px;
    background:#fff;
    padding:20px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s
}
.review-card:hover {
    transform:translateY(-5px)
}
.review-header {
    display:flex;
    justify-content:space-between;
    font-size:14px;
    margin-bottom:10px;
    color:#555
}
.contact-section {
    background:linear-gradient(180deg,#fff 0,#f4f7fb 100%)
}
.contact-section .eyebrow {
    font-size:13px;
    letter-spacing:2px;
    color:#00aeef;
    font-weight:600
}
.form-wrapper {
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    padding:10px
}
.post-card-body,.sidebar-box {
    padding:1.5rem
}
.zoho-form {
    width:100%;
    height:650px;
    border:none;
    display:block
}
.form-panel {
    background:linear-gradient(180deg,#f7f9ff,#eef4ff)!important
}
.post-card,.sidebar-box {
    background:#fff;
    border:1px solid var(--line);
    box-shadow:var(--shadow)
}
.blog-grid {
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:1.5rem
}
.blog-main {
    grid-column:span 8
}
.blog-sidebar {
    grid-column:span 4
}
.post-card {
    border-radius:var(--radius);
    overflow:hidden;
    height:100%;
    transition:.25s
}
.post-card:hover {
    transform:translateY(-6px)
}
.post-card img {
    width:100%;
    height:250px
}
.post-meta {
    display:flex;
    flex-wrap:wrap;
    gap:.85rem;
    font-size:.92rem;
    color:var(--muted);
    margin-bottom:.75rem
}
.filter-chip,.post-meta span {
    display:inline-flex;
    align-items:center;
    gap:.35rem
}
.post-article h2,.post-card h3 {
    font-size:1.35rem;
    font-weight:800;
    color:var(--primary-dark);
    line-height:1.2
}
.post-card p {
    color:var(--muted)
}
.sidebar-box {
    border-radius:var(--radius);
    margin-bottom:1.25rem
}
.sidebar-box h3 {
    font-size:1.05rem;
    font-weight:800;
    color:var(--primary-dark);
    margin-bottom:1rem
}
.category-list li,.recent-posts li {
    margin-bottom:.8rem
}
.category-list a,.recent-posts a {
    color:var(--ink);
    font-weight:700
}
.post-hero {
    padding:5rem 0 4rem;
    background-size:cover;
    background-position:center
}
.post-hero .overlay-dark {
    background:linear-gradient(90deg,rgba(20,31,76,.88),rgba(54,65,153,.72))
}
.post-article {
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:2rem
}
.post-article li,.post-article p {
    color:#44506b;
    font-size:1.05rem
}
.post-article h2,.post-article h3 {
    margin-top:1.5rem;
    margin-bottom:.85rem
}
.post-article ol,.post-article ul {
    padding-left:1.2rem
}
.post-cover {
    border-radius:1.5rem;
    overflow:hidden;
    box-shadow:var(--shadow);
    margin-bottom:1.5rem
}
.post-cover img {
    width:100%;
    max-height:460px
}
.post-cta-inline {
    margin-top:2rem;
    padding:1.4rem;
    border-radius:1.25rem;
    background:linear-gradient(135deg,rgba(68,87,182,.08),rgba(122,77,244,.08));
    border:1px solid var(--line)
}
.filter-chip {
    background:#fff;
    border:1px solid var(--line);
    border-radius:999px;
    padding:.45rem .75rem;
    font-weight:700;
    color:var(--primary-dark)
}
.hero-image-only {
    width:100%;
    height:auto;
    overflow:hidden
}
.hero-img {
    width:100%;
    height:100%;
    display:block
}
.hero-slide {
    min-height:760px;
    display:flex;
    align-items:center;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat
}
.hero-slide .container {
    z-index:2
}
.hero-slide-1 {
    background-image:url('../images/hero2-Eday-Copy.png')
}
.hero-slide-2 {
    background-image:url('../images/slide-ricoh.jpg')
}
.hero-slide-3 {
    background-image:url('../images/slide-pantum-nacional.jpg')
}
.hero-indicators {
    bottom:22px;
    z-index:5
}
.hero-indicators button {
    width:12px!important;
    height:12px!important;
    border-radius:50%;
    border:0;
    margin:0 6px!important;
    background-color:rgba(255,255,255,.45)!important;
    opacity:1!important
}
.hero-indicators button.active {
    background-color:#fff!important
}
.hero-control {
    width:6%;
    z-index:5
}
.hero-control .carousel-control-next-icon,.hero-control .carousel-control-prev-icon {
    background-size:70% 70%;
    width:3rem;
    height:3rem;
    border-radius:999px;
    background-color:rgba(255,255,255,.12);
    backdrop-filter:blur(8px)
}
.carousel-control-next {
    right:-10px!important
}
.carousel-control-prev {
    left:-10px!important
}
@media (max-width:991.98px) {
    .topbar-inner {
        flex-direction:column;
        align-items:flex-start
    }
    .topbar-contact {
        justify-content:flex-start
    }
    .hero-home {
        padding:5.5rem 0 4.5rem
    }
    .page-hero {
        padding:4.5rem 0 3.5rem
    }
    .image-stack {
        padding-right:0;
        padding-bottom:0
    }
    .accent-img {
        position:relative;
        width:100%;
        right:auto;
        bottom:auto;
        margin-top:1rem;
        border-width:0
    }
    .metric-grid {
        grid-template-columns:1fr
    }
    .blog-main,.blog-sidebar {
        grid-column:span 12
    }
    .hero-slide {
        min-height:680px
    }
}
@media (max-width:767.98px) {
    .gallery-grid {
        grid-template-columns:1fr
    }
    .gallery-grid .big,.gallery-grid .small {
        grid-column:span 1
    }
    .brand-logo {
        height:48px
    }
    .content-block,.section-banner,.section-padding {
        padding:4rem 0
    }
    .hero-control,.whatsapp-float span {
        display:none
    }
    .hero-slide {
        min-height:620px
    }
}
.accordion-button,.brand-box {
    display:flex;
    align-items:center
}
.accordion-button {
    width:100%;
    padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
    font-size:1rem;
    font-weight:700;
    color:#4457b6;
    text-align:left;
    background-color:var(--bs-accordion-btn-bg);
    border:0;
    border-radius:0;
    overflow-anchor:none;
    transition:var(--bs-accordion-transition)
}
.brand-box {
    height:100px;
    justify-content:center;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    padding:18px;
    transition:.3s
}
.brand-box img {
    max-height:55px;
    max-width:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    filter:brightness(0) invert(1);
    opacity:.85;
    transition:.3s
}
.brand-box:hover {
    background:rgba(255,255,255,.12);
    transform:translateY(-4px)
}
.brand-box:hover img {
    opacity:1;
    transform:scale(1.05)
}
.brand-section img {
    width:100%;
    height:auto;
    border-radius:18px
}
.brand-image-mobile {
    display:none
}
@media (max-width:768px) {
    .zoho-form {
        height:700px
    }
    .brand-image-desktop {
        display:none
    }
    .brand-image-mobile {
        display:block
    }
}
.call-float {
    position:fixed;
    right:20px;
    bottom:92px;
    z-index:999;
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#004071;
    color:#fff;
    padding:12px 18px;
    border-radius:999px;
    font-weight:700;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
    transition:.25s
}
.call-float:hover {
    background:#00aeef;
    color:#fff;
    transform:translateY(-3px)
}
.call-float i {
    font-size:1.2rem
}
@media (max-width:575.98px) {
    .topbar-contact {
        gap:.55rem 1rem
    }
    .hero-home h1,.page-hero h1 {
        font-size:2.15rem
    }
    .content-block h2,.section-banner h2,.section-heading h2 {
        font-size:1.8rem
    }
    .advice-card,.form-panel,.service-card,.service-detail-card {
        padding:1.45rem
    }
    .cta-panel {
        padding:2rem
    }
    .hero-slide {
        min-height:auto
    }
    .hero-slide.hero-home {
        padding:5rem 0 4.5rem
    }
    .call-float {
        right:16px;
        bottom:86px;
        padding:12px 14px
    }
    .call-float span {
        display:none
    }
}
.text-muted {
    display:none!important
}
