:root{
    --obps-navy:#0d3f79;
    --obps-blue:#1d5fa9;
    --obps-magenta:#d70b86;
    --obps-purple:#712aa8;
    --obps-ink:#0c1e3a;
    --obps-text:#66758a;
    --obps-line:#e3e9f1;
    --obps-soft:#f7f9fc;
}

.ob-partner-solutions-page{
    background:#fff!important;
    color:var(--obps-ink)!important;
}

.ob-partner-solutions-page .ob-eyebrow{
    color:var(--obps-magenta);
    font-weight:800;
    letter-spacing:.14em;
}

.ob-ps-hero{
    padding:72px 0 84px;
    background:
        radial-gradient(circle at 92% 8%,rgba(215,11,134,.10),transparent 30%),
        radial-gradient(circle at 10% 88%,rgba(29,95,169,.08),transparent 30%),
        linear-gradient(135deg,#fbfdff 0%,#fff 56%,#fff9fc 100%);
}

.ob-ps-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(420px,.85fr);
    gap:68px;
    align-items:center;
}

.ob-ps-hero-copy h1{
    margin:16px 0 22px;
    max-width:11ch;
    color:var(--obps-navy);
    font-size:clamp(3.2rem,5.1vw,6rem);
    line-height:.98;
    letter-spacing:-.055em;
}

.ob-ps-hero-copy h1 span{
    color:var(--obps-magenta);
}

.ob-ps-hero-copy>p{
    max-width:58ch;
    margin:0;
    color:var(--obps-text);
    font-size:1.06rem;
    line-height:1.78;
}

.ob-ps-audience-line{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:28px 0 0;
}

.ob-ps-audience-line span{
    padding:9px 12px;
    border:1px solid #dde5ef;
    border-radius:999px;
    background:rgba(255,255,255,.85);
    color:#51637b;
    font-size:.78rem;
    font-weight:700;
}

.ob-ps-actions{
    margin-top:30px!important;
}

.ob-ps-architecture{
    position:relative;
    display:grid;
    gap:10px;
    padding:28px;
    border:1px solid rgba(21,60,112,.10);
    border-radius:30px;
    background:rgba(255,255,255,.94);
    box-shadow:0 28px 80px rgba(25,54,99,.10);
}

.ob-ps-architecture-card{
    padding:18px 20px;
    border:1px solid #e3e9f2;
    border-radius:18px;
    background:#fff;
}

.ob-ps-architecture-card small{
    display:block;
    margin-bottom:6px;
    color:#8b98aa;
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.13em;
}

.ob-ps-architecture-card strong{
    display:block;
    color:var(--obps-navy);
    font-size:1.02rem;
    line-height:1.35;
}

