:root {
    --ob-ink: #0b1020;
    --ob-ink-2: #171d31;
    --ob-muted: #6f7689;
    --ob-soft: #f5f6f9;
    --ob-line: #e6e8ef;
    --ob-white: #ffffff;
    --ob-blue: #3157ff;
    --ob-violet: #7448ff;
    --ob-magenta: #cf35e7;
    --ob-green: #13a875;
    --ob-red: #d94255;
    --ob-night: #070a14;
    --ob-night-2: #0d1222;
    --ob-shadow: 0 28px 90px rgba(8, 13, 31, .14);
    --ob-shadow-soft: 0 16px 45px rgba(14, 20, 44, .08);
    --ob-radius: 28px;
    --ob-radius-sm: 16px;
    --ob-shell: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ob-ink);
    background: #fff;
    font-family: 'Manrope', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.ob-screen-reader { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.ob-shell { width:min(calc(100% - 42px), var(--ob-shell)); margin-inline:auto; }
.ob-noise { position:fixed; inset:0; z-index:200; pointer-events:none; opacity:.018; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }

/* Header */
.ob-header {
    position: sticky;
    top: 0;
    z-index: 80;
    background: rgba(7, 10, 20, .86);
    border-bottom: 1px solid rgba(255,255,255,.07);
    backdrop-filter: blur(20px);
}
.ob-header-inner { min-height: 70px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ob-brand { display:inline-flex; align-items:center; gap:11px; color:#fff; text-decoration:none; }
.ob-brand-mark {
    width: 34px; height: 34px; border-radius: 11px;
    background: linear-gradient(145deg, var(--ob-blue), var(--ob-violet) 52%, var(--ob-magenta));
    display:flex; align-items:flex-end; justify-content:center; gap:3px; padding:8px 7px;
    box-shadow: 0 10px 26px rgba(116,72,255,.32), inset 0 0 0 1px rgba(255,255,255,.15);
    transform: rotate(-3deg);
}
.ob-brand-mark > span { width:4px; border-radius:999px; background:#fff; display:block; }
.ob-brand-mark > span:nth-child(1){height:8px}.ob-brand-mark > span:nth-child(2){height:18px}.ob-brand-mark > span:nth-child(3){height:12px}
.ob-brand-word { font-size:20px; font-weight:800; letter-spacing:-.8px; }
.ob-brand-word > span { color:#9b7bff; }
.ob-nav { display:flex; align-items:center; gap:25px; }
.ob-nav-link { border:0; background:transparent; color:#aeb5c8; font-size:12px; font-weight:700; padding:8px 0; transition:.2s; }
.ob-nav-link:hover { color:#fff; }
.ob-lang { display:flex; padding:3px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.055); border-radius:999px; }
.ob-lang button { border:0; background:transparent; color:#8f98ae; font-size:10px; font-weight:800; border-radius:999px; padding:7px 9px; }
.ob-lang button.is-active { background:#fff; color:#11172a; box-shadow:0 4px 12px rgba(0,0,0,.18); }

/* Hero */
.ob-hero {
    position:relative;
    overflow:hidden;
    min-height: calc(100vh - 70px);
    padding: 50px 0 62px;
    color:#fff;
    background:
        radial-gradient(circle at 18% 6%, rgba(49,87,255,.20), transparent 27%),
        radial-gradient(circle at 84% 24%, rgba(207,53,231,.16), transparent 29%),
        linear-gradient(180deg, #070a14 0%, #0a0e1b 62%, #0d1120 100%);
}
.ob-hero:before {
    content:""; position:absolute; inset:0; pointer-events:none;
    background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 78%);
}
.ob-hero:after {
    content:""; position:absolute; left:50%; bottom:-370px; transform:translateX(-50%); width:1060px; height:620px; border-radius:50%; border:1px solid rgba(130,105,255,.16);
    box-shadow: 0 0 0 80px rgba(115,72,255,.03), 0 0 0 160px rgba(49,87,255,.02);
}
.ob-hero-aurora { position:absolute; border-radius:50%; filter:blur(70px); opacity:.42; pointer-events:none; }
.ob-hero-aurora-a { width:360px; height:220px; left:10%; top:19%; background:#334cff; }
.ob-hero-aurora-b { width:310px; height:240px; right:10%; top:36%; background:#c431e1; opacity:.27; }
.ob-hero-inner { position:relative; z-index:2; }
.ob-hero-copy { max-width: 860px; margin: 0 auto; text-align:center; }
.ob-kicker, .ob-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#9b84ff; font-weight:800; font-size:10px; letter-spacing:1.7px; text-transform:uppercase; }
.ob-kicker { padding:8px 12px; border:1px solid rgba(160,132,255,.19); background:rgba(126,92,255,.08); border-radius:999px; }
.ob-kicker-dot { width:6px; height:6px; border-radius:50%; background:#b793ff; box-shadow:0 0 0 4px rgba(183,147,255,.09),0 0 18px rgba(183,147,255,.65); }
.ob-hero h1 { margin:18px auto 16px; max-width:880px; font-size:clamp(45px,5.05vw,70px); line-height:.99; letter-spacing:-3.8px; font-weight:800; }
.ob-hero h1 span { background:linear-gradient(95deg,#6c8aff,#9b6cff 48%,#ea52de); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ob-hero-lead { max-width:730px; margin:0 auto; color:#aab2c7; font-size:15px; line-height:1.72; }

.ob-process-rail { max-width:930px; margin:28px auto 25px; display:grid; grid-template-columns:1fr 38px 1fr 38px 1fr; align-items:center; }
.ob-process-step { display:flex; align-items:center; justify-content:center; gap:10px; min-width:0; }
.ob-process-step > span { width:28px; height:28px; border-radius:9px; display:grid; place-items:center; flex:0 0 auto; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); color:#a991ff; font-size:9px; font-weight:800; }
.ob-process-step div { min-width:0; text-align:left; }
.ob-process-step strong { display:block; font-size:10px; color:#eef0f8; margin-bottom:2px; }
.ob-process-step small { display:block; font-size:8.5px; line-height:1.35; color:#7f899f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ob-process-rail > i { display:block; height:1px; background:linear-gradient(90deg,rgba(125,94,255,.08),rgba(125,94,255,.42),rgba(125,94,255,.08)); }

/* Intent console */
.ob-search-card {
    max-width: 1140px;
    margin: 0 auto;
    padding: 22px 24px 17px;
    background: rgba(255,255,255,.985);
    color:var(--ob-ink);
    border:1px solid rgba(255,255,255,.72);
    border-radius:26px;
    box-shadow: 0 34px 95px rgba(0,0,0,.34), 0 0 0 1px rgba(101,77,255,.06);
}
.ob-search-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:17px; }
.ob-search-heading .ob-eyebrow { color:#7450f2; }
.ob-search-heading h2 { margin:5px 0 0; font-size:18px; letter-spacing:-.65px; }
.ob-secure-badge { display:inline-flex; align-items:center; gap:7px; color:#217457; background:#f0faf6; border:1px solid #d9f0e6; border-radius:999px; padding:7px 10px; font-size:9px; font-weight:800; white-space:nowrap; }
.ob-secure-dot { width:7px; height:7px; border-radius:50%; background:#16a676; box-shadow:0 0 0 4px rgba(22,166,118,.08); }
.ob-search-console { display:grid; grid-template-columns:minmax(210px,1.6fr) 1fr 1fr minmax(260px,1.3fr) minmax(170px,.9fr); gap:10px; align-items:end; }
.ob-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.ob-field label { color:#687086; font-size:9px; font-weight:800; letter-spacing:.15px; }
.ob-field input, .ob-field select { width:100%; height:46px; border:1px solid #e2e5ed; border-radius:12px; background:#fafbfc; color:#11172a; padding:0 12px; outline:none; transition:border-color .18s,box-shadow .18s,background .18s; }
.ob-field input:focus, .ob-field select:focus { border-color:rgba(116,72,255,.58); box-shadow:0 0 0 4px rgba(116,72,255,.075); background:#fff; }
.ob-input-wrap { position:relative; }
.ob-input-wrap input { padding-left:38px; }
.ob-input-icon { position:absolute; left:13px; top:50%; transform:translateY(-50%); display:grid; place-items:center; color:#7450f2; z-index:2; }
.ob-guest-cluster { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; min-width:0; }
.ob-primary-button { width:100%; height:46px; border:0; border-radius:12px; color:#fff; background:linear-gradient(105deg,var(--ob-blue),var(--ob-violet) 56%,var(--ob-magenta)); display:flex; align-items:center; justify-content:center; gap:11px; font-size:10px; font-weight:800; box-shadow:0 12px 27px rgba(81,65,239,.23); transition:transform .18s,box-shadow .18s,opacity .18s; }
.ob-primary-button:hover { transform:translateY(-1px); box-shadow:0 15px 32px rgba(81,65,239,.29); }
.ob-primary-button:disabled { opacity:.52; cursor:not-allowed; transform:none; }
.ob-button-arrow { font-size:14px; line-height:1; }
.ob-child-ages { display:grid; grid-template-columns:repeat(4,minmax(100px,150px)); gap:9px; margin-top:13px; }
.ob-child-age label { display:block; margin-bottom:5px; color:#70788b; font-size:9px; font-weight:700; }
.ob-child-age select { width:100%; height:42px; border:1px solid #e2e5ed; border-radius:11px; background:#fafbfc; padding:0 10px; }
.ob-search-foot { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:13px; padding-top:12px; border-top:1px solid #eef0f4; }
.ob-form-note { margin:0; color:#8990a0; font-size:8.5px; line-height:1.5; }
.ob-lock { color:#7650f2; margin-right:4px; }
.ob-search-status { color:#a1a7b5; font-size:8px; font-weight:700; letter-spacing:.25px; }
.ob-inline-error { margin-top:12px; padding:10px 12px; background:#fff3f4; border:1px solid #ffd8de; color:#a92d3d; border-radius:11px; font-size:10px; font-weight:700; line-height:1.45; }

/* Searching */
.ob-live-stage { min-height:calc(100vh - 70px); display:flex; align-items:center; padding:70px 0; color:#fff; background:radial-gradient(circle at 50% 32%,rgba(116,72,255,.17),transparent 29%),var(--ob-night); }
.ob-searching-shell { max-width:780px; text-align:center; }
.ob-searching-orbit { width:150px; height:150px; margin:0 auto 30px; position:relative; display:grid; place-items:center; }
.orbit { position:absolute; inset:0; border:1px solid rgba(159,127,255,.22); border-radius:50%; animation:obSpin 9s linear infinite; }
.orbit-b { inset:17px; border-color:rgba(74,103,255,.28); animation-duration:7s; animation-direction:reverse; }
.orbit-c { inset:35px; border-color:rgba(214,66,229,.22); animation-duration:5s; }
.orbit:before { content:""; position:absolute; left:50%; top:-4px; width:8px; height:8px; border-radius:50%; background:#9b7bff; box-shadow:0 0 20px rgba(155,123,255,.7); }
.orbit-b:before { background:#5472ff; }.orbit-c:before { background:#d946e5; }
.orbit-core { width:54px; height:54px; border-radius:17px; background:linear-gradient(135deg,var(--ob-blue),var(--ob-magenta)); display:flex; align-items:flex-end; justify-content:center; gap:3px; padding:13px; box-shadow:0 18px 42px rgba(116,72,255,.35); }
.orbit-core span { width:6px; background:#fff; border-radius:999px; }.orbit-core span:nth-child(1){height:11px}.orbit-core span:nth-child(2){height:27px}.orbit-core span:nth-child(3){height:18px}
@keyframes obSpin { to { transform:rotate(360deg); } }
.ob-searching-shell h2 { margin:13px auto 12px; max-width:650px; font-size:40px; line-height:1.05; letter-spacing:-2px; }
.ob-searching-shell > p { max-width:610px; margin:0 auto; color:#9ca6bc; font-size:13px; line-height:1.7; }
.ob-search-progress { max-width:680px; margin:38px auto 0; }
.ob-progress-line { height:3px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden; }
.ob-progress-line span { display:block; width:14%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#4f72ff,#d148e4); transition:width .7s ease; box-shadow:0 0 18px rgba(115,72,255,.45); }
.ob-progress-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:12px; }
.ob-progress-steps span { color:#636e84; font-size:8.5px; font-weight:700; }.ob-progress-steps span.is-active{color:#c5b7ff}
.ob-ghost-button { margin-top:30px; height:38px; padding:0 15px; border:1px solid rgba(255,255,255,.11); border-radius:999px; background:rgba(255,255,255,.04); color:#aab3c6; font-size:9px; font-weight:800; }

/* Results / Offer room */
.ob-results-stage { min-height:100vh; padding:52px 0 92px; background:#f4f5f8; }
.ob-results-head { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding-bottom:24px; }
.ob-back-link { display:block; border:0; padding:0; margin:0 0 16px; background:transparent; color:#7c8496; font-size:9px; font-weight:800; }
.ob-results-head .ob-eyebrow, .ob-selected-stage .ob-eyebrow, .ob-success-stage .ob-eyebrow, .ob-privacy-section .ob-eyebrow { color:#7350ef; }
.ob-results-head h2 { margin:8px 0 5px; font-size:34px; line-height:1.06; letter-spacing:-1.7px; }
.ob-results-summary { margin:0; color:#7b8292; font-size:11px; }
.ob-results-privacy { display:flex; align-items:center; gap:11px; min-width:260px; padding:12px 14px; border:1px solid #e3e6ed; border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(30,37,66,.04); }
.ob-private-pulse { width:10px; height:10px; border-radius:50%; background:#19a878; box-shadow:0 0 0 5px rgba(25,168,120,.09); flex:0 0 auto; }
.ob-results-privacy strong { display:block; color:#273044; font-size:9px; }.ob-results-privacy small{display:block;color:#8b92a1;font-size:8px;margin-top:2px;line-height:1.35}
.ob-toolbar { position:sticky; top:82px; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; padding:10px 12px; border:1px solid #e2e5ec; border-radius:15px; background:rgba(255,255,255,.92); backdrop-filter:blur(16px); box-shadow:0 10px 24px rgba(22,28,54,.04); }
.ob-filter-chips { display:flex; gap:7px; }
.ob-chip { height:34px; padding:0 11px; border:1px solid #e3e6ed; border-radius:999px; background:#fff; color:#667086; font-size:9px; font-weight:800; transition:.18s; }
.ob-chip:hover,.ob-chip.is-active { border-color:#cfc5fb; background:#f4f1ff; color:#6342d6; }
.ob-sort { display:flex; align-items:center; gap:8px; color:#8b92a2; font-size:8.5px; font-weight:700; }
.ob-sort select { height:33px; border:1px solid #e2e5ec; border-radius:9px; background:#fff; color:#343d52; padding:0 9px; font-size:9px; font-weight:700; }
.ob-offers-grid { display:grid; grid-template-columns:1fr; gap:10px; }
.ob-offer-card { display:grid; grid-template-columns:150px minmax(0,1fr); min-height:154px; overflow:hidden; border:1px solid #e3e6ed; border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(30,37,66,.045); transition:transform .2s,border-color .2s,box-shadow .2s; }
.ob-offer-card:hover { transform:translateY(-2px); border-color:#cfc6fa; box-shadow:0 14px 36px rgba(35,43,82,.085); }
.ob-offer-visual { position:relative; min-height:100%; overflow:hidden; background:linear-gradient(155deg,#10182d 0%,#1b2856 42%,#6949e8 100%); }
.ob-offer-visual:before { content:""; position:absolute; width:170px; height:170px; right:-100px; top:-70px; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 28px rgba(255,255,255,.035); }
.ob-offer-visual:after { content:""; position:absolute; left:18px; bottom:18px; width:42px; height:3px; border-radius:99px; background:linear-gradient(90deg,#6f8cff,#d54ce5); box-shadow:0 0 18px rgba(120,83,255,.55); }
.ob-offer-rank { position:absolute; left:14px; top:14px; padding:5px 8px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.08); color:#d6daea; font-size:8px; font-weight:800; backdrop-filter:blur(7px); }
.ob-offer-stars { position:absolute; left:15px; top:58px; right:12px; color:#fff; font-size:9px; letter-spacing:1px; line-height:1.5; }
.ob-match-badge { position:absolute; left:14px; bottom:30px; color:#fff; font-size:12px; font-weight:800; letter-spacing:-.2px; }
.ob-offer-body { display:grid; grid-template-columns:minmax(220px,1.35fr) minmax(180px,.9fr) auto; column-gap:28px; align-items:center; padding:20px 21px; }
.ob-offer-property { font-size:17px; font-weight:800; letter-spacing:-.55px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ob-offer-location { margin-top:4px; color:#8b92a1; font-size:9px; }
.ob-offer-room { align-self:center; padding:0; border:0; }
.ob-offer-room strong { display:block; font-size:10px; color:#30384d; line-height:1.4; }.ob-offer-room small{display:block;margin-top:4px;color:#949baa;font-size:8px}
.ob-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.ob-tag { padding:5px 7px; border-radius:999px; background:#f4f5f8; color:#687185; font-size:7.5px; font-weight:800; }.ob-tag.is-positive{background:#eef9f5;color:#15825e}
.ob-price-row { display:flex; align-items:center; justify-content:flex-end; gap:17px; margin:0; padding:0; }
.ob-price { min-width:105px; text-align:right; }
.ob-price small { display:block; color:#9aa0ae; font-size:7.5px; margin-bottom:2px; }
.ob-price strong { display:block; color:#12182a; font-size:22px; letter-spacing:-.9px; }.ob-price span{display:block;color:#8991a1;font-size:8px;margin:2px 0 0}
.ob-select-offer { height:38px; border:0; border-radius:10px; background:#11182b; color:#fff; padding:0 13px; font-size:8.5px; font-weight:800; white-space:nowrap; transition:.18s; }
.ob-select-offer:hover { background:linear-gradient(105deg,#3157ff,#7448ff); transform:translateY(-1px); }.ob-select-offer:disabled{opacity:.4;cursor:not-allowed;transform:none}
.ob-empty { text-align:center; padding:70px 20px; color:#81899a; }.ob-empty-icon{font-size:36px;color:#b5bac5}.ob-empty h3{margin:12px 0 6px;color:#1c2335}.ob-empty p{font-size:10px}

/* Selection + handoff */
.ob-selected-stage { min-height:calc(100vh - 70px); padding:58px 0 86px; background:linear-gradient(180deg,#f5f6fa,#fff); }
.ob-selected-grid { display:grid; grid-template-columns:minmax(0,1fr) 455px; gap:66px; align-items:start; }
.ob-selected-context h2 { max-width:650px; margin:10px 0 12px; font-size:40px; line-height:1.06; letter-spacing:-2px; }
.ob-selected-lead { max-width:620px; margin:0; color:#6d7587; font-size:12px; line-height:1.7; }
.ob-selected-offer, .ob-success-offer { margin-top:22px; padding:18px 19px; border:1px solid #e2e5ec; border-radius:17px; background:#fff; box-shadow:var(--ob-shadow-soft); }
.ob-selected-offer .selected-top,.ob-success-offer .selected-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ob-selected-offer h3,.ob-success-offer h3{margin:0 0 4px;font-size:16px;letter-spacing:-.45px}.ob-selected-offer p,.ob-success-offer p{margin:0;color:#858d9d;font-size:9px}.ob-selected-offer .selected-price,.ob-success-offer .selected-price{font-size:21px;font-weight:800;white-space:nowrap}.ob-selected-offer .selected-meta,.ob-success-offer .selected-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.ob-privacy-card { display:flex; gap:13px; margin-top:13px; padding:15px; border:1px solid #dde7ff; border-radius:15px; background:#f2f6ff; }
.ob-privacy-icon { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; background:#fff; color:#3157ff; }.ob-privacy-card strong{font-size:9px}.ob-privacy-card p{margin:4px 0 0;color:#667189;font-size:9px;line-height:1.55}
.ob-identity-card { padding:26px; border:1px solid #e2e5ec; border-radius:23px; background:#fff; box-shadow:0 28px 80px rgba(29,36,72,.11); }
.ob-identity-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }.ob-vault-label{padding:6px 8px;border-radius:999px;background:#f0faf6;color:#197d5b;font-size:8px;font-weight:800}
.ob-identity-card h3 { margin:8px 0 20px; font-size:21px; letter-spacing:-.7px; }
.ob-form-grid { display:grid; gap:11px; }.ob-form-grid-2{grid-template-columns:repeat(2,1fr)}.ob-identity-card .ob-field{margin-top:11px}.ob-identity-card .ob-form-grid .ob-field{margin-top:0}
.ob-consent { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; margin-top:17px; color:#626b7d; font-size:9px; line-height:1.55; cursor:pointer; }
.ob-consent input { position:absolute; opacity:0; pointer-events:none; }.ob-checkmark{position:relative;width:19px;height:19px;border:1px solid #d7dae3;border-radius:6px;background:#fff;margin-top:1px}.ob-consent input:checked + .ob-checkmark{border-color:transparent;background:linear-gradient(135deg,#3157ff,#7448ff)}.ob-consent input:checked + .ob-checkmark:after{content:"✓";position:absolute;left:4px;top:0;color:#fff;font-size:11px;font-weight:900}
.ob-identity-card .ob-primary-button { margin-top:18px; }
.ob-identity-card .ob-form-note { text-align:center; margin-top:10px; }

/* Success */
.ob-success-stage { min-height:calc(100vh - 70px); display:flex; align-items:center; padding:65px 0; background:radial-gradient(circle at 50% 23%,rgba(19,168,117,.10),transparent 26%),#f8faf9; }
.ob-success-shell { max-width:760px; text-align:center; }
.ob-success-icon { width:76px; height:76px; margin:0 auto 23px; border:1px solid #d1eee2; border-radius:24px; background:#eaf8f3; display:grid; place-items:center; box-shadow:0 18px 44px rgba(19,168,117,.11); }.ob-success-icon span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#15a978;color:#fff;font-weight:900}
.ob-success-shell h2 { max-width:690px; margin:12px auto; font-size:38px; line-height:1.07; letter-spacing:-1.9px; }.ob-success-shell>p{max-width:610px;margin:0 auto;color:#6d7587;font-size:12px;line-height:1.7}.ob-success-offer{max-width:570px;margin:25px auto 0;text-align:left}.ob-success-button{max-width:310px;margin:24px auto 0}

/* Explainer */
.ob-how { padding:90px 0; background:#fff; }
.ob-section-heading { max-width:700px; margin:0 auto 38px; text-align:center; }.ob-section-heading .ob-eyebrow{color:#7350ef}.ob-section-heading h2{margin:10px 0 0;font-size:39px;line-height:1.08;letter-spacing:-2px}
.ob-how-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.ob-how-grid article { position:relative; min-height:205px; overflow:hidden; padding:23px 21px; border:1px solid #e7e9ef; border-radius:18px; background:#fafbfc; }
.ob-how-grid article:before { content:""; position:absolute; width:110px; height:110px; right:-70px; bottom:-70px; border:1px solid rgba(116,72,255,.10); border-radius:50%; box-shadow:0 0 0 24px rgba(116,72,255,.025); }
.ob-how-grid article>span { color:#7650ef; font-size:9px; font-weight:800; }.ob-how-grid h3{margin:60px 0 8px;font-size:13px}.ob-how-grid p{margin:0;color:#777f91;font-size:10px;line-height:1.65}

.ob-privacy-section { padding:88px 0; color:#fff; background:linear-gradient(145deg,#0a0e1a,#0d1324); }
.ob-privacy-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }.ob-privacy-copy h2{max-width:540px;margin:10px 0 12px;font-size:39px;line-height:1.08;letter-spacing:-2px}.ob-privacy-copy>p{max-width:550px;margin:0;color:#8994aa;font-size:11px;line-height:1.7}
.ob-privacy-points { display:grid; gap:9px; }.ob-privacy-points>div{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035)}.ob-privacy-points span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(128,96,255,.10);color:#a68dff;font-size:8px;font-weight:800}.ob-privacy-points p{margin:0;color:#a5aec0;font-size:9.5px;line-height:1.55}

/* Footer */
.ob-footer { padding:23px 0; border-top:1px solid #eceef2; background:#f9fafb; }
.ob-footer .ob-brand { color:#11172a; }.ob-footer .ob-brand-word>span{color:#7049ef}.ob-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#9097a5;font-size:9px}.ob-brand-footer{transform:scale(.9);transform-origin:left center}.ob-footer-status{display:flex;align-items:center;gap:7px}.ob-footer-status>span{width:7px;height:7px;border-radius:50%;background:#18a978;box-shadow:0 0 0 4px rgba(24,169,120,.08)}
.ob-toast { position:fixed; left:50%; bottom:24px; z-index:100; transform:translateX(-50%); max-width:min(500px,calc(100% - 32px)); padding:11px 15px; border-radius:12px; background:#101729; color:#fff; box-shadow:0 16px 40px rgba(10,16,32,.22); font-size:10px; font-weight:700; text-align:center; }

@media (max-width:1150px) {
    .ob-search-console { grid-template-columns:1.5fr 1fr 1fr; }
    .ob-guest-cluster { grid-column:1 / 3; }
    .ob-search-console > .ob-primary-button { grid-column:3; }
    .ob-offer-body { grid-template-columns:minmax(220px,1.2fr) minmax(170px,.8fr); }
    .ob-price-row { grid-column:2; margin-top:12px; }
}
@media (max-width:900px) {
    .ob-hero { min-height:auto; padding-top:45px; }
    .ob-process-rail { grid-template-columns:1fr; gap:7px; max-width:620px; }.ob-process-rail>i{display:none}.ob-process-step{justify-content:flex-start;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06)}.ob-process-step small{white-space:normal}
    .ob-search-console { grid-template-columns:repeat(2,1fr); }.ob-field-destination{grid-column:1/-1}.ob-guest-cluster{grid-column:1/-1}.ob-search-console>.ob-primary-button{grid-column:1/-1}
    .ob-selected-grid { grid-template-columns:1fr; gap:36px; }.ob-identity-card{max-width:650px}
    .ob-how-grid { grid-template-columns:repeat(2,1fr); }
    .ob-privacy-grid { grid-template-columns:1fr; gap:32px; }
    .ob-offer-card { grid-template-columns:120px minmax(0,1fr); }.ob-offer-body{grid-template-columns:1fr}.ob-price-row{grid-column:auto;justify-content:space-between;margin-top:16px}.ob-price{text-align:left}
}
@media (max-width:700px) {
    .ob-shell { width:min(calc(100% - 26px),var(--ob-shell)); }
    .ob-header-inner { min-height:64px; }.ob-nav-link{display:none}
    .ob-hero { min-height:calc(100vh - 64px); padding:36px 0 44px; }.ob-hero h1{font-size:42px;letter-spacing:-2.4px}.ob-hero-lead{font-size:13px;line-height:1.65}
    .ob-process-rail { margin:22px auto 18px; }
    .ob-search-card { padding:19px 17px 14px; border-radius:21px; }.ob-search-heading{align-items:center}.ob-search-heading h2{font-size:17px}.ob-secure-badge{font-size:8px;padding:6px 8px}
    .ob-search-console { grid-template-columns:1fr; }.ob-field-destination,.ob-guest-cluster,.ob-search-console>.ob-primary-button{grid-column:auto}.ob-guest-cluster{grid-template-columns:repeat(3,1fr)}.ob-child-ages{grid-template-columns:repeat(2,1fr)}.ob-search-foot{align-items:flex-start;flex-direction:column}.ob-search-status{display:none}
    .ob-searching-shell h2,.ob-results-head h2,.ob-selected-context h2,.ob-success-shell h2,.ob-section-heading h2,.ob-privacy-copy h2{font-size:31px;letter-spacing:-1.4px}.ob-progress-steps{grid-template-columns:repeat(2,1fr);row-gap:10px}
    .ob-results-stage{padding-top:38px}.ob-results-head{align-items:flex-start;flex-direction:column}.ob-results-privacy{width:100%}.ob-toolbar{top:72px;align-items:flex-start;flex-direction:column}.ob-sort{width:100%;justify-content:space-between}.ob-sort select{flex:1;max-width:180px}
    .ob-offer-card { grid-template-columns:1fr; }.ob-offer-visual{min-height:82px}.ob-offer-stars{top:auto;bottom:16px}.ob-match-badge{left:auto;right:14px;bottom:14px}.ob-offer-visual:after{display:none}.ob-offer-body{padding:17px}.ob-price-row{align-items:flex-end}.ob-select-offer{height:40px}
    .ob-selected-stage{padding-top:40px}.ob-identity-card{padding:21px}.ob-form-grid-2{grid-template-columns:1fr}
    .ob-how{padding:68px 0}.ob-how-grid{grid-template-columns:1fr}.ob-how-grid article{min-height:160px}.ob-how-grid h3{margin-top:35px}
    .ob-privacy-section{padding:68px 0}.ob-footer-inner{align-items:flex-start;flex-direction:column}.ob-footer-status{margin:0}
}
@media (max-width:430px) {
    .ob-hero h1 { font-size:36px; letter-spacing:-2px; }.ob-kicker{font-size:8px}.ob-secure-badge{display:none}.ob-search-card{padding:17px 14px 13px}.ob-guest-cluster{grid-template-columns:1fr 1fr 1fr;gap:6px}.ob-field input,.ob-field select{padding-left:10px;padding-right:8px;font-size:12px}.ob-input-wrap input{padding-left:35px}.ob-child-ages{grid-template-columns:repeat(2,1fr)}
    .ob-filter-chips{width:100%}.ob-chip{flex:1}.ob-selected-offer .selected-top,.ob-success-offer .selected-top{flex-direction:column}.ob-price-row{align-items:stretch;flex-direction:column}.ob-price{text-align:left}.ob-select-offer{width:100%}
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.orbit{animation:none}.ob-primary-button,.ob-offer-card,.ob-select-offer{transition:none} }

/* =========================================================
   Stage 5A.2 — Market-aligned hotel launch visual system
   Keeps the selected OffersBeat logo and product behavior.
   ========================================================= */
:root {
    --ob-cobalt:#3157ff;
    --ob-electric:#6548ff;
    --ob-purple:#8a44ff;
    --ob-pink:#d53ee7;
    --ob-cyan:#35c9ff;
    --ob-lime:#82e6b6;
    --ob-page:#f8f9ff;
    --ob-card:#ffffff;
    --ob-deep:#11152a;
    --ob-text:#12162a;
    --ob-sub:#67708b;
    --ob-border:#e7e9f4;
}

body { background:var(--ob-page); overflow-x:hidden; }
.ob-page-glow { position:fixed; z-index:-2; border-radius:999px; filter:blur(90px); pointer-events:none; opacity:.28; }
.ob-page-glow-a { width:420px; height:420px; top:90px; left:-170px; background:#7c66ff; }
.ob-page-glow-b { width:480px; height:480px; right:-220px; top:310px; background:#ef68dd; opacity:.18; }
.ob-noise { display:none; }

/* Header: selected logo retained, environment refreshed */
.ob-header {
    background:rgba(255,255,255,.88);
    border-bottom:1px solid rgba(26,31,67,.07);
    box-shadow:0 4px 24px rgba(23,30,73,.035);
}
.ob-header-inner { min-height:68px; }
.ob-brand { color:var(--ob-deep); }
.ob-brand-mark { width:36px; height:36px; border-radius:12px; box-shadow:0 10px 28px rgba(100,72,255,.24), inset 0 0 0 1px rgba(255,255,255,.18); }
.ob-brand-word { font-size:21px; }
.ob-brand-word > span { background:linear-gradient(100deg,var(--ob-electric),var(--ob-pink)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ob-nav { gap:22px; }
.ob-nav-link { text-decoration:none; color:#606a84; font-size:11px; }
.ob-nav-link:hover,.ob-nav-link.is-current { color:var(--ob-deep); }
.ob-lang { border-color:#e6e8f0; background:#f5f6fb; }
.ob-lang button { color:#81889b; }
.ob-lang button.is-active { color:var(--ob-deep); box-shadow:0 4px 14px rgba(45,52,88,.10); }

/* New hotel-first hero */
.ob-hero {
    min-height:auto;
    padding:74px 0 58px;
    color:var(--ob-text);
    background:
        radial-gradient(circle at 75% 16%, rgba(213,62,231,.13), transparent 27%),
        radial-gradient(circle at 19% 14%, rgba(49,87,255,.10), transparent 27%),
        linear-gradient(180deg,#fff 0%,#fbfbff 65%,#f7f8ff 100%);
}
.ob-hero:before {
    background-image:radial-gradient(rgba(103,86,255,.18) .8px,transparent .8px);
    background-size:22px 22px;
    opacity:.35;
    mask-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent 44%,transparent 58%,rgba(0,0,0,.35));
}
.ob-hero:after { display:none; }
.ob-hero-layout { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(390px,.78fr); align-items:center; gap:58px; position:relative; z-index:2; }
.ob-hero-copy { max-width:720px; margin:0; text-align:left; }
.ob-kicker { color:#7052ef; background:#f4f0ff; border-color:#e6ddff; padding:8px 12px; }
.ob-kicker-dot { background:linear-gradient(135deg,var(--ob-cobalt),var(--ob-pink)); box-shadow:0 0 0 5px rgba(122,78,255,.08); }
.ob-hero h1 { margin:22px 0 20px; max-width:700px; font-size:clamp(45px,4.8vw,70px); line-height:1.01; letter-spacing:-4px; color:var(--ob-deep); }
.ob-hero h1 span { background:linear-gradient(100deg,var(--ob-cobalt),var(--ob-electric) 46%,var(--ob-pink)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ob-hero-lead { max-width:650px; margin:0; color:#5e6882; font-size:15px; line-height:1.8; }
.ob-hero-points { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:30px; }
.ob-hero-points>div { padding:14px 14px 13px; border:1px solid #e7e9f4; background:rgba(255,255,255,.72); border-radius:16px; box-shadow:0 12px 28px rgba(31,38,79,.04); }
.ob-hero-points span { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:8px; background:#f0ecff; color:#7851ef; font-size:8px; font-weight:800; margin-bottom:10px; }
.ob-hero-points strong { display:block; font-size:10px; color:#1b2139; margin-bottom:4px; }
.ob-hero-points small { display:block; color:#8990a5; font-size:8.5px; line-height:1.5; }
.ob-trust-strip { margin-top:18px; display:flex; align-items:center; gap:8px; color:#7c8497; font-size:9px; font-weight:600; }
.ob-trust-dot { width:8px; height:8px; border-radius:50%; background:#24bd83; box-shadow:0 0 0 5px rgba(36,189,131,.08); }

/* Visualizes the idea of offers coming toward the request */
.ob-hero-visual { position:relative; min-height:430px; }
.ob-orbit { position:absolute; border-radius:50%; border:1px solid rgba(105,75,240,.14); inset:50%; transform:translate(-50%,-50%); }
.ob-orbit-one { width:390px; height:390px; }
.ob-orbit-two { width:300px; height:300px; border-color:rgba(213,62,231,.12); }
.ob-offer-pulse { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); width:190px; height:190px; display:grid; place-items:center; }
.ob-pulse-ring { position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle,rgba(107,73,255,.12),rgba(107,73,255,.03) 55%,transparent 57%); border:1px solid rgba(107,73,255,.12); animation:obPulse 3.4s ease-in-out infinite; }
.ob-pulse-core { position:relative; width:126px; height:126px; border-radius:36px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:linear-gradient(135deg,#3157ff,#7247ff 58%,#d43ee6); box-shadow:0 28px 55px rgba(93,64,235,.28); transform:rotate(-3deg); }
.ob-pulse-icon { width:30px; height:30px; border-radius:10px; background:rgba(255,255,255,.16); display:grid; place-items:center; font-size:17px; margin-bottom:7px; }
.ob-pulse-core strong { font-size:14px; letter-spacing:-.5px; }
.ob-pulse-core small { margin-top:4px; font-size:7.5px; color:rgba(255,255,255,.77); }
@keyframes obPulse { 0%,100%{transform:scale(.96);opacity:.7} 50%{transform:scale(1.04);opacity:1} }
.ob-destination-card,.ob-mini-offer { position:absolute; background:rgba(255,255,255,.94); border:1px solid #e9e7f7; border-radius:18px; box-shadow:0 20px 45px rgba(38,43,88,.10); backdrop-filter:blur(16px); }
.ob-destination-card { width:178px; padding:15px; }
.ob-destination-card strong { display:block; color:#1c2238; font-size:11px; margin:5px 0 4px; }
.ob-destination-card span:not(.ob-mini-label) { display:block; color:#8a91a3; font-size:8px; }
.ob-mini-label { display:inline-flex; padding:5px 7px; border-radius:999px; background:#f4f0ff; color:#7952ed; font-size:7px; font-weight:800; letter-spacing:.8px; }
.ob-float-a { top:20px; left:10px; transform:rotate(-3deg); animation:obFloatA 5s ease-in-out infinite; }
.ob-float-b { right:5px; bottom:30px; transform:rotate(3deg); animation:obFloatB 5.5s ease-in-out infinite; }
.ob-mini-offer { width:135px; padding:12px; }
.ob-mini-offer span { display:inline-flex; padding:4px 6px; border-radius:8px; background:#eef2ff; color:#4661f5; font-size:8px; font-weight:800; }
.ob-mini-offer strong { display:block; margin:6px 0 3px; font-size:10px; }
.ob-mini-offer small { color:#8a91a2; font-size:7.5px; }
.ob-mini-offer-a { top:61px; right:8px; transform:rotate(4deg); animation:obFloatB 4.8s ease-in-out infinite; }
.ob-mini-offer-b { left:6px; bottom:52px; transform:rotate(-4deg); animation:obFloatA 5.6s ease-in-out infinite; }
@keyframes obFloatA { 0%,100%{translate:0 0}50%{translate:0 -9px} }
@keyframes obFloatB { 0%,100%{translate:0 0}50%{translate:0 8px} }

/* Search console — product centrepiece */
.ob-search-card { max-width:1240px; margin:52px auto 0; padding:23px 24px 17px; border-radius:24px; background:rgba(255,255,255,.96); border:1px solid #e8e8f4; box-shadow:0 28px 70px rgba(32,37,79,.10), 0 0 0 1px rgba(100,71,237,.02); position:relative; z-index:5; }
.ob-search-card:before { content:""; position:absolute; left:24px; right:24px; top:0; height:2px; background:linear-gradient(90deg,var(--ob-cobalt),var(--ob-electric),var(--ob-pink)); border-radius:999px; opacity:.9; }
.ob-search-heading .ob-eyebrow,.ob-eyebrow { color:#7550e9; }
.ob-search-heading h2 { font-size:19px; }
.ob-secure-badge { color:#5d6480; background:#f7f7fc; border-color:#e6e8f1; }
.ob-secure-dot { background:#6b50ee; box-shadow:0 0 0 4px rgba(107,80,238,.08); }
.ob-search-console { grid-template-columns:minmax(220px,1.55fr) .92fr .92fr minmax(260px,1.2fr) minmax(205px,.95fr); }
.ob-field input,.ob-field select { height:48px; border-color:#e0e3ee; background:#fbfbfe; }
.ob-primary-button { height:48px; border-radius:13px; background:linear-gradient(103deg,#3157ff,#7448ff 56%,#cf35e7); font-size:10px; box-shadow:0 14px 30px rgba(83,66,233,.22); }
.ob-search-status { color:#7666c8; }

/* Searching / results no longer feel like a different dark product */
.ob-live-stage { color:var(--ob-text); background:radial-gradient(circle at 50% 31%,rgba(108,73,255,.11),transparent 31%),linear-gradient(180deg,#fbfbff,#f5f6ff); }
.ob-searching-shell>p { color:#6e7690; }
.ob-ghost-button { color:#6247d3; border-color:#ded9f5; background:#fff; }
.ob-progress-steps span { color:#9399aa; }
.ob-progress-steps span.is-active { color:#5f47d3; }
.ob-searching-orbit .orbit { border-color:rgba(107,75,238,.18); }
.ob-searching-orbit .orbit-core { background:linear-gradient(135deg,#3157ff,#7548ff,#d43ee6); }

.ob-results-stage { background:#f7f8fd; }
.ob-results-head h2 { color:#14192d; }
.ob-results-privacy { background:#fff; border-color:#e8eaf2; }
.ob-toolbar { background:#fff; border:1px solid #e7e9f1; border-radius:16px; padding:10px 12px; box-shadow:0 10px 30px rgba(36,43,85,.04); }
.ob-offer-card { border-color:#e8e9f1; box-shadow:0 15px 40px rgba(32,39,78,.055); transition:transform .2s,box-shadow .2s,border-color .2s; }
.ob-offer-card:hover { transform:translateY(-4px); border-color:#d9d3f8; box-shadow:0 24px 50px rgba(54,50,116,.10); }
.ob-offer-visual { background:linear-gradient(135deg,#f2f5ff,#f9f4ff); }
.ob-match-badge { background:linear-gradient(103deg,#3157ff,#7949ff); color:#fff; border:0; }

/* Marketing sections */
.ob-shift { padding:88px 0; background:#fff; }
.ob-section-heading-wide { max-width:820px; }
.ob-section-heading-wide p { color:#707890; font-size:14px; line-height:1.8; margin:14px 0 0; }
.ob-shift-grid { display:grid; grid-template-columns:1fr 70px 1fr; align-items:stretch; gap:16px; margin-top:34px; }
.ob-shift-card { border-radius:25px; padding:28px; min-height:210px; border:1px solid #e6e8f0; }
.ob-shift-card>span { font-size:8px; letter-spacing:1.5px; font-weight:800; }
.ob-shift-card h3 { margin:36px 0 10px; font-size:23px; letter-spacing:-1px; }
.ob-shift-card p { margin:0; color:#767e92; font-size:11px; line-height:1.7; max-width:470px; }
.ob-shift-card.is-muted { background:#f7f8fc; color:#757b8c; }
.ob-shift-card.is-brand { background:linear-gradient(135deg,#1f3fed,#6a42f5 58%,#c93ddf); color:#fff; border:0; box-shadow:0 24px 55px rgba(90,65,225,.22); }
.ob-shift-card.is-brand>span,.ob-shift-card.is-brand p { color:rgba(255,255,255,.72); }
.ob-shift-arrow { display:grid; place-items:center; color:#7754eb; font-size:30px; }

.ob-how { background:#f8f9fe; }
.ob-how-grid article { background:#fff; border-color:#e8eaf2; }
.ob-how-grid article>span { background:#f0ecff; color:#7650e9; }

.ob-trust-section { padding:92px 0; background:linear-gradient(180deg,#11162c,#171c38); color:#fff; }
.ob-trust-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.ob-trust-copy h2 { margin:12px 0 16px; font-size:clamp(32px,3.5vw,50px); line-height:1.05; letter-spacing:-2.4px; max-width:540px; }
.ob-trust-copy p { color:#aeb5ca; font-size:13px; line-height:1.8; max-width:560px; }
.ob-trust-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ob-trust-cards>div { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.09); border-radius:20px; padding:20px; min-height:180px; }
.ob-trust-cards>div>span { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:linear-gradient(135deg,rgba(49,87,255,.25),rgba(207,53,231,.25)); color:#c8bbff; font-size:16px; }
.ob-trust-cards strong { display:block; margin:31px 0 7px; font-size:11px; }
.ob-trust-cards p { margin:0; color:#98a0b8; font-size:9px; line-height:1.6; }

.ob-hotelier-cta { padding:76px 0; background:#fff; }
.ob-hotelier-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:34px 38px; border:1px solid #e7e7f4; border-radius:28px; background:linear-gradient(125deg,#fbfbff,#f7f1ff); box-shadow:0 25px 60px rgba(38,43,85,.07); }
.ob-hotelier-cta h2 { margin:8px 0 9px; max-width:770px; font-size:26px; letter-spacing:-1.2px; }
.ob-hotelier-cta p { margin:0; max-width:760px; color:#737b91; font-size:11px; line-height:1.7; }
.ob-secondary-button { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border-radius:13px; color:#fff; text-decoration:none; font-size:10px; font-weight:800; background:#14182e; box-shadow:0 12px 25px rgba(17,22,46,.14); }

.ob-footer { background:#f7f8fc; border-top:1px solid #e7e9f0; }
.ob-footer .ob-brand { color:#11172a; }
.ob-footer-links { display:flex; align-items:center; gap:8px; }
.ob-footer-links a { color:#6f7486; text-decoration:none; }
.ob-footer-links a:hover { color:#5e45d3; }

/* Hotelier page */
.ob-hoteliers-page { background:#fff; }
.ob-partner-hero { padding:88px 0 96px; background:radial-gradient(circle at 77% 30%,rgba(207,53,231,.12),transparent 27%),radial-gradient(circle at 16% 15%,rgba(49,87,255,.10),transparent 30%),linear-gradient(180deg,#fff,#f9f9ff); overflow:hidden; }
.ob-partner-hero-grid { display:grid; grid-template-columns:1fr .9fr; gap:70px; align-items:center; }
.ob-partner-copy h1 { margin:22px 0 20px; font-size:clamp(45px,4.8vw,68px); line-height:1.01; letter-spacing:-3.8px; }
.ob-partner-copy h1 span { background:linear-gradient(100deg,#3157ff,#7448ff 52%,#d43ee6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ob-partner-copy>p { color:#626b84; font-size:14px; line-height:1.82; max-width:670px; }
.ob-partner-actions { display:flex; align-items:center; gap:18px; margin-top:28px; }
.ob-inline-button { width:auto; min-width:220px; padding:0 18px; text-decoration:none; }
.ob-text-link { color:#6447d4; font-size:10px; font-weight:800; text-decoration:none; }

.ob-partner-network { min-height:460px; position:relative; }
.ob-network-request,.ob-network-hotel,.ob-network-core { position:absolute; background:#fff; border:1px solid #e8e8f3; box-shadow:0 20px 45px rgba(40,46,90,.09); }
.ob-network-request { left:50%; top:12px; transform:translateX(-50%); width:230px; padding:17px; border-radius:18px; text-align:center; }
.ob-network-request span,.ob-network-hotel span { color:#7450e9; font-size:7px; font-weight:800; letter-spacing:1px; }
.ob-network-request strong,.ob-network-hotel strong { display:block; margin:5px 0 3px; font-size:11px; }
.ob-network-request small,.ob-network-hotel small,.ob-network-core small { color:#8c93a6; font-size:7.5px; }
.ob-network-core { left:50%; top:50%; transform:translate(-50%,-50%); width:142px; height:142px; border-radius:40px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; border:0; background:linear-gradient(135deg,#3157ff,#7448ff 55%,#d43ee6); box-shadow:0 28px 55px rgba(93,64,235,.25); }
.ob-network-core>span { width:27px; height:27px; border-radius:9px; background:rgba(255,255,255,.17); margin-bottom:7px; }
.ob-network-core strong { font-size:13px; }
.ob-network-core small { color:rgba(255,255,255,.7); margin-top:4px; }
.ob-network-hotel { width:150px; padding:13px; border-radius:16px; }
.hotel-one { left:0; bottom:50px; transform:rotate(-3deg); }
.hotel-two { right:0; bottom:52px; transform:rotate(3deg); }
.hotel-three { right:4px; top:130px; transform:rotate(-2deg); }
.ob-network-line { position:absolute; height:1px; transform-origin:left center; background:linear-gradient(90deg,rgba(111,78,237,.15),rgba(111,78,237,.5),rgba(111,78,237,.15)); }
.line-one { width:165px; left:120px; top:305px; transform:rotate(-20deg); }
.line-two { width:165px; left:282px; top:305px; transform:rotate(20deg); }
.line-three { width:120px; left:295px; top:195px; transform:rotate(-14deg); }

.ob-partner-intro { padding:92px 0; background:#fff; }
.ob-partner-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-top:36px; }
.ob-partner-steps article { border:1px solid #e7e9f1; border-radius:21px; padding:22px; background:#fbfbfe; min-height:215px; }
.ob-partner-steps article>span { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:#f0ecff; color:#7550e9; font-size:8px; font-weight:800; }
.ob-partner-steps h3 { margin:35px 0 8px; font-size:13px; letter-spacing:-.4px; }
.ob-partner-steps p { margin:0; color:#7a8195; font-size:9px; line-height:1.7; }

.ob-partner-value { padding:90px 0; background:#13182f; color:#fff; }
.ob-partner-value-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:74px; align-items:start; }
.ob-partner-value h2 { margin:12px 0 0; font-size:clamp(32px,3.4vw,48px); line-height:1.07; letter-spacing:-2px; }
.ob-partner-benefits { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ob-partner-benefits article { display:flex; gap:14px; padding:18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:18px; }
.ob-partner-benefits article>span { flex:0 0 32px; width:32px; height:32px; border-radius:10px; display:grid; place-items:center; background:rgba(128,90,255,.17); color:#c8baff; }
.ob-partner-benefits strong { display:block; font-size:10px; margin-bottom:5px; }
.ob-partner-benefits p { margin:0; color:#9ca4bc; font-size:8.5px; line-height:1.65; }

.ob-partner-compare { padding:92px 0; background:#f8f9fd; }
.ob-compare-table { margin-top:30px; border:1px solid #e5e7f0; border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 18px 45px rgba(34,41,81,.05); }
.ob-compare-row { display:grid; grid-template-columns:1.1fr 1fr 1fr; border-top:1px solid #eceef4; }
.ob-compare-row:first-child { border-top:0; }
.ob-compare-row>span,.ob-compare-row>strong { padding:15px 18px; font-size:9px; border-left:1px solid #eceef4; }
.ob-compare-row>*:first-child { border-left:0; color:#7b8295; }
.ob-compare-row strong { color:#5e43d4; background:#fbf9ff; }
.ob-compare-row.is-head { background:#161b33; color:#fff; }
.ob-compare-row.is-head>span { color:#fff; font-weight:800; }

.ob-partner-final { padding:82px 0; background:#fff; }
.ob-partner-final-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:38px; border-radius:28px; background:linear-gradient(125deg,#f3f6ff,#faf2ff); border:1px solid #e6e7f3; }
.ob-partner-final h2 { margin:10px 0; font-size:28px; letter-spacing:-1.3px; max-width:760px; }
.ob-partner-final p { margin:0; max-width:760px; color:#737b90; font-size:10px; line-height:1.75; }

@media (max-width:1080px) {
    .ob-hero-layout,.ob-partner-hero-grid,.ob-trust-grid,.ob-partner-value-grid { grid-template-columns:1fr; }
    .ob-hero-copy { text-align:center; margin:auto; }
    .ob-hero-lead { margin-inline:auto; }
    .ob-trust-strip { justify-content:center; }
    .ob-hero-visual { min-height:360px; max-width:570px; width:100%; margin:0 auto; }
    .ob-search-console { grid-template-columns:1.4fr 1fr 1fr; }
    .ob-guest-cluster { grid-column:1/3; }
    .ob-primary-button#search-submit { grid-column:3/4; }
    .ob-partner-network { max-width:570px; width:100%; margin:0 auto; }
}

@media (max-width:760px) {
    .ob-shell { width:min(calc(100% - 28px),var(--ob-shell)); }
    .ob-header-inner { min-height:62px; }
    .ob-nav-link { display:none; }
    .ob-brand-mark { width:33px; height:33px; }
    .ob-brand-word { font-size:19px; }
    .ob-hero,.ob-partner-hero { padding:52px 0 44px; }
    .ob-hero h1,.ob-partner-copy h1 { font-size:clamp(38px,12vw,52px); letter-spacing:-2.7px; }
    .ob-hero-points { grid-template-columns:1fr; }
    .ob-hero-visual { min-height:325px; transform:scale(.92); margin-top:-10px; }
    .ob-orbit-one { width:315px; height:315px; }
    .ob-orbit-two { width:245px; height:245px; }
    .ob-destination-card { width:150px; }
    .ob-mini-offer { width:118px; }
    .ob-search-card { margin-top:30px; padding:19px 16px 15px; border-radius:20px; }
    .ob-search-heading { align-items:flex-start; }
    .ob-secure-badge { display:none; }
    .ob-search-console { grid-template-columns:1fr 1fr; }
    .ob-field-destination,.ob-guest-cluster,.ob-primary-button#search-submit { grid-column:1/-1; }
    .ob-search-foot { align-items:flex-start; flex-direction:column; }
    .ob-shift-grid { grid-template-columns:1fr; }
    .ob-shift-arrow { transform:rotate(90deg); min-height:35px; }
    .ob-trust-cards,.ob-partner-benefits { grid-template-columns:1fr; }
    .ob-hotelier-cta-inner,.ob-partner-final-inner { flex-direction:column; align-items:flex-start; padding:28px 23px; }
    .ob-partner-steps { grid-template-columns:1fr 1fr; }
    .ob-partner-network { transform:scale(.9); transform-origin:center top; margin-bottom:-35px; }
    .ob-compare-row { grid-template-columns:.9fr 1fr 1fr; }
    .ob-compare-row>span,.ob-compare-row>strong { padding:12px 9px; font-size:8px; }
    .ob-footer-inner { flex-direction:column; align-items:flex-start; }
}

@media (max-width:480px) {
    .ob-hero-points { display:none; }
    .ob-hero-visual { min-height:285px; transform:scale(.82); margin-inline:-28px; width:calc(100% + 56px); }
    .ob-search-console { grid-template-columns:1fr; }
    .ob-field-destination,.ob-guest-cluster,.ob-primary-button#search-submit { grid-column:auto; }
    .ob-guest-cluster { grid-template-columns:repeat(3,1fr); }
    .ob-partner-steps { grid-template-columns:1fr; }
    .ob-partner-network { transform:scale(.73); margin-inline:-72px; width:calc(100% + 144px); margin-bottom:-95px; }
}

/* ==========================================================================\n   Stage 5A.3 — BRAND-LED HOTEL LAUNCH UI\n   Source of truth: locked OffersBeat logo palette\n   Navy #072D6F · Magenta #CB0C80 · Pink #E043A0 · Blue #3D61A1\n   ========================================================================== */
:root {
    --ob-logo-navy:#072d6f;
    --ob-logo-magenta:#cb0c80;
    --ob-logo-pink:#e043a0;
    --ob-logo-blue:#3d61a1;
    --ob-ink:#0b2048;
    --ob-muted:#6d7690;
    --ob-soft:#f7f9fd;
    --ob-line:#e8ecf4;
    --ob-white:#ffffff;
    --ob-blue:var(--ob-logo-blue);
    --ob-violet:#8f2d93;
    --ob-magenta:var(--ob-logo-magenta);
    --ob-green:#1e9972;
    --ob-shadow:0 30px 80px rgba(7,45,111,.13);
    --ob-shadow-soft:0 14px 38px rgba(7,45,111,.08);
}

body { color:var(--ob-ink); background:#fff; }
.ob-shell { width:min(calc(100% - 48px),1280px); }
.ob-page-glow { display:none !important; }

/* Header / exact locked logo */
.ob-header { background:rgba(255,255,255,.92); border-bottom:1px solid rgba(7,45,111,.08); box-shadow:0 8px 28px rgba(7,45,111,.035); }
.ob-header-inner { min-height:82px; }
.ob-brand-logo { display:inline-flex; width:292px; max-width:42vw; min-width:215px; }
.ob-brand-logo img { display:block; width:100%; height:auto; }
.ob-nav { gap:26px; }
.ob-nav-link { color:#55637d; font-size:12px; }
.ob-nav-link:hover,.ob-nav-link.is-current { color:var(--ob-logo-magenta); }
.ob-lang { border:1px solid #e6ebf4; background:#f7f9fd; }
.ob-lang button { color:#7a8498; }
.ob-lang button.is-active { color:#fff; background:linear-gradient(120deg,var(--ob-logo-navy),var(--ob-logo-magenta)); box-shadow:0 7px 18px rgba(203,12,128,.18); }

/* Hero: bright, travel-first, brand-first */
.ob-hero { min-height:auto; padding:66px 0 58px; color:var(--ob-ink); background:
    radial-gradient(circle at 8% 12%, rgba(61,97,161,.10), transparent 26%),
    radial-gradient(circle at 88% 8%, rgba(224,67,160,.13), transparent 27%),
    radial-gradient(circle at 76% 78%, rgba(203,12,128,.08), transparent 29%),
    linear-gradient(180deg,#fff 0%,#fbfcff 62%,#f8f9fd 100%); }
.ob-hero:before { background-image:radial-gradient(rgba(7,45,111,.08) 1px,transparent 1px); background-size:22px 22px; opacity:.34; mask-image:linear-gradient(90deg,rgba(0,0,0,.55),transparent 52%); }
.ob-hero:after { left:auto; right:-170px; bottom:-300px; transform:none; width:620px; height:620px; border-color:rgba(203,12,128,.12); box-shadow:0 0 0 58px rgba(224,67,160,.025),0 0 0 118px rgba(61,97,161,.02); }
.ob-hero-layout { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(440px,.97fr); gap:72px; align-items:center; position:relative; z-index:2; }
.ob-hero-copy { max-width:none; margin:0; text-align:left; }
.ob-kicker { color:var(--ob-logo-magenta); border:1px solid rgba(203,12,128,.14); background:#fff4fb; padding:9px 14px; }
.ob-kicker-dot { background:var(--ob-logo-magenta); box-shadow:0 0 0 5px rgba(203,12,128,.08); }
.ob-hero h1 { margin:22px 0 20px; max-width:760px; font-size:clamp(46px,5.3vw,75px); line-height:.98; letter-spacing:-4px; color:var(--ob-logo-navy); }
.ob-hero h1 span { background:linear-gradient(96deg,var(--ob-logo-magenta),var(--ob-logo-pink) 55%,var(--ob-logo-blue)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ob-hero-lead { max-width:690px; margin:0; color:#66728a; font-size:16px; line-height:1.74; }
.ob-hero-points { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:30px 0 0; max-width:730px; }
.ob-hero-points>div { min-height:112px; padding:16px 17px; border:1px solid #e8ecf4; border-radius:20px; background:rgba(255,255,255,.82); box-shadow:0 10px 30px rgba(7,45,111,.045); }
.ob-hero-points>div>span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:linear-gradient(135deg,#edf3ff,#fff0f8); color:var(--ob-logo-magenta); font-size:8px; font-weight:800; }
.ob-hero-points strong { display:block; margin:13px 0 5px; color:var(--ob-logo-navy); font-size:12px; }
.ob-hero-points small { display:block; color:#7c869a; font-size:9px; line-height:1.55; }
.ob-trust-strip { display:flex; align-items:center; gap:9px; margin-top:18px; color:#8290a5; font-size:9px; font-weight:700; }
.ob-trust-dot { width:8px; height:8px; border-radius:50%; background:var(--ob-logo-blue); box-shadow:0 0 0 5px rgba(61,97,161,.08); }

/* Travel collage built around actual hotel imagery */
.ob-travel-collage { position:relative; min-height:525px; }
.ob-photo { position:absolute; overflow:hidden; border-radius:30px; background:#edf0f7; box-shadow:0 26px 65px rgba(7,45,111,.16); border:5px solid rgba(255,255,255,.92); }
.ob-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.ob-photo-main { width:78%; height:375px; right:0; top:14px; transform:rotate(1.7deg); }
.ob-photo-side { width:47%; height:225px; left:0; bottom:18px; transform:rotate(-3deg); z-index:3; }
.ob-intent-ticket { position:absolute; left:2%; top:18px; z-index:6; width:255px; padding:17px 18px; border-radius:21px; background:rgba(255,255,255,.96); box-shadow:0 24px 55px rgba(7,45,111,.17); border:1px solid rgba(7,45,111,.08); backdrop-filter:blur(14px); }
.ob-intent-ticket-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:11px; }
.ob-intent-ticket-top span { color:var(--ob-logo-magenta); font-size:8px; font-weight:900; letter-spacing:1.4px; }
.ob-intent-ticket-top b { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:#fff; font-size:8px; background:linear-gradient(135deg,var(--ob-logo-navy),var(--ob-logo-blue)); }
.ob-intent-ticket>strong { display:block; font-size:15px; color:var(--ob-logo-navy); letter-spacing:-.4px; }
.ob-intent-ticket>small { display:block; margin-top:5px; color:#8993a7; font-size:9px; }
.ob-intent-route { display:flex; align-items:center; gap:5px; margin-top:15px; }
.ob-intent-route span { width:32px; height:5px; border-radius:99px; background:#edf0f5; }
.ob-intent-route span:nth-child(1){background:var(--ob-logo-navy)} .ob-intent-route span:nth-child(2){background:var(--ob-logo-blue)} .ob-intent-route span:nth-child(3){background:var(--ob-logo-magenta)}
.ob-intent-route i { margin-left:auto; color:var(--ob-logo-magenta); font-style:normal; font-size:18px; font-weight:800; }
.ob-live-offer-card { position:absolute; z-index:7; min-width:170px; padding:13px 14px; border-radius:16px; color:#fff; box-shadow:0 20px 45px rgba(7,45,111,.2); }
.ob-live-offer-card span { display:block; font-size:7px; font-weight:900; letter-spacing:1px; opacity:.78; }
.ob-live-offer-card strong { display:block; margin:4px 0 2px; font-size:18px; }
.ob-live-offer-card small { font-size:8px; opacity:.8; }
.ob-live-offer-a { right:-10px; bottom:54px; background:linear-gradient(135deg,var(--ob-logo-navy),var(--ob-logo-blue)); transform:rotate(2deg); }
.ob-live-offer-b { right:32%; top:356px; background:linear-gradient(135deg,var(--ob-logo-magenta),var(--ob-logo-pink)); transform:rotate(-2deg); }
.ob-brand-spark { position:absolute; z-index:8; right:34px; top:30px; width:62px; height:62px; border-radius:19px; display:grid; place-items:center; color:#fff; font-size:32px; font-weight:300; background:linear-gradient(135deg,var(--ob-logo-magenta),var(--ob-logo-pink)); box-shadow:0 20px 38px rgba(203,12,128,.28); transform:rotate(7deg); }

/* Search console: energetic but clean */
.ob-search-card { position:relative; z-index:5; max-width:none; margin:46px 0 0; padding:24px 26px 18px; color:var(--ob-ink); border:1px solid rgba(7,45,111,.10); background:rgba(255,255,255,.96); box-shadow:0 28px 75px rgba(7,45,111,.11); border-radius:28px; }
.ob-search-card:before { content:""; position:absolute; left:24px; right:24px; top:0; height:4px; border-radius:0 0 999px 999px; background:linear-gradient(90deg,var(--ob-logo-navy) 0 27%,var(--ob-logo-blue) 27% 52%,var(--ob-logo-magenta) 52% 78%,var(--ob-logo-pink) 78% 100%); }
.ob-search-heading .ob-eyebrow { color:var(--ob-logo-magenta); }
.ob-search-heading h2 { color:var(--ob-logo-navy); font-size:21px; }
.ob-secure-badge { color:#65718a; background:#f8faff; border-color:#e7ebf4; }
.ob-secure-dot { background:var(--ob-logo-blue); box-shadow:0 0 0 4px rgba(61,97,161,.08); }
.ob-field label { color:#66728a; }
.ob-field input,.ob-field select,.ob-child-age select { border-color:#e2e7f0; background:#fbfcff; color:var(--ob-logo-navy); }
.ob-field input:focus,.ob-field select:focus { border-color:rgba(203,12,128,.5); box-shadow:0 0 0 4px rgba(203,12,128,.06); }
.ob-input-icon { color:var(--ob-logo-magenta); }
.ob-primary-button { background:linear-gradient(108deg,var(--ob-logo-navy),var(--ob-logo-blue) 42%,var(--ob-logo-magenta) 100%); box-shadow:0 14px 30px rgba(203,12,128,.16); }
.ob-primary-button:hover { box-shadow:0 18px 36px rgba(7,45,111,.20); }
.ob-search-status { color:var(--ob-logo-magenta); }
.ob-lock { color:var(--ob-logo-blue); }

/* Beat strip */
.ob-brand-beat { overflow:hidden; background:var(--ob-logo-navy); color:#fff; border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(255,255,255,.08); }
.ob-brand-beat-track { display:flex; width:max-content; align-items:center; gap:22px; padding:13px 0; animation:obBeatMarquee 24s linear infinite; font-size:10px; font-weight:800; letter-spacing:1.35px; white-space:nowrap; }
.ob-brand-beat-track b { color:#ff6fbd; }.ob-brand-beat-track i{color:#d64c9f;font-style:normal}
@keyframes obBeatMarquee { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){.ob-brand-beat-track{animation:none}.orbit{animation:none}}

/* Live/searching state carries logo palette */
.ob-live-stage { background:radial-gradient(circle at 50% 30%,rgba(203,12,128,.13),transparent 28%),linear-gradient(180deg,#061d4c,#072d6f); }
.ob-searching-shell .ob-eyebrow { color:#ff8dcc; }
.ob-searching-orbit .orbit { border-color:rgba(255,255,255,.18); }
.orbit-b { border-color:rgba(101,153,232,.34); }.orbit-c{border-color:rgba(238,91,179,.30)}
.orbit-core { background:linear-gradient(135deg,var(--ob-logo-navy),var(--ob-logo-magenta)); }
.ob-progress-line span { background:linear-gradient(90deg,var(--ob-logo-blue),var(--ob-logo-magenta)); }
.ob-progress-steps span.is-active { color:#ffd0e9; }

/* Offer room — actual hotel imagery + brand match hierarchy */
.ob-results-stage { background:#f7f9fc; }
.ob-results-head h2 { color:var(--ob-logo-navy); }
.ob-results-head .ob-eyebrow,.ob-selected-stage .ob-eyebrow,.ob-success-stage .ob-eyebrow { color:var(--ob-logo-magenta); }
.ob-results-privacy { border-color:#e6ebf3; }
.ob-private-pulse { background:var(--ob-logo-blue); box-shadow:0 0 0 5px rgba(61,97,161,.09); }
.ob-chip:hover,.ob-chip.is-active { border-color:rgba(203,12,128,.26); background:#fff3fa; color:var(--ob-logo-magenta); }
.ob-offer-card { grid-template-columns:210px minmax(0,1fr); border-color:#e4e9f2; box-shadow:0 12px 34px rgba(7,45,111,.055); }
.ob-offer-card:hover { border-color:rgba(203,12,128,.22); box-shadow:0 20px 48px rgba(7,45,111,.11); }
.ob-offer-visual { background-size:cover; background-position:center; }
.ob-offer-visual:before { display:none; }
.ob-offer-visual:after { background:linear-gradient(90deg,var(--ob-logo-blue),var(--ob-logo-magenta)); }
.ob-match-badge { left:14px; bottom:27px; display:inline-flex; align-items:center; width:max-content; padding:7px 9px; border-radius:999px; background:linear-gradient(105deg,var(--ob-logo-magenta),var(--ob-logo-pink)); color:#fff; font-size:9px; }
.ob-offer-rank { background:rgba(255,255,255,.90); color:var(--ob-logo-navy); border:0; }
.ob-offer-stars { color:#fff; text-shadow:0 1px 10px rgba(0,0,0,.35); }
.ob-offer-property { color:var(--ob-logo-navy); }
.ob-price strong { color:var(--ob-logo-magenta); }
.ob-select-offer { background:var(--ob-logo-navy); }
.ob-select-offer:hover { background:linear-gradient(105deg,var(--ob-logo-navy),var(--ob-logo-magenta)); }
.ob-tag.is-positive { background:#fff1f8; color:#a3116d; }

/* Marketing story */
.ob-shift { padding:100px 0; background:#fff; }
.ob-section-heading h2,.ob-section-heading-wide h2 { color:var(--ob-logo-navy); }
.ob-section-heading-wide p { color:#707c92; font-size:14px; }
.ob-eyebrow { color:var(--ob-logo-magenta); }
.ob-shift-grid { gap:18px; }
.ob-shift-card { min-height:240px; padding:30px; border-radius:28px; }
.ob-shift-card.is-muted { background:#f7f9fc; border-color:#e7ebf3; }
.ob-shift-card.is-brand { background:linear-gradient(135deg,var(--ob-logo-navy) 0%,var(--ob-logo-blue) 52%,var(--ob-logo-magenta) 100%); box-shadow:0 28px 60px rgba(7,45,111,.20); }
.ob-shift-arrow { color:var(--ob-logo-magenta); }
.ob-how { padding:94px 0; background:linear-gradient(180deg,#fbfcff,#f7f9fd); }
.ob-how-grid { position:relative; }
.ob-how-grid:before { content:""; position:absolute; top:36px; left:9%; right:9%; height:2px; background:linear-gradient(90deg,var(--ob-logo-navy),var(--ob-logo-blue),var(--ob-logo-magenta),var(--ob-logo-pink)); opacity:.28; }
.ob-how-grid article { position:relative; z-index:2; border-color:#e5eaf3; box-shadow:0 12px 30px rgba(7,45,111,.04); }
.ob-how-grid article>span { background:linear-gradient(135deg,#edf3ff,#fff0f8); color:var(--ob-logo-magenta); border:1px solid rgba(203,12,128,.08); }
.ob-trust-section { padding:96px 0; background:linear-gradient(135deg,#061d4c,#072d6f 52%,#123e80); }
.ob-trust-copy .ob-eyebrow { color:#ff83c4; }
.ob-trust-cards>div { background:rgba(255,255,255,.075); border-color:rgba(255,255,255,.12); }
.ob-trust-cards>div>span { background:linear-gradient(135deg,rgba(61,97,161,.38),rgba(203,12,128,.32)); color:#fff; }

/* Hotels CTA */
.ob-hotelier-cta { padding:88px 0; background:#fff; }
.ob-hotelier-cta-inner { position:relative; overflow:hidden; border:0; border-radius:32px; padding:42px 44px; background:
    radial-gradient(circle at 90% 10%,rgba(224,67,160,.18),transparent 31%),
    radial-gradient(circle at 68% 100%,rgba(61,97,161,.13),transparent 32%),
    linear-gradient(135deg,#f5f8ff,#fff5fb); box-shadow:0 24px 60px rgba(7,45,111,.09); }
.ob-hotelier-cta-inner:before { content:"HOTELS"; position:absolute; right:18px; bottom:-35px; color:rgba(7,45,111,.045); font-size:120px; line-height:1; font-weight:900; letter-spacing:-8px; pointer-events:none; }
.ob-hotelier-cta h2 { position:relative; color:var(--ob-logo-navy); font-size:31px; max-width:820px; }
.ob-hotelier-cta p { position:relative; color:#6f7b91; font-size:12px; }
.ob-secondary-button { position:relative; background:linear-gradient(105deg,var(--ob-logo-navy),var(--ob-logo-magenta)); min-height:50px; border-radius:15px; box-shadow:0 14px 28px rgba(203,12,128,.15); }

/* Selection / handoff — quiet, premium trust after selection */
.ob-selected-stage { background:linear-gradient(180deg,#f8faff,#fff); }
.ob-selected-context h2,.ob-identity-card h3 { color:var(--ob-logo-navy); }
.ob-privacy-card { border-color:#e0e7f3; background:#f6f9ff; }
.ob-privacy-icon { color:var(--ob-logo-blue); }
.ob-vault-label { color:#8d1c67; background:#fff0f8; }
.ob-success-icon { background:linear-gradient(135deg,var(--ob-logo-navy),var(--ob-logo-magenta)); }

/* Footer exact logo */
.ob-footer { background:#f8f9fc; border-top:1px solid #e7ebf3; }
.ob-footer-inner { min-height:116px; }
.ob-brand-footer { width:230px; min-width:190px; }
.ob-footer p { color:#788398; }
.ob-footer-links a { color:var(--ob-logo-navy); }

/* Hotelier / supplier page */
.ob-hoteliers-page { background:#fff; }
.ob-partner-hero { padding:72px 0 92px; background:
    radial-gradient(circle at 7% 15%,rgba(61,97,161,.10),transparent 25%),
    radial-gradient(circle at 88% 16%,rgba(224,67,160,.12),transparent 25%),
    linear-gradient(180deg,#fff,#fafbfe); }
.ob-partner-hero-grid { grid-template-columns:minmax(0,1fr) minmax(430px,.9fr); gap:74px; }
.ob-partner-copy h1 { color:var(--ob-logo-navy); font-size:clamp(46px,5vw,72px); line-height:.98; letter-spacing:-4px; }
.ob-partner-copy h1 span { background:linear-gradient(98deg,var(--ob-logo-magenta),var(--ob-logo-pink),var(--ob-logo-blue)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ob-partner-copy>p { color:#69758c; font-size:15px; }
.ob-text-link { color:var(--ob-logo-magenta); }
.ob-partner-photo-stage { min-height:500px; }
.ob-partner-photo { position:absolute; inset:35px 0 0 45px; overflow:hidden; border-radius:34px; border:6px solid #fff; box-shadow:0 28px 70px rgba(7,45,111,.15); transform:rotate(1.5deg); }
.ob-partner-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.ob-demand-signal { position:absolute; left:0; top:6px; z-index:4; width:280px; padding:18px; border-radius:21px; background:#fff; border:1px solid #e5eaf3; box-shadow:0 20px 50px rgba(7,45,111,.14); }
.ob-demand-signal>span { color:var(--ob-logo-magenta); font-size:8px; font-weight:900; letter-spacing:1.2px; }
.ob-demand-signal>strong { display:block; margin:8px 0 4px; color:var(--ob-logo-navy); font-size:16px; }
.ob-demand-signal>small { color:#7c879b; font-size:9px; line-height:1.5; }
.ob-demand-flow { display:flex; align-items:center; gap:7px; margin-top:14px; }
.ob-demand-flow b { padding:6px 8px; border-radius:999px; background:#f2f5fa; color:var(--ob-logo-navy); font-size:7px; }.ob-demand-flow i{color:var(--ob-logo-magenta);font-style:normal}
.ob-hotel-offer-chip { position:absolute; right:-12px; bottom:48px; z-index:6; min-width:175px; padding:15px 16px; border-radius:18px; color:#fff; background:linear-gradient(135deg,var(--ob-logo-magenta),var(--ob-logo-pink)); box-shadow:0 22px 44px rgba(203,12,128,.25); transform:rotate(2deg); }
.ob-hotel-offer-chip span { display:block; font-size:7px; font-weight:900; letter-spacing:1px; opacity:.75; }.ob-hotel-offer-chip strong{display:block;margin:3px 0;font-size:21px}.ob-hotel-offer-chip small{font-size:8px;opacity:.8}
.ob-connect-chip { position:absolute; left:22%; bottom:10px; z-index:6; padding:10px 13px; border-radius:999px; background:var(--ob-logo-navy); color:#fff; font-size:8px; font-weight:800; letter-spacing:.7px; box-shadow:0 14px 30px rgba(7,45,111,.20); }
.ob-partner-intro { background:#fff; }
.ob-partner-steps article { background:#fbfcff; border-color:#e5eaf3; box-shadow:0 10px 28px rgba(7,45,111,.035); }
.ob-partner-steps article>span { background:linear-gradient(135deg,#edf3ff,#fff0f8); color:var(--ob-logo-magenta); }
.ob-partner-value { background:linear-gradient(135deg,#061d4c,#072d6f 58%,#113c7b); }
.ob-partner-value .ob-eyebrow { color:#ff86c7; }
.ob-partner-benefits article>span { background:rgba(224,67,160,.18); color:#ffb7df; }
.ob-partner-compare { background:#f8fafd; }
.ob-compare-row strong { color:var(--ob-logo-magenta); background:#fff4fa; }
.ob-compare-row.is-head { background:var(--ob-logo-navy); }
.ob-partner-final-inner { background:radial-gradient(circle at 88% 20%,rgba(224,67,160,.18),transparent 28%),linear-gradient(135deg,#f4f8ff,#fff4fa); border-color:#e6eaf2; }
.ob-partner-final h2 { color:var(--ob-logo-navy); }

/* Responsive adjustments */
@media (max-width:1120px){
    .ob-hero-layout,.ob-partner-hero-grid{grid-template-columns:1fr;gap:36px}
    .ob-hero-copy{text-align:center}.ob-hero h1,.ob-hero-lead{margin-left:auto;margin-right:auto}
    .ob-hero-points{margin-left:auto;margin-right:auto}.ob-trust-strip{justify-content:center}
    .ob-travel-collage{max-width:720px;width:100%;margin:0 auto;min-height:470px}
    .ob-search-console{grid-template-columns:1.4fr 1fr 1fr}.ob-guest-cluster{grid-column:1/3}.ob-primary-button{grid-column:3}
    .ob-partner-photo-stage{max-width:700px;width:100%;margin:0 auto}
}
@media (max-width:780px){
    .ob-shell{width:min(calc(100% - 28px),1280px)}
    .ob-header-inner{min-height:72px}.ob-brand-logo{width:220px;min-width:180px;max-width:62vw}.ob-nav-link{display:none}.ob-nav{gap:8px}
    .ob-hero{padding:42px 0 40px}.ob-hero h1{font-size:clamp(39px,11vw,58px);letter-spacing:-2.7px}.ob-hero-lead{font-size:14px}
    .ob-hero-points{grid-template-columns:1fr}.ob-hero-points>div{min-height:auto;display:grid;grid-template-columns:30px 1fr;column-gap:10px}.ob-hero-points strong{margin:1px 0 2px}.ob-hero-points small{grid-column:2}
    .ob-travel-collage{min-height:390px}.ob-photo-main{width:88%;height:285px}.ob-photo-side{width:52%;height:170px}.ob-intent-ticket{width:220px;top:8px}.ob-live-offer-b{display:none}.ob-live-offer-a{right:0;bottom:24px}.ob-brand-spark{width:48px;height:48px;font-size:25px;right:10px;top:22px}
    .ob-search-card{padding:22px 17px 15px;margin-top:28px}.ob-search-heading{display:block}.ob-secure-badge{margin-top:10px}.ob-search-console{grid-template-columns:1fr 1fr}.ob-field-destination{grid-column:1/-1}.ob-guest-cluster{grid-column:1/-1}.ob-primary-button{grid-column:1/-1}.ob-search-foot{align-items:flex-start;flex-direction:column}.ob-child-ages{grid-template-columns:1fr 1fr}
    .ob-offer-card{grid-template-columns:1fr}.ob-offer-visual{min-height:170px}.ob-offer-body{grid-template-columns:1fr;gap:13px}.ob-price-row{justify-content:space-between}.ob-price{text-align:left}
    .ob-how-grid:before{display:none}.ob-shift-grid{grid-template-columns:1fr}.ob-shift-arrow{transform:rotate(90deg)}
    .ob-hotelier-cta-inner,.ob-partner-final-inner{padding:29px 24px;display:block}.ob-secondary-button,.ob-partner-final .ob-primary-button{margin-top:20px;width:100%}
    .ob-partner-copy h1{font-size:clamp(40px,11vw,58px);letter-spacing:-2.8px}.ob-partner-photo-stage{min-height:390px}.ob-partner-photo{inset:40px 0 0 22px}.ob-demand-signal{width:235px}.ob-hotel-offer-chip{right:0;bottom:28px}.ob-connect-chip{left:10px;bottom:0}
    .ob-brand-footer{width:200px}.ob-footer-inner{display:grid;gap:10px;padding:24px 0}
}
@media (max-width:520px){
    .ob-brand-logo{width:190px}.ob-lang button{padding:6px 8px}
    .ob-travel-collage{min-height:340px}.ob-photo-main{width:92%;height:250px}.ob-photo-side{height:140px}.ob-intent-ticket{width:200px;padding:13px}.ob-live-offer-a{min-width:148px;padding:11px}.ob-brand-spark{display:none}
    .ob-guest-cluster{grid-template-columns:repeat(3,1fr)}.ob-child-ages{grid-template-columns:1fr}
    .ob-brand-beat-track{font-size:8px}
}

/* ========================================================================
   Stage 5A.4 — plain-language UX + mobile navigation
   ======================================================================== */
:root {
    --ob-logo-navy:#072d6f;
    --ob-logo-magenta:#cb0c80;
    --ob-logo-pink:#e043a0;
    --ob-logo-blue:#3d61a1;
    --ob-soft:#f7f9fd;
    --ob-border:#e7ebf3;
}

html { scroll-padding-top:96px; }
[id] { scroll-margin-top:96px; }
.ob-header { position:sticky; top:0; z-index:80; }
.ob-header-inner { display:flex; align-items:center; gap:24px; }
.ob-header-tools { display:flex; align-items:center; gap:10px; margin-left:auto; }
.ob-nav-desktop { margin-left:auto; }
.ob-nav-hotelier { color:var(--ob-logo-magenta)!important; font-weight:800!important; }

.ob-menu-toggle {
    width:44px; height:44px; display:none; align-items:center; justify-content:center; flex-direction:column; gap:5px;
    border:1px solid var(--ob-border); border-radius:14px; background:#fff; cursor:pointer; padding:0;
    box-shadow:0 8px 24px rgba(7,45,111,.05);
}
.ob-menu-toggle span { width:19px; height:2px; border-radius:999px; background:var(--ob-logo-navy); transition:transform .2s ease,opacity .2s ease; }
.ob-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ob-menu-toggle.is-open span:nth-child(2){opacity:0}
.ob-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.ob-mobile-menu { position:absolute; left:0; right:0; top:100%; background:rgba(255,255,255,.98); border-top:1px solid #eef1f6; border-bottom:1px solid var(--ob-border); box-shadow:0 22px 45px rgba(7,45,111,.10); }
.ob-mobile-menu[hidden]{display:none!important}
.ob-mobile-menu-inner { padding-top:10px; padding-bottom:16px; display:grid; gap:6px; }
.ob-mobile-menu button,.ob-mobile-menu a {
    display:flex; align-items:center; width:100%; min-height:48px; padding:0 14px; border:0; border-radius:14px; background:transparent;
    color:var(--ob-logo-navy); font:inherit; font-size:14px; font-weight:750; text-decoration:none; text-align:left; cursor:pointer;
}
.ob-mobile-menu button:hover,.ob-mobile-menu a:hover { background:#f7f8fc; }
.ob-mobile-menu a:last-child { margin-top:4px; color:#fff; background:linear-gradient(100deg,var(--ob-logo-navy),var(--ob-logo-magenta)); justify-content:center; }

/* Readable, human copy */
.ob-hero h1,.ob-section-heading h2,.ob-difference-copy h2,.ob-hotelier-copy h2,.ob-partner-copy h1,.ob-partner-value h2,.ob-partner-final h2 {
    word-break:normal; overflow-wrap:normal; hyphens:none;
}
.ob-hero h1 { line-height:1.04; }
.ob-hero-lead { font-size:17px; line-height:1.7; max-width:650px; }
.ob-kicker,.ob-eyebrow { letter-spacing:.16em; }
.ob-search-heading h2 { line-height:1.25; }
.ob-search-foot { gap:18px; }
.ob-form-note { max-width:680px; }

/* What is OffersBeat */
.ob-what { padding:96px 0; background:#fff; }
.ob-simple-compare { display:grid; grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr); gap:22px; align-items:stretch; margin-top:38px; }
.ob-simple-card { padding:34px; border-radius:28px; border:1px solid var(--ob-border); background:#fff; box-shadow:0 18px 48px rgba(7,45,111,.055); }
.ob-simple-card.is-old { background:#f8f9fc; color:#5f6a7e; }
.ob-simple-card.is-new { background:linear-gradient(145deg,#fff 0%,#fff5fb 50%,#f2f6ff 100%); border-color:rgba(203,12,128,.16); box-shadow:0 22px 56px rgba(203,12,128,.08); }
.ob-card-label { display:inline-block; margin-bottom:18px; font-size:10px; font-weight:800; letter-spacing:.17em; color:#8a93a5; }
.ob-simple-card.is-new .ob-card-label { color:var(--ob-logo-magenta); }
.ob-simple-card h3 { margin:0 0 10px; font-size:28px; line-height:1.15; color:var(--ob-logo-navy); letter-spacing:-1px; }
.ob-simple-card p { margin:0; color:#69758a; font-size:15px; line-height:1.7; }
.ob-simple-arrow { display:grid; place-items:center; color:var(--ob-logo-magenta); font-size:30px; font-weight:800; }

/* Three easy steps */
.ob-how { padding:96px 0; background:linear-gradient(180deg,#fafbfe,#fff); }
.ob-how-grid-three { grid-template-columns:repeat(3,1fr)!important; }
.ob-how-grid-three article { min-height:220px; }
.ob-how-grid-three article h3 { font-size:20px; line-height:1.3; }
.ob-how-grid-three article p { font-size:14px; line-height:1.65; }

/* Difference section */
.ob-difference { padding:96px 0; background:var(--ob-logo-navy); color:#fff; overflow:hidden; position:relative; }
.ob-difference:after { content:""; position:absolute; width:430px; height:430px; border-radius:50%; right:-180px; bottom:-230px; border:1px solid rgba(255,255,255,.14); box-shadow:0 0 0 55px rgba(224,67,160,.035),0 0 0 110px rgba(61,97,161,.04); }
.ob-difference-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); gap:72px; align-items:center; position:relative; z-index:1; }
.ob-difference .ob-eyebrow { color:#ff84c7; }
.ob-difference-copy h2 { margin:14px 0 18px; font-size:clamp(36px,4.5vw,62px); line-height:1.02; letter-spacing:-2.5px; color:#fff; }
.ob-difference-copy>p { margin:0; color:#cdd8eb; font-size:16px; line-height:1.75; }
.ob-plain-trust { display:flex; gap:12px; align-items:flex-start; margin-top:24px; padding:16px 18px; border-radius:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.11); }
.ob-plain-trust span { display:grid; place-items:center; width:26px; height:26px; flex:0 0 26px; border-radius:50%; background:#fff; color:var(--ob-logo-magenta); font-weight:900; }
.ob-plain-trust p { margin:1px 0 0; color:#e6ebf5; font-size:13px; line-height:1.55; }
.ob-difference-points { display:grid; gap:12px; }
.ob-difference-points>div { padding:22px 24px; border-radius:22px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.11); }
.ob-difference-points strong { display:block; color:#fff; font-size:18px; margin-bottom:5px; }
.ob-difference-points p { margin:0; color:#bfcbe1; font-size:13px; line-height:1.55; }

/* Hoteliers — obvious and easy to find */
.ob-hotelier-cta { padding:88px 0; background:linear-gradient(115deg,#fff3fa,#f3f7ff); }
.ob-hotelier-cta-inner { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.55fr); gap:52px; align-items:center; padding:42px 46px; border:1px solid rgba(203,12,128,.13); border-radius:32px; background:rgba(255,255,255,.88); box-shadow:0 24px 65px rgba(7,45,111,.08); }
.ob-hotelier-copy h2 { margin:12px 0 14px; max-width:780px; font-size:clamp(32px,4vw,52px); line-height:1.06; letter-spacing:-2px; color:var(--ob-logo-navy); }
.ob-hotelier-copy>p { max-width:760px; margin:0; color:#65718a; font-size:15px; line-height:1.72; }
.ob-hotelier-mini-points { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.ob-hotelier-mini-points span { padding:8px 11px; border-radius:999px; background:#f8eff6; color:#7d2c5f; font-size:11px; font-weight:750; }
.ob-hotelier-action { display:grid; gap:12px; justify-items:start; }
.ob-hotelier-action small { color:#8a93a4; line-height:1.5; }

/* Hotelier page simplification */
.ob-partner-hero-simple .ob-partner-copy p { max-width:720px; font-size:17px; line-height:1.72; }
.ob-partner-hero-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:28px; }
.ob-text-link { color:var(--ob-logo-navy); font-weight:750; text-decoration:none; border-bottom:1px solid rgba(7,45,111,.25); padding-bottom:2px; }
.ob-partner-explain { padding:94px 0; background:#fff; }
.ob-partner-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:38px; }
.ob-partner-steps article { padding:26px 24px; border:1px solid var(--ob-border); border-radius:24px; background:#fff; box-shadow:0 16px 40px rgba(7,45,111,.045); }
.ob-partner-steps article>span { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:linear-gradient(135deg,#edf3ff,#fff0f8); color:var(--ob-logo-magenta); font-size:10px; font-weight:800; }
.ob-partner-steps h3 { margin:20px 0 9px; color:var(--ob-logo-navy); font-size:18px; line-height:1.3; }
.ob-partner-steps p { margin:0; color:#778196; font-size:13px; line-height:1.6; }
.ob-partner-value-grid>div:first-child>p { color:#66728a; font-size:15px; line-height:1.72; }
.ob-partner-compare-simple { padding:90px 0; background:#f8f9fd; }
.ob-hotelier-compare { margin-top:32px; }

/* mobile: simpler, faster, readable */
@media (max-width:780px){
    html { scroll-padding-top:76px; }
    [id] { scroll-margin-top:76px; }
    .ob-header-inner { min-height:72px; gap:10px; }
    .ob-brand-logo { width:210px; min-width:0; max-width:60vw; }
    .ob-nav-desktop { display:none!important; }
    .ob-menu-toggle { display:flex; }
    .ob-header-tools { gap:7px; }
    .ob-lang { padding:3px; }
    .ob-lang button { min-width:37px; height:34px; font-size:11px; }

    .ob-hero { padding:34px 0 34px; }
    .ob-hero-layout { gap:18px; }
    .ob-hero-copy { text-align:left; }
    .ob-kicker { font-size:9px; line-height:1.45; letter-spacing:.11em; }
    .ob-hero h1 { margin:16px 0 15px; font-size:clamp(36px,10.5vw,48px); line-height:1.07; letter-spacing:-1.7px; }
    .ob-hero h1 br { display:none; }
    .ob-hero h1 span { display:block; margin-top:5px; }
    .ob-hero-lead { margin:0; font-size:14px; line-height:1.62; }
    .ob-hero-points { display:none!important; }
    .ob-trust-strip { justify-content:flex-start; margin-top:17px; font-size:11px; }
    .ob-hero-visual { display:none!important; }

    .ob-search-card { margin-top:24px; padding:20px 16px 15px; border-radius:24px; }
    .ob-search-card:before { left:18px; right:18px; }
    .ob-search-heading h2 { font-size:25px; line-height:1.18; letter-spacing:-.8px; }
    .ob-search-heading .ob-eyebrow { font-size:9px; }
    .ob-secure-badge { font-size:9px; }
    .ob-field label { font-size:11px; }
    .ob-field input,.ob-field select { min-height:52px; font-size:14px; }
    .ob-primary-button { min-height:54px; font-size:14px; }
    .ob-search-foot { font-size:10px; }
    .ob-search-status { display:none; }
    .ob-brand-beat { display:none; }

    .ob-what,.ob-how,.ob-hotelier-cta,.ob-partner-explain,.ob-partner-compare-simple { padding:66px 0; }
    .ob-section-heading { text-align:left; }
    .ob-section-heading h2 { font-size:34px; line-height:1.08; letter-spacing:-1.4px; }
    .ob-section-heading p { font-size:14px; line-height:1.65; }
    .ob-simple-compare { grid-template-columns:1fr; gap:12px; margin-top:26px; }
    .ob-simple-arrow { transform:rotate(90deg); height:28px; }
    .ob-simple-card { padding:24px 21px; border-radius:22px; }
    .ob-simple-card h3 { font-size:23px; }
    .ob-simple-card p { font-size:14px; }

    .ob-how-grid-three { grid-template-columns:1fr!important; gap:12px; }
    .ob-how-grid-three article { min-height:0; padding:23px 21px; }

    .ob-difference { padding:68px 0; }
    .ob-difference-grid { grid-template-columns:1fr; gap:30px; }
    .ob-difference-copy h2 { font-size:36px; line-height:1.07; letter-spacing:-1.4px; }
    .ob-difference-copy>p { font-size:14px; }
    .ob-difference-points>div { padding:19px 20px; }

    .ob-hotelier-cta-inner { grid-template-columns:1fr; gap:28px; padding:28px 22px; border-radius:26px; }
    .ob-hotelier-copy h2 { font-size:34px; letter-spacing:-1.3px; }
    .ob-hotelier-copy>p { font-size:14px; }
    .ob-hotelier-action { justify-items:stretch; }
    .ob-hotelier-action .ob-secondary-button { width:100%; justify-content:center; text-align:center; }

    .ob-partner-hero { padding:44px 0 50px!important; }
    .ob-partner-copy { text-align:left!important; }
    .ob-partner-copy h1 { font-size:40px!important; line-height:1.06!important; letter-spacing:-1.6px!important; }
    .ob-partner-hero-simple .ob-partner-copy p { font-size:14px; }
    .ob-partner-hero-actions { align-items:stretch; flex-direction:column; }
    .ob-partner-hero-actions .ob-inline-button { width:100%; justify-content:center; }
    .ob-partner-steps { grid-template-columns:1fr; }
    .ob-partner-value-grid { gap:28px; }
    .ob-partner-value-grid h2 { font-size:34px!important; line-height:1.08!important; letter-spacing:-1.3px!important; }
    .ob-partner-final-inner { padding:30px 22px!important; }
}

@media (max-width:430px){
    .ob-brand-logo { width:196px; max-width:58vw; }
    .ob-header-tools { gap:5px; }
    .ob-menu-toggle { width:40px; height:40px; border-radius:12px; }
    .ob-lang button { min-width:34px; height:32px; }
    .ob-hero h1 { font-size:35px; letter-spacing:-1.25px; }
    .ob-search-console { gap:10px; }
    .ob-search-heading h2 { font-size:23px; }
    .ob-guest-cluster { gap:7px; }
    .ob-field input,.ob-field select { font-size:13px; }
}

/* --------------------------------------------------------------------------
   Stage 5A.5 — Hotel-first offer presentation
   One hotel card first; room/rate choices are secondary. The public price
   hierarchy is regular/reference price -> actionable hotel offer -> savings.
   -------------------------------------------------------------------------- */
.ob-hotel-offer-card{grid-template-columns:220px minmax(0,1fr);align-items:stretch}
.ob-hotel-offer-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(225px,280px);gap:22px;padding:24px 26px;align-items:start}
.ob-hotel-main{min-width:0}
.ob-hotel-offer-label{display:block;margin:0 0 7px;color:var(--ob-logo-magenta);font-size:10px;font-weight:900;letter-spacing:1.25px}
.ob-hotel-offer-body .ob-offer-property{font-size:27px;line-height:1.05;margin-bottom:7px}
.ob-hotel-offer-body .ob-offer-location{margin-bottom:15px}
.ob-hotel-offer-body .ob-tags{margin:0 0 18px}
.ob-recommended-room{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;padding:13px 15px;border:1px solid #e9edf4;border-radius:14px;background:#f8faff}
.ob-recommended-room span{grid-column:1/-1;color:#7b8395;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.ob-recommended-room strong{color:var(--ob-logo-navy);font-size:14px}
.ob-recommended-room small{color:#80889a;font-size:11px}
.ob-hotel-price-panel{padding:17px 18px;border:1px solid #e7eaf1;border-radius:18px;background:linear-gradient(160deg,#fff,#fbf8ff);box-shadow:0 8px 28px rgba(7,45,111,.045)}
.ob-regular-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:3px;color:#7c8495;font-size:11px}
.ob-regular-price del{font-size:15px;color:#7e8594;text-decoration-thickness:1.5px}
.ob-offer-price-label{font-size:10px;font-weight:900;letter-spacing:.65px;text-transform:uppercase;color:var(--ob-logo-magenta)}
.ob-hotel-offer-price{margin-top:2px;color:var(--ob-logo-magenta);font-size:33px;line-height:1;font-weight:900;letter-spacing:-1.2px}
.ob-stay-caption{margin:5px 0 10px;color:#858c9c;font-size:11px}
.ob-savings-pill{display:inline-flex;align-items:center;gap:5px;margin:0 0 13px;padding:7px 9px;border-radius:999px;background:#eaf8f1;color:#14724f;font-size:10px;font-weight:800}
.ob-savings-pill strong{font-weight:900}
.ob-hotel-price-panel .ob-select-offer{width:100%;min-height:44px}
.ob-hotel-options-wrap{grid-column:1/-1;border-top:1px solid #edf0f5;padding-top:15px}
.ob-toggle-room-options{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;background:transparent;color:var(--ob-logo-navy);cursor:pointer;font:inherit;text-align:left}
.ob-toggle-room-options span{font-size:12px;font-weight:850}
.ob-toggle-room-options b{padding:6px 9px;border-radius:999px;background:#f4f0fb;color:#7c3cb5;font-size:9px;letter-spacing:.25px}
.ob-room-options{margin-top:13px;display:grid;gap:8px}
.ob-room-options[hidden]{display:none!important}
.ob-room-option{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 13px;border:1px solid #e9edf3;border-radius:14px;background:#fff}
.ob-room-option.is-recommended{border-color:#ead5e4;background:#fffafd}
.ob-room-option-copy{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:4px 9px}
.ob-room-option-copy strong{color:var(--ob-logo-navy);font-size:12px}
.ob-room-option-copy small{color:#858c9b;font-size:10px}
.ob-room-option-copy span{padding:4px 6px;border-radius:999px;background:#f5e8f1;color:var(--ob-logo-magenta);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.45px}
.ob-room-option-price{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05}
.ob-room-option-price del{color:#9298a5;font-size:9px}
.ob-room-option-price strong{color:var(--ob-logo-magenta);font-size:15px}
.ob-select-offer.is-secondary{min-width:124px;height:36px;padding:0 10px;border-radius:10px;font-size:9px}
.selected-price-comparison{display:flex;flex-direction:column;align-items:flex-end;min-width:155px}
.selected-price-comparison small{color:#7f8797;font-size:10px}
.selected-price-comparison strong{margin:2px 0;color:var(--ob-logo-magenta);font-size:25px;line-height:1;font-weight:900}
.selected-price-comparison span{color:#14724f;font-size:9px;font-weight:850}

@media(max-width:860px){
  .ob-hotel-offer-card{grid-template-columns:180px minmax(0,1fr)}
  .ob-hotel-offer-body{grid-template-columns:1fr;gap:14px;padding:20px}
  .ob-hotel-options-wrap{grid-column:auto}
  .ob-hotel-price-panel{display:grid;grid-template-columns:1fr auto;gap:3px 14px;align-items:end}
  .ob-regular-price,.ob-offer-price-label,.ob-hotel-offer-price,.ob-stay-caption,.ob-savings-pill{grid-column:1}
  .ob-hotel-price-panel .ob-select-offer{grid-column:2;grid-row:1/7;align-self:end;width:auto;min-width:155px}
}

@media(max-width:620px){
  .ob-hotel-offer-card{grid-template-columns:1fr}
  .ob-hotel-offer-card .ob-offer-visual{min-height:165px}
  .ob-hotel-offer-body{padding:18px 17px;gap:14px}
  .ob-hotel-offer-body .ob-offer-property{font-size:24px}
  .ob-hotel-price-panel{display:block;padding:15px 16px}
  .ob-hotel-price-panel .ob-select-offer{width:100%;margin-top:4px}
  .ob-hotel-offer-price{font-size:31px}
  .ob-room-option{grid-template-columns:1fr auto;gap:9px 12px}
  .ob-room-option-copy{grid-column:1}
  .ob-room-option-price{grid-column:2;grid-row:1}
  .ob-room-option .ob-select-offer{grid-column:1/-1;width:100%;min-width:0}
  .ob-recommended-room{grid-template-columns:1fr}
  .ob-recommended-room span{grid-column:auto}
  .selected-price-comparison{align-items:flex-start;margin-top:10px}
}

/* --------------------------------------------------------------------------
   Stage 5A.6 — Multi-tab journey + automated hotelier positioning
   Search results and hotel/room detail flows live in focused browser tabs.
   -------------------------------------------------------------------------- */
.ob-search-newtab-note{color:#7f8798;font-size:9px;font-weight:750;white-space:nowrap}
.ob-new-tab-hint{display:block;margin-top:7px;color:#7e8798;font-size:9px;font-weight:750;text-align:center}
.ob-room-options-heading{margin:0 0 8px;color:var(--ob-logo-navy);font-size:13px;font-weight:900}
.ob-room-options-open{margin-top:0}

.ob-flow-page{background:#f6f8fc}
.ob-flow-page #home-stage,
.ob-flow-page .ob-brand-beat,
.ob-flow-page #what-is,
.ob-flow-page #how-it-works,
.ob-flow-page #difference,
.ob-flow-page #for-hoteliers,
.ob-flow-page .ob-footer{display:none!important}
.ob-flow-page .ob-live-stage,
.ob-flow-page .ob-results-stage,
.ob-flow-page .ob-selected-stage,
.ob-flow-page .ob-success-stage{min-height:calc(100vh - 88px)}
.ob-flow-page .ob-results-stage{padding-top:38px}
.ob-flow-page .ob-results-head{margin-bottom:24px}
.ob-flow-page .ob-offers-grid{padding-bottom:60px}
.ob-flow-page .ob-hotel-offer-card.is-hotel-detail,
.ob-flow-page .ob-hotel-offer-card.is-room-detail{max-width:980px;margin-inline:auto}
.ob-flow-page .ob-hotel-offer-card.is-hotel-detail .ob-hotel-options-wrap{margin-top:4px}
.ob-flow-page .ob-hotel-offer-card.is-room-detail .ob-offer-rank{display:none}

@media(max-width:780px){
  .ob-search-newtab-note{white-space:normal;font-size:9px;line-height:1.45}
  .ob-flow-page .ob-live-stage,.ob-flow-page .ob-results-stage,.ob-flow-page .ob-selected-stage,.ob-flow-page .ob-success-stage{min-height:calc(100vh - 72px)}
  .ob-flow-page .ob-results-stage{padding-top:22px}
  .ob-flow-page .ob-results-head{gap:16px}
  .ob-flow-page .ob-results-head h2{font-size:28px;line-height:1.08}
  .ob-new-tab-hint{text-align:left;margin-top:8px}
}

/* =========================================================
   Stage 5A.7 — Public product closure
   Legal / Cookies / White-label / Ecosystem / Hotel pricing
   ========================================================= */

html[lang="en"] .ob-lang-el { display: none !important; }
html[lang="el"] .ob-lang-en { display: none !important; }

.ob-footer-rich { padding: 42px 0 34px; }
.ob-footer-grid { display: grid; grid-template-columns: minmax(280px, 1.4fr) repeat(2, minmax(180px, .7fr)); gap: 36px; align-items: start; }
.ob-footer-grid > div:first-child p { max-width: 420px; margin-top: 16px; color: #66738c; }
.ob-footer-column { display: grid; gap: 10px; }
.ob-footer-column strong { color: #072d6f; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.ob-footer-column a, .ob-footer-cookie-link { color: #66738c; text-decoration: none; font: inherit; font-size: 14px; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.ob-footer-column a:hover, .ob-footer-cookie-link:hover { color: #cb0c80; }

.ob-ecosystem-teaser { padding: 78px 0; background: linear-gradient(180deg, #fff 0%, #f8f9ff 100%); }
.ob-ecosystem-teaser-inner { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.ob-ecosystem-teaser h2 { margin: 12px 0 16px; color: #072d6f; font-size: clamp(32px, 4vw, 54px); line-height: 1.04; }
.ob-ecosystem-teaser p { color: #68758d; font-size: 17px; line-height: 1.75; }
.ob-ecosystem-teaser-cards { display: flex; flex-wrap: wrap; gap: 12px; align-content: center; }
.ob-ecosystem-teaser-cards span { padding: 12px 16px; border-radius: 999px; border: 1px solid #e3e7f0; background: #fff; color: #56647d; font-weight: 700; font-size: 13px; box-shadow: 0 8px 28px rgba(7,45,111,.05); }
.ob-ecosystem-teaser-cards span.is-live { color: #fff; border-color: transparent; background: linear-gradient(135deg, #072d6f, #cb0c80); }
.ob-ecosystem-teaser-cards .ob-text-link { width: 100%; margin-top: 8px; }

.ob-public-page { background: #fff; color: #10213f; }
.ob-public-hero { position: relative; overflow: hidden; padding: 104px 0 88px; background: radial-gradient(circle at 78% 15%, rgba(203,12,128,.13), transparent 30%), radial-gradient(circle at 8% 25%, rgba(56,104,172,.14), transparent 34%), linear-gradient(180deg, #fff 0%, #fbfaff 100%); }
.ob-public-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: 72px; align-items: center; }
.ob-public-hero h1 { margin: 14px 0 22px; color: #072d6f; font-size: clamp(44px, 6.4vw, 84px); line-height: .98; letter-spacing: -.045em; }
.ob-public-hero h1 span { color: #cb0c80; }
.ob-public-hero p { max-width: 720px; color: #66738c; font-size: 18px; line-height: 1.75; }
.ob-public-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 30px; }
.ob-public-section { padding: 88px 0; }
.ob-soft-section { background: #f7f9fd; }
.ob-public-split { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.ob-public-split h2 { margin: 12px 0 18px; color: #072d6f; font-size: clamp(34px, 4vw, 58px); line-height: 1.05; }
.ob-public-split p { color: #68758d; font-size: 17px; line-height: 1.75; }
.ob-public-cta { padding: 72px 0; background: #072d6f; color: #fff; }
.ob-public-cta-inner { display: flex; gap: 36px; justify-content: space-between; align-items: center; }
.ob-public-cta h2 { margin: 10px 0 0; max-width: 760px; font-size: clamp(30px, 4vw, 52px); line-height: 1.05; }
.ob-public-cta .ob-eyebrow { color: #f266b3; }

.ob-enterprise-grid, .ob-vertical-grid, .ob-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.ob-enterprise-grid article, .ob-vertical-grid article, .ob-plan-grid article { position: relative; padding: 28px; border: 1px solid #e5e9f2; border-radius: 26px; background: #fff; box-shadow: 0 16px 44px rgba(7,45,111,.06); }
.ob-enterprise-grid article > span:first-child { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 26px; border-radius: 13px; background: #fff2fa; color: #cb0c80; font-size: 12px; font-weight: 800; }
.ob-enterprise-grid h3, .ob-vertical-grid strong { color: #072d6f; font-size: 22px; }
.ob-enterprise-grid p, .ob-vertical-grid p { margin-top: 12px; color: #6b778d; line-height: 1.65; }

.ob-network-visual { position: relative; min-height: 430px; }
.ob-network-core { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 220px; height: 150px; transform: translate(-50%,-50%); border-radius: 36px; background: #fff; box-shadow: 0 28px 80px rgba(7,45,111,.14); border: 1px solid #e8eaf3; z-index: 2; }
.ob-network-core img { width: 78%; }
.ob-network-node { position: absolute; z-index: 3; display: grid; place-items: center; min-width: 92px; min-height: 54px; padding: 10px 18px; border-radius: 18px; background: #072d6f; color: #fff; font-size: 12px; font-weight: 800; box-shadow: 0 16px 40px rgba(7,45,111,.18); }
.ob-network-node.is-a { left: 3%; top: 14%; background: #cb0c80; }
.ob-network-node.is-b { right: 4%; top: 18%; }
.ob-network-node.is-c { left: 8%; bottom: 12%; background: #3868ac; }
.ob-network-node.is-d { right: 8%; bottom: 11%; background: #e043a0; }
.ob-network-line { position: absolute; left: 50%; top: 50%; width: 180px; height: 1px; background: linear-gradient(90deg, rgba(7,45,111,.25), rgba(203,12,128,.55)); transform-origin: left center; }
.ob-network-line.is-a { transform: rotate(213deg); }
.ob-network-line.is-b { transform: rotate(-34deg); }
.ob-network-line.is-c { transform: rotate(144deg); }
.ob-network-line.is-d { transform: rotate(34deg); }
.ob-chip-cloud { display: flex; flex-wrap: wrap; gap: 12px; }
.ob-chip-cloud span { padding: 15px 18px; border-radius: 999px; background: #fff; border: 1px solid #dfe5f0; color: #072d6f; font-weight: 800; box-shadow: 0 10px 30px rgba(7,45,111,.05); }

.ob-journey-orbit { position: relative; min-height: 430px; border-radius: 50%; border: 1px dashed rgba(7,45,111,.16); }
.ob-journey-orbit::before, .ob-journey-orbit::after { content:""; position:absolute; inset:70px; border-radius:50%; border:1px dashed rgba(203,12,128,.16); }
.ob-journey-orbit span { position:absolute; z-index:2; display:grid; place-items:center; width:110px; height:66px; border-radius:20px; background:#fff; box-shadow:0 18px 44px rgba(7,45,111,.12); color:#072d6f; font-size:12px; font-weight:800; }
.ob-journey-orbit .is-core { left:50%; top:50%; transform:translate(-50%,-50%); width:120px; height:120px; border-radius:50%; color:#fff; background:linear-gradient(135deg,#072d6f,#cb0c80); }
.ob-journey-orbit .is-hotel { left:7%; top:18%; }.ob-journey-orbit .is-car { right:4%; top:22%; }.ob-journey-orbit .is-exp { left:4%; bottom:16%; }.ob-journey-orbit .is-food { right:3%; bottom:14%; }
.ob-status-pill { display: inline-flex; width:max-content; margin-bottom:22px; padding:7px 10px; border-radius:999px; background:#e9f8f0; color:#16865a; font-size:10px; font-weight:900; letter-spacing:.09em; }
.ob-status-pill.is-next { background:#fff2fa; color:#cb0c80; }.ob-status-pill.is-planned { background:#edf2ff; color:#3868ac; }.ob-status-pill.is-future { background:#f4f1ff; color:#7443c7; }
.ob-vertical-grid article.is-live { border-color: rgba(203,12,128,.26); box-shadow: 0 18px 50px rgba(203,12,128,.08); }
.ob-bundle-card { padding: 28px; border-radius: 28px; background: #072d6f; color: #fff; box-shadow: 0 24px 60px rgba(7,45,111,.2); }
.ob-bundle-card small { color:#f57abd; font-weight:900; letter-spacing:.1em; }.ob-bundle-card div { display:flex; justify-content:space-between; gap:18px; padding:12px 0; }.ob-bundle-card hr { border:0; border-top:1px solid rgba(255,255,255,.15); }.ob-bundle-card .is-total { color:#bdc7db; }.ob-bundle-card .is-offer { font-size:20px; color:#fff; }.ob-bundle-card .is-offer b { color:#f357ac; }

.ob-extranet-mock { padding: 28px; border-radius: 30px; background: #fff; border: 1px solid #e3e7ef; box-shadow: 0 30px 80px rgba(7,45,111,.12); }
.ob-extranet-bar { height: 14px; width: 46%; margin-bottom: 30px; border-radius: 999px; background: linear-gradient(90deg,#072d6f,#cb0c80); }
.ob-extranet-row { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0; border-bottom:1px solid #edf0f5; color:#69758a; }.ob-extranet-row:last-child{border-bottom:0}.ob-extranet-row b{color:#072d6f}
.ob-founders-mini { display:grid; gap:12px; padding:30px; border-radius:28px; background:#fff; border:1px solid #e3e7ef; box-shadow:0 22px 58px rgba(7,45,111,.08); }.ob-founders-mini > strong{color:#cb0c80;letter-spacing:.08em}.ob-founders-mini > span,.ob-founders-mini > b{font-size:30px;color:#072d6f}.ob-founders-mini small{display:block;font-size:12px;color:#6d7890;font-weight:600}

.ob-hotel-connection-section, .ob-hotel-pricing-section { padding: 88px 0; }
.ob-hotel-connection-section { background:#f8faff; }
.ob-connection-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:36px; }
.ob-connection-grid article { padding:32px; border-radius:28px; background:#fff; border:1px solid #e3e8f2; box-shadow:0 16px 46px rgba(7,45,111,.06); }
.ob-connection-grid article.is-primary { background:linear-gradient(145deg,#072d6f,#143f87); color:#fff; }
.ob-connection-grid h3 { margin:12px 0; font-size:24px; color:#072d6f; }.ob-connection-grid .is-primary h3{color:#fff}.ob-connection-grid p{color:#6c7890;line-height:1.7}.ob-connection-grid .is-primary p{color:#dbe4f5}.ob-connection-grid .is-primary .ob-card-label{color:#f575bd}
.ob-founding-price-card { position:relative; overflow:hidden; padding:38px; margin-top:38px; border-radius:32px; background:linear-gradient(145deg,#fff 0%,#fff7fc 100%); border:1px solid rgba(203,12,128,.18); box-shadow:0 24px 70px rgba(7,45,111,.09); }
.ob-founding-badge { display:inline-flex; padding:8px 12px; border-radius:999px; background:#cb0c80; color:#fff; font-size:11px; font-weight:900; letter-spacing:.1em; }
.ob-founding-price-main { display:flex; align-items:end; gap:18px; margin:26px 0 24px; }.ob-founding-price-main > span{font-size:72px;line-height:.9;color:#072d6f;font-weight:800;letter-spacing:-.05em}.ob-founding-price-main small{max-width:200px;color:#6a768d;font-weight:700}
.ob-price-choice { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }.ob-price-choice article{flex:1;min-width:210px;padding:22px;border-radius:22px;background:#fff;border:1px solid #e5e8f0}.ob-price-choice article strong{display:block;color:#cb0c80;font-size:32px}.ob-price-choice article span{color:#6b778d;font-size:13px}.ob-price-choice > div{color:#8c97aa;font-weight:800}
.ob-founding-benefits { display:flex; flex-wrap:wrap; gap:14px; margin:26px 0; }.ob-founding-benefits > span{padding:12px 14px;border-radius:999px;background:#f7f9fd;color:#526078;font-size:13px}.ob-founding-benefits b{color:#072d6f}
.ob-standard-pricing { margin-top:52px; }.ob-standard-pricing h3{margin-bottom:22px;color:#072d6f;font-size:26px}.ob-plan-grid article{display:grid;gap:8px}.ob-plan-grid article strong{color:#072d6f}.ob-plan-grid article b{font-size:30px;color:#cb0c80}.ob-plan-grid article span{color:#6c7890;font-size:13px}

.ob-legal-hero { padding: 72px 0 34px; background:linear-gradient(180deg,#fff,#fbfaff); border-bottom:1px solid #edf0f5; }
.ob-legal-hero h1 { margin:12px 0 8px; color:#072d6f; font-size:clamp(42px,6vw,74px); letter-spacing:-.04em; }.ob-legal-hero p{color:#7a8598}
.ob-legal-section { padding: 54px 0 90px; }.ob-legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px}.ob-legal-aside{position:sticky;top:100px;align-self:start;display:grid;gap:8px;padding:22px;border:1px solid #e5e9f1;border-radius:22px;background:#fafbfe;color:#68758d;font-size:13px}.ob-legal-aside strong{color:#072d6f;font-size:16px}.ob-legal-aside a{color:#cb0c80;text-decoration:none}.ob-legal-content{max-width:900px}.ob-legal-doc-title{margin-bottom:24px;color:#cb0c80;font-size:14px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.ob-legal-content section{padding:24px 0;border-bottom:1px solid #edf0f5}.ob-legal-content h2{margin:0 0 12px;color:#072d6f;font-size:24px}.ob-legal-content p{margin:0;color:#5f6d84;line-height:1.8}.ob-legal-table{display:grid;gap:10px}.ob-legal-table>div{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:16px;border-radius:16px;background:#f8faff}.ob-legal-table strong{color:#072d6f}.ob-legal-table span{color:#68758d;line-height:1.6}.ob-legal-review-note{margin-top:26px;padding:22px!important;border:1px solid #f0d2e6!important;border-radius:20px;background:#fff7fb}.ob-legal-review-note strong{color:#cb0c80}

.ob-cookie-banner { position:fixed; z-index:1000; left:24px; right:24px; bottom:24px; display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1180px; margin:0 auto; padding:22px; border:1px solid #dfe4ee; border-radius:24px; background:rgba(255,255,255,.97); box-shadow:0 24px 70px rgba(7,45,111,.19); backdrop-filter:blur(16px); }
.ob-cookie-banner[hidden], .ob-cookie-modal[hidden] { display:none!important; }
.ob-cookie-banner-copy{max-width:680px}.ob-cookie-banner-copy strong{display:block;color:#072d6f;font-size:16px}.ob-cookie-banner-copy p{margin:6px 0;color:#66738c;font-size:13px;line-height:1.55}.ob-cookie-banner-copy a{color:#cb0c80;font-size:12px;font-weight:800;text-decoration:none}.ob-cookie-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.ob-cookie-button{padding:11px 14px;border-radius:14px;border:1px solid #dfe4ec;background:#fff;color:#536179;font-weight:800;font-size:12px;cursor:pointer}.ob-cookie-button.is-primary{border-color:transparent;background:linear-gradient(135deg,#072d6f,#cb0c80);color:#fff}.ob-cookie-button:hover{transform:translateY(-1px)}
.ob-cookie-modal{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:20px}.ob-cookie-modal-backdrop{position:absolute;inset:0;background:rgba(4,17,46,.58);backdrop-filter:blur(6px)}.ob-cookie-panel{position:relative;z-index:1;width:min(620px,100%);max-height:90vh;overflow:auto;padding:30px;border-radius:28px;background:#fff;box-shadow:0 36px 100px rgba(0,0,0,.28)}.ob-cookie-panel h2{margin:8px 0 12px;color:#072d6f;font-size:32px}.ob-cookie-panel>p{color:#68758d;line-height:1.65}.ob-cookie-close{position:absolute;right:18px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:#f3f5f9;color:#072d6f;font-size:24px;cursor:pointer}.ob-cookie-category{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid #edf0f5;cursor:pointer}.ob-cookie-category>div{display:grid;gap:4px}.ob-cookie-category strong{color:#072d6f}.ob-cookie-category small{color:#798498;line-height:1.45}.ob-cookie-category input{position:absolute;opacity:0;pointer-events:none}.ob-cookie-switch{width:46px;height:26px;border-radius:999px;background:#d9dee8;position:relative;transition:.2s}.ob-cookie-switch::after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:.2s}.ob-cookie-category input:checked + .ob-cookie-switch{background:#cb0c80}.ob-cookie-category input:checked + .ob-cookie-switch::after{transform:translateX(20px)}.ob-cookie-category.is-locked{cursor:default}.ob-cookie-lock{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf7f0;color:#14835a;font-weight:900}.ob-cookie-panel-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.ob-cookie-open{overflow:hidden}

.ob-consent a { color:#cb0c80; font-weight:800; }

@media (max-width: 1050px) {
    .ob-enterprise-grid,.ob-vertical-grid,.ob-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ob-public-hero-grid,.ob-public-split,.ob-ecosystem-teaser-inner { grid-template-columns:1fr; }
    .ob-network-visual,.ob-journey-orbit { max-width:620px; width:100%; margin:0 auto; }
    .ob-footer-grid { grid-template-columns:1.2fr 1fr 1fr; }
}
@media (max-width: 760px) {
    .ob-public-hero { padding:64px 0 56px; }.ob-public-hero-grid{gap:38px}.ob-public-hero h1{font-size:clamp(42px,13vw,64px)}
    .ob-public-section,.ob-hotel-connection-section,.ob-hotel-pricing-section,.ob-ecosystem-teaser{padding:64px 0}.ob-public-split{gap:34px}.ob-public-cta-inner{align-items:flex-start;flex-direction:column}
    .ob-enterprise-grid,.ob-vertical-grid,.ob-plan-grid,.ob-connection-grid { grid-template-columns:1fr; }
    .ob-network-visual,.ob-journey-orbit{min-height:330px}.ob-network-core{width:170px;height:120px}.ob-network-node{min-width:74px;min-height:48px;padding:8px 12px;font-size:10px}.ob-network-line{width:130px}
    .ob-footer-grid{grid-template-columns:1fr;gap:28px}.ob-cookie-banner{left:12px;right:12px;bottom:12px;display:grid;gap:16px;padding:18px}.ob-cookie-actions{justify-content:stretch}.ob-cookie-actions .ob-cookie-button{flex:1;min-width:130px}.ob-cookie-panel{padding:24px 18px}.ob-cookie-panel-actions{flex-direction:column}.ob-cookie-panel-actions .ob-cookie-button{width:100%}
    .ob-legal-layout{grid-template-columns:1fr;gap:26px}.ob-legal-aside{position:static}.ob-legal-table>div{grid-template-columns:1fr;gap:6px}.ob-founding-price-main{align-items:flex-start;flex-direction:column}.ob-founding-price-main>span{font-size:60px}.ob-price-choice{align-items:stretch;flex-direction:column}.ob-price-choice>div{text-align:center}.ob-ecosystem-teaser-cards{justify-content:flex-start}
}


/* Stage 5A.8 — Hotel supplier hub / multi-capability */
.ob-hotel-capabilities-section{padding:86px 0;background:linear-gradient(180deg,#fff 0%,#f8faff 100%)}
.ob-capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.ob-capability-grid article{padding:25px;border:1px solid #e4e9f3;border-radius:26px;background:#fff;box-shadow:0 16px 42px rgba(7,45,111,.055)}
.ob-capability-grid article.is-live{background:linear-gradient(145deg,#072d6f,#17448c);color:#fff;border-color:transparent}
.ob-capability-grid h3{margin:16px 0 8px;color:#072d6f;font-size:19px;line-height:1.25}.ob-capability-grid .is-live h3{color:#fff}
.ob-capability-grid p{margin:0;color:#748097;font-size:13px;line-height:1.65}.ob-capability-grid .is-live p{color:#dbe5f7}
.ob-capability-note{margin-top:20px;padding:25px 28px;border-radius:24px;background:#fff3fa;border:1px solid rgba(203,12,128,.14)}
.ob-capability-note strong{display:block;color:#072d6f;font-size:17px;margin-bottom:7px}.ob-capability-note p{margin:6px 0;color:#6d7890;line-height:1.65;font-size:13px}
.ob-module-pricing{margin-top:28px;padding:30px;border-radius:28px;border:1px solid #e4e9f3;background:#f9fbff;display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:26px;align-items:center}
.ob-module-pricing h3{margin:10px 0;color:#072d6f;font-size:23px;line-height:1.2}.ob-module-pricing p{margin:0;color:#6f7b91;line-height:1.65;font-size:13px}
.ob-module-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ob-module-price-grid article{padding:18px;border-radius:20px;background:#fff;border:1px solid #e4e9f3}.ob-module-price-grid article.is-highlight{background:linear-gradient(145deg,#fff2fa,#eef4ff);border-color:rgba(203,12,128,.18)}
.ob-module-price-grid strong{display:block;color:#072d6f;font-size:13px}.ob-module-price-grid b{display:block;margin-top:8px;color:#cb0c80;font-size:25px}.ob-module-price-grid span{display:block;margin-top:4px;color:#7a8497;font-size:11px}
.ob-capability-stack{display:grid;gap:10px}.ob-capability-stack span{display:flex;justify-content:space-between;gap:20px;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #e4e9f3;color:#526078;font-weight:750}.ob-capability-stack b{color:#cb0c80;font-size:10px;letter-spacing:.08em}
@media(max-width:980px){.ob-capability-grid{grid-template-columns:1fr 1fr}.ob-module-pricing{grid-template-columns:1fr}.ob-module-price-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ob-hotel-capabilities-section{padding:62px 0}.ob-capability-grid{grid-template-columns:1fr}.ob-module-price-grid{grid-template-columns:1fr}.ob-module-pricing{padding:22px}.ob-capability-note{padding:20px}}

/* Stage 5B.1 — first-party partner lead forms */
.ob-lead-form-section{padding:clamp(42px,6vw,88px) 0 92px;background:linear-gradient(135deg,#f8fbff 0%,#fff 48%,#fff2fa 100%)}
.ob-lead-form-shell{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(28px,5vw,72px);align-items:start}
.ob-lead-form-intro{position:sticky;top:110px;padding:18px 0}
.ob-lead-form-intro h1{font-size:clamp(2.25rem,4.6vw,4.9rem);line-height:.98;letter-spacing:-.055em;color:#072d6f;margin:18px 0 22px;max-width:10ch}
.ob-lead-form-intro>p{font-size:1.08rem;line-height:1.75;color:#65728a;max-width:54ch}
.ob-lead-trust-list{display:grid;gap:12px;margin-top:30px;color:#43536d;font-weight:700}
.ob-lead-trust-list span{display:flex;align-items:flex-start;gap:8px}
.ob-lead-form{background:#fff;border:1px solid #e5eaf2;border-radius:32px;padding:clamp(24px,4vw,44px);box-shadow:0 26px 90px rgba(7,45,111,.09)}
.ob-form-block{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid #edf0f5}
.ob-form-block:last-of-type{margin-bottom:22px}
.ob-form-block-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}
.ob-form-block-head>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#f3e9ff,#fff0f8);color:#c70e82;font-size:.78rem;font-weight:800;flex:0 0 auto}
.ob-form-block-head strong{display:block;color:#072d6f;font-size:1.08rem}.ob-form-block-head small{display:block;color:#8b95a8;margin-top:3px;line-height:1.45}
.ob-form-grid{display:grid;gap:16px}.ob-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ob-lead-form label>span:not(.ob-checkmark){display:block;color:#43536d;font-size:.88rem;font-weight:750;margin-bottom:8px}
.ob-lead-form input[type=text],.ob-lead-form input[type=email],.ob-lead-form input[type=url],.ob-lead-form input[type=number],.ob-lead-form input:not([type]),.ob-lead-form select,.ob-lead-form textarea{width:100%;border:1px solid #dce3ed;border-radius:15px;background:#fbfcff;color:#102b54;padding:14px 15px;font:inherit;outline:none;transition:.18s border-color,.18s box-shadow,.18s background}
.ob-lead-form input:focus,.ob-lead-form select:focus,.ob-lead-form textarea:focus{border-color:#3868ac;background:#fff;box-shadow:0 0 0 4px rgba(56,104,172,.1)}
.ob-lead-form textarea{resize:vertical;min-height:120px}
.ob-form-subtitle{font-size:.86rem;font-weight:800;color:#072d6f;margin:20px 0 12px;text-transform:uppercase;letter-spacing:.07em}
.ob-check-grid,.ob-radio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ob-check-grid label,.ob-radio-grid label{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #e2e7ef;border-radius:14px;background:#fbfcff;cursor:pointer}
.ob-check-grid input,.ob-radio-grid input{accent-color:#c70e82;flex:0 0 auto}
.ob-check-grid label>span,.ob-radio-grid label>span{margin:0!important;font-size:.88rem!important;color:#384a65!important}
.ob-form-consent{display:flex;align-items:flex-start;gap:12px;color:#65728a;line-height:1.55;font-size:.86rem;margin:4px 0 20px}.ob-form-consent input{margin-top:4px;accent-color:#c70e82}.ob-form-consent a{color:#0a4a91;font-weight:700}
.ob-lead-submit{width:100%;border:0;cursor:pointer;justify-content:center;min-height:58px;font-size:1rem}
.ob-form-footnote{font-size:.78rem;color:#9aa3b2;text-align:center;line-height:1.5;margin:13px auto 0;max-width:620px}
.ob-form-alert{padding:16px 18px;border-radius:16px;margin-bottom:24px}.ob-form-alert.is-error{background:#fff0f1;border:1px solid #ffd3d8;color:#98283a}.ob-form-alert ul{margin:8px 0 0 18px;padding:0}
.ob-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ob-thanks-section{min-height:68vh;display:grid;place-items:center;padding:70px 0;background:linear-gradient(135deg,#f7fbff,#fff3fa)}
.ob-thanks-card{max-width:760px;margin:auto;text-align:center;background:#fff;border:1px solid #e6eaf2;border-radius:34px;padding:clamp(36px,6vw,72px);box-shadow:0 30px 90px rgba(7,45,111,.09)}
.ob-success-mark{width:70px;height:70px;margin:0 auto 20px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#072d6f,#cf0b83);color:#fff;font-size:2rem;font-weight:900}.ob-thanks-card h1{font-size:clamp(2.2rem,5vw,4.6rem);line-height:1;letter-spacing:-.05em;color:#072d6f;margin:15px auto 20px}.ob-thanks-card p{color:#69758a;font-size:1.05rem;line-height:1.7}.ob-thanks-actions{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:30px}
@media(max-width:900px){.ob-lead-form-shell{grid-template-columns:1fr}.ob-lead-form-intro{position:static;padding:0}.ob-lead-form-intro h1{max-width:none}.ob-form-grid.two,.ob-check-grid,.ob-radio-grid{grid-template-columns:1fr}.ob-lead-form{border-radius:24px;padding:22px}.ob-lead-form-section{padding-top:28px}}

/* ------------------------------------------------------------------
   OffersBeat 6.0 — Partner-first premium public homepage
   ------------------------------------------------------------------ */
.ob-partner-home-page {
    --ob-ph-navy:#082f72;
    --ob-ph-navy-2:#123f86;
    --ob-ph-magenta:#d30b84;
    --ob-ph-pink:#f337aa;
    --ob-ph-purple:#6b2fb5;
    --ob-ph-ink:#17345f;
    --ob-ph-muted:#697991;
    --ob-ph-line:#e5ebf3;
    --ob-shell:1420px;
    color:var(--ob-ph-ink);
    background:#fff;
}
.ob-partner-home-page .ob-header {
    background:rgba(255,255,255,.94);
    border-bottom:1px solid rgba(8,47,114,.075);
    box-shadow:0 8px 32px rgba(8,47,114,.035);
    backdrop-filter:blur(18px);
}
.ob-partner-home-page .ob-header-inner { min-height:80px; }
.ob-partner-home-page .ob-brand-logo { width:264px; max-width:30vw; }
.ob-partner-home-page .ob-nav { gap:30px; }
.ob-partner-home-page .ob-nav-link {
    position:relative;
    color:#304d79;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}
.ob-partner-home-page .ob-nav-link:hover { color:var(--ob-ph-magenta); }
.ob-partner-home-page .ob-nav-link.is-active:after {
    content:"";
    position:absolute;
    left:0; right:0; bottom:-21px;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--ob-ph-pink),var(--ob-ph-purple));
}
.ob-partner-home-page .ob-lang {
    border-color:#e5eaf2;
    background:#f8faff;
}
.ob-partner-home-page .ob-lang button { color:#5e7090; }
.ob-partner-home-page .ob-lang button.is-active {
    color:#fff;
    background:linear-gradient(135deg,#163d88,#d20b82);
    box-shadow:0 8px 18px rgba(142,24,131,.18);
}
.ob-header-cta {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 20px;
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    background:linear-gradient(100deg,#ed0a91,#7a2cac);
    box-shadow:0 12px 28px rgba(203,12,128,.20);
    transition:.2s transform,.2s box-shadow;
}
.ob-header-cta:hover { transform:translateY(-1px); box-shadow:0 16px 36px rgba(203,12,128,.28); }

.ob-partner-home-hero {
    position:relative;
    overflow:hidden;
    padding:54px 0 0;
    background:
        radial-gradient(circle at 20% 4%,rgba(45,122,255,.10),transparent 34%),
        radial-gradient(circle at 91% 12%,rgba(242,29,158,.10),transparent 27%),
        linear-gradient(180deg,#fff 0%,#f9fbff 100%);
}
.ob-partner-home-hero-bg {
    position:absolute;
    width:620px;
    height:620px;
    right:-300px;
    top:70px;
    border-radius:50%;
    border:1px solid rgba(16,71,153,.07);
    box-shadow:0 0 0 90px rgba(213,16,136,.018),0 0 0 180px rgba(46,105,213,.014);
    pointer-events:none;
}
.ob-partner-home-hero-grid {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(620px,1.08fr);
    gap:56px;
    align-items:center;
    min-height:625px;
}
.ob-partner-home-copy { padding:28px 0 44px; }
.ob-partner-home-kicker {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#5474a4;
    font-size:10px;
    font-weight:900;
    letter-spacing:.28em;
    text-transform:uppercase;
}
.ob-partner-home-kicker:before {
    content:"";
    width:28px;
    height:1px;
    background:linear-gradient(90deg,var(--ob-ph-magenta),#76a2de);
}
.ob-partner-home-copy h1 {
    margin:20px 0 18px;
    max-width:720px;
    color:var(--ob-ph-navy);
    font-size:clamp(54px,5.15vw,82px);
    line-height:.94;
    letter-spacing:-.06em;
    font-weight:800;
}
.ob-partner-home-copy h1 > span,
.ob-partner-home-copy h1 > strong { display:block; }
.ob-partner-home-copy h1 > strong {
    color:var(--ob-ph-magenta);
    font-weight:800;
}
.ob-partner-home-copy > p {
    max-width:700px;
    margin:0;
    color:#61728d;
    font-size:17px;
    line-height:1.7;
}
.ob-partner-home-actions {
    display:flex;
    gap:14px;
    align-items:center;
    flex-wrap:wrap;
    margin-top:28px;
}
.ob-partner-home-primary,
.ob-partner-home-secondary {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-height:56px;
    padding:0 26px;
    border-radius:999px;
    text-decoration:none;
    font-size:14px;
    font-weight:850;
    transition:.2s transform,.2s box-shadow,.2s border-color;
}
.ob-partner-home-primary {
    color:#fff;
    background:linear-gradient(100deg,#f20a92 0%,#b70c8c 48%,#6b2cae 100%);
    box-shadow:0 16px 34px rgba(196,13,135,.20);
}
.ob-partner-home-primary:hover { transform:translateY(-2px); box-shadow:0 22px 44px rgba(196,13,135,.28); }
.ob-partner-home-primary b { font-size:20px; font-weight:500; line-height:1; }
.ob-partner-home-secondary {
    color:var(--ob-ph-navy);
    background:rgba(255,255,255,.92);
    border:1px solid #cad6e7;
    box-shadow:0 12px 28px rgba(8,47,114,.05);
}
.ob-partner-home-secondary:hover { transform:translateY(-2px); border-color:#9eb5d6; }
.ob-partner-home-trust {
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-top:24px;
    color:#6d7e95;
    font-size:11px;
    font-weight:700;
}
.ob-partner-home-trust span { display:flex; align-items:center; gap:7px; }
.ob-partner-home-trust span::first-letter { color:#0ba56f; }
.ob-partner-home-trust i { font-style:normal; }

.ob-partner-home-stage {
    position:relative;
    min-height:600px;
    margin-right:-90px;
}
.ob-partner-home-photo {
    position:absolute;
    inset:0;
    overflow:hidden;
    border-radius:38px 0 0 38px;
    box-shadow:0 35px 90px rgba(18,55,105,.16);
}
.ob-partner-home-photo:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(8,47,114,.12),transparent 30%,rgba(6,21,52,.07));
}
.ob-partner-home-photo img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.ob-partner-dashboard-card {
    position:absolute;
    left:30px;
    bottom:34px;
    width:360px;
    padding:20px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:24px;
    background:rgba(255,255,255,.91);
    box-shadow:0 24px 60px rgba(8,47,114,.22);
    backdrop-filter:blur(16px);
}
.ob-partner-dashboard-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ob-partner-dashboard-head small { display:block; color:#8b98ab; font-size:8px; font-weight:900; letter-spacing:.18em; }
.ob-partner-dashboard-head strong { display:block; margin-top:3px; color:var(--ob-ph-navy); font-size:14px; }
.ob-partner-dashboard-head > span { padding:6px 9px; border-radius:999px; color:#11875e; background:#e9f9f2; font-size:8px; font-weight:900; letter-spacing:.08em; }
.ob-partner-dashboard-metric { display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:end; margin-top:18px; }
.ob-partner-dashboard-metric small { color:#7a879c; font-size:10px; }
.ob-partner-dashboard-metric strong { color:var(--ob-ph-navy); font-size:30px; line-height:1; }
.ob-partner-dashboard-metric em { color:#0b9d6a; font-style:normal; font-size:11px; font-weight:900; }
.ob-partner-dashboard-line { display:flex; align-items:end; gap:8px; height:70px; padding:12px 0 4px; }
.ob-partner-dashboard-line span { flex:1; min-width:8px; border-radius:5px 5px 2px 2px; background:linear-gradient(180deg,#e80d92,#6731b1); }
.ob-partner-dashboard-line span:nth-child(1){height:28%}.ob-partner-dashboard-line span:nth-child(2){height:42%}.ob-partner-dashboard-line span:nth-child(3){height:36%}.ob-partner-dashboard-line span:nth-child(4){height:62%}.ob-partner-dashboard-line span:nth-child(5){height:74%}.ob-partner-dashboard-line span:nth-child(6){height:92%}
.ob-partner-dashboard-rule { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:13px; margin-top:8px; border-top:1px solid #e6eaf1; }
.ob-partner-dashboard-rule small { display:block; color:#8a96a8; font-size:8px; }
.ob-partner-dashboard-rule strong { display:block; margin-top:2px; color:#243f69; font-size:11px; }
.ob-partner-dashboard-rule b { color:#0c8e63; font-size:8px; letter-spacing:.1em; }
.ob-partner-float-card {
    position:absolute;
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px 17px;
    border:1px solid rgba(255,255,255,.78);
    border-radius:20px;
    background:rgba(255,255,255,.91);
    box-shadow:0 18px 45px rgba(8,47,114,.16);
    backdrop-filter:blur(15px);
}
.ob-partner-float-card > span { width:37px; height:37px; display:grid; place-items:center; border-radius:12px; color:var(--ob-ph-magenta); background:#ffe8f5; font-size:18px; font-weight:900; }
.ob-partner-float-card small { display:block; color:#68778f; font-size:9px; font-weight:750; }
.ob-partner-float-card strong { display:block; margin-top:2px; color:var(--ob-ph-navy); font-size:13px; line-height:1.3; }
.ob-partner-float-demand { top:66px; left:-24px; min-width:220px; }
.ob-partner-float-demand strong { color:#0f9a69; font-size:23px; }
.ob-partner-float-services { top:215px; right:42px; max-width:335px; }
.ob-partner-float-zero { right:110px; bottom:110px; min-width:220px; }
.ob-partner-float-zero > span { color:#1453a2; background:#edf4ff; }

.ob-partner-home-benefits {
    position:relative;
    z-index:4;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:0;
    padding:18px 0 28px;
}
.ob-partner-home-benefits article {
    display:flex;
    gap:15px;
    align-items:flex-start;
    min-height:118px;
    padding:21px;
    border:1px solid #e6ebf3;
    border-radius:22px;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 34px rgba(8,47,114,.045);
}
.ob-partner-home-benefits article > span { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:var(--ob-ph-magenta); background:#ffe7f5; font-size:18px; font-weight:900; }
.ob-partner-home-benefits strong { display:block; color:var(--ob-ph-navy); font-size:14px; line-height:1.3; }
.ob-partner-home-benefits p { margin:6px 0 0; color:#7b879a; font-size:11px; line-height:1.55; }

.ob-partner-home-how,
.ob-partner-home-capabilities,
.ob-partner-home-connect,
.ob-partner-home-pricing { padding:92px 0; }
.ob-partner-home-how { background:#fff; }
.ob-partner-home-heading { max-width:820px; margin-bottom:38px; }
.ob-partner-home-heading h2,
.ob-partner-home-capabilities h2,
.ob-partner-home-final h2 {
    margin:14px 0 12px;
    color:var(--ob-ph-navy);
    font-size:clamp(36px,4vw,58px);
    line-height:1.02;
    letter-spacing:-.05em;
}
.ob-partner-home-heading > p,
.ob-partner-home-capabilities p,
.ob-partner-home-final p { margin:0; color:#6e7c92; font-size:15px; line-height:1.72; }
.ob-partner-home-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ob-partner-home-steps article {
    position:relative;
    min-height:270px;
    padding:28px;
    overflow:hidden;
    border:1px solid #e5ebf3;
    border-radius:28px;
    background:linear-gradient(145deg,#fff,#fbfcff);
    box-shadow:0 18px 50px rgba(8,47,114,.05);
}
.ob-partner-home-steps article:after { content:""; position:absolute; width:180px; height:180px; right:-80px; bottom:-100px; border-radius:50%; background:radial-gradient(circle,rgba(218,15,139,.12),transparent 66%); }
.ob-partner-home-steps article > span { display:grid; place-items:center; width:40px; height:40px; border-radius:13px; color:#fff; background:linear-gradient(135deg,#123f86,#d40a84); font-size:11px; font-weight:900; box-shadow:0 10px 24px rgba(94,45,146,.18); }
.ob-partner-home-steps h3 { margin:48px 0 10px; color:var(--ob-ph-navy); font-size:22px; line-height:1.2; letter-spacing:-.03em; }
.ob-partner-home-steps p { margin:0; max-width:34ch; color:#738097; font-size:13px; line-height:1.68; }

.ob-partner-home-capabilities { background:linear-gradient(135deg,#f6f9ff 0%,#fff 48%,#fff3fa 100%); }
.ob-partner-home-capabilities-grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(460px,1.14fr); gap:80px; align-items:center; }
.ob-partner-home-capabilities h2 { max-width:800px; }
.ob-partner-home-capabilities .ob-text-link { display:inline-block; margin-top:20px; }
.ob-partner-capability-cloud { display:flex; flex-wrap:wrap; gap:12px; align-content:center; }
.ob-partner-capability-cloud span { display:inline-flex; align-items:center; gap:9px; padding:17px 22px; border:1px solid #dee6f2; border-radius:999px; color:#405777; background:rgba(255,255,255,.92); box-shadow:0 11px 28px rgba(8,47,114,.045); font-size:14px; font-weight:800; }
.ob-partner-capability-cloud span:nth-child(2n){transform:translateY(9px)}
.ob-partner-capability-cloud span:nth-child(3n){transform:translateY(-5px)}
.ob-partner-capability-cloud span.is-live { color:#fff; border-color:transparent; background:linear-gradient(100deg,#123f86,#d40a84); }
.ob-partner-capability-cloud small { padding:4px 7px; border-radius:999px; color:#0a7f59; background:#e7f8f0; font-size:7px; letter-spacing:.08em; }

.ob-partner-home-connect { background:#fff; }
.ob-partner-connect-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ob-partner-connect-grid article { min-height:255px; padding:32px; border:1px solid #e2e9f3; border-radius:30px; background:#fbfcff; box-shadow:0 16px 42px rgba(8,47,114,.045); }
.ob-partner-connect-grid article.is-primary { color:#fff; border-color:transparent; background:linear-gradient(145deg,#082f72,#164d98 58%,#402d90); box-shadow:0 24px 65px rgba(8,47,114,.18); }
.ob-partner-connect-grid article > span { display:inline-flex; padding:7px 10px; border-radius:999px; color:#ad167c; background:#ffe9f5; font-size:8px; font-weight:900; letter-spacing:.11em; }
.ob-partner-connect-grid article.is-primary > span { color:#fff; background:rgba(255,255,255,.12); }
.ob-partner-connect-grid h3 { margin:46px 0 10px; color:var(--ob-ph-navy); font-size:26px; line-height:1.2; }
.ob-partner-connect-grid article.is-primary h3 { color:#fff; }
.ob-partner-connect-grid p { margin:0; max-width:55ch; color:#758198; font-size:14px; line-height:1.7; }
.ob-partner-connect-grid article.is-primary p { color:#d9e4f6; }

.ob-partner-home-pricing { background:linear-gradient(180deg,#f8faff,#fff); }
.ob-partner-price-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:18px; align-items:stretch; }
.ob-partner-price-grid article { position:relative; min-height:390px; padding:34px; border:1px solid #e2e8f2; border-radius:30px; background:#fff; box-shadow:0 20px 58px rgba(8,47,114,.055); }
.ob-partner-price-grid article.is-featured { overflow:hidden; border-color:rgba(208,11,132,.18); background:linear-gradient(145deg,#fff,#fff7fb 56%,#f3f7ff); }
.ob-partner-price-grid article.is-featured:after { content:""; position:absolute; width:290px; height:290px; border-radius:50%; right:-120px; top:-140px; background:radial-gradient(circle,rgba(211,11,132,.18),transparent 68%); }
.ob-price-badge,.ob-price-label { display:inline-flex; padding:8px 11px; border-radius:999px; color:#fff; background:linear-gradient(100deg,#e90c91,#7030aa); font-size:8px; font-weight:900; letter-spacing:.13em; }
.ob-price-label { color:#a21274; background:#ffe9f6; }
.ob-partner-price-grid h3 { margin:28px 0 10px; color:var(--ob-ph-navy); font-size:30px; letter-spacing:-.04em; }
.ob-price-main { display:flex; align-items:flex-end; gap:7px; margin:14px 0; }
.ob-price-main strong { color:var(--ob-ph-navy); font-size:58px; line-height:1; letter-spacing:-.05em; }
.ob-price-main span { padding-bottom:7px; color:#7a8699; font-size:12px; }
.ob-partner-price-grid p { margin:0 0 28px; max-width:55ch; color:#718097; font-size:14px; line-height:1.7; }
.ob-partner-price-grid .ob-partner-home-primary,.ob-partner-price-grid .ob-partner-home-secondary { position:relative; z-index:2; }

.ob-partner-home-final { padding:34px 0 92px; background:#fff; }
.ob-partner-home-final-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:center; padding:48px; border-radius:34px; background:linear-gradient(125deg,#082f72,#173f83 46%,#67277f); box-shadow:0 28px 80px rgba(8,47,114,.20); }
.ob-partner-home-final .ob-partner-home-kicker { color:#d6e5ff; }
.ob-partner-home-final .ob-partner-home-kicker:before { background:#e83fa7; }
.ob-partner-home-final h2 { max-width:820px; color:#fff; }
.ob-partner-home-final p { color:#d6e0f0; }
.ob-partner-home-final-inner > div:last-child { display:grid; gap:13px; justify-items:end; }
.ob-partner-home-final .ob-partner-home-primary { background:linear-gradient(100deg,#f1189d,#d20b84); }
.ob-partner-final-traveler { max-width:330px; color:#d7e2f4; text-align:right; text-decoration:none; font-size:11px; line-height:1.5; }
.ob-partner-final-traveler:hover { color:#fff; }
.ob-partner-home-footer { border-top:1px solid #edf0f5; }

@media (max-width:1180px) {
    .ob-partner-home-page .ob-brand-logo { width:220px; }
    .ob-partner-home-page .ob-nav { gap:18px; }
    .ob-partner-home-page .ob-nav-link { font-size:11px; }
    .ob-header-cta { display:none; }
    .ob-partner-home-hero-grid { grid-template-columns:minmax(0,1fr) minmax(500px,.95fr); gap:34px; }
    .ob-partner-home-stage { margin-right:-45px; }
    .ob-partner-home-copy h1 { font-size:clamp(50px,5vw,68px); }
}
@media (max-width:980px) {
    .ob-partner-home-page .ob-nav-desktop { display:none; }
    .ob-partner-home-page .ob-menu-toggle { display:flex; }
    .ob-partner-home-hero { padding-top:32px; }
    .ob-partner-home-hero-grid { grid-template-columns:1fr; min-height:0; gap:26px; }
    .ob-partner-home-copy { padding:22px 0 0; }
    .ob-partner-home-copy h1 { max-width:850px; font-size:clamp(48px,8vw,70px); }
    .ob-partner-home-stage { min-height:520px; margin:0; }
    .ob-partner-home-photo { border-radius:32px; }
    .ob-partner-home-benefits { grid-template-columns:1fr 1fr; padding-top:26px; }
    .ob-partner-home-capabilities-grid { grid-template-columns:1fr; gap:38px; }
    .ob-partner-home-final-inner { grid-template-columns:1fr; }
    .ob-partner-home-final-inner > div:last-child { justify-items:start; }
    .ob-partner-final-traveler { text-align:left; }
}
@media (max-width:720px) {
    .ob-partner-home-page .ob-shell { width:min(calc(100% - 28px),var(--ob-shell)); }
    .ob-partner-home-page .ob-header-inner { min-height:68px; }
    .ob-partner-home-page .ob-brand-logo { width:190px; max-width:62vw; }
    .ob-partner-home-copy h1 { margin-top:16px; font-size:clamp(42px,12.2vw,58px); line-height:.98; letter-spacing:-.05em; }
    .ob-partner-home-copy > p { font-size:14px; }
    .ob-partner-home-actions { align-items:stretch; flex-direction:column; }
    .ob-partner-home-primary,.ob-partner-home-secondary { width:100%; }
    .ob-partner-home-trust { gap:10px 14px; }
    .ob-partner-home-stage { min-height:430px; }
    .ob-partner-dashboard-card { left:14px; bottom:15px; width:min(330px,calc(100% - 28px)); padding:16px; }
    .ob-partner-float-demand { top:18px; left:12px; min-width:180px; }
    .ob-partner-float-services { display:none; }
    .ob-partner-float-zero { right:12px; bottom:180px; min-width:170px; }
    .ob-partner-float-card { padding:11px 12px; }
    .ob-partner-float-card > span { width:32px; height:32px; }
    .ob-partner-home-benefits { grid-template-columns:1fr; }
    .ob-partner-home-benefits article { min-height:0; }
    .ob-partner-home-how,.ob-partner-home-capabilities,.ob-partner-home-connect,.ob-partner-home-pricing { padding:66px 0; }
    .ob-partner-home-steps,.ob-partner-connect-grid,.ob-partner-price-grid { grid-template-columns:1fr; }
    .ob-partner-home-steps article { min-height:235px; }
    .ob-partner-home-steps h3 { margin-top:36px; }
    .ob-partner-capability-cloud span { transform:none!important; padding:13px 16px; font-size:12px; }
    .ob-partner-home-final { padding-bottom:64px; }
    .ob-partner-home-final-inner { padding:30px 24px; border-radius:26px; }
    .ob-partner-home-heading h2,.ob-partner-home-capabilities h2,.ob-partner-home-final h2 { font-size:clamp(34px,10vw,46px); }
}

/* ------------------------------------------------------------------
   OffersBeat 6.1 — Premium traveler experience (/travelers)
   Partner-first homepage remains the public root during Wave 1.
   ------------------------------------------------------------------ */
.ob-traveler-premium-page {
    --ob-tr-navy:#082f72;
    --ob-tr-blue:#164c9a;
    --ob-tr-magenta:#d30b84;
    --ob-tr-pink:#f31b9d;
    --ob-tr-purple:#6d2dad;
    --ob-tr-muted:#66758d;
    color:#18345f;
    background:#fff;
}
.ob-traveler-premium-page .ob-page-glow { display:none; }
.ob-traveler-premium-page .ob-shell { width:min(calc(100% - 48px),1420px); }
.ob-traveler-premium-page .ob-header {
    position:sticky;
    top:0;
    z-index:80;
    border-bottom:1px solid rgba(8,47,114,.075);
    background:rgba(255,255,255,.95);
    box-shadow:0 8px 34px rgba(8,47,114,.035);
    backdrop-filter:blur(18px);
}
.ob-traveler-premium-page .ob-header-inner { min-height:80px; }
.ob-traveler-premium-page .ob-brand-logo { width:258px; max-width:31vw; }
.ob-traveler-premium-page .ob-nav { gap:28px; }
.ob-traveler-premium-page .ob-nav-link {
    position:relative;
    color:#35527d;
    font-size:12px;
    font-weight:800;
}
.ob-traveler-premium-page .ob-nav-link.is-active:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-22px;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--ob-tr-pink),var(--ob-tr-purple));
}
.ob-traveler-premium-page .ob-lang {
    border-color:#e6ebf3;
    background:#f8faff;
}
.ob-traveler-premium-page .ob-lang button.is-active {
    color:#fff;
    background:linear-gradient(135deg,#16418c,#d20b82);
    box-shadow:0 8px 18px rgba(142,24,131,.17);
}

.ob-traveler-hero {
    position:relative;
    min-height:0;
    overflow:hidden;
    padding:52px 0 34px;
    background:
        radial-gradient(circle at 23% 8%,rgba(76,139,255,.12),transparent 34%),
        radial-gradient(circle at 90% 14%,rgba(242,29,158,.10),transparent 27%),
        linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
.ob-traveler-hero:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:radial-gradient(rgba(8,47,114,.065) 1px,transparent 1px);
    background-size:25px 25px;
    opacity:.22;
    mask-image:linear-gradient(90deg,rgba(0,0,0,.55),transparent 58%);
}
.ob-traveler-hero:after {
    content:"";
    position:absolute;
    width:720px;
    height:720px;
    right:-390px;
    top:100px;
    border:1px solid rgba(8,47,114,.06);
    border-radius:50%;
    box-shadow:0 0 0 96px rgba(211,11,132,.016),0 0 0 190px rgba(45,105,210,.012);
}
.ob-traveler-hero-grid {
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:minmax(0,.96fr) minmax(610px,1.04fr);
    gap:54px;
    align-items:center;
}
.ob-traveler-copy { padding:18px 0 30px; }
.ob-traveler-premium-page .ob-kicker {
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#5577a9;
    font-size:10px;
    font-weight:900;
    letter-spacing:.24em;
}
.ob-traveler-premium-page .ob-kicker-dot {
    width:28px;
    height:1px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--ob-tr-magenta),#76a2df);
}
.ob-traveler-premium-page .ob-hero h1 {
    max-width:760px;
    margin:20px 0 17px;
    color:var(--ob-tr-navy);
    font-size:clamp(51px,4.65vw,76px);
    line-height:.97;
    letter-spacing:-.055em;
    font-weight:800;
}
.ob-traveler-premium-page .ob-hero h1 span {
    color:var(--ob-tr-magenta);
    background:none;
    -webkit-background-clip:initial;
    background-clip:initial;
}
.ob-traveler-premium-page .ob-hero-lead {
    max-width:700px;
    margin:0;
    color:#63738c;
    font-size:16px;
    line-height:1.68;
}
.ob-traveler-search-card {
    max-width:760px;
    margin:28px 0 0;
    padding:18px 19px 14px;
    border:1px solid rgba(8,47,114,.10);
    border-radius:28px;
    background:rgba(255,255,255,.95);
    box-shadow:0 30px 75px rgba(8,47,114,.13);
    backdrop-filter:blur(14px);
}
.ob-traveler-search-card:before {
    left:22px;
    right:22px;
    height:3px;
    background:linear-gradient(90deg,var(--ob-tr-navy),#2c69bc,var(--ob-tr-magenta),var(--ob-tr-pink));
}
.ob-traveler-search-tabs {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    margin:0 0 15px;
    padding:4px;
    border-radius:16px;
    background:#f6f8fc;
}
.ob-traveler-search-tabs > span {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:38px;
    padding:0 8px;
    border-radius:12px;
    color:#8190a6;
    font-size:9px;
    font-weight:800;
    white-space:nowrap;
}
.ob-traveler-search-tabs > span.is-active {
    color:var(--ob-tr-navy);
    background:#fff;
    box-shadow:0 6px 18px rgba(8,47,114,.075);
}
.ob-traveler-search-tabs b { color:var(--ob-tr-magenta); font-size:13px; }
.ob-traveler-search-tabs small {
    position:absolute;
    top:-5px;
    right:4px;
    padding:2px 4px;
    border-radius:999px;
    color:#9d6c8c;
    background:#ffeafa;
    font-size:5px;
    line-height:1;
    letter-spacing:.08em;
}
.ob-traveler-search-card .ob-search-heading { margin-bottom:12px; }
.ob-traveler-search-card .ob-search-heading h2 { color:var(--ob-tr-navy); font-size:20px; }
.ob-traveler-search-card .ob-eyebrow { color:#a21878; }
.ob-traveler-search-card .ob-search-console {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}
.ob-traveler-search-card .ob-field-destination { grid-column:1/-1; }
.ob-traveler-search-card .ob-guest-cluster {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
}
.ob-traveler-search-card .ob-search-console > .ob-primary-button {
    grid-column:1/-1;
    min-height:52px;
    border-radius:15px;
    background:linear-gradient(100deg,#ef0a91,#b90d8d 52%,#6d2eae);
    box-shadow:0 14px 30px rgba(198,10,132,.18);
}
.ob-traveler-search-card .ob-search-foot { padding-top:11px; }
.ob-traveler-search-card .ob-field input,
.ob-traveler-search-card .ob-field select { min-height:48px; border-radius:13px; background:#fbfcff; }
.ob-traveler-trust {
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:18px;
    color:#6b7c94;
    font-size:10px;
    font-weight:750;
}
.ob-traveler-trust span { display:flex; align-items:center; gap:7px; }
.ob-traveler-trust span:first-child { color:#58718f; }
.ob-traveler-trust span:first-child::first-letter { color:#0a9d6a; }
.ob-traveler-trust span:last-child::first-letter { color:var(--ob-tr-magenta); }
.ob-traveler-trust i { font-style:normal; }

.ob-traveler-stage {
    position:relative;
    min-height:720px;
    margin-right:-105px;
}
.ob-traveler-photo {
    position:absolute;
    inset:0;
    overflow:hidden;
    border-radius:40px 0 0 40px;
    box-shadow:0 36px 95px rgba(8,47,114,.18);
}
.ob-traveler-photo:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(8,47,114,.10),transparent 30%,rgba(12,24,48,.08));
}
.ob-traveler-photo img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.ob-traveler-offer-card,
.ob-traveler-float {
    position:absolute;
    z-index:4;
    border:1px solid rgba(255,255,255,.78);
    background:rgba(255,255,255,.93);
    box-shadow:0 22px 55px rgba(8,47,114,.20);
    backdrop-filter:blur(16px);
}
.ob-traveler-offer-card {
    top:38px;
    left:28px;
    display:grid;
    grid-template-columns:68px 1fr auto;
    gap:12px;
    align-items:center;
    width:350px;
    padding:12px;
    border-radius:22px;
}
.ob-traveler-offer-thumb { width:68px; height:62px; overflow:hidden; border-radius:14px; }
.ob-traveler-offer-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.ob-traveler-offer-card small { display:block; margin-bottom:3px; color:#7b879a; font-size:8px; font-weight:800; }
.ob-traveler-offer-card strong { display:block; color:var(--ob-tr-navy); font-size:14px; }
.ob-traveler-offer-card div > span { display:block; margin-top:5px; color:#bd8b16; font-size:8px; font-weight:800; }
.ob-traveler-offer-card > b { color:#577296; font-size:20px; }
.ob-traveler-float {
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border-radius:18px;
}
.ob-traveler-float > span {
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    flex:0 0 auto;
    border-radius:12px;
    color:#fff;
    background:linear-gradient(135deg,var(--ob-tr-magenta),var(--ob-tr-purple));
    font-weight:900;
}
.ob-traveler-float strong { display:block; color:var(--ob-tr-navy); font-size:10px; }
.ob-traveler-float small { display:block; margin-top:2px; color:#7e8ba0; font-size:7px; line-height:1.4; }
.ob-traveler-float-exclusive { top:235px; right:24px; min-width:220px; }
.ob-traveler-float-saving { right:42px; bottom:120px; min-width:185px; }
.ob-traveler-float-saving > span { background:linear-gradient(135deg,#0b8d66,#2cc58d); }
.ob-traveler-float-saving strong { font-size:16px; color:#0a7d5a; }
.ob-traveler-float-private { left:42px; bottom:36px; min-width:230px; }
.ob-traveler-float-private > span { background:linear-gradient(135deg,#0c3b82,#1d69b6); }

.ob-traveler-value-strip {
    position:relative;
    z-index:4;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding-top:28px;
    padding-bottom:18px;
}
.ob-traveler-value-strip article {
    display:flex;
    align-items:center;
    gap:13px;
    min-height:100px;
    padding:17px 18px;
    border:1px solid #e4eaf3;
    border-radius:22px;
    background:rgba(255,255,255,.93);
    box-shadow:0 14px 36px rgba(8,47,114,.055);
}
.ob-traveler-value-strip article > span {
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    flex:0 0 auto;
    border-radius:50%;
    color:var(--ob-tr-magenta);
    background:#ffe7f5;
    font-size:10px;
    font-weight:900;
}
.ob-traveler-value-strip strong { display:block; color:var(--ob-tr-navy); font-size:12px; }
.ob-traveler-value-strip p { margin:5px 0 0; color:#7c899d; font-size:9px; line-height:1.5; }
.ob-traveler-premium-page .ob-brand-beat { display:none; }

@media (max-width:1180px) {
    .ob-traveler-premium-page .ob-brand-logo { width:220px; }
    .ob-traveler-premium-page .ob-nav { gap:18px; }
    .ob-traveler-hero-grid { grid-template-columns:minmax(0,1fr) minmax(500px,.92fr); gap:34px; }
    .ob-traveler-stage { margin-right:-55px; min-height:650px; }
    .ob-traveler-premium-page .ob-hero h1 { font-size:clamp(48px,5vw,66px); }
}
@media (max-width:980px) {
    .ob-traveler-premium-page .ob-nav-desktop { display:none; }
    .ob-traveler-premium-page .ob-menu-toggle { display:flex; }
    .ob-traveler-hero-grid { grid-template-columns:1fr; gap:30px; }
    .ob-traveler-copy { padding-bottom:0; }
    .ob-traveler-premium-page .ob-hero h1 { max-width:860px; }
    .ob-traveler-search-card { max-width:none; }
    .ob-traveler-stage { min-height:560px; margin:0; }
    .ob-traveler-photo { border-radius:34px; }
    .ob-traveler-value-strip { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
    .ob-traveler-premium-page .ob-shell { width:min(calc(100% - 28px),1420px); }
    .ob-traveler-premium-page .ob-header-inner { min-height:68px; }
    .ob-traveler-premium-page .ob-brand-logo { width:190px; max-width:62vw; }
    .ob-traveler-hero { padding-top:30px; }
    .ob-traveler-premium-page .ob-hero h1 { font-size:clamp(41px,12vw,56px); line-height:.98; }
    .ob-traveler-premium-page .ob-hero-lead { font-size:14px; }
    .ob-traveler-search-card { margin-top:22px; padding:15px 14px 12px; border-radius:23px; }
    .ob-traveler-search-tabs { grid-template-columns:1fr 1fr; }
    .ob-traveler-search-tabs > span:nth-child(n+3) { display:none; }
    .ob-traveler-search-card .ob-search-heading { display:block; }
    .ob-traveler-search-card .ob-secure-badge { display:inline-flex; margin-top:8px; }
    .ob-traveler-search-card .ob-search-console { grid-template-columns:1fr; }
    .ob-traveler-search-card .ob-field-destination,
    .ob-traveler-search-card .ob-guest-cluster,
    .ob-traveler-search-card .ob-search-console > .ob-primary-button { grid-column:auto; }
    .ob-traveler-search-card .ob-guest-cluster { grid-template-columns:repeat(3,1fr); }
    .ob-traveler-search-card .ob-search-foot { align-items:flex-start; flex-direction:column; }
    .ob-traveler-search-card .ob-search-status { display:none; }
    .ob-traveler-trust { gap:10px; flex-direction:column; }
    .ob-traveler-stage { min-height:430px; }
    .ob-traveler-offer-card { top:14px; left:12px; width:min(320px,calc(100% - 24px)); }
    .ob-traveler-float-exclusive { display:none; }
    .ob-traveler-float-saving { right:12px; bottom:88px; min-width:160px; }
    .ob-traveler-float-private { left:12px; bottom:12px; min-width:205px; }
    .ob-traveler-value-strip { grid-template-columns:1fr; padding-top:18px; }
    .ob-traveler-value-strip article { min-height:0; }
}

/* ------------------------------------------------------------------
   OffersBeat 6.2 — Partner homepage visual fidelity fix
   Aligns the above-the-fold layout with the approved premium concept.
   ------------------------------------------------------------------ */
@media (min-width:1181px) {
    .ob-partner-home-page { --ob-shell:1460px; }
    .ob-partner-home-page .ob-header-inner { min-height:78px; }
    .ob-partner-home-page .ob-brand-logo { width:244px; max-width:26vw; }
    .ob-partner-home-page .ob-nav { gap:28px; }
    .ob-partner-home-page .ob-nav-link { font-size:12px; }

    .ob-partner-home-hero {
        padding:0;
        background:
            radial-gradient(circle at 15% 12%,rgba(73,132,236,.09),transparent 35%),
            linear-gradient(90deg,#f9fcff 0%,#ffffff 46%,#ffffff 100%);
    }
    .ob-partner-home-hero-bg {
        width:580px;
        height:580px;
        right:-325px;
        top:80px;
        box-shadow:0 0 0 90px rgba(213,16,136,.014),0 0 0 180px rgba(46,105,213,.010);
    }
    .ob-partner-home-hero-grid {
        grid-template-columns:minmax(0,45.5%) minmax(0,54.5%);
        gap:28px;
        align-items:stretch;
        min-height:640px;
    }
    .ob-partner-home-copy {
        align-self:center;
        padding:30px 0 34px;
        max-width:650px;
    }
    .ob-partner-home-kicker {
        font-size:9px;
        letter-spacing:.27em;
    }
    .ob-partner-home-copy h1 {
        max-width:640px;
        margin:16px 0 14px;
        font-size:clamp(50px,3.25vw,58px);
        line-height:.985;
        letter-spacing:-.045em;
        font-weight:800;
    }
    .ob-partner-home-copy > p {
        max-width:610px;
        font-size:14.5px;
        line-height:1.58;
    }
    .ob-partner-home-actions { margin-top:22px; gap:12px; }
    .ob-partner-home-primary,.ob-partner-home-secondary {
        min-height:52px;
        padding:0 24px;
        font-size:13px;
    }
    .ob-partner-home-trust {
        margin-top:18px;
        gap:14px;
        font-size:10px;
    }

    .ob-partner-home-stage {
        min-height:640px;
        margin-right:clamp(-180px,calc((100vw - var(--ob-shell)) / -2),-24px);
    }
    .ob-partner-home-photo {
        inset:0;
        border-radius:0;
        box-shadow:none;
    }
    .ob-partner-home-photo:after { display:none; }
    .ob-partner-home-photo-approved img {
        object-fit:cover;
        object-position:center center;
    }

    .ob-partner-home-benefits {
        padding:18px 0 24px;
        gap:12px;
    }
    .ob-partner-home-benefits article {
        min-height:108px;
        padding:18px;
        border-radius:20px;
    }
    .ob-partner-home-benefits article > span { width:40px; height:40px; }
    .ob-partner-home-benefits strong { font-size:13px; }
    .ob-partner-home-benefits p { font-size:10.5px; }
}

@media (min-width:981px) and (max-width:1180px) {
    .ob-partner-home-hero { padding-top:0; }
    .ob-partner-home-hero-grid { align-items:stretch; min-height:590px; }
    .ob-partner-home-copy { align-self:center; }
    .ob-partner-home-copy h1 { font-size:clamp(46px,4.4vw,54px); line-height:1; letter-spacing:-.04em; }
    .ob-partner-home-stage { min-height:590px; }
    .ob-partner-home-photo { inset:0; border-radius:28px 0 0 28px; }
    .ob-partner-home-photo-approved img { object-fit:cover; object-position:center; }
}

@media (max-width:980px) {
    .ob-partner-home-copy h1 { font-size:clamp(42px,7.2vw,58px); line-height:1; letter-spacing:-.04em; }
    .ob-partner-home-photo-approved { border-radius:28px; }
    .ob-partner-home-photo-approved img { object-fit:cover; object-position:center; }
}

@media (max-width:720px) {
    .ob-partner-home-copy h1 { font-size:clamp(38px,10.8vw,50px); line-height:1.01; letter-spacing:-.04em; }
    .ob-partner-home-stage { min-height:360px; }
}

/* ------------------------------------------------------------------
   OffersBeat 6.3 — Partner homepage business-first refinement
   FIX2: true full-bleed hero visual + softer acquisition / pricing UX
   ------------------------------------------------------------------ */
@media (min-width:1101px) {
    .ob-partner-home-hero {
        padding:0;
        min-height:640px;
        overflow:hidden;
        background:linear-gradient(90deg,#f7fbff 0%,#fff 48%,#fff 48%);
    }
    .ob-partner-home-hero .ob-shell.ob-partner-home-hero-grid {
        width:100%;
        max-width:none;
        min-height:640px;
        padding:0;
        grid-template-columns:minmax(520px,50%) 50%;
        gap:0;
        align-items:stretch;
    }
    .ob-partner-home-copy {
        display:flex;
        flex-direction:column;
        justify-content:center;
        max-width:710px;
        min-height:640px;
        padding:54px 54px 54px max(7vw,calc((100vw - 1420px)/2));
        background:
            radial-gradient(circle at 6% 8%,rgba(45,122,255,.10),transparent 34%),
            linear-gradient(90deg,#f9fcff 0%,#fff 100%);
    }
    .ob-partner-home-copy h1 {
        max-width:690px;
        margin:18px 0 18px;
        font-size:clamp(46px,3.65vw,64px);
        line-height:1.01;
        letter-spacing:-.052em;
    }
    .ob-partner-home-copy h1 > strong { margin-top:6px; }
    .ob-partner-home-copy > p.ob-partner-home-lead {
        max-width:650px;
        font-size:16px;
        line-height:1.65;
    }
    .ob-partner-home-stage {
        min-height:640px;
        margin:0;
        background:#eef3fb;
    }
    .ob-partner-home-photo,
    .ob-partner-home-photo.ob-partner-home-photo-approved {
        inset:0;
        border-radius:0;
        box-shadow:none;
        background:#edf2f8;
    }
    .ob-partner-home-photo:after { display:none; }
    .ob-partner-home-photo.ob-partner-home-photo-approved img {
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:left center;
        display:block;
    }
    .ob-partner-home-benefits {
        position:relative;
        z-index:3;
        margin-top:0;
        padding-top:22px;
    }
}

.ob-partner-home-value-list {
    display:grid;
    gap:9px;
    margin-top:20px;
    max-width:650px;
}
.ob-partner-home-value-list span {
    display:grid;
    grid-template-columns:30px 1fr;
    align-items:center;
    gap:11px;
    color:#2d496f;
    font-size:12.5px;
    font-weight:750;
}
.ob-partner-home-value-list b {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:9px;
    background:#edf4ff;
    color:#174b93;
    font-size:8px;
    letter-spacing:.08em;
}
.ob-partner-home-value-list i { font-style:normal; }
.ob-partner-home-nocharge {
    display:flex;
    align-items:center;
    gap:12px;
    max-width:650px;
    margin-top:18px;
    padding:12px 14px;
    border:1px solid #dce9e4;
    border-radius:16px;
    background:#f4fbf8;
    color:#4a6b61;
}
.ob-partner-home-nocharge strong {
    flex:0 0 auto;
    color:#087f57;
    font-size:13px;
    font-weight:900;
}
.ob-partner-home-nocharge span {
    font-size:10.5px;
    line-height:1.45;
    font-weight:700;
}

.ob-partner-price-grid-clear { align-items:stretch; }
.ob-activation-card,
.ob-portfolio-card { min-height:100%; }
.ob-activation-card h3,
.ob-portfolio-card h3 { max-width:620px; }
.ob-activation-timeline {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:24px 0 22px;
}
.ob-activation-timeline > div {
    position:relative;
    min-height:118px;
    padding:16px 14px;
    border:1px solid #e5eaf2;
    border-radius:18px;
    background:rgba(255,255,255,.78);
}
.ob-activation-timeline span {
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    margin-bottom:14px;
    border-radius:9px;
    background:linear-gradient(135deg,#123f86,#d40a84);
    color:#fff;
    font-size:9px;
    font-weight:900;
}
.ob-activation-timeline strong { display:block; color:#173e77; font-size:11px; line-height:1.35; }
.ob-activation-timeline small { display:block; margin-top:5px; color:#7d899c; font-size:9px; line-height:1.4; }
.ob-activation-price {
    margin:0 0 24px;
    padding:20px;
    border-radius:20px;
    background:linear-gradient(120deg,#f8fbff,#fff2fa);
    border:1px solid #e6eaf2;
}
.ob-activation-price-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.ob-activation-price-heading > span { color:#173e77; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.ob-activation-price-heading > small { max-width:310px; color:#74839a; font-size:10px; line-height:1.55; text-align:right; }
.ob-billing-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ob-billing-option { position:relative; min-height:128px; padding:16px 17px; border-radius:16px; border:1px solid #dce4ef; background:#fff; box-shadow:0 8px 24px rgba(13,48,101,.045); }
.ob-billing-option > span { display:block; margin-bottom:11px; color:#74839a; font-size:9px; font-weight:900; letter-spacing:.1em; }
.ob-billing-option strong { display:block; color:#082f72; font-size:31px; line-height:1; letter-spacing:-.04em; }
.ob-billing-option strong small { margin-left:3px; color:#738098; font-size:10px; letter-spacing:0; }
.ob-billing-option em { display:block; margin-top:10px; color:#697991; font-size:9.5px; font-style:normal; line-height:1.45; }
.ob-billing-option.is-annual { border-color:#edb8dc; background:linear-gradient(145deg,#fff,#fff5fb); }
.ob-billing-save { position:absolute; top:12px; right:12px; padding:6px 9px; border-radius:999px; background:linear-gradient(135deg,#ec0a8b,#7927b7); color:#fff; font-size:8px; font-weight:900; letter-spacing:.07em; }
.ob-activation-price-foot { margin-top:12px; color:#63728b; font-size:9.5px; font-weight:750; text-align:center; }
.ob-portfolio-points { display:grid; gap:10px; margin:20px 0 28px; color:#4b607f; font-size:11px; font-weight:750; }

@media (max-width:1100px) {
    .ob-partner-home-value-list { max-width:850px; }
    .ob-partner-home-nocharge { max-width:850px; }
}
@media (max-width:760px) {
    .ob-partner-home-copy h1 { font-size:clamp(39px,11vw,54px); }
    .ob-activation-timeline { grid-template-columns:1fr; }
    .ob-activation-timeline > div { min-height:0; }
    .ob-activation-price-heading { display:block; }
    .ob-activation-price-heading > small { display:block; margin-top:7px; text-align:left; }
    .ob-billing-options { grid-template-columns:1fr; }
}

/* ------------------------------------------------------------------
   OffersBeat Stage 7.3 — Traveler preference completion
   Optional traveler preferences compile into canonical Intent requirements.
   ------------------------------------------------------------------ */
.ob-intent-preferences {
    grid-column: 1 / -1;
    margin-top: 3px;
    border: 1px solid #e4e8f1;
    border-radius: 15px;
    background: #fbfcff;
    overflow: hidden;
}
.ob-preferences-toggle {
    width: 100%;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 11px 14px;
    border: 0;
    background: transparent;
    color: #0a3476;
    text-align: left;
    cursor: pointer;
}
.ob-preferences-toggle:hover { background: #f7f9fd; }
.ob-preferences-toggle-copy { display: flex; flex-direction: column; gap: 2px; }
.ob-preferences-toggle-copy strong { font-size: 11px; font-weight: 850; }
.ob-preferences-toggle-copy small { color: #7c899d; font-size: 8px; font-weight: 700; }
.ob-preferences-toggle-meta { display: flex; align-items: center; gap: 9px; color: #9c2779; font-size: 8px; font-weight: 850; white-space: nowrap; }
.ob-preferences-toggle-meta b { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fff0f8; font-size: 14px; line-height: 1; transition: transform .18s ease; }
.ob-preferences-toggle.is-open .ob-preferences-toggle-meta b { transform: rotate(45deg); }
.ob-preferences-panel { padding: 3px 14px 14px; border-top: 1px solid #edf0f5; }
.ob-preferences-block { padding-top: 12px; }
.ob-preferences-block + .ob-preferences-block { margin-top: 12px; padding-top: 12px; border-top: 1px solid #edf0f5; }
.ob-preferences-block-head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 9px; }
.ob-preferences-block-head strong { color: #173d76; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.ob-preferences-block-head small { max-width: 390px; color: #8793a5; font-size: 8px; line-height: 1.45; text-align: right; }
.ob-preference-chip-grid { display: flex; flex-wrap: wrap; gap: 7px; }
.ob-preference-chip { position: relative; display: inline-flex; }
.ob-preference-chip input { position: absolute; opacity: 0; pointer-events: none; }
.ob-preference-chip > span {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 10px;
    border: 1px solid #dfe5ee;
    border-radius: 999px;
    background: #fff;
    color: #5f6f85;
    font-size: 8px;
    font-weight: 800;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.ob-preference-chip:hover > span { border-color: #cfc5dd; }
.ob-preference-chip.is-active > span {
    border-color: rgba(196, 14, 129, .28);
    background: #fff1f8;
    color: #9f176f;
    box-shadow: 0 5px 16px rgba(169, 17, 112, .06);
}
.ob-preference-chip.is-required > span { border-style: dashed; }
.ob-preference-chip.is-required.is-active > span { border-style: solid; background: #fff3ee; border-color: #f1c4ad; color: #8b4828; }
.ob-preference-chip em { margin-left: 2px; padding: 2px 5px; border-radius: 999px; background: #f7ebe4; color: #96502f; font-size: 6px; font-style: normal; letter-spacing: .04em; text-transform: uppercase; }
.ob-preference-selects { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 9px; }
.ob-preference-selects .ob-field { gap: 5px; }
.ob-preference-selects .ob-field > span { color: #718099; font-size: 8px; font-weight: 800; }
.ob-preference-selects .ob-field select { min-height: 38px !important; height: 38px !important; border-radius: 10px !important; font-size: 9px !important; }
.ob-results-preferences { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.ob-results-preferences > strong { margin-right: 3px; color: #6b7890; font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.ob-results-preferences > span { padding: 5px 8px; border-radius: 999px; background: #f6f3ff; color: #6448ba; font-size: 7px; font-weight: 850; }
.ob-results-preferences > span.is-required { background: #fff1eb; color: #955134; }

@media (max-width: 720px) {
    .ob-preferences-block-head { align-items: flex-start; flex-direction: column; gap: 4px; }
    .ob-preferences-block-head small { text-align: left; }
    .ob-preference-selects { grid-template-columns: 1fr; }
    .ob-preference-chip { flex: 1 1 calc(50% - 7px); }
    .ob-preference-chip > span { width: 100%; justify-content: center; }
}

/* ------------------------------------------------------------------
   OffersBeat 7.12 — Traveler pre-launch, destination resolver & clarity
   ------------------------------------------------------------------ */
.ob-field-destination { position:relative; z-index:12; }
.ob-destination-suggestions {
    position:absolute;
    z-index:120;
    left:0;
    right:0;
    top:calc(100% + 8px);
    overflow:hidden;
    max-height:330px;
    border:1px solid rgba(8,47,114,.12);
    border-radius:18px;
    background:#fff;
    box-shadow:0 24px 60px rgba(8,47,114,.18);
}
.ob-destination-suggestions button {
    display:flex;
    width:100%;
    min-height:62px;
    align-items:center;
    gap:12px;
    padding:11px 15px;
    border:0;
    border-bottom:1px solid rgba(8,47,114,.065);
    color:#153b73;
    background:#fff;
    text-align:left;
    cursor:pointer;
}
.ob-destination-suggestions button:last-child { border-bottom:0; }
.ob-destination-suggestions button:hover,
.ob-destination-suggestions button.is-active { background:#f7f9ff; }
.ob-destination-suggestions button strong { display:block; font-size:13px; }
.ob-destination-suggestions button small { display:block; margin-top:2px; color:#8490a2; font-size:10px; }
.ob-destination-pin { display:grid; width:32px; height:32px; place-items:center; flex:0 0 32px; border-radius:10px; color:#d30b84; background:#fff0f8; font-size:16px; }
.ob-destination-empty { padding:14px 16px; color:#7c899c; font-size:11px; line-height:1.55; }
.ob-search-heading-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.ob-prelaunch-badge { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid rgba(211,11,132,.14); border-radius:999px; color:#a11370; background:#fff0f8; font-size:8px; font-weight:900; letter-spacing:.08em; }

.ob-prelaunch-stage {
    min-height:calc(100vh - 80px);
    padding:70px 0 90px;
    background:radial-gradient(circle at 15% 0%,rgba(65,126,220,.10),transparent 35%),radial-gradient(circle at 90% 10%,rgba(211,11,132,.10),transparent 30%),#f8fbff;
}
.ob-prelaunch-shell { display:flex; justify-content:center; }
.ob-prelaunch-card {
    width:min(100%,820px);
    padding:46px;
    border:1px solid rgba(8,47,114,.10);
    border-radius:34px;
    background:#fff;
    box-shadow:0 30px 90px rgba(8,47,114,.10);
}
.ob-prelaunch-card > .ob-eyebrow { color:#bd0b78; }
.ob-prelaunch-card h2 { margin:14px 0 12px; color:#082f72; font-size:clamp(36px,5vw,58px); line-height:1.02; letter-spacing:-.045em; }
.ob-prelaunch-card > p { max-width:700px; margin:0; color:#68778e; font-size:16px; line-height:1.7; }
.ob-prelaunch-summary { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }
.ob-prelaunch-summary strong,
.ob-prelaunch-summary span { display:inline-flex; align-items:center; min-height:42px; padding:0 14px; border:1px solid #e2e8f1; border-radius:999px; color:#173e76; background:#fafcff; font-size:12px; }
.ob-prelaunch-summary strong { color:#fff; border-color:transparent; background:linear-gradient(110deg,#17498f,#7c2ca8); }
.ob-prelaunch-boundary { display:flex; gap:13px; padding:18px; border-radius:20px; color:#2d5c50; background:#f0fbf7; }
.ob-prelaunch-boundary > span { display:grid; width:30px; height:30px; place-items:center; flex:0 0 30px; border-radius:50%; color:#fff; background:#12a873; font-weight:900; }
.ob-prelaunch-boundary strong { display:block; color:#185c49; font-size:13px; }
.ob-prelaunch-boundary p { margin:4px 0 0; color:#65817a; font-size:11px; line-height:1.55; }
.ob-prelaunch-notify { margin-top:24px; padding:22px; border:1px solid rgba(211,11,132,.13); border-radius:24px; background:linear-gradient(135deg,#fffafd,#fff); }
.ob-prelaunch-notify > div:first-child strong { color:#163c73; font-size:15px; }
.ob-prelaunch-notify > div:first-child p { margin:5px 0 0; color:#78869a; font-size:11px; }
.ob-prelaunch-notify-row { display:grid; grid-template-columns:1fr auto; gap:10px; margin-top:16px; }
.ob-prelaunch-notify-row input { min-height:52px; padding:0 15px; border:1px solid #dce4ef; border-radius:15px; outline:none; font:inherit; color:#173d73; background:#fff; }
.ob-prelaunch-notify-row input:focus { border-color:#769dd0; box-shadow:0 0 0 4px rgba(55,104,172,.08); }
.ob-prelaunch-notify-row .ob-primary-button { width:auto; min-width:155px; min-height:52px; margin:0; border-radius:15px; }
.ob-prelaunch-consent { margin-top:15px; }
.ob-prelaunch-notify-success { margin-top:14px; padding:12px 14px; border-radius:14px; color:#116b50; background:#eaf9f3; font-size:11px; font-weight:800; }
.ob-prelaunch-card > .ob-ghost-button { margin-top:20px; }

.ob-ecosystem-teaser-cards .is-first { color:#7b1a78; border-color:rgba(211,11,132,.20); background:#fff0f8; }
.ob-hotelier-cta-compact { padding-top:72px; padding-bottom:72px; }
.ob-hotelier-cta-compact .ob-hotelier-cta-inner { align-items:center; }
.ob-hotelier-cta-compact .ob-hotelier-copy h2 { max-width:760px; }

@media (max-width:720px) {
    .ob-search-heading-badges { justify-content:flex-start; margin-top:8px; }
    .ob-prelaunch-badge { font-size:7px; }
    .ob-destination-suggestions { top:calc(100% + 6px); max-height:270px; border-radius:15px; }
    .ob-destination-suggestions button { min-height:58px; }
    .ob-prelaunch-stage { padding:28px 0 56px; }
    .ob-prelaunch-card { padding:26px 20px; border-radius:26px; }
    .ob-prelaunch-card h2 { font-size:clamp(34px,10vw,46px); }
    .ob-prelaunch-card > p { font-size:14px; }
    .ob-prelaunch-summary { display:grid; grid-template-columns:1fr; }
    .ob-prelaunch-summary strong,.ob-prelaunch-summary span { justify-content:flex-start; border-radius:14px; }
    .ob-prelaunch-notify { padding:18px; }
    .ob-prelaunch-notify-row { grid-template-columns:1fr; }
    .ob-prelaunch-notify-row .ob-primary-button { width:100%; }
    .ob-hotelier-cta-compact { padding-top:48px; padding-bottom:48px; }
}

/* ========================================================================== */
/* OffersBeat 7.13 — Ecosystem public frontend                                */
/* ========================================================================== */
.ob-ecosystem-v2-page{--eco-navy:#073776;--eco-deep:#082f6f;--eco-magenta:#d80b86;--eco-violet:#6e2ea5;--eco-ink:#0a2e62;--eco-text:#66748b;--eco-line:#e4e9f2;--eco-soft:#f6f8fd;background:#fff;color:var(--eco-ink)}
.ob-ecosystem-v2-page .ob-public-header{background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}
.ob-ecosystem-v2-hero{padding:100px 0 92px;background:radial-gradient(circle at 84% 12%,rgba(216,11,134,.13),transparent 28%),radial-gradient(circle at 10% 40%,rgba(26,92,168,.11),transparent 33%),linear-gradient(180deg,#fff 0%,#fbfaff 100%)}
.ob-ecosystem-v2-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);gap:76px;align-items:center}
.ob-ecosystem-v2-copy h1{margin:17px 0 24px;font-size:clamp(48px,6.2vw,82px);line-height:.99;letter-spacing:-.05em;color:var(--eco-navy)}
.ob-ecosystem-v2-copy h1 span{color:var(--eco-magenta)}
.ob-ecosystem-v2-copy>p{max-width:700px;margin:0;color:var(--eco-text);font-size:18px;line-height:1.78}
.ob-ecosystem-v2-hero-actions,.ob-ecosystem-v2-final-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ob-ecosystem-v2-primary,.ob-ecosystem-v2-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 24px;border-radius:17px;text-decoration:none;font-weight:800;font-size:14px;transition:transform .18s ease,box-shadow .18s ease}
.ob-ecosystem-v2-primary{color:#fff;background:linear-gradient(105deg,var(--eco-navy),#2f61b8 45%,var(--eco-magenta));box-shadow:0 18px 38px rgba(79,45,150,.18)}
.ob-ecosystem-v2-secondary{color:var(--eco-navy);background:#fff;border:1px solid var(--eco-line)}
.ob-ecosystem-v2-primary:hover,.ob-ecosystem-v2-secondary:hover{transform:translateY(-2px)}
.ob-ecosystem-v2-orbit{position:relative;min-height:470px;width:100%;max-width:520px;margin:0 auto}
.ob-ecosystem-v2-orbit-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(7,55,118,.18)}
.ob-ecosystem-v2-orbit-ring.is-outer{width:96%;aspect-ratio:1}.ob-ecosystem-v2-orbit-ring.is-inner{width:61%;aspect-ratio:1;border-color:rgba(216,11,134,.20)}
.ob-ecosystem-v2-core,.ob-ecosystem-v2-node{position:absolute;display:grid;place-items:center;text-align:center;font-weight:800;box-shadow:0 20px 52px rgba(7,55,118,.11)}
.ob-ecosystem-v2-core{left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;color:#fff;font-size:17px;background:linear-gradient(140deg,var(--eco-navy),var(--eco-violet) 56%,var(--eco-magenta))}
.ob-ecosystem-v2-node{min-width:126px;min-height:78px;padding:14px 18px;border-radius:24px;background:#fff;color:var(--eco-navy);font-size:12px;letter-spacing:.02em}
.ob-ecosystem-v2-node.is-hotel{left:2%;top:19%}.ob-ecosystem-v2-node.is-car{right:0;top:21%}.ob-ecosystem-v2-node.is-experience{left:0;bottom:16%}.ob-ecosystem-v2-node.is-dining{right:-1%;bottom:14%}
.ob-ecosystem-v2-roadmap-section,.ob-ecosystem-v2-hotel-section,.ob-ecosystem-v2-combined-section,.ob-ecosystem-v2-final-section{padding:90px 0}
.ob-ecosystem-v2-roadmap-section{background:#fff}
.ob-ecosystem-v2-section-heading{max-width:780px;margin-bottom:38px}
.ob-ecosystem-v2-section-heading h2,.ob-ecosystem-v2-hotel-grid h2,.ob-ecosystem-v2-combined-grid h2,.ob-ecosystem-v2-final-card h2{margin:13px 0 16px;color:var(--eco-navy);font-size:clamp(34px,4.2vw,58px);line-height:1.06;letter-spacing:-.04em}
.ob-ecosystem-v2-section-heading p,.ob-ecosystem-v2-hotel-grid p,.ob-ecosystem-v2-combined-grid p,.ob-ecosystem-v2-final-card p{margin:0;color:var(--eco-text);font-size:17px;line-height:1.75}
.ob-ecosystem-v2-roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ob-ecosystem-v2-roadmap article{min-height:280px;padding:26px;border:1px solid var(--eco-line);border-radius:26px;background:#fff;box-shadow:0 14px 42px rgba(7,55,118,.045)}
.ob-ecosystem-v2-roadmap article.is-first{border-color:rgba(216,11,134,.25);background:linear-gradient(145deg,#fff 0%,#fff7fc 100%)}
.ob-ecosystem-v2-roadmap strong{display:block;margin-top:35px;color:var(--eco-navy);font-size:23px;line-height:1.2}
.ob-ecosystem-v2-roadmap p{margin:12px 0 0;color:var(--eco-text);font-size:14px;line-height:1.68}
.ob-ecosystem-v2-status{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:#eaf8f2;color:#15855e;font-size:10px;font-weight:900;letter-spacing:.075em}
.ob-ecosystem-v2-status.is-next{background:#fff0f8;color:#c30b78}.ob-ecosystem-v2-status.is-later{background:#eef4fc;color:#35689d}
.ob-ecosystem-v2-future-note{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;margin-top:18px;padding:24px 26px;border-radius:24px;background:linear-gradient(115deg,#f8f7ff,#fff7fb);border:1px solid #ebe5f2}
.ob-ecosystem-v2-future-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--eco-violet),var(--eco-magenta));color:#fff;font-size:22px;font-weight:800}
.ob-ecosystem-v2-future-note strong{display:block;color:var(--eco-navy);font-size:18px}.ob-ecosystem-v2-future-note p{margin:7px 0 0;color:var(--eco-text);font-size:14px;line-height:1.65}
.ob-ecosystem-v2-hotel-section{background:linear-gradient(180deg,#f7f9fd 0%,#fbfbff 100%)}
.ob-ecosystem-v2-hotel-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:70px;align-items:center}
.ob-ecosystem-v2-hotel-services{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ob-ecosystem-v2-hotel-services article{display:flex;align-items:center;gap:14px;min-height:106px;padding:18px;border-radius:22px;border:1px solid var(--eco-line);background:#fff;box-shadow:0 14px 38px rgba(7,55,118,.05)}
.ob-ecosystem-v2-hotel-services article span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:14px;background:#f7e8f3;color:#bd1176;font-size:11px;font-weight:900}
.ob-ecosystem-v2-hotel-services article strong{color:var(--eco-navy);font-size:15px;line-height:1.35}
.ob-ecosystem-v2-combined-section{background:#fff}
.ob-ecosystem-v2-combined-grid{display:grid;grid-template-columns:minmax(390px,.85fr) minmax(0,1.15fr);gap:76px;align-items:center}
.ob-ecosystem-v2-combined-visual{padding:30px;border-radius:30px;color:#fff;background:linear-gradient(145deg,#083778 0%,#07306e 56%,#401f7a 100%);box-shadow:0 24px 65px rgba(7,55,118,.18)}
.ob-ecosystem-v2-combined-visual .is-request{display:inline-flex;margin-bottom:20px;color:#f07abb;font-size:11px;font-weight:900;letter-spacing:.12em}
.ob-ecosystem-v2-combined-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:18px}
.ob-ecosystem-v2-combined-line b{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.11);font-size:18px}
.ob-ecosystem-v2-combined-result{margin-top:20px;padding:18px;border-radius:19px;background:rgba(255,255,255,.10);font-size:20px;font-weight:800}
.ob-ecosystem-v2-guardrail{margin-top:25px;padding:21px 22px;border:1px solid #eadfeb;border-radius:21px;background:#fff8fc}
.ob-ecosystem-v2-guardrail strong{display:block;color:var(--eco-navy);font-size:15px}.ob-ecosystem-v2-guardrail span{display:block;margin-top:6px;color:var(--eco-text);font-size:14px;line-height:1.6}
.ob-ecosystem-v2-final-section{padding-top:30px;background:#fff}
.ob-ecosystem-v2-final-card{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:48px;border-radius:32px;background:radial-gradient(circle at 92% 10%,rgba(216,11,134,.24),transparent 34%),linear-gradient(130deg,#062f70,#173f89 58%,#512477);color:#fff;box-shadow:0 26px 65px rgba(7,55,118,.18)}
.ob-ecosystem-v2-final-card .ob-eyebrow{color:#f48bc3}.ob-ecosystem-v2-final-card h2{max-width:720px;color:#fff;margin-bottom:10px}.ob-ecosystem-v2-final-card p{color:#d8e0ee;max-width:700px}
.ob-ecosystem-v2-final-actions{flex:0 0 310px;flex-direction:column;margin-top:0}.ob-ecosystem-v2-final-actions .ob-ecosystem-v2-primary,.ob-ecosystem-v2-final-actions .ob-ecosystem-v2-secondary{width:100%}.ob-ecosystem-v2-secondary.is-light{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}
@media (max-width: 1050px){.ob-ecosystem-v2-hero-grid,.ob-ecosystem-v2-hotel-grid,.ob-ecosystem-v2-combined-grid{grid-template-columns:1fr;gap:44px}.ob-ecosystem-v2-orbit{max-width:600px}.ob-ecosystem-v2-roadmap{grid-template-columns:1fr 1fr}.ob-ecosystem-v2-final-card{display:block}.ob-ecosystem-v2-final-actions{margin-top:28px;max-width:420px}}
@media (max-width: 720px){.ob-ecosystem-v2-hero{padding:62px 0 56px}.ob-ecosystem-v2-hero-grid{gap:34px}.ob-ecosystem-v2-copy h1{font-size:clamp(42px,12.2vw,58px);line-height:1.02}.ob-ecosystem-v2-copy>p{font-size:15px;line-height:1.72}.ob-ecosystem-v2-hero-actions{display:grid;grid-template-columns:1fr}.ob-ecosystem-v2-primary,.ob-ecosystem-v2-secondary{width:100%;min-height:54px;padding:0 18px}.ob-ecosystem-v2-orbit{min-height:330px;max-width:360px}.ob-ecosystem-v2-core{width:112px;height:112px;font-size:14px}.ob-ecosystem-v2-node{min-width:104px;min-height:62px;padding:10px 12px;border-radius:19px;font-size:10px}.ob-ecosystem-v2-node.is-hotel{left:0;top:14%}.ob-ecosystem-v2-node.is-car{right:0;top:17%}.ob-ecosystem-v2-node.is-experience{left:0;bottom:12%}.ob-ecosystem-v2-node.is-dining{right:0;bottom:10%}.ob-ecosystem-v2-orbit-ring.is-inner{width:65%}.ob-ecosystem-v2-roadmap-section,.ob-ecosystem-v2-hotel-section,.ob-ecosystem-v2-combined-section,.ob-ecosystem-v2-final-section{padding:64px 0}.ob-ecosystem-v2-section-heading h2,.ob-ecosystem-v2-hotel-grid h2,.ob-ecosystem-v2-combined-grid h2,.ob-ecosystem-v2-final-card h2{font-size:clamp(33px,9.5vw,44px);line-height:1.08}.ob-ecosystem-v2-section-heading p,.ob-ecosystem-v2-hotel-grid p,.ob-ecosystem-v2-combined-grid p,.ob-ecosystem-v2-final-card p{font-size:15px}.ob-ecosystem-v2-roadmap{grid-template-columns:1fr}.ob-ecosystem-v2-roadmap article{min-height:0;padding:23px}.ob-ecosystem-v2-roadmap strong{margin-top:25px;font-size:22px}.ob-ecosystem-v2-future-note{grid-template-columns:1fr;padding:22px}.ob-ecosystem-v2-hotel-services{grid-template-columns:1fr 1fr}.ob-ecosystem-v2-hotel-services article{min-height:96px;padding:15px;align-items:flex-start}.ob-ecosystem-v2-hotel-services article strong{font-size:14px}.ob-ecosystem-v2-combined-grid{gap:36px}.ob-ecosystem-v2-combined-visual{padding:24px;border-radius:25px}.ob-ecosystem-v2-combined-line{font-size:16px}.ob-ecosystem-v2-combined-result{font-size:17px}.ob-ecosystem-v2-final-card{padding:30px 24px;border-radius:27px}.ob-ecosystem-v2-final-actions{max-width:none}.ob-ecosystem-v2-final-section{padding-top:20px}}
@media (max-width: 460px){.ob-ecosystem-v2-orbit{min-height:300px}.ob-ecosystem-v2-core{width:98px;height:98px}.ob-ecosystem-v2-node{min-width:92px;min-height:56px;font-size:9px}.ob-ecosystem-v2-hotel-services{grid-template-columns:1fr}.ob-ecosystem-v2-hotel-services article{min-height:84px}.ob-ecosystem-v2-final-card{padding:28px 20px}}


/* ========================================================================
   OffersBeat 7.14 — Traveler Journey & Results
   Real-results UX, zero-results state and no generic/fake hotel imagery.
   ======================================================================== */
.ob-flow-search-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px auto 0}
.ob-flow-search-summary strong,.ob-flow-search-summary span{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#edf4ff;background:rgba(255,255,255,.075);font-size:11px;font-weight:700}
.ob-flow-search-summary strong{background:rgba(255,255,255,.14);color:#fff}
.ob-results-stage .ob-real-offers-note{display:flex;align-items:center;gap:10px;margin:18px 0 0;padding:13px 15px;border:1px solid #dceee8;border-radius:16px;background:#f3fbf8;color:#2b6756}
.ob-real-offers-note>span{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:#19a979;color:#fff;font-size:12px;font-weight:900}
.ob-real-offers-note p{margin:0;font-size:11px;font-weight:750;line-height:1.5}

/* Do not imply that a generic stock room photo belongs to a real hotel. */
.ob-offer-visual{position:relative;display:flex;align-items:center;justify-content:center;background-image:none!important;background:
    radial-gradient(circle at 22% 18%,rgba(255,255,255,.20),transparent 30%),
    radial-gradient(circle at 85% 78%,rgba(224,67,160,.26),transparent 32%),
    linear-gradient(145deg,#082f72 0%,#184f96 48%,#702c8e 100%)!important}
.ob-offer-monogram{display:grid;place-items:center;width:82px;height:82px;border:1px solid rgba(255,255,255,.24);border-radius:25px;color:#fff;background:rgba(255,255,255,.09);box-shadow:0 18px 36px rgba(1,24,62,.18);font-size:26px;font-weight:900;letter-spacing:-.03em}
.ob-offer-visual .ob-offer-stars{left:16px;right:auto;bottom:14px;top:auto;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ob-offer-visual .ob-match-badge{left:auto;right:13px;bottom:13px}
.ob-room-options-inline{grid-column:1/-1;margin-top:2px;padding-top:16px;border-top:1px solid #edf0f5}
.ob-room-options-inline .ob-room-option{grid-template-columns:minmax(0,1fr) auto auto}
.ob-room-options-inline .ob-room-option .ob-select-offer{min-width:145px}

.ob-no-results-stage{min-height:calc(100vh - 78px);padding:62px 0 90px;background:linear-gradient(180deg,#f7f9fd 0%,#fff 100%)}
.ob-no-results-shell{display:flex;justify-content:center}
.ob-no-results-card{width:min(100%,820px);padding:48px;border:1px solid #e3e8f1;border-radius:34px;background:
    radial-gradient(circle at 92% 8%,rgba(216,11,134,.12),transparent 30%),
    linear-gradient(145deg,#fff,#fbfcff);box-shadow:0 28px 70px rgba(7,45,111,.09)}
.ob-no-results-mark{display:grid;place-items:center;width:74px;height:74px;margin-bottom:26px;border-radius:24px;background:linear-gradient(135deg,#082f72,#682b91);box-shadow:0 16px 32px rgba(42,51,121,.18)}
.ob-no-results-mark span{color:#fff;font-size:29px;font-weight:900}
.ob-no-results-card .ob-eyebrow{color:#c10c7a}
.ob-no-results-card h2{margin:14px 0 14px;max-width:700px;color:#082f72;font-size:clamp(36px,5vw,56px);line-height:1.04;letter-spacing:-.045em}
.ob-no-results-card>p{max-width:680px;margin:0;color:#66758b;font-size:16px;line-height:1.72}
.ob-no-results-card .ob-flow-search-summary{justify-content:flex-start;margin:28px 0 0}
.ob-no-results-card .ob-flow-search-summary strong,.ob-no-results-card .ob-flow-search-summary span{border-color:#e0e6ef;color:#17457e;background:#f8faff}
.ob-no-results-card .ob-flow-search-summary strong{border-color:transparent;color:#fff;background:linear-gradient(105deg,#17498f,#8c2a9a)}
.ob-no-results-trust{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.ob-no-results-trust>div{display:flex;gap:11px;align-items:flex-start;padding:17px;border:1px solid #e6ebf2;border-radius:18px;background:#fff}
.ob-no-results-trust>div>span{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;color:#fff;background:#16a574;font-size:12px;font-weight:900}
.ob-no-results-trust>div:nth-child(2)>span{background:#164c8e}
.ob-no-results-trust p{margin:2px 0 0;color:#56677e;font-size:12px;line-height:1.55}
.ob-no-results-actions{display:flex;align-items:center;gap:16px;margin-top:28px}
.ob-no-results-actions .ob-primary-button{width:auto;min-width:245px;margin:0}
.ob-ghost-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;color:#173f76;text-decoration:none;font-weight:800;font-size:12px}

@media(max-width:780px){
  .ob-flow-search-summary{justify-content:flex-start}
  .ob-offer-monogram{width:72px;height:72px;border-radius:22px;font-size:23px}
  .ob-offer-visual{min-height:150px}
  .ob-room-options-inline .ob-room-option{grid-template-columns:1fr;gap:9px}
  .ob-room-options-inline .ob-room-option-price{justify-content:flex-start}
  .ob-room-options-inline .ob-room-option .ob-select-offer{width:100%}
  .ob-no-results-stage{padding:28px 0 58px}
  .ob-no-results-card{padding:28px 21px;border-radius:28px}
  .ob-no-results-card h2{font-size:clamp(34px,10vw,45px)}
  .ob-no-results-card>p{font-size:14px}
  .ob-no-results-trust{grid-template-columns:1fr}
  .ob-no-results-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .ob-no-results-actions .ob-primary-button,.ob-ghost-link{width:100%}
}
@media(max-width:430px){
  .ob-offer-visual{min-height:132px}
  .ob-offer-monogram{width:64px;height:64px;font-size:21px}
  .ob-real-offers-note{align-items:flex-start}
}
.ob-journey-error-stage{min-height:calc(100vh - 78px);padding:62px 0 90px;background:linear-gradient(180deg,#f7f9fd 0%,#fff 100%)}
.ob-no-results-mark.is-error{background:linear-gradient(135deg,#8a3d63,#c40d7d)}
@media(max-width:780px){.ob-journey-error-stage{padding:28px 0 58px}}


/* OffersBeat 7.16 — unified mobile navigation */
.ob-mobile-menu a:last-child { margin-top:0; color:var(--ob-logo-navy); background:transparent; justify-content:flex-start; }
.ob-mobile-menu a.ob-mobile-menu-cta { margin-top:8px; color:#fff; background:linear-gradient(100deg,var(--ob-logo-navy),var(--ob-logo-magenta)); justify-content:center; }
.ob-mobile-menu a.ob-mobile-menu-login { margin-top:2px; border:1px solid var(--ob-border); justify-content:center; background:#fff; }

/* =========================================================
   Stage 7.17 — Footer & legal identity finalization
   ========================================================= */
.ob-footer-identity { display:grid; gap:4px; margin-top:14px; color:#7a8498; font-size:12px; line-height:1.55; }
.ob-footer-identity strong { color:#34425f; font-weight:800; }
.ob-footer-column .ob-footer-primary-link { width:max-content; margin-top:4px; padding:9px 13px; border-radius:999px; color:#fff; background:linear-gradient(103deg,#3157ff,#7448ff 56%,#cf35e7); font-weight:800; box-shadow:0 10px 24px rgba(83,66,233,.16); }
.ob-footer-column .ob-footer-primary-link:hover { color:#fff; transform:translateY(-1px); }
.ob-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:30px; padding-top:22px; border-top:1px solid #e3e6ef; color:#8790a3; font-size:11px; line-height:1.5; }
.ob-legal-aside .ob-legal-operator { display:block; margin-top:4px; color:#65728a; line-height:1.55; }
.ob-legal-aside .ob-legal-operator strong { color:#243a66; }
.ob-legal-identity-summary { padding:18px 20px; border:1px solid #e8e5f3; border-radius:18px; background:linear-gradient(135deg,#fbfbff,#faf6ff); }
.ob-legal-identity-summary h2 { margin-top:0; }
.ob-legal-identity-summary p { margin-bottom:0; }
@media (max-width:700px) {
  .ob-footer-identity { font-size:12px; }
  .ob-footer-column .ob-footer-primary-link { width:100%; max-width:260px; justify-content:center; text-align:center; }
  .ob-footer-bottom { align-items:flex-start; flex-direction:column; gap:7px; margin-top:26px; }
}



/* Stage 7.19 — immutable selected-offer proof */
.ob-offer-commitment-proof{margin-top:13px;padding:17px 18px;border:1px solid #d9e7df;border-radius:16px;background:linear-gradient(135deg,#f5fbf8,#fff);box-shadow:0 12px 30px rgba(12,92,65,.06);text-align:left}
.ob-commitment-head{display:flex;gap:13px;align-items:flex-start}.ob-commitment-mark{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#e6f7ef;color:#12845f;font-weight:900}.ob-commitment-eyebrow{display:block;color:#12845f;font-size:8px;font-weight:900;letter-spacing:.14em}.ob-commitment-head h3{margin:3px 0 5px;color:#082f4d;font-size:13px;line-height:1.35;letter-spacing:-.2px}.ob-commitment-head p{margin:0;color:#667487;font-size:9px;line-height:1.55}.ob-commitment-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.ob-commitment-row{padding:10px 11px;border:1px solid #e2ece7;border-radius:11px;background:#fff}.ob-commitment-row span{display:block;color:#7a8797;font-size:8px}.ob-commitment-row strong{display:block;margin-top:3px;color:#082f4d;font-size:10px;word-break:break-word}.ob-commitment-note{margin:10px 0 0;color:#657487;font-size:8px;line-height:1.55}.ob-offer-commitment-proof-success{max-width:570px;margin:13px auto 0}
@media (max-width:640px){.ob-commitment-meta{grid-template-columns:1fr}}

/* =========================================================
   Stage 7.23 — Offer Proof Wallet Pass
   ========================================================= */
.ob-wallet-actions-inline{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:11px;padding:14px 15px;border:1px solid #dfe5f3;border-radius:16px;background:linear-gradient(135deg,#f7f9ff,#fff);box-shadow:0 10px 26px rgba(37,62,122,.05);text-align:left}.ob-wallet-inline-copy{min-width:0}.ob-wallet-inline-copy span,.ob-wallet-inline-copy strong,.ob-wallet-inline-copy small{display:block}.ob-wallet-inline-copy span{color:#c10c7a;font-size:8px;font-weight:900;letter-spacing:.14em}.ob-wallet-inline-copy strong{margin-top:3px;color:#102f58;font-size:12px;line-height:1.35}.ob-wallet-inline-copy small{max-width:500px;margin-top:4px;color:#738097;font-size:8px;line-height:1.5}.ob-wallet-inline-links{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.ob-wallet-open-link,.ob-wallet-provider-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 13px;border-radius:11px;text-decoration:none;font-size:9px;font-weight:900;white-space:nowrap}.ob-wallet-open-link{color:#fff;background:linear-gradient(105deg,#173f82,#78358d 62%,#cf2d98);box-shadow:0 9px 22px rgba(92,53,142,.14)}.ob-wallet-open-link b{font-size:14px}.ob-wallet-provider-link{border:1px solid #dfe5ef;color:#173b70;background:#fff}.ob-wallet-actions-inline-success{max-width:570px;margin-left:auto;margin-right:auto}.ob-wallet-actions-inline[hidden]{display:none!important}@media(max-width:720px){.ob-wallet-actions-inline{align-items:stretch;flex-direction:column}.ob-wallet-inline-links{justify-content:flex-start}.ob-wallet-open-link{width:100%}.ob-wallet-provider-link{flex:1}.ob-wallet-inline-copy small{font-size:9px}}

/* Stage 7.24 anonymous booking handoff */
.ob-anonymous-handoff-card{display:flex;flex-direction:column;justify-content:center}.ob-anonymous-handoff-flow{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:22px 0;padding:15px;border-radius:18px;background:rgba(91,33,182,.05);border:1px solid rgba(91,33,182,.12)}.ob-anonymous-handoff-flow span{font-size:12px;font-weight:750}.ob-anonymous-handoff-flow b{opacity:.45}@media(max-width:680px){.ob-anonymous-handoff-flow{justify-content:flex-start}}
