/* Scoped company proof. Keep each product's palette and existing typography. */
.cp-proof { --cp-bg:transparent; --cp-ink:var(--ink,var(--text-main)); --cp-muted:var(--muted,var(--text-muted)); --cp-line:var(--line,var(--border-soft)); --cp-accent:var(--accent-press,var(--blue)); --cp-width:min(var(--container,1160px),calc(100% - 48px)); --cp-logo-filter:none; --cp-logo-blend:multiply; color:var(--cp-ink); font-family:inherit; box-sizing:border-box; width:100%; min-width:0; }
.cp-proof *, .cp-proof *::before, .cp-proof *::after { box-sizing:border-box; }
.cp-proof[data-cp-site="hexa"] { --cp-ink:var(--text-main); --cp-muted:var(--text-muted); --cp-line:var(--border-soft); --cp-accent:var(--blue); --cp-width:min(1440px,calc(100% - 96px)); --cp-logo-filter:invert(1); --cp-logo-blend:screen; }
.cp-proof[data-cp-site="hotel"] { --cp-ink:#f7f9ff; --cp-muted:#aeb8cf; --cp-line:var(--line-dark); --cp-accent:var(--blue-bright,var(--blue)); --cp-width:var(--shell); --cp-logo-filter:invert(1); --cp-logo-blend:screen; }
.cp-proof[data-cp-site="hospitality"] { --cp-accent:var(--gold); --cp-width:min(var(--max),calc(100% - 72px)); --cp-logo-filter:invert(1); --cp-logo-blend:screen; }
.company-about-page .cp-proof { --cp-bg:transparent; --cp-ink:var(--ca-ink,#0e1a24); --cp-muted:var(--ca-muted,#54626e); --cp-line:var(--ca-line,#dde3e8); --cp-accent:#476a83; --cp-width:min(1160px,calc(100% - 64px)); --cp-logo-filter:none; --cp-logo-blend:multiply; }
.cp-proof .cp-wrap { width:var(--cp-width); margin-inline:auto; min-width:0; }
.cp-logos { padding-block:16px 24px; background:transparent; }
.cp-logos .cp-wrap { border-block:1px solid var(--cp-line); padding-block:22px; }
.cp-proof .cp-logo-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:10px; }
.cp-proof .cp-logo-head h2 { margin:0; color:var(--cp-muted); font-family:inherit; font-weight:500; font-size:15px; line-height:1.4; letter-spacing:0; text-transform:none; }
.cp-proof .cp-logo-head p { margin:0; color:#b8c3c8; font-size:13px; line-height:1.5; max-width:75ch; }
.cp-proof .cp-logo-rail { display:flex; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:none; list-style:none; padding:0; margin:0; }
.cp-proof .cp-logo-rail li { flex:0 0 calc(100% / 6); min-width:0; display:grid; place-items:center; height:92px; scroll-snap-align:start; }
.cp-proof .cp-logo-rail img { width:126px; height:90px; max-width:85%; object-fit:contain; filter:var(--cp-logo-filter); mix-blend-mode:var(--cp-logo-blend); }
.cp-reviews { padding-block:clamp(48px,6vw,88px); background:var(--cp-bg); }
.cp-proof .cp-review-head { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:26px; }
.cp-proof .cp-review-head h2 { color:var(--cp-ink); font-family:var(--font-display,inherit); font-size:clamp(30px,4vw,50px); line-height:1.1; font-weight:400; letter-spacing:-.025em; margin:0 0 16px; text-transform:none; }
.cp-proof .cp-review-head p, .cp-proof .cp-translation { color:var(--cp-muted); font-size:14px; line-height:1.6; margin:0; max-width:70ch; }
.cp-proof a { color:var(--cp-ink); text-decoration:underline; text-underline-offset:4px; }
.cp-proof .cp-source { display:inline-flex; align-items:center; flex-shrink:0; min-height:44px; font-size:14px; }
.cp-proof .cp-review-rail { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 64px)/3); gap:32px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0; padding:16px 0 24px; }
.cp-proof .cp-review { display:flex; flex-direction:column; align-items:flex-start; gap:22px; min-width:0; margin:0; padding:0 32px 0 0; background:transparent; border:0; border-right:1px solid var(--cp-line); border-radius:0; scroll-snap-align:start; }
.cp-proof .cp-stars { color:var(--cp-accent); font-size:18px; letter-spacing:3px; line-height:1; }
.cp-proof blockquote { flex:1; border:0; margin:0; padding:0; font-family:var(--font-display,inherit); font-size:23px; font-weight:400; line-height:1.5; color:var(--cp-ink); font-style:normal; }
.cp-proof blockquote p { color:inherit; font:inherit; margin:0; }
.cp-proof figcaption { display:flex; align-items:center; gap:12px; width:100%; padding-top:8px; }
.cp-proof .cp-avatar { display:none; }
.cp-proof .cp-reviewer { display:block; font-size:14px; font-weight:600; }
.cp-proof time { display:block; margin-top:3px; color:var(--cp-muted); font-size:12px; }
.cp-proof .cp-original { font-size:13px; display:inline-flex; align-items:center; min-height:44px; margin-top:-8px; }
.cp-proof .cp-controls { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.cp-proof .cp-controls[hidden] { display:none; }
.cp-proof .cp-controls button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--cp-line); border-radius:50%; color:var(--cp-ink); background:transparent; font:400 22px/1 system-ui,sans-serif; cursor:pointer; animation:none; transition:none; transform:none; }
.cp-logos .cp-controls button { color:var(--cp-ink); border-color:var(--cp-line); }
.cp-proof .cp-controls button:disabled { opacity:.3; cursor:default; }
.cp-proof .cp-review-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:12px; }
.cp-proof .cp-position { color:var(--cp-muted); font-size:13px; font-variant-numeric:tabular-nums; }
.cp-proof a:focus-visible, .cp-proof button:focus-visible, .cp-proof [tabindex]:focus-visible { outline:2px solid var(--cp-accent); outline-offset:3px; }
.cp-logos [tabindex]:focus-visible { outline-offset:-2px; }
/* Hexa's homepage intentionally orders its direct children with flex. */
.cp-proof[data-cp-home="hexa"].cp-logos { order:1; }
.cp-proof[data-cp-home="hexa"].cp-reviews { order:2; }
@media(max-width:900px) { .cp-proof .cp-logo-rail li { flex-basis:25%; } .cp-proof .cp-review-rail { grid-auto-columns:calc((100% - 18px)/2); } }
@media(max-width:600px) { .cp-proof .cp-wrap { width:calc(100% - 36px); } .cp-proof .cp-logo-head { gap:12px; } .cp-proof .cp-logo-rail li { flex-basis:calc(100% / 3); height:78px; } .cp-proof .cp-logo-rail img { width:100px; height:72px; } .cp-proof .cp-review-head { flex-direction:column; gap:8px; } .cp-proof .cp-review-rail { grid-auto-columns:88%; gap:12px; } .cp-proof .cp-review { padding:22px; } .cp-proof .cp-review-head h2 { font-size:30px; } .cp-proof .cp-review-bottom { gap:16px; padding-right:92px; } }
@media(prefers-reduced-motion:reduce) { .cp-proof * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media(max-width:600px) { .cp-proof.cp-reviews { padding-bottom:100px; } }
.cp-proof .cp-logo-rail::-webkit-scrollbar, .cp-proof .cp-review-rail::-webkit-scrollbar { display:none; }
@media(max-width:900px) { .cp-proof .cp-review-rail { grid-auto-columns:calc((100% - 32px)/2); } }
@media(max-width:768px) { .cp-proof[data-cp-site="hospitality"] { --cp-width:calc(100% - 36px); } }
@media(max-width:600px) { .cp-proof { --cp-width:calc(100% - 36px)!important; } .cp-proof .cp-review-rail { grid-auto-columns:88%; gap:20px; } .cp-proof .cp-review { padding:0 20px 0 0; } .cp-proof blockquote { font-size:22px; } .cp-proof .cp-wrap { width:var(--cp-width); } }
/* Fix the native Hexa hero note: icon/text share a centre line and equal inset. */
.hero-section .hero-proof[data-cp-hero-proof] { display:flex; align-items:center; gap:16px; height:auto; min-height:0; max-width:100%!important; width:100%; margin-top:28px!important; padding:16px 20px; border:1px solid var(--border-soft); border-radius:14px; background:var(--bg-card); line-height:1.5!important; }
.hero-section .hero-proof[data-cp-hero-proof] svg { flex:0 0 26px; width:26px; height:26px; margin:0; }
.hero-section .hero-proof[data-cp-hero-proof] span { min-width:0; display:block; margin:0; padding:0; }
/* A single native ribbon: the customer label sits beside the moving artwork. */
/* Reviewer artwork stays in its original colours; the rail invites manual browsing. */
.cp-proof .cp-avatar { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; border-radius:50%; overflow:hidden; background:var(--cp-line); color:var(--cp-ink); font-family:inherit; font-size:14px; font-weight:500; line-height:1; }
.cp-proof .cp-avatar img { display:block; width:44px; height:44px; object-fit:cover; filter:none; mix-blend-mode:normal; }
.cp-proof .cp-review-rail { scrollbar-width:thin; scrollbar-color:var(--cp-muted) transparent; cursor:grab; }
.cp-proof .cp-review-rail::-webkit-scrollbar { display:block; height:5px; }
.cp-proof .cp-review-rail::-webkit-scrollbar-track { background:transparent; }
.cp-proof .cp-review-rail::-webkit-scrollbar-thumb { background:var(--cp-muted); border-radius:5px; }
.cp-proof .cp-review-rail.cp-dragging { cursor:grabbing; user-select:none; scroll-snap-type:none; }
.cp-logos .cp-wrap { display:grid; grid-template-columns:130px minmax(0,1fr); align-items:center; gap:24px; padding-block:20px; }
.cp-proof .cp-logo-head { margin:0; }
.cp-proof .cp-logo-head h2 { font-size:14px; font-weight:500; color:var(--cp-muted); }
.cp-proof .cp-logo-rail { min-width:0; }
.cp-proof .cp-logo-rail li { flex-basis:calc(100% / 5); }
.cp-proof .cp-auto { scroll-snap-type:none; scroll-behavior:auto; }
.cp-proof [data-cp-copy][hidden] { display:none!important; }
.cp-proof[data-cp-site="hotel"] .cp-logo-rail li { flex-basis:25%; padding-inline:9px; height:104px; }
.cp-proof .cp-hotel-logo-tile { width:100%; height:104px; display:grid; place-items:center; border:1px solid rgba(140,162,255,.18); border-radius:13px; background:rgba(255,255,255,.035); }
.cp-proof[data-cp-site="hotel"] .cp-logo-rail img { width:150px; height:72px; filter:grayscale(1) brightness(1.45); opacity:.74; mix-blend-mode:normal; }
.company-about-page .cp-proof[data-cp-site="hotel"] .cp-hotel-logo-tile { background:#060b18; }
/* The old hero glow ended halfway through the logo strip. Fade it to the page at the hero boundary. */
.hero-section[data-cp-hero-surface]::before { bottom:0; -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 220px),transparent); mask-image:linear-gradient(to bottom,#000 calc(100% - 220px),transparent); }
@media(max-width:900px) { .cp-proof .cp-logo-rail li { flex-basis:25%; } }
@media(max-width:600px) { .cp-logos .cp-wrap { grid-template-columns:1fr; gap:8px; padding-block:16px; } .cp-proof .cp-logo-head h2 { text-align:center; font-size:13px; } .cp-proof .cp-logo-rail li { flex-basis:calc(100% / 3); } .cp-proof[data-cp-site="hotel"] .cp-logo-rail li { flex-basis:50%; height:84px; } .cp-proof .cp-hotel-logo-tile { height:84px; } .cp-proof[data-cp-site="hotel"] .cp-logo-rail img { width:120px; height:60px; } }
