.custom-product-page {
    background: #f7fbfe;
}

.custom-product-hero .carousel-img {
    object-position: center center;
    filter: saturate(1.05) brightness(0.82);
}

.custom-product-mobile-break {
    display: none;
}

.custom-product-hero-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.custom-product-hero-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.26);
    background: rgba(6, 36, 51, 0.28);
    color: #eefaff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}

.custom-product-modern-sections {
    width: min(1240px, calc(100% - 64px));
    margin: 56px auto 72px;
}

.custom-product-modern-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(440px, 0.95fr);
    gap: 36px;
    align-items: center;
    padding: 40px;
    margin-top: 28px;
    border: 1px solid #d7edf8;
    border-radius: 12px;
    background: linear-gradient(135deg, #fbfeff 0%, #f0f9ff 100%);
    box-shadow: 0 18px 52px rgba(11, 158, 217, 0.10);
}

.custom-product-modern-section:first-child {
    margin-top: 0;
}

.custom-product-modern-section-reverse .custom-product-copy {
    order: 2;
}

.custom-product-modern-section-reverse .custom-product-visual {
    order: 1;
}

.custom-product-copy {
    min-width: 0;
}

.custom-product-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 13px;
    margin-bottom: 16px;
    border-radius: 999px;
    background: #e4f8ff;
    color: #0878a8;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.custom-product-copy h2,
.custom-product-band-head h2,
.custom-product-final-cta h2 {
    margin: 0;
    color: #052633;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.25;
}

.custom-product-lead,
.custom-product-band-head p,
.custom-product-final-cta p {
    margin: 16px 0 24px;
    color: #486b7b;
    font-size: 18px;
    line-height: 1.75;
}

.custom-product-point-list {
    display: grid;
    gap: 12px;
}

.custom-product-point {
    padding: 16px 18px;
    border: 1px solid #d7edf8;
    border-radius: 8px;
    background: #f5fcff;
}

.custom-product-point strong {
    display: block;
    margin-bottom: 6px;
    color: #052633;
    font-size: 18px;
    line-height: 1.35;
}

.custom-product-point span {
    display: block;
    color: #557283;
    font-size: 15px;
    line-height: 1.65;
}

.custom-product-visual {
    min-width: 0;
}

.custom-product-loss-map {
    display: grid;
    gap: 14px;
    padding: 28px;
    border-radius: 12px;
    background: linear-gradient(180deg, #eaf8ff 0%, #ffffff 100%);
    border: 1px solid #cae9f7;
}

.loss-node {
    position: relative;
    padding: 16px 18px 16px 52px;
    border-radius: 8px;
    border: 1px solid #d7edf8;
    background: #ffffff;
    color: #052633;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.35;
}

.loss-node::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 22px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #0b9ed9;
    box-shadow: 0 0 0 7px #e4f8ff;
}

.loss-node:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 25px;
    top: 42px;
    bottom: -24px;
    width: 2px;
    background: #b9e7f7;
}

.loss-node span {
    display: block;
    margin-top: 6px;
    color: #557283;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
}

.loss-node.is-hot {
    background: #eaf9ff;
}

.custom-product-shot {
    padding: 16px;
    border-radius: 12px;
    background: #ecf9ff;
    border: 1px solid #cae9f7;
    overflow: hidden;
}

.custom-product-shot img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid #d7edf8;
    background: #ffffff;
}

.custom-product-shot-desktop img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: top left;
}

.custom-product-visual figcaption {
    margin-top: 12px;
    color: #557283;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

.custom-product-phone-shot {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 22px;
    border-radius: 12px;
    border: 1px solid #cae9f7;
    background: linear-gradient(180deg, #eaf8ff 0%, #ffffff 100%);
}

.custom-product-phone-shot img {
    display: block;
    width: min(320px, 100%);
    max-height: 620px;
    border-radius: 22px;
    border: 8px solid #123041;
    object-fit: cover;
    object-position: top center;
    box-shadow: 0 18px 42px rgba(5, 38, 51, 0.18);
}

.custom-product-industry-band,
.custom-product-process,
.custom-product-final-cta {
    width: min(1240px, calc(100% - 64px));
    margin: 0 auto 72px;
}

.custom-product-industry-band,
.custom-product-process {
    padding: 44px 40px;
    border-radius: 12px;
    border: 1px solid #d7edf8;
    background: #ffffff;
}

.custom-product-band-head {
    max-width: 820px;
}

.custom-product-band-head p {
    margin-bottom: 0;
}

.custom-product-industry-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 30px;
}

.custom-product-industry-grid div,
.custom-product-process-grid div {
    min-width: 0;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #d7edf8;
    background: #f6fcff;
}

.custom-product-industry-grid strong,
.custom-product-process-grid strong {
    display: block;
    color: #052633;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.35;
}

.custom-product-industry-grid span,
.custom-product-industry-grid em,
.custom-product-process-grid p {
    display: block;
    margin-top: 10px;
    color: #557283;
    font-size: 15px;
    font-style: normal;
    line-height: 1.65;
}

.custom-product-industry-grid em {
    color: #0878a8;
    font-weight: 700;
}

.custom-product-process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-top: 30px;
}

.custom-product-process-grid span {
    display: inline-flex;
    margin-bottom: 14px;
    color: #0b9ed9;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
}

.custom-product-final-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    padding: 42px 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #052633 0%, #07506b 100%);
}

.custom-product-final-cta div {
    max-width: 780px;
}

.custom-product-final-cta h2,
.custom-product-final-cta p {
    color: #f3fbff;
}

.custom-product-final-cta p {
    margin-bottom: 0;
    opacity: 0.82;
}

.custom-product-final-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 132px;
    height: 48px;
    padding: 0 24px;
    border-radius: 6px;
    background: #0b9ed9;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    transition: transform 0.24s ease, background 0.24s ease;
}

.custom-product-final-cta a:hover {
    background: #16afe8;
    transform: translateY(-2px);
}
