.page-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:linear-gradient(110deg,#f6fcff,#e8f7fd);min-height:370px;overflow:hidden;}.page-hero>div{padding:45px 7% 45px 11%}.page-hero h1{font-size:clamp(34px,3.3vw,60px);line-height:1.06;letter-spacing:-1.8px}.page-hero p{font-size:18px;line-height:1.45;max-width:680px}.page-hero .eyebrow{font-size:12px}.page-hero>img{width:100%;height:100%;min-height:370px;max-height:490px;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 12%)}.page-section{padding:45px 6%;max-width:1600px;margin:auto}.page-section>p{font-size:17px;max-width:850px;margin:12px 0 24px}.page-section h2{font-size:32px}.cards{display:grid;gap:20px;margin-top:24px}.four{grid-template-columns:repeat(4,1fr)}.three{grid-template-columns:repeat(3,1fr)}.info-card{padding:25px;border:1px solid #dceafa;border-radius:10px;background:linear-gradient(130deg,#fff,#f2faff);display:block}.info-card h3{font-size:20px;margin:10px 0}.info-card p{font-size:16px;line-height:1.45}.info-card span,.info-card i{color:#0062ff}.info-card span{display:block;margin-top:22px}.info-card i{font-size:40px}.info-card:hover{border-color:#9fcfff}a.info-card:hover{box-shadow:0 8px 30px #b6d9f450}.photo-card{padding:8px 8px 18px}.photo-card img{width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:5px}.photo-card h3{padding:0 10px}.solution-list{margin-top:28px;display:grid;gap:12px}.solution{border:1px solid #d0e7fc;border-radius:9px;background:#f9fcff}.solution summary{display:flex;align-items:center;gap:22px;padding:20px 26px;cursor:pointer;list-style:none}.solution summary::-webkit-details-marker{display:none}.solution summary strong{font-size:20px}.solution small{display:block;font-size:15px;color:var(--muted);margin-top:5px}.module-icon{font-size:39px;color:#00bdaa;width:50px}.color-1,.color-4,.color-5{color:#0064ff}.color-2{color:#ef9b00}.color-3{color:#9215e7}.toggle{margin-left:auto;border-radius:50%;background:#eaf4ff;color:#0065ff;font-size:26px;padding:0 10px}.solution[open] .toggle{font-size:0}.solution[open] .toggle:after{content:'−';font-size:26px}.solution-body{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:20px 30px 30px}.solution-body h2{font-size:27px}.solution-body p{margin:15px 0}.solution-body ul{background:#edf8ff;border-radius:8px;padding:25px 45px;line-height:2.8;color:#23447c}.ecosystem-panel{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#effaff;border-radius:18px}.ecosystem-links{display:grid;gap:10px}.ecosystem-links .info-card{padding:15px 24px}.page-cta{background:linear-gradient(120deg,#e6f6ff,#f4fcff);padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}.page-cta h2{font-size:29px}.page-cta p{margin-top:8px}.support-band{background:#e9f8ff;padding:40px 6%}.support-band p{margin:10px 0 24px}.search{width:100%;max-width:620px;margin-top:15px;padding:16px 22px;border:1px solid #bedcfd;border-radius:30px;background:#fff;font:inherit;color:var(--ink)}.faq-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:30px}.category{padding:20px 12px;border-radius:8px;border:1px solid #dfebf9;background:#f0f8ff;display:flex;flex-direction:column;gap:10px;align-items:center}.category b{font-size:30px;color:#0064ff}.category small{color:var(--muted)}.category.selected{border-color:#0064ff;box-shadow:inset 0 -4px #0064ff}.faq-layout{display:grid;grid-template-columns:2.4fr 1fr;gap:25px;align-items:start}.faq-group h2{font-size:25px;margin-bottom:20px}.faq-item{border:1px solid #d8eafa;border-radius:8px;margin-bottom:10px;background:#f7fcff}.faq-item summary{padding:18px;cursor:pointer;font-weight:600;line-height:1.4}.faq-item p{padding:0 22px 18px;line-height:1.6}.coming{padding:90px 6%}.coming i{color:#0062ff;font-size:80px;font-style:normal}.coming p{margin:20px auto}.section-tabs{display:flex;gap:30px;padding:20px 6%;border-bottom:1px solid #dfecf5}.section-tabs a{color:#0064ff}.about-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:25px}.about-grid p{line-height:1.55;margin:15px 0}.about-grid .info-card{margin-bottom:15px}.about-grid h4{margin-bottom:0}.contact-layout{display:grid;grid-template-columns:2.1fr 1fr;gap:25px;align-items:start}.contact-layout aside .info-card{margin-bottom:20px}.contact-layout aside .outline{margin-top:10px;padding:12px;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}label{font-size:14px;font-weight:600}input,textarea,select{font:inherit}.form-grid input,.form-grid textarea,.form-grid select{display:block;width:100%;padding:12px;border:1px solid #c9dcef;background:white;border-radius:5px;margin-top:8px;color:var(--ink)}.wide{grid-column:1/-1}#contact-status{margin-top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.module-link{color:#005bff;font-size:14px;display:block;margin-top:10px}footer p{font-size:12px;margin-top:10px}header nav{gap:clamp(12px,1.6vw,28px)}header nav .outline{margin-left:0}header .logo{max-width:180px}footer{font-size:12px}footer a,footer button{font-size:12px;line-height:1.6}@media(max-width:1000px){.four{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr 1fr}.about-grid>article:first-child{grid-column:1/-1}.page-hero h1{font-size:38px}.page-hero p{font-size:16px}.faq-categories{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.page-hero{grid-template-columns:1fr}.page-hero>div{padding:35px 6%}.page-hero>img{min-height:220px;max-height:280px;mask-image:linear-gradient(180deg,transparent,#000 10%)}.page-section{padding:30px 6%}.page-section h2{font-size:27px}.three,.ecosystem-panel,.faq-layout,.contact-layout,.solution-body,.about-grid{grid-template-columns:1fr}.faq-categories{grid-template-columns:repeat(2,1fr)}.solution summary{padding:16px;gap:12px}.solution summary strong{font-size:17px}.solution small{font-size:13px}.solution-body{padding:18px;gap:15px}.solution-body ul{margin:0}.page-cta{flex-direction:column;align-items:start;padding:28px 6%}.page-cta h2{font-size:26px}.section-tabs{gap:20px;overflow:auto}.about-grid>article:first-child{grid-column:auto}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.cards{gap:14px}.info-card{padding:18px}.info-card h3{font-size:18px}header nav{gap:10px}.page-hero .primary,.page-hero .outline{margin-top:10px}}@media(max-width:420px){.four{grid-template-columns:1fr}.page-hero h1{font-size:34px}}

/* Shared page typography — match homepage eyebrow (12px) site-wide */
.page-hero .eyebrow,
.eyebrow {
    font-size: 12px !important;
    letter-spacing: 1.6px !important;
    font-weight: 700 !important;
    color: #6173a6 !important;
}

.page-hero h1 {
    font-size: clamp(36px, 4vw, 48px) !important;
    letter-spacing: -1.4px !important;
    line-height: 1.08 !important;
}

.page-hero p:not(.eyebrow) {
    font-size: 17px !important;
    line-height: 1.45 !important;
}

.page-section h2,
.page-cta h2 {
    font-size: clamp(26px, 2.4vw, 32px) !important;
}

.page-section > p,
.page-cta p {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

.info-card h3 {
    font-size: 18px !important;
}

.info-card p {
    font-size: 15px !important;
    line-height: 1.45 !important;
}

/*
  Shared page hero — solutions.php is the reference for all pages.
  Same left edge as site header (1280), same copy/image split.
*/
main > .page-hero {
    display: grid !important;
    grid-template-columns: minmax(320px, 640px) minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 370px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: max(var(--page-gutter), calc((100% - var(--page-max)) / 2)) !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: linear-gradient(110deg, #f6fcff, #e8f7fd) !important;
}

main > .page-hero > div {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 40px 36px 40px 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 1 !important;
}

main > .page-hero h1 .hero-line {
    white-space: nowrap;
}

main > .page-hero > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 370px !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center right !important;
    mask-image: linear-gradient(90deg, transparent 0%, #000 8%) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%) !important;
    border-radius: 0 !important;
}

main > .page-hero .search,
main > .page-hero .ni-search {
    margin-top: 18px;
    max-width: 480px;
}

.page-section,
.page-cta,
.support-band,
.section-tabs {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: max(var(--page-gutter), calc((100% - var(--page-max)) / 2)) !important;
    padding-right: max(var(--page-gutter), calc((100% - var(--page-max)) / 2)) !important;
    box-sizing: border-box !important;
}

.page-section {
    padding-top: clamp(40px, 5vw, 56px) !important;
    padding-bottom: clamp(40px, 5vw, 56px) !important;
}

.page-cta {
    padding-top: clamp(32px, 4vw, 48px) !important;
    padding-bottom: clamp(32px, 4vw, 48px) !important;
}

@media (max-width: 760px) {
    main > .page-hero {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    main > .page-hero > div {
        padding: 32px 0 24px !important;
    }

    main > .page-hero h1 .hero-line {
        white-space: normal;
    }

    main > .page-hero > img {
        min-height: 220px !important;
        max-height: 280px !important;
        mask-image: linear-gradient(180deg, transparent, #000 12%) !important;
        -webkit-mask-image: linear-gradient(180deg, transparent, #000 12%) !important;
    }

    .page-section,
    .page-cta,
    .support-band {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}
