:root {
    --ig1-v2-ink: #111713;
    --ig1-v2-muted: #58655e;
    --ig1-v2-blue: #006b4f;
    --ig1-v2-blue-dark: #004b38;
    --ig1-v2-green: #0a9f5a;
    --ig1-v2-line: #dbe4df;
    --ig1-v2-soft: #f4f8f6;
    --ig1-v2-navy: #050706;
    --ig1-v2-radius: 8px;
    --ig1-v2-shadow: 0 14px 36px rgba(12, 31, 22, .09);
    --ig1-primary: #006b4f;
    --ig1-primary-strong: #004b38;
    --ig1-ink: #111713;
    --ig1-muted-ink: #58655e;
}

html { scroll-behavior: smooth; }
body.ig1-site { color: var(--ig1-v2-ink); background: #fff; font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: 0; }
.container { max-width: 1240px; }
.btn { border-radius: 6px; font-weight: 700; letter-spacing: 0; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; }
.btn-lg { min-height: 50px; padding: .75rem 1.15rem; font-size: 1rem; }
.ig1-site .btn.btn-primary { background: var(--ig1-v2-blue) !important; border-color: var(--ig1-v2-blue) !important; box-shadow: 0 8px 22px rgba(0, 107, 79, .16); }
.ig1-site .btn.btn-primary:hover, .ig1-site .btn.btn-primary:focus { background: var(--ig1-v2-blue-dark) !important; border-color: var(--ig1-v2-blue-dark) !important; }
.btn-outline-primary { color: var(--ig1-v2-blue); border-color: #8bc7b3; background: #fff; }
.btn-outline-primary:hover, .btn-outline-primary:focus { color: #fff; background: var(--ig1-v2-blue); border-color: var(--ig1-v2-blue); }
.btn-whatsapp { color: #fff; background: var(--ig1-v2-green); border: 1px solid var(--ig1-v2-green); box-shadow: 0 8px 22px rgba(17, 155, 88, .16); }
.btn-whatsapp:hover, .btn-whatsapp:focus { color: #fff; background: #087c45; border-color: #087c45; }
.btn-link-arrow { color: var(--ig1-v2-blue); text-decoration: none; min-height: 46px; padding: .6rem .25rem; box-shadow: none; }
.btn-link-arrow:hover { color: var(--ig1-v2-blue-dark); }

/* Header */
.ig1-topbar { background: #f7faf8 !important; border-color: var(--ig1-v2-line) !important; }
.ig1-topbar .container { min-height: 34px; padding-top: .25rem !important; padding-bottom: .25rem !important; }
.ig1-topbar-message, .ig1-topbar-link { color: #45534c !important; font-size: .78rem; }
.ig1-topbar-link:hover { color: var(--ig1-v2-blue) !important; }
.ig1-nav { min-height: 76px; background: rgba(255,255,255,.98) !important; border-color: var(--ig1-v2-line) !important; box-shadow: 0 5px 18px rgba(12,31,22,.045); }
.ig1-nav .container { max-width: 1280px; }
.ig1-brand-logo { width: 132px; height: 46px; object-fit: contain; }
.ig1-nav-links { flex-wrap: nowrap; }
.ig1-nav .nav-link { color: #26332d; font-size: .89rem; font-weight: 700; padding: .65rem .58rem !important; white-space: nowrap; border-radius: 5px; }
.ig1-nav .nav-link:hover, .ig1-nav .nav-link:focus { color: var(--ig1-v2-blue); background: #eef7f2; }
.ig1-nav-search-wrap, .ig1-cart-link { display: none !important; }
.ig1-whatsapp-btn { color: #087b45; border-color: #80c9a6; min-height: 44px; padding-inline: 1rem !important; }
.ig1-budget-btn { min-height: 44px; background: var(--ig1-v2-blue); border-color: var(--ig1-v2-blue); white-space: nowrap; }
.navbar-toggler { border: 1px solid var(--ig1-v2-line); border-radius: 6px; padding: .45rem .55rem; }

/* Shared professional page */
.ig1-v2-page, .ig1-v2-home, .ig1-v2-service-page { background: #fff; }
.ig1-v2-hero { background: #fff; border-bottom: 1px solid var(--ig1-v2-line); padding: 1.15rem 0 2.9rem; }
.ig1-v2-hero-grid, .ig1-v2-home-hero-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(440px, 1.08fr); gap: 2.6rem; align-items: center; }
.ig1-v2-hero.no-media .ig1-v2-hero-grid { grid-template-columns: minmax(0, 820px); }
.ig1-v2-hero-copy h1, .ig1-v2-home-copy h1 { margin: .65rem 0 1rem; max-width: 720px; color: var(--ig1-v2-ink); font-size: 2.82rem; line-height: 1.08; font-weight: 800; letter-spacing: 0; }
.ig1-v2-hero-copy > p, .ig1-v2-home-copy > p { max-width: 680px; margin: 0 0 1.35rem; color: var(--ig1-v2-muted); font-size: 1.05rem; line-height: 1.65; }
.ig1-v2-eyebrow, .ig1-v2-section-head > span, .ig1-v2-inline-cta > div > span, .ig1-v2-final-cta span { display: inline-block; color: var(--ig1-v2-blue); font-size: .76rem; line-height: 1.3; font-weight: 800; text-transform: uppercase; }
.ig1-v2-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.ig1-v2-hero-signals { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-top: 1.2rem; color: #526159; font-size: .82rem; font-weight: 600; }
.ig1-v2-hero-signals i { color: var(--ig1-v2-blue); margin-right: .28rem; }
.ig1-v2-hero-media { display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; border: 1px solid var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); background: var(--ig1-v2-soft); box-shadow: var(--ig1-v2-shadow); }
.ig1-v2-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.ig1-v2-price-line { display: grid; grid-template-columns: auto 1fr; gap: .15rem .75rem; align-items: baseline; max-width: 620px; margin: 0 0 1.25rem; padding: .85rem 1rem; border-left: 4px solid var(--ig1-v2-blue); background: #edf7f2; border-radius: 0 6px 6px 0; }
.ig1-v2-price-line small { grid-column: 1 / -1; color: #526159; font-weight: 700; }
.ig1-v2-price-line strong { color: var(--ig1-v2-blue-dark); font-size: 1.35rem; }
.ig1-v2-price-line span { color: #526159; font-size: .86rem; }

.ig1-v2-content-flow { padding-top: 1rem; padding-bottom: 1rem; }
.ig1-v2-section { padding: 3.6rem 0; border-bottom: 1px solid var(--ig1-v2-line); }
.ig1-v2-section:last-child { border-bottom: 0; }
.ig1-v2-section-head { max-width: 780px; margin-bottom: 1.65rem; }
.ig1-v2-section-head.centered { margin-inline: auto; text-align: center; }
.ig1-v2-section-head h2, .ig1-v2-inline-cta h2, .ig1-v2-final-cta h2 { margin: .45rem 0 .65rem; color: var(--ig1-v2-ink); font-size: 1.95rem; line-height: 1.2; font-weight: 800; letter-spacing: 0; }
.ig1-v2-section-head p, .ig1-v2-inline-cta p { margin: 0; color: var(--ig1-v2-muted); font-size: 1.02rem; line-height: 1.7; }

.ig1-v2-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ig1-v2-card-grid article { min-height: 180px; padding: 1.35rem; border: 1px solid var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); background: #fff; box-shadow: 0 7px 22px rgba(12,31,22,.055); }
.ig1-v2-card-grid article > i { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 1rem; color: var(--ig1-v2-blue); background: #edf7f2; border-radius: 6px; font-size: 1.15rem; }
.ig1-v2-card-grid h3, .ig1-v2-audience-card h3, .ig1-v2-step-grid h3 { margin: 0 0 .5rem; color: var(--ig1-v2-ink); font-size: 1.05rem; line-height: 1.35; font-weight: 800; }
.ig1-v2-card-grid p, .ig1-v2-audience-card p, .ig1-v2-step-grid p { margin: 0; color: var(--ig1-v2-muted); font-size: .92rem; line-height: 1.6; }
.ig1-v2-card-grid article > a { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1rem; color: var(--ig1-v2-blue); font-size: .86rem; font-weight: 800; text-decoration: none; }

.ig1-v2-audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.ig1-v2-audience-card { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(190px, .95fr); min-height: 330px; overflow: hidden; border: 1px solid var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); background: #fff; }
.ig1-v2-audience-copy { padding: 1.7rem; align-self: center; }
.ig1-v2-audience-copy > i { color: var(--ig1-v2-blue); font-size: 1.45rem; }
.ig1-v2-audience-card img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; }
.ig1-v2-audience-card a { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1rem; color: #fff; background: var(--ig1-v2-blue); border-radius: 5px; padding: .7rem .85rem; font-size: .84rem; font-weight: 800; text-decoration: none; }

.ig1-v2-step-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.ig1-v2-step-grid article { position: relative; padding: 1.2rem 1.1rem 1.2rem 3.6rem; min-height: 150px; border-top: 3px solid #9bcdbb; background: #f6f9f7; border-radius: 0 0 6px 6px; }
.ig1-v2-step-grid article > b { position: absolute; left: 1rem; top: 1rem; display: grid; place-items: center; width: 32px; height: 32px; color: #fff; background: var(--ig1-v2-blue); border-radius: 50%; font-size: .82rem; }

.ig1-v2-rich { max-width: 880px; color: #35423b; font-size: 1rem; line-height: 1.75; }
.ig1-v2-rich.has-media { max-width: none; display: grid; grid-template-columns: minmax(0, .8fr) minmax(440px, 1.2fr); gap: 2.4rem; align-items: center; }
.ig1-v2-rich h2 { font-size: 1.55rem; margin: 1.8rem 0 .7rem; }
.ig1-v2-rich h3 { font-size: 1.2rem; margin: 1.35rem 0 .55rem; }
.ig1-v2-rich img { width: 100%; max-height: 430px; aspect-ratio: 16 / 10; object-fit: cover; object-position: top center; border: 1px solid var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); box-shadow: var(--ig1-v2-shadow); }

/* Casos y clientes reales */
.ig1-v2-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.ig1-v2-project-grid.count-4, .ig1-v2-projects--client_list .ig1-v2-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ig1-v2-project-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); background: #fff; box-shadow: 0 10px 28px rgba(12,31,22,.07); }
.ig1-v2-project-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 1px solid var(--ig1-v2-line); background: #edf3ef; }
.ig1-v2-project-media img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .35s ease; }
.ig1-v2-project-card:hover .ig1-v2-project-media img { transform: scale(1.018); }
.ig1-v2-project-copy { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.ig1-v2-project-copy h3 { margin: 0 0 .55rem; color: var(--ig1-v2-ink); font-size: 1.12rem; line-height: 1.3; font-weight: 850; }
.ig1-v2-project-copy > p { margin: 0 0 1rem; color: var(--ig1-v2-muted); font-size: .92rem; line-height: 1.62; }
.ig1-v2-project-copy dl { display: grid; gap: .8rem; margin: .15rem 0 1.1rem; }
.ig1-v2-project-copy dl div { padding-left: .85rem; border-left: 3px solid #a5d2c2; }
.ig1-v2-project-copy dt { margin: 0 0 .2rem; color: var(--ig1-v2-ink); font-size: .74rem; font-weight: 850; text-transform: uppercase; }
.ig1-v2-project-copy dd { margin: 0; color: var(--ig1-v2-muted); font-size: .86rem; line-height: 1.55; }
.ig1-v2-project-link { display: inline-flex; align-items: center; gap: .4rem; width: fit-content; margin-top: auto; color: var(--ig1-v2-blue); font-size: .87rem; font-weight: 850; text-decoration: none; }
.ig1-v2-project-link:hover { color: var(--ig1-v2-blue-dark); }
.ig1-v2-projects-more { margin-top: 1.2rem; }
.ig1-v2-projects--project_gallery .ig1-v2-project-grid.count-1 { grid-template-columns: minmax(0, 1fr); max-width: 980px; }
.ig1-v2-projects--project_gallery .ig1-v2-project-grid.count-1 .ig1-v2-project-card { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); }
.ig1-v2-projects--project_gallery .ig1-v2-project-grid.count-1 .ig1-v2-project-media { height: 100%; min-height: 320px; border-right: 1px solid var(--ig1-v2-line); border-bottom: 0; }

.ig1-v2-inline-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin: 2.5rem 0; padding: 2rem !important; border: 1px solid #a9d2c3 !important; border-radius: var(--ig1-v2-radius); background: #f0f8f4; }
.ig1-v2-inline-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; }

.ig1-v2-faq { max-width: 900px; margin-inline: auto; }
.ig1-v2-faq .accordion-item { border-color: var(--ig1-v2-line); }
.ig1-v2-faq .accordion-button { color: var(--ig1-v2-ink); font-weight: 750; padding: 1.1rem 0; box-shadow: none; }
.ig1-v2-faq .accordion-body { color: var(--ig1-v2-muted); padding: .2rem 0 1.15rem; line-height: 1.7; }

/* Home */
.ig1-v2-home-hero { padding: 3rem 0 3.5rem; border-bottom: 1px solid var(--ig1-v2-line); background: #fff; }
.ig1-v2-home-copy h1 { font-size: 3.35rem; }
.ig1-v2-home-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.ig1-v2-home-actions .btn span { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.05; font-size: .75rem; font-weight: 600; }
.ig1-v2-home-actions .btn strong { margin-top: .25rem; font-size: 1rem; }
.ig1-v2-home-quick { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; margin-top: 1.2rem; color: #526159; font-size: .82rem; font-weight: 650; }
.ig1-v2-home-quick i { color: var(--ig1-v2-blue); }
.ig1-v2-home-visual { position: relative; min-height: 470px; }
.ig1-v2-home-visual > img { width: 100%; height: 470px; object-fit: cover; border-radius: var(--ig1-v2-radius); box-shadow: var(--ig1-v2-shadow); }
.ig1-v2-home-visual > div { position: absolute; left: 1.2rem; bottom: 1.2rem; display: flex; align-items: center; gap: .75rem; max-width: 280px; padding: .9rem 1rem; background: rgba(255,255,255,.96); border: 1px solid rgba(255,255,255,.8); border-radius: 7px; box-shadow: 0 10px 30px rgba(7,29,60,.18); }
.ig1-v2-home-visual > div > i { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; color: #fff; background: var(--ig1-v2-blue); border-radius: 50%; }
.ig1-v2-home-visual > div span { display: flex; flex-direction: column; color: #596860; font-size: .75rem; }
.ig1-v2-home-visual > div strong { color: var(--ig1-v2-ink); font-size: .86rem; }
.ig1-v2-zones > div:last-child { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; }
.ig1-v2-zones a { display: inline-flex; align-items: center; gap: .35rem; padding: .65rem .85rem; color: #30423a; background: #fff; border: 1px solid var(--ig1-v2-line); border-radius: 6px; font-size: .85rem; font-weight: 700; text-decoration: none; }
.ig1-v2-zones a:hover { color: var(--ig1-v2-blue); border-color: #8bc7b3; }

/* Contact */
.ig1-v2-contact-first { padding: 3.5rem 0; background: var(--ig1-v2-soft); border-bottom: 1px solid var(--ig1-v2-line); }
.ig1-v2-direct-contact { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-bottom: 1rem; }
.ig1-v2-direct-contact > * { display: flex; align-items: center; gap: .85rem; min-height: 84px; padding: 1rem; color: inherit; background: #fff; border: 1px solid var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); text-decoration: none; }
.ig1-v2-direct-contact > a:hover { border-color: #8bc7b3; box-shadow: 0 8px 20px rgba(12,31,22,.07); }
.ig1-v2-direct-contact i { color: var(--ig1-v2-blue); font-size: 1.35rem; }
.ig1-v2-direct-contact span { display: flex; flex-direction: column; }
.ig1-v2-direct-contact small { color: var(--ig1-v2-muted); }
.ig1-v2-contact-form-shell { display: grid; grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr); gap: 2rem; align-items: start; padding: 2rem; background: #fff; border: 1px solid var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); }
.ig1-v2-contact-form-shell h2 { margin: .45rem 0 .7rem; font-size: 2rem; font-weight: 800; }
.ig1-v2-contact-form-shell p { color: var(--ig1-v2-muted); line-height: 1.7; }

/* Final CTA and footer */
.ig1-v2-final-cta { margin-top: 2rem; padding: 2.35rem 0; color: #fff; background: var(--ig1-v2-blue-dark); }
.ig1-v2-final-cta .container { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.ig1-v2-final-cta h2 { margin: .35rem 0 .35rem; color: #fff; font-size: 2rem; }
.ig1-v2-final-cta p { margin: 0; color: #dcebe5; }
.ig1-v2-final-cta .container > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; }
.ig1-footer { margin-top: 0 !important; color: #e2e9e5; background: var(--ig1-v2-navy) !important; border: 0 !important; }
.ig1-footer .ig1-muted, .ig1-footer .small { color: #aebbb4 !important; }
.ig1-footer a { color: #dce5e0 !important; }
.ig1-footer a:hover { color: #fff !important; text-decoration: underline; }
.ig1-footer .fw-bold, .ig1-footer .h5, .ig1-footer strong { color: #fff !important; }
.ig1-footer .ig1-footer-brand { padding: .5rem .7rem; border-radius: 5px; background: #fff; }
.ig1-footer .ig1-footer-brand .ig1-brand-logo { width: 126px; height: 42px; }
.ig1-footer .ig1-footer-brand img { filter: brightness(0) invert(1); opacity: .95; }
.ig1-footer .ig1-tech-strip { display: none; }
.ig1-footer .btn-primary { color: #fff !important; }
.ig1-footer .btn-outline-primary { color: #fff !important; background: transparent; border-color: #52645b; }
.ig1-footer .ig1-card { color: #d0dad4; background: #0c100e !important; border-color: #28332e !important; box-shadow: none; }
.ig1-footer .ig1-footer-social { display: flex; flex-wrap: wrap; gap: .5rem; }
.ig1-footer .ig1-footer-social-link {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-height: 38px;
    padding: .5rem .7rem;
    color: #fff !important;
    background: #0c100e !important;
    border: 1px solid #34423b !important;
    border-radius: 6px;
    font-size: .78rem;
    font-weight: 750;
    text-decoration: none !important;
}
.ig1-footer .ig1-footer-social-link:hover,
.ig1-footer .ig1-footer-social-link:focus { background: #142019 !important; border-color: #5a7568 !important; }
.ig1-footer .ig1-footer-seo { color: #cbd7d0; background: #0c100e !important; border: 1px solid #28332e !important; border-radius: 7px; }
.ig1-footer .ig1-footer-seo .ig1-muted { color: #cbd7d0 !important; }
.ig1-v2-mobile-contact { display: none; }

/* Existing shop, tools and special pages */
.ig1-card, .ig1-shop-product-shell, .ig1-service-hero__shell, .ig1-tool-hero-card, .ig1-tool-panel { border-radius: var(--ig1-v2-radius) !important; }
.ig1-shop-product-copy h1, .ig1-service-hero__copy h1 { font-size: 2.75rem !important; line-height: 1.08 !important; letter-spacing: 0 !important; }
.ig1-shop-product-hero, .ig1-service-hero { background: #fff !important; }
.ig1-product-card, .ig1-shop-product-image, .ig1-service-visual { border-radius: var(--ig1-v2-radius) !important; }

/* Commercial platforms */
.ig1-commercial-product {
    width: min(100% - 3rem, 1240px);
    margin-inline: auto;
    padding: 1.1rem 0 4rem;
    gap: 0;
    color: var(--ig1-v2-ink);
}
.ig1-commercial-product > section,
.ig1-commercial-product > header { padding: 3.2rem 0; border-bottom: 1px solid var(--ig1-v2-line); }
.ig1-commercial-product > header { padding-top: .6rem; }
.ig1-commercial-product .ig1-kicker { color: var(--ig1-v2-blue) !important; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.ig1-commercial-product .ig1-section-title,
.ig1-commercial-product h1,
.ig1-commercial-product h2,
.ig1-commercial-product h3 { color: var(--ig1-v2-ink) !important; letter-spacing: 0 !important; }
.ig1-product-breadcrumb { display: flex; align-items: center; gap: .45rem; margin-bottom: 1.25rem; color: #68766f; font-size: .78rem; }
.ig1-product-breadcrumb a { color: var(--ig1-v2-blue); text-decoration: none; font-weight: 750; }
.ig1-product-breadcrumb i { font-size: .62rem; }
.ig1-commercial-product .ig1-product-band { overflow: visible; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.ig1-product-band .ig1-section-title { max-width: 17ch; margin: 0; font-size: clamp(2.25rem, 4vw, 3.55rem) !important; line-height: 1.04 !important; font-weight: 850; text-wrap: balance; }
.ig1-product-band .ig1-section-subtitle { max-width: 62ch; color: var(--ig1-v2-muted) !important; font-size: 1.05rem; line-height: 1.65; }
.ig1-product-visual { min-height: 0; overflow: hidden; border: 1px solid var(--ig1-v2-line) !important; border-radius: var(--ig1-v2-radius) !important; background: var(--ig1-v2-soft); box-shadow: var(--ig1-v2-shadow); }
.ig1-product-visual img { width: 100%; min-height: 0; max-height: none; aspect-ratio: 16 / 10; object-fit: cover; object-position: top center; }
.ig1-metric-tile { min-height: 84px; border-color: var(--ig1-v2-line); border-radius: 6px; background: var(--ig1-v2-soft); }
.ig1-metric-value { color: var(--ig1-v2-ink); font-size: 1.1rem; }
.ig1-product-conversion-grid { padding: 1.15rem 0 3.2rem !important; }
.ig1-product-conversion-card { min-height: 175px; padding: 1.25rem; border-color: var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); box-shadow: 0 8px 24px rgba(12,31,22,.055); }
.ig1-product-conversion-card strong { color: var(--ig1-v2-ink); font-size: 1.05rem; line-height: 1.35; }
.ig1-product-conversion-card p { color: var(--ig1-v2-muted); font-size: .91rem; line-height: 1.6; }
.ig1-commercial-product .ig1-card { border-color: var(--ig1-v2-line) !important; box-shadow: 0 8px 24px rgba(12,31,22,.055) !important; }
.ig1-product-guide-copy { padding-right: clamp(0rem, 2vw, 1.5rem); }
.ig1-product-process { position: sticky; top: 105px; padding: 1.6rem; border: 1px solid var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); background: var(--ig1-v2-soft); }
.ig1-commercial-product .ig1-content { color: #34433b; font-size: .98rem; line-height: 1.72; }
.ig1-commercial-product .ig1-content > :first-child { margin-top: 0; }
.ig1-commercial-product .ig1-content h2 { margin: 1.8rem 0 .65rem; color: var(--ig1-v2-ink) !important; font-size: 1.45rem !important; line-height: 1.25 !important; font-weight: 800; }
.ig1-commercial-product .ig1-content h3 { margin: 1.3rem 0 .5rem; color: var(--ig1-v2-ink) !important; font-size: 1.12rem !important; line-height: 1.35 !important; font-weight: 800; }
.ig1-commercial-product .ig1-content p,
.ig1-commercial-product .ig1-content li { color: #425149; font-size: .96rem; line-height: 1.7; }
.ig1-commercial-product .ig1-content ul { display: grid; gap: .45rem; padding-left: 1.15rem; }
.ig1-commercial-product .ig1-step-item span { border-radius: 5px; background: var(--ig1-v2-blue); }
.ig1-commercial-product .ig1-step-item p,
.ig1-commercial-product .ig1-product-note,
.ig1-commercial-product .ig1-clean-list li { color: var(--ig1-v2-muted); }
.ig1-commercial-product .ig1-product-note { border-color: var(--ig1-v2-line); border-radius: 6px; background: #fff; }
.ig1-commercial-product .ig1-clean-list i { color: var(--ig1-v2-blue); }
.ig1-commercial-product .ig1-product-icon--green,
.ig1-commercial-product .ig1-product-icon--blue,
.ig1-commercial-product .ig1-product-icon--amber,
.ig1-commercial-product .ig1-product-icon--cyan { color: var(--ig1-v2-blue); background: #edf7f2; }
.ig1-commercial-product .ig1-product-seo-band,
.ig1-commercial-product .ig1-download-panel { border-color: #a9d2c3; border-radius: var(--ig1-v2-radius); background: #f0f8f4; box-shadow: none; }
.ig1-commercial-product .ig1-mini-chip { border-color: #bad9cd; border-radius: 5px; color: #24533f; background: #fff; }
.ig1-commercial-product .ig1-product-gallery { padding: 3.2rem 0 !important; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.ig1-commercial-product .ig1-product-gallery-card { border-color: var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); box-shadow: 0 9px 25px rgba(12,31,22,.06); }
.ig1-commercial-product .ig1-product-gallery-card img { aspect-ratio: 16 / 9; object-position: top center; }
.ig1-commercial-product .ig1-home-final-cta { padding: 2rem; border: 0; border-radius: var(--ig1-v2-radius); background: var(--ig1-v2-blue-dark); }
.ig1-commercial-product .ig1-home-final-cta .ig1-kicker,
.ig1-commercial-product .ig1-home-final-cta .ig1-section-title { color: #fff !important; }
.ig1-commercial-product .ig1-home-final-cta .ig1-muted { color: #d7e8e1 !important; }
.ig1-commercial-product .ig1-product-suite { padding-top: 3.2rem; }

/* Skeleton: visible briefly, never blocks a completed page. */
.ig1-page-skeleton { background: #fff; }
.ig1-js:not(.ig1-loading) .ig1-page-skeleton { display: none !important; }

@media (max-width: 1199.98px) {
    .ig1-nav .nav-link { font-size: .82rem; padding-inline: .4rem !important; }
    .ig1-brand-logo { width: 118px; }
    .ig1-v2-hero-grid, .ig1-v2-home-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr); gap: 2rem; }
    .ig1-v2-hero-copy h1, .ig1-v2-home-copy h1 { font-size: 2.75rem; }
}

@media (max-width: 991.98px) {
    body { padding-bottom: 66px; }
    .ig1-topbar-message { display: none; }
    .ig1-topbar-inner { justify-content: flex-end !important; }
    .ig1-nav { min-height: 68px; }
    .ig1-nav .navbar-collapse { margin-top: .75rem; padding: .75rem; border: 1px solid var(--ig1-v2-line); border-radius: var(--ig1-v2-radius); background: #fff; box-shadow: var(--ig1-v2-shadow); }
    .ig1-nav .nav-link { font-size: .95rem; padding: .7rem !important; }
    .ig1-nav-actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: .55rem !important; }
    .ig1-nav-actions > li { width: 100%; }
    .ig1-nav-actions .btn { width: 100%; }
    .ig1-v2-hero-grid, .ig1-v2-home-hero-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .ig1-v2-home-visual { min-height: 390px; }
    .ig1-v2-home-visual > img { height: 390px; }
    .ig1-v2-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ig1-v2-project-grid, .ig1-v2-project-grid.count-4, .ig1-v2-projects--client_list .ig1-v2-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ig1-v2-audience-card { grid-template-columns: 1fr; }
    .ig1-v2-audience-card img { height: 230px; min-height: 230px; order: -1; }
    .ig1-v2-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ig1-v2-rich.has-media, .ig1-v2-contact-form-shell { grid-template-columns: 1fr; }
    .ig1-footer-grid { display: grid !important; grid-template-columns: 1.05fr .95fr !important; grid-template-areas: "brand brand" "services tools" "services locations" "services contact"; gap: 1.5rem !important; }
    .ig1-footer-grid > :nth-child(1) { grid-area: brand !important; }
    .ig1-footer-grid > :nth-child(2) { grid-area: services !important; }
    .ig1-footer-grid > :nth-child(3) { grid-area: tools !important; }
    .ig1-footer-grid > :nth-child(4) { grid-area: locations !important; }
    .ig1-footer-grid > :nth-child(5) { grid-area: contact !important; }
    .ig1-footer-grid > * { width: auto !important; max-width: none !important; }
    .ig1-v2-mobile-contact { position: fixed; z-index: 1050; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); min-height: 64px; background: #fff; border-top: 1px solid var(--ig1-v2-line); box-shadow: 0 -8px 24px rgba(12,31,22,.12); }
    .ig1-v2-mobile-contact a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; color: #26332d; font-size: .72rem; font-weight: 750; text-decoration: none; }
    .ig1-v2-mobile-contact a:nth-child(1) i { color: var(--ig1-v2-blue); }
    .ig1-v2-mobile-contact a:nth-child(2) i { color: var(--ig1-v2-green); }
    .ig1-v2-mobile-contact a:nth-child(3) { color: #fff; background: var(--ig1-v2-blue); }
    .ig1-v2-mobile-contact i { font-size: 1.12rem; }
}

@media (max-width: 767.98px) {
    .container { --bs-gutter-x: 1.5rem; }
    .ig1-topbar { display: none; }
    .ig1-brand-logo { width: 112px; height: 40px; }
    .ig1-v2-home-hero, .ig1-v2-hero { padding: .85rem 0 2.15rem; }
    .ig1-v2-hero-copy h1, .ig1-v2-home-copy h1 { font-size: 2.18rem; line-height: 1.1; }
    .ig1-v2-hero-copy > p, .ig1-v2-home-copy > p { font-size: 1rem; line-height: 1.55; }
    .ig1-v2-home-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ig1-v2-hero-actions { display: grid; grid-template-columns: 1fr; }
    .ig1-v2-home-actions .btn, .ig1-v2-hero-actions .btn { width: 100%; }
    .ig1-v2-home-actions .btn { min-width: 0; padding-inline: .65rem; }
    .ig1-v2-home-actions .btn strong { font-size: .86rem; }
    .ig1-v2-home-visual { min-height: 280px; }
    .ig1-v2-home-visual > img { height: 280px; }
    .ig1-v2-home-visual > div { left: .75rem; right: .75rem; bottom: .75rem; max-width: none; }
    .ig1-v2-hero-media { aspect-ratio: 16 / 11; }
    .ig1-v2-hero-signals { display: grid; grid-template-columns: 1fr; gap: .45rem; }
    .ig1-v2-section { padding: 2.55rem 0; }
    .ig1-v2-section-head { margin-bottom: 1.35rem; }
    .ig1-v2-section-head h2, .ig1-v2-inline-cta h2, .ig1-v2-final-cta h2 { font-size: 1.7rem; }
    .ig1-v2-section-head p { font-size: .95rem; }
    .ig1-v2-card-grid, .ig1-v2-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
    .ig1-v2-audience-grid, .ig1-v2-direct-contact { grid-template-columns: 1fr; }
    .ig1-v2-project-grid, .ig1-v2-project-grid.count-4, .ig1-v2-projects--client_list .ig1-v2-project-grid { grid-template-columns: 1fr; }
    .ig1-v2-projects--project_gallery .ig1-v2-project-grid.count-1 .ig1-v2-project-card { display: flex; }
    .ig1-v2-projects--project_gallery .ig1-v2-project-grid.count-1 .ig1-v2-project-media { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ig1-v2-line); }
    .ig1-v2-projects--case_cards { overflow: hidden; }
    .ig1-v2-projects--case_cards .ig1-v2-project-grid,
    .ig1-v2-projects--case_cards .ig1-v2-project-grid.count-4 {
        display: flex;
        width: calc(100vw - 1.5rem);
        margin-right: calc(50% - 50vw);
        padding: 0 1.5rem .75rem 0;
        gap: .8rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        scrollbar-color: #8bc7b3 transparent;
    }
    .ig1-v2-projects--case_cards .ig1-v2-project-card { flex: 0 0 min(82vw, 330px); scroll-snap-align: start; }
    .ig1-v2-project-copy { padding: 1.05rem; }
    .ig1-v2-card-grid article { min-height: 0; padding: .95rem; }
    .ig1-v2-card-grid article > i { width: 36px; height: 36px; margin-bottom: .7rem; }
    .ig1-v2-card-grid h3, .ig1-v2-step-grid h3 { font-size: .94rem; }
    .ig1-v2-card-grid p, .ig1-v2-step-grid p { font-size: .82rem; line-height: 1.48; }
    .ig1-v2-card-grid article > a { margin-top: .7rem; font-size: .79rem; }
    .ig1-v2-step-grid article { min-height: 0; padding: 1rem .85rem 1rem 3rem; }
    .ig1-v2-step-grid article > b { left: .75rem; top: .85rem; width: 28px; height: 28px; }
    .ig1-v2-audience-card { min-height: 0; }
    .ig1-v2-audience-copy { padding: 1.2rem; }
    .ig1-v2-audience-card { grid-template-columns: minmax(0, 1.2fr) minmax(115px, .8fr); }
    .ig1-v2-audience-card img { order: 0; height: 100%; min-height: 260px; }
    .ig1-v2-audience-card a { padding: .62rem .7rem; font-size: .78rem; }
    .ig1-v2-inline-cta { display: block; margin: 2rem 0; padding: 1.25rem !important; }
    .ig1-v2-inline-actions { display: grid; margin-top: 1rem; }
    .ig1-v2-inline-actions .btn { width: 100%; }
    .ig1-v2-final-cta .container { display: block; }
    .ig1-v2-final-cta { padding: 1.9rem 0; }
    .ig1-v2-final-cta .container > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
    .ig1-v2-final-cta .btn { width: 100%; }
    .ig1-v2-contact-first { padding: 2rem 0; }
    .ig1-v2-contact-form-shell { padding: 1.1rem; gap: 1rem; }
    .ig1-v2-contact-form-shell h2 { font-size: 1.65rem; }
    .ig1-v2-price-line { grid-template-columns: 1fr; }
    .ig1-footer { padding-top: 2.25rem !important; }
    .ig1-footer-grid { grid-template-columns: 1fr 1fr !important; gap: 1.15rem !important; }
    .ig1-footer-seo { padding: .9rem !important; }
    .ig1-shop-product-copy h1, .ig1-service-hero__copy h1 { font-size: 2rem !important; }
    .ig1-commercial-product { width: min(100% - 1.25rem, 1240px); padding-top: .7rem; }
    .ig1-commercial-product > section,
    .ig1-commercial-product > header { padding: 2.35rem 0; }
    .ig1-commercial-product > header { padding-top: .35rem; }
    .ig1-product-band .ig1-section-title { max-width: none; font-size: 2.25rem !important; }
    .ig1-product-band .ig1-section-subtitle { font-size: .98rem; line-height: 1.55; }
    .ig1-product-conversion-grid { padding: .9rem 0 2.35rem !important; }
    .ig1-product-conversion-card { min-height: 0; }
    .ig1-product-process { position: static; padding: 1.15rem; }
    .ig1-commercial-product .ig1-home-final-cta { padding: 1.25rem; }
}

@media (max-width: 575.98px) {
    .ig1-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        grid-template-areas: "brand brand" "services tools" "locations tools" "contact contact";
    }
    .ig1-footer-brand-col { padding-bottom: .25rem; }
    .ig1-footer-contact-col { padding-top: .75rem; border-top: 1px solid #28332e; }
    .ig1-footer .ig1-footer-social-link { flex: 1 1 calc(50% - .5rem); justify-content: center; }
    .ig1-v2-home-quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem .7rem; }
    .ig1-v2-zones > div:last-child {
        flex-wrap: nowrap;
        justify-content: flex-start;
        margin-right: calc(50% - 50vw);
        padding: 0 1.5rem .55rem 0;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
    }
    .ig1-v2-zones a { flex: 0 0 auto; scroll-snap-align: start; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