.ob-ps-architecture-card.is-brand{
    background:linear-gradient(135deg,#fff6fb,#fff);
    border-color:#f0d7e7;
}

.ob-ps-architecture-card.is-experience{
    background:linear-gradient(135deg,#f7fbff,#fff);
}

.ob-ps-architecture-card.is-offersbeat{
    background:linear-gradient(135deg,#123f79,#702b9e 60%,#d20c84);
    border:0;
    box-shadow:0 16px 36px rgba(87,39,131,.18);
}

.ob-ps-architecture-card.is-offersbeat small,
.ob-ps-architecture-card.is-offersbeat strong{
    color:#fff;
}

.ob-ps-architecture-card.is-network{
    background:#f7fbf9;
    border-color:#dbece4;
}

.ob-ps-architecture-arrow{
    color:#8ba0b9;
    text-align:center;
    font-size:1.15rem;
    line-height:1;
}

.ob-ps-statement{
    padding:0 0 26px;
    background:#fff;
}

.ob-ps-statement-card{
    padding:34px 38px;
    border:1px solid #e2e8f1;
    border-radius:26px;
    background:linear-gradient(120deg,#f8fbff,#fff 58%,#fff7fb);
}

.ob-ps-statement-card h2{
    max-width:900px;
    margin:12px 0 14px;
    color:var(--obps-navy);
    font-size:clamp(2rem,3.6vw,3.5rem);
    line-height:1.08;
    letter-spacing:-.04em;
}

.ob-ps-statement-card p{
    max-width:820px;
    margin:0;
    color:var(--obps-text);
    font-size:.98rem;
    line-height:1.75;
}

.ob-ps-modes{
    background:#fff;
}

.ob-ps-modes .ob-section-heading p{
    max-width:700px;
}

.ob-ps-mode-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.ob-ps-mode-grid article{
    min-height:285px;
    padding:28px;
    border:1px solid var(--obps-line);
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 36px rgba(16,54,105,.04);
}

.ob-ps-mode-icon{
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    margin-bottom:34px;
    border-radius:14px;
    background:linear-gradient(135deg,#f4e9ff,#ffedf7);
    color:var(--obps-magenta);
    font-size:.78rem;
    font-weight:800;
}

.ob-ps-mode-grid h3{
    margin:0 0 14px;
    color:var(--obps-navy);
    font-size:1.4rem;
    line-height:1.22;
    letter-spacing:-.025em;
}

.ob-ps-mode-grid p{
    margin:0;
    color:var(--obps-text);
    font-size:.94rem;
    line-height:1.75;
}

.ob-ps-audiences{
    background:var(--obps-soft);
}

.ob-ps-audiences-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:54px;
    align-items:start;
}

.ob-ps-audience-copy h2{
    margin:14px 0 18px;
    max-width:12ch;
    color:var(--obps-navy);
    font-size:clamp(2.3rem,4.2vw,4.5rem);
    line-height:1.02;
    letter-spacing:-.045em;
}

.ob-ps-audience-copy p{
    max-width:58ch;
    margin:0;
    color:var(--obps-text);
    line-height:1.75;
}

.ob-ps-audience-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.ob-ps-audience-cards article{
    min-height:170px;
    padding:22px;
    border:1px solid var(--obps-line);
    border-radius:20px;
    background:#fff;
}

.ob-ps-audience-cards strong{
    display:block;
    margin-bottom:10px;
    color:var(--obps-navy);
    font-size:1rem;
    line-height:1.35;
}

.ob-ps-audience-cards span{
    color:#748399;
    font-size:.83rem;
    line-height:1.6;
}

.ob-ps-growth{
    background:#fff;
}

.ob-ps-growth-card{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:40px;
    padding:40px;
    border:1px solid #e3e9f1;
    border-radius:28px;
    background:linear-gradient(135deg,#fafcff,#fff 55%,#fff7fb);
}

.ob-ps-growth-card h2{
    margin:14px 0 16px;
    color:var(--obps-navy);
    font-size:clamp(2.25rem,4vw,4.4rem);
    line-height:1.02;
    letter-spacing:-.045em;
}

.ob-ps-growth-card p{
    margin:0;
    color:var(--obps-text);
    line-height:1.75;
}

.ob-ps-growth-tags{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-content:center;
}

.ob-ps-growth-tags span{
    padding:17px 18px;
    border:1px solid #e0e7f0;
    border-radius:16px;
    background:#fff;
    color:#234772;
    font-size:.88rem;
    font-weight:800;
    text-align:center;
}

.ob-ps-final-cta{
    padding:20px 0 90px;
    background:#fff;
}

.ob-ps-final-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:32px;
    align-items:center;
    padding:42px;
    border-radius:28px;
    background:linear-gradient(120deg,#0d3f79 0%,#1a4d91 45%,#7429a2 72%,#cf0b82 100%);
    box-shadow:0 24px 70px rgba(35,58,112,.18);
}

.ob-ps-final-card .ob-eyebrow,
.ob-ps-final-card h2,
.ob-ps-final-card p{
    color:#fff;
}

.ob-ps-final-card h2{
    max-width:13ch;
    margin:14px 0 14px;
    font-size:clamp(2.3rem,4vw,4.2rem);
    line-height:1.03;
    letter-spacing:-.045em;
}

.ob-ps-final-card p{
    max-width:54ch;
    margin:0;
    opacity:.88;
    line-height:1.7;
}

.ob-ps-final-card .ob-primary-button{
    background:#fff!important;
    color:var(--obps-navy)!important;
    box-shadow:none!important;
}

@media(max-width:1040px){
    .ob-ps-hero-grid,
    .ob-ps-audiences-grid,
    .ob-ps-growth-card{
        grid-template-columns:1fr;
    }
    .ob-ps-architecture{
        max-width:720px;
    }
    .ob-ps-audience-copy h2{
        max-width:16ch;
    }
    .ob-ps-final-card{
        grid-template-columns:1fr;
        justify-items:start;
    }
}

@media(max-width:720px){
    .ob-ps-hero{
        padding:44px 0 60px;
    }
    .ob-ps-hero-grid{
        gap:34px;
    }
    .ob-ps-hero-copy h1{
        max-width:12ch;
        margin:12px 0 16px;
        font-size:clamp(2.65rem,12vw,4.1rem);
        line-height:1.01;
    }
    .ob-ps-hero-copy>p{
        font-size:.96rem;
        line-height:1.66;
    }
    .ob-ps-audience-line{
        margin-top:22px;
        gap:7px;
    }
    .ob-ps-audience-line span{
        padding:8px 10px;
        font-size:.72rem;
    }
    .ob-ps-actions{
        display:grid!important;
        gap:14px!important;
    }
    .ob-ps-actions .ob-primary-button{
        width:100%;
        justify-content:center;
    }
    .ob-ps-architecture{
        padding:18px;
        border-radius:24px;
    }
    .ob-ps-architecture-card{
        padding:16px;
    }
    .ob-ps-statement-card{
        padding:26px 22px;
        border-radius:22px;
    }
    .ob-ps-statement-card h2{
        font-size:2.1rem;
    }
    .ob-ps-mode-grid,
    .ob-ps-audience-cards,
    .ob-ps-growth-tags{
        grid-template-columns:1fr;
    }
    .ob-ps-mode-grid article{
        min-height:0;
        padding:24px 22px;
    }
    .ob-ps-mode-icon{
        margin-bottom:24px;
    }
    .ob-ps-audience-copy h2,
    .ob-ps-growth-card h2{
        max-width:none;
        font-size:2.4rem;
    }
    .ob-ps-audience-cards article{
        min-height:0;
    }
    .ob-ps-growth-card{
        padding:26px 22px;
        border-radius:23px;
    }
    .ob-ps-final-cta{
        padding:10px 0 64px;
    }
    .ob-ps-final-card{
        padding:28px 22px;
        border-radius:24px;
    }
    .ob-ps-final-card h2{
        max-width:none;
        font-size:2.45rem;
    }
    .ob-ps-final-card .ob-primary-button{
        width:100%;
        justify-content:center;
    }
}

@media(max-width:480px){
    .ob-ps-hero{
        padding-top:34px;
    }
    .ob-ps-hero-copy h1{
        font-size:2.65rem;
    }
    .ob-ps-architecture-card strong{
        font-size:.92rem;
    }
    .ob-ps-statement-card h2,
    .ob-ps-audience-copy h2,
    .ob-ps-growth-card h2,
    .ob-ps-final-card h2{
        font-size:2.1rem;
    }
}


/* Frontend V4 — White-label as attributed hotel distribution surface */
.ob-ps-hotel-distribution{background:linear-gradient(180deg,#fff,#f7f9fc 100%)}
.ob-ps-hotel-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch;margin-top:30px}.ob-ps-hotel-flow>article{padding:25px;border:1px solid var(--obps-line);border-radius:19px;background:#fff;box-shadow:0 10px 30px rgba(13,63,121,.045)}.ob-ps-hotel-flow>article>span{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:linear-gradient(135deg,#f6e8f3,#edf4fb);color:#a91379;font-size:.65rem;font-weight:900}.ob-ps-hotel-flow strong{display:block;margin:26px 0 8px;color:var(--obps-navy);font-size:1.03rem;line-height:1.35}.ob-ps-hotel-flow p{margin:0;color:var(--obps-text);font-size:.82rem;line-height:1.7}.ob-ps-hotel-flow>b{display:grid;place-items:center;color:#aab8ca;font-size:1.2rem}.ob-ps-distribution-note{max-width:1000px;margin:16px 2px 0!important;color:#8792a2!important;font-size:.72rem!important;line-height:1.65!important}
@media(max-width:900px){.ob-ps-hotel-flow{grid-template-columns:1fr}.ob-ps-hotel-flow>b{display:none}}
