:root {
    --green: #073b36;
    --green-dark: #052c28;
    --green-soft: #e8f0ef;
    --ink: #073b36;
    --muted: #506b66;
    --line: #e3ebe9;
    --paper: #fbfcfb;
    --white: #ffffff;
    --shadow: 0 14px 42px rgba(16, 39, 29, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; font-weight: 400; line-height: 1.55; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; top: -80px; left: 20px; z-index: 100; padding: 10px 15px; border-radius: 8px; background: #fff; }
.skip-link:focus { top: 15px; }
.site-loader { position: fixed; inset: 0; z-index: 999; display: grid; place-items: center; visibility: visible; opacity: 1; background: var(--brand-bg, #f6f8f6); transition: opacity .35s ease, visibility .35s ease; }
.loader-brand { width: 132px; display: grid; gap: 18px; }
.loader-brand img { width: 100%; height: auto; }
.loader-track { height: 4px; overflow: hidden; border-radius: 999px; background: rgba(7, 59, 54, .12); }
.loader-track i { width: 42%; height: 100%; display: block; border-radius: inherit; background: var(--brand-secondary, #b7d65c); animation: loader-slide .8s cubic-bezier(.65, 0, .35, 1) infinite alternate; }
main { opacity: 0; transform: translateY(5px); transition: opacity .3s ease, transform .3s ease; }
body.page-ready .site-loader { visibility: hidden; opacity: 0; pointer-events: none; }
body.page-ready main { opacity: 1; transform: none; }
body.page-leaving .site-loader { visibility: visible; opacity: 1; }
body.page-leaving main { opacity: 0; transform: translateY(-4px); }
@keyframes loader-slide { from { transform: translateX(-10%); } to { transform: translateX(148%); } }

.site-header {
    height: 98px;
    padding: 0 clamp(34px, 5.5vw, 96px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid rgba(228, 233, 231, .55);
    backdrop-filter: blur(12px);
}
.brand { display: block; width: 118px; flex: 0 0 auto; }
.brand img { width: 100%; height: auto; }
.main-nav { display: flex; align-items: center; gap: 62px; margin-right: 25%; font-size: 14px; font-weight: 560; }
.main-nav > a, .main-nav summary { padding: 14px 0; cursor: pointer; list-style: none; }
.main-nav summary::-webkit-details-marker { display: none; }
.main-nav summary::after { content: "⌄"; margin-left: 10px; font-size: 12px; }
.main-nav details { position: relative; }
.dropdown { position: absolute; top: 48px; left: -22px; width: 270px; padding: 10px; display: grid; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow); }
.dropdown a { padding: 10px 12px; border-radius: 9px; }
.dropdown a:hover, .dropdown a:focus { color: var(--green); background: var(--green-soft); }
.menu-toggle { display: none; border: 0; background: transparent; }

.hero {
    width: min(100%, 1510px);
    min-height: 476px;
    margin: 0 auto;
    padding: 50px clamp(34px, 6vw, 110px) 42px;
    display: grid;
    grid-template-columns: minmax(420px, .88fr) minmax(580px, 1.12fr);
    align-items: center;
    gap: 64px;
    position: relative;
    overflow: visible;
}
.organic-lines { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.organic-lines::before, .organic-lines::after { content: ""; position: absolute; left: -220px; top: 90px; width: 330px; height: 160px; border: 1px solid rgba(7, 59, 54, .12); border-radius: 50%; transform: rotate(32deg); }
.organic-lines::after { left: -245px; top: 118px; width: 380px; }
.hero-copy { position: relative; z-index: 2; align-self: center; }
.eyebrow { margin: 0 0 21px; color: var(--green); font-size: 12px; font-weight: 800; letter-spacing: .24em; }
.hero h1 { max-width: 610px; margin: 0; font-size: clamp(45px, 3.65vw, 62px); line-height: 1.08; letter-spacing: -.045em; }
.hero h1 span { color: var(--green); }
.lead { max-width: 540px; margin: 23px 0 26px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 54px; padding: 13px 27px; border-radius: 999px; color: #fff; background: var(--green); font-size: 14px; font-weight: 700; box-shadow: 0 10px 25px rgba(7, 59, 54, .19); transition: transform .2s ease, background .2s ease; }
.button:hover, .button:focus { background: var(--green-dark); transform: translateY(-2px); }
.hero-visual { min-width: 0; height: 418px; position: relative; z-index: 1; }
.photo-wrap { width: 100%; height: 100%; overflow: hidden; border-radius: 22% 14% 18% 20% / 20% 18% 16% 23%; box-shadow: 0 12px 36px rgba(22, 52, 40, .13); }
.photo-wrap picture { display: block; height: 100%; }
.photo-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.float-card { position: absolute; display: flex; align-items: center; gap: 11px; min-width: 190px; padding: 13px 15px; border: 1px solid rgba(230, 235, 232, .9); border-radius: 15px; background: rgba(255, 255, 255, .96); box-shadow: 0 12px 35px rgba(14, 39, 29, .12); animation: float 5s ease-in-out infinite; }
.float-card strong { display: block; font-size: 13px; }
.float-card small { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; }
.card-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: var(--green); background: var(--green-soft); font-weight: 800; }
.float-one { left: -26px; bottom: -8px; }
.float-two { right: -24px; top: 54px; animation-delay: -1.5s; }
.float-three { right: -14px; bottom: 24px; animation-delay: -3s; }

.section { width: min(100%, 1510px); margin: 0 auto; padding: 45px clamp(34px, 5.5vw, 96px); }
.solutions { padding-top: 16px; }
.section-heading { display: none; }
.solution-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.solution-card { min-height: 185px; padding: 21px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 6px 22px rgba(17, 44, 33, .035); transition: transform .2s ease, box-shadow .2s ease; }
.solution-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.solution-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-soft); }
.solution-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.solution-card h3 { margin: 13px 0 5px; font-size: 14px; line-height: 1.25; }
.solution-card p { margin: 0 0 12px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.solution-card a { margin-top: auto; color: var(--green); font-size: 11px; font-weight: 750; }
.solution-card a span { margin-left: 7px; }
.metrics { width: min(calc(100% - 12vw), 1320px); margin: 0 auto 68px; padding: 28px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #d5e7de; border-radius: 16px; background: linear-gradient(105deg, #f3faf6, #fff); }
.metrics div { display: grid; text-align: center; border-right: 1px solid var(--line); }
.metrics div:last-child { border: 0; }
.metrics strong { color: var(--green); font-size: 25px; }
.metrics span { color: var(--muted); font-size: 13px; }
.about { padding-top: 85px; padding-bottom: 85px; display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 90px; }
.about-mark { height: 320px; display: grid; place-items: center; border-radius: 48% 52% 42% 58% / 45% 41% 59% 55%; color: var(--green); background: var(--green-soft); font-size: 10rem; font-weight: 800; }
.about h2 { max-width: 750px; margin: 0; font-size: clamp(35px, 3vw, 50px); line-height: 1.12; letter-spacing: -.04em; }
.about p:not(.eyebrow) { max-width: 700px; color: var(--muted); font-size: 17px; }
.text-link { color: var(--green); font-weight: 750; }
.final-cta { width: min(calc(100% - 12vw), 1280px); margin: 45px auto 90px; padding: 65px 80px; overflow: hidden; position: relative; border-radius: 28px; background: var(--green); color: #fff; text-align: center; }
.final-cta .eyebrow { color: #7bd5a3; }
.final-cta h2 { max-width: 820px; margin: 0 auto 30px; font-size: clamp(34px, 3.5vw, 54px); line-height: 1.12; letter-spacing: -.04em; }
.button-light { color: var(--green); background: #fff; box-shadow: none; }
.site-footer { border-top: 1px solid var(--line); background: #fff; }
.footer-inner { width: min(100%, 1280px); margin: auto; padding: 45px 30px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; }
.footer-inner strong { letter-spacing: .2em; }
.footer-inner p, .footer-inner small { color: var(--muted); }
.whatsapp { position: fixed; right: max(22px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); z-index: 60; width: 58px; height: 58px; display: grid; place-items: center; border: 3px solid var(--brand-secondary, #b7d65c); border-radius: 50%; color: #fff; background: var(--brand-primary, #073b36); box-shadow: 0 10px 28px rgba(7, 59, 54, .28); transition: transform .2s ease, color .2s ease, background .2s ease; }
.whatsapp:hover, .whatsapp:focus-visible { color: var(--brand-primary, #073b36); background: var(--brand-secondary, #b7d65c); transform: translateY(-3px); }
.whatsapp img { width: 34px; height: 34px; object-fit: contain; }
.whatsapp-fallback { font-size: 15px; font-weight: 850; letter-spacing: -.04em; }
.internal-page { min-height: 70vh; }
.page-hero { max-width: 1040px; margin: auto; padding: 110px 30px 75px; text-align: center; }
.page-hero h1 { margin: 0; font-size: clamp(44px, 5vw, 75px); line-height: 1.05; letter-spacing: -.05em; }
.page-hero > p:last-child { max-width: 750px; margin: 27px auto 0; color: var(--muted); font-size: 19px; }
.page-body { max-width: 1000px; margin: 0 auto 90px; padding: 58px; display: grid; grid-template-columns: 90px 1fr; gap: 42px; border: 1px solid var(--line); border-radius: 24px; background: #fff; color: var(--muted); font-size: 17px; }
.page-accent { width: 82px; height: 82px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-soft); font-size: 42px; font-weight: 800; }
.compact { padding: 52px; }
.compact h2 { font-size: clamp(29px, 3vw, 43px); }

@keyframes float { 50% { transform: translateY(-7px); } }

@media (max-width: 1200px) {
    .main-nav { margin-right: 5%; }
    .hero { grid-template-columns: minmax(380px, .9fr) minmax(500px, 1.1fr); gap: 34px; }
    .float-one { left: -10px; }
    .float-two, .float-three { right: -8px; }
}

@media (max-width: 900px) {
    .hero { grid-template-columns: 1fr; padding-top: 52px; }
    .hero-copy { max-width: 680px; }
    .hero-visual { height: 430px; }
    .solution-grid { grid-template-columns: repeat(2, 1fr); }
    .section-heading { display: block; }
}

@media (max-width: 680px) {
    .site-header { height: 76px; padding: 0 20px; }
    .brand { width: 108px; }
    .menu-toggle { display: block; padding: 8px; }
    .menu-toggle span:not(.sr-only) { display: block; width: 24px; height: 2px; margin: 5px; background: var(--ink); }
    .main-nav { display: none; position: absolute; top: 75px; left: 0; right: 0; margin: 0; padding: 18px 24px 28px; align-items: stretch; gap: 6px; border-bottom: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
    .main-nav.open { display: grid; }
    .dropdown { position: static; width: 100%; border: 0; box-shadow: none; }
    .hero { min-height: 0; padding: 48px 22px 30px; gap: 38px; }
    .hero h1 { font-size: clamp(39px, 11.5vw, 52px); }
    .lead { font-size: 15px; }
    .hero-visual { height: 330px; }
    .float-card { min-width: 165px; padding: 10px 12px; }
    .float-three { display: none; }
    .float-two { top: 22px; }
    .float-one { bottom: -10px; }
    .section { padding: 64px 20px; }
    .solutions { padding-top: 34px; }
    .solution-grid { grid-template-columns: 1fr; }
    .solution-card { min-height: 175px; }
    .metrics { width: calc(100% - 36px); grid-template-columns: 1fr 1fr; }
    .metrics div { padding: 13px 5px; border-bottom: 1px solid var(--line); }
    .about { grid-template-columns: 1fr; gap: 40px; }
    .about-mark { height: 220px; font-size: 7rem; }
    .final-cta { width: calc(100% - 36px); padding: 52px 22px; }
    .footer-inner { grid-template-columns: 1fr; align-items: start; }
    .page-body { margin: 0 18px 70px; padding: 28px; grid-template-columns: 1fr; }
}

/* 2026 visual calibration: desktop density follows the audited reference proportions. */
body { font-size: 14px; background: #fff; }
.site-header { width: min(calc(100% - 32px), 1200px); height: 64px; margin: 12px auto -76px; padding: 0 14px 0 22px; top: 12px; border-radius: 32px; }
.site-header .brand { width: min(var(--logo-width, 104px), 104px); }
.main-nav { gap: 29px; margin: 0 18px 0 auto; font-size: 11px; }
.main-nav > a, .nav-group > a { padding: 10px 0; }
.submenu-toggle { width: 22px; height: 26px; font-size: 11px; }
.header-cta { min-height: 40px; padding: 9px 19px; font-size: 11px; }
.mega-menu { width: min(calc(100vw - 32px), 1000px); top: 86px; padding: 18px; border-radius: 22px; }
.mega-menu section a { padding: 9px 10px; }
.mega-menu aside { padding: 18px; }
.mega-menu aside strong { font-size: 18px; }

.campaign-hero { min-height: 519px; padding: 94px 32px 58px; }
.campaign-grid { width: min(100%, 1092px); grid-template-columns: .9fr 1.1fr; gap: 60px; }
.campaign-copy { max-width: 480px; }
.campaign-badge { margin-bottom: 24px; padding: 6px 11px; font-size: 8px; }
.campaign-copy h1 { margin: 0 0 20px; font-size: clamp(34px, 2.75vw, 42px); line-height: 1.08; letter-spacing: -.042em; }
.campaign-copy > p:not(.eyebrow) { margin: 18px 0 20px; max-width: 470px; font-size: 13px; line-height: 1.55; }
.campaign-points { margin: 0; gap: 6px; }
.campaign-points span { padding: 7px 10px; font-size: 9px; }
.campaign-actions { gap: 18px; }
.campaign-actions .button { min-height: 42px; padding: 9px 20px; }
.campaign-link { font-size: 10px; }
.campaign-visual { height: 342px; }
.campaign-visual > img { border-radius: 38% 14% 28% 12% / 20% 14% 24% 16%; }
.campaign-float { min-width: 170px; padding: 10px 12px; border-radius: 14px; }
.campaign-float > span { width: 30px; height: 30px; }
.campaign-float strong { font-size: 11px; }
.campaign-float small { font-size: 9px; }
.float-top { top: 34px; right: -18px; }
.solution-ribbon { width: 100%; min-height: 92px; margin: 0; padding: 20px max(calc((100vw - 900px) / 2), 40px); border-radius: 0 0 11% 11% / 0 0 40% 40%; box-shadow: none; }
.solution-ribbon a { color: #496460; font-size: 11px; }

.performance-block { min-height: 562px; padding: 70px 24px 0; overflow: hidden; background: #e3ebeb; }
.performance-intro { max-width: 780px; margin: 0 auto 30px; padding: 0; }
.performance-intro .eyebrow { margin-bottom: 10px; font-size: 9px; }
.performance-intro h2 { font-size: clamp(32px, 2.75vw, 42px); line-height: 1.08; }
.dashboard-scene { width: min(680px, 80vw); height: 320px; margin: auto; padding: 22px; position: relative; border: 18px solid rgba(255,255,255,.65); border-bottom: 0; border-radius: 30px 30px 0 0; background: rgba(183,214,92,.2); box-shadow: 0 20px 60px rgba(7,59,54,.12); }
.dashboard-window { height: 100%; overflow: hidden; border-radius: 14px 14px 0 0; background: #fff; box-shadow: 0 12px 40px rgba(7,59,54,.14); }
.dashboard-top { height: 36px; padding: 0 12px; display: flex; align-items: center; gap: 6px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; }
.dashboard-top i { width: 6px; height: 6px; border-radius: 50%; background: #b7d65c; }.dashboard-top span { margin-left: auto; }
.dashboard-body { height: calc(100% - 36px); display: grid; grid-template-columns: 56px 1fr; }
.dash-sidebar { padding: 18px; display: grid; align-content: start; gap: 17px; background: var(--brand-primary); }.dash-sidebar i { height: 4px; border-radius: 3px; background: rgba(255,255,255,.42); }
.dash-main { padding: 22px; }.dash-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.dash-metrics b { height: 44px; border-radius: 8px; background: #edf2f0; }
.dash-chart { height: 116px; margin-top: 15px; position: relative; overflow: hidden; border-radius: 10px; background: repeating-linear-gradient(to bottom,#f1f5f3 0 1px,transparent 1px 28px); }.dash-chart span { width: 78%; height: 70%; position: absolute; left: 9%; bottom: 8%; border-bottom: 4px solid var(--brand-secondary); border-radius: 50%; transform: rotate(-8deg); }
.scene-chip { padding: 8px 12px; position: absolute; border-radius: 999px; color: var(--brand-primary); background: #fff; box-shadow: 0 8px 22px rgba(7,59,54,.14); font-size: 9px; font-weight: 800; }.chip-one { top: 84px; left: -54px; }.chip-two { top: 128px; right: -42px; }.chip-three { right: 30px; bottom: 20px; }

.split-feature { min-height: 511px; grid-template-columns: 1fr 1fr; }
.split-media { min-height: 511px; border-radius: 0 13% 13% 0 / 0 42% 42% 0; }
.split-copy { max-width: 560px; padding: 68px 62px; }
.split-copy .eyebrow { margin-bottom: 12px; font-size: 9px; }
.split-copy h2 { margin: 0 0 20px; font-size: clamp(32px, 2.75vw, 42px); line-height: 1.08; }
.split-copy > p:not(.eyebrow) { max-width: 460px; margin-bottom: 24px; font-size: 13px; }
.split-copy .button { min-height: 42px; }

.journey-overview { min-height: 560px; padding: 72px 24px 62px; background: #fff; }
.journey-overview > h2 { max-width: 680px; margin: 0 auto 45px; font-size: clamp(30px, 2.55vw, 39px); font-weight: 430; line-height: 1.1; text-align: center; letter-spacing: -.035em; }.journey-overview > h2 strong { font-weight: 800; }
.journey-layout { width: min(100%, 1092px); margin: auto; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }
.journey-tabs { width: 100%; margin: 0 0 24px; justify-content: flex-start; border-color: var(--line); }
.journey-tabs button { min-width: 92px; padding: 9px 8px; color: var(--brand-primary); font-size: 11px; text-align: left; }
.journey-copy[hidden] { display: none; }.journey-copy > span { display: inline-flex; padding: 5px 10px; border-radius: 999px; color: var(--brand-primary); background: #e5ecea; font-size: 9px; font-weight: 800; }
.journey-copy h3 { margin: 13px 0 12px; font-size: 20px; line-height: 1.2; }.journey-copy p { max-width: 480px; margin: 0 0 16px; color: var(--muted); font-size: 12px; }.journey-copy a { color: #5f7d2d; font-size: 11px; font-weight: 800; }
.journey-visual { padding: 30px; display: grid; grid-template-columns: 1fr 44px 1fr 44px 1fr; align-items: center; border-radius: 24px; background: linear-gradient(135deg,#eff4f1,#dce8e4); }.flow-card { min-height: 135px; padding: 18px; display: flex; flex-direction: column; justify-content: flex-end; border-radius: 17px; background: #fff; box-shadow: 0 12px 28px rgba(7,59,54,.08); }.flow-card small { color: #78918b; font-size: 7px; letter-spacing: .12em; }.flow-card strong { margin-top: 8px; font-size: 11px; line-height: 1.3; }.flow-b { color: #fff; background: var(--brand-primary); }.flow-line { height: 2px; background: var(--brand-secondary); }

.benefit-strip { min-height: 417px; padding: 90px max(calc((100vw - 1160px) / 2), 24px); display: flex; gap: 24px; overflow: hidden; background: #f4f4f4; }
.benefit-strip article { min-width: 255px; flex: 1; padding: 30px 24px; border-radius: 18px; background: #fff; box-shadow: 0 8px 26px rgba(7,59,54,.06); }.benefit-strip span { color: #7c5fa0; font-size: 11px; font-weight: 850; }.benefit-strip h3 { margin: 52px 0 8px; font-size: 16px; }.benefit-strip p { margin: 0; color: var(--muted); font-size: 11px; }

.resource-section { min-height: 497px; padding: 72px max(calc((100vw - 960px) / 2), 30px); color: #fff; background: var(--brand-primary); }
.resource-heading { max-width: 650px; margin: 0 auto; text-align: center; }.resource-heading .eyebrow { color: var(--brand-secondary); font-size: 9px; }.resource-heading h2 { margin: 0; font-size: clamp(31px, 2.75vw, 42px); line-height: 1.08; font-weight: 440; letter-spacing: -.04em; }
.resource-tabs { width: max-content; margin: 25px auto 30px; display: flex; gap: 34px; border-bottom: 2px solid rgba(255,255,255,.4); }.resource-tabs span { padding: 7px 5px; font-size: 11px; font-weight: 800; }.resource-tabs span:first-child { color: var(--brand-secondary); border-bottom: 4px solid var(--brand-secondary); }
.resource-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }.resource-pills a { min-width: 190px; padding: 12px 18px; display: flex; align-items: center; gap: 11px; border-radius: 999px; background: #164842; font-size: 11px; font-weight: 750; }.resource-pills i { color: var(--brand-secondary); font-style: normal; font-size: 9px; }

.integration-section { min-height: 516px; padding: 90px max(calc((100vw - 1092px) / 2), 30px) 118px; display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 45px 70px; position: relative; overflow: hidden; background: #e3ebeb; }
.integration-section h2 { max-width: 500px; margin: 0; font-size: clamp(31px, 2.75vw, 42px); line-height: 1.08; }.integration-section > div:nth-child(2) p { max-width: 480px; margin: 4px 0 22px; color: var(--muted); font-size: 13px; }.integration-section .button { min-height: 42px; padding: 9px 20px; }
.integration-track { height: 82px; position: absolute; right: 0; bottom: 34px; left: 0; display: flex; justify-content: center; gap: 8px; }.integration-track a { min-width: 180px; padding: 13px 17px; display: flex; align-items: center; gap: 12px; border-radius: 28px; background: #fff; font-size: 10px; font-weight: 750; }.integration-track span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--brand-primary); }

.product-highlight { width: min(calc(100% - 40px), 1092px); min-height: 396px; margin: 88px auto; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }
.product-visual { min-height: 396px; height: 396px; border-radius: 28px; }.product-visual img { height: 396px; }.product-visual::after { inset: 68% 0 0; }.product-visual span { bottom: 22px; font-size: 18px; }
.product-copy h2 { margin: 8px 0 18px; font-size: clamp(31px, 2.75vw, 42px); }.product-copy > p:not(.eyebrow) { margin-bottom: 23px; font-size: 13px; }.product-copy .button { min-height: 42px; }

.principles-section { min-height: 510px; padding: 76px max(calc((100vw - 1160px) / 2), 24px); overflow: hidden; background: #e7efef; }.principles-heading { max-width: 660px; margin: 0 auto 38px; text-align: center; }.principles-heading .eyebrow { margin-bottom: 10px; font-size: 9px; }.principles-heading h2 { margin: 0 0 10px; font-size: clamp(31px, 2.75vw, 42px); line-height: 1.08; }.principles-heading > p:last-child { color: var(--muted); font-size: 12px; }.principle-cards { display: flex; gap: 24px; }.principle-cards article { min-width: 310px; flex: 1; min-height: 220px; padding: 28px; border-radius: 18px; background: #fff; }.principle-cards span { color: var(--brand-secondary); font-size: 42px; line-height: .7; }.principle-cards h3 { margin: 24px 0 8px; font-size: 15px; }.principle-cards p { margin: 0; color: var(--muted); font-size: 11px; }

.closing-banner { width: min(calc(100% - 40px), 1092px); min-height: 342px; margin: 88px auto; padding: 58px 48px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; border-radius: 26px; text-align: left; }.closing-banner > div:first-child { max-width: 510px; }.closing-banner h2 { margin: 5px 0 14px; font-size: clamp(31px, 2.75vw, 42px); }.closing-banner p:not(.eyebrow) { margin: 0 0 20px; color: #c9dad6; font-size: 12px; }.closing-banner .button { min-height: 42px; }.closing-pattern { height: 220px; display: grid; align-content: space-around; }.closing-pattern i { height: 48px; border: 1px solid rgba(183,214,92,.35); border-radius: 999px; transform: translateX(14%); }.closing-pattern i:nth-child(2) { background: var(--brand-secondary); transform: translateX(0); }.closing-pattern i:nth-child(3) { transform: translateX(28%); }

.site-footer { min-height: 492px; border: 0; background: #f4f4f4; }.footer-inner { width: min(calc(100% - 40px), 1092px); margin: auto; padding: 58px 0 24px; display: block; }.footer-brand { padding-bottom: 30px; display: flex; align-items: center; gap: 34px; border-bottom: 1px solid rgba(183,214,92,.85); }.footer-brand img { width: 92px; }.footer-brand p { max-width: 360px; margin: 0; color: var(--muted); font-size: 11px; }.footer-columns { padding: 30px 0 34px; display: grid; grid-template-columns: 1.2fr .8fr 1fr .9fr; gap: 52px; }.footer-columns section { display: grid; align-content: start; gap: 8px; }.footer-columns h2 { margin: 0 0 8px; font-size: 12px; }.footer-columns a, .footer-columns span { color: var(--muted); font-size: 10px; }.footer-columns a:hover { color: var(--brand-primary); }.footer-bottom { padding-top: 22px; display: flex; align-items: center; gap: 18px; border-top: 1px solid rgba(183,214,92,.85); }.footer-bottom strong { margin-right: auto; letter-spacing: 0; font-size: 11px; }.footer-bottom small, .footer-bottom span { color: #748681; font-size: 9px; }

@media (min-width: 901px) {
    .site-header { height: 64px; justify-content: flex-start; }
    .main-nav { margin-left: auto; }
    .button { min-height: 42px; padding: 9px 20px; font-size: 11px; }
}
@media (max-width: 900px) {
    .site-header { height: 62px; margin-bottom: -74px; }
    .main-nav { top: 82px; }
    .campaign-grid, .split-feature, .journey-layout, .integration-section, .product-highlight, .closing-banner { grid-template-columns: 1fr; }
    .campaign-hero { padding-top: 105px; }.campaign-visual { height: 390px; }.campaign-grid { gap: 35px; }
    .split-copy { max-width: none; }.journey-overview, .benefit-strip, .resource-section, .integration-section, .principles-section { min-height: 0; }
    .journey-visual { margin-top: 10px; }.integration-track { margin-top: 35px; position: static; justify-content: flex-start; overflow-x: auto; grid-column: 1; }
    .principle-cards, .benefit-strip { overflow-x: auto; }.closing-pattern { display: none; }
}
@media (max-width: 680px) {
    .campaign-hero { padding: 102px 20px 54px; }.campaign-copy h1 { font-size: 38px; }.campaign-visual { height: 300px; }.campaign-float { right: -4px; }
    .solution-ribbon { padding: 17px 18px; border-radius: 0; }.performance-block { padding-top: 58px; }.dashboard-scene { width: 94vw; height: 260px; }.scene-chip { display: none; }
    .split-media { min-height: 310px; }.split-copy { padding: 48px 22px; }.journey-overview { padding: 58px 20px; }.journey-overview > h2 { margin-bottom: 32px; }
    .journey-visual { padding: 18px; grid-template-columns: 1fr; gap: 8px; }.flow-card { min-height: 92px; }.flow-line { width: 2px; height: 18px; margin: auto; }
    .benefit-strip { padding: 60px 18px; }.benefit-strip article { min-width: 270px; }.resource-section { padding: 62px 20px; }.resource-pills a { min-width: 100%; }
    .integration-section { padding: 64px 20px; }.product-highlight { width: calc(100% - 36px); margin: 62px auto; gap: 34px; }.product-visual, .product-visual img { min-height: 320px; height: 320px; }
    .principles-section { padding: 60px 18px; }.principle-cards article { min-width: 270px; }.closing-banner { width: calc(100% - 36px); margin: 62px auto; padding: 44px 25px; }
    .site-footer { min-height: 0; }.footer-inner { width: calc(100% - 40px); padding-top: 45px; }.footer-brand { align-items: flex-start; flex-direction: column; gap: 18px; }.footer-columns { grid-template-columns: 1fr 1fr; gap: 35px 22px; }.footer-bottom { align-items: flex-start; flex-direction: column; }
}
.contact-page { width: min(calc(100% - 12vw), 1180px); min-height: 70vh; margin: 0 auto; padding: 90px 0; display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.contact-page h1 { margin: 0; font-size: clamp(40px, 4.2vw, 64px); line-height: 1.03; letter-spacing: -.05em; }
.contact-page > div > p:last-child { color: var(--muted); font-size: 16px; }
.contact-page form { padding: 35px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: var(--shadow); }
.contact-page label { display: grid; gap: 7px; color: var(--green); font-size: 12px; font-weight: 700; }
.contact-page input, .contact-page textarea, .contact-page select { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--green); background: #fff; font: inherit; }
.contact-page .wide { grid-column: 1 / -1; }
.privacy-content { width: min(calc(100% - 12vw), 980px); margin: 0 auto 90px; display: grid; gap: 0; }
.privacy-intro { margin: 0 0 28px; padding: 34px; border-radius: 22px; background: var(--green); color: #fff; font-size: 17px; line-height: 1.7; }
.privacy-content section { padding: 30px 4px; border-bottom: 1px solid var(--line); }
.privacy-content section h2 { margin: 0 0 12px; color: var(--green); font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -.025em; }
.privacy-content section p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.75; }
.privacy-content aside { margin-top: 38px; padding: 38px; border-radius: 24px; background: var(--lime); color: var(--green); }
.privacy-content aside h2 { margin: 0 0 8px; font-size: 28px; }
.privacy-content aside p { margin: 0 0 22px; }
.website-field { position: absolute; left: -10000px; }
.form-success { grid-column: 1 / -1; padding: 14px; border-radius: 10px; background: var(--green-soft); }
.form-error { color: #9d372b; }
@media (max-width: 760px) { .contact-page { width: calc(100% - 36px); padding: 55px 0; grid-template-columns: 1fr; gap: 35px; }.contact-page form { grid-template-columns: 1fr; padding: 24px; }.contact-page .wide { grid-column: auto; } }
@media (max-width: 760px) { .privacy-content { width: calc(100% - 36px); margin-bottom: 60px; }.privacy-intro, .privacy-content aside { padding: 25px; }.privacy-content section { padding: 25px 0; } }

/* Alluran configurable design system and editorial sections. */
body { --green: var(--brand-primary, #073b36); --green-dark: color-mix(in srgb, var(--green), #001f1b 28%); --paper: var(--brand-bg, #f6f7f6); color: var(--brand-primary, #073b36); }
.site-header { justify-content: space-between; }
.brand { width: var(--logo-width, 104px); }
.main-nav { margin: 0 clamp(34px, 6vw, 100px) 0 auto; }
.nav-group { position: relative; display: flex; align-items: center; }
.nav-group > a { padding: 14px 0; }
.submenu-toggle { width: 30px; height: 30px; padding: 0; border: 0; color: var(--green); background: transparent; cursor: pointer; }
.nav-group .dropdown { visibility: hidden; opacity: 0; transform: translateY(6px); transition: .2s ease; }
.nav-group:hover .dropdown, .nav-group:focus-within .dropdown, .nav-group.expanded .dropdown { visibility: visible; opacity: 1; transform: translateY(0); }
.dropdown { top: 45px; left: -20px; }
.dropdown a { color: var(--green); }
.solutions-showcase { padding-top: 16px; }
.showcase-heading { margin-bottom: 24px; display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.showcase-heading h2 { max-width: 690px; margin: 0; font-size: clamp(28px, 2.6vw, 42px); line-height: 1.08; letter-spacing: -.04em; }
.solution-color-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.solution-color-card { min-height: 222px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 22px; color: #fff; box-shadow: 0 14px 32px rgba(7, 59, 54, .10); transition: transform .25s ease, box-shadow .25s ease; }
.solution-color-card:hover, .solution-color-card:focus-visible { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(7, 59, 54, .18); }
.solution-number { font-size: 11px; font-weight: 800; letter-spacing: .18em; opacity: .8; }
.solution-color-card h3 { margin: 0 0 9px; font-size: 20px; line-height: 1.08; }
.solution-color-card p { min-height: 58px; margin: 0 0 18px; font-size: 11px; line-height: 1.5; color: rgba(255, 255, 255, .84); }
.solution-color-card strong { font-size: 11px; }
.card-coral { background: var(--brand-coral, #1b7465); }
.card-blue { background: var(--brand-blue, #2f6462); }
.card-green { color: var(--brand-primary, #073b36); background: var(--brand-secondary, #b7d65c); }
.card-green p { color: rgba(7, 59, 54, .78); }
.card-gold { background: var(--brand-gold, #657b47); }
.card-purple { background: #3f6255; }
.ecosystem-stage { min-height: 610px; margin: 70px 0; padding: 70px max(7vw, 40px); display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 80px; overflow: hidden; background: linear-gradient(120deg, #073b36, #20554e); color: #fff; }
.ecosystem-copy { max-width: 480px; justify-self: end; }
.ecosystem-copy .eyebrow { color: var(--brand-accent, #b7d65c); }
.ecosystem-copy h2 { margin: 0; font-size: clamp(38px, 4vw, 62px); line-height: 1.02; letter-spacing: -.045em; }
.ecosystem-copy > p:last-child { color: #d7e5e1; font-size: 16px; }
.ecosystem-map { width: min(570px, 44vw); aspect-ratio: 1; position: relative; justify-self: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: radial-gradient(circle, #052f2c 0 22%, rgba(116,153,145,.78) 22.5% 43%, rgba(244,248,246,.97) 43.5% 70%, transparent 70.5%); }
.ecosystem-core { position: absolute; inset: 36%; display: grid; place-items: center; color: #fff; font-size: clamp(24px, 3vw, 44px); font-weight: 800; }
.orbit-item { width: 32%; position: absolute; color: #073b36; font-size: 12px; font-weight: 750; text-align: center; }
.orbit-1 { top: 11%; left: 34%; }.orbit-2 { top: 31%; right: -1%; }.orbit-3 { bottom: 13%; right: 9%; }.orbit-4 { bottom: 13%; left: 9%; }.orbit-5 { top: 31%; left: -1%; }
.spotlight { padding-top: 0; padding-bottom: 0; display: grid; grid-template-columns: 1fr 1.1fr; overflow: hidden; border-radius: 34px; background: var(--green); color: #fff; }
.spotlight-image { min-height: 510px; overflow: hidden; border-radius: 0 18% 18% 0 / 0 48% 48% 0; }
.spotlight-image img { width: 100%; height: 100%; object-fit: cover; }
.spotlight-copy { padding: clamp(50px, 7vw, 96px); align-self: center; }
.spotlight-copy .eyebrow { color: var(--brand-accent, #b7d65c); }
.spotlight-copy h2 { margin: 0; font-size: clamp(34px, 3.5vw, 54px); line-height: 1.05; letter-spacing: -.04em; }
.spotlight-copy > p:not(.eyebrow) { color: #c8d8d5; font-size: 16px; }
.button-accent { color: var(--green); background: var(--brand-accent, #b7d65c); }
.button-accent:hover { color: #fff; }
.capabilities { width: min(calc(100% - 12vw), 1320px); margin: 85px auto; padding: 70px; border-radius: 36px; background: #082f2d; color: #fff; text-align: center; }
.capabilities .eyebrow { color: var(--brand-accent, #b7d65c); }
.capabilities h2 { max-width: 830px; margin: 0 auto 38px; font-size: clamp(34px, 3.5vw, 52px); line-height: 1.08; letter-spacing: -.04em; }
.capability-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.capability-pills span { padding: 13px 20px; border-radius: 999px; color: #fff; background: #184b47; font-size: 13px; }
.page-value, .page-duo, .page-columns, .faq-section { width: min(calc(100% - 12vw), 1180px); margin: 0 auto 70px; }
.page-value { padding: 48px; display: grid; grid-template-columns: 90px 1fr; gap: 42px; border: 1px solid var(--line); border-radius: 28px; background: #fff; color: var(--muted); font-size: 17px; }
.page-duo, .page-columns, .faq-section { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.page-panel { padding: 44px; border-radius: 26px; }
.page-panel h2, .page-columns h2, .faq-section h2, .feature-section h2 { margin: 0 0 22px; font-size: clamp(27px, 2.5vw, 39px); line-height: 1.08; letter-spacing: -.035em; }
.page-panel li { margin: 12px 0; color: var(--muted); }
.feature-section { padding: 76px max(7vw, 35px); margin: 80px 0; color: #fff; background: var(--green); text-align: center; }
.feature-section .eyebrow { color: var(--brand-accent, #b7d65c); }
.feature-pills { max-width: 1100px; margin: 32px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.feature-pills span { padding: 14px 21px; border-radius: 999px; background: #184b47; }
.page-columns > div { padding: 44px; }
.check-item { padding-left: 26px; position: relative; color: var(--muted); }
.check-item::before { content: '✓'; position: absolute; left: 0; color: var(--brand-secondary, #0f6b5d); font-weight: 900; }
.faq-section { align-items: start; }
.faq-section details { padding: 18px 0; border-bottom: 1px solid var(--line); }
.faq-section summary { cursor: pointer; font-weight: 750; }
.faq-section details p { color: var(--muted); }
.solution-cta { width: min(calc(100% - 12vw), 1180px); margin: 60px auto 90px; padding: 62px; border-radius: 30px; color: #fff; background: linear-gradient(115deg, var(--brand-blue, #2f6462), var(--green)); text-align: center; }
.solution-cta .eyebrow { color: var(--brand-accent, #b7d65c); }
.solution-cta h2 { max-width: 760px; margin: 0 auto 28px; font-size: clamp(33px, 3.4vw, 52px); line-height: 1.08; }
@media (max-width: 1000px) {
    .solution-color-grid { grid-template-columns: repeat(2, 1fr); }
    .ecosystem-stage { grid-template-columns: 1fr; }
    .ecosystem-copy { justify-self: center; text-align: center; }
    .ecosystem-map { width: min(570px, 76vw); }
    .spotlight { grid-template-columns: 1fr; }
    .spotlight-image { min-height: 390px; border-radius: 0 0 18% 18% / 0 0 20% 20%; }
}
@media (max-width: 680px) {
    body { --logo-width: min(var(--logo-width, 104px), 108px); }
    .main-nav { margin: 0; }
    .nav-group { display: grid; grid-template-columns: 1fr auto; }
    .nav-group .dropdown { grid-column: 1 / -1; visibility: hidden; opacity: 0; display: none; transform: none; }
    .nav-group.expanded .dropdown { visibility: visible; opacity: 1; display: grid; }
    .solutions-showcase { padding-top: 35px; }
    .showcase-heading { align-items: start; flex-direction: column; gap: 12px; }
    .solution-color-grid { grid-template-columns: 1fr; }
    .solution-color-card { min-height: 190px; }
    .ecosystem-stage { min-height: 0; margin: 45px 0; padding: 58px 20px; gap: 40px; }
    .ecosystem-map { width: min(420px, 92vw); }
    .orbit-item { font-size: 9px; }
    .spotlight { width: calc(100% - 36px); margin: 0 18px; border-radius: 25px; }
    .spotlight-image { min-height: 280px; }
    .spotlight-copy { padding: 38px 24px; }
    .capabilities { width: calc(100% - 36px); margin: 55px auto; padding: 48px 20px; }
    .page-value, .page-duo, .page-columns, .faq-section { width: calc(100% - 36px); grid-template-columns: 1fr; }
    .page-value { padding: 28px; }
    .page-panel, .page-columns > div { padding: 30px; }
    .solution-cta { width: calc(100% - 36px); padding: 45px 24px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
    main { opacity: 1; transform: none; }
}

/* Bling-inspired information architecture, expressed in the Alluran design system. */
.site-header { width: min(calc(100% - 48px), 1420px); height: 68px; margin: 14px auto -82px; padding: 0 18px 0 24px; top: 14px; border: 1px solid rgba(7, 59, 54, .08); border-radius: 36px; background: rgba(255, 255, 255, .98); box-shadow: 0 16px 42px rgba(3, 40, 35, .13); }
.site-header .brand { width: var(--logo-width, 104px); }
.main-nav { gap: 38px; margin: 0 24px 0 auto; }
.header-cta { min-height: 44px; padding: 11px 22px; border-radius: 999px; color: var(--brand-primary, #073b36); background: var(--brand-secondary, #b7d65c); font-size: 12px; font-weight: 800; white-space: nowrap; }
.mega-menu { width: min(calc(100vw - 48px), 1000px); padding: 24px; grid-template-columns: 1fr 1fr .82fr; gap: 12px; position: fixed; top: 94px; left: 50%; border: 1px solid rgba(7, 59, 54, .1); border-radius: 26px; transform: translate(-50%, 10px); box-shadow: 0 28px 70px rgba(3, 40, 35, .2); }
.mega-nav:hover .mega-menu, .mega-nav:focus-within .mega-menu, .mega-nav.expanded .mega-menu { transform: translate(-50%, 0); }
.mega-menu section { padding: 10px; display: grid; align-content: start; gap: 4px; }
.mega-label { margin: 0 0 8px 10px; color: #628079; font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.mega-menu section a { padding: 11px 12px; display: grid; gap: 3px; }
.mega-menu section a strong { font-size: 13px; }
.mega-menu section a small { max-width: 310px; overflow: hidden; color: #698079; font-size: 10px; font-weight: 450; line-height: 1.35; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.mega-menu aside { padding: 22px; border-radius: 18px; color: var(--brand-primary, #073b36); background: #edf4d8; }
.mega-menu aside .mega-label { margin-left: 0; color: #587041; }
.mega-menu aside strong { display: block; margin: 18px 0 7px; font-size: 20px; line-height: 1.1; }
.mega-menu aside p { margin: 0 0 22px; color: #53665a; font-size: 12px; }
.mega-menu aside a { color: var(--brand-primary, #073b36); font-size: 12px; font-weight: 850; }

.campaign-hero { min-height: 690px; padding: 132px max(5vw, 32px) 92px; overflow: hidden; color: #fff; background: radial-gradient(circle at 79% 30%, #1b6258 0, transparent 34%), var(--brand-primary, #073b36); }
.campaign-grid { width: min(100%, 1400px); margin: auto; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(50px, 7vw, 108px); }
.campaign-copy { max-width: 610px; }
.campaign-badge { display: inline-flex; margin-bottom: 34px; padding: 8px 14px; border: 1px solid var(--brand-secondary, #b7d65c); border-radius: 999px; color: var(--brand-secondary, #b7d65c); font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.campaign-copy .eyebrow { color: var(--brand-secondary, #b7d65c); }
.campaign-copy h1 { margin: 8px 0 22px; font-size: clamp(43px, 4vw, 66px); line-height: 1.01; letter-spacing: -.055em; }
.campaign-copy > p:not(.eyebrow) { max-width: 600px; color: #d0dfdc; font-size: 16px; }
.campaign-points { margin: 28px 0; display: flex; flex-wrap: wrap; gap: 8px; }
.campaign-points span { padding: 8px 12px; border-radius: 999px; color: #dce9e6; background: rgba(255, 255, 255, .09); font-size: 11px; }
.campaign-points span::first-letter { color: var(--brand-secondary, #b7d65c); }
.campaign-actions { display: flex; align-items: center; gap: 24px; }
.campaign-link { color: #fff; font-size: 12px; font-weight: 800; }
.campaign-visual { height: 490px; position: relative; }
.campaign-visual > img { width: 100%; height: 100%; object-fit: cover; border-radius: 48% 18% 38% 14% / 22% 18% 28% 20%; box-shadow: 0 35px 75px rgba(0, 0, 0, .24); }
.campaign-float { min-width: 190px; padding: 13px 15px; position: absolute; display: flex; align-items: center; gap: 11px; border-radius: 18px; color: var(--brand-primary, #073b36); background: rgba(255, 255, 255, .96); box-shadow: 0 18px 48px rgba(0, 0, 0, .17); }
.campaign-float > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #e7f1ee; font-weight: 850; }
.campaign-float strong, .campaign-float small { display: block; }
.campaign-float small { color: #6a817a; font-size: 10px; }
.float-top { top: 52px; right: -24px; }.float-bottom { bottom: 26px; left: -28px; }
.solution-ribbon { width: min(calc(100% - 10vw), 1400px); min-height: 84px; margin: -42px auto 0; padding: 20px 34px; position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-around; gap: 24px; border-radius: 42px; background: #fff; box-shadow: 0 16px 45px rgba(7, 59, 54, .11); }
.solution-ribbon a { color: #668079; font-size: 12px; font-weight: 750; text-align: center; }
.solution-ribbon a:hover { color: var(--brand-primary, #073b36); }

.performance-intro { max-width: 920px; margin: 0 auto; padding: 110px 30px 80px; text-align: center; }
.performance-intro h2 { margin: 8px 0 0; font-size: clamp(36px, 4vw, 58px); line-height: 1.04; letter-spacing: -.05em; }
.split-feature { min-height: 600px; display: grid; grid-template-columns: .96fr 1.04fr; color: #fff; background: var(--brand-primary, #073b36); }
.split-media { min-height: 600px; overflow: hidden; border-radius: 0 16% 16% 0 / 0 50% 50% 0; }
.split-media img { width: 100%; height: 100%; object-fit: cover; }
.split-copy { max-width: 680px; padding: clamp(70px, 8vw, 125px); align-self: center; }
.split-copy .eyebrow { color: var(--brand-secondary, #b7d65c); }
.split-copy h2 { margin: 10px 0 24px; font-size: clamp(39px, 4vw, 60px); line-height: 1.02; letter-spacing: -.05em; }
.split-copy > p:not(.eyebrow) { margin-bottom: 30px; color: #c9dad6; }

.journey-section { width: min(calc(100% - 6vw), 1500px); margin: 95px auto; padding: 78px clamp(30px, 6vw, 90px); border-radius: 54px; color: #fff; background: #052f2c; }
.journey-heading { max-width: 850px; margin: auto; text-align: center; }
.journey-heading .eyebrow { color: var(--brand-secondary, #b7d65c); }
.journey-heading h2 { margin: 8px 0 30px; font-size: clamp(37px, 4vw, 58px); line-height: 1.04; letter-spacing: -.05em; }
.journey-tabs { width: fit-content; margin: 0 auto 38px; display: flex; border-bottom: 2px solid rgba(255, 255, 255, .35); }
.journey-tabs button { min-width: 115px; padding: 13px 18px; position: relative; border: 0; color: #fff; background: transparent; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.journey-tabs button[aria-selected="true"] { color: var(--brand-secondary, #b7d65c); }
.journey-tabs button[aria-selected="true"]::after { content: ''; height: 4px; position: absolute; right: 0; bottom: -3px; left: 0; border-radius: 4px; background: var(--brand-secondary, #b7d65c); }
.journey-panels > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.journey-panels > div[hidden] { display: none; }
.journey-panels a, .journey-panels span { padding: 14px 20px; border: 1px solid rgba(183, 214, 92, .18); border-radius: 999px; color: #fff; background: #164842; font-size: 12px; font-weight: 720; }
.journey-panels a:hover { color: var(--brand-primary, #073b36); background: var(--brand-secondary, #b7d65c); }

.product-highlight { padding-top: 100px; padding-bottom: 100px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(55px, 9vw, 130px); }
.product-visual { min-height: 520px; position: relative; overflow: hidden; border-radius: 34px; background: #e7efec; }
.product-visual img { width: 100%; height: 520px; object-fit: cover; }
.product-visual::after { content: ''; position: absolute; inset: 58% 0 0; background: linear-gradient(transparent, rgba(183, 214, 92, .86)); }
.product-visual span { position: absolute; right: 0; bottom: 34px; left: 0; z-index: 1; color: var(--brand-primary, #073b36); font-size: 25px; font-weight: 850; text-align: center; }
.product-copy { max-width: 640px; }
.product-copy h2 { margin: 8px 0 24px; font-size: clamp(39px, 4vw, 59px); line-height: 1.04; letter-spacing: -.05em; }
.product-copy > p:not(.eyebrow) { margin-bottom: 30px; color: var(--muted); font-size: 16px; }
.closing-banner { width: min(calc(100% - 10vw), 1360px); margin: 25px auto 95px; padding: 76px 40px; border-radius: 50px; color: #fff; background: linear-gradient(118deg, var(--brand-primary, #073b36), #176459); text-align: center; }
.closing-banner .eyebrow { color: var(--brand-secondary, #b7d65c); }
.closing-banner h2 { max-width: 800px; margin: 8px auto 28px; font-size: clamp(37px, 4vw, 58px); line-height: 1.04; letter-spacing: -.05em; }

@media (max-width: 1050px) {
    .header-cta { display: none; }
    .campaign-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
    .campaign-visual { height: 420px; }
    .split-copy { padding: 70px 50px; }
}
@media (max-width: 900px) {
    .site-header { width: calc(100% - 28px); height: 64px; margin: 10px auto -74px; top: 10px; }
    .menu-toggle { display: block; margin-left: auto; }
    .main-nav { width: calc(100% - 28px); max-height: calc(100vh - 100px); overflow-y: auto; position: fixed; top: 84px; right: 14px; left: 14px; margin: 0; padding: 18px; border: 1px solid var(--line); border-radius: 22px; }
    .mega-menu { width: 100%; padding: 10px 0 0; grid-template-columns: 1fr; position: static; border: 0; transform: none; box-shadow: none; }
    .mega-nav:hover .mega-menu, .mega-nav:focus-within .mega-menu, .mega-nav.expanded .mega-menu { transform: none; }
    .mega-menu aside { display: none; }
    .campaign-hero { padding-top: 120px; }
    .campaign-grid, .split-feature, .product-highlight { grid-template-columns: 1fr; }
    .campaign-copy { max-width: 720px; }
    .campaign-visual { height: 450px; }
    .split-media { min-height: 430px; border-radius: 0 0 16% 16% / 0 0 18% 18%; }
    .split-copy { max-width: none; }
    .product-highlight { gap: 42px; }
}
@media (max-width: 680px) {
    .site-header { padding: 0 14px 0 18px; }
    .site-header .brand { width: 98px; }
    .main-nav { display: none; }
    .main-nav.open { display: grid; }
    .nav-group { display: grid; grid-template-columns: 1fr auto; }
    .nav-group .mega-menu { display: none; visibility: visible; opacity: 1; grid-column: 1 / -1; }
    .nav-group.expanded .mega-menu { display: grid; }
    .campaign-hero { min-height: 0; padding: 112px 20px 72px; }
    .campaign-copy h1 { font-size: clamp(40px, 12vw, 54px); }
    .campaign-badge { margin-bottom: 24px; font-size: 8px; }
    .campaign-points { display: grid; }
    .campaign-actions { align-items: flex-start; flex-direction: column; gap: 16px; }
    .campaign-visual { height: 330px; margin-top: 20px; }
    .campaign-float { min-width: 158px; padding: 9px 10px; }
    .float-top { top: 20px; right: -8px; }.float-bottom { bottom: -12px; left: -5px; }
    .solution-ribbon { width: calc(100% - 36px); margin-top: -30px; padding: 18px; justify-content: flex-start; overflow-x: auto; }
    .solution-ribbon a { min-width: 110px; }
    .performance-intro { padding: 80px 22px 60px; }
    .split-media { min-height: 320px; }
    .split-copy { padding: 52px 22px 62px; }
    .journey-section { width: calc(100% - 24px); margin: 58px auto; padding: 54px 18px; border-radius: 34px; }
    .journey-tabs { width: 100%; }
    .journey-tabs button { min-width: 0; flex: 1; padding: 12px 7px; }
    .journey-panels > div { display: grid; }
    .journey-panels a, .journey-panels span { text-align: center; }
    .product-highlight { padding-top: 65px; padding-bottom: 65px; }
    .product-visual, .product-visual img { min-height: 340px; height: 340px; }
    .closing-banner { width: calc(100% - 24px); margin-bottom: 65px; padding: 58px 22px; border-radius: 34px; }
}

/* Compact desktop composition and extended brand palette. */
:root { --sage: #dcebe4; --sky: #dfecef; --sand: #f2eadc; --lime: #a8d66d; }
@media (min-width: 901px) {
    .site-header { height: 76px; justify-content: space-between; }
    .brand { width: 104px; }
    .main-nav { gap: 34px; margin: 0; font-size: 13px; font-weight: 650; }
    .hero { min-height: 398px; padding-top: 30px; padding-bottom: 24px; grid-template-columns: minmax(390px, .88fr) minmax(520px, 1.12fr); gap: 52px; }
    .hero h1 { max-width: 570px; font-size: clamp(38px, 3.1vw, 50px); line-height: 1.07; }
    .hero .eyebrow { margin-bottom: 15px; font-size: 10px; }
    .lead { margin: 17px 0 20px; font-size: 14px; line-height: 1.55; }
    .button { min-height: 46px; padding: 11px 23px; font-size: 12px; }
    .hero-visual { height: 356px; }
    .float-card { min-width: 174px; padding: 10px 12px; }
    .card-icon { width: 30px; height: 30px; }
    .solutions { padding-top: 10px; padding-bottom: 28px; }
    .solution-card { min-height: 148px; padding: 16px; }
    .solution-icon { width: 36px; height: 36px; }
    .solution-icon svg { width: 19px; height: 19px; }
    .solution-card h3 { margin-top: 10px; font-size: 13px; }
}
.ecosystem { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 8vw, 120px); align-items: center; }
.ecosystem-intro h2, .value-band h2 { margin: 0; font-size: clamp(30px, 3vw, 46px); line-height: 1.08; letter-spacing: -.04em; }
.ecosystem-intro > p:not(.eyebrow) { color: var(--muted); font-size: 15px; }
.journey-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.journey-card { min-height: 230px; padding: 24px; border-radius: 22px; }
.journey-card > span { font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.journey-card h3 { margin: 70px 0 7px; font-size: 22px; }
.journey-card p { margin: 0; color: var(--muted); font-size: 13px; }
.tone-sage { background: var(--sage); }
.tone-sky { background: var(--sky); }
.tone-sand { background: var(--sand); }
.value-band { width: min(calc(100% - 12vw), 1320px); margin: 24px auto 80px; padding: 52px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 75px; border-radius: 26px; background: var(--green); color: #fff; }
.value-band .eyebrow { color: var(--lime); }
.value-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.value-points p { margin: 0; }
.value-points strong, .value-points span { display: block; }
.value-points strong { margin-bottom: 9px; color: #fff; font-size: 14px; }
.value-points span { color: #c9dbd8; font-size: 12px; line-height: 1.55; }
@media (max-width: 900px) {
    .ecosystem, .value-band { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .journey-grid, .value-points { grid-template-columns: 1fr; }
    .journey-card { min-height: 170px; }
    .journey-card h3 { margin-top: 35px; }
    .value-band { width: calc(100% - 36px); margin-bottom: 55px; padding: 40px 24px; gap: 35px; }
}

/* Refinamento de leitura: contornos mais leves e tipografia menos rígida. */
h1, h2, h3 { font-weight: 700; }
p, li, small { font-weight: 400; }
.main-nav, .header-cta, .button, .campaign-link, .mega-menu strong,
.solution-card a, .solution-color-card a, .journey-tabs button,
.journey-panels a { font-weight: 650; }
.solution-card, .page-body, .page-value, .contact-page form,
.mega-menu, .ecosystem-map { border-color: rgba(7, 59, 54, .10); }
.solution-card, .journey-card, .principle-cards article,
.page-panel, .contact-page form { box-shadow: 0 10px 30px rgba(7, 59, 54, .055); }
